tx · C5Qo9ytmHD4zST9uqv1mDqT2ajKWikfJzx1zCRebhgtE

3P6utP25F4wMUGG4hGdDtMXMKu2tTeNkgRs:  -0.01100000 Waves

2022.11.28 18:19 [3402601] smart account 3P6utP25F4wMUGG4hGdDtMXMKu2tTeNkgRs > SELF 0.00000000 Waves

{ "type": 13, "id": "C5Qo9ytmHD4zST9uqv1mDqT2ajKWikfJzx1zCRebhgtE", "fee": 1100000, "feeAssetId": null, "timestamp": 1669648775166, "version": 2, "chainId": 87, "sender": "3P6utP25F4wMUGG4hGdDtMXMKu2tTeNkgRs", "senderPublicKey": "5R7ipQaSHaeb5bMuKRQoEESQjt8BLvxfJyayNgrzpn5M", "proofs": [ "54MYxAe5KK8MWERCASMpuaYb2txomco1317M51LAmaySVrfEDn4jizDBVgNza52y7dAw2m8vK3BVck1Qk6xcLA9" ], "script": "base64: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AAAUTGlzdCBzaXplIGV4Y2VlZHMgNjMJAQAAAAUkZjBfMgAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUk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c3RCbG9jawAAAAl0aW1lc3RhbXAFAAAACWNyZWF0ZWRBdAUAAAAEdW5pdAkAAAIAAAABAgAAACFDcmVhdGVkQXQgY2Fubm90IGJlIGluIHRoZSBmdXR1cmUFAAAAA25pbAQAAAAOaXNzdWVOYW1lVG9rZW4JAQAAAA9faXNzdWVOYW1lVG9rZW4AAAABBQAAAARuYW1lBAAAAAd0b2tlbklkCQAEOAAAAAEJAAGRAAAAAgUAAAAOaXNzdWVOYW1lVG9rZW4AAAAAAAAAAAAEAAAACHRva2VuU3RyCQACWAAAAAEFAAAAB3Rva2VuSWQEAAAAFXJlZ2lzdGVyTmFtZVdpdGhUb2tlbgkBAAAAFl9yZWdpc3Rlck5hbWVXaXRoVG9rZW4AAAADBQAAAARuYW1lBQAAAAh0b2tlblN0cgUAAAAJY3JlYXRlZEF0BAAAABR0cmFuc2ZlclRva2VuVG9Pd25lcgkBAAAAFV90cmFuc2ZlclRva2VuVG9Pd25lcgAAAAIFAAAACHRva2VuU3RyBQAAAAVvd25lcgQAAAAMc2V0T3duZXJzaGlwCQEAAAAJX3NldE93bmVyAAAAAgUAAAAEbmFtZQUAAAAFb3duZXIJAAROAAAAAgkABE4AAAACCQAETgAAAAIFAAAADmlzc3VlTmFtZVRva2VuBQAAABVyZWdpc3Rlck5hbWVXaXRoVG9rZW4FAAAAFHRyYW5zZmVyVG9rZW5Ub093bmVyBQAAAAxzZXRPd25lcnNoaXAAAAADaW52AQAAAAdyZWNsYWltAAAAAQAAAARuYW1lCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAJbW9kaWZpZXJzAAAAAQkABEwAAAACCQEAAAAPb25seUluaXRpYWxpemVkAAAAAAkABEwAAAACAwkBAAAADGlzQWN0aXZlTmFtZQAAAAEFAAAABG5hbWUFAAAABHVuaXQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAAWAFAAAABG5hbWUCAAAAD2AgaXMgbm90IGFjdGl2ZQUAAAADbmlsBAAAAAhuZXdPd25lcggFAAAAA2ludgAAAAxvcmlnaW5DYWxsZXIEAAAAD25ld093bmVyQWRkcmVzcwkABCUAAAABBQAAAAhuZXdPd25lcgQAAAAIdG9rZW5TdHIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAACV9nZXRUb2tlbgAAAAEFAAAABG5hbWUJAAEsAAAAAgkAASwAAAACAgAAABhObyB0b2tlbiBpcyBpc3N1ZWQgZm9yIGAFAAAABG5hbWUCAAAAAWAEAAAAB3Rva2VuSWQJAAJZAAAAAQUAAAAIdG9rZW5TdHIEAAAACGhhc1Rva2VuCQAAAAAAAAIJAAPwAAAAAgUAAAAIbmV3T3duZXIFAAAAB3Rva2VuSWQAAAAAAAAAAAEEAAAADGlzVG9rZW5Pd25lcgkBAAAAB2lzT3duZXIAAAACBQAAAANpbnYFAAAABG5hbWUEAAAADWlzVG9rZW5FeGlzdHMEAAAAByRtYXRjaDAJAAPsAAAAAQUAAAAHdG9rZW5JZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFQXNzZXQEAAAABXRva2VuBQAAAAckbWF0Y2gwCQAAAAAAAAIIBQAAAAV0b2tlbgAAAAhxdWFudGl0eQAAAAAAAAAAAQcDAwUAAAAMaXNUb2tlbk93bmVyCQEAAAABIQAAAAEFAAAADWlzVG9rZW5FeGlzdHMHBAAAAA1pc3N1ZU5ld1Rva2VuCQEAAAAPX2lzc3VlTmFtZVRva2VuAAAAAQUAAAAEbmFtZQQAAAAKbmV3VG9rZW5JZAkABDgAAAABCQABkQAAAAIFAAAADWlzc3VlTmV3VG9rZW4AAAAAAAAAAAAEAAAAC25ld1Rva2VuU3RyCQACWAAAAAEFAAAACm5ld1Rva2VuSWQEAAAAF3Jlc3RvcmVOYW1lV2l0aE5ld1Rva2VuCQEAAAAVX3Jlc3RvcmVOYW1lV2l0aFRva2VuAAAAAgUAAAAEbmFtZQUAAAALbmV3VG9rZW5TdHIEAAAAF3RyYW5zZmVyTmV3VG9rZW5Ub093bmVyCQEAAAAVX3RyYW5zZmVyVG9rZW5Ub093bmVyAAAAAgUAAAALbmV3VG9rZW5TdHIFAAAAD25ld093bmVyQWRkcmVzcwkABE4AAAACCQAETgAAAAIFAAAADWlzc3VlTmV3VG9rZW4FAAAAF3Jlc3RvcmVOYW1lV2l0aE5ld1Rva2VuBQAAABd0cmFuc2Zlck5ld1Rva2VuVG9Pd25lcgMDBQAAAAxpc1Rva2VuT3duZXIFAAAACGhhc1Rva2VuBwkAAAIAAAABAgAAABxZb3UgYWxyZWFkeSBvd24gYSBuYW1lIHRva2VuAwkBAAAAASEAAAABBQAAAAhoYXNUb2tlbgkAAAIAAAABAgAAABtZb3UgZG9uJ3QgaGF2ZSBhIG5hbWUgdG9rZW4JAQAAAAlfc2V0T3duZXIAAAACBQAAAARuYW1lBQAAAA9uZXdPd25lckFkZHJlc3MAAAAAliLkJA==", "height": 3402601, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Grn7U76BeorxCpW2iftT8jyincYYWAZ3QBMoG4xSyU3k Next: 8MLeUtQsXysRJSnP2QKeMHD9PZZfmxwd2hzKLe7pc4MA Diff:
OldNewDifferences
4444 func t (b) = getInteger(this, j(b))
4545
4646
47-func u () = getString(this, m)
48-
49-
50-let v = {
51- let w = u()
52- if ($isInstanceOf(w, "String"))
47+let u = {
48+ let v = getString(this, m)
49+ if ($isInstanceOf(v, "String"))
5350 then {
54- let x = w
55- split(x, ",")
51+ let w = v
52+ split(w, ",")
5653 }
5754 else nil
5855 }
5956
60-let y = value(getInteger(this, l))
57+let x = value(getInteger(this, l))
6158
62-let z = isDefined(getInteger(this, l))
59+let y = isDefined(getInteger(this, l))
6360
64-func A (b) = isDefined(getString(this, g(b)))
61+func z (b) = isDefined(getString(this, g(b)))
6562
6663
67-func B (b) = isDefined(s(b))
64+func A (b) = isDefined(s(b))
6865
6966
70-func C (b) = {
71- let w = t(b)
72- if ($isInstanceOf(w, "Int"))
67+func B (b) = {
68+ let v = t(b)
69+ if ($isInstanceOf(v, "Int"))
7370 then {
74- let D = w
75- (lastBlock.timestamp > D)
71+ let C = v
72+ (lastBlock.timestamp > C)
7673 }
7774 else false
7875 }
7976
8077
81-func E (b) = if (if (A(b))
82- then B(b)
78+func D (b) = if (if (z(b))
79+ then A(b)
8380 else false)
84- then !(C(b))
81+ then !(B(b))
8582 else false
8683
8784
88-func F (b) = {
89- let G = "abcdefghijklmnopqrstuvwxyz1234567890-"
90- func H (I,J) = if (I)
91- then contains(G, J)
85+func E (b) = {
86+ let F = "abcdefghijklmnopqrstuvwxyz1234567890-"
87+ func G (H,I) = if (H)
88+ then contains(F, I)
9289 else false
9390
9491 if (if (if (if (if ((size(b) > 3))
10198 then (lastIndexOf(b, "-") != (size(b) - 1))
10299 else false)
103100 then {
104- let K = split(b, "")
105- let L = size(K)
106- let M = true
107- func N (O,P) = if ((P >= L))
108- then O
109- else H(O, K[P])
101+ let J = split(b, "")
102+ let K = size(J)
103+ let L = true
104+ func M (N,O) = if ((O >= K))
105+ then N
106+ else G(N, J[O])
110107
111- func Q (O,P) = if ((P >= L))
112- then O
108+ func P (N,O) = if ((O >= K))
109+ then N
113110 else throw("List size exceeds 63")
114111
115- Q(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63)
112+ P(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(L, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63)
116113 }
117114 else false
118115 }
119116
120117
121-func R (b) = if (F(b))
122- then !(E(b))
118+func Q (b) = if (E(b))
119+ then !(D(b))
123120 else false
124121
125122
126-func S (T) = isDefined(addressFromString(T))
123+func R (S) = isDefined(addressFromString(S))
127124
128125
129-func U (V) = (V.caller == this)
126+func T (U) = (U.caller == this)
130127
131128
132-func W (V,b) = (toString(V.originCaller) == valueOrElse(p(b), ""))
129+func V (U,b) = (toString(U.originCaller) == valueOrElse(p(b), ""))
133130
134131
135-func X (Y) = containsElement(v, Y)
132+func W (X) = containsElement(u, X)
136133
137134
138-func Z (b) = {
139- let aa = split(b, ".")
140- let ab = (size(aa) - 1)
141- let ac = aa[ab]
142- let ad = makeString(removeByIndex(aa, ab), ".")
143- $Tuple2(ac, ad)
135+func Y (b) = {
136+ let Z = split(b, ".")
137+ let aa = (size(Z) - 1)
138+ let ab = Z[aa]
139+ let ac = makeString(removeByIndex(Z, aa), ".")
140+ $Tuple2(ab, ac)
144141 }
145142
146143
147-func ae (b) = [Issue(if ((size(b) > 16))
144+func ad (b) = [Issue(if ((size(b) > 16))
148145 then (take(b, 15) + "~")
149146 else take(b, 16), (b + ".waves"), 1, 0, false)]
150147
151148
152-func af (b,f,ag) = [StringEntry(g(b), f), StringEntry(e(f), b), IntegerEntry(k(b), ag), IntegerEntry(j(b), (ag + y))]
149+func ae (b,f,af) = [StringEntry(g(b), f), StringEntry(e(f), b), IntegerEntry(k(b), af), IntegerEntry(j(b), (af + x))]
153150
154151
155-func ah (b,f) = [StringEntry(g(b), f), StringEntry(e(f), b)]
152+func ag (b,f) = [StringEntry(g(b), f), StringEntry(e(f), b)]
156153
157154
158-func ai (f,o) = [ScriptTransfer(addressFromStringValue(o), 1, fromBase58String(f))]
155+func ah (f,o) = [ScriptTransfer(addressFromStringValue(o), 1, fromBase58String(f))]
159156
160157
161-func aj (ak) = unit
158+func ai (aj) = unit
162159
163160
164-func al (V) = if (U(V))
161+func ak (U) = if (T(U))
165162 then unit
166163 else throw("Permission denied")
167164
168165
169-func am (V) = if (if (U(V))
166+func al (U) = if (if (T(U))
170167 then true
171- else X(toString(V.caller)))
168+ else W(toString(U.caller)))
172169 then unit
173170 else throw("Permission denied")
174171
175172
176-func an (V,b) = if (if (U(V))
173+func am (U,b) = if (if (T(U))
177174 then true
178- else W(V, b))
175+ else V(U, b))
179176 then unit
180177 else throw("Permission denied")
181178
182179
183-func ao () = if (z)
180+func an () = if (y)
184181 then unit
185182 else throw("Contract is not initialized")
186183
187184
188-@Callable(V)
189-func init (y) = valueOrElse(aj([al(V), if ((y > 0))
185+@Callable(U)
186+func init (x) = valueOrElse(ai([ak(U), if ((x > 0))
190187 then unit
191- else throw("TTL cannot be negative"), if (!(z))
188+ else throw("TTL cannot be negative"), if (!(y))
192189 then unit
193- else throw("Contract has already been initialized")]), [IntegerEntry(l, y)])
190+ else throw("Contract has already been initialized")]), [IntegerEntry(l, x)])
194191
195192
196193
197-@Callable(V)
198-func addController (Y) = valueOrElse(aj([al(V), if (S(Y))
194+@Callable(U)
195+func addController (X) = valueOrElse(ai([ak(U), if (R(X))
199196 then unit
200- else throw("Controller must be a valid address"), if (!(X(Y)))
197+ else throw("Controller must be a valid address"), if (!(W(X)))
201198 then unit
202- else throw((("Controller `" + Y) + "` is already registered"))]), [StringEntry(m, makeString((v :+ Y), ","))])
199+ else throw((("Controller `" + X) + "` is already registered"))]), [StringEntry(m, makeString((u :+ X), ","))])
203200
204201
205202
206-@Callable(V)
207-func removeController (Y) = valueOrElse(aj([al(V), if (X(Y))
203+@Callable(U)
204+func removeController (X) = valueOrElse(ai([ak(U), if (W(X))
208205 then unit
209- else throw((("Controller `" + Y) + "` is not registered"))]), {
210- let ap = value(indexOf(v, Y))
211-[StringEntry(m, makeString(removeByIndex(v, ap), ","))]
206+ else throw((("Controller `" + X) + "` is not registered"))]), {
207+ let ao = value(indexOf(u, X))
208+[StringEntry(m, makeString(removeByIndex(u, ao), ","))]
212209 })
213210
214211
215212
216-@Callable(V)
217-func isValid (b) = $Tuple2(nil, F(b))
213+@Callable(U)
214+func isValid (b) = $Tuple2(nil, E(b))
218215
219216
220217
221-@Callable(V)
222-func isAvailable (b) = $Tuple2(nil, R(b))
218+@Callable(U)
219+func isAvailable (b) = $Tuple2(nil, Q(b))
223220
224221
225222
226-@Callable(V)
227-func resolve (b,aq,ar) = {
228- let as = Z(b)
229- let at = as._1
230- let ad = as._2
231- $Tuple2(nil, {
232- let w = aq
233- if (("owner" == w))
234- then p(at)
235- else if (("resolver" == w))
236- then q(at)
237- else if (("createdAt" == w))
238- then s(at)
239- else if (("expiresAt" == w))
240- then t(at)
241- else if (("tokenId" == w))
242- then r(at)
243- else unit
244- })
223+@Callable(U)
224+func resolve (b,ap,aq) = {
225+ let ar = Y(b)
226+ let as = ar._1
227+ let ac = ar._2
228+ $Tuple2(nil, if ((size(ac) != 0))
229+ then unit
230+ else {
231+ let v = ap
232+ if (("owner" == v))
233+ then p(as)
234+ else if (("resolver" == v))
235+ then q(as)
236+ else if (("createdAt" == v))
237+ then s(as)
238+ else if (("expiresAt" == v))
239+ then t(as)
240+ else if (("tokenId" == v))
241+ then r(as)
242+ else unit
243+ })
245244 }
246245
247246
248247
249-@Callable(V)
250-func register (b,o,ag) = valueOrElse(aj([ao(), am(V), if (R(b))
248+@Callable(U)
249+func register (b,o,af) = valueOrElse(ai([an(), al(U), if (Q(b))
251250 then unit
252- else throw((("`" + b) + "` cannot be registered")), if (S(o))
251+ else throw((("`" + b) + "` cannot be registered")), if (R(o))
253252 then unit
254- else throw("Owner must be a valid address"), if ((ag > 0))
253+ else throw("Owner must be a valid address"), if ((af > 0))
255254 then unit
256- else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= ag))
255+ else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= af))
257256 then unit
258257 else throw("CreatedAt cannot be in the future")]), {
259- let au = ae(b)
260- let f = calculateAssetId(au[0])
261- let av = toBase58String(f)
262- let aw = af(b, av, ag)
263- let ax = ai(av, o)
264- let ay = n(b, o)
265- (((au ++ aw) ++ ax) ++ ay)
258+ let at = ad(b)
259+ let f = calculateAssetId(at[0])
260+ let au = toBase58String(f)
261+ let av = ae(b, au, af)
262+ let aw = ah(au, o)
263+ let ax = n(b, o)
264+ (((at ++ av) ++ aw) ++ ax)
266265 })
267266
268267
269268
270-@Callable(V)
271-func reclaim (b) = valueOrElse(aj([ao(), if (E(b))
269+@Callable(U)
270+func reclaim (b) = valueOrElse(ai([an(), if (D(b))
272271 then unit
273272 else throw((("`" + b) + "` is not active"))]), {
274- let az = V.originCaller
275- let aA = toString(az)
276- let av = valueOrErrorMessage(r(b), (("No token is issued for `" + b) + "`"))
277- let f = fromBase58String(av)
278- let aB = (assetBalance(az, f) == 1)
279- let aC = W(V, b)
280- let aD = {
281- let w = assetInfo(f)
282- if ($isInstanceOf(w, "Asset"))
273+ let ay = U.originCaller
274+ let az = toString(ay)
275+ let au = valueOrErrorMessage(r(b), (("No token is issued for `" + b) + "`"))
276+ let f = fromBase58String(au)
277+ let aA = (assetBalance(ay, f) == 1)
278+ let aB = V(U, b)
279+ let aC = {
280+ let v = assetInfo(f)
281+ if ($isInstanceOf(v, "Asset"))
283282 then {
284- let aE = w
285- (aE.quantity == 1)
283+ let aD = v
284+ (aD.quantity == 1)
286285 }
287286 else false
288287 }
289- if (if (aC)
290- then !(aD)
288+ if (if (aB)
289+ then !(aC)
291290 else false)
292291 then {
293- let aF = ae(b)
294- let aG = calculateAssetId(aF[0])
295- let aH = toBase58String(aG)
296- let aI = ah(b, aH)
297- let aJ = ai(aH, aA)
298- ((aF ++ aI) ++ aJ)
292+ let aE = ad(b)
293+ let aF = calculateAssetId(aE[0])
294+ let aG = toBase58String(aF)
295+ let aH = ag(b, aG)
296+ let aI = ah(aG, az)
297+ ((aE ++ aH) ++ aI)
299298 }
300- else if (if (aC)
301- then aB
299+ else if (if (aB)
300+ then aA
302301 else false)
303302 then throw("You already own a name token")
304- else if (!(aB))
303+ else if (!(aA))
305304 then throw("You don't have a name token")
306- else n(b, aA)
305+ else n(b, az)
307306 })
308307
309308
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("Token", f, "name")
88
99
1010 func g (b) = a("Name", b, "token")
1111
1212
1313 func h (b) = a("Name", b, "owner")
1414
1515
1616 func i (b) = a("Name", b, "resolver")
1717
1818
1919 func j (b) = a("Name", b, "expiresAt")
2020
2121
2222 func k (b) = a("Name", b, "createdAt")
2323
2424
2525 let l = "nameTTL"
2626
2727 let m = "controllers"
2828
2929 func n (b,o) = [StringEntry(h(b), o)]
3030
3131
3232 func p (b) = getString(this, h(b))
3333
3434
3535 func q (b) = getString(this, i(b))
3636
3737
3838 func r (b) = getString(this, g(b))
3939
4040
4141 func s (b) = getInteger(this, k(b))
4242
4343
4444 func t (b) = getInteger(this, j(b))
4545
4646
47-func u () = getString(this, m)
48-
49-
50-let v = {
51- let w = u()
52- if ($isInstanceOf(w, "String"))
47+let u = {
48+ let v = getString(this, m)
49+ if ($isInstanceOf(v, "String"))
5350 then {
54- let x = w
55- split(x, ",")
51+ let w = v
52+ split(w, ",")
5653 }
5754 else nil
5855 }
5956
60-let y = value(getInteger(this, l))
57+let x = value(getInteger(this, l))
6158
62-let z = isDefined(getInteger(this, l))
59+let y = isDefined(getInteger(this, l))
6360
64-func A (b) = isDefined(getString(this, g(b)))
61+func z (b) = isDefined(getString(this, g(b)))
6562
6663
67-func B (b) = isDefined(s(b))
64+func A (b) = isDefined(s(b))
6865
6966
70-func C (b) = {
71- let w = t(b)
72- if ($isInstanceOf(w, "Int"))
67+func B (b) = {
68+ let v = t(b)
69+ if ($isInstanceOf(v, "Int"))
7370 then {
74- let D = w
75- (lastBlock.timestamp > D)
71+ let C = v
72+ (lastBlock.timestamp > C)
7673 }
7774 else false
7875 }
7976
8077
81-func E (b) = if (if (A(b))
82- then B(b)
78+func D (b) = if (if (z(b))
79+ then A(b)
8380 else false)
84- then !(C(b))
81+ then !(B(b))
8582 else false
8683
8784
88-func F (b) = {
89- let G = "abcdefghijklmnopqrstuvwxyz1234567890-"
90- func H (I,J) = if (I)
91- then contains(G, J)
85+func E (b) = {
86+ let F = "abcdefghijklmnopqrstuvwxyz1234567890-"
87+ func G (H,I) = if (H)
88+ then contains(F, I)
9289 else false
9390
9491 if (if (if (if (if ((size(b) > 3))
9592 then (63 >= size(b))
9693 else false)
9794 then (indexOf(b, "--") != 2)
9895 else false)
9996 then (indexOf(b, "-") != 0)
10097 else false)
10198 then (lastIndexOf(b, "-") != (size(b) - 1))
10299 else false)
103100 then {
104- let K = split(b, "")
105- let L = size(K)
106- let M = true
107- func N (O,P) = if ((P >= L))
108- then O
109- else H(O, K[P])
101+ let J = split(b, "")
102+ let K = size(J)
103+ let L = true
104+ func M (N,O) = if ((O >= K))
105+ then N
106+ else G(N, J[O])
110107
111- func Q (O,P) = if ((P >= L))
112- then O
108+ func P (N,O) = if ((O >= K))
109+ then N
113110 else throw("List size exceeds 63")
114111
115- Q(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63)
112+ P(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(M(L, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63)
116113 }
117114 else false
118115 }
119116
120117
121-func R (b) = if (F(b))
122- then !(E(b))
118+func Q (b) = if (E(b))
119+ then !(D(b))
123120 else false
124121
125122
126-func S (T) = isDefined(addressFromString(T))
123+func R (S) = isDefined(addressFromString(S))
127124
128125
129-func U (V) = (V.caller == this)
126+func T (U) = (U.caller == this)
130127
131128
132-func W (V,b) = (toString(V.originCaller) == valueOrElse(p(b), ""))
129+func V (U,b) = (toString(U.originCaller) == valueOrElse(p(b), ""))
133130
134131
135-func X (Y) = containsElement(v, Y)
132+func W (X) = containsElement(u, X)
136133
137134
138-func Z (b) = {
139- let aa = split(b, ".")
140- let ab = (size(aa) - 1)
141- let ac = aa[ab]
142- let ad = makeString(removeByIndex(aa, ab), ".")
143- $Tuple2(ac, ad)
135+func Y (b) = {
136+ let Z = split(b, ".")
137+ let aa = (size(Z) - 1)
138+ let ab = Z[aa]
139+ let ac = makeString(removeByIndex(Z, aa), ".")
140+ $Tuple2(ab, ac)
144141 }
145142
146143
147-func ae (b) = [Issue(if ((size(b) > 16))
144+func ad (b) = [Issue(if ((size(b) > 16))
148145 then (take(b, 15) + "~")
149146 else take(b, 16), (b + ".waves"), 1, 0, false)]
150147
151148
152-func af (b,f,ag) = [StringEntry(g(b), f), StringEntry(e(f), b), IntegerEntry(k(b), ag), IntegerEntry(j(b), (ag + y))]
149+func ae (b,f,af) = [StringEntry(g(b), f), StringEntry(e(f), b), IntegerEntry(k(b), af), IntegerEntry(j(b), (af + x))]
153150
154151
155-func ah (b,f) = [StringEntry(g(b), f), StringEntry(e(f), b)]
152+func ag (b,f) = [StringEntry(g(b), f), StringEntry(e(f), b)]
156153
157154
158-func ai (f,o) = [ScriptTransfer(addressFromStringValue(o), 1, fromBase58String(f))]
155+func ah (f,o) = [ScriptTransfer(addressFromStringValue(o), 1, fromBase58String(f))]
159156
160157
161-func aj (ak) = unit
158+func ai (aj) = unit
162159
163160
164-func al (V) = if (U(V))
161+func ak (U) = if (T(U))
165162 then unit
166163 else throw("Permission denied")
167164
168165
169-func am (V) = if (if (U(V))
166+func al (U) = if (if (T(U))
170167 then true
171- else X(toString(V.caller)))
168+ else W(toString(U.caller)))
172169 then unit
173170 else throw("Permission denied")
174171
175172
176-func an (V,b) = if (if (U(V))
173+func am (U,b) = if (if (T(U))
177174 then true
178- else W(V, b))
175+ else V(U, b))
179176 then unit
180177 else throw("Permission denied")
181178
182179
183-func ao () = if (z)
180+func an () = if (y)
184181 then unit
185182 else throw("Contract is not initialized")
186183
187184
188-@Callable(V)
189-func init (y) = valueOrElse(aj([al(V), if ((y > 0))
185+@Callable(U)
186+func init (x) = valueOrElse(ai([ak(U), if ((x > 0))
190187 then unit
191- else throw("TTL cannot be negative"), if (!(z))
188+ else throw("TTL cannot be negative"), if (!(y))
192189 then unit
193- else throw("Contract has already been initialized")]), [IntegerEntry(l, y)])
190+ else throw("Contract has already been initialized")]), [IntegerEntry(l, x)])
194191
195192
196193
197-@Callable(V)
198-func addController (Y) = valueOrElse(aj([al(V), if (S(Y))
194+@Callable(U)
195+func addController (X) = valueOrElse(ai([ak(U), if (R(X))
199196 then unit
200- else throw("Controller must be a valid address"), if (!(X(Y)))
197+ else throw("Controller must be a valid address"), if (!(W(X)))
201198 then unit
202- else throw((("Controller `" + Y) + "` is already registered"))]), [StringEntry(m, makeString((v :+ Y), ","))])
199+ else throw((("Controller `" + X) + "` is already registered"))]), [StringEntry(m, makeString((u :+ X), ","))])
203200
204201
205202
206-@Callable(V)
207-func removeController (Y) = valueOrElse(aj([al(V), if (X(Y))
203+@Callable(U)
204+func removeController (X) = valueOrElse(ai([ak(U), if (W(X))
208205 then unit
209- else throw((("Controller `" + Y) + "` is not registered"))]), {
210- let ap = value(indexOf(v, Y))
211-[StringEntry(m, makeString(removeByIndex(v, ap), ","))]
206+ else throw((("Controller `" + X) + "` is not registered"))]), {
207+ let ao = value(indexOf(u, X))
208+[StringEntry(m, makeString(removeByIndex(u, ao), ","))]
212209 })
213210
214211
215212
216-@Callable(V)
217-func isValid (b) = $Tuple2(nil, F(b))
213+@Callable(U)
214+func isValid (b) = $Tuple2(nil, E(b))
218215
219216
220217
221-@Callable(V)
222-func isAvailable (b) = $Tuple2(nil, R(b))
218+@Callable(U)
219+func isAvailable (b) = $Tuple2(nil, Q(b))
223220
224221
225222
226-@Callable(V)
227-func resolve (b,aq,ar) = {
228- let as = Z(b)
229- let at = as._1
230- let ad = as._2
231- $Tuple2(nil, {
232- let w = aq
233- if (("owner" == w))
234- then p(at)
235- else if (("resolver" == w))
236- then q(at)
237- else if (("createdAt" == w))
238- then s(at)
239- else if (("expiresAt" == w))
240- then t(at)
241- else if (("tokenId" == w))
242- then r(at)
243- else unit
244- })
223+@Callable(U)
224+func resolve (b,ap,aq) = {
225+ let ar = Y(b)
226+ let as = ar._1
227+ let ac = ar._2
228+ $Tuple2(nil, if ((size(ac) != 0))
229+ then unit
230+ else {
231+ let v = ap
232+ if (("owner" == v))
233+ then p(as)
234+ else if (("resolver" == v))
235+ then q(as)
236+ else if (("createdAt" == v))
237+ then s(as)
238+ else if (("expiresAt" == v))
239+ then t(as)
240+ else if (("tokenId" == v))
241+ then r(as)
242+ else unit
243+ })
245244 }
246245
247246
248247
249-@Callable(V)
250-func register (b,o,ag) = valueOrElse(aj([ao(), am(V), if (R(b))
248+@Callable(U)
249+func register (b,o,af) = valueOrElse(ai([an(), al(U), if (Q(b))
251250 then unit
252- else throw((("`" + b) + "` cannot be registered")), if (S(o))
251+ else throw((("`" + b) + "` cannot be registered")), if (R(o))
253252 then unit
254- else throw("Owner must be a valid address"), if ((ag > 0))
253+ else throw("Owner must be a valid address"), if ((af > 0))
255254 then unit
256- else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= ag))
255+ else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= af))
257256 then unit
258257 else throw("CreatedAt cannot be in the future")]), {
259- let au = ae(b)
260- let f = calculateAssetId(au[0])
261- let av = toBase58String(f)
262- let aw = af(b, av, ag)
263- let ax = ai(av, o)
264- let ay = n(b, o)
265- (((au ++ aw) ++ ax) ++ ay)
258+ let at = ad(b)
259+ let f = calculateAssetId(at[0])
260+ let au = toBase58String(f)
261+ let av = ae(b, au, af)
262+ let aw = ah(au, o)
263+ let ax = n(b, o)
264+ (((at ++ av) ++ aw) ++ ax)
266265 })
267266
268267
269268
270-@Callable(V)
271-func reclaim (b) = valueOrElse(aj([ao(), if (E(b))
269+@Callable(U)
270+func reclaim (b) = valueOrElse(ai([an(), if (D(b))
272271 then unit
273272 else throw((("`" + b) + "` is not active"))]), {
274- let az = V.originCaller
275- let aA = toString(az)
276- let av = valueOrErrorMessage(r(b), (("No token is issued for `" + b) + "`"))
277- let f = fromBase58String(av)
278- let aB = (assetBalance(az, f) == 1)
279- let aC = W(V, b)
280- let aD = {
281- let w = assetInfo(f)
282- if ($isInstanceOf(w, "Asset"))
273+ let ay = U.originCaller
274+ let az = toString(ay)
275+ let au = valueOrErrorMessage(r(b), (("No token is issued for `" + b) + "`"))
276+ let f = fromBase58String(au)
277+ let aA = (assetBalance(ay, f) == 1)
278+ let aB = V(U, b)
279+ let aC = {
280+ let v = assetInfo(f)
281+ if ($isInstanceOf(v, "Asset"))
283282 then {
284- let aE = w
285- (aE.quantity == 1)
283+ let aD = v
284+ (aD.quantity == 1)
286285 }
287286 else false
288287 }
289- if (if (aC)
290- then !(aD)
288+ if (if (aB)
289+ then !(aC)
291290 else false)
292291 then {
293- let aF = ae(b)
294- let aG = calculateAssetId(aF[0])
295- let aH = toBase58String(aG)
296- let aI = ah(b, aH)
297- let aJ = ai(aH, aA)
298- ((aF ++ aI) ++ aJ)
292+ let aE = ad(b)
293+ let aF = calculateAssetId(aE[0])
294+ let aG = toBase58String(aF)
295+ let aH = ag(b, aG)
296+ let aI = ah(aG, az)
297+ ((aE ++ aH) ++ aI)
299298 }
300- else if (if (aC)
301- then aB
299+ else if (if (aB)
300+ then aA
302301 else false)
303302 then throw("You already own a name token")
304- else if (!(aB))
303+ else if (!(aA))
305304 then throw("You don't have a name token")
306- else n(b, aA)
305+ else n(b, az)
307306 })
308307
309308

github/deemru/w8io/3ef1775 
100.85 ms