tx · ox7grfPtk7mdCdZBiBAqyHvc7A7SU57Y9kwMpnx1yUn

3MvCgypmBZFTRqL5HuRwCgS7maC7Fkv7pZY:  -0.00600000 Waves

2022.11.25 20:56 [2332946] smart account 3MvCgypmBZFTRqL5HuRwCgS7maC7Fkv7pZY > SELF 0.00000000 Waves

{ "type": 13, "id": "ox7grfPtk7mdCdZBiBAqyHvc7A7SU57Y9kwMpnx1yUn", "fee": 600000, "feeAssetId": null, "timestamp": 1669399031263, "version": 2, "chainId": 84, "sender": "3MvCgypmBZFTRqL5HuRwCgS7maC7Fkv7pZY", "senderPublicKey": "BqGSAiYghM27RZ2Axx3bmTudq9koHT4575AeK31Wx2Pp", "proofs": [ "3xb85oXbogmz51PEeVzkQYYLJGEsvSyQ4z61BBDHyRDfmpandtBDKe53PkM635DpLQe35xN6QS8ndsrCGgdrYgJ9" ], "script": "base64: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", "height": 2332946, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9KvWEzhLVMZZ5EzZdcz6cpoG6P1KyXzJh34posmuipBP Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c,d) = ((((b + "_") + c) + "_") + d)
55
66
77 func e (f) = a("Name", f, "owner")
88
99
1010 func g (f) = a("Name", f, "resolver")
1111
1212
1313 func h (f) = a("Name", f, "createdAt")
1414
1515
1616 func i (f) = getString(this, e(f))
1717
1818
1919 func j (f,k) = [StringEntry(e(f), k)]
2020
2121
2222 func l (f) = getString(this, g(f))
2323
2424
2525 func m (f,n) = [StringEntry(g(f), n)]
2626
2727
2828 func o (f) = getInteger(this, h(f))
2929
3030
3131 func p (f,q) = [IntegerEntry(h(f), q)]
3232
3333
3434 func r (s) = (s.caller == this)
3535
3636
3737 func t (s,f) = (toString(s.caller) == valueOrElse(i(f), ""))
3838
3939
4040 func u (v) = isDefined(addressFromString(v))
4141
4242
4343 func w (x) = unit
4444
4545
4646 func y (s) = if (r(s))
4747 then unit
4848 else throw("Permission denied")
4949
5050
5151 func z (s,f) = if (if (r(s))
5252 then true
5353 else t(s, f))
5454 then unit
5555 else throw("Permission denied")
5656
5757
5858 func A (b) = {
5959 let B = split(b, ".")
6060 let C = (size(B) - 1)
6161 let D = B[C]
6262 let E = makeString(removeByIndex(B, C), ".")
6363 $Tuple2(D, E)
6464 }
6565
6666
6767 func F (b,G,H) = {
6868 let I = A(b)
6969 let J = I._1
7070 let E = I._2
7171 let K = addressFromString(valueOrElse(l(J), ""))
7272 let n = value(K)
7373 let L = invoke(n, "resolve", [E, G, H], nil)
7474 if ((size(J) == 0))
7575 then unit
7676 else if ((size(E) == 0))
7777 then {
7878 let M = G
7979 if (("owner" == M))
8080 then i(J)
8181 else if (("resolver" == M))
8282 then l(J)
8383 else if (("createdAt" == M))
8484 then o(J)
8585 else unit
8686 }
8787 else if (!(isDefined(K)))
8888 then unit
8989 else {
9090 let M = $Tuple2(G, L)
9191 if (if (if (("owner" == M._1))
9292 then $isInstanceOf(M._2, "String")
9393 else false)
9494 then $isInstanceOf(M, "(String, String)")
9595 else false)
9696 then {
9797 let N = M._2
9898 if (u(N))
9999 then N
100100 else unit
101101 }
102102 else if (if (if (("resolver" == M._1))
103103 then $isInstanceOf(M._2, "String")
104104 else false)
105105 then $isInstanceOf(M, "(String, String)")
106106 else false)
107107 then {
108108 let O = M._2
109109 if (u(O))
110110 then O
111111 else unit
112112 }
113113 else if (if (if (("createdAt" == M._1))
114114 then $isInstanceOf(M._2, "Int")
115115 else false)
116116 then $isInstanceOf(M, "(String, Int)")
117117 else false)
118118 then {
119119 let P = M._2
120120 if (if ((P > 0))
121121 then (lastBlock.timestamp >= P)
122122 else false)
123123 then P
124124 else unit
125125 }
126126 else if (if (if (("expiresAt" == M._1))
127127 then $isInstanceOf(M._2, "Int")
128128 else false)
129129 then $isInstanceOf(M, "(String, Int)")
130130 else false)
131131 then {
132132 let Q = M._2
133133 if ((Q > 0))
134134 then Q
135135 else unit
136136 }
137137 else if (if (if (("tokenId" == M._1))
138138 then $isInstanceOf(M._2, "String")
139139 else false)
140140 then $isInstanceOf(M, "(String, String)")
141141 else false)
142142 then {
143143 let R = M._2
144144 R
145145 }
146146 else unit
147147 }
148148 }
149149
150150
151151 @Callable(s)
152152 func setOwner (f,k) = valueOrElse(w([z(s, f), if (u(k))
153153 then unit
154154 else throw("Owner must be a valid address")]), j(f, k))
155155
156156
157157
158158 @Callable(s)
159159 func setResolver (f,n) = valueOrElse(w([z(s, f), if (u(n))
160160 then unit
161161 else throw("Resolver must be a valid address")]), m(f, n))
162162
163163
164164
165165 @Callable(s)
166166 func setRecord (f,k,n) = valueOrElse(w([y(s), if (u(k))
167167 then unit
168168 else throw("Owner must be a valid address"), if (u(n))
169169 then unit
170170 else throw("Resolver must be a valid contract address")]), ((j(f, k) ++ m(f, n)) ++ p(f, lastBlock.timestamp)))
171171
172172
173173
174174 @Callable(s)
175175 func resolve (b,G,H) = $Tuple2(nil, F(b, G, H))
176176
177177
178178
179179 @Callable(s)
180180 func whoIs (b) = $Tuple2(nil, $Tuple5(F(b, "owner", nil), F(b, "resolver", nil), F(b, "createdAt", nil), F(b, "expiresAt", nil), F(b, "tokenId", nil)))
181181
182182

github/deemru/w8io/169f3d6 
26.42 ms