tx · J2pCUW31mLEcRXVMxpwVsj9LuGRCcxfryhUFBU9YkSxL

3P6gLszP3nxzFcBNQSrvw9tmNHZJY2Jfbws:  -0.01000000 Waves

2022.10.15 11:27 [3338679] smart account 3P6gLszP3nxzFcBNQSrvw9tmNHZJY2Jfbws > SELF 0.00000000 Waves

{ "type": 13, "id": "J2pCUW31mLEcRXVMxpwVsj9LuGRCcxfryhUFBU9YkSxL", "fee": 1000000, "feeAssetId": null, "timestamp": 1665822485201, "version": 2, "chainId": 87, "sender": "3P6gLszP3nxzFcBNQSrvw9tmNHZJY2Jfbws", "senderPublicKey": "AQE5TyMMMmxBtnzNfhF3zZeTe6GusFPqJM3bCzgrSecv", "proofs": [ "2kHcjy7D7G3dkViJKtZQU2m7W57EJRLZf6EL2Gjc5v9bBj2BBgmoacFuAoqbfCRwPzptVRGnxU5bsbEf9w1i9RZH" ], "script": "base64:BgIeCAISAwoBCBIFCgMICAgSBAoCCAgSAwoBCBIDCgEICwAJc2VwYXJhdG9yAgE7AAl1bmRlZmluZWQCCXVuZGVmaW5lZAAJYWRtaW5zS2V5AgZhZG1pbnMAE2NvbGxlY3RvckFkZHJlc3NLZXkCEWNvbGxlY3Rvcl9hZGRyZXNzABJwYXltYWtlckFkZHJlc3NLZXkCEHBheW1ha2VyX2FkZHJlc3MAEWhpc3RvcnlBZGRyZXNzS2V5Ag9oaXN0b3J5X2FkZHJlc3MBDWdldEV2ZW50ZXJLZXkBB2V2ZW50ZXIJAKwCAgIIZXZlbnRlcl8FB2V2ZW50ZXIBDWdldENoZWNrZXJLZXkBB2NoZWNrZXIJAKwCAgIIY2hlY2tlcl8FB2NoZWNrZXIBB2lzQWRtaW4BBmNhbGxlcgQGYWRtUm93CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFCWFkbWluc0tleQIAAwMJAAACBQZjYWxsZXIFBHRoaXMGCQEIY29udGFpbnMCBQZhZG1Sb3cJAKUIAQUGY2FsbGVyBgcABHVzZG4BILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAQRpbmZvAQphZGRyZXNzU3RyBAdhZGRyZXNzCQCmCAEFCmFkZHJlc3NTdHIECWlzQWRkcmVzcwkBCWlzRGVmaW5lZAEFB2FkZHJlc3MEDWN1cnJlbnRIZWlnaHQFBmhlaWdodAQKdXNkbkFtb3VudAMFCWlzQWRkcmVzcwkA8AcCCQEFdmFsdWUBBQdhZGRyZXNzBQR1c2RuAAAEC3dhdmVzQW1vdW50AwUJaXNBZGRyZXNzCAkA7wcBCQEFdmFsdWUBBQdhZGRyZXNzCWF2YWlsYWJsZQAABAhqc29uVXNlcgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAgF7AgEiAgR1c2RuAgEiAgE6CQCkAwEFCnVzZG5BbW91bnQCASwCASICBXdhdmVzAgEiAgE6CQCkAwEFC3dhdmVzQW1vdW50AgACAX0EBGpzb24JAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIBewIBIgIBaAIBIgIBOgkApAMBBQ1jdXJyZW50SGVpZ2h0AgEsAgEiAgF1AgEiAgE6BQhqc29uVXNlcgIAAgF9CQCUCgIFA25pbAUEanNvbgUBaQEIYWRkQWRtaW4BB2FkZHJlc3MDCQEBIQEJAQdpc0FkbWluAQgFAWkGY2FsbGVyCQACAQIRb25seSBhZG1pbiBjYW4gZG8ECW9sZEFkbVJvdwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQlhZG1pbnNLZXkCAAQJbmV3QWRtUm93AwkAAAIJALECAQUJb2xkQWRtUm93AAAFB2FkZHJlc3MJAKwCAgkArAICBQlvbGRBZG1Sb3cFCXNlcGFyYXRvcgUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBQlhZG1pbnNLZXkFCW5ld0FkbVJvdwUDbmlsAWkBBGluaXQDCWNvbGxlY3RvcghwYXltYWtlcgdoaXN0b3J5AwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvCQDMCAIJAQtTdHJpbmdFbnRyeQIFE2NvbGxlY3RvckFkZHJlc3NLZXkFCWNvbGxlY3RvcgkAzAgCCQELU3RyaW5nRW50cnkCBRJwYXltYWtlckFkZHJlc3NLZXkFCHBheW1ha2VyCQDMCAIJAQtTdHJpbmdFbnRyeQIFEWhpc3RvcnlBZGRyZXNzS2V5BQdoaXN0b3J5BQNuaWwBaQEKc2V0RXZlbnRlcgIHZXZlbnRlcgRkZXNjAwkBASEBCQEHaXNBZG1pbgEIBQFpDG9yaWdpbkNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1nZXRFdmVudGVyS2V5AQUHZXZlbnRlcgUEZGVzYwUDbmlsAWkBDWRlbGV0ZUV2ZW50ZXIBB2V2ZW50ZXIDCQEBIQEJAQdpc0FkbWluAQgFAWkMb3JpZ2luQ2FsbGVyCQACAQIRb25seSBhZG1pbiBjYW4gZG8JAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDWdldEV2ZW50ZXJLZXkBBQdldmVudGVyBQNuaWwBaQEKc2V0Q2hlY2tlcgEHY2hlY2tlcgMJAQEhAQkBB2lzQWRtaW4BCAUBaQxvcmlnaW5DYWxsZXIJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBDWdldENoZWNrZXJLZXkBBQdjaGVja2VyBgUDbmlsAJV15fE=", "height": 3338679, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ELX1GV7vKiuD35ZPkyGT5nsQo1H5HFTg97bBAbfvE2Mc Next: none Diff:
OldNewDifferences
2626 else contains(admRow, toString(caller)))
2727 then true
2828 else false
29+ }
30+
31+
32+let usdn = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
33+
34+func info (addressStr) = {
35+ let address = addressFromString(addressStr)
36+ let isAddress = isDefined(address)
37+ let currentHeight = height
38+ let usdnAmount = if (isAddress)
39+ then assetBalance(value(address), usdn)
40+ else 0
41+ let wavesAmount = if (isAddress)
42+ then wavesBalance(value(address)).available
43+ else 0
44+ let jsonUser = ((((((((((((("{" + "\"") + "usdn") + "\"") + ":") + toString(usdnAmount)) + ",") + "\"") + "waves") + "\"") + ":") + toString(wavesAmount)) + "") + "}")
45+ let json = ((((((((((((("{" + "\"") + "h") + "\"") + ":") + toString(currentHeight)) + ",") + "\"") + "u") + "\"") + ":") + jsonUser) + "") + "}")
46+ $Tuple2(nil, json)
2947 }
3048
3149
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = ";"
55
66 let undefined = "undefined"
77
88 let adminsKey = "admins"
99
1010 let collectorAddressKey = "collector_address"
1111
1212 let paymakerAddressKey = "paymaker_address"
1313
1414 let historyAddressKey = "history_address"
1515
1616 func getEventerKey (eventer) = ("eventer_" + eventer)
1717
1818
1919 func getCheckerKey (checker) = ("checker_" + checker)
2020
2121
2222 func isAdmin (caller) = {
2323 let admRow = valueOrElse(getString(this, adminsKey), "")
2424 if (if ((caller == this))
2525 then true
2626 else contains(admRow, toString(caller)))
2727 then true
2828 else false
29+ }
30+
31+
32+let usdn = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
33+
34+func info (addressStr) = {
35+ let address = addressFromString(addressStr)
36+ let isAddress = isDefined(address)
37+ let currentHeight = height
38+ let usdnAmount = if (isAddress)
39+ then assetBalance(value(address), usdn)
40+ else 0
41+ let wavesAmount = if (isAddress)
42+ then wavesBalance(value(address)).available
43+ else 0
44+ let jsonUser = ((((((((((((("{" + "\"") + "usdn") + "\"") + ":") + toString(usdnAmount)) + ",") + "\"") + "waves") + "\"") + ":") + toString(wavesAmount)) + "") + "}")
45+ let json = ((((((((((((("{" + "\"") + "h") + "\"") + ":") + toString(currentHeight)) + ",") + "\"") + "u") + "\"") + ":") + jsonUser) + "") + "}")
46+ $Tuple2(nil, json)
2947 }
3048
3149
3250 @Callable(i)
3351 func addAdmin (address) = if (!(isAdmin(i.caller)))
3452 then throw("only admin can do")
3553 else {
3654 let oldAdmRow = valueOrElse(getString(this, adminsKey), "")
3755 let newAdmRow = if ((size(oldAdmRow) == 0))
3856 then address
3957 else ((oldAdmRow + separator) + address)
4058 [StringEntry(adminsKey, newAdmRow)]
4159 }
4260
4361
4462
4563 @Callable(i)
4664 func init (collector,paymaker,history) = if (!(isAdmin(i.caller)))
4765 then throw("only admin can do")
4866 else [StringEntry(collectorAddressKey, collector), StringEntry(paymakerAddressKey, paymaker), StringEntry(historyAddressKey, history)]
4967
5068
5169
5270 @Callable(i)
5371 func setEventer (eventer,desc) = if (!(isAdmin(i.originCaller)))
5472 then throw("only admin can do")
5573 else [StringEntry(getEventerKey(eventer), desc)]
5674
5775
5876
5977 @Callable(i)
6078 func deleteEventer (eventer) = if (!(isAdmin(i.originCaller)))
6179 then throw("only admin can do")
6280 else [DeleteEntry(getEventerKey(eventer))]
6381
6482
6583
6684 @Callable(i)
6785 func setChecker (checker) = if (!(isAdmin(i.originCaller)))
6886 then throw("only admin can do")
6987 else [BooleanEntry(getCheckerKey(checker), true)]
7088
7189

github/deemru/w8io/873ac7e 
45.08 ms