tx · EGNgqLzTRThZJtiet2qyKcaBu6nfBdtdNHMNNU393adK

3MxxzjRwbjN41dDGDgg5F2JJgWPrVn8HhJY:  -0.01400000 Waves

2022.04.23 21:45 [2021521] smart account 3MxxzjRwbjN41dDGDgg5F2JJgWPrVn8HhJY > SELF 0.00000000 Waves

{ "type": 13, "id": "EGNgqLzTRThZJtiet2qyKcaBu6nfBdtdNHMNNU393adK", "fee": 1400000, "feeAssetId": null, "timestamp": 1650739518647, "version": 2, "chainId": 84, "sender": "3MxxzjRwbjN41dDGDgg5F2JJgWPrVn8HhJY", "senderPublicKey": "AjwiJDFnUaVggMfvSJrwswdGnvZ8wDawx4GpxFCYYUgC", "proofs": [ "5igL4B24YoWfWprzknja2WTq3fYfRgty7k6ujamHs9XLUw8RCE6JA8xbpXMDkAnuea4ixfvrqsDGUYwXuY4MUanK" ], "script": "base64:AAIFAAAAAAAAAA0IAhIECgIIARIDCgEIAAAAAwAAAAAJYWRtaW5BZGRyAgAAACMzTjE4QTlva1NWRzhXVXM0UEZLNFlGdk40VDhmUXRyOFB2ZwEAAAAQZ2V0SW50ZWdlck9yWmVybwAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHwAAAAEFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAF0BQAAAAckbWF0Y2gwBQAAAAF0AAAAAAAAAAAAAQAAABBnZXRTdHJpbmdPckVtcHR5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQiAAAAAQUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXQFAAAAByRtYXRjaDAFAAAAAXQCAAAAAAAAAAIAAAABaQEAAAALc3RhcnRWb3RpbmcAAAACAAAABG5hbWUAAAAGcGVyaW9kAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAACWFkbWluQWRkcgkAAAIAAAABAgAAABpPbmx5IGFkbWluIGFjY291bnQgYWxsb3dlZAMJAABnAAAAAgAAAAAAAAAAZAUAAAAGcGVyaW9kCQAAAgAAAAECAAAANEludmFsaWQgcGVyaW9kIHZhbHVlLCBzaG91bGQgYmUgbW9yZSB0aGFuIDEwMCBibG9ja3MDCQAAZwAAAAIAAAAAAAAAAAoJAAExAAAAAQUAAAAEbmFtZQkAAAIAAAABAgAAACxJbnZhbGlkIG5hbWUsIHNob3VsZCBiZSBtb3JlIHRoYW4gMTAgc3ltYm9scwMJAQAAAAIhPQAAAAIJAQAAABBnZXRTdHJpbmdPckVtcHR5AAAAAQkAASwAAAACBQAAAARuYW1lAgAAAAtfc3RhcnRibG9jawIAAAAACQAAAgAAAAECAAAAKVRoZSB2b3Rpbmcgd2l0aCBzdWNoIG5hbWUgYWxyZWFkeSBwcmVzZW50BAAAAAxsYXN0Vm90aW5nSWQJAQAAABBnZXRJbnRlZ2VyT3JaZXJvAAAAAQIAAAAMbGFzdFZvdGluZ0lkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABG5hbWUCAAAAC19zdGFydGJsb2NrBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEbmFtZQIAAAAJX2VuZGJsb2NrCQAAZAAAAAIFAAAABmhlaWdodAUAAAAGcGVyaW9kCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAEWN1cnJlbnRWb3RpbmdOYW1lBQAAAARuYW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABdjdXJyZW50Vm90aW5nU3RhcnRCbG9jawUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVjdXJyZW50Vm90aW5nRW5kQmxvY2sJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAZwZXJpb2QFAAAAA25pbAAAAAFpAQAAAApkZWxldGVEYXRhAAAAAQAAAARrZXlzBAAAAAlrZXlzX2xpc3QJAAS1AAAAAgUAAAAEa2V5cwIAAAADLHwsBAAAAAZsZW5ndGgJAAGQAAAAAQUAAAAJa2V5c19saXN0BAAAAAVyZXN1bAUAAAADbmlsCgEAAAAGZGVsZGVsAAAAAgAAAAVhY2N1bQAAAARuZXh0CQAETQAAAAIFAAAABWFjY3VtCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAARuZXh0CgAAAAACJGwFAAAACWtleXNfbGlzdAoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAFAAAAA25pbAoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAABmRlbGRlbAAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmMF8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA1CQEAAAAFJGYwXzIAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5WTHIlQ==", "height": 2021521, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3Ak1yvhDcG98uaKijHfuYBg2qaGXfp8gFVFHHyk6zYVJ Next: CPUA11s7bmtVZ3pjGxJnLyxJK69JQasfnYoaAbSevLo3 Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let adminAddr = "3N18A9okSVG8WUs4PFK4YFvN4T8fQtr8Pvg"
55
6+func getIntegerOrZero (key) = match getInteger(key) {
7+ case t: Int =>
8+ t
9+ case _ =>
10+ 0
11+}
12+
13+
14+func getStringOrEmpty (key) = match getString(key) {
15+ case t: String =>
16+ t
17+ case _ =>
18+ ""
19+}
20+
21+
622 @Callable(i)
723 func startVoting (name,period) = if ((toString(i.caller) != adminAddr))
824 then throw("Only admin account allowed")
9- else [IntegerEntry((name + "_startblock"), height)]
25+ else if ((100 >= period))
26+ then throw("Invalid period value, should be more than 100 blocks")
27+ else if ((10 >= size(name)))
28+ then throw("Invalid name, should be more than 10 symbols")
29+ else if ((getStringOrEmpty((name + "_startblock")) != ""))
30+ then throw("The voting with such name already present")
31+ else {
32+ let lastVotingId = getIntegerOrZero("lastVotingId")
33+[IntegerEntry((name + "_startblock"), height), IntegerEntry((name + "_endblock"), (height + period)), StringEntry("currentVotingName", name), IntegerEntry("currentVotingStartBlock", height), IntegerEntry("currentVotingEndBlock", (height + period))]
34+ }
35+
36+
37+
38+@Callable(i)
39+func deleteData (keys) = {
40+ let keys_list = split(keys, ",|,")
41+ let length = size(keys_list)
42+ let resul = nil
43+ func deldel (accum,next) = (accum :+ DeleteEntry(next))
44+
45+ let $l = keys_list
46+ let $s = size($l)
47+ let $acc0 = nil
48+ func $f0_1 ($a,$i) = if (($i >= $s))
49+ then $a
50+ else deldel($a, $l[$i])
51+
52+ func $f0_2 ($a,$i) = if (($i >= $s))
53+ then $a
54+ else throw("List size exceeds 5")
55+
56+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
57+ }
1058
1159
1260 @Verifier(tx)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminAddr = "3N18A9okSVG8WUs4PFK4YFvN4T8fQtr8Pvg"
55
6+func getIntegerOrZero (key) = match getInteger(key) {
7+ case t: Int =>
8+ t
9+ case _ =>
10+ 0
11+}
12+
13+
14+func getStringOrEmpty (key) = match getString(key) {
15+ case t: String =>
16+ t
17+ case _ =>
18+ ""
19+}
20+
21+
622 @Callable(i)
723 func startVoting (name,period) = if ((toString(i.caller) != adminAddr))
824 then throw("Only admin account allowed")
9- else [IntegerEntry((name + "_startblock"), height)]
25+ else if ((100 >= period))
26+ then throw("Invalid period value, should be more than 100 blocks")
27+ else if ((10 >= size(name)))
28+ then throw("Invalid name, should be more than 10 symbols")
29+ else if ((getStringOrEmpty((name + "_startblock")) != ""))
30+ then throw("The voting with such name already present")
31+ else {
32+ let lastVotingId = getIntegerOrZero("lastVotingId")
33+[IntegerEntry((name + "_startblock"), height), IntegerEntry((name + "_endblock"), (height + period)), StringEntry("currentVotingName", name), IntegerEntry("currentVotingStartBlock", height), IntegerEntry("currentVotingEndBlock", (height + period))]
34+ }
35+
36+
37+
38+@Callable(i)
39+func deleteData (keys) = {
40+ let keys_list = split(keys, ",|,")
41+ let length = size(keys_list)
42+ let resul = nil
43+ func deldel (accum,next) = (accum :+ DeleteEntry(next))
44+
45+ let $l = keys_list
46+ let $s = size($l)
47+ let $acc0 = nil
48+ func $f0_1 ($a,$i) = if (($i >= $s))
49+ then $a
50+ else deldel($a, $l[$i])
51+
52+ func $f0_2 ($a,$i) = if (($i >= $s))
53+ then $a
54+ else throw("List size exceeds 5")
55+
56+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
57+ }
1058
1159
1260 @Verifier(tx)
1361 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
1462

github/deemru/w8io/03bedc9 
57.63 ms