tx · FkdJr2Ps2K2qZY1du81wZqdRsrqwCrY1YfZm1J99esTM

3MvwomEX5zr9uwSxd7ocASK3S8dYRTBrs8R:  -0.01000000 Waves

2024.06.01 18:14 [3131795] smart account 3MvwomEX5zr9uwSxd7ocASK3S8dYRTBrs8R > SELF 0.00000000 Waves

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

github/deemru/w8io/c3f4982 
14.36 ms