tx · 3G8tkCxjbaqe5da2YmN3bFbn42ubzcExJzDc4no37HBb

3N9vjdhSVkpJcoa2UAVt4BWxTfZeV71cnan:  -0.01000000 Waves

2022.06.29 17:16 [2117842] smart account 3N9vjdhSVkpJcoa2UAVt4BWxTfZeV71cnan > SELF 0.00000000 Waves

{ "type": 13, "id": "3G8tkCxjbaqe5da2YmN3bFbn42ubzcExJzDc4no37HBb", "fee": 1000000, "feeAssetId": null, "timestamp": 1656512282220, "version": 2, "chainId": 84, "sender": "3N9vjdhSVkpJcoa2UAVt4BWxTfZeV71cnan", "senderPublicKey": "DFMD24xWTnBgJR3y8Ls92YYq2Zmvx1rbEmDu18bd6nEe", "proofs": [ "3oWLZwVW9PWr1CFZ6YNvRiLK2pagh47ByLdunF1MMDpm3ckPgJ7WvypDkL9suvwiCWewJNCN2VRrGBGmMGqGeZW6" ], "script": "base64:AAIFAAAAAAAAABwIAhIGCgQICAEBEgASAwoBARIDCgEBEgASABIAAAAADQAAAAAQa0hhc2hyYXRlVG9rZW5JZAIAAAAQaGFzaHJhdGVfYXNzZXRJZAAAAAAPa2V5X3RpY2tldFByaWNlAgAAAAx0aWNrZXRfcHJpY2UAAAAAGmtleV9wcmVzYWxlU3RhcnRzVGltZXN0YW1wAgAAABd0aW1lc3RhbXBfcHJlc2FsZV9zdGFydAAAAAAYa2V5X3ByZXNhbGVFbmRzVGltZXN0YW1wAgAAABV0aW1lc3RhbXBfcHJlc2FsZV9lbmQAAAAAGmtleV9yZXN1bHRzUmV2ZWFsVGltZXN0YW1wAgAAABh0aW1lc3RhbXBfcHJlc2FsZV9yZXN1bHQAAAAACmtleV9zdGF0dXMCAAAABnN0YXR1cwAAAAAKa1RvdGFsU29sZAIAAAAMdGlja2V0c19zb2xkAAAAAB1zdWZmaXhfVGlja2V0c1B1cmNoYXNlZEJ5VXNlcgIAAAAPX3B1cmNoYXNlZFRvdGFsAAAAAA9oYXNocmF0ZVRva2VuSWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUyKQAAAAIFAAAABHRoaXMFAAAAEGtIYXNocmF0ZVRva2VuSWQAAAAAC3RpY2tldFByaWNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5X3RpY2tldFByaWNlAgAAAAAAAAAACXRvdGFsU29sZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAAprVG90YWxTb2xkAAAAAAAAAAAAAQAAABB0aWNrZXRzUHVyY2hhc2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAB1zdWZmaXhfVGlja2V0c1B1cmNoYXNlZEJ5VXNlcgAAAAAAAAAAAAAAAAAGdXNkbklkAQAAACBdh85U6HrEIwBf736JUnYaj0XJ+6O2VRITQn8t5Sq8ZAAAAAcAAAADaW52AQAAAAhpbml0REFwcAAAAAQAAAAIcmVkc21iSWQAAAAMcHJpY2VBc3NldElkAAAAC3RpY2tl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", "height": 2117842, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 7GekvKgUAcvxkb2rMxzca3yj31n2aGNLvhndPgPjpaza Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let kHashrateTokenId = "hashrate_assetId"
5+
6+let key_ticketPrice = "ticket_price"
7+
8+let key_presaleStartsTimestamp = "timestamp_presale_start"
9+
10+let key_presaleEndsTimestamp = "timestamp_presale_end"
11+
12+let key_resultsRevealTimestamp = "timestamp_presale_result"
13+
14+let key_status = "status"
15+
16+let kTotalSold = "tickets_sold"
17+
18+let suffix_TicketsPurchasedByUser = "_purchasedTotal"
19+
20+let hashrateTokenId = getBinaryValue(this, kHashrateTokenId)
21+
22+let ticketPrice = valueOrErrorMessage(getInteger(this, key_ticketPrice), "")
23+
24+let totalSold = valueOrElse(getInteger(this, kTotalSold), 0)
25+
26+func ticketsPurchased (user) = valueOrElse(getInteger(this, (toString(user) + suffix_TicketsPurchasedByUser)), 0)
27+
28+
29+let usdnId = base58'7J72Mh14128B14nXKWdydNf8gm95uDdzS1tzd7SWiHHm'
30+
31+@Callable(inv)
32+func initDApp (redsmbId,priceAssetId,ticketPrice,equality) = {
33+ let pmt = if ((size(inv.payments) == 1))
34+ then inv.payments[0]
35+ else throw("")
36+ let redsmb = valueOrErrorMessage(assetInfo(valueOrErrorMessage(fromBase58String(redsmbId), "")), "").id
37+ let priceAsset = valueOrErrorMessage(assetInfo(valueOrErrorMessage(fromBase58String(priceAssetId), "")), "").id
38+ let pr = if ((ticketPrice > 0))
39+ then ticketPrice
40+ else throw("")
41+ let eq = if ((equality > 0))
42+ then equality
43+ else throw("")
44+[BinaryEntry(kHashrateTokenId, redsmb)]
45+ }
46+
47+
48+
49+@Callable(inv)
50+func startSale () = nil
51+
52+
53+
54+@Callable(inv)
55+func buyTicket (ticketsAmount) = {
56+ let pmt = inv.payments[0]
57+ if ((0 >= ticketsAmount))
58+ then throw("amount must be positive")
59+ else if ((size(inv.payments) != 1))
60+ then throw("1 payment required")
61+ else if (if (!(isDefined(pmt.assetId)))
62+ then true
63+ else (value(pmt.assetId) != usdnId))
64+ then throw("only usdn")
65+ else if ((0 >= pmt.amount))
66+ then throw("payment must be positive")
67+ else if (((ticketsAmount * ticketPrice) != pmt.amount))
68+ then throw("payment amount must be accurate according to the price")
69+ else [IntegerEntry(kTotalSold, (totalSold + ticketsAmount)), IntegerEntry((toString(inv.caller) + suffix_TicketsPurchasedByUser), (ticketsPurchased(inv.caller) + ticketsAmount))]
70+ }
71+
72+
73+
74+@Callable(inv)
75+func buyTicketWithFreeze (freezeType) = nil
76+
77+
78+
79+@Callable(inv)
80+func finalize () = nil
81+
82+
83+
84+@Callable(inv)
85+func claim () = nil
86+
87+
88+
89+@Callable(inv)
90+func claimFrozen () = nil
91+
92+

github/deemru/w8io/169f3d6 
22.38 ms