tx · 89M6nn5Tu9uL2j6m7rJFuEGPoRLmtP8FMeCiMK9PY5WQ

3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj:  -0.05000000 Waves

2024.02.08 12:40 [2967105] smart account 3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj > SELF 0.00000000 Waves

{ "type": 13, "id": "89M6nn5Tu9uL2j6m7rJFuEGPoRLmtP8FMeCiMK9PY5WQ", "fee": 5000000, "feeAssetId": null, "timestamp": 1707385233592, "version": 2, "chainId": 84, "sender": "3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj", "senderPublicKey": "CgjXoHPsstPW1WBAcTeBgjKtLSNFmLbQ7pLJ19JzkCy9", "proofs": [ "2obyu9YGvPb3QoDtsDbmafEaRtbQR4BHnJPGdS2fsuYDBpvwWU1V3tBZTUznHwMvAHmGggJbeVSniT1RxWUJnYE4" ], "script": "base64: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aQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAD2N1cnJlbnRZZXNWb3RlcwkBAAAAF2dldEN1cnJlbnRZZXNWb3Rlc0ZvcklkAAAAAQUAAAAGdm90ZUlkBAAAAA92b3Rlc0Zyb21DYWxsZXIJAQAAABJnZXRWb3Rlc0Zyb21DYWxsZXIAAAABBQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAADGFscmVhZHlWb3RlZAkBAAAAD2dldEFscmVhZHlWb3RlZAAAAAIFAAAABnZvdGVJZAUAAAAPY2FsbGVyUHVibGljS2V5AwkAAAAAAAACBQAAAA9jdXJyZW50WWVzVm90ZXMA//////////8JAAACAAAAAQIAAAAPVm90ZSBub3QgZm91bmQhAwUAAAAMYWxyZWFkeVZvdGVkCQAAAgAAAAECAAAAFkFkZHJlc3MgYWxyZWFkeSB2b3RlZCEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAGdm90ZUlkAgAAAARfeWVzCQAAZAAAAAIFAAAAD2N1cnJlbnRZZXNWb3RlcwUAAAAPdm90ZXNGcm9tQ2FsbGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZ2b3RlSWQCAAAAAV8FAAAAD2NhbGxlclB1YmxpY0tleQIAAAAEX3llcwUAAAAPdm90ZXNGcm9tQ2FsbGVyCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZ2b3RlSWQCAAAAAV8FAAAAD2NhbGxlclB1YmxpY0tleQIAAAAGX3ZvdGVkBgUAAAADbmlsAAAAAWkBAAAAAm5vAAAAAQAAAAZ2b3RlSWQEAAAAD2NhbGxlclB1YmxpY0tleQkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAADmN1cnJlbnROb1ZvdGVzCQEAAAAWZ2V0Q3VycmVudE5vVm90ZXNGb3JJZAAAAAEFAAAABnZvdGVJZAQAAAAPdm90ZXNGcm9tQ2FsbGVyCQEAAAASZ2V0Vm90ZXNGcm9tQ2FsbGVyAAAAAQUAAAAPY2FsbGVyUHVibGljS2V5BAAAAAxhbHJl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", "height": 2967105, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9WTWmrDj3xHekfa78f7sHmGLo7nPf5iyLiRKqVCabkvy Next: HgNctPLGZ5HWN36sGXcU1XAVqvrvHiUDjCYBosZ6zt6p Diff:
OldNewDifferences
5757 let q = c(o)
5858 if ((b > q))
5959 then throw("User has not been active enough on the platform!")
60- else [IntegerEntry((h + "_endHeight"), p), StringEntry((h + "_title"), l), StringEntry((h + "_description"), m), StringEntry((h + "_link"), n), IntegerEntry((h + "_yes"), 0), IntegerEntry((h + "_no"), 0)]
60+ else [IntegerEntry((h + "_endHeight"), p), StringEntry((h + "_title"), l), StringEntry((h + "_description"), m), StringEntry((h + "_link"), n), StringEntry((h + "_initiator"), o), IntegerEntry((h + "_yes"), 0), IntegerEntry((h + "_no"), 0)]
6161 }
6262
6363
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromStringValue("3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV")
55
66 let b = 100000000
77
88 func c (d) = {
99 let e = getInteger(a, ("dao_user_" + d))
1010 if ($isInstanceOf(e, "Int"))
1111 then {
1212 let f = e
1313 f
1414 }
1515 else -1
1616 }
1717
1818
1919 func g (h,d) = {
2020 let e = getBoolean(this, (((h + "_") + d) + "_voted"))
2121 if ($isInstanceOf(e, "Boolean"))
2222 then {
2323 let i = e
2424 i
2525 }
2626 else false
2727 }
2828
2929
3030 func j (h) = {
3131 let e = getInteger(this, (h + "_yes"))
3232 if ($isInstanceOf(e, "Int"))
3333 then {
3434 let f = e
3535 f
3636 }
3737 else -1
3838 }
3939
4040
4141 func k (h) = {
4242 let e = getInteger(this, (h + "_no"))
4343 if ($isInstanceOf(e, "Int"))
4444 then {
4545 let f = e
4646 f
4747 }
4848 else -1
4949 }
5050
5151
5252 @Callable(f)
5353 func registerVote (l,m,n) = {
5454 let o = toBase58String(f.callerPublicKey)
5555 let h = toBase58String(f.transactionId)
5656 let p = (height + 7200)
5757 let q = c(o)
5858 if ((b > q))
5959 then throw("User has not been active enough on the platform!")
60- else [IntegerEntry((h + "_endHeight"), p), StringEntry((h + "_title"), l), StringEntry((h + "_description"), m), StringEntry((h + "_link"), n), IntegerEntry((h + "_yes"), 0), IntegerEntry((h + "_no"), 0)]
60+ else [IntegerEntry((h + "_endHeight"), p), StringEntry((h + "_title"), l), StringEntry((h + "_description"), m), StringEntry((h + "_link"), n), StringEntry((h + "_initiator"), o), IntegerEntry((h + "_yes"), 0), IntegerEntry((h + "_no"), 0)]
6161 }
6262
6363
6464
6565 @Callable(f)
6666 func yes (h) = {
6767 let o = toBase58String(f.callerPublicKey)
6868 let r = j(h)
6969 let s = c(o)
7070 let t = g(h, o)
7171 if ((r == -1))
7272 then throw("Vote not found!")
7373 else if (t)
7474 then throw("Address already voted!")
7575 else [IntegerEntry((h + "_yes"), (r + s)), IntegerEntry((((h + "_") + o) + "_yes"), s), BooleanEntry((((h + "_") + o) + "_voted"), true)]
7676 }
7777
7878
7979
8080 @Callable(f)
8181 func no (h) = {
8282 let o = toBase58String(f.callerPublicKey)
8383 let u = k(h)
8484 let s = c(o)
8585 let t = g(h, o)
8686 if ((u == -1))
8787 then throw("Vote not found!")
8888 else if (t)
8989 then throw("Address already voted!")
9090 else [IntegerEntry((h + "_no"), (u + s)), IntegerEntry((((h + "_") + o) + "_no"), s), BooleanEntry((((h + "_") + o) + "_voted"), true)]
9191 }
9292
9393
9494
9595 @Callable(f)
9696 func retractVote (h) = {
9797 let o = toBase58String(f.callerPublicKey)
9898 let u = k(h)
9999 let r = j(h)
100100 let v = {
101101 let e = getInteger(this, (((h + "_") + o) + "_no"))
102102 if ($isInstanceOf(e, "Int"))
103103 then {
104104 let w = e
105105 w
106106 }
107107 else 0
108108 }
109109 let x = {
110110 let e = getInteger(this, (((h + "_") + o) + "_yes"))
111111 if ($isInstanceOf(e, "Int"))
112112 then {
113113 let w = e
114114 w
115115 }
116116 else 0
117117 }
118118 if (if ((r == -1))
119119 then true
120120 else (u == -1))
121121 then throw("No active vote for this vote id!")
122122 else [IntegerEntry((h + "_no"), (u - v)), IntegerEntry((h + "_yes"), (r - x)), IntegerEntry((((h + "_") + o) + "_no"), 0), IntegerEntry((((h + "_") + o) + "_yes"), 0), BooleanEntry((((h + "_") + o) + "_voted"), false)]
123123 }
124124
125125
126126 @Verifier(y)
127127 func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey)
128128

github/deemru/w8io/3ef1775 
67.34 ms