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

{ "type": 13, "id": "8bv2EV2sQTC5HKJJjS8MUVSeetu15KJcAZhKzcwkuEXX", "fee": 600000, "feeAssetId": null, "timestamp": 1671708439322, "version": 1, "sender": "3PFnm5Y2QEkcZ9B4QDp8eGPFU8u2hyXeWud", "senderPublicKey": "8mmx6kMAzVC12tvCKqBFjn5zLqbvZmmYMB3r5Y7vyuaD", "proofs": [ "2XHGyFvqy1Wq7dGQyjUMjcCHLtt5z11VUp31qjvnMVBujowfVoQzVmFCCsv1X7hsVud4qhbne5q39RFzy4iMD9VA" ], "script": "base64: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", "chainId": 87, "height": 3436901, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4yCqTrvB5oBXUJ8LAqohuLYrwcEWtqxS29zna8PEAK8U Next: F2mGe6CuexySCzokjPEdPyKGWJmKnBVEUPMUQENgbJai 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'3P8Pfyw76wbR8GJjG8HNt2a3QGbqy1vCKRR')
77
88 let addr2 = Address(base58'3P7v1Vy2M7miiW8d5z8JrbKYKnWAL6YoKQ7')
99
1010 let addr3 = Address(base58'3P2rSeZuv2QF5TRQ47XBD5hgXCoDSthne4X')
1111
1212 let addr4 = Address(base58'3PCToVK1SVh5e57n2rHVXKRmArqPxyYMLNp')
1313
1414 let addr5 = Address(base58'3PNA9t1ZcgSY8uiqGVv6oXAdYgyDYFKdBM9')
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 
29.53 ms