tx · 4v2sTWWE6eWicKiGtzK46j5qao16bktZKRgrVPYToURs

3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ:  -0.01400000 Waves

2022.05.18 12:47 [2056937] smart account 3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ > SELF 0.00000000 Waves

{ "type": 13, "id": "4v2sTWWE6eWicKiGtzK46j5qao16bktZKRgrVPYToURs", "fee": 1400000, "feeAssetId": null, "timestamp": 1652867264255, "version": 2, "chainId": 84, "sender": "3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ", "senderPublicKey": "ApEZSyUFWsckB3mZSWm3spfm6UPyDhMdrpxNhydohYs1", "proofs": [ "BSqUw9Hye8rno8F2j6D1zbgc7CZDtrhBKpQBxwETnQj8SZKFz5dibQze3CJqMa6knECp85W6KT2aD5VWtGVzfnv" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAAFwAAAAAJc2VwYXJhdG9yAgAAAAFfAAAAAA1rZXlDaGFyc0NvdW50AgAAAAtjaGFyc19jb3VudAAAAAAIa2V5T3duZXICAAAABW93bmVyAAAAAA1rZXlBcHBlYXJhbmNlAgAAAAphcHBlYXJhbmNlAAAAABNrZXlOYXR1cmFsUHlyb0JvbnVzAgAAABJuYXR1cmFsX3B5cm9fYm9udXMAAAAAE2tleU5hdHVyYWxBcXVhQm9udXMCAAAAEm5hdHVyYWxfYXF1YV9ib251cwAAAAAUa2V5TmF0dXJhbFRlcnJhQm9udXMCAAAAE25hdHVyYWxfdGVycmFfYm9udXMAAAAAE2tleU5hdHVyYWxBZXJvQm9udXMCAAAAEm5hdHVyYWxfYWVyb19ib251cwAAAAAUa2V5TmF0dXJhbExvb3RzQm9udXMCAAAAE25hdHVyYWxfbG9vdHNfYm9udXMAAAAAGWtleU5hdHVyYWxHZW5lcmF0aW5nQm9udXMCAAAAGG5hdHVyYWxfZ2VuZXJhdGluZ19ib251cwAAAAAGZ292QXBwCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTXl4Znd2YnVlVUJ5bllIZlFzdXROWFpOcU5vekdpTW5zRwAAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzAgAAABNlY29zeXN0ZW1fYWRkcmVzc2VzAAAAABJrZXlDaGFyc0JvZHlBbW91bnQCAAAAEWNoYXJzX2JvZHlfYW1vdW50AAAAABJrZXlDaGFyc0V5ZXNBbW91bnQCAAAAEWNoYXJzX2V5ZXNfYW1vdW50AAAAABNrZXlDaGFyc01vdXRoQW1vdW50AgAAABJjaGFyc19tb3V0aF9hbW91bnQAAAAAGGtleUNoYXJzU3RhdHNUaWVyc1JhbmdlcwIAAAAYY2hhcnNfc3RhdHNfdGllcnNfcmFuZ2VzAAAAAB5rZXlDaGFyc05hdHVyYWxFbGVtQm9udXNSYW5nZXMCAAAAH2NoYXJzX25hdHVyYWxfZWxlbV9ib251c19yYW5nZXMAAAAAH2tleUNoYXJzTmF0dXJhbExvb3RzQm9udXNSYW5nZXMCAAAAIGNoYXJzX25hdHVyYWxfbG9vdHNfYm9udXNfcmFuZ2VzAAAAACRr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AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAGZ292QXBwBQAAAB9rZXlDaGFyc05hdHVyYWxMb290c0JvbnVzUmFuZ2VzBQAAAAlzZXBhcmF0b3IEAAAAGG5hdEdlbmVyYXRpbmdCb251c1JhbmdlcwkABLUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAZnb3ZBcHAFAAAAJGtleUNoYXJzTmF0dXJhbEdlbmVyYXRpbmdCb251c1JhbmdlcwUAAAAJc2VwYXJhdG9yBAAAAAphcHBlYXJhbmNlCQAEuQAAAAIJAARMAAAAAgkAAaQAAAABCQEAAAAHcmFuZEludAAAAAQAAAAAAAAAAAEFAAAADGJvZGllc0Ftb3VudAUAAAAEdHhJZAAAAAAAAAAAAAkABEwAAAACCQABpAAAAAEJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQUAAAAKZXllc0Ftb3VudAUAAAAEdHhJZAAAAAAAAAAAAQkABEwAAAACCQABpAAAAAEJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQUAAAAMbW91dGhzQW1vdW50BQAAAAR0eElkAAAAAAAAAAACBQAAAANuaWwFAAAACXNlcGFyYXRvcgQAAAAMbmF0UHlyb0JvbnVzCQEAAAAVZ2VuUmFuZG9tTmF0dXJhbEJvbnVzAAAABAUAAAAQc3RhdHNUaWVyc1JhbmdlcwUAAAASbmF0RWxlbUJvbnVzUmFuZ2VzAAAAAAAAAAADBQAAAAR0eElkBAAAAAxuYXRBcXVhQm9udXMJAQAAABVnZW5SYW5kb21OYXR1cmFsQm9udXMAAAAEBQAAABBzdGF0c1RpZXJzUmFuZ2VzBQAAABJuYXRFbGVtQm9udXNSYW5nZXMAAAAAAAAAAAoFAAAABHR4SWQEAAAADW5hdFRlcnJhQm9udXMJAQAAABVnZW5SYW5kb21OYXR1cmFsQm9udXMAAAAEBQAAABBzdGF0c1RpZXJzUmFuZ2VzBQAAABJuYXRFbGVtQm9udXNSYW5nZXMAAAAAAAAAABEFAAAABHR4SWQEAAAADG5hdEFlcm9Cb251cwkBAAAAFWdlblJhbmRvbU5hdHVyYWxCb251cwAAAAQFAAAAEHN0YXRzVGllcnNSYW5nZXMFAAAAEm5hdEVsZW1Cb251c1JhbmdlcwAAAAAAAAAAGAUAAAAEdHhJZAQAAAASbmF0R2VuZXJhdGluZ0JvbnVzCQEAAAAVZ2VuUmFuZG9tTmF0dXJhbEJvbnVzAAAABAUAAAAQc3RhdHNUaWVyc1JhbmdlcwUAAAAYbmF0R2VuZXJhdGluZ0JvbnVzUmFuZ2VzAAAAAAAAAAAfBQAAAAR0eElkBAAAAA1uYXRMb290c0JvbnVzCQEAAAAVZ2VuUmFuZG9tTmF0dXJhbEJvbnVzAAAABAUAAAAQc3RhdHNUaWVyc1JhbmdlcwUAAAATbmF0TG9vdHNCb251c1JhbmdlcwAAAAAAAAAAJgUAAAAEdHhJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAACGtleU93bmVyBQAAAAZjaGFySWQFAAAACmNhbGxlckFkZHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAAA1rZXlBcHBlYXJhbmNlBQAAAAZjaGFySWQFAAAACmFwcGVhcmFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5TmF0dXJhbFB5cm9Cb251cwUAAAAGY2hhcklkBQAAAAxuYXRQeXJvQm9udXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5TmF0dXJhbEFxdWFCb251cwUAAAAGY2hhcklkBQAAAAxuYXRBcXVhQm9udXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAUa2V5TmF0dXJhbFRlcnJhQm9udXMFAAAABmNoYXJJZAUAAAANbmF0VGVycmFCb251cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAABNrZXlOYXR1cmFsQWVyb0JvbnVzBQAAAAZjaGFySWQFAAAADG5hdEFlcm9Cb251cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAABRrZXlOYXR1cmFsTG9vdHNCb251cwUAAAAGY2hhcklkBQAAAA1uYXRMb290c0JvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAGWtleU5hdHVyYWxHZW5lcmF0aW5nQm9udXMFAAAABmNoYXJJZAUAAAASbmF0R2VuZXJhdGluZ0JvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlDaGFyc0NvdW50CQAAZAAAAAIFAAAABmNoYXJJZAAAAAAAAAAAAQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXk8kZDQ", "height": 2056937, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: E1wS6nSTx4FKYUCbv3JNMwYumLTuNcgLWbm6nr4HwkMo Next: EH6F1nYWZQHZZXjnwRsM9abBC79iw7zqgFtdv48bLezg Diff:
OldNewDifferences
99
1010 let d = "appearance"
1111
12-let e = "pyro_bonus"
12+let e = "natural_pyro_bonus"
1313
14-let f = "aqua_bonus"
14+let f = "natural_aqua_bonus"
1515
16-let g = "terra_bonus"
16+let g = "natural_terra_bonus"
1717
18-let h = "aero_bonus"
18+let h = "natural_aero_bonus"
1919
20-let i = "loots_bonus"
20+let i = "natural_loots_bonus"
2121
22-let j = "generating_bonus"
22+let j = "natural_generating_bonus"
2323
2424 let k = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
2525
2626 let l = "ecosystem_addresses"
2727
28-let m = "chars_bodies_amount"
28+let m = "chars_body_amount"
2929
3030 let n = "chars_eyes_amount"
3131
32-let o = "chars_mouths_amount"
32+let o = "chars_mouth_amount"
3333
3434 let p = "chars_stats_tiers_ranges"
3535
4545 let v = getStringValue(k, l)
4646 if ((contains(v, toString(u)) != false))
4747 then throw("Access denied")
48- else unit
48+ else true
4949 }
5050
5151
52-func w (x,y,z,A) = {
53- let B = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + z) + toBytes(A))))
54- value(((value(toInt(B)) % ((y - x) + 1)) + x))
52+func w (x,y) = {
53+ let z = {
54+ let A = y
55+ if ($isInstanceOf(A, "Int"))
56+ then {
57+ let B = A
58+ toString(B)
59+ }
60+ else if ($isInstanceOf(A, "String"))
61+ then {
62+ let C = A
63+ C
64+ }
65+ else throw("Matching issue in with function")
66+ }
67+ ((z + a) + x)
5568 }
5669
5770
58-func C (D,E) = ((toString(E) + a) + D)
71+func D (E,F,G,H) = {
72+ let I = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + G) + toBytes(H))))
73+ value(((value(toInt(I)) % ((F - E) + 1)) + E))
74+ }
5975
6076
61-func F (G,H,I,z) = {
62- let J = parseIntValue(G[0])
63- let K = parseIntValue(G[1])
64- let L = parseIntValue(G[2])
65- let M = parseIntValue(G[3])
66- let N = parseIntValue(G[4])
67- let O = parseIntValue(G[5])
68- let P = parseIntValue(H[0])
69- let Q = parseIntValue(H[1])
70- let R = parseIntValue(H[2])
71- let S = parseIntValue(H[3])
72- let T = parseIntValue(H[4])
73- let U = parseIntValue(H[5])
74- let V = w(0, 10000, z, I)
75- if (if ((V >= 0))
76- then (J >= V)
77+func J (K,L,M,G) = {
78+ let N = parseIntValue(K[0])
79+ let O = parseIntValue(K[1])
80+ let P = parseIntValue(K[2])
81+ let Q = parseIntValue(K[3])
82+ let R = parseIntValue(K[4])
83+ let S = parseIntValue(K[5])
84+ let T = parseIntValue(L[0])
85+ let U = parseIntValue(L[1])
86+ let V = parseIntValue(L[2])
87+ let W = parseIntValue(L[3])
88+ let X = parseIntValue(L[4])
89+ let Y = parseIntValue(L[5])
90+ let Z = D(0, 10000, G, M)
91+ if (if ((Z >= 0))
92+ then (N >= Z)
7793 else false)
78- then w(0, P, z, (I + 1))
79- else if (if ((V > J))
80- then (K >= V)
94+ then D(0, T, G, (M + 1))
95+ else if (if ((Z > N))
96+ then (O >= Z)
8197 else false)
82- then w((P + 1), Q, z, (I + 2))
83- else if (if ((V > K))
84- then (L >= V)
98+ then D((T + 1), U, G, (M + 2))
99+ else if (if ((Z > O))
100+ then (P >= Z)
85101 else false)
86- then w((Q + 1), R, z, (I + 3))
87- else if (if ((V > L))
88- then (M >= V)
102+ then D((U + 1), V, G, (M + 3))
103+ else if (if ((Z > P))
104+ then (Q >= Z)
89105 else false)
90- then w((R + 1), S, z, (I + 4))
91- else if (if ((V > M))
92- then (N >= V)
106+ then D((V + 1), W, G, (M + 4))
107+ else if (if ((Z > Q))
108+ then (R >= Z)
93109 else false)
94- then w((S + 1), T, z, (I + 5))
95- else if (if ((V > N))
96- then (O >= V)
110+ then D((W + 1), X, G, (M + 5))
111+ else if (if ((Z > R))
112+ then (S >= Z)
97113 else false)
98- then w((T + 1), U, z, (I + 6))
114+ then D((X + 1), Y, G, (M + 6))
99115 else throw("Unexpected error")
100116 }
101117
102118
103-@Callable(W)
104-func createChar () = valueOrElse(t(W.caller), {
105- let z = W.transactionId
106- let u = toBase58String(W.caller.bytes)
107- let X = valueOrElse(getInteger(this, b), 1)
108- let Y = getIntegerValue(k, m)
109- let Z = getIntegerValue(k, n)
110- let aa = getIntegerValue(k, o)
111- let ab = split(getStringValue(k, p), a)
112- let ac = split(getStringValue(k, q), a)
113- let ad = split(getStringValue(k, r), a)
114- let ae = split(getStringValue(k, s), a)
115- let af = makeString([toString(w(1, Y, z, 0)), toString(w(1, Z, z, 1)), toString(w(1, aa, z, 2))], a)
116- let ag = F(ab, ac, 3, z)
117- let ah = F(ab, ac, 10, z)
118- let ai = F(ab, ac, 17, z)
119- let aj = F(ab, ac, 24, z)
120- let ak = F(ab, ae, 31, z)
121- let al = F(ab, ad, 38, z)
122-[StringEntry(C(c, X), u), StringEntry(C(d, X), af), IntegerEntry(C(e, X), ag), IntegerEntry(C(f, X), ah), IntegerEntry(C(g, X), ai), IntegerEntry(C(h, X), aj), IntegerEntry(C(i, X), al), IntegerEntry(C(j, X), ak), IntegerEntry(b, (X + 1))]
123- })
119+@Callable(aa)
120+func createChar () = if ((t(aa.caller) != true))
121+ then throw()
122+ else {
123+ let G = aa.transactionId
124+ let u = toBase58String(aa.caller.bytes)
125+ let ab = valueOrElse(getInteger(this, b), 1)
126+ let ac = getIntegerValue(k, m)
127+ let ad = getIntegerValue(k, n)
128+ let ae = getIntegerValue(k, o)
129+ let af = split(getStringValue(k, p), a)
130+ let ag = split(getStringValue(k, q), a)
131+ let ah = split(getStringValue(k, r), a)
132+ let ai = split(getStringValue(k, s), a)
133+ let aj = makeString([toString(D(1, ac, G, 0)), toString(D(1, ad, G, 1)), toString(D(1, ae, G, 2))], a)
134+ let ak = J(af, ag, 3, G)
135+ let al = J(af, ag, 10, G)
136+ let am = J(af, ag, 17, G)
137+ let an = J(af, ag, 24, G)
138+ let ao = J(af, ai, 31, G)
139+ let ap = J(af, ah, 38, G)
140+[StringEntry(w(c, ab), u), StringEntry(w(d, ab), aj), IntegerEntry(w(e, ab), ak), IntegerEntry(w(f, ab), al), IntegerEntry(w(g, ab), am), IntegerEntry(w(h, ab), an), IntegerEntry(w(i, ab), ap), IntegerEntry(w(j, ab), ao), IntegerEntry(b, (ab + 1))]
141+ }
124142
125143
126-@Verifier(am)
127-func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey)
144+@Verifier(aq)
145+func ar () = sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
128146
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = "chars_count"
77
88 let c = "owner"
99
1010 let d = "appearance"
1111
12-let e = "pyro_bonus"
12+let e = "natural_pyro_bonus"
1313
14-let f = "aqua_bonus"
14+let f = "natural_aqua_bonus"
1515
16-let g = "terra_bonus"
16+let g = "natural_terra_bonus"
1717
18-let h = "aero_bonus"
18+let h = "natural_aero_bonus"
1919
20-let i = "loots_bonus"
20+let i = "natural_loots_bonus"
2121
22-let j = "generating_bonus"
22+let j = "natural_generating_bonus"
2323
2424 let k = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
2525
2626 let l = "ecosystem_addresses"
2727
28-let m = "chars_bodies_amount"
28+let m = "chars_body_amount"
2929
3030 let n = "chars_eyes_amount"
3131
32-let o = "chars_mouths_amount"
32+let o = "chars_mouth_amount"
3333
3434 let p = "chars_stats_tiers_ranges"
3535
3636 let q = "chars_natural_elem_bonus_ranges"
3737
3838 let r = "chars_natural_loots_bonus_ranges"
3939
4040 let s = "chars_natural_generating_bonus_ranges"
4141
4242 func t (u) = if ((isDataStorageUntouched(k) != false))
4343 then throw("Governing app not ready")
4444 else {
4545 let v = getStringValue(k, l)
4646 if ((contains(v, toString(u)) != false))
4747 then throw("Access denied")
48- else unit
48+ else true
4949 }
5050
5151
52-func w (x,y,z,A) = {
53- let B = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + z) + toBytes(A))))
54- value(((value(toInt(B)) % ((y - x) + 1)) + x))
52+func w (x,y) = {
53+ let z = {
54+ let A = y
55+ if ($isInstanceOf(A, "Int"))
56+ then {
57+ let B = A
58+ toString(B)
59+ }
60+ else if ($isInstanceOf(A, "String"))
61+ then {
62+ let C = A
63+ C
64+ }
65+ else throw("Matching issue in with function")
66+ }
67+ ((z + a) + x)
5568 }
5669
5770
58-func C (D,E) = ((toString(E) + a) + D)
71+func D (E,F,G,H) = {
72+ let I = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + G) + toBytes(H))))
73+ value(((value(toInt(I)) % ((F - E) + 1)) + E))
74+ }
5975
6076
61-func F (G,H,I,z) = {
62- let J = parseIntValue(G[0])
63- let K = parseIntValue(G[1])
64- let L = parseIntValue(G[2])
65- let M = parseIntValue(G[3])
66- let N = parseIntValue(G[4])
67- let O = parseIntValue(G[5])
68- let P = parseIntValue(H[0])
69- let Q = parseIntValue(H[1])
70- let R = parseIntValue(H[2])
71- let S = parseIntValue(H[3])
72- let T = parseIntValue(H[4])
73- let U = parseIntValue(H[5])
74- let V = w(0, 10000, z, I)
75- if (if ((V >= 0))
76- then (J >= V)
77+func J (K,L,M,G) = {
78+ let N = parseIntValue(K[0])
79+ let O = parseIntValue(K[1])
80+ let P = parseIntValue(K[2])
81+ let Q = parseIntValue(K[3])
82+ let R = parseIntValue(K[4])
83+ let S = parseIntValue(K[5])
84+ let T = parseIntValue(L[0])
85+ let U = parseIntValue(L[1])
86+ let V = parseIntValue(L[2])
87+ let W = parseIntValue(L[3])
88+ let X = parseIntValue(L[4])
89+ let Y = parseIntValue(L[5])
90+ let Z = D(0, 10000, G, M)
91+ if (if ((Z >= 0))
92+ then (N >= Z)
7793 else false)
78- then w(0, P, z, (I + 1))
79- else if (if ((V > J))
80- then (K >= V)
94+ then D(0, T, G, (M + 1))
95+ else if (if ((Z > N))
96+ then (O >= Z)
8197 else false)
82- then w((P + 1), Q, z, (I + 2))
83- else if (if ((V > K))
84- then (L >= V)
98+ then D((T + 1), U, G, (M + 2))
99+ else if (if ((Z > O))
100+ then (P >= Z)
85101 else false)
86- then w((Q + 1), R, z, (I + 3))
87- else if (if ((V > L))
88- then (M >= V)
102+ then D((U + 1), V, G, (M + 3))
103+ else if (if ((Z > P))
104+ then (Q >= Z)
89105 else false)
90- then w((R + 1), S, z, (I + 4))
91- else if (if ((V > M))
92- then (N >= V)
106+ then D((V + 1), W, G, (M + 4))
107+ else if (if ((Z > Q))
108+ then (R >= Z)
93109 else false)
94- then w((S + 1), T, z, (I + 5))
95- else if (if ((V > N))
96- then (O >= V)
110+ then D((W + 1), X, G, (M + 5))
111+ else if (if ((Z > R))
112+ then (S >= Z)
97113 else false)
98- then w((T + 1), U, z, (I + 6))
114+ then D((X + 1), Y, G, (M + 6))
99115 else throw("Unexpected error")
100116 }
101117
102118
103-@Callable(W)
104-func createChar () = valueOrElse(t(W.caller), {
105- let z = W.transactionId
106- let u = toBase58String(W.caller.bytes)
107- let X = valueOrElse(getInteger(this, b), 1)
108- let Y = getIntegerValue(k, m)
109- let Z = getIntegerValue(k, n)
110- let aa = getIntegerValue(k, o)
111- let ab = split(getStringValue(k, p), a)
112- let ac = split(getStringValue(k, q), a)
113- let ad = split(getStringValue(k, r), a)
114- let ae = split(getStringValue(k, s), a)
115- let af = makeString([toString(w(1, Y, z, 0)), toString(w(1, Z, z, 1)), toString(w(1, aa, z, 2))], a)
116- let ag = F(ab, ac, 3, z)
117- let ah = F(ab, ac, 10, z)
118- let ai = F(ab, ac, 17, z)
119- let aj = F(ab, ac, 24, z)
120- let ak = F(ab, ae, 31, z)
121- let al = F(ab, ad, 38, z)
122-[StringEntry(C(c, X), u), StringEntry(C(d, X), af), IntegerEntry(C(e, X), ag), IntegerEntry(C(f, X), ah), IntegerEntry(C(g, X), ai), IntegerEntry(C(h, X), aj), IntegerEntry(C(i, X), al), IntegerEntry(C(j, X), ak), IntegerEntry(b, (X + 1))]
123- })
119+@Callable(aa)
120+func createChar () = if ((t(aa.caller) != true))
121+ then throw()
122+ else {
123+ let G = aa.transactionId
124+ let u = toBase58String(aa.caller.bytes)
125+ let ab = valueOrElse(getInteger(this, b), 1)
126+ let ac = getIntegerValue(k, m)
127+ let ad = getIntegerValue(k, n)
128+ let ae = getIntegerValue(k, o)
129+ let af = split(getStringValue(k, p), a)
130+ let ag = split(getStringValue(k, q), a)
131+ let ah = split(getStringValue(k, r), a)
132+ let ai = split(getStringValue(k, s), a)
133+ let aj = makeString([toString(D(1, ac, G, 0)), toString(D(1, ad, G, 1)), toString(D(1, ae, G, 2))], a)
134+ let ak = J(af, ag, 3, G)
135+ let al = J(af, ag, 10, G)
136+ let am = J(af, ag, 17, G)
137+ let an = J(af, ag, 24, G)
138+ let ao = J(af, ai, 31, G)
139+ let ap = J(af, ah, 38, G)
140+[StringEntry(w(c, ab), u), StringEntry(w(d, ab), aj), IntegerEntry(w(e, ab), ak), IntegerEntry(w(f, ab), al), IntegerEntry(w(g, ab), am), IntegerEntry(w(h, ab), an), IntegerEntry(w(i, ab), ap), IntegerEntry(w(j, ab), ao), IntegerEntry(b, (ab + 1))]
141+ }
124142
125143
126-@Verifier(am)
127-func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey)
144+@Verifier(aq)
145+func ar () = sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
128146

github/deemru/w8io/169f3d6 
102.73 ms