tx · 6qGd9rsiFMbfvdEnVgnWFtcfAcMerR5RzxsL6keQ2wJ8

3MrF6QFGLaSKfoNPMd8L3u7KYNm7cE43Ydw:  -0.00300000 Waves

2022.10.09 19:10 [2265012] smart account 3MrF6QFGLaSKfoNPMd8L3u7KYNm7cE43Ydw > SELF 0.00000000 Waves

{ "type": 13, "id": "6qGd9rsiFMbfvdEnVgnWFtcfAcMerR5RzxsL6keQ2wJ8", "fee": 300000, "feeAssetId": null, "timestamp": 1665331885186, "version": 2, "chainId": 84, "sender": "3MrF6QFGLaSKfoNPMd8L3u7KYNm7cE43Ydw", "senderPublicKey": "6NSakbUsm1WyESQ8yj3qpc1kQUfHWNd5C6CHVpbs4X7c", "proofs": [ "5y6boZyVvtrzumx9nqiCgugsNvBwKWqZN54DEniUaQvh18j9svRSUB3deLS6Ux6WxqeMFj1BsEMVqJi9bhAsUhkm" ], "script": "base64:AAIFAAAAAAAAABYIAhIDCgEIEgMKAQgSAwoBCBIDCgEIAAAACAEAAAAQZ2V0U3RyaW5nT3JUaHJvdwAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADENhbid0IHJlYWQgJwUAAAADa2V5AgAAAA0nIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAB2FkZHJlc3MBAAAAE3BhcnNlQWRkcmVzc09yVGhyb3cAAAABAAAADG1heWJlQWRkcmVzcwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEFAAAADG1heWJlQWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAAGkNhbid0IHBhcnNlIGFkZHJlc3MgZnJvbSAnBQAAAAxtYXliZUFkZHJlc3MCAAAAAScAAAAADGtleV9yZWdpc3RyeQIAAAAIcmVnaXN0cnkAAAAACHJlZ2lzdHJ5CQEAAAATcGFyc2VBZGRyZXNzT3JUaHJvdwAAAAEJAQAAABBnZXRTdHJpbmdPclRocm93AAAAAgUAAAAEdGhpcwUAAAAMa2V5X3JlZ2lzdHJ5AQAAAAdpc0FkbWluAAAAAQAAAANpbnYJAAAAAAAAAggFAAAAA2ludgAAAAZjYWxsZXIFAAAABHRoaXMBAAAACW1vZGlmaWVycwAAAAEAAAALdmFsaWRhdGlvbnMFAAAABHVuaXQBAAAACW9ubHlBZG1pbgAAAAEAAAADaW52AwkBAAAAB2lzQWRtaW4AAAABBQAAAANpbnYFAAAABHVuaXQJAAACAAAAAQIAAAARUGVybWlzc2lvbiBkZW5pZWQBAAAABV9hZGRyAAAAAQAAAAVsYWJlbAQAAAAHJG1hdGNoMAkAA/wAAAAEBQAAAAhyZWdpc3RyeQIAAAAFb3duZXIJAARMAAAAAgUAAAAFbGFiZWwFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABW93bmVyBQAAAAckbWF0Y2gwBQAAAAVvd25lcgUAAAAEdW5pdAAAAAQAAAADaW52AQAAAARpbml0AAAAAQAAAA9yZWdpc3RyeUFkZHJlc3MJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAAltb2RpZmllcnMAAAABCQAETAAAAAIJAQAAAAlvbmx5QWRtaW4AAAABBQAAAANpbnYFAAAAA25pbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAxrZXlfcmVnaXN0cnkFAAAAD3JlZ2lzdHJ5QWRkcmVzcwUAAAADbmlsAAAAA2ludgEAAAAEYWRkcgAAAAEAAAAFbGFiZWwJAAUUAAAAAgUAAAADbmlsCQEAAAAFX2FkZHIAAAABBQAAAAVsYWJlbAAAAANpbnYBAAAAB3Jlc29sdmUAAAABAAAABG5hbWUEAAAABmxhYmVscwMJAAAAAAAAAgkAATEAAAABBQAAAARuYW1lAAAAAAAAAAAACQAAAgAAAAECAAAAFE5hbWUgY2Fubm90IGJlIGVtcHR5CQAEtQAAAAIFAAAABG5hbWUCAAAAAS4EAAAACWxhc3RMYWJlbAkAAZEAAAACBQAAAAZsYWJlbHMJAABlAAAAAgkAAZAAAAABBQAAAAZsYWJlbHMAAAAAAAAAAAEJAAUUAAAAAgUAAAADbmlsCQEAAAAFX2FkZHIAAAABBQAAAAlsYXN0TGFiZWwAAAADaW52AQAAAAV3aG9JcwAAAAEAAAAEbmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAACW1vZGlmaWVycwAAAAEJAARMAAAAAgMJAABmAAAAAgkAATEAAAABBQAAAARuYW1lAAAAAAAAAAAABQAAAAR1bml0CQAAAgAAAAECAAAAFE5hbWUgY2Fubm90IGJlIGVtcHR5BQAAAANuaWwEAAAABmxhYmVscwkABLUAAAACBQAAAARuYW1lAgAAAAEuBAAAAAlsYXN0TGFiZWwJAAGRAAAAAgUAAAAGbGFiZWxzCQAAZQAAAAIJAAGQAAAAAQUAAAAGbGFiZWxzAAAAAAAAAAABBAAAAAxpc1JlZ2lzdGVyZWQEAAAAByRtYXRjaDAJAAP8AAAABAUAAAAIcmVnaXN0cnkCAAAACWF2YWlsYWJsZQkABEwAAAACBQAAAAlsYXN0TGFiZWwFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAlhdmFpbGFibGUFAAAAByRtYXRjaDAJAQAAAAEhAAAAAQUAAAAJYXZhaWxhYmxlBwQAAAAKcmVnaXN0cmFudAQAAAAHJG1hdGNoMAkAA/wAAAAEBQAAAAhyZWdpc3RyeQIAAAAFb3duZXIJAARMAAAAAgUAAAAJbGFzdExhYmVsBQAAAANuaWwFAAAAA25pbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAVvd25lcgUAAAAHJG1hdGNoMAUAAAAFb3duZXIFAAAABHVuaXQEAAAACHJlc29sdmVyBQAAAAR1bml0BAAAAAtuYW1lQ3JlYXRlZAQAAAAHJG1hdGNoMAkAA/wAAAAEBQAAAAhyZWdpc3RyeQIAAAALbmFtZUNyZWF0ZWQJAARMAAAAAgUAAAAJbGFzdExhYmVsBQAAAANuaWwFAAAAA25pbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAljcmVhdGVkQXQFAAAAByRtYXRjaDAFAAAACWNyZWF0ZWRBdAUAAAAEdW5pdAQAAAALbmFtZUV4cGlyZXMEAAAAByRtYXRjaDAJAAP8AAAABAUAAAAIcmVnaXN0cnkCAAAAC25hbWVFeHBpcmVzCQAETAAAAAIFAAAACWxhc3RMYWJlbAUAAAADbmlsBQAAAANuaWwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAJZXhwaXJlc0F0BQAAAAckbWF0Y2gwBQAAAAlleHBpcmVzQXQFAAAABHVuaXQEAAAACm5hbWVTdGF0dXMEAAAAByRtYXRjaDAJAAP8AAAABAUAAAAIcmVnaXN0cnkCAAAACm5hbWVTdGF0dXMJAARMAAAAAgUAAAAJbGFzdExhYmVsBQAAAANuaWwFAAAAA25pbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAZzdGF0dXMFAAAAByRtYXRjaDAFAAAABnN0YXR1cwUAAAAEdW5pdAMJAQAAAAEhAAAAAQUAAAAMaXNSZWdpc3RlcmVkCQAFFAAAAAIFAAAAA25pbAUAAAAEdW5pdAkABRQAAAACBQAAAANuaWwJAAUXAAAABQUAAAAKcmVnaXN0cmFudAUAAAAIcmVzb2x2ZXIFAAAAC25hbWVDcmVhdGVkBQAAAAtuYW1lRXhwaXJlcwUAAAAKbmFtZVN0YXR1cwAAAADngFff", "height": 2265012, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: B2VJNE7Vs1kbvCwCLkVhZoQHHauJKiUkCu13EKduzfkH Next: 6G3ruV19NuViAcMBQfyzK7tw3jbbYMX1J8tGkHZnf6Jn Diff:
OldNewDifferences
5757 else throw("Name cannot be empty")]), {
5858 let labels = split(name, ".")
5959 let lastLabel = labels[(size(labels) - 1)]
60+ let isRegistered = match invoke(registry, "available", [lastLabel], nil) {
61+ case available: Boolean =>
62+ !(available)
63+ case _ =>
64+ false
65+ }
6066 let registrant = match invoke(registry, "owner", [lastLabel], nil) {
6167 case owner: String =>
6268 owner
8288 case _ =>
8389 unit
8490 }
85- if (!(isDefined(registrant)))
91+ if (!(isRegistered))
8692 then $Tuple2(nil, unit)
8793 else $Tuple2(nil, $Tuple5(registrant, resolver, nameCreated, nameExpires, nameStatus))
8894 })
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func getStringOrThrow (address,key) = valueOrErrorMessage(getString(address, key), ((("Can't read '" + key) + "' at address ") + toString(address)))
55
66
77 func parseAddressOrThrow (maybeAddress) = valueOrErrorMessage(addressFromString(maybeAddress), (("Can't parse address from '" + maybeAddress) + "'"))
88
99
1010 let key_registry = "registry"
1111
1212 let registry = parseAddressOrThrow(getStringOrThrow(this, key_registry))
1313
1414 func isAdmin (inv) = (inv.caller == this)
1515
1616
1717 func modifiers (validations) = unit
1818
1919
2020 func onlyAdmin (inv) = if (isAdmin(inv))
2121 then unit
2222 else throw("Permission denied")
2323
2424
2525 func _addr (label) = match invoke(registry, "owner", [label], nil) {
2626 case owner: String =>
2727 owner
2828 case _ =>
2929 unit
3030 }
3131
3232
3333 @Callable(inv)
3434 func init (registryAddress) = valueOrElse(modifiers([onlyAdmin(inv)]), [StringEntry(key_registry, registryAddress)])
3535
3636
3737
3838 @Callable(inv)
3939 func addr (label) = $Tuple2(nil, _addr(label))
4040
4141
4242
4343 @Callable(inv)
4444 func resolve (name) = {
4545 let labels = if ((size(name) == 0))
4646 then throw("Name cannot be empty")
4747 else split(name, ".")
4848 let lastLabel = labels[(size(labels) - 1)]
4949 $Tuple2(nil, _addr(lastLabel))
5050 }
5151
5252
5353
5454 @Callable(inv)
5555 func whoIs (name) = valueOrElse(modifiers([if ((size(name) > 0))
5656 then unit
5757 else throw("Name cannot be empty")]), {
5858 let labels = split(name, ".")
5959 let lastLabel = labels[(size(labels) - 1)]
60+ let isRegistered = match invoke(registry, "available", [lastLabel], nil) {
61+ case available: Boolean =>
62+ !(available)
63+ case _ =>
64+ false
65+ }
6066 let registrant = match invoke(registry, "owner", [lastLabel], nil) {
6167 case owner: String =>
6268 owner
6369 case _ =>
6470 unit
6571 }
6672 let resolver = unit
6773 let nameCreated = match invoke(registry, "nameCreated", [lastLabel], nil) {
6874 case createdAt: Int =>
6975 createdAt
7076 case _ =>
7177 unit
7278 }
7379 let nameExpires = match invoke(registry, "nameExpires", [lastLabel], nil) {
7480 case expiresAt: Int =>
7581 expiresAt
7682 case _ =>
7783 unit
7884 }
7985 let nameStatus = match invoke(registry, "nameStatus", [lastLabel], nil) {
8086 case status: String =>
8187 status
8288 case _ =>
8389 unit
8490 }
85- if (!(isDefined(registrant)))
91+ if (!(isRegistered))
8692 then $Tuple2(nil, unit)
8793 else $Tuple2(nil, $Tuple5(registrant, resolver, nameCreated, nameExpires, nameStatus))
8894 })
8995
9096

github/deemru/w8io/3ef1775 
47.11 ms