tx · 9J8FkfuhBofeQtbJWUiBo2DAVwpefzPzyv1Ajnp6Gnvm

3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz:  -0.01200000 Waves

2022.10.25 12:39 [2287750] smart account 3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz > SELF 0.00000000 Waves

{ "type": 13, "id": "9J8FkfuhBofeQtbJWUiBo2DAVwpefzPzyv1Ajnp6Gnvm", "fee": 1200000, "feeAssetId": null, "timestamp": 1666690859314, "version": 2, "chainId": 84, "sender": "3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz", "senderPublicKey": "2mHW72YTfnxJ1M8WsdUQjgpp3a2SUbt9mbAiePGiuJok", "proofs": [ "5NEdx5ZrcDpyAf1Rwpi7k42yFrMfwkTaD2KdYZke4DpTBmnKEAwjRohtBQTKbttLgH1jvEFWDAR8ahZovvnsC8wV" ], "script": "base64:AAIFAAAAAAAAAEAIAhIDCgEBEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgUKAwgIARIDCgEIAAAAKAEAAAAQZ2V0U3RyaW5nT3JUaHJvdwAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADENhbid0IHJlYWQgJwUAAAADa2V5AgAAAA0nIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAB2FkZHJlc3MBAAAAEWdldEludGVnZXJPclRocm93AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMQ2FuJ3QgcmVhZCAnBQAAAANrZXkCAAAADScgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAAHYWRkcmVzcwEAAAATcGFyc2VBZGRyZXNzT3JUaHJvdwAAAAEAAAAMbWF5YmVBZGRyZXNzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAMbWF5YmVBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAAaQ2FuJ3QgcGFyc2UgYWRkcmVzcyBmcm9tICcFAAAADG1heWJlQWRkcmVzcwIAAAABJwEAAAAKa2V5X2VudGl0eQAAAAMAAAAEbmFtZQAAAAJwawAAAAhwcm9wZXJ0eQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARuYW1lAgAAAAFfBQAAAAJwawIAAAABXwUAAAAIcHJvcGVydHkBAAAADmtleV9Ub2tlbl9uYW1lAAAAAQAAAAd0b2tlbklkCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABVRva2VuBQAAAAd0b2tlbklkAgAAAARuYW1lAQAAAA5rZXlfTmFtZV90b2tlbgAAAAEAAAAEbmFtZQkBAAAACmtleV9lbnRpdHkAAAADAgAAAAROYW1lBQAAAARuYW1lAgAAAAV0b2tlbgEAAAAOa2V5X05hbWVfb3duZXIAAAABAAAABG5hbWUJAQAAAAprZXlfZW50aXR5AAAAAwIAAAAETmFtZQUAAAAEbmFtZQIAAAAFb3duZXIBAAAAEWtleV9OYW1lX3Jlc29sdmVyAAAAAQAAAARuYW1lCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABE5hbWUFAAAABG5hbWUCAAAACHJlc29sdmVyAQAAABJrZXlfTmFtZV9leHBpcmVzQXQAAAABAAAABG5hbWUJAQAAAAprZXlfZW50aXR5AAAAAwIAAAAETmFtZQUAAAAEbmFtZQIAAAAJZXhwaXJlc0F0AQAAABJrZXlfTmFtZV9jcmVhdGVkQXQAAAABAAAABG5hbWUJAQAAAAprZXlfZW50aXR5AAAAAwIAAAAETmFtZQUAAAAEbmFtZQIAAAAJY3JlYXRlZEF0AAAAAAtrZXlfbmFtZVRUTAIAAAAHbmFtZVRUTAAAAAAPa2V5X2NvbnRyb2xsZXJzAgAAAAtjb250cm9sbGVycwEAAAAJX3NldE93bmVyAAAAAgAAAARuYW1lAAAABW93bmVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA5rZXlfTmFtZV9vd25lcgAAAAEFAAAABG5hbWUFAAAABW93bmVyBQAAAANuaWwBAAAACV9nZXRPd25lcgAAAAEAAAAEbmFtZQkABB0AAAACBQAAAAR0aGlzCQEAAAAOa2V5X05hbWVfb3duZXIAAAABBQAAAARuYW1lAQAAAAxfZ2V0UmVzb2x2ZXIAAAABAAAABG5hbWUJAAQdAAAAAgUAAAAEdGhpcwkBAAAAEWtleV9OYW1lX3Jlc29sdmVyAAAAAQUAAAAEbmFtZQEAAAAJX2dldFRva2VuAAAAAQAAAARuYW1lCQAEHQAAAAIFAAAABHRoaXMJAQAAAA5rZXlfTmFtZV90b2tlbgAAAAEFAAAABG5hbWUBAAAADV9nZXRDcmVhdGVkQXQAAAABAAAABG5hbWUJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEmtleV9OYW1lX2NyZWF0ZWRBdAAAAAEFAAAABG5hbWUBAAAADV9nZXRFeHBpcmVzQXQAAAABAAAABG5hbWUJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEmtleV9OYW1lX2V4cGlyZXNBdAAAAAEFAAAABG5hbWUBAAAAD19nZXRDb250cm9sbGVycwAAAAAJAAQdAAAAAgUAAAAEdGhpcwUAAAAPa2V5X2NvbnRyb2xsZXJzAAAAAAtjb250cm9sbGVycwQAAAAHJG1hdGNoMAkBAAAAD19nZXRDb250cm9sbGVycwAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAEcmVwcgUAAAAHJG1hdGNoMAkABLUAAAACBQAAAARyZXByAgAAAAEsBQAAAANuaWwAAAAAB25hbWVUVEwJAQAAABFnZXRJbnRlZ2VyT3JUaHJvdwAAAAIFAAAABHRoaXMFAAAAC2tleV9uYW1lVFRMAQAAABBpc1JlZ2lzdGVyZWROYW1lAAAAAQAAAARuYW1lCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzCQEAAAAOa2V5X05hbWVfdG9rZW4AAAABBQAAAARuYW1lAQAAAA1pc0NyZWF0ZWROYW1lAAAAAQAAAARuYW1lCQEAAAAJaXNEZWZpbmVkAAAAAQkBAAAADV9nZXRDcmVhdGVkQXQAAAABBQAAAARuYW1lAQAAAA1pc0V4cGlyZWROYW1lAAAAAQAAAARuYW1lBAAAAAckbWF0Y2gwCQEAAAANX2dldEV4cGlyZXNBdAAAAAEFAAAABG5hbWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAJZXhwaXJlc0F0BQAAAAckbWF0Y2gwCQAAZgAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAlleHBpcmVzQXQHAQAAAAxpc0FjdGl2ZU5hbWUAAAABAAAABG5hbWUDAwkBAAAAEGlzUmVnaXN0ZXJlZE5hbWUAAAABBQAAAARuYW1lCQEAAAANaXNDcmVhdGVkTmFtZQAAAAEFAAAABG5hbWUHCQEAAAABIQAAAAEJAQAAAA1pc0V4cGlyZWROYW1lAAAAAQUAAAAEbmFtZQcBAAAAC2lzVmFsaWROYW1lAAAAAQAAAARuYW1lBAAAAAdzeW1ib2xzAgAAACVhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejEyMzQ1Njc4OTAtCgEAAAANdmFsaWRhdGVDaGFycwAAAAIAAAAHaXNWYWxpZAAAAARjaGFyAwUAAAAHaXNWYWxpZAkBAAAACGNvbnRhaW5zAAAAAgUAAAAHc3ltYm9scwUAAAAEY2hhcgcDAwMDAwkAAGYAAAACCQABMQAAAAEFAAAABG5hbWUAAAAAAAAAAAAJAABnAAAAAgAAAAAAAAAAPwkAATEAAAABBQAAAARuYW1lBwkBAAAAAiE9AAAAAgkABLMAAAACBQAAAARuYW1lAgAAAAItLQAAAAAAAAAAAgcJAQAAAAIhPQAAAAIJAASzAAAAAgUAAAAEbmFtZQIAAAABLQAAAAAAAAAAAAcJAQAAAAIhPQAAAAIJAAS3AAAAAgUAAAAEbmFtZQIAAAABLQkAAGUAAAACCQABMQAAAAEFAAAABG5hbWUAAAAAAAAAAAEHCgAAAAACJGwJAAS1AAAAAgUAAAAEbmFtZQIAAAAACgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAYKAQAAAAUkZjBfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAA12YWxpZGF0ZUNoYXJzAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAFJGYwXzIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAFExpc3Qgc2l6ZSBleGNlZWRzIDYzCQEAAAAFJGYwXzIAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgAAAAAAAAAACwAAAAAAAAAADAAAAAAAAAAADQAAAAAAAAAADgAAAAAAAAAADwAAAAAAAAAAEAAAAAAAAAAAEQAAAAAAAAAAEgAAAAAAAAAAEwAAAAAAAAAAFAAAAAAAAAAAFQAAAAAAAAAAFgAAAAAAAAAAFwAAAAAAAAAAGAAAAAAAAAAAGQAAAAAAAAAAGgAAAAAAAAAAGwAAAAAAAAAAHAAA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OAAAAAEJAAGRAAAAAgUAAAANaXNzdWVOZXdUb2tlbgAAAAAAAAAAAAQAAAALbmV3VG9rZW5TdHIJAAJYAAAAAQUAAAAKbmV3VG9rZW5JZAQAAAAXcmVzdG9yZU5hbWVXaXRoTmV3VG9rZW4JAQAAABVfcmVzdG9yZU5hbWVXaXRoVG9rZW4AAAACBQAAAARuYW1lBQAAAAtuZXdUb2tlblN0cgQAAAAXdHJhbnNmZXJOZXdUb2tlblRvT3duZXIJAQAAABVfdHJhbnNmZXJUb2tlblRvT3duZXIAAAACBQAAAAtuZXdUb2tlblN0cgUAAAAPbmV3T3duZXJBZGRyZXNzCQAETgAAAAIJAAROAAAAAgUAAAANaXNzdWVOZXdUb2tlbgUAAAAXcmVzdG9yZU5hbWVXaXRoTmV3VG9rZW4FAAAAF3RyYW5zZmVyTmV3VG9rZW5Ub093bmVyAwMFAAAADGlzVG9rZW5Pd25lcgUAAAAIaGFzVG9rZW4HCQAAAgAAAAECAAAAHFlvdSBhbHJlYWR5IG93biBhIG5hbWUgdG9rZW4DCQEAAAABIQAAAAEFAAAACGhhc1Rva2VuCQAAAgAAAAECAAAAG1lvdSBkb24ndCBoYXZlIGEgbmFtZSB0b2tlbgkBAAAACV9zZXRPd25lcgAAAAIFAAAABG5hbWUFAAAAD25ld093bmVyQWRkcmVzcwAAAACx+QZG", "height": 2287750, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GYDp1N8NDXvx7W2GNgEno1ajJLbGYesREY6AqhXNnhhB Next: JP6PHWTN4K5eXXfDBHT31Dx8GxBdqAY1BoeBoLUd9CW Diff:
OldNewDifferences
4141 func v (h) = getString(this, n(h))
4242
4343
44-func w (h,x) = [StringEntry(o(h), x)]
44+func w (h) = getString(this, o(h))
4545
4646
47-func y (h) = getString(this, o(h))
47+func x (h) = getString(this, m(h))
4848
4949
50-func z (h) = getString(this, m(h))
50+func y (h) = getInteger(this, q(h))
5151
5252
53-func A (h) = getInteger(this, q(h))
53+func z (h) = getInteger(this, p(h))
5454
5555
56-func B (h) = getInteger(this, p(h))
56+func A () = getString(this, s)
5757
5858
59-func C () = getString(this, s)
60-
61-
62-let D = {
63- let E = C()
64- if ($isInstanceOf(E, "String"))
59+let B = {
60+ let C = A()
61+ if ($isInstanceOf(C, "String"))
6562 then {
66- let F = E
67- split(F, ",")
63+ let D = C
64+ split(D, ",")
6865 }
6966 else nil
7067 }
7168
72-let G = d(this, r)
69+let E = d(this, r)
7370
74-func H (h) = isDefined(getString(this, m(h)))
71+func F (h) = isDefined(getString(this, m(h)))
7572
7673
77-func I (h) = isDefined(A(h))
74+func G (h) = isDefined(y(h))
7875
7976
80-func J (h) = {
81- let E = B(h)
82- if ($isInstanceOf(E, "Int"))
77+func H (h) = {
78+ let C = z(h)
79+ if ($isInstanceOf(C, "Int"))
8380 then {
84- let K = E
85- (lastBlock.timestamp > K)
81+ let I = C
82+ (lastBlock.timestamp > I)
8683 }
8784 else false
8885 }
8986
9087
91-func L (h) = if (if (H(h))
92- then I(h)
88+func J (h) = if (if (F(h))
89+ then G(h)
9390 else false)
94- then !(J(h))
91+ then !(H(h))
9592 else false
9693
9794
98-func M (h) = {
99- let N = "abcdefghijklmnopqrstuvwxyz1234567890-"
100- func O (P,Q) = if (P)
101- then contains(N, Q)
95+func K (h) = {
96+ let L = "abcdefghijklmnopqrstuvwxyz1234567890-"
97+ func M (N,O) = if (N)
98+ then contains(L, O)
10299 else false
103100
104101 if (if (if (if (if ((size(h) > 0))
111108 then (lastIndexOf(h, "-") != (size(h) - 1))
112109 else false)
113110 then {
114- let R = split(h, "")
115- let S = size(R)
116- let T = true
117- func U (V,W) = if ((W >= S))
118- then V
119- else O(V, R[W])
111+ let P = split(h, "")
112+ let Q = size(P)
113+ let R = true
114+ func S (T,U) = if ((U >= Q))
115+ then T
116+ else M(T, P[U])
120117
121- func X (V,W) = if ((W >= S))
122- then V
118+ func V (T,U) = if ((U >= Q))
119+ then T
123120 else throw("List size exceeds 63")
124121
125- X(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(T, 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)
122+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 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)
126123 }
127124 else false
128125 }
129126
130127
131-func Y (h) = if (M(h))
132- then if (!(H(h)))
128+func W (h) = if (K(h))
129+ then if (!(F(h)))
133130 then true
134- else J(h)
131+ else H(h)
135132 else false
136133
137134
138-func Z (f) = isDefined(addressFromString(f))
135+func X (f) = isDefined(addressFromString(f))
139136
140137
141-func aa (ab) = (ab.caller == this)
138+func Y (Z) = (Z.caller == this)
142139
143140
144-func ac (ab,h) = (toString(ab.caller) == valueOrElse(v(h), ""))
141+func aa (Z,h) = (toString(Z.caller) == valueOrElse(v(h), ""))
145142
146143
147-func ad (b) = containsElement(D, b)
144+func ab (b) = containsElement(B, b)
148145
149146
150-func ae (h) = {
151- let af = split(h, ".")
152- let ag = (size(af) - 1)
153- let ah = af[ag]
154- let ai = makeString(removeByIndex(af, ag), ".")
155- $Tuple2(ah, ai)
147+func ac (h) = {
148+ let ad = split(h, ".")
149+ let ae = (size(ad) - 1)
150+ let af = ad[ae]
151+ let ag = makeString(removeByIndex(ad, ae), ".")
152+ $Tuple2(af, ag)
156153 }
157154
158155
159-func aj (h) = [Issue(if ((size(h) > 16))
156+func ah (h) = [Issue(if ((size(h) > 16))
160157 then (take(h, 15) + "~")
161158 else take(h, 16), (h + ".waves"), 1, 0, false)]
162159
163160
164-func ak (h,l,al) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), al), IntegerEntry(p(h), (al + G))]
161+func ai (h,l,aj) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), aj), IntegerEntry(p(h), (aj + E))]
165162
166163
167-func am (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
164+func ak (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
168165
169166
170-func an (l,u) = [ScriptTransfer(e(u), 1, fromBase58String(l))]
167+func al (l,u) = [ScriptTransfer(e(u), 1, fromBase58String(l))]
171168
172169
173-func ao (ap) = unit
170+func am (an) = unit
174171
175172
176-func aq (ab) = if (aa(ab))
173+func ao (Z) = if (Y(Z))
177174 then unit
178175 else throw("Permission denied")
179176
180177
181-func ar (ab) = if (if (aa(ab))
178+func ap (Z) = if (if (Y(Z))
182179 then true
183- else ad(toString(ab.caller)))
180+ else ab(toString(Z.caller)))
184181 then unit
185182 else throw("Permission denied")
186183
187184
188-func as (ab,h) = if (if (aa(ab))
185+func aq (Z,h) = if (if (Y(Z))
189186 then true
190- else ac(ab, h))
187+ else aa(Z, h))
191188 then unit
192189 else throw("Permission denied")
193190
194191
195-@Callable(ab)
196-func init (G) = valueOrElse(ao([aq(ab), if ((G > 0))
192+@Callable(Z)
193+func init (E) = valueOrElse(am([ao(Z), if ((E > 0))
197194 then unit
198- else throw("TTL cannot be negative")]), [IntegerEntry(r, G)])
195+ else throw("TTL cannot be negative")]), [IntegerEntry(r, E)])
199196
200197
201198
202-@Callable(ab)
203-func supportsInterface (at) = $Tuple2(nil, containsElement(["owner", "resolver", "nameCreated", "nameExpires"], at))
199+@Callable(Z)
200+func supportsInterface (ar) = $Tuple2(nil, containsElement(["getOwner", "getResolver", "getNameCreated", "getNameExpires"], ar))
204201
205202
206203
207-@Callable(ab)
208-func addController (b) = valueOrElse(ao([aq(ab), if (Z(b))
204+@Callable(Z)
205+func addController (b) = valueOrElse(am([ao(Z), if (X(b))
209206 then unit
210- else throw("Controller must be a valid address"), if (!(ad(b)))
207+ else throw("Controller must be a valid address"), if (!(ab(b)))
211208 then unit
212- else throw((("Controller `" + b) + "` is already registered"))]), [StringEntry(s, makeString((D :+ b), ","))])
209+ else throw((("Controller `" + b) + "` is already registered"))]), [StringEntry(s, makeString((B :+ b), ","))])
213210
214211
215212
216-@Callable(ab)
217-func removeController (b) = valueOrElse(ao([aq(ab), if (ad(b))
213+@Callable(Z)
214+func removeController (b) = valueOrElse(am([ao(Z), if (ab(b))
218215 then unit
219216 else throw((("Controller `" + b) + "` is not registered"))]), {
220- let au = value(indexOf(D, b))
221-[StringEntry(s, makeString(removeByIndex(D, au), ","))]
217+ let as = value(indexOf(B, b))
218+[StringEntry(s, makeString(removeByIndex(B, as), ","))]
222219 })
223220
224221
225222
226-@Callable(ab)
227-func validate (h) = $Tuple2(nil, M(h))
223+@Callable(Z)
224+func isValid (h) = $Tuple2(nil, K(h))
228225
229226
230227
231-@Callable(ab)
232-func available (h) = $Tuple2(nil, Y(h))
228+@Callable(Z)
229+func isAvailable (h) = $Tuple2(nil, W(h))
233230
234231
235232
236-@Callable(ab)
237-func owner (h) = $Tuple2(nil, v(ae(h)._1))
233+@Callable(Z)
234+func getOwner (h) = $Tuple2(nil, v(ac(h)._1))
238235
239236
240237
241-@Callable(ab)
242-func resolver (h) = $Tuple2(nil, y(ae(h)._1))
238+@Callable(Z)
239+func getResolver (h) = $Tuple2(nil, w(ac(h)._1))
243240
244241
245242
246-@Callable(ab)
247-func setResolver (h,x) = valueOrElse(ao([if (L(h))
248- then unit
249- else throw("Name expired or not registered"), as(ab, h), if (Z(x))
250- then unit
251- else throw("Resolver must be a valid contract address")]), $Tuple2(nil, w(h, x)))
243+@Callable(Z)
244+func getNameCreated (h) = $Tuple2(nil, y(ac(h)._1))
252245
253246
254247
255-@Callable(ab)
256-func nameCreated (h) = $Tuple2(nil, A(ae(h)._1))
248+@Callable(Z)
249+func getNameExpires (h) = $Tuple2(nil, z(ac(h)._1))
257250
258251
259252
260-@Callable(ab)
261-func nameExpires (h) = $Tuple2(nil, B(ae(h)._1))
262-
263-
264-
265-@Callable(ab)
266-func register (h,u,al) = valueOrElse(ao([ar(ab), if (Y(h))
253+@Callable(Z)
254+func register (h,u,aj) = valueOrElse(am([ap(Z), if (W(h))
267255 then unit
268- else throw((("`" + h) + "` cannot be registered")), if (Z(u))
256+ else throw((("`" + h) + "` cannot be registered")), if (X(u))
269257 then unit
270- else throw("Owner must be a valid address"), if ((al > 0))
258+ else throw("Owner must be a valid address"), if ((aj > 0))
271259 then unit
272- else throw("CreatedAt cannot be negative"), if ((lastBlock.timestamp >= al))
260+ else throw("CreatedAt cannot be negative"), if ((lastBlock.timestamp >= aj))
273261 then unit
274262 else throw("CreatedAt cannot be in the future")]), {
275- let av = aj(h)
276- let l = calculateAssetId(av[0])
277- let aw = toBase58String(l)
278- let ax = ak(h, aw, al)
279- let ay = an(aw, u)
280- let az = t(h, u)
281- (((av ++ ax) ++ ay) ++ az)
263+ let at = ah(h)
264+ let l = calculateAssetId(at[0])
265+ let au = toBase58String(l)
266+ let av = ai(h, au, aj)
267+ let aw = al(au, u)
268+ let ax = t(h, u)
269+ (((at ++ av) ++ aw) ++ ax)
282270 })
283271
284272
285273
286-@Callable(ab)
287-func reclaim (h) = valueOrElse(ao([if (L(h))
274+@Callable(Z)
275+func reclaim (h) = valueOrElse(am([if (J(h))
288276 then unit
289277 else throw((("`" + h) + "` is not active"))]), {
290- let aA = ab.caller
291- let aB = toString(aA)
292- let aw = valueOrErrorMessage(z(h), (("No token is issued for `" + h) + "`"))
293- let l = fromBase58String(aw)
294- let aC = (assetBalance(aA, l) == 1)
295- let aD = ac(ab, h)
296- let aE = {
297- let E = assetInfo(l)
298- if ($isInstanceOf(E, "Asset"))
278+ let ay = Z.caller
279+ let az = toString(ay)
280+ let au = valueOrErrorMessage(x(h), (("No token is issued for `" + h) + "`"))
281+ let l = fromBase58String(au)
282+ let aA = (assetBalance(ay, l) == 1)
283+ let aB = aa(Z, h)
284+ let aC = {
285+ let C = assetInfo(l)
286+ if ($isInstanceOf(C, "Asset"))
299287 then {
300- let aF = E
301- (aF.quantity == 1)
288+ let aD = C
289+ (aD.quantity == 1)
302290 }
303291 else false
304292 }
305- if (if (aD)
306- then !(aE)
293+ if (if (aB)
294+ then !(aC)
307295 else false)
308296 then {
309- let aG = aj(h)
310- let aH = calculateAssetId(aG[0])
311- let aI = toBase58String(aH)
312- let aJ = am(h, aI)
313- let aK = an(aI, aB)
314- ((aG ++ aJ) ++ aK)
297+ let aE = ah(h)
298+ let aF = calculateAssetId(aE[0])
299+ let aG = toBase58String(aF)
300+ let aH = ak(h, aG)
301+ let aI = al(aG, az)
302+ ((aE ++ aH) ++ aI)
315303 }
316- else if (if (aD)
317- then aC
304+ else if (if (aB)
305+ then aA
318306 else false)
319307 then throw("You already own a name token")
320- else if (!(aC))
308+ else if (!(aA))
321309 then throw("You don't have a name token")
322- else t(h, aB)
310+ else t(h, az)
323311 })
324312
325313
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = valueOrErrorMessage(getString(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
55
66
77 func d (b,c) = valueOrErrorMessage(getInteger(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
88
99
1010 func e (f) = valueOrErrorMessage(addressFromString(f), (("Can't parse address from '" + f) + "'"))
1111
1212
1313 func g (h,i,j) = ((((h + "_") + i) + "_") + j)
1414
1515
1616 func k (l) = g("Token", l, "name")
1717
1818
1919 func m (h) = g("Name", h, "token")
2020
2121
2222 func n (h) = g("Name", h, "owner")
2323
2424
2525 func o (h) = g("Name", h, "resolver")
2626
2727
2828 func p (h) = g("Name", h, "expiresAt")
2929
3030
3131 func q (h) = g("Name", h, "createdAt")
3232
3333
3434 let r = "nameTTL"
3535
3636 let s = "controllers"
3737
3838 func t (h,u) = [StringEntry(n(h), u)]
3939
4040
4141 func v (h) = getString(this, n(h))
4242
4343
44-func w (h,x) = [StringEntry(o(h), x)]
44+func w (h) = getString(this, o(h))
4545
4646
47-func y (h) = getString(this, o(h))
47+func x (h) = getString(this, m(h))
4848
4949
50-func z (h) = getString(this, m(h))
50+func y (h) = getInteger(this, q(h))
5151
5252
53-func A (h) = getInteger(this, q(h))
53+func z (h) = getInteger(this, p(h))
5454
5555
56-func B (h) = getInteger(this, p(h))
56+func A () = getString(this, s)
5757
5858
59-func C () = getString(this, s)
60-
61-
62-let D = {
63- let E = C()
64- if ($isInstanceOf(E, "String"))
59+let B = {
60+ let C = A()
61+ if ($isInstanceOf(C, "String"))
6562 then {
66- let F = E
67- split(F, ",")
63+ let D = C
64+ split(D, ",")
6865 }
6966 else nil
7067 }
7168
72-let G = d(this, r)
69+let E = d(this, r)
7370
74-func H (h) = isDefined(getString(this, m(h)))
71+func F (h) = isDefined(getString(this, m(h)))
7572
7673
77-func I (h) = isDefined(A(h))
74+func G (h) = isDefined(y(h))
7875
7976
80-func J (h) = {
81- let E = B(h)
82- if ($isInstanceOf(E, "Int"))
77+func H (h) = {
78+ let C = z(h)
79+ if ($isInstanceOf(C, "Int"))
8380 then {
84- let K = E
85- (lastBlock.timestamp > K)
81+ let I = C
82+ (lastBlock.timestamp > I)
8683 }
8784 else false
8885 }
8986
9087
91-func L (h) = if (if (H(h))
92- then I(h)
88+func J (h) = if (if (F(h))
89+ then G(h)
9390 else false)
94- then !(J(h))
91+ then !(H(h))
9592 else false
9693
9794
98-func M (h) = {
99- let N = "abcdefghijklmnopqrstuvwxyz1234567890-"
100- func O (P,Q) = if (P)
101- then contains(N, Q)
95+func K (h) = {
96+ let L = "abcdefghijklmnopqrstuvwxyz1234567890-"
97+ func M (N,O) = if (N)
98+ then contains(L, O)
10299 else false
103100
104101 if (if (if (if (if ((size(h) > 0))
105102 then (63 >= size(h))
106103 else false)
107104 then (indexOf(h, "--") != 2)
108105 else false)
109106 then (indexOf(h, "-") != 0)
110107 else false)
111108 then (lastIndexOf(h, "-") != (size(h) - 1))
112109 else false)
113110 then {
114- let R = split(h, "")
115- let S = size(R)
116- let T = true
117- func U (V,W) = if ((W >= S))
118- then V
119- else O(V, R[W])
111+ let P = split(h, "")
112+ let Q = size(P)
113+ let R = true
114+ func S (T,U) = if ((U >= Q))
115+ then T
116+ else M(T, P[U])
120117
121- func X (V,W) = if ((W >= S))
122- then V
118+ func V (T,U) = if ((U >= Q))
119+ then T
123120 else throw("List size exceeds 63")
124121
125- X(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(T, 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)
122+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 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)
126123 }
127124 else false
128125 }
129126
130127
131-func Y (h) = if (M(h))
132- then if (!(H(h)))
128+func W (h) = if (K(h))
129+ then if (!(F(h)))
133130 then true
134- else J(h)
131+ else H(h)
135132 else false
136133
137134
138-func Z (f) = isDefined(addressFromString(f))
135+func X (f) = isDefined(addressFromString(f))
139136
140137
141-func aa (ab) = (ab.caller == this)
138+func Y (Z) = (Z.caller == this)
142139
143140
144-func ac (ab,h) = (toString(ab.caller) == valueOrElse(v(h), ""))
141+func aa (Z,h) = (toString(Z.caller) == valueOrElse(v(h), ""))
145142
146143
147-func ad (b) = containsElement(D, b)
144+func ab (b) = containsElement(B, b)
148145
149146
150-func ae (h) = {
151- let af = split(h, ".")
152- let ag = (size(af) - 1)
153- let ah = af[ag]
154- let ai = makeString(removeByIndex(af, ag), ".")
155- $Tuple2(ah, ai)
147+func ac (h) = {
148+ let ad = split(h, ".")
149+ let ae = (size(ad) - 1)
150+ let af = ad[ae]
151+ let ag = makeString(removeByIndex(ad, ae), ".")
152+ $Tuple2(af, ag)
156153 }
157154
158155
159-func aj (h) = [Issue(if ((size(h) > 16))
156+func ah (h) = [Issue(if ((size(h) > 16))
160157 then (take(h, 15) + "~")
161158 else take(h, 16), (h + ".waves"), 1, 0, false)]
162159
163160
164-func ak (h,l,al) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), al), IntegerEntry(p(h), (al + G))]
161+func ai (h,l,aj) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), aj), IntegerEntry(p(h), (aj + E))]
165162
166163
167-func am (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
164+func ak (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
168165
169166
170-func an (l,u) = [ScriptTransfer(e(u), 1, fromBase58String(l))]
167+func al (l,u) = [ScriptTransfer(e(u), 1, fromBase58String(l))]
171168
172169
173-func ao (ap) = unit
170+func am (an) = unit
174171
175172
176-func aq (ab) = if (aa(ab))
173+func ao (Z) = if (Y(Z))
177174 then unit
178175 else throw("Permission denied")
179176
180177
181-func ar (ab) = if (if (aa(ab))
178+func ap (Z) = if (if (Y(Z))
182179 then true
183- else ad(toString(ab.caller)))
180+ else ab(toString(Z.caller)))
184181 then unit
185182 else throw("Permission denied")
186183
187184
188-func as (ab,h) = if (if (aa(ab))
185+func aq (Z,h) = if (if (Y(Z))
189186 then true
190- else ac(ab, h))
187+ else aa(Z, h))
191188 then unit
192189 else throw("Permission denied")
193190
194191
195-@Callable(ab)
196-func init (G) = valueOrElse(ao([aq(ab), if ((G > 0))
192+@Callable(Z)
193+func init (E) = valueOrElse(am([ao(Z), if ((E > 0))
197194 then unit
198- else throw("TTL cannot be negative")]), [IntegerEntry(r, G)])
195+ else throw("TTL cannot be negative")]), [IntegerEntry(r, E)])
199196
200197
201198
202-@Callable(ab)
203-func supportsInterface (at) = $Tuple2(nil, containsElement(["owner", "resolver", "nameCreated", "nameExpires"], at))
199+@Callable(Z)
200+func supportsInterface (ar) = $Tuple2(nil, containsElement(["getOwner", "getResolver", "getNameCreated", "getNameExpires"], ar))
204201
205202
206203
207-@Callable(ab)
208-func addController (b) = valueOrElse(ao([aq(ab), if (Z(b))
204+@Callable(Z)
205+func addController (b) = valueOrElse(am([ao(Z), if (X(b))
209206 then unit
210- else throw("Controller must be a valid address"), if (!(ad(b)))
207+ else throw("Controller must be a valid address"), if (!(ab(b)))
211208 then unit
212- else throw((("Controller `" + b) + "` is already registered"))]), [StringEntry(s, makeString((D :+ b), ","))])
209+ else throw((("Controller `" + b) + "` is already registered"))]), [StringEntry(s, makeString((B :+ b), ","))])
213210
214211
215212
216-@Callable(ab)
217-func removeController (b) = valueOrElse(ao([aq(ab), if (ad(b))
213+@Callable(Z)
214+func removeController (b) = valueOrElse(am([ao(Z), if (ab(b))
218215 then unit
219216 else throw((("Controller `" + b) + "` is not registered"))]), {
220- let au = value(indexOf(D, b))
221-[StringEntry(s, makeString(removeByIndex(D, au), ","))]
217+ let as = value(indexOf(B, b))
218+[StringEntry(s, makeString(removeByIndex(B, as), ","))]
222219 })
223220
224221
225222
226-@Callable(ab)
227-func validate (h) = $Tuple2(nil, M(h))
223+@Callable(Z)
224+func isValid (h) = $Tuple2(nil, K(h))
228225
229226
230227
231-@Callable(ab)
232-func available (h) = $Tuple2(nil, Y(h))
228+@Callable(Z)
229+func isAvailable (h) = $Tuple2(nil, W(h))
233230
234231
235232
236-@Callable(ab)
237-func owner (h) = $Tuple2(nil, v(ae(h)._1))
233+@Callable(Z)
234+func getOwner (h) = $Tuple2(nil, v(ac(h)._1))
238235
239236
240237
241-@Callable(ab)
242-func resolver (h) = $Tuple2(nil, y(ae(h)._1))
238+@Callable(Z)
239+func getResolver (h) = $Tuple2(nil, w(ac(h)._1))
243240
244241
245242
246-@Callable(ab)
247-func setResolver (h,x) = valueOrElse(ao([if (L(h))
248- then unit
249- else throw("Name expired or not registered"), as(ab, h), if (Z(x))
250- then unit
251- else throw("Resolver must be a valid contract address")]), $Tuple2(nil, w(h, x)))
243+@Callable(Z)
244+func getNameCreated (h) = $Tuple2(nil, y(ac(h)._1))
252245
253246
254247
255-@Callable(ab)
256-func nameCreated (h) = $Tuple2(nil, A(ae(h)._1))
248+@Callable(Z)
249+func getNameExpires (h) = $Tuple2(nil, z(ac(h)._1))
257250
258251
259252
260-@Callable(ab)
261-func nameExpires (h) = $Tuple2(nil, B(ae(h)._1))
262-
263-
264-
265-@Callable(ab)
266-func register (h,u,al) = valueOrElse(ao([ar(ab), if (Y(h))
253+@Callable(Z)
254+func register (h,u,aj) = valueOrElse(am([ap(Z), if (W(h))
267255 then unit
268- else throw((("`" + h) + "` cannot be registered")), if (Z(u))
256+ else throw((("`" + h) + "` cannot be registered")), if (X(u))
269257 then unit
270- else throw("Owner must be a valid address"), if ((al > 0))
258+ else throw("Owner must be a valid address"), if ((aj > 0))
271259 then unit
272- else throw("CreatedAt cannot be negative"), if ((lastBlock.timestamp >= al))
260+ else throw("CreatedAt cannot be negative"), if ((lastBlock.timestamp >= aj))
273261 then unit
274262 else throw("CreatedAt cannot be in the future")]), {
275- let av = aj(h)
276- let l = calculateAssetId(av[0])
277- let aw = toBase58String(l)
278- let ax = ak(h, aw, al)
279- let ay = an(aw, u)
280- let az = t(h, u)
281- (((av ++ ax) ++ ay) ++ az)
263+ let at = ah(h)
264+ let l = calculateAssetId(at[0])
265+ let au = toBase58String(l)
266+ let av = ai(h, au, aj)
267+ let aw = al(au, u)
268+ let ax = t(h, u)
269+ (((at ++ av) ++ aw) ++ ax)
282270 })
283271
284272
285273
286-@Callable(ab)
287-func reclaim (h) = valueOrElse(ao([if (L(h))
274+@Callable(Z)
275+func reclaim (h) = valueOrElse(am([if (J(h))
288276 then unit
289277 else throw((("`" + h) + "` is not active"))]), {
290- let aA = ab.caller
291- let aB = toString(aA)
292- let aw = valueOrErrorMessage(z(h), (("No token is issued for `" + h) + "`"))
293- let l = fromBase58String(aw)
294- let aC = (assetBalance(aA, l) == 1)
295- let aD = ac(ab, h)
296- let aE = {
297- let E = assetInfo(l)
298- if ($isInstanceOf(E, "Asset"))
278+ let ay = Z.caller
279+ let az = toString(ay)
280+ let au = valueOrErrorMessage(x(h), (("No token is issued for `" + h) + "`"))
281+ let l = fromBase58String(au)
282+ let aA = (assetBalance(ay, l) == 1)
283+ let aB = aa(Z, h)
284+ let aC = {
285+ let C = assetInfo(l)
286+ if ($isInstanceOf(C, "Asset"))
299287 then {
300- let aF = E
301- (aF.quantity == 1)
288+ let aD = C
289+ (aD.quantity == 1)
302290 }
303291 else false
304292 }
305- if (if (aD)
306- then !(aE)
293+ if (if (aB)
294+ then !(aC)
307295 else false)
308296 then {
309- let aG = aj(h)
310- let aH = calculateAssetId(aG[0])
311- let aI = toBase58String(aH)
312- let aJ = am(h, aI)
313- let aK = an(aI, aB)
314- ((aG ++ aJ) ++ aK)
297+ let aE = ah(h)
298+ let aF = calculateAssetId(aE[0])
299+ let aG = toBase58String(aF)
300+ let aH = ak(h, aG)
301+ let aI = al(aG, az)
302+ ((aE ++ aH) ++ aI)
315303 }
316- else if (if (aD)
317- then aC
304+ else if (if (aB)
305+ then aA
318306 else false)
319307 then throw("You already own a name token")
320- else if (!(aC))
308+ else if (!(aA))
321309 then throw("You don't have a name token")
322- else t(h, aB)
310+ else t(h, az)
323311 })
324312
325313

github/deemru/w8io/873ac7e 
122.66 ms