tx · 7mgG1933Jrr1rXyZwuhoW6K2cMNjbPjZ11J29WGq2SZy

3MvP7BWqZinx23VpQeJBrhL4nED8MWdtcRh:  -0.00300000 Waves

2022.10.09 18:59 [2265001] smart account 3MvP7BWqZinx23VpQeJBrhL4nED8MWdtcRh > SELF 0.00000000 Waves

{ "type": 13, "id": "7mgG1933Jrr1rXyZwuhoW6K2cMNjbPjZ11J29WGq2SZy", "fee": 300000, "feeAssetId": null, "timestamp": 1665331154233, "version": 2, "chainId": 84, "sender": "3MvP7BWqZinx23VpQeJBrhL4nED8MWdtcRh", "senderPublicKey": "7BvYKnVkbABXoQwqVQAsEXRQN9bt7H7QxxhXqMhW44oa", "proofs": [ "22fR9hTWXxAsjfmBfcfBuVcjqeVdg5dAAqayg9wfru9n16dQkTWzr2fq9SL4K4EpL6XWUZvfkqGdNMkriZoYAF9j" ], "script": "base64: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", "height": 2265001, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GbvCfYYzeRVkDHQsPGFQe4ULhb1BousEa8nTRYWsbVgT Next: 83n7Zn2qYQLQ1kD9vgndBfkDYcis9qJphrUM7RMYBpVK Diff:
OldNewDifferences
6969 let restLabels = $t023432391._2
7070 if (!(isDefined(resolver)))
7171 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- })
72+ else $Tuple2(nil, invoke(value(resolver), "whoIs", [value(restLabels)], nil))
11573 })
11674
11775
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)
6464 func whoIs (name) = valueOrElse(modifiers([if ((size(name) > 0))
6565 then unit
6666 else throw("Name cannot be empty")]), {
6767 let $t023432391 = _findResolver(name)
6868 let resolver = $t023432391._1
6969 let restLabels = $t023432391._2
7070 if (!(isDefined(resolver)))
7171 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- })
72+ else $Tuple2(nil, invoke(value(resolver), "whoIs", [value(restLabels)], nil))
11573 })
11674
11775

github/deemru/w8io/169f3d6 
24.04 ms