tx · E1wS6nSTx4FKYUCbv3JNMwYumLTuNcgLWbm6nr4HwkMo

3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ:  -0.01400000 Waves

2022.05.17 13:00 [2055516] smart account 3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ > SELF 0.00000000 Waves

{ "type": 13, "id": "E1wS6nSTx4FKYUCbv3JNMwYumLTuNcgLWbm6nr4HwkMo", "fee": 1400000, "feeAssetId": null, "timestamp": 1652781776435, "version": 2, "chainId": 84, "sender": "3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ", "senderPublicKey": "ApEZSyUFWsckB3mZSWm3spfm6UPyDhMdrpxNhydohYs1", "proofs": [ "2cdEhohXnK8GVuA9QbRxJ6Kg1D7qGhyaqnsu2WPz5YJmxkmB9Ug77z9wRd4BDPAYAgRV6bbS8bdxroFgRzVcsVV8" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAAFwAAAAAJc2VwYXJhdG9yAgAAAAFfAAAAAA1rZXlDaGFyc0NvdW50AgAAAAtjaGFyc19jb3VudAAAAAAIa2V5T3duZXICAAAABW93bmVyAAAAAA1rZXlBcHBlYXJhbmNlAgAAAAphcHBlYXJhbmNlAAAAAAxrZXlQeXJvQm9udXMCAAAACnB5cm9fYm9udXMAAAAADGtleUFxdWFCb251cwIAAAAKYXF1YV9ib251cwAAAAANa2V5VGVycmFCb251cwIAAAALdGVycmFfYm9udXMAAAAADGtleUFlcm9Cb251cwIAAAAKYWVyb19ib251cwAAAAANa2V5TG9vdHNCb251cwIAAAALbG9vdHNfYm9udXMAAAAAEmtleUdlbmVyYXRpbmdCb251cwIAAAAQZ2VuZXJhdGluZ19ib251cwAAAAAHZ292QWRkcgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM015eGZ3dmJ1ZVVCeW5ZSGZRc3V0TlhaTnFOb3pHaU1uc0cAAAAAFWtleUVjb3N5c3RlbUFkZHJlc3NlcwIAAAATZWNvc3lzdGVtX2FkZHJlc3NlcwAAAAAUa2V5Q2hhcnNCb2RpZXNBbW91bnQCAAAAE2NoYXJzX2JvZGllc19hbW91bnQAAAAAEmtleUNoYXJzRXllc0Ftb3VudAIAAAARY2hhcnNfZXllc19hbW91bnQAAAAAFGtleUNoYXJzTW91dGhzQW1vdW50AgAAABNjaGFyc19tb3V0aHNfYW1vdW50AAAAABhrZXlDaGFyc1N0YXRzVGllcnNSYW5nZXMCAAAAGGNoYXJzX3N0YXRzX3RpZXJzX3JhbmdlcwAAAAAea2V5Q2hhcnNOYXR1cmFsRWxlbUJvbnVzUmFuZ2VzAgAAAB9jaGFyc19uYXR1cmFsX2VsZW1fYm9udXNfcmFuZ2VzAAAAAB9rZXlDaGFyc05hdHVyYWxMb290c0JvbnVzUmFuZ2VzAgAAACBjaGFyc19uYXR1cmFsX2xvb3RzX2JvbnVzX3JhbmdlcwAAAAAka2V5Q2hhcnNOYXR1cmFsR2VuZXJhdGluZ0JvbnVzUmFuZ2VzAgAAACVjaGFyc19uYXR1cmFsX2dlbmVyYXRpbmdfYm9udXNfcmFuZ2VzAQAAAAtp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SWQEAAAACmNhbGxlckFkZHIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAGY2hhcklkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleUNoYXJzQ291bnQAAAAAAAAAAAEEAAAADGJvZGllc0Ftb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAHZ292QWRkcgUAAAAUa2V5Q2hhcnNCb2RpZXNBbW91bnQEAAAACmV5ZXNBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAB2dvdkFkZHIFAAAAEmtleUNoYXJzRXllc0Ftb3VudAQAAAAMbW91dGhzQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAdnb3ZBZGRyBQAAABRrZXlDaGFyc01vdXRoc0Ftb3VudAQAAAAQc3RhdHNUaWVyc1JhbmdlcwkABLUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAdnb3ZBZGRyBQAAABhrZXlDaGFyc1N0YXRzVGllcnNSYW5nZXMFAAAACXNlcGFyYXRvcgQAAAAPZWxlbUJvbnVzUmFuZ2VzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAB2dvdkFkZHIFAAAAHmtleUNoYXJzTmF0dXJhbEVsZW1Cb251c1JhbmdlcwUAAAAJc2VwYXJhdG9yBAAAABBsb290c0JvbnVzUmFuZ2VzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAB2dvdkFkZHIFAAAAH2tleUNoYXJzTmF0dXJhbExvb3RzQm9udXNSYW5nZXMFAAAACXNlcGFyYXRvcgQAAAAVZ2VuZXJhdGluZ0JvbnVzUmFuZ2VzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAB2dvdkFkZHIFAAAAJGtleUNoYXJzTmF0dXJhbEdlbmVyYXRpbmdCb251c1JhbmdlcwUAAAAJc2VwYXJhdG9yBAAAAAphcHBlYXJhbmNlCQAEuQAAAAIJAARMAAAAAgkAAaQAAAABCQEAAAAHcmFuZEludAAAAAQAAAAAAAAAAAEFAAAADGJvZGllc0Ftb3VudAUAAAAEdHhJZAAAAAAAAAAAAAkABEwAAAACCQABpAAAAAEJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQUAAAAKZXllc0Ftb3VudAUAAAAEdHhJZAAAAAAAAAAAAQkABEwAAAACCQABpAAAAAEJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQUAAAAMbW91dGhzQW1vdW50BQAAAAR0eElkAAAAAAAAAAACBQAAAANuaWwFAAAACXNlcGFyYXRvcgQAAAAJcHlyb0JvbnVzCQEAAAAOZ2V0UmFuZG9tQm9udXMAAAAEBQAAABBzdGF0c1RpZXJzUmFuZ2VzBQAAAA9lbGVtQm9udXNSYW5nZXMAAAAAAAAAAAMFAAAABHR4SWQEAAAACWFxdWFCb251cwkBAAAADmdldFJhbmRvbUJvbnVzAAAABAUAAAAQc3RhdHNUaWVyc1JhbmdlcwUAAAAPZWxlbUJvbnVzUmFuZ2VzAAAAAAAAAAAKBQAAAAR0eElkBAAAAAp0ZXJyYUJvbnVzCQEAAAAOZ2V0UmFuZG9tQm9udXMAAAAEBQAAABBzdGF0c1RpZXJzUmFuZ2VzBQAAAA9lbGVtQm9udXNSYW5nZXMAAAAAAAAAABEFAAAABHR4SWQEAAAACWFlcm9Cb251cwkBAAAADmdldFJhbmRvbUJvbnVzAAAABAUAAAAQc3RhdHNUaWVyc1JhbmdlcwUAAAAPZWxlbUJvbnVzUmFuZ2VzAAAAAAAAAAAYBQAAAAR0eElkBAAAAA9nZW5lcmF0aW5nQm9udXMJAQAAAA5nZXRSYW5kb21Cb251cwAAAAQFAAAAEHN0YXRzVGllcnNSYW5nZXMFAAAAFWdlbmVyYXRpbmdCb251c1JhbmdlcwAAAAAAAAAAHwUAAAAEdHhJZAQAAAAKbG9vdHNCb251cwkBAAAADmdldFJhbmRvbUJvbnVzAAAABAUAAAAQc3RhdHNUaWVyc1JhbmdlcwUAAAAQbG9vdHNCb251c1JhbmdlcwAAAAAAAAAAJgUAAAAEdHhJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAACGtleU93bmVyBQAAAAZjaGFySWQFAAAACmNhbGxlckFkZHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAAA1rZXlBcHBlYXJhbmNlBQAAAAZjaGFySWQFAAAACmFwcGVhcmFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAMa2V5UHlyb0JvbnVzBQAAAAZjaGFySWQFAAAACXB5cm9Cb251cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAAAxrZXlBcXVhQm9udXMFAAAABmNoYXJJZAUAAAAJYXF1YUJvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAADWtleVRlcnJhQm9udXMFAAAABmNoYXJJZAUAAAAKdGVycmFCb251cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAAAxrZXlBZXJvQm9udXMFAAAABmNoYXJJZAUAAAAJYWVyb0JvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAADWtleUxvb3RzQm9udXMFAAAABmNoYXJJZAUAAAAKbG9vdHNCb251cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAABJrZXlHZW5lcmF0aW5nQm9udXMFAAAABmNoYXJJZAUAAAAPZ2VuZXJhdGluZ0JvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlDaGFyc0NvdW50CQAAZAAAAAIFAAAABmNoYXJJZAAAAAAAAAAAAQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnk5q6N", "height": 2055516, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 77DuniQNft7TNSU2eHHgSWkYjWNYf2iSN789WS5kpaMG Next: 4v2sTWWE6eWicKiGtzK46j5qao16bktZKRgrVPYToURs Diff:
OldNewDifferences
55
66 let b = "chars_count"
77
8-let c = "char"
8+let c = "owner"
99
10-let d = "owner"
10+let d = "appearance"
1111
12-let e = "appearance"
12+let e = "pyro_bonus"
1313
14-let f = "pyro_bonus"
14+let f = "aqua_bonus"
1515
16-let g = "aqua_bonus"
16+let g = "terra_bonus"
1717
18-let h = "terra_bonus"
18+let h = "aero_bonus"
1919
20-let i = "aero_bonus"
20+let i = "loots_bonus"
2121
22-let j = "loots_bonus"
22+let j = "generating_bonus"
2323
24-let k = "generating_bonus"
24+let k = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
2525
26-let l = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
26+let l = "ecosystem_addresses"
2727
28-let m = "ecosystem_addresses"
28+let m = "chars_bodies_amount"
2929
30-let n = "chars_bodies_amount"
30+let n = "chars_eyes_amount"
3131
32-let o = "chars_eyes_amount"
32+let o = "chars_mouths_amount"
3333
34-let p = "chars_mouths_amount"
34+let p = "chars_stats_tiers_ranges"
3535
36-let q = "chars_stats_tiers_ranges"
36+let q = "chars_natural_elem_bonus_ranges"
3737
38-let r = "chars_natural_elem_bonus_ranges"
38+let r = "chars_natural_loots_bonus_ranges"
3939
40-let s = "chars_natural_loots_bonus_ranges"
40+let s = "chars_natural_generating_bonus_ranges"
4141
42-let t = "chars_natural_generating_bonus_ranges"
43-
44-func u (v) = if ((isDataStorageUntouched(l) != false))
42+func t (u) = if ((isDataStorageUntouched(k) != false))
4543 then throw("Governing app not ready")
4644 else {
47- let w = getStringValue(l, m)
48- if ((contains(w, toString(v)) != false))
45+ let v = getStringValue(k, l)
46+ if ((contains(v, toString(u)) != false))
4947 then throw("Access denied")
5048 else unit
5149 }
5250
5351
54-func x (y,z,A,B) = {
55- let C = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + A) + toBytes(B))))
56- value(((value(toInt(C)) % ((z - y) + 1)) + y))
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))
5755 }
5856
5957
60-func D (E,F) = ((((c + a) + toString(F)) + a) + E)
58+func C (D,E) = ((toString(E) + a) + D)
6159
6260
63-func G (H,I,J,A) = {
64- let K = parseIntValue(H[0])
65- let L = parseIntValue(H[1])
66- let M = parseIntValue(H[2])
67- let N = parseIntValue(H[3])
68- let O = parseIntValue(H[4])
69- let P = parseIntValue(H[5])
70- let Q = parseIntValue(I[0])
71- let R = parseIntValue(I[1])
72- let S = parseIntValue(I[2])
73- let T = parseIntValue(I[3])
74- let U = parseIntValue(I[4])
75- let V = parseIntValue(I[5])
76- let W = x(0, 10000, A, J)
77- if (if ((W >= 0))
78- then (K >= W)
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)
7977 else false)
80- then x(0, Q, A, (J + 1))
81- else if (if ((W > K))
82- then (L >= W)
78+ then w(0, P, z, (I + 1))
79+ else if (if ((V > J))
80+ then (K >= V)
8381 else false)
84- then x((Q + 1), R, A, (J + 2))
85- else if (if ((W > L))
86- then (M >= W)
82+ then w((P + 1), Q, z, (I + 2))
83+ else if (if ((V > K))
84+ then (L >= V)
8785 else false)
88- then x((R + 1), S, A, (J + 3))
89- else if (if ((W > M))
90- then (N >= W)
86+ then w((Q + 1), R, z, (I + 3))
87+ else if (if ((V > L))
88+ then (M >= V)
9189 else false)
92- then x((S + 1), T, A, (J + 4))
93- else if (if ((W > N))
94- then (O >= W)
90+ then w((R + 1), S, z, (I + 4))
91+ else if (if ((V > M))
92+ then (N >= V)
9593 else false)
96- then x((T + 1), U, A, (J + 5))
97- else if (if ((W > O))
98- then (P >= W)
94+ then w((S + 1), T, z, (I + 5))
95+ else if (if ((V > N))
96+ then (O >= V)
9997 else false)
100- then x((U + 1), V, A, (J + 6))
98+ then w((T + 1), U, z, (I + 6))
10199 else throw("Unexpected error")
102100 }
103101
104102
105-@Callable(X)
106-func createChar () = valueOrElse(u(X.caller), {
107- let A = X.transactionId
108- let v = toBase58String(X.caller.bytes)
109- let Y = valueOrElse(getInteger(this, b), 1)
110- let Z = getIntegerValue(l, n)
111- let aa = getIntegerValue(l, o)
112- let ab = getIntegerValue(l, p)
113- let ac = split(getStringValue(l, q), a)
114- let ad = split(getStringValue(l, r), a)
115- let ae = split(getStringValue(l, s), a)
116- let af = split(getStringValue(l, t), a)
117- let ag = makeString([toString(x(1, Z, A, 0)), toString(x(1, aa, A, 1)), toString(x(1, ab, A, 2))], a)
118- let ah = G(ac, ad, 3, A)
119- let ai = G(ac, ad, 10, A)
120- let aj = G(ac, ad, 17, A)
121- let ak = G(ac, ad, 24, A)
122- let al = G(ac, af, 31, A)
123- let am = G(ac, ae, 38, A)
124-[StringEntry(D(d, Y), v), StringEntry(D(e, Y), ag), IntegerEntry(D(f, Y), ah), IntegerEntry(D(g, Y), ai), IntegerEntry(D(h, Y), aj), IntegerEntry(D(i, Y), ak), IntegerEntry(D(j, Y), am), IntegerEntry(D(k, Y), al), IntegerEntry(b, (Y + 1))]
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))]
125123 })
126124
127125
128-@Verifier(an)
129-func ao () = sigVerify(an.bodyBytes, an.proofs[0], an.senderPublicKey)
126+@Verifier(am)
127+func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey)
130128
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = "chars_count"
77
8-let c = "char"
8+let c = "owner"
99
10-let d = "owner"
10+let d = "appearance"
1111
12-let e = "appearance"
12+let e = "pyro_bonus"
1313
14-let f = "pyro_bonus"
14+let f = "aqua_bonus"
1515
16-let g = "aqua_bonus"
16+let g = "terra_bonus"
1717
18-let h = "terra_bonus"
18+let h = "aero_bonus"
1919
20-let i = "aero_bonus"
20+let i = "loots_bonus"
2121
22-let j = "loots_bonus"
22+let j = "generating_bonus"
2323
24-let k = "generating_bonus"
24+let k = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
2525
26-let l = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
26+let l = "ecosystem_addresses"
2727
28-let m = "ecosystem_addresses"
28+let m = "chars_bodies_amount"
2929
30-let n = "chars_bodies_amount"
30+let n = "chars_eyes_amount"
3131
32-let o = "chars_eyes_amount"
32+let o = "chars_mouths_amount"
3333
34-let p = "chars_mouths_amount"
34+let p = "chars_stats_tiers_ranges"
3535
36-let q = "chars_stats_tiers_ranges"
36+let q = "chars_natural_elem_bonus_ranges"
3737
38-let r = "chars_natural_elem_bonus_ranges"
38+let r = "chars_natural_loots_bonus_ranges"
3939
40-let s = "chars_natural_loots_bonus_ranges"
40+let s = "chars_natural_generating_bonus_ranges"
4141
42-let t = "chars_natural_generating_bonus_ranges"
43-
44-func u (v) = if ((isDataStorageUntouched(l) != false))
42+func t (u) = if ((isDataStorageUntouched(k) != false))
4543 then throw("Governing app not ready")
4644 else {
47- let w = getStringValue(l, m)
48- if ((contains(w, toString(v)) != false))
45+ let v = getStringValue(k, l)
46+ if ((contains(v, toString(u)) != false))
4947 then throw("Access denied")
5048 else unit
5149 }
5250
5351
54-func x (y,z,A,B) = {
55- let C = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + A) + toBytes(B))))
56- value(((value(toInt(C)) % ((z - y) + 1)) + y))
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))
5755 }
5856
5957
60-func D (E,F) = ((((c + a) + toString(F)) + a) + E)
58+func C (D,E) = ((toString(E) + a) + D)
6159
6260
63-func G (H,I,J,A) = {
64- let K = parseIntValue(H[0])
65- let L = parseIntValue(H[1])
66- let M = parseIntValue(H[2])
67- let N = parseIntValue(H[3])
68- let O = parseIntValue(H[4])
69- let P = parseIntValue(H[5])
70- let Q = parseIntValue(I[0])
71- let R = parseIntValue(I[1])
72- let S = parseIntValue(I[2])
73- let T = parseIntValue(I[3])
74- let U = parseIntValue(I[4])
75- let V = parseIntValue(I[5])
76- let W = x(0, 10000, A, J)
77- if (if ((W >= 0))
78- then (K >= W)
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)
7977 else false)
80- then x(0, Q, A, (J + 1))
81- else if (if ((W > K))
82- then (L >= W)
78+ then w(0, P, z, (I + 1))
79+ else if (if ((V > J))
80+ then (K >= V)
8381 else false)
84- then x((Q + 1), R, A, (J + 2))
85- else if (if ((W > L))
86- then (M >= W)
82+ then w((P + 1), Q, z, (I + 2))
83+ else if (if ((V > K))
84+ then (L >= V)
8785 else false)
88- then x((R + 1), S, A, (J + 3))
89- else if (if ((W > M))
90- then (N >= W)
86+ then w((Q + 1), R, z, (I + 3))
87+ else if (if ((V > L))
88+ then (M >= V)
9189 else false)
92- then x((S + 1), T, A, (J + 4))
93- else if (if ((W > N))
94- then (O >= W)
90+ then w((R + 1), S, z, (I + 4))
91+ else if (if ((V > M))
92+ then (N >= V)
9593 else false)
96- then x((T + 1), U, A, (J + 5))
97- else if (if ((W > O))
98- then (P >= W)
94+ then w((S + 1), T, z, (I + 5))
95+ else if (if ((V > N))
96+ then (O >= V)
9997 else false)
100- then x((U + 1), V, A, (J + 6))
98+ then w((T + 1), U, z, (I + 6))
10199 else throw("Unexpected error")
102100 }
103101
104102
105-@Callable(X)
106-func createChar () = valueOrElse(u(X.caller), {
107- let A = X.transactionId
108- let v = toBase58String(X.caller.bytes)
109- let Y = valueOrElse(getInteger(this, b), 1)
110- let Z = getIntegerValue(l, n)
111- let aa = getIntegerValue(l, o)
112- let ab = getIntegerValue(l, p)
113- let ac = split(getStringValue(l, q), a)
114- let ad = split(getStringValue(l, r), a)
115- let ae = split(getStringValue(l, s), a)
116- let af = split(getStringValue(l, t), a)
117- let ag = makeString([toString(x(1, Z, A, 0)), toString(x(1, aa, A, 1)), toString(x(1, ab, A, 2))], a)
118- let ah = G(ac, ad, 3, A)
119- let ai = G(ac, ad, 10, A)
120- let aj = G(ac, ad, 17, A)
121- let ak = G(ac, ad, 24, A)
122- let al = G(ac, af, 31, A)
123- let am = G(ac, ae, 38, A)
124-[StringEntry(D(d, Y), v), StringEntry(D(e, Y), ag), IntegerEntry(D(f, Y), ah), IntegerEntry(D(g, Y), ai), IntegerEntry(D(h, Y), aj), IntegerEntry(D(i, Y), ak), IntegerEntry(D(j, Y), am), IntegerEntry(D(k, Y), al), IntegerEntry(b, (Y + 1))]
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))]
125123 })
126124
127125
128-@Verifier(an)
129-func ao () = sigVerify(an.bodyBytes, an.proofs[0], an.senderPublicKey)
126+@Verifier(am)
127+func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey)
130128

github/deemru/w8io/c3f4982 
73.21 ms