tx · 9NfYboDJ4fzFcz3EzA7wZiL3vGNHzAzm3uYYSXaQyd8M

3PK8cpqNTgLZwnsPVB8NAhu1UF3m73d4m1Y:  -0.00600000 Waves

2022.12.22 14:26 [3436900] smart account 3PK8cpqNTgLZwnsPVB8NAhu1UF3m73d4m1Y > SELF 0.00000000 Waves

{ "type": 13, "id": "9NfYboDJ4fzFcz3EzA7wZiL3vGNHzAzm3uYYSXaQyd8M", "fee": 600000, "feeAssetId": null, "timestamp": 1671708430719, "version": 1, "sender": "3PK8cpqNTgLZwnsPVB8NAhu1UF3m73d4m1Y", "senderPublicKey": "2ain6fHsLPeQkLWxKRAT8VDdvrg8GuoNf63GcF7Mxuhu", "proofs": [ "64h5tQZvkZvuhhkwhBwkZrKmrXtapAoMSxbJKvUjhaJmBcJKpMSDBptxoizVsn9w6vnKcekiKnRGd8rA3fdBsCXz" ], "script": "base64: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", "chainId": 87, "height": 3436900, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EcKTAUCHTmwHK3LLxvCkPnLUqdx5N1rcCT5NXfCGprwe Next: DUBkEoek58u9YKf2RnW63v9mHeEEfzYcN8h5WxCh7T4u 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'3PLWZP28PbffdNMsmqCPNKXpJNR5P13Kgf8')
77
88 let addr2 = Address(base58'3PDjtiF9YLVyy8Sfhka8djFFV3sPdLnwzpg')
99
1010 let addr3 = Address(base58'3P8aLwH57q2xwK4ey1sgLELd2cdPK1fSrv1')
1111
1212 let addr4 = Address(base58'3P4yt9JhbRuhszVcuuDef4aU3xsMd7GTV1T')
1313
1414 let addr5 = Address(base58'3PGE3w1VhqcpHVp3KrYSYcrc9rbWFxcjyww')
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/3ef1775 
219.68 ms