tx · 7GekvKgUAcvxkb2rMxzca3yj31n2aGNLvhndPgPjpaza

3N9vjdhSVkpJcoa2UAVt4BWxTfZeV71cnan:  -0.00500000 Waves

2022.08.01 13:53 [2165344] smart account 3N9vjdhSVkpJcoa2UAVt4BWxTfZeV71cnan > SELF 0.00000000 Waves

{ "type": 13, "id": "7GekvKgUAcvxkb2rMxzca3yj31n2aGNLvhndPgPjpaza", "fee": 500000, "feeAssetId": null, "timestamp": 1659351207429, "version": 2, "chainId": 84, "sender": "3N9vjdhSVkpJcoa2UAVt4BWxTfZeV71cnan", "senderPublicKey": "DFMD24xWTnBgJR3y8Ls92YYq2Zmvx1rbEmDu18bd6nEe", "proofs": [ "2UwkBDpPx9qy4wBSTBZiN7FxUFaKmoxhKf1wGCsHjBgAENkgYaCwsRLpbYCfybSwcqMJBc2W5mLyjRHWK2HWwTQp" ], "script": "base64:AAIFAAAAAAAAABoIAhIFCgMICAgSABIDCgEBEgASBAoCCAESAAAAAA4AAAAAE2tleV9IYXNocmF0ZVRva2VuSWQCAAAAD2hhc2hyYXRlVG9rZW5JZAAAAAAQa2V5X1Byb21vVG9rZW5JZAIAAAAMcHJvbW9Ub2tlbklkAAAAAA9rZXlfU3Rha2luZ0RBcHACAAAADHN0YWtpbmctZGFwcAAAAAANa2V5X0NvbGxlY3RvcgIAAAAJY29sbGVjdG9yAAAAAAtrZXlfUmVzZXJ2ZQIAAAAHcmVzZXJ2ZQAAAAAPa2V5X1Byb21vSXNzdWVkAgAAAAxwcm9tby1pc3N1ZWQAAAAAEmhhc2hyYXRlVG9rZW5JZFN0cgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAE2tleV9IYXNocmF0ZVRva2VuSWQCAAAAAAAAAAAPaGFzaHJhdGVUb2tlbklkCQACWQAAAAEFAAAAEmhhc2hyYXRlVG9rZW5JZFN0cgAAAAAPcHJvbW9Ub2tlbklkU3RyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAQa2V5X1Byb21vVG9rZW5JZAIAAAAAAAAAAAxwcm9tb1Rva2VuSWQJAAJZAAAAAQUAAAAPcHJvbW9Ub2tlbklkU3RyAAAAAAtzdGFraW5nREFwcAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAD2tleV9TdGFraW5nREFwcAIAAAAAAAAAAAljb2xsZWN0b3IJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAA1rZXlfQ29sbGVjdG9yAgAAAAAAAAAAB3Jlc2VydmUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAAtrZXlfUmVzZXJ2ZQIAAAAAAAAAAAtwcm9tb0lzc3VlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIF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", "height": 2165344, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3G8tkCxjbaqe5da2YmN3bFbn42ubzcExJzDc4no37HBb Next: 2BZdsFd9pwxdoZRmicybdcdhHtEbzzgRZLz3r8uQvcKH Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "hashrate_assetId"
4+let a = "hashrateTokenId"
55
6-let b = "ticket_price"
6+let b = "promoTokenId"
77
8-let c = "timestamp_presale_start"
8+let c = "staking-dapp"
99
10-let d = "timestamp_presale_end"
10+let d = "collector"
1111
12-let e = "timestamp_presale_result"
12+let e = "reserve"
1313
14-let f = "status"
14+let f = "promo-issued"
1515
16-let g = "tickets_sold"
16+let g = valueOrErrorMessage(getString(this, a), "")
1717
18-let h = "_purchasedTotal"
18+let h = fromBase58String(g)
1919
20-let i = getBinaryValue(this, a)
20+let i = valueOrErrorMessage(getString(this, b), "")
2121
22-let j = valueOrErrorMessage(getInteger(this, b), "")
22+let j = fromBase58String(i)
2323
24-let k = valueOrElse(getInteger(this, g), 0)
24+let k = addressFromStringValue(valueOrErrorMessage(getString(this, c), ""))
2525
26-func l (m) = valueOrElse(getInteger(this, (toString(m) + h)), 0)
26+let l = addressFromStringValue(valueOrErrorMessage(getString(this, d), ""))
2727
28+let m = valueOrErrorMessage(getInteger(this, e), "")
2829
29-let n = base58'7J72Mh14128B14nXKWdydNf8gm95uDdzS1tzd7SWiHHm'
30+let n = valueOrErrorMessage(getInteger(this, f), "")
3031
3132 @Callable(o)
32-func initDApp (p,q,j,r) = {
33- let s = if ((size(o.payments) == 1))
34- then o.payments[0]
35- else throw("")
36- let t = valueOrErrorMessage(assetInfo(valueOrErrorMessage(fromBase58String(p), "")), "").id
37- let u = valueOrErrorMessage(assetInfo(valueOrErrorMessage(fromBase58String(q), "")), "").id
38- let v = if ((j > 0))
39- then j
40- else throw("")
41- let w = if ((r > 0))
42- then r
43- else throw("")
44-[BinaryEntry(a, t)]
33+func init (p,q,r) = {
34+ let s = 1
35+ let t = Issue("REDSmb_Promo", "", s, 8, true)
36+ let u = calculateAssetId(t)
37+[StringEntry(a, toBase58String(valueOrErrorMessage(assetInfo(fromBase58String(p)), "").id)), StringEntry(c, toString(valueOrErrorMessage(addressFromString(q), ""))), StringEntry(d, toString(valueOrErrorMessage(addressFromString(r), ""))), IntegerEntry(e, 0), IntegerEntry(f, 0), t, Burn(u, s), StringEntry(b, toBase58String(u)), IntegerEntry(e, 0)]
4538 }
4639
4740
4841
4942 @Callable(o)
50-func startSale () = nil
43+func increaseReserve () = if ((o.caller == this))
44+ then throw()
45+ else if ((size(o.payments) != 1))
46+ then throw()
47+ else if ((o.payments[0].assetId != h))
48+ then throw()
49+ else if ((0 >= o.payments[0].amount))
50+ then throw()
51+ else [IntegerEntry(e, (m + o.payments[0].amount))]
5152
5253
5354
5455 @Callable(o)
55-func buyTicket (x) = {
56- let s = o.payments[0]
57- if ((0 >= x))
58- then throw("amount must be positive")
59- else if ((size(o.payments) != 1))
60- then throw("1 payment required")
61- else if (if (!(isDefined(s.assetId)))
62- then true
63- else (value(s.assetId) != n))
64- then throw("only usdn")
65- else if ((0 >= s.amount))
66- then throw("payment must be positive")
67- else if (((x * j) != s.amount))
68- then throw("payment amount must be accurate according to the price")
69- else [IntegerEntry(g, (k + x)), IntegerEntry((toString(o.caller) + h), (l(o.caller) + x))]
56+func buyPromo (v) = if ((size(o.payments) != 1))
57+ then throw("WAVES payment required")
58+ else if (isDefined(o.payments[0].assetId))
59+ then throw("Only WAVES payment accepted!")
60+ else if ((0 >= o.payments[0].amount))
61+ then throw("Payment amount must be positive")
62+ else if ((v > (m - n)))
63+ then throw("")
64+ else [IntegerEntry(f, (n + v)), Reissue(j, v, true), ScriptTransfer(l, o.payments[0].amount, o.payments[0].assetId), ScriptTransfer(o.caller, v, j)]
65+
66+
67+
68+@Callable(o)
69+func redeemHashrateToken () = [Burn(valueOrErrorMessage(o.payments[1].assetId, ""), o.payments[1].amount), ScriptTransfer(l, o.payments[0].amount, o.payments[0].assetId), ScriptTransfer(o.caller, o.payments[1].amount, h)]
70+
71+
72+
73+@Callable(o)
74+func stakePromo (w,x) = {
75+ let y = invoke(k, "stake", [w, x], [o.payments[0]])
76+ if ((y == y))
77+ then {
78+ let z = (toString(o.caller) + "_staked")
79+[IntegerEntry(z, (valueOrElse(getInteger(this, z), 0) + o.payments[0].amount)), StringEntry(((toString(o.caller) + "_") + toBase58String(o.transactionId)), ((((toString(o.payments[0].amount) + ",") + w) + ",") + toString(x)))]
80+ }
81+ else throw("Strict value is not equal to itself.")
7082 }
7183
7284
7385
7486 @Callable(o)
75-func buyTicketWithFreeze (y) = nil
76-
77-
78-
79-@Callable(o)
80-func finalize () = nil
81-
82-
83-
84-@Callable(o)
85-func claim () = nil
86-
87-
88-
89-@Callable(o)
90-func claimFrozen () = nil
87+func unstake () = nil
9188
9289

github/deemru/w8io/169f3d6 
44.57 ms