tx · 5DAYN4pZMVLEWKQoRS6pqffn8ojVUJy1dAjqdqp3k2RL 3N1Sy1orAx7cA4DiXHsPc4qtpWoJcAh4zDc: -0.01000000 Waves 2024.06.01 18:12 [3131792] smart account 3N1Sy1orAx7cA4DiXHsPc4qtpWoJcAh4zDc > SELF 0.00000000 Waves
{ "type": 13, "id": "5DAYN4pZMVLEWKQoRS6pqffn8ojVUJy1dAjqdqp3k2RL", "fee": 1000000, "feeAssetId": null, "timestamp": 1717254787792, "version": 2, "chainId": 84, "sender": "3N1Sy1orAx7cA4DiXHsPc4qtpWoJcAh4zDc", "senderPublicKey": "49zi6CveYsNs7mCRBAxfBriVPMfCo9R4hXtDKcttRB6o", "proofs": [ "4TaPnjMz8EDCJuCQWgFFYyoRTgRkehhF6K2ezWYt96W7pF43AEUWRKYLmEMcNTeadVDB1bnuWYagkDE4X4BMk1oe" ], "script": "base64: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", "height": 3131792, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CoXfRA2qzqmgrWaupjXWvJx6GXFauzeZkRQjG8FnjP6z Next: none Diff:
Old | New | Differences | |
---|---|---|---|
41 | 41 | let id = $t011361175._1 | |
42 | 42 | let caller = $t011361175._2 | |
43 | 43 | let date = $t011361175._3 | |
44 | - | if (containsElement([admin_addr, toString(this)], caller)) | |
44 | + | if (containsElement([toString(admin_addr), toString(this)], caller)) | |
45 | 45 | then [BooleanEntry(dappRunningKey, isLive), StringEntry(maintenanceMSGKey, message)] | |
46 | 46 | else throw("You are not allowed to change this") | |
47 | 47 | } | |
50 | 50 | ||
51 | 51 | @Callable(i) | |
52 | 52 | func deposit (bnb_addres) = { | |
53 | - | let $ | |
54 | - | let amount = $ | |
55 | - | let asset = $ | |
53 | + | let $t014711510 = getPaymentData(i) | |
54 | + | let amount = $t014711510._1 | |
55 | + | let asset = $t014711510._2 | |
56 | 56 | if ((asset != bai_assetid)) | |
57 | 57 | then throw("Only BAI token accepted") | |
58 | 58 | else { | |
59 | - | let $ | |
60 | - | let id = $ | |
61 | - | let caller = $ | |
62 | - | let date = $ | |
59 | + | let $t015921631 = idCallerDate(i) | |
60 | + | let id = $t015921631._1 | |
61 | + | let caller = $t015921631._2 | |
62 | + | let date = $t015921631._3 | |
63 | 63 | [StringEntry(((id + "_") + STATUS_PENDING), ((((caller + "_") + toString(amount)) + "_") + bnb_addres))] | |
64 | 64 | } | |
65 | 65 | } | |
68 | 68 | ||
69 | 69 | @Callable(i) | |
70 | 70 | func finalize (txid,bnb_txhash) = { | |
71 | - | let $ | |
72 | - | let id = $ | |
73 | - | let caller = $ | |
74 | - | let date = $ | |
75 | - | if (containsElement([admin_addr, toString(this)], caller)) | |
71 | + | let $t018021841 = idCallerDate(i) | |
72 | + | let id = $t018021841._1 | |
73 | + | let caller = $t018021841._2 | |
74 | + | let date = $t018021841._3 | |
75 | + | if (containsElement([toString(admin_addr), toString(this)], caller)) | |
76 | 76 | then { | |
77 | 77 | let data = getStrByK(((txid + "_") + STATUS_PENDING)) | |
78 | 78 | if ((data == "")) | |
86 | 86 | ||
87 | 87 | @Callable(i) | |
88 | 88 | func deleteEntry (entry) = { | |
89 | - | let caller = i.caller | |
90 | - | if ((caller == admin_addr)) | |
89 | + | let $t022362275 = idCallerDate(i) | |
90 | + | let id = $t022362275._1 | |
91 | + | let caller = $t022362275._2 | |
92 | + | let date = $t022362275._3 | |
93 | + | if ((caller == toString(admin_addr))) | |
91 | 94 | then [DeleteEntry(entry)] | |
92 | 95 | else throw("no") | |
93 | 96 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let bai_assetid = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1' | |
5 | 5 | ||
6 | 6 | let admin_addr = Address(base58'3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp') | |
7 | 7 | ||
8 | 8 | let dappRunningKey = "conf_dapp_is_running" | |
9 | 9 | ||
10 | 10 | let maintenanceMSGKey = "conf_maintenance_msg" | |
11 | 11 | ||
12 | 12 | let dappRunning = valueOrElse(getBoolean(this, dappRunningKey), true) | |
13 | 13 | ||
14 | 14 | let maintenanceMSG = valueOrElse(getString(this, maintenanceMSGKey), "") | |
15 | 15 | ||
16 | 16 | let STATUS_PENDING = "PENDING" | |
17 | 17 | ||
18 | 18 | let STATUS_PROCESSED = "PROCESSED" | |
19 | 19 | ||
20 | 20 | func getStrByK (key) = valueOrElse(getString(this, key), "") | |
21 | 21 | ||
22 | 22 | ||
23 | 23 | func getPaymentData (i) = if ((size(i.payments) == 0)) | |
24 | 24 | then throw("No payment attached") | |
25 | 25 | else { | |
26 | 26 | let payment = value(i.payments[0]) | |
27 | 27 | let amount = value(payment.amount) | |
28 | 28 | let asset = value(payment.assetId) | |
29 | 29 | $Tuple2(amount, asset) | |
30 | 30 | } | |
31 | 31 | ||
32 | 32 | ||
33 | 33 | func idCallerDate (i) = if (!(dappRunning)) | |
34 | 34 | then throw(maintenanceMSG) | |
35 | 35 | else $Tuple3(toBase58String(i.transactionId), toBase58String(i.caller.bytes), lastBlock.timestamp) | |
36 | 36 | ||
37 | 37 | ||
38 | 38 | @Callable(i) | |
39 | 39 | func appRunning (isLive,message) = { | |
40 | 40 | let $t011361175 = idCallerDate(i) | |
41 | 41 | let id = $t011361175._1 | |
42 | 42 | let caller = $t011361175._2 | |
43 | 43 | let date = $t011361175._3 | |
44 | - | if (containsElement([admin_addr, toString(this)], caller)) | |
44 | + | if (containsElement([toString(admin_addr), toString(this)], caller)) | |
45 | 45 | then [BooleanEntry(dappRunningKey, isLive), StringEntry(maintenanceMSGKey, message)] | |
46 | 46 | else throw("You are not allowed to change this") | |
47 | 47 | } | |
48 | 48 | ||
49 | 49 | ||
50 | 50 | ||
51 | 51 | @Callable(i) | |
52 | 52 | func deposit (bnb_addres) = { | |
53 | - | let $ | |
54 | - | let amount = $ | |
55 | - | let asset = $ | |
53 | + | let $t014711510 = getPaymentData(i) | |
54 | + | let amount = $t014711510._1 | |
55 | + | let asset = $t014711510._2 | |
56 | 56 | if ((asset != bai_assetid)) | |
57 | 57 | then throw("Only BAI token accepted") | |
58 | 58 | else { | |
59 | - | let $ | |
60 | - | let id = $ | |
61 | - | let caller = $ | |
62 | - | let date = $ | |
59 | + | let $t015921631 = idCallerDate(i) | |
60 | + | let id = $t015921631._1 | |
61 | + | let caller = $t015921631._2 | |
62 | + | let date = $t015921631._3 | |
63 | 63 | [StringEntry(((id + "_") + STATUS_PENDING), ((((caller + "_") + toString(amount)) + "_") + bnb_addres))] | |
64 | 64 | } | |
65 | 65 | } | |
66 | 66 | ||
67 | 67 | ||
68 | 68 | ||
69 | 69 | @Callable(i) | |
70 | 70 | func finalize (txid,bnb_txhash) = { | |
71 | - | let $ | |
72 | - | let id = $ | |
73 | - | let caller = $ | |
74 | - | let date = $ | |
75 | - | if (containsElement([admin_addr, toString(this)], caller)) | |
71 | + | let $t018021841 = idCallerDate(i) | |
72 | + | let id = $t018021841._1 | |
73 | + | let caller = $t018021841._2 | |
74 | + | let date = $t018021841._3 | |
75 | + | if (containsElement([toString(admin_addr), toString(this)], caller)) | |
76 | 76 | then { | |
77 | 77 | let data = getStrByK(((txid + "_") + STATUS_PENDING)) | |
78 | 78 | if ((data == "")) | |
79 | 79 | then throw("Request not found") | |
80 | 80 | else [StringEntry(((txid + "_") + STATUS_PROCESSED), ((data + "_") + bnb_txhash))] | |
81 | 81 | } | |
82 | 82 | else throw("You are not allowed to change this") | |
83 | 83 | } | |
84 | 84 | ||
85 | 85 | ||
86 | 86 | ||
87 | 87 | @Callable(i) | |
88 | 88 | func deleteEntry (entry) = { | |
89 | - | let caller = i.caller | |
90 | - | if ((caller == admin_addr)) | |
89 | + | let $t022362275 = idCallerDate(i) | |
90 | + | let id = $t022362275._1 | |
91 | + | let caller = $t022362275._2 | |
92 | + | let date = $t022362275._3 | |
93 | + | if ((caller == toString(admin_addr))) | |
91 | 94 | then [DeleteEntry(entry)] | |
92 | 95 | else throw("no") | |
93 | 96 | } | |
94 | 97 | ||
95 | 98 | ||
96 | 99 | @Verifier(tx) | |
97 | 100 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
98 | 101 |
github/deemru/w8io/169f3d6 55.79 ms ◑![]()