tx · EKSF1CPRMXgvASwhygcKrR3guqfAtmEULJL9M6Wh8cYN

3MumW7BtRwX8w1dn9tWwB7TpHAUkqoSEXve:  -0.01000000 Waves

2022.10.17 10:47 [2276086] smart account 3MumW7BtRwX8w1dn9tWwB7TpHAUkqoSEXve > SELF 0.00000000 Waves

{ "type": 13, "id": "EKSF1CPRMXgvASwhygcKrR3guqfAtmEULJL9M6Wh8cYN", "fee": 1000000, "feeAssetId": null, "timestamp": 1665992904046, "version": 2, "chainId": 84, "sender": "3MumW7BtRwX8w1dn9tWwB7TpHAUkqoSEXve", "senderPublicKey": "3H3TbYHdAJUPh9yFbybSbc1SGAgghXJ3kVJxDE8duuPJ", "proofs": [ "3LrvnwKeMVL6nGE4SAmG4Kyh6U79ijzWPVBeWYYstYZ4WU5RiN5Km5D1wqqCumMTuBaCBpLeWvSzpakr1d6m1RKy" ], "script": "base64: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", "height": 2276086, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9WES6x6Cjiv7ud3ZbYEiHUdYX77SRs5YdJLy1UvCcSkY Next: FAHbfQ8K2HaAEMKjn9RJMJCdZEJyW6S1sGo8GMYQbbuV Diff:
OldNewDifferences
4545
4646
4747 @Callable(inv)
48-func addr (label) = $Tuple2(nil, _addr(label))
48+func supportsInterface (interfaceId) = $Tuple2(nil, (interfaceId == "addr"))
4949
5050
5151
5252 @Callable(inv)
53-func resolve (name) = valueOrElse(modifiers([if ((size(name) > 0))
54- then unit
55- else throw("Name cannot be empty")]), {
56- let lastLabel = _splitLastLabel(name)._1
57- $Tuple2(nil, _addr(lastLabel))
58- })
59-
60-
61-
62-@Callable(inv)
63-func whoIs (name) = valueOrElse(modifiers([if ((size(name) > 0))
64- then unit
65- else throw("Name cannot be empty")]), {
66- let lastLabel = _splitLastLabel(name)._1
67- let registrant = match invoke(registry, "owner", [lastLabel], nil) {
68- case owner: String =>
69- owner
70- case _ =>
71- unit
72- }
73- let resolver = unit
74- let nameCreated = match invoke(registry, "nameCreated", [lastLabel], nil) {
75- case createdAt: Int =>
76- createdAt
77- case _ =>
78- unit
79- }
80- let nameExpires = match invoke(registry, "nameExpires", [lastLabel], nil) {
81- case expiresAt: Int =>
82- expiresAt
83- case _ =>
84- unit
85- }
86- let nameStatus = match invoke(registry, "nameStatus", [lastLabel], nil) {
87- case status: String =>
88- status
89- case _ =>
90- unit
91- }
92- $Tuple2(nil, $Tuple5(registrant, resolver, nameCreated, nameExpires, nameStatus))
93- })
53+func addr (label) = $Tuple2(nil, _addr(label))
9454
9555
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 func _splitLastLabel (name) = {
3434 let labels = split(name, ".")
3535 let lastIndex = (size(labels) - 1)
3636 let lastLabel = labels[lastIndex]
3737 let restLabels = makeString(removeByIndex(labels, lastIndex), ".")
3838 $Tuple2(lastLabel, restLabels)
3939 }
4040
4141
4242 @Callable(inv)
4343 func init (registryAddress) = valueOrElse(modifiers([onlyAdmin(inv)]), [StringEntry(key_registry, registryAddress)])
4444
4545
4646
4747 @Callable(inv)
48-func addr (label) = $Tuple2(nil, _addr(label))
48+func supportsInterface (interfaceId) = $Tuple2(nil, (interfaceId == "addr"))
4949
5050
5151
5252 @Callable(inv)
53-func resolve (name) = valueOrElse(modifiers([if ((size(name) > 0))
54- then unit
55- else throw("Name cannot be empty")]), {
56- let lastLabel = _splitLastLabel(name)._1
57- $Tuple2(nil, _addr(lastLabel))
58- })
59-
60-
61-
62-@Callable(inv)
63-func whoIs (name) = valueOrElse(modifiers([if ((size(name) > 0))
64- then unit
65- else throw("Name cannot be empty")]), {
66- let lastLabel = _splitLastLabel(name)._1
67- let registrant = match invoke(registry, "owner", [lastLabel], nil) {
68- case owner: String =>
69- owner
70- case _ =>
71- unit
72- }
73- let resolver = unit
74- let nameCreated = match invoke(registry, "nameCreated", [lastLabel], nil) {
75- case createdAt: Int =>
76- createdAt
77- case _ =>
78- unit
79- }
80- let nameExpires = match invoke(registry, "nameExpires", [lastLabel], nil) {
81- case expiresAt: Int =>
82- expiresAt
83- case _ =>
84- unit
85- }
86- let nameStatus = match invoke(registry, "nameStatus", [lastLabel], nil) {
87- case status: String =>
88- status
89- case _ =>
90- unit
91- }
92- $Tuple2(nil, $Tuple5(registrant, resolver, nameCreated, nameExpires, nameStatus))
93- })
53+func addr (label) = $Tuple2(nil, _addr(label))
9454
9555

github/deemru/w8io/873ac7e 
32.38 ms