tx · CTPTFkrBHKNV6X6hXHzV4eAMRUDzxD4cCvG2ojPU7Ba8 3MyLnBsVm9pw43K9eba5UExxb3efeai91KP: -0.01300000 Waves 2022.12.23 10:58 [2372655] smart account 3MyLnBsVm9pw43K9eba5UExxb3efeai91KP > SELF 0.00000000 Waves
{ "type": 13, "id": "CTPTFkrBHKNV6X6hXHzV4eAMRUDzxD4cCvG2ojPU7Ba8", "fee": 1300000, "feeAssetId": null, "timestamp": 1671782287882, "version": 2, "chainId": 84, "sender": "3MyLnBsVm9pw43K9eba5UExxb3efeai91KP", "senderPublicKey": "E5xdZLn3yHKAn29pTyubhr9R1mkRGg9WKAcpPrCYFYHx", "proofs": [ "ac4Ykcm7Tmr1drAWyVDmkYYc2YpzcEjadDxbgYLRhWQUDJgYJKupdNJKsJLBTEEYSMbvD5hLS68fxTypMuXDZrt" ], "script": "base64:AAIFAAAAAAAAACYIAhIDCgEEEgkKBwgICAEBCAESAwoBARIDCgEBEgMKAQESAwoBAQAAABkAAAAACGRBcHBOYW1lAgAAABtDUk9XREZVTkRJTkdfT05fV0FWRVNfU0hBUkUAAAAABmFkbVB1YgEAAAAgwm0nmAhWSDqW+K/S1mvC+NNow4ujn8UBfOoCFti2ZnMAAAAABGJhbmsJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVSmfND+3V/r5U39jSnmcibSNaQF0ZS9OSgAAAAADHBheW1lbnRBc3NldAEAAAAgITlE6Sl8X8+K+DOSOPUkvq8L9vq51QOPRS3GqFK/+rkAAAAACGNsYWltS2V5AgAAAAdfY2xhaW1fAAAAAAZuZnRLZXkCAAAABV9uZnRfAAAAAAhuZnRJZEtleQIAAAAHX25mdElkXwAAAAALc2h1dERvd25LZXkCAAAACl9zaHV0RG93bl8AAAAACGV2ZW50S2V5AgAAAAdfZXZlbnRfAAAAAApwYXltZW50S2V5AgAAAAlfcGF5bWVudF8AAAAAEGdsb2JhbEV2ZW50SWRLZXkCAAAACV9ldmVudElkXwAAAAANc3RhcnRCbG9ja0tleQIAAAAMX3N0YXJ0QmxvY2tfAAAAAAtlbmRCbG9ja0tleQIAAAAKX2VuZEJsb2NrXwAAAAAIaW1hZ2VLZXkCAAAAB19pbWFnZV8AAAAACG93bmVyS2V5AgAAAAdfb3duZXJfAAAAAAZ1cmxLZXkCAAAABV91cmxfAAAAAApoYXJkQ2FwS2V5AgAAAAlfaGFyZENhcF8AAAAACHRpdGxlS2V5AgAAAAdfdGl0bGVfAAAAABNzaGFyZUhvbGRlckNvdW50S2V5AgAAABJfc2hhcmVIb2xkZXJDb3VudF8AAAAAD3RvdGFsUGF5bWVudEtleQIAAAAOX3RvdGFsUGF5bWVudF8AAAAAEHdhbGxldFBheW1lbnRLZXkCAAAAD193YWxsZXRQYXltZW50XwAAAAAJcmVmdW5kS2V5AgAAAAhfcmVmdW5kXwAAAAANY29tbWlzc2lvbkZlZQAAAAAAHc1lAAAAAAAGc2NhbGU4AAAAAAAF9eEAAQAAAAtpc1BheW1lbnRPawAAAAEAAAABaQQAAAARYWNjZXB0YWJsZUFzc2V0SWQFAAAADHBheW1lbnRB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", "height": 2372655, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HFf3tcx8Ast8hnqN3DyBcCygiqQwqrR2pMkZdMktkcXv Next: GpHyuXyv86UWfJ2nLRbh26oJdt7CKwwP7Cq1jNLuzM8i Diff:
Old | New | Differences | |
---|---|---|---|
13 | 13 | ||
14 | 14 | let f = "_nft_" | |
15 | 15 | ||
16 | - | let g = "_ | |
16 | + | let g = "_nftId_" | |
17 | 17 | ||
18 | - | let h = "_ | |
18 | + | let h = "_shutDown_" | |
19 | 19 | ||
20 | - | let i = "_ | |
20 | + | let i = "_event_" | |
21 | 21 | ||
22 | - | let j = "_ | |
22 | + | let j = "_payment_" | |
23 | 23 | ||
24 | - | let k = "_ | |
24 | + | let k = "_eventId_" | |
25 | 25 | ||
26 | - | let l = "_ | |
26 | + | let l = "_startBlock_" | |
27 | 27 | ||
28 | - | let m = "_ | |
28 | + | let m = "_endBlock_" | |
29 | 29 | ||
30 | - | let n = "_ | |
30 | + | let n = "_image_" | |
31 | 31 | ||
32 | - | let o = "_ | |
32 | + | let o = "_owner_" | |
33 | 33 | ||
34 | - | let p = "_ | |
34 | + | let p = "_url_" | |
35 | 35 | ||
36 | - | let q = "_ | |
36 | + | let q = "_hardCap_" | |
37 | 37 | ||
38 | - | let r = "_ | |
38 | + | let r = "_title_" | |
39 | 39 | ||
40 | - | let s = "_ | |
40 | + | let s = "_shareHolderCount_" | |
41 | 41 | ||
42 | - | let t = "_ | |
42 | + | let t = "_totalPayment_" | |
43 | 43 | ||
44 | - | let u = "_ | |
44 | + | let u = "_walletPayment_" | |
45 | 45 | ||
46 | - | let v = | |
46 | + | let v = "_refund_" | |
47 | 47 | ||
48 | - | let w = | |
48 | + | let w = 500000000 | |
49 | 49 | ||
50 | - | func x (y) = { | |
51 | - | let z = d | |
52 | - | if ((size(y.payments) == 0)) | |
50 | + | let x = 100000000 | |
51 | + | ||
52 | + | func y (z) = { | |
53 | + | let A = d | |
54 | + | if ((size(z.payments) == 0)) | |
53 | 55 | then throw("Payment not attached") | |
54 | 56 | else { | |
55 | - | let | |
56 | - | let | |
57 | - | if ($isInstanceOf( | |
57 | + | let B = z.payments[0] | |
58 | + | let C = B.assetId | |
59 | + | if ($isInstanceOf(C, "ByteVector")) | |
58 | 60 | then { | |
59 | - | let | |
60 | - | if (( | |
61 | - | then ( | |
61 | + | let D = C | |
62 | + | if ((D == A)) | |
63 | + | then (B.amount > 0) | |
62 | 64 | else false | |
63 | 65 | } | |
64 | 66 | else throw("Wrong payment asset") | |
66 | 68 | } | |
67 | 69 | ||
68 | 70 | ||
69 | - | @Callable( | |
70 | - | func shutdown ( | |
71 | - | then [BooleanEntry( | |
71 | + | @Callable(z) | |
72 | + | func shutdown (E) = if ((z.callerPublicKey == b)) | |
73 | + | then [BooleanEntry(h, E)] | |
72 | 74 | else throw("you are not allow to do this!") | |
73 | 75 | ||
74 | 76 | ||
75 | 77 | ||
76 | - | @Callable( | |
77 | - | func create ( | |
78 | - | let | |
79 | - | let | |
80 | - | if (( | |
81 | - | then [StringEntry((( | |
78 | + | @Callable(z) | |
79 | + | func create (F,G,H,I,J,K,L) = { | |
80 | + | let M = valueOrElse(getInteger(this, (i + k)), 0) | |
81 | + | let N = (M + 1) | |
82 | + | if ((z.callerPublicKey == b)) | |
83 | + | then [StringEntry(((i + n) + toString(N)), G), StringEntry(((i + o) + toString(N)), H), StringEntry(((i + r) + toString(N)), F), IntegerEntry(((i + l) + toString(N)), I), IntegerEntry(((i + m) + toString(N)), J), StringEntry(((i + p) + toString(N)), K), IntegerEntry(((i + q) + toString(N)), L), IntegerEntry((i + k), N)] | |
82 | 84 | else throw("you are not allowed") | |
83 | 85 | } | |
84 | 86 | ||
85 | 87 | ||
86 | 88 | ||
87 | - | @Callable( | |
88 | - | func funding ( | |
89 | - | let | |
90 | - | let | |
91 | - | let | |
92 | - | let | |
93 | - | let | |
94 | - | let | |
95 | - | let | |
96 | - | if (( | |
89 | + | @Callable(z) | |
90 | + | func funding (M) = { | |
91 | + | let I = valueOrErrorMessage(getInteger(this, ((i + l) + toString(M))), "can not find event 1") | |
92 | + | let J = valueOrErrorMessage(getInteger(this, ((i + m) + toString(M))), "can not find event 2") | |
93 | + | let L = valueOrErrorMessage(getInteger(this, ((i + q) + toString(M))), "can not find event 3") | |
94 | + | let O = toBase58String(z.caller.bytes) | |
95 | + | let P = valueOrElse(getInteger(this, ((j + t) + toString(M))), 0) | |
96 | + | let Q = valueOrElse(getInteger(this, (((j + u) + O) + toString(M))), 0) | |
97 | + | let R = valueOrElse(getInteger(this, ((j + s) + toString(M))), 0) | |
98 | + | if ((I > height)) | |
97 | 99 | then throw("crowdfunding not started") | |
98 | - | else if ((height >= | |
100 | + | else if ((height >= J)) | |
99 | 101 | then throw("crowdfunding is over") | |
100 | - | else if (( | |
102 | + | else if ((P >= L)) | |
101 | 103 | then throw("crowdfunding is reached to hard cap. thank you for participating!") | |
102 | - | else if (!( | |
104 | + | else if (!(y(z))) | |
103 | 105 | then throw("you have to attach payment greater than zero") | |
104 | 106 | else { | |
105 | - | let | |
106 | - | if (!( | |
107 | + | let S = valueOrElse(getBoolean(this, h), true) | |
108 | + | if (!(S)) | |
107 | 109 | then throw("emergency shutdown") | |
108 | 110 | else { | |
109 | - | let | |
110 | - | let | |
111 | - | let | |
112 | - | let | |
113 | - | [IntegerEntry((( | |
111 | + | let B = z.payments[0] | |
112 | + | let T = B.amount | |
113 | + | let U = fraction(T, w, x) | |
114 | + | let V = (T - U) | |
115 | + | [IntegerEntry(((j + s) + toString(M)), (R + 1)), IntegerEntry(((j + t) + toString(M)), (P + V)), IntegerEntry(((((j + u) + O) + "_") + toString(M)), (Q + V)), ScriptTransfer(c, U, d)] | |
114 | 116 | } | |
115 | 117 | } | |
116 | 118 | } | |
117 | 119 | ||
118 | 120 | ||
119 | 121 | ||
120 | - | @Callable( | |
121 | - | func claim ( | |
122 | - | let | |
123 | - | let | |
124 | - | let | |
125 | - | let | |
126 | - | let | |
127 | - | let | |
128 | - | let | |
129 | - | if ((toBytes( | |
122 | + | @Callable(z) | |
123 | + | func claim (M) = { | |
124 | + | let H = valueOrErrorMessage(getInteger(this, ((i + o) + toString(M))), "can not find the owner") | |
125 | + | let O = toBase58String(z.caller.bytes) | |
126 | + | let I = valueOrErrorMessage(getInteger(this, ((i + l) + toString(M))), "can not find event 1") | |
127 | + | let J = valueOrErrorMessage(getInteger(this, ((i + m) + toString(M))), "can not find event 2") | |
128 | + | let L = valueOrErrorMessage(getInteger(this, ((i + q) + toString(M))), "can not find event 3") | |
129 | + | let P = valueOrElse(getInteger(this, ((j + t) + toString(M))), 0) | |
130 | + | let S = valueOrElse(getBoolean(this, h), true) | |
131 | + | if ((toBytes(H) == z.caller.bytes)) | |
130 | 132 | then throw("you are not able to claim") | |
131 | - | else if (if (if ((height > | |
132 | - | then ( | |
133 | + | else if (if (if ((height > J)) | |
134 | + | then (P >= L) | |
133 | 135 | else false) | |
134 | - | then | |
136 | + | then S | |
135 | 137 | else false) | |
136 | - | then [ScriptTransfer( | |
138 | + | then [ScriptTransfer(z.caller, P, d), IntegerEntry((((e + O) + "_") + toString(M)), P)] | |
137 | 139 | else throw("not allowed") | |
138 | 140 | } | |
139 | 141 | ||
140 | 142 | ||
141 | 143 | ||
142 | - | @Callable( | |
143 | - | func claimShare ( | |
144 | - | let | |
145 | - | let | |
146 | - | let | |
147 | - | let | |
148 | - | let | |
149 | - | let | |
150 | - | let | |
151 | - | let | |
152 | - | let | |
153 | - | let | |
154 | - | let | |
155 | - | if (if (if (if ((height > | |
156 | - | then ( | |
144 | + | @Callable(z) | |
145 | + | func claimShare (M) = { | |
146 | + | let O = toBase58String(z.caller.bytes) | |
147 | + | let I = valueOrErrorMessage(getInteger(this, ((i + l) + toString(M))), "can not find event 1") | |
148 | + | let J = valueOrErrorMessage(getInteger(this, ((i + m) + toString(M))), "can not find event 2") | |
149 | + | let L = valueOrErrorMessage(getInteger(this, ((i + q) + toString(M))), "can not find event 3") | |
150 | + | let P = valueOrElse(getInteger(this, ((j + t) + toString(M))), 0) | |
151 | + | let Q = valueOrElse(getInteger(this, (((j + u) + O) + toString(M))), 0) | |
152 | + | let U = fraction(Q, x, P) | |
153 | + | let W = ((toString(U) + "_") + toString(M)) | |
154 | + | let X = Issue(((a + "_") + toString(M)), W, 1, 0, false) | |
155 | + | let Y = calculateAssetId(X) | |
156 | + | let S = valueOrElse(getBoolean(this, h), true) | |
157 | + | if (if (if (if ((height > J)) | |
158 | + | then (L >= P) | |
157 | 159 | else false) | |
158 | - | then ( | |
160 | + | then (Q > 0) | |
159 | 161 | else false) | |
160 | - | then | |
162 | + | then S | |
161 | 163 | else false) | |
162 | - | then [ | |
164 | + | then [X, StringEntry((f + toString(M)), toBase58String(Y)), ScriptTransfer(z.caller, 1, Y)] | |
163 | 165 | else throw("you are not able to claim NFT") | |
164 | 166 | } | |
165 | 167 | ||
166 | 168 | ||
167 | 169 | ||
168 | - | @Callable( | |
169 | - | func refund ( | |
170 | - | let | |
171 | - | let | |
172 | - | let | |
173 | - | let | |
174 | - | let | |
175 | - | let | |
176 | - | let | |
177 | - | if (if (if (if (( | |
178 | - | then ( | |
170 | + | @Callable(z) | |
171 | + | func refund (M) = { | |
172 | + | let O = toBase58String(z.caller.bytes) | |
173 | + | let I = valueOrErrorMessage(getInteger(this, ((i + l) + toString(M))), "can not find event 1") | |
174 | + | let J = valueOrErrorMessage(getInteger(this, ((i + m) + toString(M))), "can not find event 2") | |
175 | + | let L = valueOrErrorMessage(getInteger(this, ((i + q) + toString(M))), "can not find event 3") | |
176 | + | let P = valueOrElse(getInteger(this, ((j + t) + toString(M))), 0) | |
177 | + | let Q = valueOrElse(getInteger(this, (((j + u) + O) + toString(M))), 0) | |
178 | + | let S = valueOrElse(getBoolean(this, h), true) | |
179 | + | if (if (if (if ((J > height)) | |
180 | + | then (P > L) | |
179 | 181 | else false) | |
180 | - | then ( | |
182 | + | then (Q > 0) | |
181 | 183 | else false) | |
182 | - | then | |
184 | + | then S | |
183 | 185 | else false) | |
184 | - | then [IntegerEntry(((( | |
186 | + | then [IntegerEntry((((v + O) + "_") + toString(M)), Q), ScriptTransfer(z.caller, Q, d)] | |
185 | 187 | else throw("can not refund. campaign success") | |
186 | 188 | } | |
187 | 189 | ||
188 | 190 | ||
189 | - | @Verifier( | |
190 | - | func | |
191 | + | @Verifier(Z) | |
192 | + | func aa () = sigVerify(Z.bodyBytes, Z.proofs[0], Z.senderPublicKey) | |
191 | 193 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "CROWDFUNDING_ON_WAVES_SHARE" | |
5 | 5 | ||
6 | 6 | let b = base58'E5xdZLn3yHKAn29pTyubhr9R1mkRGg9WKAcpPrCYFYHx' | |
7 | 7 | ||
8 | 8 | let c = Address(base58'3N56PUABa6tqTXc4cv6QvntyMPb1KHnzC79') | |
9 | 9 | ||
10 | 10 | let d = base58'3Eh6z6z6ouFpWxGKrPaPnZwmDnDjgYHV6tqCmZf2G7tk' | |
11 | 11 | ||
12 | 12 | let e = "_claim_" | |
13 | 13 | ||
14 | 14 | let f = "_nft_" | |
15 | 15 | ||
16 | - | let g = "_ | |
16 | + | let g = "_nftId_" | |
17 | 17 | ||
18 | - | let h = "_ | |
18 | + | let h = "_shutDown_" | |
19 | 19 | ||
20 | - | let i = "_ | |
20 | + | let i = "_event_" | |
21 | 21 | ||
22 | - | let j = "_ | |
22 | + | let j = "_payment_" | |
23 | 23 | ||
24 | - | let k = "_ | |
24 | + | let k = "_eventId_" | |
25 | 25 | ||
26 | - | let l = "_ | |
26 | + | let l = "_startBlock_" | |
27 | 27 | ||
28 | - | let m = "_ | |
28 | + | let m = "_endBlock_" | |
29 | 29 | ||
30 | - | let n = "_ | |
30 | + | let n = "_image_" | |
31 | 31 | ||
32 | - | let o = "_ | |
32 | + | let o = "_owner_" | |
33 | 33 | ||
34 | - | let p = "_ | |
34 | + | let p = "_url_" | |
35 | 35 | ||
36 | - | let q = "_ | |
36 | + | let q = "_hardCap_" | |
37 | 37 | ||
38 | - | let r = "_ | |
38 | + | let r = "_title_" | |
39 | 39 | ||
40 | - | let s = "_ | |
40 | + | let s = "_shareHolderCount_" | |
41 | 41 | ||
42 | - | let t = "_ | |
42 | + | let t = "_totalPayment_" | |
43 | 43 | ||
44 | - | let u = "_ | |
44 | + | let u = "_walletPayment_" | |
45 | 45 | ||
46 | - | let v = | |
46 | + | let v = "_refund_" | |
47 | 47 | ||
48 | - | let w = | |
48 | + | let w = 500000000 | |
49 | 49 | ||
50 | - | func x (y) = { | |
51 | - | let z = d | |
52 | - | if ((size(y.payments) == 0)) | |
50 | + | let x = 100000000 | |
51 | + | ||
52 | + | func y (z) = { | |
53 | + | let A = d | |
54 | + | if ((size(z.payments) == 0)) | |
53 | 55 | then throw("Payment not attached") | |
54 | 56 | else { | |
55 | - | let | |
56 | - | let | |
57 | - | if ($isInstanceOf( | |
57 | + | let B = z.payments[0] | |
58 | + | let C = B.assetId | |
59 | + | if ($isInstanceOf(C, "ByteVector")) | |
58 | 60 | then { | |
59 | - | let | |
60 | - | if (( | |
61 | - | then ( | |
61 | + | let D = C | |
62 | + | if ((D == A)) | |
63 | + | then (B.amount > 0) | |
62 | 64 | else false | |
63 | 65 | } | |
64 | 66 | else throw("Wrong payment asset") | |
65 | 67 | } | |
66 | 68 | } | |
67 | 69 | ||
68 | 70 | ||
69 | - | @Callable( | |
70 | - | func shutdown ( | |
71 | - | then [BooleanEntry( | |
71 | + | @Callable(z) | |
72 | + | func shutdown (E) = if ((z.callerPublicKey == b)) | |
73 | + | then [BooleanEntry(h, E)] | |
72 | 74 | else throw("you are not allow to do this!") | |
73 | 75 | ||
74 | 76 | ||
75 | 77 | ||
76 | - | @Callable( | |
77 | - | func create ( | |
78 | - | let | |
79 | - | let | |
80 | - | if (( | |
81 | - | then [StringEntry((( | |
78 | + | @Callable(z) | |
79 | + | func create (F,G,H,I,J,K,L) = { | |
80 | + | let M = valueOrElse(getInteger(this, (i + k)), 0) | |
81 | + | let N = (M + 1) | |
82 | + | if ((z.callerPublicKey == b)) | |
83 | + | then [StringEntry(((i + n) + toString(N)), G), StringEntry(((i + o) + toString(N)), H), StringEntry(((i + r) + toString(N)), F), IntegerEntry(((i + l) + toString(N)), I), IntegerEntry(((i + m) + toString(N)), J), StringEntry(((i + p) + toString(N)), K), IntegerEntry(((i + q) + toString(N)), L), IntegerEntry((i + k), N)] | |
82 | 84 | else throw("you are not allowed") | |
83 | 85 | } | |
84 | 86 | ||
85 | 87 | ||
86 | 88 | ||
87 | - | @Callable( | |
88 | - | func funding ( | |
89 | - | let | |
90 | - | let | |
91 | - | let | |
92 | - | let | |
93 | - | let | |
94 | - | let | |
95 | - | let | |
96 | - | if (( | |
89 | + | @Callable(z) | |
90 | + | func funding (M) = { | |
91 | + | let I = valueOrErrorMessage(getInteger(this, ((i + l) + toString(M))), "can not find event 1") | |
92 | + | let J = valueOrErrorMessage(getInteger(this, ((i + m) + toString(M))), "can not find event 2") | |
93 | + | let L = valueOrErrorMessage(getInteger(this, ((i + q) + toString(M))), "can not find event 3") | |
94 | + | let O = toBase58String(z.caller.bytes) | |
95 | + | let P = valueOrElse(getInteger(this, ((j + t) + toString(M))), 0) | |
96 | + | let Q = valueOrElse(getInteger(this, (((j + u) + O) + toString(M))), 0) | |
97 | + | let R = valueOrElse(getInteger(this, ((j + s) + toString(M))), 0) | |
98 | + | if ((I > height)) | |
97 | 99 | then throw("crowdfunding not started") | |
98 | - | else if ((height >= | |
100 | + | else if ((height >= J)) | |
99 | 101 | then throw("crowdfunding is over") | |
100 | - | else if (( | |
102 | + | else if ((P >= L)) | |
101 | 103 | then throw("crowdfunding is reached to hard cap. thank you for participating!") | |
102 | - | else if (!( | |
104 | + | else if (!(y(z))) | |
103 | 105 | then throw("you have to attach payment greater than zero") | |
104 | 106 | else { | |
105 | - | let | |
106 | - | if (!( | |
107 | + | let S = valueOrElse(getBoolean(this, h), true) | |
108 | + | if (!(S)) | |
107 | 109 | then throw("emergency shutdown") | |
108 | 110 | else { | |
109 | - | let | |
110 | - | let | |
111 | - | let | |
112 | - | let | |
113 | - | [IntegerEntry((( | |
111 | + | let B = z.payments[0] | |
112 | + | let T = B.amount | |
113 | + | let U = fraction(T, w, x) | |
114 | + | let V = (T - U) | |
115 | + | [IntegerEntry(((j + s) + toString(M)), (R + 1)), IntegerEntry(((j + t) + toString(M)), (P + V)), IntegerEntry(((((j + u) + O) + "_") + toString(M)), (Q + V)), ScriptTransfer(c, U, d)] | |
114 | 116 | } | |
115 | 117 | } | |
116 | 118 | } | |
117 | 119 | ||
118 | 120 | ||
119 | 121 | ||
120 | - | @Callable( | |
121 | - | func claim ( | |
122 | - | let | |
123 | - | let | |
124 | - | let | |
125 | - | let | |
126 | - | let | |
127 | - | let | |
128 | - | let | |
129 | - | if ((toBytes( | |
122 | + | @Callable(z) | |
123 | + | func claim (M) = { | |
124 | + | let H = valueOrErrorMessage(getInteger(this, ((i + o) + toString(M))), "can not find the owner") | |
125 | + | let O = toBase58String(z.caller.bytes) | |
126 | + | let I = valueOrErrorMessage(getInteger(this, ((i + l) + toString(M))), "can not find event 1") | |
127 | + | let J = valueOrErrorMessage(getInteger(this, ((i + m) + toString(M))), "can not find event 2") | |
128 | + | let L = valueOrErrorMessage(getInteger(this, ((i + q) + toString(M))), "can not find event 3") | |
129 | + | let P = valueOrElse(getInteger(this, ((j + t) + toString(M))), 0) | |
130 | + | let S = valueOrElse(getBoolean(this, h), true) | |
131 | + | if ((toBytes(H) == z.caller.bytes)) | |
130 | 132 | then throw("you are not able to claim") | |
131 | - | else if (if (if ((height > | |
132 | - | then ( | |
133 | + | else if (if (if ((height > J)) | |
134 | + | then (P >= L) | |
133 | 135 | else false) | |
134 | - | then | |
136 | + | then S | |
135 | 137 | else false) | |
136 | - | then [ScriptTransfer( | |
138 | + | then [ScriptTransfer(z.caller, P, d), IntegerEntry((((e + O) + "_") + toString(M)), P)] | |
137 | 139 | else throw("not allowed") | |
138 | 140 | } | |
139 | 141 | ||
140 | 142 | ||
141 | 143 | ||
142 | - | @Callable( | |
143 | - | func claimShare ( | |
144 | - | let | |
145 | - | let | |
146 | - | let | |
147 | - | let | |
148 | - | let | |
149 | - | let | |
150 | - | let | |
151 | - | let | |
152 | - | let | |
153 | - | let | |
154 | - | let | |
155 | - | if (if (if (if ((height > | |
156 | - | then ( | |
144 | + | @Callable(z) | |
145 | + | func claimShare (M) = { | |
146 | + | let O = toBase58String(z.caller.bytes) | |
147 | + | let I = valueOrErrorMessage(getInteger(this, ((i + l) + toString(M))), "can not find event 1") | |
148 | + | let J = valueOrErrorMessage(getInteger(this, ((i + m) + toString(M))), "can not find event 2") | |
149 | + | let L = valueOrErrorMessage(getInteger(this, ((i + q) + toString(M))), "can not find event 3") | |
150 | + | let P = valueOrElse(getInteger(this, ((j + t) + toString(M))), 0) | |
151 | + | let Q = valueOrElse(getInteger(this, (((j + u) + O) + toString(M))), 0) | |
152 | + | let U = fraction(Q, x, P) | |
153 | + | let W = ((toString(U) + "_") + toString(M)) | |
154 | + | let X = Issue(((a + "_") + toString(M)), W, 1, 0, false) | |
155 | + | let Y = calculateAssetId(X) | |
156 | + | let S = valueOrElse(getBoolean(this, h), true) | |
157 | + | if (if (if (if ((height > J)) | |
158 | + | then (L >= P) | |
157 | 159 | else false) | |
158 | - | then ( | |
160 | + | then (Q > 0) | |
159 | 161 | else false) | |
160 | - | then | |
162 | + | then S | |
161 | 163 | else false) | |
162 | - | then [ | |
164 | + | then [X, StringEntry((f + toString(M)), toBase58String(Y)), ScriptTransfer(z.caller, 1, Y)] | |
163 | 165 | else throw("you are not able to claim NFT") | |
164 | 166 | } | |
165 | 167 | ||
166 | 168 | ||
167 | 169 | ||
168 | - | @Callable( | |
169 | - | func refund ( | |
170 | - | let | |
171 | - | let | |
172 | - | let | |
173 | - | let | |
174 | - | let | |
175 | - | let | |
176 | - | let | |
177 | - | if (if (if (if (( | |
178 | - | then ( | |
170 | + | @Callable(z) | |
171 | + | func refund (M) = { | |
172 | + | let O = toBase58String(z.caller.bytes) | |
173 | + | let I = valueOrErrorMessage(getInteger(this, ((i + l) + toString(M))), "can not find event 1") | |
174 | + | let J = valueOrErrorMessage(getInteger(this, ((i + m) + toString(M))), "can not find event 2") | |
175 | + | let L = valueOrErrorMessage(getInteger(this, ((i + q) + toString(M))), "can not find event 3") | |
176 | + | let P = valueOrElse(getInteger(this, ((j + t) + toString(M))), 0) | |
177 | + | let Q = valueOrElse(getInteger(this, (((j + u) + O) + toString(M))), 0) | |
178 | + | let S = valueOrElse(getBoolean(this, h), true) | |
179 | + | if (if (if (if ((J > height)) | |
180 | + | then (P > L) | |
179 | 181 | else false) | |
180 | - | then ( | |
182 | + | then (Q > 0) | |
181 | 183 | else false) | |
182 | - | then | |
184 | + | then S | |
183 | 185 | else false) | |
184 | - | then [IntegerEntry(((( | |
186 | + | then [IntegerEntry((((v + O) + "_") + toString(M)), Q), ScriptTransfer(z.caller, Q, d)] | |
185 | 187 | else throw("can not refund. campaign success") | |
186 | 188 | } | |
187 | 189 | ||
188 | 190 | ||
189 | - | @Verifier( | |
190 | - | func | |
191 | + | @Verifier(Z) | |
192 | + | func aa () = sigVerify(Z.bodyBytes, Z.proofs[0], Z.senderPublicKey) | |
191 | 193 |
github/deemru/w8io/169f3d6 99.22 ms ◑