tx · CDYXmg9TCXzPHJD2PVHbkA9miDTQm8eezhHv9yEbzBXN

3NAtXa4xfYy3teTxeJXWY4ZTD9KGpkyACHC:  -0.11000000 Waves

2022.04.26 21:52 [2025837] smart account 3NAtXa4xfYy3teTxeJXWY4ZTD9KGpkyACHC > SELF 0.00000000 Waves

{ "type": 13, "id": "CDYXmg9TCXzPHJD2PVHbkA9miDTQm8eezhHv9yEbzBXN", "fee": 11000000, "feeAssetId": null, "timestamp": 1650999171597, "version": 2, "chainId": 84, "sender": "3NAtXa4xfYy3teTxeJXWY4ZTD9KGpkyACHC", "senderPublicKey": "CKnmMfPcdFm7C2Sy6TJPDKmAfFg31Dev2KLMojF9gWwp", "proofs": [ "3HxjSGun3XSQKCfNPwzxr7tRE8EWhRYbm1uEy43gedXwS1rYX48ZqdvrXFjRvQzPAcNMUu5NPT1vreKwbtUtK52Q" ], "script": "base64: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DnNlbGVjdGVkTmZ0U3RyCQABkQAAAAIFAAAAEHJlbWFpbmluZ05mdExpc3QFAAAACHBvc2l0aW9uBAAAABd1cGRhdGVkUmVtYWluaW5nTmZ0TGlzdAkABFEAAAACBQAAABByZW1haW5pbmdOZnRMaXN0BQAAAAhwb3NpdGlvbgQAAAAfdXBkYXRlZFJlbWFpbmluZ05mdExpc3RBc1N0cmluZwkABLkAAAACBQAAABd1cGRhdGVkUmVtYWluaW5nTmZ0TGlzdAIAAAABXwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEFAAAADWNhbGxlckFkZHJlc3MAAAAAAAAAAAEJAAJZAAAAAQUAAAAOc2VsZWN0ZWROZnRTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAA5zZWxlY3RlZE5mdFN0cgIAAAAKX293bmVyQWRkcgUAAAANY2FsbGVyQWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAARcmVtYWluaW5nTmZ0Q291bnQJAABlAAAAAgkBAAAAFGdldFJlbWFpbmluZ05mdENvdW50AAAAAAAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAA1yZW1haW5pbmdOZnRzBQAAAB91cGRhdGVkUmVtYWluaW5nTmZ0TGlzdEFzU3RyaW5nCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIFAAAADnNlbGVjdGVkTmZ0U3RyAgAAAAhfc29sZE91dAYFAAAAA25pbAAAAAFpAQAAAAtzdG9wUHJlc2FsZQAAAAADCQEAAAACIT0AAAACCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCAUAAAAEdGhpcwAAAAVieXRlcwkAAAIAAAABAgAAAB9Pbmx5IE93bmVyIENhbiBTdG9wIHRoZSBQcmVzYWxlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACAgAAAA1wcmVzYWxlU3RhdHVzBwUAAAADbmlsAAAAAWkBAAAADXJlT3BlblByZXNhbGUAAAAAAwkBAAAAAiE9AAAAAggIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwgFAAAABHRoaXMAAAAFYnl0ZXMJAAACAAAAAQIAAAAiT25seSBPd25lciBDYW4gUmUtT3BlbiB0aGUgUHJlc2FsZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAANcHJlc2FsZVN0YXR1cwYFAAAAA25pbAAAAAFpAQAAAAVjbGFpbQAAAAEAAAAGYW1vdW50AwkBAAAAAiE9AAAAAggIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwgFAAAABHRoaXMAAAAFYnl0ZXMJAAACAAAAAQIAAAAUT25seSBPd25lciBDYW4gQ2xhaW0JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABBQAAAAljbGFpbUFkZHIFAAAABmFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnZ3qmI", "height": 2025837, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5TEsztvnFZqWVjjuXML6hJ5AeYet2SoXDJFz7EyXaifJ Next: C8Nin9boEhQp29QKsS2rmdFna2ggR9w4D6z42mXjM1gi Diff:
OldNewDifferences
55
66 let b = base58'4bzs2y3QjBq4GEMrNcydRLMX1ReRrJ223fxNXyqyNUXL'
77
8-let c = 100000000
8+let c = base58'3N3fEf4mmVyYcbeuHYmZvXuJjoXjH5WRuEV'
99
10-let d = 5
10+let d = 100000000
1111
12-let e = 10000000
12+let e = 5
1313
14-let f = 100
14+let f = 10000000
1515
16-func g (h) = {
17- let i = {
18- let j = getInteger(this, h)
19- if ($isInstanceOf(j, "Int"))
16+let g = 100
17+
18+func h (i) = {
19+ let j = {
20+ let k = getInteger(this, i)
21+ if ($isInstanceOf(k, "Int"))
2022 then {
21- let k = j
22- k
23+ let l = k
24+ l
2325 }
2426 else 0
2527 }
26- i
28+ j
2729 }
2830
2931
30-func l (h) = {
31- let i = {
32- let j = getString(this, h)
33- if ($isInstanceOf(j, "String"))
32+func m (i) = {
33+ let j = {
34+ let k = getString(this, i)
35+ if ($isInstanceOf(k, "String"))
3436 then {
35- let k = j
36- k
37+ let l = k
38+ l
3739 }
3840 else ""
3941 }
40- i
42+ j
4143 }
4244
4345
44-func m (h) = {
45- let j = getBoolean(this, h)
46- if ($isInstanceOf(j, "Boolean"))
46+func n (i) = {
47+ let k = getBoolean(this, i)
48+ if ($isInstanceOf(k, "Boolean"))
4749 then {
48- let k = j
49- k
50+ let l = k
51+ l
5052 }
5153 else false
5254 }
5355
5456
55-func n (o) = {
56- let i = g((o + "_tokenPresale"))
57- i
58- }
59-
60-
61-func p () = {
62- let i = {
63- let j = getInteger(this, "remainingPresaleTokenAmount")
64- if ($isInstanceOf(j, "Int"))
65- then {
66- let k = j
67- k
68- }
69- else a
70- }
71- i
57+func o (p) = {
58+ let j = h((p + "_tokenPresale"))
59+ j
7260 }
7361
7462
7563 func q () = {
76- let j = getBoolean(this, "presaleStatus")
77- if ($isInstanceOf(j, "Boolean"))
64+ let j = {
65+ let k = getInteger(this, "remainingPresaleTokenAmount")
66+ if ($isInstanceOf(k, "Int"))
67+ then {
68+ let l = k
69+ l
70+ }
71+ else a
72+ }
73+ j
74+ }
75+
76+
77+func r () = {
78+ let k = getBoolean(this, "presaleStatus")
79+ if ($isInstanceOf(k, "Boolean"))
7880 then {
79- let k = j
80- k
81+ let l = k
82+ l
8183 }
8284 else true
8385 }
8486
8587
86-func r () = {
87- let i = {
88- let j = getInteger(this, "totalNftCount")
89- if ($isInstanceOf(j, "Int"))
88+func s () = {
89+ let j = {
90+ let k = getInteger(this, "totalNftCount")
91+ if ($isInstanceOf(k, "Int"))
9092 then {
91- let k = j
92- k
93+ let l = k
94+ l
9395 }
9496 else 0
9597 }
96- i
97- }
98-
99-
100-func s () = {
101- let i = {
102- let j = getInteger(this, "remainingNftCount")
103- if ($isInstanceOf(j, "Int"))
104- then {
105- let k = j
106- k
107- }
108- else 0
109- }
110- i
98+ j
11199 }
112100
113101
114102 func t () = {
115- let i = {
116- let j = getString(this, "remainingNfts")
117- if ($isInstanceOf(j, "String"))
103+ let j = {
104+ let k = getInteger(this, "remainingNftCount")
105+ if ($isInstanceOf(k, "Int"))
118106 then {
119- let k = j
120- k
107+ let l = k
108+ l
109+ }
110+ else 0
111+ }
112+ j
113+ }
114+
115+
116+func u () = {
117+ let j = {
118+ let k = getString(this, "remainingNfts")
119+ if ($isInstanceOf(k, "String"))
120+ then {
121+ let l = k
122+ l
121123 }
122124 else ""
123125 }
124- i
126+ j
125127 }
126128
127129
128-func u (v) = {
129- let j = getBoolean(this, (v + "_soldOut"))
130- if ($isInstanceOf(j, "Boolean"))
130+func v (w) = {
131+ let k = getBoolean(this, (w + "_soldOut"))
132+ if ($isInstanceOf(k, "Boolean"))
131133 then {
132- let k = j
133- k
134+ let l = k
135+ l
134136 }
135137 else false
136138 }
137139
138140
139-func w (x) = {
140- let y = ((((x.transactionId + x.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
141- sha256(y)
141+func x (y) = {
142+ let z = ((((y.transactionId + y.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
143+ sha256(z)
142144 }
143145
144146
145-@Callable(x)
146-func buyTokensFromPresale (z) = {
147- let A = toBase58String(x.caller.bytes)
148- let B = value(x.payments[0])
149- let C = B.amount
150- if (!(q()))
147+@Callable(y)
148+func buyTokensFromPresale (A) = {
149+ let B = toBase58String(y.caller.bytes)
150+ let C = value(y.payments[0])
151+ let D = C.amount
152+ if (!(r()))
151153 then throw("Presale Stopped by the Owner")
152- else if ((z > p()))
154+ else if ((A > q()))
153155 then throw("Exceeded Remaining Token Amount Dedicated for Presale")
154- else if (((fraction(z, d, e) * c) > C))
156+ else if (((fraction(A, e, f) * d) > D))
155157 then throw("Not enough payments in waves")
156- else [IntegerEntry((A + "_tokenPresale"), (z + n(A))), IntegerEntry("remainingPresaleTokenAmount", (p() - z)), StringEntry((A + "_presaleAddresses"), A), ScriptTransfer(value(addressFromString(A)), (z * f), b)]
158+ else [IntegerEntry((B + "_tokenPresale"), (A + o(B))), IntegerEntry("remainingPresaleTokenAmount", (q() - A)), StringEntry((B + "_presaleAddresses"), B), ScriptTransfer(value(addressFromString(B)), (A * g), b)]
157159 }
158160
159161
160162
161-@Callable(x)
162-func mintNftByOwner (D,E,F) = {
163- let A = toBase58String(x.caller.bytes)
164- if ((x.caller != this))
163+@Callable(y)
164+func mintNftByOwner (E,F,G) = {
165+ let B = toBase58String(y.caller.bytes)
166+ if ((y.caller != this))
165167 then throw("Only Dapp Owner Can Mint")
166168 else {
167- let G = Issue(D, F, 1, 0, false)
168- let v = calculateAssetId(G)
169- let H = toBase58String(v)
170-[G, StringEntry((H + "_assetId"), H), StringEntry((H + "_ownerAddr"), A), StringEntry(((H + "_collectionId_") + E), H), StringEntry("remainingNfts", ((t() + H) + "_")), IntegerEntry("totalNftCount", (r() + 1)), IntegerEntry("remainingNftCount", (s() + 1)), BooleanEntry((H + "_soldOut"), false)]
169+ let H = Issue(E, G, 1, 0, false)
170+ let w = calculateAssetId(H)
171+ let I = toBase58String(w)
172+[H, StringEntry((I + "_assetId"), I), StringEntry((I + "_ownerAddr"), B), StringEntry(((I + "_collectionId_") + F), I), StringEntry("remainingNfts", ((u() + I) + "_")), IntegerEntry("totalNftCount", (s() + 1)), IntegerEntry("remainingNftCount", (t() + 1)), BooleanEntry((I + "_soldOut"), false)]
171173 }
172174 }
173175
174176
175177
176-@Callable(x)
178+@Callable(y)
177179 func buyNftsFromPresale () = {
178- let A = toBase58String(x.caller.bytes)
179- if (!(q()))
180+ let B = toBase58String(y.caller.bytes)
181+ if (!(r()))
180182 then throw("Presale Stopped by the Owner")
181- else if ((s() == 0))
183+ else if ((t() == 0))
182184 then throw("Nfts are not available for buying - all are sold")
183185 else {
184- let I = split(t(), "_")
185- let J = s()
186- let y = toInt(w(x))
187- let K = (y % J)
188- let L = I[K]
189- let M = removeByIndex(I, K)
190- let N = makeString(M, "_")
191-[ScriptTransfer(value(addressFromString(A)), 1, fromBase58String(L)), StringEntry((L + "_ownerAddr"), A), IntegerEntry("remainingNftCount", (s() - 1)), StringEntry("remainingNfts", N), BooleanEntry((L + "_soldOut"), true)]
186+ let J = split(u(), "_")
187+ let K = t()
188+ let z = toInt(x(y))
189+ let L = (z % K)
190+ let M = J[L]
191+ let N = removeByIndex(J, L)
192+ let O = makeString(N, "_")
193+[ScriptTransfer(value(addressFromString(B)), 1, fromBase58String(M)), StringEntry((M + "_ownerAddr"), B), IntegerEntry("remainingNftCount", (t() - 1)), StringEntry("remainingNfts", O), BooleanEntry((M + "_soldOut"), true)]
192194 }
193195 }
194196
195197
196198
197-@Callable(x)
198-func stopPresale () = if ((x.caller.bytes != this.bytes))
199+@Callable(y)
200+func stopPresale () = if ((y.caller.bytes != this.bytes))
199201 then throw("Only Owner Can Stop the Presale")
200202 else [BooleanEntry("presaleStatus", false)]
201203
202204
203205
204-@Callable(x)
205-func reOpenPresale () = if ((x.caller.bytes != this.bytes))
206+@Callable(y)
207+func reOpenPresale () = if ((y.caller.bytes != this.bytes))
206208 then throw("Only Owner Can Re-Open the Presale")
207209 else [BooleanEntry("presaleStatus", true)]
208210
209211
210-@Verifier(O)
211-func P () = sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
212+
213+@Callable(y)
214+func claim (D) = if ((y.caller.bytes != this.bytes))
215+ then throw("Only Owner Can Claim")
216+ else [ScriptTransfer(Address(c), D, unit)]
217+
218+
219+@Verifier(P)
220+func Q () = sigVerify(P.bodyBytes, P.proofs[0], P.senderPublicKey)
212221
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 10000000
55
66 let b = base58'4bzs2y3QjBq4GEMrNcydRLMX1ReRrJ223fxNXyqyNUXL'
77
8-let c = 100000000
8+let c = base58'3N3fEf4mmVyYcbeuHYmZvXuJjoXjH5WRuEV'
99
10-let d = 5
10+let d = 100000000
1111
12-let e = 10000000
12+let e = 5
1313
14-let f = 100
14+let f = 10000000
1515
16-func g (h) = {
17- let i = {
18- let j = getInteger(this, h)
19- if ($isInstanceOf(j, "Int"))
16+let g = 100
17+
18+func h (i) = {
19+ let j = {
20+ let k = getInteger(this, i)
21+ if ($isInstanceOf(k, "Int"))
2022 then {
21- let k = j
22- k
23+ let l = k
24+ l
2325 }
2426 else 0
2527 }
26- i
28+ j
2729 }
2830
2931
30-func l (h) = {
31- let i = {
32- let j = getString(this, h)
33- if ($isInstanceOf(j, "String"))
32+func m (i) = {
33+ let j = {
34+ let k = getString(this, i)
35+ if ($isInstanceOf(k, "String"))
3436 then {
35- let k = j
36- k
37+ let l = k
38+ l
3739 }
3840 else ""
3941 }
40- i
42+ j
4143 }
4244
4345
44-func m (h) = {
45- let j = getBoolean(this, h)
46- if ($isInstanceOf(j, "Boolean"))
46+func n (i) = {
47+ let k = getBoolean(this, i)
48+ if ($isInstanceOf(k, "Boolean"))
4749 then {
48- let k = j
49- k
50+ let l = k
51+ l
5052 }
5153 else false
5254 }
5355
5456
55-func n (o) = {
56- let i = g((o + "_tokenPresale"))
57- i
58- }
59-
60-
61-func p () = {
62- let i = {
63- let j = getInteger(this, "remainingPresaleTokenAmount")
64- if ($isInstanceOf(j, "Int"))
65- then {
66- let k = j
67- k
68- }
69- else a
70- }
71- i
57+func o (p) = {
58+ let j = h((p + "_tokenPresale"))
59+ j
7260 }
7361
7462
7563 func q () = {
76- let j = getBoolean(this, "presaleStatus")
77- if ($isInstanceOf(j, "Boolean"))
64+ let j = {
65+ let k = getInteger(this, "remainingPresaleTokenAmount")
66+ if ($isInstanceOf(k, "Int"))
67+ then {
68+ let l = k
69+ l
70+ }
71+ else a
72+ }
73+ j
74+ }
75+
76+
77+func r () = {
78+ let k = getBoolean(this, "presaleStatus")
79+ if ($isInstanceOf(k, "Boolean"))
7880 then {
79- let k = j
80- k
81+ let l = k
82+ l
8183 }
8284 else true
8385 }
8486
8587
86-func r () = {
87- let i = {
88- let j = getInteger(this, "totalNftCount")
89- if ($isInstanceOf(j, "Int"))
88+func s () = {
89+ let j = {
90+ let k = getInteger(this, "totalNftCount")
91+ if ($isInstanceOf(k, "Int"))
9092 then {
91- let k = j
92- k
93+ let l = k
94+ l
9395 }
9496 else 0
9597 }
96- i
97- }
98-
99-
100-func s () = {
101- let i = {
102- let j = getInteger(this, "remainingNftCount")
103- if ($isInstanceOf(j, "Int"))
104- then {
105- let k = j
106- k
107- }
108- else 0
109- }
110- i
98+ j
11199 }
112100
113101
114102 func t () = {
115- let i = {
116- let j = getString(this, "remainingNfts")
117- if ($isInstanceOf(j, "String"))
103+ let j = {
104+ let k = getInteger(this, "remainingNftCount")
105+ if ($isInstanceOf(k, "Int"))
118106 then {
119- let k = j
120- k
107+ let l = k
108+ l
109+ }
110+ else 0
111+ }
112+ j
113+ }
114+
115+
116+func u () = {
117+ let j = {
118+ let k = getString(this, "remainingNfts")
119+ if ($isInstanceOf(k, "String"))
120+ then {
121+ let l = k
122+ l
121123 }
122124 else ""
123125 }
124- i
126+ j
125127 }
126128
127129
128-func u (v) = {
129- let j = getBoolean(this, (v + "_soldOut"))
130- if ($isInstanceOf(j, "Boolean"))
130+func v (w) = {
131+ let k = getBoolean(this, (w + "_soldOut"))
132+ if ($isInstanceOf(k, "Boolean"))
131133 then {
132- let k = j
133- k
134+ let l = k
135+ l
134136 }
135137 else false
136138 }
137139
138140
139-func w (x) = {
140- let y = ((((x.transactionId + x.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
141- sha256(y)
141+func x (y) = {
142+ let z = ((((y.transactionId + y.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
143+ sha256(z)
142144 }
143145
144146
145-@Callable(x)
146-func buyTokensFromPresale (z) = {
147- let A = toBase58String(x.caller.bytes)
148- let B = value(x.payments[0])
149- let C = B.amount
150- if (!(q()))
147+@Callable(y)
148+func buyTokensFromPresale (A) = {
149+ let B = toBase58String(y.caller.bytes)
150+ let C = value(y.payments[0])
151+ let D = C.amount
152+ if (!(r()))
151153 then throw("Presale Stopped by the Owner")
152- else if ((z > p()))
154+ else if ((A > q()))
153155 then throw("Exceeded Remaining Token Amount Dedicated for Presale")
154- else if (((fraction(z, d, e) * c) > C))
156+ else if (((fraction(A, e, f) * d) > D))
155157 then throw("Not enough payments in waves")
156- else [IntegerEntry((A + "_tokenPresale"), (z + n(A))), IntegerEntry("remainingPresaleTokenAmount", (p() - z)), StringEntry((A + "_presaleAddresses"), A), ScriptTransfer(value(addressFromString(A)), (z * f), b)]
158+ else [IntegerEntry((B + "_tokenPresale"), (A + o(B))), IntegerEntry("remainingPresaleTokenAmount", (q() - A)), StringEntry((B + "_presaleAddresses"), B), ScriptTransfer(value(addressFromString(B)), (A * g), b)]
157159 }
158160
159161
160162
161-@Callable(x)
162-func mintNftByOwner (D,E,F) = {
163- let A = toBase58String(x.caller.bytes)
164- if ((x.caller != this))
163+@Callable(y)
164+func mintNftByOwner (E,F,G) = {
165+ let B = toBase58String(y.caller.bytes)
166+ if ((y.caller != this))
165167 then throw("Only Dapp Owner Can Mint")
166168 else {
167- let G = Issue(D, F, 1, 0, false)
168- let v = calculateAssetId(G)
169- let H = toBase58String(v)
170-[G, StringEntry((H + "_assetId"), H), StringEntry((H + "_ownerAddr"), A), StringEntry(((H + "_collectionId_") + E), H), StringEntry("remainingNfts", ((t() + H) + "_")), IntegerEntry("totalNftCount", (r() + 1)), IntegerEntry("remainingNftCount", (s() + 1)), BooleanEntry((H + "_soldOut"), false)]
169+ let H = Issue(E, G, 1, 0, false)
170+ let w = calculateAssetId(H)
171+ let I = toBase58String(w)
172+[H, StringEntry((I + "_assetId"), I), StringEntry((I + "_ownerAddr"), B), StringEntry(((I + "_collectionId_") + F), I), StringEntry("remainingNfts", ((u() + I) + "_")), IntegerEntry("totalNftCount", (s() + 1)), IntegerEntry("remainingNftCount", (t() + 1)), BooleanEntry((I + "_soldOut"), false)]
171173 }
172174 }
173175
174176
175177
176-@Callable(x)
178+@Callable(y)
177179 func buyNftsFromPresale () = {
178- let A = toBase58String(x.caller.bytes)
179- if (!(q()))
180+ let B = toBase58String(y.caller.bytes)
181+ if (!(r()))
180182 then throw("Presale Stopped by the Owner")
181- else if ((s() == 0))
183+ else if ((t() == 0))
182184 then throw("Nfts are not available for buying - all are sold")
183185 else {
184- let I = split(t(), "_")
185- let J = s()
186- let y = toInt(w(x))
187- let K = (y % J)
188- let L = I[K]
189- let M = removeByIndex(I, K)
190- let N = makeString(M, "_")
191-[ScriptTransfer(value(addressFromString(A)), 1, fromBase58String(L)), StringEntry((L + "_ownerAddr"), A), IntegerEntry("remainingNftCount", (s() - 1)), StringEntry("remainingNfts", N), BooleanEntry((L + "_soldOut"), true)]
186+ let J = split(u(), "_")
187+ let K = t()
188+ let z = toInt(x(y))
189+ let L = (z % K)
190+ let M = J[L]
191+ let N = removeByIndex(J, L)
192+ let O = makeString(N, "_")
193+[ScriptTransfer(value(addressFromString(B)), 1, fromBase58String(M)), StringEntry((M + "_ownerAddr"), B), IntegerEntry("remainingNftCount", (t() - 1)), StringEntry("remainingNfts", O), BooleanEntry((M + "_soldOut"), true)]
192194 }
193195 }
194196
195197
196198
197-@Callable(x)
198-func stopPresale () = if ((x.caller.bytes != this.bytes))
199+@Callable(y)
200+func stopPresale () = if ((y.caller.bytes != this.bytes))
199201 then throw("Only Owner Can Stop the Presale")
200202 else [BooleanEntry("presaleStatus", false)]
201203
202204
203205
204-@Callable(x)
205-func reOpenPresale () = if ((x.caller.bytes != this.bytes))
206+@Callable(y)
207+func reOpenPresale () = if ((y.caller.bytes != this.bytes))
206208 then throw("Only Owner Can Re-Open the Presale")
207209 else [BooleanEntry("presaleStatus", true)]
208210
209211
210-@Verifier(O)
211-func P () = sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
212+
213+@Callable(y)
214+func claim (D) = if ((y.caller.bytes != this.bytes))
215+ then throw("Only Owner Can Claim")
216+ else [ScriptTransfer(Address(c), D, unit)]
217+
218+
219+@Verifier(P)
220+func Q () = sigVerify(P.bodyBytes, P.proofs[0], P.senderPublicKey)
212221

github/deemru/w8io/c3f4982 
56.69 ms