tx · ELX1GV7vKiuD35ZPkyGT5nsQo1H5HFTg97bBAbfvE2Mc

3P6gLszP3nxzFcBNQSrvw9tmNHZJY2Jfbws:  -0.01000000 Waves

2022.10.13 20:51 [3336352] smart account 3P6gLszP3nxzFcBNQSrvw9tmNHZJY2Jfbws > SELF 0.00000000 Waves

{ "type": 13, "id": "ELX1GV7vKiuD35ZPkyGT5nsQo1H5HFTg97bBAbfvE2Mc", "fee": 1000000, "feeAssetId": null, "timestamp": 1665683485210, "version": 2, "chainId": 87, "sender": "3P6gLszP3nxzFcBNQSrvw9tmNHZJY2Jfbws", "senderPublicKey": "AQE5TyMMMmxBtnzNfhF3zZeTe6GusFPqJM3bCzgrSecv", "proofs": [ "4ypQKHrKJXNnrNETx92V1pibQTFMYTAsoxtb9EdxH7pN2n2KLJxrbmT5W4H6FjFb5pfs3HBFdGRGgu1ioE5WQphs" ], "script": "base64:BgIeCAISAwoBCBIFCgMICAgSBAoCCAgSAwoBCBIDCgEICQAJc2VwYXJhdG9yAgE7AAl1bmRlZmluZWQCCXVuZGVmaW5lZAAJYWRtaW5zS2V5AgZhZG1pbnMAE2NvbGxlY3RvckFkZHJlc3NLZXkCEWNvbGxlY3Rvcl9hZGRyZXNzABJwYXltYWtlckFkZHJlc3NLZXkCEHBheW1ha2VyX2FkZHJlc3MAEWhpc3RvcnlBZGRyZXNzS2V5Ag9oaXN0b3J5X2FkZHJlc3MBDWdldEV2ZW50ZXJLZXkBB2V2ZW50ZXIJAKwCAgIIZXZlbnRlcl8FB2V2ZW50ZXIBDWdldENoZWNrZXJLZXkBB2NoZWNrZXIJAKwCAgIIY2hlY2tlcl8FB2NoZWNrZXIBB2lzQWRtaW4BBmNhbGxlcgQGYWRtUm93CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFCWFkbWluc0tleQIAAwMJAAACBQZjYWxsZXIFBHRoaXMGCQEIY29udGFpbnMCBQZhZG1Sb3cJAKUIAQUGY2FsbGVyBgcFAWkBCGFkZEFkbWluAQdhZGRyZXNzAwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvBAlvbGRBZG1Sb3cJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUJYWRtaW5zS2V5AgAECW5ld0FkbVJvdwMJAAACCQCxAgEFCW9sZEFkbVJvdwAABQdhZGRyZXNzCQCsAgIJAKwCAgUJb2xkQWRtUm93BQlzZXBhcmF0b3IFB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUJYWRtaW5zS2V5BQluZXdBZG1Sb3cFA25pbAFpAQRpbml0Awljb2xsZWN0b3IIcGF5bWFrZXIHaGlzdG9yeQMJAQEhAQkBB2lzQWRtaW4BCAUBaQZjYWxsZXIJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwkAzAgCCQELU3RyaW5nRW50cnkCBRNjb2xsZWN0b3JBZGRyZXNzS2V5BQljb2xsZWN0b3IJAMwIAgkBC1N0cmluZ0VudHJ5AgUScGF5bWFrZXJBZGRyZXNzS2V5BQhwYXltYWtlcgkAzAgCCQELU3RyaW5nRW50cnkCBRFoaXN0b3J5QWRkcmVzc0tleQUHaGlzdG9yeQUDbmlsAWkBCnNldEV2ZW50ZXICB2V2ZW50ZXIEZGVzYwMJAQEhAQkBB2lzQWRtaW4BCAUBaQxvcmlnaW5DYWxsZXIJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwkAzAgCCQELU3RyaW5nRW50cnkCCQENZ2V0RXZlbnRlcktleQEFB2V2ZW50ZXIFBGRlc2MFA25pbAFpAQ1kZWxldGVFdmVudGVyAQdldmVudGVyAwkBASEBCQEHaXNBZG1pbgEIBQFpDG9yaWdpbkNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ1nZXRFdmVudGVyS2V5AQUHZXZlbnRlcgUDbmlsAWkBCnNldENoZWNrZXIBB2NoZWNrZXIDCQEBIQEJAQdpc0FkbWluAQgFAWkMb3JpZ2luQ2FsbGVyCQACAQIRb25seSBhZG1pbiBjYW4gZG8JAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQ1nZXRDaGVja2VyS2V5AQUHY2hlY2tlcgYFA25pbAD+3+Jy", "height": 3336352, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: J2pCUW31mLEcRXVMxpwVsj9LuGRCcxfryhUFBU9YkSxL Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let separator = ";"
5+
6+let undefined = "undefined"
7+
8+let adminsKey = "admins"
9+
10+let collectorAddressKey = "collector_address"
11+
12+let paymakerAddressKey = "paymaker_address"
13+
14+let historyAddressKey = "history_address"
15+
16+func getEventerKey (eventer) = ("eventer_" + eventer)
17+
18+
19+func getCheckerKey (checker) = ("checker_" + checker)
20+
21+
22+func isAdmin (caller) = {
23+ let admRow = valueOrElse(getString(this, adminsKey), "")
24+ if (if ((caller == this))
25+ then true
26+ else contains(admRow, toString(caller)))
27+ then true
28+ else false
29+ }
30+
31+
32+@Callable(i)
33+func addAdmin (address) = if (!(isAdmin(i.caller)))
34+ then throw("only admin can do")
35+ else {
36+ let oldAdmRow = valueOrElse(getString(this, adminsKey), "")
37+ let newAdmRow = if ((size(oldAdmRow) == 0))
38+ then address
39+ else ((oldAdmRow + separator) + address)
40+[StringEntry(adminsKey, newAdmRow)]
41+ }
42+
43+
44+
45+@Callable(i)
46+func init (collector,paymaker,history) = if (!(isAdmin(i.caller)))
47+ then throw("only admin can do")
48+ else [StringEntry(collectorAddressKey, collector), StringEntry(paymakerAddressKey, paymaker), StringEntry(historyAddressKey, history)]
49+
50+
51+
52+@Callable(i)
53+func setEventer (eventer,desc) = if (!(isAdmin(i.originCaller)))
54+ then throw("only admin can do")
55+ else [StringEntry(getEventerKey(eventer), desc)]
56+
57+
58+
59+@Callable(i)
60+func deleteEventer (eventer) = if (!(isAdmin(i.originCaller)))
61+ then throw("only admin can do")
62+ else [DeleteEntry(getEventerKey(eventer))]
63+
64+
65+
66+@Callable(i)
67+func setChecker (checker) = if (!(isAdmin(i.originCaller)))
68+ then throw("only admin can do")
69+ else [BooleanEntry(getCheckerKey(checker), true)]
70+
71+

github/deemru/w8io/0e76f2f 
47.55 ms