tx · 9KvWEzhLVMZZ5EzZdcz6cpoG6P1KyXzJh34posmuipBP 3MvCgypmBZFTRqL5HuRwCgS7maC7Fkv7pZY: -0.00600000 Waves 2022.11.25 20:46 [2332937] smart account 3MvCgypmBZFTRqL5HuRwCgS7maC7Fkv7pZY > SELF 0.00000000 Waves
{ "type": 13, "id": "9KvWEzhLVMZZ5EzZdcz6cpoG6P1KyXzJh34posmuipBP", "fee": 600000, "feeAssetId": null, "timestamp": 1669398410680, "version": 2, "chainId": 84, "sender": "3MvCgypmBZFTRqL5HuRwCgS7maC7Fkv7pZY", "senderPublicKey": "BqGSAiYghM27RZ2Axx3bmTudq9koHT4575AeK31Wx2Pp", "proofs": [ "YEWqmefyenPcH5EVwTyjGBXdANGT3nfGCoy9gTyf66HK6EXb3hVHSVCCStiXwedcdjNhZkRBfeM9mY4wqgZNoT8" ], "script": "base64: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", "height": 2332937, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HJs69bGWLZoxDjkYVFWb8CtmkRXR3TQnB3348YFQSrXm Next: ox7grfPtk7mdCdZBiBAqyHvc7A7SU57Y9kwMpnx1yUn Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | func a (b,c) = | |
4 | + | func a (b,c,d) = ((((b + "_") + c) + "_") + d) | |
5 | 5 | ||
6 | 6 | ||
7 | - | func | |
7 | + | func e (f) = a("Name", f, "owner") | |
8 | 8 | ||
9 | 9 | ||
10 | - | func | |
10 | + | func g (f) = a("Name", f, "resolver") | |
11 | 11 | ||
12 | 12 | ||
13 | - | func | |
13 | + | func h (f) = a("Name", f, "createdAt") | |
14 | 14 | ||
15 | 15 | ||
16 | - | func | |
16 | + | func i (f) = getString(this, e(f)) | |
17 | 17 | ||
18 | 18 | ||
19 | - | func | |
19 | + | func j (f,k) = [StringEntry(e(f), k)] | |
20 | 20 | ||
21 | 21 | ||
22 | - | func | |
22 | + | func l (f) = getString(this, g(f)) | |
23 | 23 | ||
24 | 24 | ||
25 | - | func | |
25 | + | func m (f,n) = [StringEntry(g(f), n)] | |
26 | 26 | ||
27 | 27 | ||
28 | - | func | |
28 | + | func o (f) = getInteger(this, h(f)) | |
29 | 29 | ||
30 | 30 | ||
31 | - | func | |
31 | + | func p (f,q) = [IntegerEntry(h(f), q)] | |
32 | 32 | ||
33 | 33 | ||
34 | - | func | |
34 | + | func r (s) = (s.caller == this) | |
35 | 35 | ||
36 | 36 | ||
37 | - | func | |
37 | + | func t (s,f) = (toString(s.caller) == valueOrElse(i(f), "")) | |
38 | 38 | ||
39 | 39 | ||
40 | - | func | |
40 | + | func u (v) = isDefined(addressFromString(v)) | |
41 | 41 | ||
42 | 42 | ||
43 | - | func | |
43 | + | func w (x) = unit | |
44 | 44 | ||
45 | 45 | ||
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)) | |
91 | 47 | then unit | |
92 | 48 | else throw("Permission denied") | |
93 | 49 | ||
94 | 50 | ||
95 | - | func | |
51 | + | func z (s,f) = if (if (r(s)) | |
96 | 52 | then true | |
97 | - | else | |
53 | + | else t(s, f)) | |
98 | 54 | then unit | |
99 | 55 | else throw("Permission denied") | |
100 | 56 | ||
101 | 57 | ||
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)) | |
104 | 155 | ||
105 | 156 | ||
106 | 157 | ||
107 | - | @Callable( | |
108 | - | func | |
158 | + | @Callable(s) | |
159 | + | func setResolver (f,n) = valueOrElse(w([z(s, f), if (u(n)) | |
109 | 160 | then unit | |
110 | - | else throw(" | |
161 | + | else throw("Resolver must be a valid address")]), m(f, n)) | |
111 | 162 | ||
112 | 163 | ||
113 | 164 | ||
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))) | |
116 | 171 | ||
117 | 172 | ||
118 | 173 | ||
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 contract address")]), s(l, t)) | |
174 | + | @Callable(s) | |
175 | + | func resolve (b,G,H) = $Tuple2(nil, F(b, G, H)) | |
123 | 176 | ||
124 | 177 | ||
125 | 178 | ||
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)]), ((p(l, q) ++ s(l, t)) ++ v(l, lastBlock.timestamp))) | |
133 | - | ||
134 | - | ||
135 | - | ||
136 | - | @Callable(y) | |
137 | - | func whoIs (h) = valueOrElse(O([if ((size(h) > 0)) | |
138 | - | then unit | |
139 | - | else throw("Name cannot be empty")]), { | |
140 | - | let S = B(h) | |
141 | - | let E = S._1 | |
142 | - | let F = S._2 | |
143 | - | let T = o(E) | |
144 | - | let U = { | |
145 | - | let J = T | |
146 | - | if ($isInstanceOf(J, "String")) | |
147 | - | then { | |
148 | - | let q = J | |
149 | - | addressFromString(q) | |
150 | - | } | |
151 | - | else unit | |
152 | - | } | |
153 | - | let H = value(U) | |
154 | - | let V = r(E) | |
155 | - | let W = u(E) | |
156 | - | let q = { | |
157 | - | let J = G(H, "getOwner", F) | |
158 | - | if ($isInstanceOf(J, "String")) | |
159 | - | then { | |
160 | - | let q = J | |
161 | - | if (A(q)) | |
162 | - | then q | |
163 | - | else unit | |
164 | - | } | |
165 | - | else unit | |
166 | - | } | |
167 | - | let t = { | |
168 | - | let J = G(H, "getResolver", F) | |
169 | - | if ($isInstanceOf(J, "String")) | |
170 | - | then { | |
171 | - | let t = J | |
172 | - | if (A(t)) | |
173 | - | then t | |
174 | - | else unit | |
175 | - | } | |
176 | - | else unit | |
177 | - | } | |
178 | - | let X = { | |
179 | - | let J = G(H, "getNameCreated", F) | |
180 | - | if ($isInstanceOf(J, "Int")) | |
181 | - | then { | |
182 | - | let X = J | |
183 | - | if (if ((X > 0)) | |
184 | - | then (lastBlock.timestamp > X) | |
185 | - | else false) | |
186 | - | then X | |
187 | - | else unit | |
188 | - | } | |
189 | - | else unit | |
190 | - | } | |
191 | - | let Y = { | |
192 | - | let J = G(H, "getNameExpires", F) | |
193 | - | if ($isInstanceOf(J, "Int")) | |
194 | - | then { | |
195 | - | let Y = J | |
196 | - | if ((Y > 0)) | |
197 | - | then Y | |
198 | - | else unit | |
199 | - | } | |
200 | - | else unit | |
201 | - | } | |
202 | - | let Z = if ((size(E) > 0)) | |
203 | - | then (size(F) == 0) | |
204 | - | else false | |
205 | - | if (if (Z) | |
206 | - | then true | |
207 | - | else !(isDefined(U))) | |
208 | - | then $Tuple2(nil, $Tuple4(T, V, W, unit)) | |
209 | - | else $Tuple2(nil, $Tuple4(q, t, X, Y)) | |
210 | - | }) | |
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))) | |
211 | 181 | ||
212 | 182 |
github/deemru/w8io/169f3d6 48.74 ms ◑![]()