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

{ "type": 13, "id": "4BYU649cmHTq2vk3HC47r9LpnPLYMJbEHFwRjmvaaG1P", "fee": 600000, "feeAssetId": null, "timestamp": 1671708437149, "version": 1, "sender": "3PA7ooRweeKHBYShe87zsmhvFsEg7GLFJJL", "senderPublicKey": "3gAiRu728H35rBU1ApjYzjXbchuQ2ctX2KGyMyXekSfp", "proofs": [ "3JyfzvupxaE6z67KZ3HqA52XenLJsiwZu3chrjNXrtazadVBVwPsuE2jAr2XpZfCYvsimwVDbECRjhjSgkf2351N" ], "script": "base64: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", "chainId": 87, "height": 3436901, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5STax638bbGAvCpq1NzYNHgDGMMd41w4cTRAW4LAyywh Next: 7EYDk3AqkE1FDvdABdufLFStcWrEuDV2Jp3tFaJtSMfa 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'3PEqDtsz8MfUuG27fN2PJMTS5E79oGEPoyf')
77
88 let addr2 = Address(base58'3PHNLLp5f19nt3ANJEzUFnkzThP8JSEHKhw')
99
1010 let addr3 = Address(base58'3P9hLhHkww6a18CPJ5ehGQ8ikcDEdn48k3Q')
1111
1212 let addr4 = Address(base58'3P5rn3k6oAKcid179gRDJe4KYTBydNUDx3e')
1313
1414 let addr5 = Address(base58'3PMcgxtm7Dh27wz9CzoU2ycv3kiUJJJ4oid')
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 
36.05 ms