2022.12.22 14:27 [3436901] smart account 3PA1L4jD5AdH7HPpkWsCMX7zprxkwJNqvKx > SELF 0.00000000 Waves

{ "type": 13, "id": "FFF5SYnTCBPrhHL5ZohcanYaa7w2aNeSMnY5XTP7ijZM", "fee": 600000, "feeAssetId": null, "timestamp": 1671708433982, "version": 1, "sender": "3PA1L4jD5AdH7HPpkWsCMX7zprxkwJNqvKx", "senderPublicKey": "E8YgDcKKtvKfzAK3G1YmVYHK8Bu2DvL1M4u8fnWBScVx", "proofs": [ "2j82HfkHi896GcD5VyjUVpGdQhJ5dCTBP3NErhHyafKapXeaEnUhrVKqHLTLfVraqxHBFcEiearEbwEBA1ZbJgQB" ], "script": "base64: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", "chainId": 87, "height": 3436901, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5L1KXA2aqRW5mgoMuoQqmhSv15p9j3mQNwxTucRnm56n Next: 5iHUhiuMoLtxYhoCj5cvU9XKDJDHTM2dLKHd2Qc6eyn Diff:
OldNewDifferences
1919 else {
2020 let h = height
2121 let epoch = ((h / 1440) * 1440)
22- let key = (("total_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_" + toString(epoch)) + "_withdrawn_within_epoch")
23- let withdrawn = valueOrElse(getInteger(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), key), 0)
24- let maxWithdraw = valueOrElse(getInteger(this, "max"), 10000000000)
25- if ((maxWithdraw > (withdrawn + 50000000)))
26- then {
27- let inv1 = invoke(addr1, "usdn_100", [1], nil)
28- if ((inv1 == inv1))
22+ let wKey = ("w_" + toString(epoch))
23+ if (isDefined(getBoolean(this, wKey)))
24+ then throw(wKey)
25+ else {
26+ let key = (("total_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_" + toString(epoch)) + "_withdrawn_within_epoch")
27+ let withdrawn = valueOrElse(getInteger(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), key), 0)
28+ let maxWithdraw = valueOrElse(getInteger(this, "max"), 10000000000)
29+ if ((maxWithdraw > (withdrawn + 50000000)))
2930 then {
30- let inv2 = invoke(addr2, "usdn_100", [2], nil)
31- if ((inv2 == inv2))
31+ let inv1 = invoke(addr1, "usdn_100", [1], nil)
32+ if ((inv1 == inv1))
3233 then {
33- let inv3 = invoke(addr3, "usdn_100", [3], nil)
34- if ((inv3 == inv3))
34+ let inv2 = invoke(addr2, "usdn_100", [2], nil)
35+ if ((inv2 == inv2))
3536 then {
36- let inv4 = invoke(addr4, "usdn_100", [4], nil)
37- if ((inv4 == inv4))
37+ let inv3 = invoke(addr3, "usdn_100", [3], nil)
38+ if ((inv3 == inv3))
3839 then {
39- let inv5 = invoke(addr5, "usdn_100", [5], nil)
40- if ((inv5 == inv5))
41- then nil
40+ let inv4 = invoke(addr4, "usdn_100", [4], nil)
41+ if ((inv4 == inv4))
42+ then {
43+ let inv5 = invoke(addr5, "usdn_100", [5], nil)
44+ if ((inv5 == inv5))
45+ then [BooleanEntry(wKey, true)]
46+ else throw("Strict value is not equal to itself.")
47+ }
4248 else throw("Strict value is not equal to itself.")
4349 }
4450 else throw("Strict value is not equal to itself.")
4753 }
4854 else throw("Strict value is not equal to itself.")
4955 }
50- else throw("Strict value is not equal to itself.")
56+ else throw(("withdrawn: " + toString(withdrawn)))
5157 }
52- else throw(("withdrawn: " + toString(withdrawn)))
5358 }
5459
60+
61+@Verifier(tx)
62+func verify () = match tx {
63+ case inv: InvokeScriptTransaction =>
64+ if (if ((addressFromRecipient(inv.dApp) == this))
65+ then (13000001 >= inv.fee)
66+ else false)
67+ then true
68+ else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
69+ case _ =>
70+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
71+}
5572
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
55
66 let addr1 = Address(base58'3P7Z3ueyFonY7ZwJMq4jaqwr51qMLp3WFat')
77
88 let addr2 = Address(base58'3P4Yj2iQHLz7e7ntxmUf6efxetC5MZFqEzs')
99
1010 let addr3 = Address(base58'3P67yAfW8ReqqdoY9fMCrEBS4dtBJRanyLG')
1111
1212 let addr4 = Address(base58'3PGq77UZ67g2FBmbZz97m7itd6i8w5Kfvxm')
1313
1414 let addr5 = Address(base58'3PDpHHpX9GtFcnUZTFRY5qF9dtjpLMAkxUB')
1515
1616 @Callable(i)
1717 func default () = if ((i.originCaller != adminAddress))
1818 then throw("only admin can do")
1919 else {
2020 let h = height
2121 let epoch = ((h / 1440) * 1440)
22- let key = (("total_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_" + toString(epoch)) + "_withdrawn_within_epoch")
23- let withdrawn = valueOrElse(getInteger(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), key), 0)
24- let maxWithdraw = valueOrElse(getInteger(this, "max"), 10000000000)
25- if ((maxWithdraw > (withdrawn + 50000000)))
26- then {
27- let inv1 = invoke(addr1, "usdn_100", [1], nil)
28- if ((inv1 == inv1))
22+ let wKey = ("w_" + toString(epoch))
23+ if (isDefined(getBoolean(this, wKey)))
24+ then throw(wKey)
25+ else {
26+ let key = (("total_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_" + toString(epoch)) + "_withdrawn_within_epoch")
27+ let withdrawn = valueOrElse(getInteger(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), key), 0)
28+ let maxWithdraw = valueOrElse(getInteger(this, "max"), 10000000000)
29+ if ((maxWithdraw > (withdrawn + 50000000)))
2930 then {
30- let inv2 = invoke(addr2, "usdn_100", [2], nil)
31- if ((inv2 == inv2))
31+ let inv1 = invoke(addr1, "usdn_100", [1], nil)
32+ if ((inv1 == inv1))
3233 then {
33- let inv3 = invoke(addr3, "usdn_100", [3], nil)
34- if ((inv3 == inv3))
34+ let inv2 = invoke(addr2, "usdn_100", [2], nil)
35+ if ((inv2 == inv2))
3536 then {
36- let inv4 = invoke(addr4, "usdn_100", [4], nil)
37- if ((inv4 == inv4))
37+ let inv3 = invoke(addr3, "usdn_100", [3], nil)
38+ if ((inv3 == inv3))
3839 then {
39- let inv5 = invoke(addr5, "usdn_100", [5], nil)
40- if ((inv5 == inv5))
41- then nil
40+ let inv4 = invoke(addr4, "usdn_100", [4], nil)
41+ if ((inv4 == inv4))
42+ then {
43+ let inv5 = invoke(addr5, "usdn_100", [5], nil)
44+ if ((inv5 == inv5))
45+ then [BooleanEntry(wKey, true)]
46+ else throw("Strict value is not equal to itself.")
47+ }
4248 else throw("Strict value is not equal to itself.")
4349 }
4450 else throw("Strict value is not equal to itself.")
4551 }
4652 else throw("Strict value is not equal to itself.")
4753 }
4854 else throw("Strict value is not equal to itself.")
4955 }
50- else throw("Strict value is not equal to itself.")
56+ else throw(("withdrawn: " + toString(withdrawn)))
5157 }
52- else throw(("withdrawn: " + toString(withdrawn)))
5358 }
5459
60+
61+@Verifier(tx)
62+func verify () = match tx {
63+ case inv: InvokeScriptTransaction =>
64+ if (if ((addressFromRecipient(inv.dApp) == this))
65+ then (13000001 >= inv.fee)
66+ else false)
67+ then true
68+ else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
69+ case _ =>
70+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
71+}
5572

github/deemru/w8io/786bc32 
28.41 ms