tx · 8qKNsXv23YySz8ZmQwUjZwCc1fRHedbs5AHDs1DpJWwR

3P24S1EVZadwzmfKSNWUZyLjjqp5DcHY4hE:  -0.00600000 Waves

2022.11.25 22:21 [3398497] smart account 3P24S1EVZadwzmfKSNWUZyLjjqp5DcHY4hE > SELF 0.00000000 Waves

{ "type": 13, "id": "8qKNsXv23YySz8ZmQwUjZwCc1fRHedbs5AHDs1DpJWwR", "fee": 600000, "feeAssetId": null, "timestamp": 1669404137030, "version": 2, "chainId": 87, "sender": "3P24S1EVZadwzmfKSNWUZyLjjqp5DcHY4hE", "senderPublicKey": "AQwX2ceR4UZa1x7FCpCMBWUnvw71p91YptLtXdV9F1vG", "proofs": [ "2PfSn9kK5rmpSPgAhMkY4Vzztd65MfDzGLn5CavcLVinZwqpCagnmJfFXMvB2vXyKyMBeWQi9jsN3a4peVZ8cJ4N" ], "script": "base64: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", "height": 3398497, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: q77QhRx6WRDfRxjNqWdmVFMMiZ1rYrzYq2SMbuB9ZLc Next: 4KMS4UxZWsMgbbjfm4f2ESPfKPARXA9Rk9xn6xLpgVkR Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a (b,c) = valueOrErrorMessage(getString(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
4+func a (b,c,d) = ((((b + "_") + c) + "_") + d)
55
66
7-func d (b,c) = valueOrErrorMessage(getInteger(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
7+func e (f) = a("Name", f, "owner")
88
99
10-func e (f) = valueOrErrorMessage(addressFromString(f), (("Can't parse address from '" + f) + "'"))
10+func g (f) = a("Name", f, "resolver")
1111
1212
13-func g (h,i,j) = ((((h + "_") + i) + "_") + j)
13+func h (f) = a("Name", f, "createdAt")
1414
1515
16-func k (l) = g("Name", l, "owner")
16+func i (f) = getString(this, e(f))
1717
1818
19-func m (l) = g("Name", l, "resolver")
19+func j (f,k) = [StringEntry(e(f), k)]
2020
2121
22-func n (l) = g("Name", l, "createdAt")
22+func l (f) = getString(this, g(f))
2323
2424
25-func o (l) = getString(this, k(l))
25+func m (f,n) = [StringEntry(g(f), n)]
2626
2727
28-func p (l,q) = [StringEntry(k(l), q)]
28+func o (f) = getInteger(this, h(f))
2929
3030
31-func r (l) = getString(this, m(l))
31+func p (f,q) = [IntegerEntry(h(f), q)]
3232
3333
34-func s (l,t) = [StringEntry(m(l), t)]
34+func r (s) = (s.caller == this)
3535
3636
37-func u (l) = getInteger(this, n(l))
37+func t (s,f) = (toString(s.caller) == valueOrElse(i(f), ""))
3838
3939
40-func v (l,w) = [IntegerEntry(n(l), w)]
40+func u (v) = isDefined(addressFromString(v))
4141
4242
43-func x (y) = (y.caller == this)
43+func w (x) = unit
4444
4545
46-func z (y,l) = (toString(y.caller) == valueOrElse(o(l), ""))
47-
48-
49-func A (f) = isDefined(addressFromString(f))
50-
51-
52-func B (h) = {
53- let C = split(h, ".")
54- let D = (size(C) - 1)
55- let E = C[D]
56- let F = makeString(removeByIndex(C, D), ".")
57- $Tuple2(E, F)
58- }
59-
60-
61-func G (H,I,F) = {
62- let J = invoke(H, "supportsInterface", [I], nil)
63- if ($isInstanceOf(J, "Boolean"))
64- then {
65- let K = J
66- if (!(K))
67- then unit
68- else {
69- let L = invoke(value(H), I, [F], nil)
70- if ($isInstanceOf(L, "String"))
71- then {
72- let M = L
73- M
74- }
75- else if ($isInstanceOf(L, "Int"))
76- then {
77- let N = L
78- N
79- }
80- else unit
81- }
82- }
83- else unit
84- }
85-
86-
87-func O (P) = unit
88-
89-
90-func Q (y) = if (x(y))
46+func y (s) = if (r(s))
9147 then unit
9248 else throw("Permission denied")
9349
9450
95-func R (y,l) = if (if (x(y))
51+func z (s,f) = if (if (r(s))
9652 then true
97- else z(y, l))
53+ else t(s, f))
9854 then unit
9955 else throw("Permission denied")
10056
10157
102-@Callable(y)
103-func getOwner (l) = $Tuple2(nil, o(l))
58+func A (b) = {
59+ let B = split(b, ".")
60+ let C = (size(B) - 1)
61+ let D = B[C]
62+ let E = makeString(removeByIndex(B, C), ".")
63+ $Tuple2(D, E)
64+ }
65+
66+
67+func F (b,G,H) = {
68+ let I = A(b)
69+ let J = I._1
70+ let E = I._2
71+ let K = addressFromString(valueOrElse(l(J), ""))
72+ let n = value(K)
73+ let L = invoke(n, "resolve", [E, G, H], nil)
74+ if ((size(J) == 0))
75+ then unit
76+ else if ((size(E) == 0))
77+ then {
78+ let M = G
79+ if (("owner" == M))
80+ then i(J)
81+ else if (("resolver" == M))
82+ then l(J)
83+ else if (("createdAt" == M))
84+ then o(J)
85+ else unit
86+ }
87+ else if (!(isDefined(K)))
88+ then unit
89+ else {
90+ let M = $Tuple2(G, L)
91+ if (if (if (("owner" == M._1))
92+ then $isInstanceOf(M._2, "String")
93+ else false)
94+ then $isInstanceOf(M, "(String, String)")
95+ else false)
96+ then {
97+ let N = M._2
98+ if (u(N))
99+ then N
100+ else unit
101+ }
102+ else if (if (if (("resolver" == M._1))
103+ then $isInstanceOf(M._2, "String")
104+ else false)
105+ then $isInstanceOf(M, "(String, String)")
106+ else false)
107+ then {
108+ let O = M._2
109+ if (u(O))
110+ then O
111+ else unit
112+ }
113+ else if (if (if (("createdAt" == M._1))
114+ then $isInstanceOf(M._2, "Int")
115+ else false)
116+ then $isInstanceOf(M, "(String, Int)")
117+ else false)
118+ then {
119+ let P = M._2
120+ if (if ((P > 0))
121+ then (lastBlock.timestamp >= P)
122+ else false)
123+ then P
124+ else unit
125+ }
126+ else if (if (if (("expiresAt" == M._1))
127+ then $isInstanceOf(M._2, "Int")
128+ else false)
129+ then $isInstanceOf(M, "(String, Int)")
130+ else false)
131+ then {
132+ let Q = M._2
133+ if ((Q > 0))
134+ then Q
135+ else unit
136+ }
137+ else if (if (if (("tokenId" == M._1))
138+ then $isInstanceOf(M._2, "String")
139+ else false)
140+ then $isInstanceOf(M, "(String, String)")
141+ else false)
142+ then {
143+ let R = M._2
144+ R
145+ }
146+ else unit
147+ }
148+ }
149+
150+
151+@Callable(s)
152+func setOwner (f,k) = valueOrElse(w([z(s, f), if (u(k))
153+ then unit
154+ else throw("Owner must be a valid address")]), j(f, k))
104155
105156
106157
107-@Callable(y)
108-func setOwner (l,q) = valueOrElse(O([R(y, l), if (A(q))
158+@Callable(s)
159+func setResolver (f,n) = valueOrElse(w([z(s, f), if (u(n))
109160 then unit
110- else throw("Owner must be a valid address")]), p(l, q))
161+ else throw("Resolver must be a valid address")]), m(f, n))
111162
112163
113164
114-@Callable(y)
115-func getResolver (l) = $Tuple2(nil, r(l))
165+@Callable(s)
166+func setRecord (f,k,n) = valueOrElse(w([y(s), if (u(k))
167+ then unit
168+ else throw("Owner must be a valid address"), if (u(n))
169+ then unit
170+ else throw("Resolver must be a valid contract address")]), ((j(f, k) ++ m(f, n)) ++ p(f, lastBlock.timestamp)))
116171
117172
118173
119-@Callable(y)
120-func setResolver (l,t) = valueOrElse(O([R(y, l), if (A(t))
121- then unit
122- else throw("Resolver must be a valid address")]), s(l, t))
174+@Callable(s)
175+func resolve (b,G,H) = $Tuple2(nil, F(b, G, H))
123176
124177
125178
126-@Callable(y)
127-func getNameCreated (l) = $Tuple2(nil, u(l))
128-
129-
130-
131-@Callable(y)
132-func setRecord (l,q,t) = valueOrElse(O([Q(y), if (A(q))
133- then unit
134- else throw("Owner must be a valid address"), if (A(t))
135- then unit
136- else throw("Resolver must be a valid contract address")]), ((p(l, q) ++ s(l, t)) ++ v(l, lastBlock.timestamp)))
137-
138-
139-
140-@Callable(y)
141-func whoIs (h) = valueOrElse(O([if ((size(h) > 0))
142- then unit
143- else throw("Name cannot be empty")]), {
144- let S = B(h)
145- let E = S._1
146- let F = S._2
147- let T = o(E)
148- let U = {
149- let J = T
150- if ($isInstanceOf(J, "String"))
151- then {
152- let q = J
153- addressFromString(q)
154- }
155- else unit
156- }
157- let H = value(U)
158- let V = r(E)
159- let W = u(E)
160- let q = {
161- let J = G(H, "getOwner", F)
162- if ($isInstanceOf(J, "String"))
163- then {
164- let q = J
165- if (A(q))
166- then q
167- else unit
168- }
169- else unit
170- }
171- let t = {
172- let J = G(H, "getResolver", F)
173- if ($isInstanceOf(J, "String"))
174- then {
175- let t = J
176- if (A(t))
177- then t
178- else unit
179- }
180- else unit
181- }
182- let X = {
183- let J = G(H, "getNameCreated", F)
184- if ($isInstanceOf(J, "Int"))
185- then {
186- let X = J
187- if (if ((X > 0))
188- then (lastBlock.timestamp >= X)
189- else false)
190- then X
191- else unit
192- }
193- else unit
194- }
195- let Y = {
196- let J = G(H, "getNameExpires", F)
197- if ($isInstanceOf(J, "Int"))
198- then {
199- let Y = J
200- if ((Y > 0))
201- then Y
202- else unit
203- }
204- else unit
205- }
206- let Z = {
207- let J = G(H, "getNameToken", F)
208- if ($isInstanceOf(J, "String"))
209- then {
210- let Z = J
211- Z
212- }
213- else unit
214- }
215- let aa = if ((size(E) > 0))
216- then (size(F) == 0)
217- else false
218- if (if (aa)
219- then true
220- else !(isDefined(U)))
221- then $Tuple2(nil, $Tuple5(T, V, W, unit, unit))
222- else $Tuple2(nil, $Tuple5(q, t, X, Y, Z))
223- })
179+@Callable(s)
180+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)))
224181
225182

github/deemru/w8io/3ef1775 
46.78 ms