tx · EXfTi5r75GGdKsxDoXXyTBvhJvgWHsQB54Wk14ZGTzFF

3P3T8XAcktnJ2QcBcZ2jcoDEtc2hiu1PSpJ:  -0.00300000 Waves

2022.11.03 21:51 [3366688] smart account 3P3T8XAcktnJ2QcBcZ2jcoDEtc2hiu1PSpJ > SELF 0.00000000 Waves

{ "type": 13, "id": "EXfTi5r75GGdKsxDoXXyTBvhJvgWHsQB54Wk14ZGTzFF", "fee": 300000, "feeAssetId": null, "timestamp": 1667501514640, "version": 2, "chainId": 87, "sender": "3P3T8XAcktnJ2QcBcZ2jcoDEtc2hiu1PSpJ", "senderPublicKey": "8z5ereJ3H3hKNXaxUUv4tT66fBqd8PfCnCiGw7uMCUt9", "proofs": [ "4p3kHjkghJkGisyPGK3QF3uhP2s5J1CMznaciuDNBoKxNm9HDYiM1UXgXXwuz9BuuizZjVQmVXw8DJG9KtidUGCV" ], "script": "base64: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", "height": 3366688, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AXB2VBRp8E9LgLKgySah2FVnCFyA59hQmF4d4NZLgzNM Next: 6Y4ehxV1tLxvrxSV2oAa8Yd9463jbDUxs4EyxQb2r6wx Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let key_registry = "registry"
55
66 let registry = valueOrErrorMessage(addressFromString(value(getString(this, key_registry))), "Registry is not valid address")
77
88 let isInitialized = isDefined(getString(this, key_registry))
99
1010 func isAdmin (inv) = (inv.caller == this)
1111
1212
1313 func isValidAddress (maybeAddress) = isDefined(addressFromString(maybeAddress))
1414
1515
1616 func modifiers (validations) = unit
1717
1818
1919 func onlyAdmin (inv) = if (isAdmin(inv))
2020 then unit
2121 else throw("Permission denied")
2222
2323
2424 func onlyInitialized () = if (isInitialized)
2525 then unit
2626 else throw("Contract is not initialized")
2727
2828
2929 func _splitLastLabel (name) = {
3030 let labels = split(name, ".")
3131 let lastIndex = (size(labels) - 1)
3232 let lastLabel = labels[lastIndex]
3333 let restLabels = makeString(removeByIndex(labels, lastIndex), ".")
3434 $Tuple2(lastLabel, restLabels)
3535 }
3636
3737
3838 func _findResolver (name) = {
3939 let $t012621313 = _splitLastLabel(name)
4040 let lastLabel = $t012621313._1
4141 let restLabels = $t012621313._2
4242 let throwIf = !(isDefined(registry))
4343 if ((throwIf == throwIf))
4444 then if ((size(restLabels) == 0))
4545 then $Tuple2(unit, name)
4646 else match invoke(registry, "getResolver", [lastLabel], nil) {
4747 case resolverAddress: String =>
4848 $Tuple2(addressFromString(resolverAddress), restLabels)
4949 case _ =>
5050 $Tuple2(unit, name)
5151 }
5252 else throw("Strict value is not equal to itself.")
5353 }
5454
5555
5656 @Callable(inv)
5757 func init (registryAddress) = valueOrElse(modifiers([onlyAdmin(inv), if (isValidAddress(registryAddress))
5858 then unit
5959 else throw("Registry must be a valid address"), if (!(isInitialized))
6060 then unit
6161 else throw("Contract has already been initialized")]), [StringEntry(key_registry, registryAddress)])
6262
6363
6464
6565 @Callable(inv)
6666 func resolve (name,callData) = valueOrElse(modifiers([onlyInitialized()]), {
6767 let $t021362184 = _findResolver(name)
6868 let resolver = $t021362184._1
6969 let restLabels = $t021362184._2
7070 let $t021902334 = match callData {
7171 case _ =>
7272 if (("getAddr" == $match0))
7373 then $Tuple2("getAddr", [value(restLabels)])
7474 else $Tuple2(unit, unit)
7575 }
7676 let callFunction = $t021902334._1
7777 let callArgs = $t021902334._2
7878 let supportsInterface = if (!(isDefined(resolver)))
7979 then false
8080 else match invoke(value(resolver), "supportsInterface", [callData], nil) {
8181 case supportsInterface: Boolean =>
8282 supportsInterface
8383 case _ =>
8484 false
8585 }
8686 $Tuple2(nil, if (!(supportsInterface))
8787 then unit
8888 else match invoke(value(resolver), value(callFunction), value(callArgs), nil) {
8989 case callbackData: String =>
9090 callbackData
9191 case _ =>
9292 unit
9393 })
9494 })
9595
9696

github/deemru/w8io/3ef1775 
27.29 ms