tx · GbvCfYYzeRVkDHQsPGFQe4ULhb1BousEa8nTRYWsbVgT

3MvP7BWqZinx23VpQeJBrhL4nED8MWdtcRh:  -0.00400000 Waves

2022.10.09 18:46 [2264989] smart account 3MvP7BWqZinx23VpQeJBrhL4nED8MWdtcRh > SELF 0.00000000 Waves

{ "type": 13, "id": "GbvCfYYzeRVkDHQsPGFQe4ULhb1BousEa8nTRYWsbVgT", "fee": 400000, "feeAssetId": null, "timestamp": 1665330402539, "version": 2, "chainId": 84, "sender": "3MvP7BWqZinx23VpQeJBrhL4nED8MWdtcRh", "senderPublicKey": "7BvYKnVkbABXoQwqVQAsEXRQN9bt7H7QxxhXqMhW44oa", "proofs": [ "3z33fbCDtz3EMev7EcHPuwsYbpYMzHP2qQRaMXWYYxzAnXx67UpCuzoEAhRjFfCyGqiFZsFx1YW7GtJzC26s7bX1" ], "script": "base64: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", "height": 2264989, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3hYKRmYgJ3MHqq6vfbEqo4Mwp2BCWcS9XbPFQtaGiGXw Next: 7mgG1933Jrr1rXyZwuhoW6K2cMNjbPjZ11J29WGq2SZy Diff:
OldNewDifferences
6161
6262
6363 @Callable(inv)
64-func reverse (reverseName) = throw("Not implemented yet")
64+func whoIs (name) = valueOrElse(modifiers([if ((size(name) > 0))
65+ then unit
66+ else throw("Name cannot be empty")]), {
67+ let $t023432391 = _findResolver(name)
68+ let resolver = $t023432391._1
69+ let restLabels = $t023432391._2
70+ if (!(isDefined(resolver)))
71+ then $Tuple2(nil, unit)
72+ else $Tuple2(nil, match invoke(value(resolver), "whoIs", [value(restLabels)], nil) {
73+ case _ =>
74+ if (if (if ($isInstanceOf($match0._1, "String"))
75+ then if (if ($isInstanceOf($match0._2, "String"))
76+ then true
77+ else $isInstanceOf($match0._2, "Unit"))
78+ then if (if ($isInstanceOf($match0._3, "Int"))
79+ then true
80+ else $isInstanceOf($match0._3, "Unit"))
81+ then if (if ($isInstanceOf($match0._4, "Int"))
82+ then true
83+ else $isInstanceOf($match0._4, "Unit"))
84+ then $isInstanceOf($match0._5, "String")
85+ else false
86+ else false
87+ else false
88+ else false)
89+ then if (if (if (if (if (if (if ($isInstanceOf($match0, "(String, Unit, Unit, Unit, String)"))
90+ then true
91+ else $isInstanceOf($match0, "(String, Unit, Unit, Int, String)"))
92+ then true
93+ else $isInstanceOf($match0, "(String, Unit, Int, Unit, String)"))
94+ then true
95+ else $isInstanceOf($match0, "(String, Unit, Int, Int, String)"))
96+ then true
97+ else $isInstanceOf($match0, "(String, String, Unit, Unit, String)"))
98+ then true
99+ else $isInstanceOf($match0, "(String, String, Unit, Int, String)"))
100+ then true
101+ else $isInstanceOf($match0, "(String, String, Int, Unit, String)"))
102+ then true
103+ else $isInstanceOf($match0, "(String, String, Int, Int, String)")
104+ else false)
105+ then {
106+ let registrant = $match0._1
107+ let resolver_ = $match0._2
108+ let nameCreated = $match0._3
109+ let nameExpires = $match0._4
110+ let status = $match0._5
111+ $Tuple5(registrant, resolver_, nameCreated, nameExpires, status)
112+ }
113+ else unit
114+ })
115+ })
65116
66117
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 _findResolver (name) = {
2626 let labels = split(name, ".")
2727 let lastIndex = (size(labels) - 1)
2828 let lastLabel = labels[lastIndex]
2929 let restLabels = makeString(removeByIndex(labels, lastIndex), ".")
3030 match invoke(registry, "resolver", [lastLabel], nil) {
3131 case resolverAddress: String =>
3232 $Tuple2(addressFromString(resolverAddress), restLabels)
3333 case _ =>
3434 $Tuple2(unit, name)
3535 }
3636 }
3737
3838
3939 @Callable(inv)
4040 func init (registryAddress) = valueOrElse(modifiers([onlyAdmin(inv)]), [StringEntry(key_registry, registryAddress)])
4141
4242
4343
4444 @Callable(inv)
4545 func resolve (name) = valueOrElse(modifiers([if ((size(name) > 0))
4646 then unit
4747 else throw("Name cannot be empty")]), {
4848 let $t018001848 = _findResolver(name)
4949 let resolver = $t018001848._1
5050 let restLabels = $t018001848._2
5151 if (!(isDefined(resolver)))
5252 then $Tuple2(nil, unit)
5353 else $Tuple2(nil, match invoke(value(resolver), "resolve", [value(restLabels)], nil) {
5454 case callbackData: String =>
5555 callbackData
5656 case _ =>
5757 unit
5858 })
5959 })
6060
6161
6262
6363 @Callable(inv)
64-func reverse (reverseName) = throw("Not implemented yet")
64+func whoIs (name) = valueOrElse(modifiers([if ((size(name) > 0))
65+ then unit
66+ else throw("Name cannot be empty")]), {
67+ let $t023432391 = _findResolver(name)
68+ let resolver = $t023432391._1
69+ let restLabels = $t023432391._2
70+ if (!(isDefined(resolver)))
71+ then $Tuple2(nil, unit)
72+ else $Tuple2(nil, match invoke(value(resolver), "whoIs", [value(restLabels)], nil) {
73+ case _ =>
74+ if (if (if ($isInstanceOf($match0._1, "String"))
75+ then if (if ($isInstanceOf($match0._2, "String"))
76+ then true
77+ else $isInstanceOf($match0._2, "Unit"))
78+ then if (if ($isInstanceOf($match0._3, "Int"))
79+ then true
80+ else $isInstanceOf($match0._3, "Unit"))
81+ then if (if ($isInstanceOf($match0._4, "Int"))
82+ then true
83+ else $isInstanceOf($match0._4, "Unit"))
84+ then $isInstanceOf($match0._5, "String")
85+ else false
86+ else false
87+ else false
88+ else false)
89+ then if (if (if (if (if (if (if ($isInstanceOf($match0, "(String, Unit, Unit, Unit, String)"))
90+ then true
91+ else $isInstanceOf($match0, "(String, Unit, Unit, Int, String)"))
92+ then true
93+ else $isInstanceOf($match0, "(String, Unit, Int, Unit, String)"))
94+ then true
95+ else $isInstanceOf($match0, "(String, Unit, Int, Int, String)"))
96+ then true
97+ else $isInstanceOf($match0, "(String, String, Unit, Unit, String)"))
98+ then true
99+ else $isInstanceOf($match0, "(String, String, Unit, Int, String)"))
100+ then true
101+ else $isInstanceOf($match0, "(String, String, Int, Unit, String)"))
102+ then true
103+ else $isInstanceOf($match0, "(String, String, Int, Int, String)")
104+ else false)
105+ then {
106+ let registrant = $match0._1
107+ let resolver_ = $match0._2
108+ let nameCreated = $match0._3
109+ let nameExpires = $match0._4
110+ let status = $match0._5
111+ $Tuple5(registrant, resolver_, nameCreated, nameExpires, status)
112+ }
113+ else unit
114+ })
115+ })
65116
66117

github/deemru/w8io/169f3d6 
22.80 ms