tx · ACvwq2zZBDkW9hRrCoiq7rvtbeA8kwzSrQYniuDzXBS

3MyLnBsVm9pw43K9eba5UExxb3efeai91KP:  -0.01500000 Waves

2022.12.26 13:40 [2377134] smart account 3MyLnBsVm9pw43K9eba5UExxb3efeai91KP > SELF 0.00000000 Waves

{ "type": 13, "id": "ACvwq2zZBDkW9hRrCoiq7rvtbeA8kwzSrQYniuDzXBS", "fee": 1500000, "feeAssetId": null, "timestamp": 1672051193448, "version": 2, "chainId": 84, "sender": "3MyLnBsVm9pw43K9eba5UExxb3efeai91KP", "senderPublicKey": "E5xdZLn3yHKAn29pTyubhr9R1mkRGg9WKAcpPrCYFYHx", "proofs": [ "5uvxBE8Yq9K9jvizc7sVWhXYpXFxXqYfBFdFj8dz3bj2eEvoQkhHD8MgYgA7PSQJSAszXr1xKz4YTSdjwppw4ZA9" ], "script": "base64:AAIFAAAAAAAAACYIAhIDCgEEEgkKBwgICAEBCAESAwoBARIDCgEBEgMKAQESAwoBAQAAABgAAAAACGRBcHBOYW1lAgAAABtDUk9XREZVTkRJTkdfT05fV0FWRVNfU0hBUkUAAAAABmFkbVB1YgEAAAAgwm0nmAhWSDqW+K/S1mvC+NNow4ujn8UBfOoCFti2ZnMAAAAABGJhbmsJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVSmfND+3V/r5U39jSnmcibSNaQF0ZS9OSgAAAAADHBheW1lbnRBc3NldAEAAAAgITlE6Sl8X8+K+DOSOPUkvq8L9vq51QOPRS3GqFK/+rkAAAAACGNsYWltS2V5AgAAAAdfY2xhaW1fAAAAAAZuZnRLZXkCAAAABV9uZnRfAAAAAAtzaHV0RG93bktleQIAAAAKX3NodXREb3duXwAAAAAIZXZlbnRLZXkCAAAAB19ldmVudF8AAAAACnBheW1lbnRLZXkCAAAACV9wYXltZW50XwAAAAAQZ2xvYmFsRXZlbnRJZEtleQIAAAAJX2V2ZW50SWRfAAAAAA1zdGFydEJsb2NrS2V5AgAAAAxfc3RhcnRCbG9ja18AAAAAC2VuZEJsb2NrS2V5AgAAAApfZW5kQmxvY2tfAAAAAAhpbWFnZUtleQIAAAAHX2ltYWdlXwAAAAAIb3duZXJLZXkCAAAAB19vd25lcl8AAAAABnVybEtleQIAAAAFX3VybF8AAAAACmhhcmRDYXBLZXkCAAAACV9oYXJkQ2FwXwAAAAAIdGl0bGVLZXkCAAAAB190aXRsZV8AAAAAE3NoYXJlSG9sZGVyQ291bnRLZXkCAAAAEl9zaGFyZUhvbGRlckNvdW50XwAAAAAPdG90YWxQYXltZW50S2V5AgAAAA5fdG90YWxQYXltZW50XwAAAAAQd2FsbGV0UGF5bWVudEtleQIAAAAPX3dhbGxldFBheW1lbnRfAAAAAAlyZWZ1bmRLZXkCAAAACF9yZWZ1bmRfAAAAAA1jb21taXNzaW9uRmVlAAAAAAAdzWUAAAAAAAZzY2FsZTgAAAAAAAX14QABAAAAC2lzUGF5bWVudE9rAAAAAgAAAAFpAAAADXdhbGxldEJhbGFuY2UEAAAAEWFjY2VwdGFibGVBc3NldElkBQAAAAxwYXltZW50QXNzZXQDCQAA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", "height": 2377134, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6G3sho4Qa5JkYi4XakerNVRcNBjrARq8tVNPGnJGUT1b Next: Ezk8od29vvwUy6MyF34qAzRtSsSLFM6CRVtRcaAYtBzL Diff:
OldNewDifferences
4747
4848 let w = 100000000
4949
50-func x (y) = {
51- let z = d
50+func x (y,z) = {
51+ let A = d
5252 if ((size(y.payments) == 0))
5353 then throw("Payment not attached")
5454 else {
55- let A = y.payments[0]
56- let B = A.assetId
57- if ($isInstanceOf(B, "ByteVector"))
55+ let B = y.payments[0]
56+ let C = B.assetId
57+ if ($isInstanceOf(C, "ByteVector"))
5858 then {
59- let C = B
60- if ((C == z))
61- then (A.amount > 0)
59+ let D = C
60+ if ((D == A))
61+ then (B.amount > z)
6262 else false
6363 }
6464 else throw("Wrong payment asset")
6767
6868
6969 @Callable(y)
70-func shutdown (D) = if ((y.callerPublicKey == b))
71- then [BooleanEntry(g, D)]
70+func shutdown (E) = if ((y.callerPublicKey == b))
71+ then [BooleanEntry(g, E)]
7272 else throw("you are not allow to do this!")
7373
7474
7575
7676 @Callable(y)
77-func create (E,F,G,H,I,J,K) = {
78- let L = valueOrElse(getInteger(this, (h + j)), 0)
79- let M = (L + 1)
77+func create (F,G,H,I,J,K,L) = {
78+ let M = valueOrElse(getInteger(this, (h + j)), 0)
79+ let N = (M + 1)
8080 if ((y.callerPublicKey == b))
81- then [StringEntry(((h + m) + toString(M)), F), StringEntry(((h + n) + toString(M)), G), StringEntry(((h + q) + toString(M)), E), IntegerEntry(((h + k) + toString(M)), H), IntegerEntry(((h + l) + toString(M)), I), StringEntry(((h + o) + toString(M)), J), IntegerEntry(((h + p) + toString(M)), K), IntegerEntry((h + j), M)]
81+ then [StringEntry(((h + m) + toString(N)), G), StringEntry(((h + n) + toString(N)), H), StringEntry(((h + q) + toString(N)), F), IntegerEntry(((h + k) + toString(N)), I), IntegerEntry(((h + l) + toString(N)), J), StringEntry(((h + o) + toString(N)), K), IntegerEntry(((h + p) + toString(N)), L), IntegerEntry((h + j), N)]
8282 else throw("you are not allowed")
8383 }
8484
8585
8686
8787 @Callable(y)
88-func funding (L) = {
89- let H = valueOrErrorMessage(getInteger(this, ((h + k) + toString(L))), "can not find event 1")
90- let I = valueOrErrorMessage(getInteger(this, ((h + l) + toString(L))), "can not find event 2")
91- let K = valueOrErrorMessage(getInteger(this, ((h + p) + toString(L))), "can not find event 3")
92- let N = toBase58String(y.caller.bytes)
93- let O = valueOrElse(getInteger(this, ((i + s) + toString(L))), 0)
94- let P = valueOrElse(getInteger(this, (((i + t) + N) + toString(L))), 0)
95- let Q = valueOrElse(getInteger(this, ((i + r) + toString(L))), 0)
96- if ((H > height))
88+func funding (M) = {
89+ let I = valueOrErrorMessage(getInteger(this, ((h + k) + toString(M))), "can not find event 1")
90+ let J = valueOrErrorMessage(getInteger(this, ((h + l) + toString(M))), "can not find event 2")
91+ let L = valueOrErrorMessage(getInteger(this, ((h + p) + toString(M))), "can not find event 3")
92+ let O = toBase58String(y.caller.bytes)
93+ let P = valueOrElse(getInteger(this, ((i + s) + toString(M))), 0)
94+ let Q = valueOrElse(getInteger(this, (((i + t) + O) + toString(M))), 0)
95+ let R = valueOrElse(getInteger(this, ((i + r) + toString(M))), 0)
96+ if ((I > height))
9797 then throw("crowdfunding not started")
98- else if ((height >= I))
98+ else if ((height >= J))
9999 then throw("crowdfunding is over")
100- else if ((O >= K))
100+ else if ((P >= L))
101101 then throw("crowdfunding is reached to hard cap. thank you for participating!")
102102 else {
103- let A = y.payments[0]
104- let R = A.amount
105- let S = A.assetId
106- let T = assetBalance(y.caller, d)
107- if (if ((S == d))
108- then (T >= R)
109- else false)
103+ let B = y.payments[0]
104+ let S = B.amount
105+ let z = assetBalance(y.caller, d)
106+ if (!(x(y, z)))
110107 then {
111- let U = valueOrElse(getBoolean(this, g), true)
112- if (!(U))
108+ let T = valueOrElse(getBoolean(this, g), true)
109+ if (!(T))
113110 then throw("emergency shutdown")
114111 else {
115- let V = fraction(R, w, v)
116- let W = (R - V)
117-[IntegerEntry(((i + r) + toString(L)), (Q + 1)), IntegerEntry(((i + s) + toString(L)), (O + W)), IntegerEntry(((((i + t) + N) + "_") + toString(L)), (P + W)), ScriptTransfer(c, V, d)]
112+ let U = fraction(S, w, v)
113+ let V = (S - U)
114+[IntegerEntry(((i + r) + toString(M)), (R + 1)), IntegerEntry(((i + s) + toString(M)), (P + V)), IntegerEntry(((((i + t) + O) + "_") + toString(M)), (Q + V)), ScriptTransfer(c, U, d)]
118115 }
119116 }
120- else throw("add payment correctly")
117+ else throw("attach payment correctly")
121118 }
122119 }
123120
124121
125122
126123 @Callable(y)
127-func claim (L) = {
128- let G = valueOrErrorMessage(getString(this, ((h + n) + toString(L))), "can not find the owner")
129- let N = toBase58String(y.caller.bytes)
130- let H = valueOrErrorMessage(getInteger(this, ((h + k) + toString(L))), "can not find event 1")
131- let I = valueOrErrorMessage(getInteger(this, ((h + l) + toString(L))), "can not find event 2")
132- let K = valueOrErrorMessage(getInteger(this, ((h + p) + toString(L))), "can not find event 3")
133- let O = valueOrElse(getInteger(this, ((i + s) + toString(L))), 0)
134- let U = valueOrElse(getBoolean(this, g), true)
135- if ((toBytes(G) == y.caller.bytes))
124+func claim (M) = {
125+ let H = valueOrErrorMessage(getString(this, ((h + n) + toString(M))), "can not find the owner")
126+ let O = toBase58String(y.caller.bytes)
127+ let I = valueOrErrorMessage(getInteger(this, ((h + k) + toString(M))), "can not find event 1")
128+ let J = valueOrErrorMessage(getInteger(this, ((h + l) + toString(M))), "can not find event 2")
129+ let L = valueOrErrorMessage(getInteger(this, ((h + p) + toString(M))), "can not find event 3")
130+ let P = valueOrElse(getInteger(this, ((i + s) + toString(M))), 0)
131+ let T = valueOrElse(getBoolean(this, g), true)
132+ if ((toBytes(H) == y.caller.bytes))
136133 then throw("you are not able to claim")
137- else if (if (if ((height > I))
138- then (O >= K)
134+ else if (if (if ((height > J))
135+ then (P >= L)
139136 else false)
140- then U
137+ then T
141138 else false)
142- then [ScriptTransfer(y.caller, O, d), IntegerEntry((((e + N) + "_") + toString(L)), O)]
139+ then [ScriptTransfer(y.caller, P, d), IntegerEntry((((e + O) + "_") + toString(M)), P)]
143140 else throw("not allowed")
144141 }
145142
146143
147144
148145 @Callable(y)
149-func claimShare (L) = {
150- let N = toBase58String(y.caller.bytes)
151- let H = valueOrErrorMessage(getInteger(this, ((h + k) + toString(L))), "can not find event 1")
152- let I = valueOrErrorMessage(getInteger(this, ((h + l) + toString(L))), "can not find event 2")
153- let K = valueOrErrorMessage(getInteger(this, ((h + p) + toString(L))), "can not find event 3")
154- let O = valueOrElse(getInteger(this, ((i + s) + toString(L))), 0)
155- let P = valueOrElse(getInteger(this, (((i + t) + N) + toString(L))), 0)
156- let V = fraction(P, w, O)
157- let X = ((toString(V) + "_") + toString(L))
158- let Y = Issue(((a + "_") + toString(L)), X, 1, 0, false)
159- let Z = calculateAssetId(Y)
160- let U = valueOrElse(getBoolean(this, g), true)
161- if (if (if (if ((height > I))
162- then (K >= O)
146+func claimShare (M) = {
147+ let O = toBase58String(y.caller.bytes)
148+ let I = valueOrErrorMessage(getInteger(this, ((h + k) + toString(M))), "can not find event 1")
149+ let J = valueOrErrorMessage(getInteger(this, ((h + l) + toString(M))), "can not find event 2")
150+ let L = valueOrErrorMessage(getInteger(this, ((h + p) + toString(M))), "can not find event 3")
151+ let P = valueOrElse(getInteger(this, ((i + s) + toString(M))), 0)
152+ let Q = valueOrElse(getInteger(this, (((i + t) + O) + toString(M))), 0)
153+ let U = fraction(Q, w, P)
154+ let W = ((toString(U) + "_") + toString(M))
155+ let X = Issue(((a + "_") + toString(M)), W, 1, 0, false)
156+ let Y = calculateAssetId(X)
157+ let T = valueOrElse(getBoolean(this, g), true)
158+ if (if (if (if ((height > J))
159+ then (L >= P)
163160 else false)
164- then (P > 0)
161+ then (Q > 0)
165162 else false)
166- then U
163+ then T
167164 else false)
168- then [Y, StringEntry((f + toString(L)), toBase58String(Z)), BooleanEntry(toBase58String(Z), true), ScriptTransfer(y.caller, 1, Z)]
165+ then [X, StringEntry((f + toString(M)), toBase58String(Y)), BooleanEntry(toBase58String(Y), true), ScriptTransfer(y.caller, 1, Y)]
169166 else throw("you are not able to claim NFT")
170167 }
171168
172169
173170
174171 @Callable(y)
175-func refund (L) = {
176- let N = toBase58String(y.caller.bytes)
177- let H = valueOrErrorMessage(getInteger(this, ((h + k) + toString(L))), "can not find event 1")
178- let I = valueOrErrorMessage(getInteger(this, ((h + l) + toString(L))), "can not find event 2")
179- let K = valueOrErrorMessage(getInteger(this, ((h + p) + toString(L))), "can not find event 3")
180- let O = valueOrElse(getInteger(this, ((i + s) + toString(L))), 0)
181- let P = valueOrElse(getInteger(this, (((i + t) + N) + toString(L))), 0)
182- let U = valueOrElse(getBoolean(this, g), true)
183- if (if (if (if ((I > height))
184- then (O > K)
172+func refund (M) = {
173+ let O = toBase58String(y.caller.bytes)
174+ let I = valueOrErrorMessage(getInteger(this, ((h + k) + toString(M))), "can not find event 1")
175+ let J = valueOrErrorMessage(getInteger(this, ((h + l) + toString(M))), "can not find event 2")
176+ let L = valueOrErrorMessage(getInteger(this, ((h + p) + toString(M))), "can not find event 3")
177+ let P = valueOrElse(getInteger(this, ((i + s) + toString(M))), 0)
178+ let Q = valueOrElse(getInteger(this, (((i + t) + O) + toString(M))), 0)
179+ let T = valueOrElse(getBoolean(this, g), true)
180+ if (if (if (if ((J > height))
181+ then (P > L)
185182 else false)
186- then (P > 0)
183+ then (Q > 0)
187184 else false)
188- then U
185+ then T
189186 else false)
190- then [IntegerEntry((((u + N) + "_") + toString(L)), P), ScriptTransfer(y.caller, P, d)]
187+ then [IntegerEntry((((u + O) + "_") + toString(M)), Q), ScriptTransfer(y.caller, Q, d)]
191188 else throw("can not refund. campaign success")
192189 }
193190
194191
195-@Verifier(aa)
196-func ab () = sigVerify(aa.bodyBytes, aa.proofs[0], aa.senderPublicKey)
192+@Verifier(Z)
193+func aa () = sigVerify(Z.bodyBytes, Z.proofs[0], Z.senderPublicKey)
197194
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "CROWDFUNDING_ON_WAVES_SHARE"
55
66 let b = base58'E5xdZLn3yHKAn29pTyubhr9R1mkRGg9WKAcpPrCYFYHx'
77
88 let c = Address(base58'3N56PUABa6tqTXc4cv6QvntyMPb1KHnzC79')
99
1010 let d = base58'3Eh6z6z6ouFpWxGKrPaPnZwmDnDjgYHV6tqCmZf2G7tk'
1111
1212 let e = "_claim_"
1313
1414 let f = "_nft_"
1515
1616 let g = "_shutDown_"
1717
1818 let h = "_event_"
1919
2020 let i = "_payment_"
2121
2222 let j = "_eventId_"
2323
2424 let k = "_startBlock_"
2525
2626 let l = "_endBlock_"
2727
2828 let m = "_image_"
2929
3030 let n = "_owner_"
3131
3232 let o = "_url_"
3333
3434 let p = "_hardCap_"
3535
3636 let q = "_title_"
3737
3838 let r = "_shareHolderCount_"
3939
4040 let s = "_totalPayment_"
4141
4242 let t = "_walletPayment_"
4343
4444 let u = "_refund_"
4545
4646 let v = 500000000
4747
4848 let w = 100000000
4949
50-func x (y) = {
51- let z = d
50+func x (y,z) = {
51+ let A = d
5252 if ((size(y.payments) == 0))
5353 then throw("Payment not attached")
5454 else {
55- let A = y.payments[0]
56- let B = A.assetId
57- if ($isInstanceOf(B, "ByteVector"))
55+ let B = y.payments[0]
56+ let C = B.assetId
57+ if ($isInstanceOf(C, "ByteVector"))
5858 then {
59- let C = B
60- if ((C == z))
61- then (A.amount > 0)
59+ let D = C
60+ if ((D == A))
61+ then (B.amount > z)
6262 else false
6363 }
6464 else throw("Wrong payment asset")
6565 }
6666 }
6767
6868
6969 @Callable(y)
70-func shutdown (D) = if ((y.callerPublicKey == b))
71- then [BooleanEntry(g, D)]
70+func shutdown (E) = if ((y.callerPublicKey == b))
71+ then [BooleanEntry(g, E)]
7272 else throw("you are not allow to do this!")
7373
7474
7575
7676 @Callable(y)
77-func create (E,F,G,H,I,J,K) = {
78- let L = valueOrElse(getInteger(this, (h + j)), 0)
79- let M = (L + 1)
77+func create (F,G,H,I,J,K,L) = {
78+ let M = valueOrElse(getInteger(this, (h + j)), 0)
79+ let N = (M + 1)
8080 if ((y.callerPublicKey == b))
81- then [StringEntry(((h + m) + toString(M)), F), StringEntry(((h + n) + toString(M)), G), StringEntry(((h + q) + toString(M)), E), IntegerEntry(((h + k) + toString(M)), H), IntegerEntry(((h + l) + toString(M)), I), StringEntry(((h + o) + toString(M)), J), IntegerEntry(((h + p) + toString(M)), K), IntegerEntry((h + j), M)]
81+ then [StringEntry(((h + m) + toString(N)), G), StringEntry(((h + n) + toString(N)), H), StringEntry(((h + q) + toString(N)), F), IntegerEntry(((h + k) + toString(N)), I), IntegerEntry(((h + l) + toString(N)), J), StringEntry(((h + o) + toString(N)), K), IntegerEntry(((h + p) + toString(N)), L), IntegerEntry((h + j), N)]
8282 else throw("you are not allowed")
8383 }
8484
8585
8686
8787 @Callable(y)
88-func funding (L) = {
89- let H = valueOrErrorMessage(getInteger(this, ((h + k) + toString(L))), "can not find event 1")
90- let I = valueOrErrorMessage(getInteger(this, ((h + l) + toString(L))), "can not find event 2")
91- let K = valueOrErrorMessage(getInteger(this, ((h + p) + toString(L))), "can not find event 3")
92- let N = toBase58String(y.caller.bytes)
93- let O = valueOrElse(getInteger(this, ((i + s) + toString(L))), 0)
94- let P = valueOrElse(getInteger(this, (((i + t) + N) + toString(L))), 0)
95- let Q = valueOrElse(getInteger(this, ((i + r) + toString(L))), 0)
96- if ((H > height))
88+func funding (M) = {
89+ let I = valueOrErrorMessage(getInteger(this, ((h + k) + toString(M))), "can not find event 1")
90+ let J = valueOrErrorMessage(getInteger(this, ((h + l) + toString(M))), "can not find event 2")
91+ let L = valueOrErrorMessage(getInteger(this, ((h + p) + toString(M))), "can not find event 3")
92+ let O = toBase58String(y.caller.bytes)
93+ let P = valueOrElse(getInteger(this, ((i + s) + toString(M))), 0)
94+ let Q = valueOrElse(getInteger(this, (((i + t) + O) + toString(M))), 0)
95+ let R = valueOrElse(getInteger(this, ((i + r) + toString(M))), 0)
96+ if ((I > height))
9797 then throw("crowdfunding not started")
98- else if ((height >= I))
98+ else if ((height >= J))
9999 then throw("crowdfunding is over")
100- else if ((O >= K))
100+ else if ((P >= L))
101101 then throw("crowdfunding is reached to hard cap. thank you for participating!")
102102 else {
103- let A = y.payments[0]
104- let R = A.amount
105- let S = A.assetId
106- let T = assetBalance(y.caller, d)
107- if (if ((S == d))
108- then (T >= R)
109- else false)
103+ let B = y.payments[0]
104+ let S = B.amount
105+ let z = assetBalance(y.caller, d)
106+ if (!(x(y, z)))
110107 then {
111- let U = valueOrElse(getBoolean(this, g), true)
112- if (!(U))
108+ let T = valueOrElse(getBoolean(this, g), true)
109+ if (!(T))
113110 then throw("emergency shutdown")
114111 else {
115- let V = fraction(R, w, v)
116- let W = (R - V)
117-[IntegerEntry(((i + r) + toString(L)), (Q + 1)), IntegerEntry(((i + s) + toString(L)), (O + W)), IntegerEntry(((((i + t) + N) + "_") + toString(L)), (P + W)), ScriptTransfer(c, V, d)]
112+ let U = fraction(S, w, v)
113+ let V = (S - U)
114+[IntegerEntry(((i + r) + toString(M)), (R + 1)), IntegerEntry(((i + s) + toString(M)), (P + V)), IntegerEntry(((((i + t) + O) + "_") + toString(M)), (Q + V)), ScriptTransfer(c, U, d)]
118115 }
119116 }
120- else throw("add payment correctly")
117+ else throw("attach payment correctly")
121118 }
122119 }
123120
124121
125122
126123 @Callable(y)
127-func claim (L) = {
128- let G = valueOrErrorMessage(getString(this, ((h + n) + toString(L))), "can not find the owner")
129- let N = toBase58String(y.caller.bytes)
130- let H = valueOrErrorMessage(getInteger(this, ((h + k) + toString(L))), "can not find event 1")
131- let I = valueOrErrorMessage(getInteger(this, ((h + l) + toString(L))), "can not find event 2")
132- let K = valueOrErrorMessage(getInteger(this, ((h + p) + toString(L))), "can not find event 3")
133- let O = valueOrElse(getInteger(this, ((i + s) + toString(L))), 0)
134- let U = valueOrElse(getBoolean(this, g), true)
135- if ((toBytes(G) == y.caller.bytes))
124+func claim (M) = {
125+ let H = valueOrErrorMessage(getString(this, ((h + n) + toString(M))), "can not find the owner")
126+ let O = toBase58String(y.caller.bytes)
127+ let I = valueOrErrorMessage(getInteger(this, ((h + k) + toString(M))), "can not find event 1")
128+ let J = valueOrErrorMessage(getInteger(this, ((h + l) + toString(M))), "can not find event 2")
129+ let L = valueOrErrorMessage(getInteger(this, ((h + p) + toString(M))), "can not find event 3")
130+ let P = valueOrElse(getInteger(this, ((i + s) + toString(M))), 0)
131+ let T = valueOrElse(getBoolean(this, g), true)
132+ if ((toBytes(H) == y.caller.bytes))
136133 then throw("you are not able to claim")
137- else if (if (if ((height > I))
138- then (O >= K)
134+ else if (if (if ((height > J))
135+ then (P >= L)
139136 else false)
140- then U
137+ then T
141138 else false)
142- then [ScriptTransfer(y.caller, O, d), IntegerEntry((((e + N) + "_") + toString(L)), O)]
139+ then [ScriptTransfer(y.caller, P, d), IntegerEntry((((e + O) + "_") + toString(M)), P)]
143140 else throw("not allowed")
144141 }
145142
146143
147144
148145 @Callable(y)
149-func claimShare (L) = {
150- let N = toBase58String(y.caller.bytes)
151- let H = valueOrErrorMessage(getInteger(this, ((h + k) + toString(L))), "can not find event 1")
152- let I = valueOrErrorMessage(getInteger(this, ((h + l) + toString(L))), "can not find event 2")
153- let K = valueOrErrorMessage(getInteger(this, ((h + p) + toString(L))), "can not find event 3")
154- let O = valueOrElse(getInteger(this, ((i + s) + toString(L))), 0)
155- let P = valueOrElse(getInteger(this, (((i + t) + N) + toString(L))), 0)
156- let V = fraction(P, w, O)
157- let X = ((toString(V) + "_") + toString(L))
158- let Y = Issue(((a + "_") + toString(L)), X, 1, 0, false)
159- let Z = calculateAssetId(Y)
160- let U = valueOrElse(getBoolean(this, g), true)
161- if (if (if (if ((height > I))
162- then (K >= O)
146+func claimShare (M) = {
147+ let O = toBase58String(y.caller.bytes)
148+ let I = valueOrErrorMessage(getInteger(this, ((h + k) + toString(M))), "can not find event 1")
149+ let J = valueOrErrorMessage(getInteger(this, ((h + l) + toString(M))), "can not find event 2")
150+ let L = valueOrErrorMessage(getInteger(this, ((h + p) + toString(M))), "can not find event 3")
151+ let P = valueOrElse(getInteger(this, ((i + s) + toString(M))), 0)
152+ let Q = valueOrElse(getInteger(this, (((i + t) + O) + toString(M))), 0)
153+ let U = fraction(Q, w, P)
154+ let W = ((toString(U) + "_") + toString(M))
155+ let X = Issue(((a + "_") + toString(M)), W, 1, 0, false)
156+ let Y = calculateAssetId(X)
157+ let T = valueOrElse(getBoolean(this, g), true)
158+ if (if (if (if ((height > J))
159+ then (L >= P)
163160 else false)
164- then (P > 0)
161+ then (Q > 0)
165162 else false)
166- then U
163+ then T
167164 else false)
168- then [Y, StringEntry((f + toString(L)), toBase58String(Z)), BooleanEntry(toBase58String(Z), true), ScriptTransfer(y.caller, 1, Z)]
165+ then [X, StringEntry((f + toString(M)), toBase58String(Y)), BooleanEntry(toBase58String(Y), true), ScriptTransfer(y.caller, 1, Y)]
169166 else throw("you are not able to claim NFT")
170167 }
171168
172169
173170
174171 @Callable(y)
175-func refund (L) = {
176- let N = toBase58String(y.caller.bytes)
177- let H = valueOrErrorMessage(getInteger(this, ((h + k) + toString(L))), "can not find event 1")
178- let I = valueOrErrorMessage(getInteger(this, ((h + l) + toString(L))), "can not find event 2")
179- let K = valueOrErrorMessage(getInteger(this, ((h + p) + toString(L))), "can not find event 3")
180- let O = valueOrElse(getInteger(this, ((i + s) + toString(L))), 0)
181- let P = valueOrElse(getInteger(this, (((i + t) + N) + toString(L))), 0)
182- let U = valueOrElse(getBoolean(this, g), true)
183- if (if (if (if ((I > height))
184- then (O > K)
172+func refund (M) = {
173+ let O = toBase58String(y.caller.bytes)
174+ let I = valueOrErrorMessage(getInteger(this, ((h + k) + toString(M))), "can not find event 1")
175+ let J = valueOrErrorMessage(getInteger(this, ((h + l) + toString(M))), "can not find event 2")
176+ let L = valueOrErrorMessage(getInteger(this, ((h + p) + toString(M))), "can not find event 3")
177+ let P = valueOrElse(getInteger(this, ((i + s) + toString(M))), 0)
178+ let Q = valueOrElse(getInteger(this, (((i + t) + O) + toString(M))), 0)
179+ let T = valueOrElse(getBoolean(this, g), true)
180+ if (if (if (if ((J > height))
181+ then (P > L)
185182 else false)
186- then (P > 0)
183+ then (Q > 0)
187184 else false)
188- then U
185+ then T
189186 else false)
190- then [IntegerEntry((((u + N) + "_") + toString(L)), P), ScriptTransfer(y.caller, P, d)]
187+ then [IntegerEntry((((u + O) + "_") + toString(M)), Q), ScriptTransfer(y.caller, Q, d)]
191188 else throw("can not refund. campaign success")
192189 }
193190
194191
195-@Verifier(aa)
196-func ab () = sigVerify(aa.bodyBytes, aa.proofs[0], aa.senderPublicKey)
192+@Verifier(Z)
193+func aa () = sigVerify(Z.bodyBytes, Z.proofs[0], Z.senderPublicKey)
197194

github/deemru/w8io/169f3d6 
88.36 ms