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:AAIFAAAAAAAAABgIAhIECgIECBIDCgEIEgQKAggIEgMKAQgAAAALAAAAAAtiYWlfYXNzZXRpZAEAAAAgk+FyOHEEm2rommMfBCS3ZFOXLD68ZguDdK9ouySN4kIAAAAACmFkbWluX2FkZHIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQksX6wAmH1Xxe8AAMn0i1Eby7rr+JFiN8AAAAADmRhcHBSdW5uaW5nS2V5AgAAABRjb25mX2RhcHBfaXNfcnVubmluZwAAAAARbWFpbnRlbmFuY2VNU0dLZXkCAAAAFGNvbmZfbWFpbnRlbmFuY2VfbXNnAAAAAAtkYXBwUnVubmluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAA5kYXBwUnVubmluZ0tleQYAAAAADm1haW50ZW5hbmNlTVNHCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAEW1haW50ZW5hbmNlTVNHS2V5AgAAAAAAAAAADlNUQVRVU19QRU5ESU5HAgAAAAdQRU5ESU5HAAAAABBTVEFUVVNfUFJPQ0VTU0VEAgAAAAlQUk9DRVNTRUQBAAAACWdldFN0ckJ5SwAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQIAAAAAAQAAAA5nZXRQYXltZW50RGF0YQAAAAEAAAABaQMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAABNObyBwYXltZW50IGF0dGFjaGVkBAAAAAdwYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAZhbW91bnQJAQAAAAV2YWx1ZQAAAAEIBQAAAAdwYXltZW50AAAABmFtb3VudAQAAAAFYXNzZXQJAQAAAAV2YWx1ZQAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQJAAUUAAAAAgUAAAAGYW1vdW50BQAAAAVhc3NldAEAAAAMaWRDYWxsZXJEYXRlAAAAAQAAAAFpAwkBAAAAASEAAAABBQAAAAtkYXBwUnVubmluZwkAAAIAAAABBQAAAA5tYWludGVuYW5jZU1TRwkABRUAAAADCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAAAAAEAAAAAWkBAAAACmFwcFJ1bm5pbmcAAAACAAAABmlzTGl2ZQAAAAdtZXNzYWdlBAAAAAskdDAxMTM2MTE3NQkBAAAADGlkQ2FsbGVyRGF0ZQAAAAEFAAAAAWkEAAAAAmlkCAUAAAALJHQwMTEzNjExNzUAAAACXzEEAAAABmNhbGxlcggFAAAACyR0MDExMzYxMTc1AAAAAl8yBAAAAARkYXRlCAUAAAALJHQwMTEzNjExNzUAAAACXzMDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACCQAEJQAAAAEFAAAACmFkbWluX2FkZHIJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzBQAAAANuaWwFAAAABmNhbGxlcgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAOZGFwcFJ1bm5pbmdLZXkFAAAABmlzTGl2ZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABFtYWludGVuYW5jZU1TR0tleQUAAAAHbWVzc2FnZQUAAAADbmlsCQAAAgAAAAECAAAAIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoaXMAAAABaQEAAAAHZGVwb3NpdAAAAAEAAAAKYm5iX2FkZHJlcwQAAAALJHQwMTQ3MTE1MTAJAQAAAA5nZXRQYXltZW50RGF0YQAAAAEFAAAAAWkEAAAABmFtb3VudAgFAAAACyR0MDE0NzExNTEwAAAAAl8xBAAAAAVhc3NldAgFAAAACyR0MDE0NzExNTEwAAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAFYXNzZXQFAAAAC2JhaV9hc3NldGlkCQAAAgAAAAECAAAAF09ubHkgQkFJIHRva2VuIGFjY2VwdGVkBAAAAAskdDAxNTkyMTYzMQkBAAAADGlkQ2FsbGVyRGF0ZQAAAAEFAAAAAWkEAAAAAmlkCAUAAAALJHQwMTU5MjE2MzEAAAACXzEEAAAABmNhbGxlcggFAAAACyR0MDE1OTIxNjMxAAAAAl8yBAAAAARkYXRlCAUAAAALJHQwMTU5MjE2MzEAAAACXzMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAAAmlkAgAAAAFfBQAAAA5TVEFUVVNfUEVORElORwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZjYWxsZXICAAAAAV8JAAGkAAAAAQUAAAAGYW1vdW50AgAAAAFfBQAAAApibmJfYWRkcmVzBQAAAANuaWwAAAABaQEAAAAIZmluYWxpemUAAAACAAAABHR4aWQAAAAKYm5iX3R4aGFzaAQAAAALJHQwMTgwMjE4NDEJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAACyR0MDE4MDIxODQxAAAAAl8xBAAAAAZjYWxsZXIIBQAAAAskdDAxODAyMTg0MQAAAAJfMgQAAAAEZGF0ZQgFAAAACyR0MDE4MDIxODQxAAAAAl8zAwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgkABCUAAAABBQAAAAphZG1pbl9hZGRyCQAETAAAAAIJAAQlAAAAAQUAAAAEdGhpcwUAAAADbmlsBQAAAAZjYWxsZXIEAAAABGRhdGEJAQAAAAlnZXRTdHJCeUsAAAABCQABLAAAAAIJAAEsAAAAAgUAAAAEdHhpZAIAAAABXwUAAAAOU1RBVFVTX1BFTkRJTkcDCQAAAAAAAAIFAAAABGRhdGECAAAAAAkAAAIAAAABAgAAABFSZXF1ZXN0IG5vdCBmb3VuZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgUAAAAEdHhpZAIAAAABXwUAAAAOU1RBVFVTX1BFTkRJTkcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAABHR4aWQCAAAAAV8FAAAAEFNUQVRVU19QUk9DRVNTRUQJAAEsAAAAAgkAASwAAAACBQAAAARkYXRhAgAAAAFfBQAAAApibmJfdHhoYXNoBQAAAANuaWwJAAACAAAAAQIAAAAiWW91IGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhpcwAAAAFpAQAAAAtkZWxldGVFbnRyeQAAAAEAAAAFZW50cnkEAAAACyR0MDIyODIyMzIxCQEAAAAMaWRDYWxsZXJEYXRlAAAAAQUAAAABaQQAAAACaWQIBQAAAAskdDAyMjgyMjMyMQAAAAJfMQQAAAAGY2FsbGVyCAUAAAALJHQwMjI4MjIzMjEAAAACXzIEAAAABGRhdGUIBQAAAAskdDAyMjgyMjMyMQAAAAJfMwMJAAAAAAAAAgUAAAAGY2FsbGVyCQAEJQAAAAEFAAAACmFkbWluX2FkZHIJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAFZW50cnkFAAAAA25pbAkAAAIAAAABAgAAAAJubwAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V56IoMiA==", "height": 3131795, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1' | |
5 | + | ||
6 | + | let b = Address(base58'3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp') | |
7 | + | ||
8 | + | let c = "conf_dapp_is_running" | |
9 | + | ||
10 | + | let d = "conf_maintenance_msg" | |
11 | + | ||
12 | + | let e = valueOrElse(getBoolean(this, c), true) | |
13 | + | ||
14 | + | let f = valueOrElse(getString(this, d), "") | |
15 | + | ||
16 | + | let g = "PENDING" | |
17 | + | ||
18 | + | let h = "PROCESSED" | |
19 | + | ||
20 | + | func i (j) = valueOrElse(getString(this, j), "") | |
21 | + | ||
22 | + | ||
23 | + | func k (l) = if ((size(l.payments) == 0)) | |
24 | + | then throw("No payment attached") | |
25 | + | else { | |
26 | + | let m = value(l.payments[0]) | |
27 | + | let n = value(m.amount) | |
28 | + | let o = value(m.assetId) | |
29 | + | $Tuple2(n, o) | |
30 | + | } | |
31 | + | ||
32 | + | ||
33 | + | func p (l) = if (!(e)) | |
34 | + | then throw(f) | |
35 | + | else $Tuple3(toBase58String(l.transactionId), toBase58String(l.caller.bytes), lastBlock.timestamp) | |
36 | + | ||
37 | + | ||
38 | + | @Callable(l) | |
39 | + | func appRunning (q,r) = { | |
40 | + | let s = p(l) | |
41 | + | let t = s._1 | |
42 | + | let u = s._2 | |
43 | + | let v = s._3 | |
44 | + | if (containsElement([toString(b), toString(this)], u)) | |
45 | + | then [BooleanEntry(c, q), StringEntry(d, r)] | |
46 | + | else throw("You are not allowed to change this") | |
47 | + | } | |
48 | + | ||
49 | + | ||
50 | + | ||
51 | + | @Callable(l) | |
52 | + | func deposit (w) = { | |
53 | + | let x = k(l) | |
54 | + | let n = x._1 | |
55 | + | let o = x._2 | |
56 | + | if ((o != a)) | |
57 | + | then throw("Only BAI token accepted") | |
58 | + | else { | |
59 | + | let y = p(l) | |
60 | + | let t = y._1 | |
61 | + | let u = y._2 | |
62 | + | let v = y._3 | |
63 | + | [StringEntry(((t + "_") + g), ((((u + "_") + toString(n)) + "_") + w))] | |
64 | + | } | |
65 | + | } | |
66 | + | ||
67 | + | ||
68 | + | ||
69 | + | @Callable(l) | |
70 | + | func finalize (z,A) = { | |
71 | + | let B = p(l) | |
72 | + | let t = B._1 | |
73 | + | let u = B._2 | |
74 | + | let v = B._3 | |
75 | + | if (containsElement([toString(b), toString(this)], u)) | |
76 | + | then { | |
77 | + | let C = i(((z + "_") + g)) | |
78 | + | if ((C == "")) | |
79 | + | then throw("Request not found") | |
80 | + | else [DeleteEntry(((z + "_") + g)), StringEntry(((z + "_") + h), ((C + "_") + A))] | |
81 | + | } | |
82 | + | else throw("You are not allowed to change this") | |
83 | + | } | |
84 | + | ||
85 | + | ||
86 | + | ||
87 | + | @Callable(l) | |
88 | + | func deleteEntry (D) = { | |
89 | + | let E = p(l) | |
90 | + | let t = E._1 | |
91 | + | let u = E._2 | |
92 | + | let v = E._3 | |
93 | + | if ((u == toString(b))) | |
94 | + | then [DeleteEntry(D)] | |
95 | + | else throw("no") | |
96 | + | } | |
97 | + | ||
98 | + | ||
99 | + | @Verifier(F) | |
100 | + | func G () = sigVerify(F.bodyBytes, F.proofs[0], F.senderPublicKey) | |
101 | + |
github/deemru/w8io/169f3d6 27.29 ms ◑