tx · 7QskupoZEEe1LnMvCvXb32VGhZLvuopfHJSU1TzP2W6E

3N7JGFviFwrEj7xFKNwhKUWxnXXe24yhYye:  -0.01400000 Waves

2022.02.02 16:19 [1906023] smart account 3N7JGFviFwrEj7xFKNwhKUWxnXXe24yhYye > SELF 0.00000000 Waves

{ "type": 13, "id": "7QskupoZEEe1LnMvCvXb32VGhZLvuopfHJSU1TzP2W6E", "fee": 1400000, "feeAssetId": null, "timestamp": 1643807987336, "version": 2, "chainId": 84, "sender": "3N7JGFviFwrEj7xFKNwhKUWxnXXe24yhYye", "senderPublicKey": "FkZqxVZphPm562xfrxdYvY7jRQvpQs74beED6jP8den6", "proofs": [ "5BYih2n73exbQHFb6u3zbFCz8diq1MXgYxCAAoAqyQA9pr1b3qun3Yfi53ATHQi4xg8YWJGkwNrxwjUHHND6osAs" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAAIAAAAAAplZ2dBc3NldElkAQAAACCQndAThUYrQOT/0+W4Ih29VYJO68zgYUpFpF33lBGEUQAAAAAQaW52ZXN0bWVudEFtb3VudAAAAAAABfXhAAAAAAAMYWRtaW5BZGRyZXNzAQAAABoBVFWcDeQ6gpSM9a1CA1qQAlfGppZ+rTdzRAEAAAANdHJ5R2V0Qm9vbGVhbgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgcBAAAAGGdldEFkZHJlc3NXaGl0ZWxpc3RlZEtleQAAAAEAAAAHYWRkcmVzcwUAAAAHYWRkcmVzcwEAAAAVZ2V0QWRkcmVzc1doaXRlbGlzdGVkAAAAAQAAAAdhZGRyZXNzCQEAAAANdHJ5R2V0Qm9vbGVhbgAAAAEJAQAAABhnZXRBZGRyZXNzV2hpdGVsaXN0ZWRLZXkAAAABBQAAAAdhZGRyZXNzAQAAAAxnZXRJc092ZXJLZXkAAAAAAgAAAAZpc092ZXIBAAAACWdldElzT3ZlcgAAAAAJAQAAAA10cnlHZXRCb29sZWFuAAAAAQkBAAAADGdldElzT3ZlcktleQAAAAAAAAACAAAAAWkBAAAABHN0b3AAAAAAAwkBAAAAAiE9AAAAAggIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAAMYWRtaW5BZGRyZXNzCQAAAgAAAAECAAAACkFkbWluIG9ubHkJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAAAxnZXRJc092ZXJLZXkAAAAABgUAAAADbmlsAAAAAWkBAAAACWdldFRpY2tldAAAAAAEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAlnZXRJc092ZXIAAAAACQAAAgAAAAECAAAAHFRpY2tldHMgZGlzdHJpYnV0aW9uIGlzIG92ZXIDCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBQAAAAplZ2dBc3NldElkCQAAAgAAAAEJAAEsAAAAAgIAAAA3WW91IGNhbiBhdHRhY2ggb25seSBFR0dzIHdpdGggdGhlIGZvbGxvd2luZyBhc3NldCBpZCAtIAkAAlgAAAABBQAAAAplZ2dBc3NldElkAwkBAAAAAiE9AAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAABBpbnZlc3RtZW50QW1vdW50CQAAAgAAAAECAAAAEVdyb25nIEVHR3MgYW1vdW50AwkBAAAAFWdldEFkZHJlc3NXaGl0ZWxpc3RlZAAAAAEFAAAADWNhbGxlckFkZHJlc3MJAAACAAAAAQIAAAAZWW91IGFscmVhZHkgaGF2ZSBhIHRpY2tldAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAAGGdldEFkZHJlc3NXaGl0ZWxpc3RlZEtleQAAAAEFAAAADWNhbGxlckFkZHJlc3MGBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleZO4iV8=", "height": 1906023, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6iKyAD9xCZehYzMJcAoSZH8WYLkSisFYo9KAwdcvfUgg Next: none Diff:
OldNewDifferences
44 let eggAssetId = base58'AjXHBGsVDeXETQPk3qH4CPbZdfXPyNo5XoBx7jVbtwWG'
55
66 let investmentAmount = 100000000
7+
8+let adminAddress = base58'3MwikA4opnqZMGVriWzH8Gq2CJXuaVBdboH'
79
810 func tryGetBoolean (key) = match getBoolean(this, key) {
911 case b: Boolean =>
1921 func getAddressWhitelisted (address) = tryGetBoolean(getAddressWhitelistedKey(address))
2022
2123
24+func getIsOverKey () = "isOver"
25+
26+
27+func getIsOver () = tryGetBoolean(getIsOverKey())
28+
29+
30+@Callable(i)
31+func stop () = if ((i.caller.bytes != adminAddress))
32+ then throw("Admin only")
33+ else [BooleanEntry(getIsOverKey(), true)]
34+
35+
36+
2237 @Callable(i)
2338 func getTicket () = {
2439 let callerAddress = toBase58String(i.caller.bytes)
2540 let payment = value(i.payments[0])
26- if ((payment.assetId != eggAssetId))
27- then throw(("You can attach only EGGs with the following asset id - " + toBase58String(eggAssetId)))
28- else if ((payment.amount != investmentAmount))
29- then throw("Wrong EGGs amount")
30- else if (getAddressWhitelisted(callerAddress))
31- then throw("You already have a ticket")
32- else [BooleanEntry(getAddressWhitelistedKey(callerAddress), true)]
41+ if (getIsOver())
42+ then throw("Tickets distribution is over")
43+ else if ((payment.assetId != eggAssetId))
44+ then throw(("You can attach only EGGs with the following asset id - " + toBase58String(eggAssetId)))
45+ else if ((payment.amount != investmentAmount))
46+ then throw("Wrong EGGs amount")
47+ else if (getAddressWhitelisted(callerAddress))
48+ then throw("You already have a ticket")
49+ else [BooleanEntry(getAddressWhitelistedKey(callerAddress), true)]
3350 }
3451
3552
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let eggAssetId = base58'AjXHBGsVDeXETQPk3qH4CPbZdfXPyNo5XoBx7jVbtwWG'
55
66 let investmentAmount = 100000000
7+
8+let adminAddress = base58'3MwikA4opnqZMGVriWzH8Gq2CJXuaVBdboH'
79
810 func tryGetBoolean (key) = match getBoolean(this, key) {
911 case b: Boolean =>
1012 b
1113 case _ =>
1214 false
1315 }
1416
1517
1618 func getAddressWhitelistedKey (address) = address
1719
1820
1921 func getAddressWhitelisted (address) = tryGetBoolean(getAddressWhitelistedKey(address))
2022
2123
24+func getIsOverKey () = "isOver"
25+
26+
27+func getIsOver () = tryGetBoolean(getIsOverKey())
28+
29+
30+@Callable(i)
31+func stop () = if ((i.caller.bytes != adminAddress))
32+ then throw("Admin only")
33+ else [BooleanEntry(getIsOverKey(), true)]
34+
35+
36+
2237 @Callable(i)
2338 func getTicket () = {
2439 let callerAddress = toBase58String(i.caller.bytes)
2540 let payment = value(i.payments[0])
26- if ((payment.assetId != eggAssetId))
27- then throw(("You can attach only EGGs with the following asset id - " + toBase58String(eggAssetId)))
28- else if ((payment.amount != investmentAmount))
29- then throw("Wrong EGGs amount")
30- else if (getAddressWhitelisted(callerAddress))
31- then throw("You already have a ticket")
32- else [BooleanEntry(getAddressWhitelistedKey(callerAddress), true)]
41+ if (getIsOver())
42+ then throw("Tickets distribution is over")
43+ else if ((payment.assetId != eggAssetId))
44+ then throw(("You can attach only EGGs with the following asset id - " + toBase58String(eggAssetId)))
45+ else if ((payment.amount != investmentAmount))
46+ then throw("Wrong EGGs amount")
47+ else if (getAddressWhitelisted(callerAddress))
48+ then throw("You already have a ticket")
49+ else [BooleanEntry(getAddressWhitelistedKey(callerAddress), true)]
3350 }
3451
3552
3653 @Verifier(tx)
3754 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
3855

github/deemru/w8io/c3f4982 
37.78 ms