tx · DJvvuHxLPKwMEQrVWAXPXLcFZVM2tKZvbh9orSbaveVj 3MsQwxepm5q2BG1PYUMwqoD2JLgKrACa3P2: -0.01400000 Waves 2020.04.06 11:37 [942134] smart account 3MsQwxepm5q2BG1PYUMwqoD2JLgKrACa3P2 > SELF 0.00000000 Waves
{ "type": 13, "id": "DJvvuHxLPKwMEQrVWAXPXLcFZVM2tKZvbh9orSbaveVj", "fee": 1400000, "feeAssetId": null, "timestamp": 1586162221250, "version": 1, "sender": "3MsQwxepm5q2BG1PYUMwqoD2JLgKrACa3P2", "senderPublicKey": "GQpgNnxYTNNWmyiXVfx9rpMV1hgft2HPhJ3CkWeLuxAt", "proofs": [ "4zH1CRXxEpYMiZazUsMznatjV6me4H1hh1L6y3nPsJQDGk3S6hcsDL6AJmA8FNCKJtscBhigBYV36ANQTuRwxJte" ], "script": "base64:AAIDAAAAAAAAACMIARIECgIICBIICgYICAgBAQgSCQoHCAgICAEICBIECgIIAQAAADcAAAAAB2JCaXRDTzIBAAAAIB/+20Whi2vRcLDiyL6zBUKemnAWGkbChWDkhQemNVeLAAAAAAhzdGFydFF0eQAAAAAAAB6EgAAAAAAIbm9tUHJpY2UAAAAAAAAAAAEAAAAAA3d2cwAAAAAABfXhAAAAAAAQc3VwcGxpZXJEaXNjb3VudAAAAAAAAAAADAAAAAAETk9ORQIAAAAEbm9uZQAAAAALT3duZXJQdWJLZXkBAAAAIOT5kr0qxAUdVllbsg32nwnU0gQ806lA/C0Ix5M0fVkpAAAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQmXeqpNBOU0gXTRoLnFygaPj7BjtrRIP0AAAAAA2lndgAAAAAAAAAAEgAAAAADY1BCAAAAAAAAAABYAAAAAAN1SVAAAAAAAAAAAAUAAAAAA3BJUAAAAAAAAAAACgAAAAADc0lQAAAAAAAAAAABAAAAAANlSVAAAAAAAAAAAAEAAAAAAnBBCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUyvc7Pucv0VXiD634RbMs3vuN0A1Fa31vAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAACmdldEtleUl0ZW0AAAACAAAACHN1cHBsaWVyAAAABXRpdGxlCQABLAAAAAICAAAABkEgeSBHOgkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACBQAAAAhzdXBwbGllcgUAAAAFdGl0bGUBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAZfUCBTQUMBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQEAAAAOZ2V0S2V5U3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQABLAAAAAIFAAAACHN1cHBsaWVyAgAAAAZfUCBTQUMBAAAAEGdldFZhbHVlU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAOZ2V0S2V5U3VwcGxpZXIAAAABBQAAAAhzdXBwbGllcgEAAAANZ2V0S2V5UHJvamVjdAAAAAEAAAACcEEJAAEsAAAAAgUAAAACcEECAAAACV9BLVByZUlDTwEAAAAPZ2V0VmFsdWVQcm9qZWN0AAAAAQAAAAJwQQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAADWdldEtleVByb2plY3QAAAABBQAAAAJwQQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0CAAAACk9yZGVyX+KEljoBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAAA5nZXRLZXlJdGVtVXNlcgAAAAEAAAAEaXRlbQIAAAAJVXNlck5hbWU6AQAAABBnZXRWYWx1ZUl0ZW1Vc2VyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAOZ2V0S2V5SXRlbVVzZXIAAAABBQAAAARpdGVtAQAAABFnZXRLZXlVc2VyQ291bnRyeQAAAAEAAAAEaXRlbQIAAAAJVXNlclBhaXM6AQAAABNnZXRWYWx1ZVVzZXJDb3VudHJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5VXNlckNvdW50cnkAAAABBQAAAARpdGVtAQAAAAxnZXRLZXlJdGVtVUQAAAABAAAABGl0ZW0CAAAAA1VEOgEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgIAAAAXU2VsbGVyX0JhbGFuY2UsX2FCaXRDTzIBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyAQAAAAhnZXRLZXlVSQAAAAEAAAAEaXRlbQIAAAAIVUksX3d2czoBAAAACmdldFZhbHVlVUkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAhnZXRLZXlVSQAAAAEFAAAABGl0ZW0BAAAACWdldEtleVVCSQAAAAEAAAAEaXRlbQIAAAAMVUJJLF9CaXRDTzI6AQAAAAtnZXRWYWx1ZVVCSQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAACWdldEtleVVCSQAAAAEFAAAABGl0ZW0BAAAACGdldEtleVBJAAAAAQAAAARpdGVtAgAAAAZQSSxfJToBAAAACmdldFZhbHVlUEkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAhnZXRLZXlQSQAAAAEFAAAABGl0ZW0BAAAACGdldEtleVNJAAAAAQAAAARpdGVtAgAAAAZTSSxfJToBAAAACmdldFZhbHVlU0kAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAhnZXRLZXlTSQAAAAEFAAAABGl0ZW0BAAAACGdldEtleUVJAAAAAQAAAAJlQQIAAAAGRUksXyU6AQAAAApnZXRWYWx1ZUVJAAAAAQAAAAJlQQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAACGdldEtleUVJAAAAAQUAAAACZUEBAAAAEmdldEtleUl0ZW1Vc2VyRGF0YQAAAAEAAAAEaXRlbQIAAAAMVXNlckNvdW50cnk6AQAAABZnZXRLZXlJdGVtRGlzY291bnRVc2VyAAAAAQAAAARpdGVtAgAAABBVc2VyRGlzY291bnQsICU6AQAAABhnZXRWYWx1ZUl0ZW1EaXNjb3VudFVzZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtRGlzY291bnRVc2VyAAAAAQUAAAAEaXRlbQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEAAAAEaXRlbQIAAAAST3JkZXJfcXR5LF90b2tlbnM6AQAAABhnZXRWYWx1ZUl0ZW1Vc2VyT3JkZXJRdHkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtVXNlck9yZGVyUXR5AAAAAQUAAAAEaXRlbQEAAAAYZ2V0S2V5QmFsYW5jZVF0eVN1cHBsaWVyAAAAAQAAAARpdGVtAgAAABZCYWxhbmNlL1NhbGRvLCB0b2tlbnM6AQAAABpnZXRWYWx1ZUJhbGFuY2VRdHlTdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGGdldEtleUJhbGFuY2VRdHlTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAF2dldEtleUl0ZW1QcmljZVN1cHBsaWVyAAAAAQAAAARpdGVtAgAAAAZfd2F2ZXMBAAAAGWdldFZhbHVlSXRlbVByaWNlU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtUHJpY2VTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAGmdldEtleUl0ZW1EaXNjb3VudFN1cHBsaWVyAAAAAQAAAARpdGVtAgAAABhTdXBwbGllckRpc2NvdW50LCBtYXhfJToBAAAAHGdldFZhbHVlSXRlbURpc2NvdW50U3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABpnZXRLZXlJdGVtRGlzY291bnRTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAADmdldEtleUl0ZW1EYXRhAAAAAQAAAARpdGVtAgAAAA1kZXNjcmlwdGlvbjogAAAABAAAAAFpAQAAAAdkZXBvc2l0AAAAAgAAAAV0aXRsZQAAAAxzdXBwbGllckRhdGEEAAAA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", "chainId": 84, "height": 942134, "spentComplexity": 0 } View: original | compacted Prev: 3kiqDhsfFn4ztxFQnoenASff8hEtRHDFYrSzZn1UpUsx Next: FHzUKfWjEXyLAx7D2uDjiyWXK89mJEYofWSZ3rmbeHDh Diff:
Old | New | Differences | |
---|---|---|---|
68 | 68 | func B (A) = u(z(A)) | |
69 | 69 | ||
70 | 70 | ||
71 | - | func C ( | |
71 | + | func C (x) = (x + "_P SAC") | |
72 | 72 | ||
73 | 73 | ||
74 | - | func D ( | |
74 | + | func D (x) = u(C(x)) | |
75 | 75 | ||
76 | 76 | ||
77 | - | func E ( | |
77 | + | func E (o) = (o + "_A-PreICO") | |
78 | 78 | ||
79 | 79 | ||
80 | - | func | |
80 | + | func F (o) = u(E(o)) | |
81 | 81 | ||
82 | 82 | ||
83 | - | func | |
83 | + | func G (H,A) = "Order_№:" | |
84 | 84 | ||
85 | 85 | ||
86 | - | func I (A) = | |
86 | + | func I (H,A) = p(G(H, A)) | |
87 | 87 | ||
88 | 88 | ||
89 | - | func J (A) = " | |
89 | + | func J (A) = "UserName:" | |
90 | 90 | ||
91 | 91 | ||
92 | 92 | func K (A) = u(J(A)) | |
93 | 93 | ||
94 | 94 | ||
95 | - | func L (A) = " | |
95 | + | func L (A) = "UserPais:" | |
96 | 96 | ||
97 | 97 | ||
98 | - | func M ( | |
98 | + | func M (A) = u(L(A)) | |
99 | 99 | ||
100 | 100 | ||
101 | - | func N ( | |
101 | + | func N (A) = "UD:" | |
102 | 102 | ||
103 | 103 | ||
104 | - | func O ( | |
104 | + | func O (x) = "Seller_Balance,_aBitCO2" | |
105 | 105 | ||
106 | 106 | ||
107 | - | func P ( | |
107 | + | func P (x) = p(O(x)) | |
108 | 108 | ||
109 | 109 | ||
110 | - | func Q (A) = " | |
110 | + | func Q (A) = "UI,_wvs:" | |
111 | 111 | ||
112 | 112 | ||
113 | 113 | func R (A) = p(Q(A)) | |
114 | 114 | ||
115 | 115 | ||
116 | - | func S (A) = " | |
116 | + | func S (A) = "UBI,_BitCO2:" | |
117 | 117 | ||
118 | 118 | ||
119 | 119 | func T (A) = p(S(A)) | |
120 | 120 | ||
121 | 121 | ||
122 | - | func U (A) = " | |
122 | + | func U (A) = "PI,_%:" | |
123 | 123 | ||
124 | 124 | ||
125 | 125 | func V (A) = p(U(A)) | |
126 | 126 | ||
127 | 127 | ||
128 | - | func W ( | |
128 | + | func W (A) = "SI,_%:" | |
129 | 129 | ||
130 | 130 | ||
131 | - | func | |
131 | + | func X (A) = p(W(A)) | |
132 | 132 | ||
133 | 133 | ||
134 | - | func | |
134 | + | func Y (Z) = "EI,_%:" | |
135 | 135 | ||
136 | 136 | ||
137 | - | func aa ( | |
137 | + | func aa (Z) = p(Y(Z)) | |
138 | 138 | ||
139 | 139 | ||
140 | - | func ab (A) = | |
140 | + | func ab (A) = "UserCountry:" | |
141 | 141 | ||
142 | 142 | ||
143 | - | func ac (A) = " | |
143 | + | func ac (A) = "UserDiscount, %:" | |
144 | 144 | ||
145 | 145 | ||
146 | 146 | func ad (A) = p(ac(A)) | |
147 | 147 | ||
148 | 148 | ||
149 | - | func ae (A) = " | |
149 | + | func ae (A) = "Order_qty,_tokens:" | |
150 | 150 | ||
151 | 151 | ||
152 | 152 | func af (A) = p(ae(A)) | |
153 | 153 | ||
154 | 154 | ||
155 | - | func ag (A) = " | |
155 | + | func ag (A) = "Balance/Saldo, tokens:" | |
156 | 156 | ||
157 | 157 | ||
158 | 158 | func ah (A) = p(ag(A)) | |
159 | 159 | ||
160 | 160 | ||
161 | - | func ai (A) = " | |
161 | + | func ai (A) = "_waves" | |
162 | 162 | ||
163 | 163 | ||
164 | 164 | func aj (A) = p(ai(A)) | |
165 | 165 | ||
166 | 166 | ||
167 | - | func ak (A) = " | |
167 | + | func ak (A) = "SupplierDiscount, max_%:" | |
168 | 168 | ||
169 | 169 | ||
170 | - | @Callable(al) | |
171 | - | func deposit (y,am) = { | |
172 | - | let an = extract(al.payment) | |
173 | - | if ((an.assetId != a)) | |
170 | + | func al (A) = p(ak(A)) | |
171 | + | ||
172 | + | ||
173 | + | func am (A) = "description: " | |
174 | + | ||
175 | + | ||
176 | + | @Callable(an) | |
177 | + | func deposit (y,ao) = { | |
178 | + | let ap = extract(an.payment) | |
179 | + | if ((ap.assetId != a)) | |
174 | 180 | then throw("Use bBitCO2 tokens only for the wallet deposit") | |
175 | 181 | else { | |
176 | - | let x = toBase58String( | |
177 | - | let | |
182 | + | let x = toBase58String(an.caller.bytes) | |
183 | + | let aq = { | |
178 | 184 | let s = getInteger(this, x) | |
179 | 185 | if ($isInstanceOf(s, "Int")) | |
180 | 186 | then { | |
183 | 189 | } | |
184 | 190 | else b | |
185 | 191 | } | |
186 | - | let | |
187 | - | if ((0 >= | |
192 | + | let ar = (aq + ap.amount) | |
193 | + | if ((0 >= ar)) | |
188 | 194 | then throw("No hay BitCO2 in your balance") | |
189 | - | else WriteSet([DataEntry(x, | |
195 | + | else WriteSet([DataEntry(x, ar)]) | |
190 | 196 | } | |
191 | 197 | } | |
192 | 198 | ||
193 | 199 | ||
194 | 200 | ||
195 | - | @Callable( | |
196 | - | func AddSupplierToken (y, | |
197 | - | let x = toBase58String( | |
201 | + | @Callable(an) | |
202 | + | func AddSupplierToken (y,as,at,au,e,ao) = { | |
203 | + | let x = toBase58String(an.caller.bytes) | |
198 | 204 | let A = w(x, y) | |
199 | - | if ((0 >= | |
205 | + | if ((0 >= au)) | |
200 | 206 | then throw("Sorry, insufficient token offer") | |
201 | - | else WriteSet([DataEntry(("Supplier:_" + | |
207 | + | else WriteSet([DataEntry(("Supplier:_" + C(A)), x), DataEntry(("Title:_" + x), y), DataEntry(("ProjectName:_" + x), as), DataEntry(("Country:_" + x), at), DataEntry(ag(A), au), DataEntry(("NomTokenPrice:_" + ai(A)), (c * d)), DataEntry(("Max_Descuento_ofrecido:" + ak(A)), e), DataEntry(("Development:_" + am(A)), ao)]) | |
202 | 208 | } | |
203 | 209 | ||
204 | 210 | ||
205 | 211 | ||
206 | - | @Callable( | |
207 | - | func purchaseGTS (A, | |
208 | - | let | |
209 | - | if (isDefined( | |
212 | + | @Callable(an) | |
213 | + | func purchaseGTS (A,av,aw,ax,ay,o,Z) = { | |
214 | + | let ap = extract(an.payment) | |
215 | + | if (isDefined(ap.assetId)) | |
210 | 216 | then throw("you can adquire Products only by Waves tokens") | |
211 | 217 | else { | |
212 | 218 | let x = { | |
218 | 224 | } | |
219 | 225 | else f | |
220 | 226 | } | |
221 | - | let | |
222 | - | let s = getInteger(this, | |
227 | + | let au = { | |
228 | + | let s = getInteger(this, ag(A)) | |
223 | 229 | if ($isInstanceOf(s, "Int")) | |
224 | 230 | then { | |
225 | 231 | let t = s | |
227 | 233 | } | |
228 | 234 | else b | |
229 | 235 | } | |
230 | - | let | |
231 | - | let s = getInteger(this, | |
236 | + | let az = { | |
237 | + | let s = getInteger(this, O(x)) | |
232 | 238 | if ($isInstanceOf(s, "Int")) | |
233 | 239 | then { | |
234 | 240 | let t = s | |
236 | 242 | } | |
237 | 243 | else 0 | |
238 | 244 | } | |
239 | - | let | |
240 | - | let | |
241 | - | let | |
242 | - | let | |
243 | - | let | |
244 | - | let | |
245 | - | let | |
246 | - | let | |
247 | - | let | |
248 | - | if (( | |
245 | + | let aA = toBase58String(an.caller.bytes) | |
246 | + | let aB = (ay - ((i * ay) / 100)) | |
247 | + | let aC = ((aB * k) / 100) | |
248 | + | let aD = (aC / j) | |
249 | + | let aE = ((aB * l) / 100) | |
250 | + | let aF = ((aB * n) / 100) | |
251 | + | let aG = ((aB * n) / 100) | |
252 | + | let aH = ((ay - aE) - aF) | |
253 | + | let aI = ((aB * m) / 100) | |
254 | + | if ((ay > ap.amount)) | |
249 | 255 | then throw("Payment Amount can't be less than item Purchase Order") | |
250 | - | else if (( | |
256 | + | else if ((ap.amount > ay)) | |
251 | 257 | then throw("Payment Amount can't be higher than item Purchase Order") | |
252 | - | else ScriptResult(WriteSet([DataEntry( | |
258 | + | else ScriptResult(WriteSet([DataEntry(G(aA, A), (I(aA, A) + 1)), DataEntry(J(A), av), DataEntry(L(A), aw), DataEntry(N(A), ax), DataEntry("Payment_amount,_wvs", ay), DataEntry("Imp, %", i), DataEntry("STtl, wvs", aB), DataEntry("CP 1 B, wvs", (j * 1000000)), DataEntry(Q(A), aC), DataEntry("UBI", aD), DataEntry(U(A), aE), DataEntry(Y(Z), aF), DataEntry("EcSys", aG), DataEntry(("Order_Status:_" + aA), "confirmed"), DataEntry(W(A), aH), DataEntry("SBI: b", aI), DataEntry(O(x), (az + ap.amount))]), TransferSet([ScriptTransfer(an.caller, aC, unit), ScriptTransfer(addressFromStringValue(o), aE, unit), ScriptTransfer(addressFromStringValue(x), aH, unit), ScriptTransfer(addressFromStringValue(Z), aF, unit)])) | |
253 | 259 | } | |
254 | 260 | } | |
255 | 261 | ||
256 | 262 | ||
257 | 263 | ||
258 | - | @Callable( | |
259 | - | func withdraw (A, | |
260 | - | let | |
264 | + | @Callable(an) | |
265 | + | func withdraw (A,aJ) = { | |
266 | + | let aA = toBase58String(an.caller.bytes) | |
261 | 267 | let x = { | |
262 | 268 | let s = getString(this, z(A)) | |
263 | 269 | if ($isInstanceOf(s, "String")) | |
267 | 273 | } | |
268 | 274 | else f | |
269 | 275 | } | |
270 | - | let | |
271 | - | let s = getInteger(this, | |
276 | + | let au = { | |
277 | + | let s = getInteger(this, ag(A)) | |
272 | 278 | if ($isInstanceOf(s, "Int")) | |
273 | 279 | then { | |
274 | 280 | let t = s | |
276 | 282 | } | |
277 | 283 | else b | |
278 | 284 | } | |
279 | - | let | |
280 | - | if ((0 > | |
285 | + | let ar = (au - aJ) | |
286 | + | if ((0 > aJ)) | |
281 | 287 | then throw("Can't withdraw negative amount") | |
282 | - | else if ((0 >= | |
288 | + | else if ((0 >= ar)) | |
283 | 289 | then throw("Not enought /insuficiente balance") | |
284 | - | else ScriptResult(WriteSet([DataEntry(A, | |
290 | + | else ScriptResult(WriteSet([DataEntry(A, ar)]), TransferSet([ScriptTransfer(an.caller, aJ, a)])) | |
285 | 291 | } | |
286 | 292 | ||
287 | 293 | ||
288 | - | @Verifier( | |
289 | - | func | |
290 | - | let s = | |
294 | + | @Verifier(aK) | |
295 | + | func aL () = { | |
296 | + | let s = aK | |
291 | 297 | if ($isInstanceOf(s, "SetScriptTransaction")) | |
292 | 298 | then { | |
293 | - | let | |
294 | - | sigVerify( | |
299 | + | let aM = s | |
300 | + | sigVerify(aK.bodyBytes, aK.proofs[0], g) | |
295 | 301 | } | |
296 | 302 | else if (if ($isInstanceOf(s, "ReissueTransaction")) | |
297 | 303 | then true | |
298 | 304 | else $isInstanceOf(s, "DataTransaction")) | |
299 | 305 | then { | |
300 | - | let | |
306 | + | let aN = s | |
301 | 307 | true | |
302 | 308 | } | |
303 | 309 | else if ($isInstanceOf(s, "TransferTransaction")) | |
304 | 310 | then { | |
305 | - | let | |
311 | + | let aK = s | |
306 | 312 | true | |
307 | 313 | } | |
308 | 314 | else if ($isInstanceOf(s, "ExchangeTransaction")) | |
309 | 315 | then { | |
310 | - | let | |
316 | + | let aK = s | |
311 | 317 | true | |
312 | 318 | } | |
313 | 319 | else false |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'39u32sVJU2K5UJoPRQasrNKRHbDZhtRzuHYc9tdFozn6' | |
5 | 5 | ||
6 | 6 | let b = 2000000 | |
7 | 7 | ||
8 | 8 | let c = 1 | |
9 | 9 | ||
10 | 10 | let d = 100000000 | |
11 | 11 | ||
12 | 12 | let e = 12 | |
13 | 13 | ||
14 | 14 | let f = "none" | |
15 | 15 | ||
16 | 16 | let g = base58'GQpgNnxYTNNWmyiXVfx9rpMV1hgft2HPhJ3CkWeLuxAt' | |
17 | 17 | ||
18 | 18 | let h = Address(base58'3MsQwxepm5q2BG1PYUMwqoD2JLgKrACa3P2') | |
19 | 19 | ||
20 | 20 | let i = 18 | |
21 | 21 | ||
22 | 22 | let j = 88 | |
23 | 23 | ||
24 | 24 | let k = 5 | |
25 | 25 | ||
26 | 26 | let l = 10 | |
27 | 27 | ||
28 | 28 | let m = 1 | |
29 | 29 | ||
30 | 30 | let n = 1 | |
31 | 31 | ||
32 | 32 | let o = Address(base58'3N8RGScPyKYySaXd5Z3VcpnttH2uBeMpSy4') | |
33 | 33 | ||
34 | 34 | func p (q) = { | |
35 | 35 | let r = { | |
36 | 36 | let s = getInteger(this, q) | |
37 | 37 | if ($isInstanceOf(s, "Int")) | |
38 | 38 | then { | |
39 | 39 | let t = s | |
40 | 40 | t | |
41 | 41 | } | |
42 | 42 | else 0 | |
43 | 43 | } | |
44 | 44 | r | |
45 | 45 | } | |
46 | 46 | ||
47 | 47 | ||
48 | 48 | func u (q) = { | |
49 | 49 | let v = { | |
50 | 50 | let s = getString(this, q) | |
51 | 51 | if ($isInstanceOf(s, "String")) | |
52 | 52 | then { | |
53 | 53 | let t = s | |
54 | 54 | t | |
55 | 55 | } | |
56 | 56 | else f | |
57 | 57 | } | |
58 | 58 | v | |
59 | 59 | } | |
60 | 60 | ||
61 | 61 | ||
62 | 62 | func w (x,y) = ("A y G:" + toBase58String(sha256(toBytes((x + y))))) | |
63 | 63 | ||
64 | 64 | ||
65 | 65 | func z (A) = (A + "_P SAC") | |
66 | 66 | ||
67 | 67 | ||
68 | 68 | func B (A) = u(z(A)) | |
69 | 69 | ||
70 | 70 | ||
71 | - | func C ( | |
71 | + | func C (x) = (x + "_P SAC") | |
72 | 72 | ||
73 | 73 | ||
74 | - | func D ( | |
74 | + | func D (x) = u(C(x)) | |
75 | 75 | ||
76 | 76 | ||
77 | - | func E ( | |
77 | + | func E (o) = (o + "_A-PreICO") | |
78 | 78 | ||
79 | 79 | ||
80 | - | func | |
80 | + | func F (o) = u(E(o)) | |
81 | 81 | ||
82 | 82 | ||
83 | - | func | |
83 | + | func G (H,A) = "Order_№:" | |
84 | 84 | ||
85 | 85 | ||
86 | - | func I (A) = | |
86 | + | func I (H,A) = p(G(H, A)) | |
87 | 87 | ||
88 | 88 | ||
89 | - | func J (A) = " | |
89 | + | func J (A) = "UserName:" | |
90 | 90 | ||
91 | 91 | ||
92 | 92 | func K (A) = u(J(A)) | |
93 | 93 | ||
94 | 94 | ||
95 | - | func L (A) = " | |
95 | + | func L (A) = "UserPais:" | |
96 | 96 | ||
97 | 97 | ||
98 | - | func M ( | |
98 | + | func M (A) = u(L(A)) | |
99 | 99 | ||
100 | 100 | ||
101 | - | func N ( | |
101 | + | func N (A) = "UD:" | |
102 | 102 | ||
103 | 103 | ||
104 | - | func O ( | |
104 | + | func O (x) = "Seller_Balance,_aBitCO2" | |
105 | 105 | ||
106 | 106 | ||
107 | - | func P ( | |
107 | + | func P (x) = p(O(x)) | |
108 | 108 | ||
109 | 109 | ||
110 | - | func Q (A) = " | |
110 | + | func Q (A) = "UI,_wvs:" | |
111 | 111 | ||
112 | 112 | ||
113 | 113 | func R (A) = p(Q(A)) | |
114 | 114 | ||
115 | 115 | ||
116 | - | func S (A) = " | |
116 | + | func S (A) = "UBI,_BitCO2:" | |
117 | 117 | ||
118 | 118 | ||
119 | 119 | func T (A) = p(S(A)) | |
120 | 120 | ||
121 | 121 | ||
122 | - | func U (A) = " | |
122 | + | func U (A) = "PI,_%:" | |
123 | 123 | ||
124 | 124 | ||
125 | 125 | func V (A) = p(U(A)) | |
126 | 126 | ||
127 | 127 | ||
128 | - | func W ( | |
128 | + | func W (A) = "SI,_%:" | |
129 | 129 | ||
130 | 130 | ||
131 | - | func | |
131 | + | func X (A) = p(W(A)) | |
132 | 132 | ||
133 | 133 | ||
134 | - | func | |
134 | + | func Y (Z) = "EI,_%:" | |
135 | 135 | ||
136 | 136 | ||
137 | - | func aa ( | |
137 | + | func aa (Z) = p(Y(Z)) | |
138 | 138 | ||
139 | 139 | ||
140 | - | func ab (A) = | |
140 | + | func ab (A) = "UserCountry:" | |
141 | 141 | ||
142 | 142 | ||
143 | - | func ac (A) = " | |
143 | + | func ac (A) = "UserDiscount, %:" | |
144 | 144 | ||
145 | 145 | ||
146 | 146 | func ad (A) = p(ac(A)) | |
147 | 147 | ||
148 | 148 | ||
149 | - | func ae (A) = " | |
149 | + | func ae (A) = "Order_qty,_tokens:" | |
150 | 150 | ||
151 | 151 | ||
152 | 152 | func af (A) = p(ae(A)) | |
153 | 153 | ||
154 | 154 | ||
155 | - | func ag (A) = " | |
155 | + | func ag (A) = "Balance/Saldo, tokens:" | |
156 | 156 | ||
157 | 157 | ||
158 | 158 | func ah (A) = p(ag(A)) | |
159 | 159 | ||
160 | 160 | ||
161 | - | func ai (A) = " | |
161 | + | func ai (A) = "_waves" | |
162 | 162 | ||
163 | 163 | ||
164 | 164 | func aj (A) = p(ai(A)) | |
165 | 165 | ||
166 | 166 | ||
167 | - | func ak (A) = " | |
167 | + | func ak (A) = "SupplierDiscount, max_%:" | |
168 | 168 | ||
169 | 169 | ||
170 | - | @Callable(al) | |
171 | - | func deposit (y,am) = { | |
172 | - | let an = extract(al.payment) | |
173 | - | if ((an.assetId != a)) | |
170 | + | func al (A) = p(ak(A)) | |
171 | + | ||
172 | + | ||
173 | + | func am (A) = "description: " | |
174 | + | ||
175 | + | ||
176 | + | @Callable(an) | |
177 | + | func deposit (y,ao) = { | |
178 | + | let ap = extract(an.payment) | |
179 | + | if ((ap.assetId != a)) | |
174 | 180 | then throw("Use bBitCO2 tokens only for the wallet deposit") | |
175 | 181 | else { | |
176 | - | let x = toBase58String( | |
177 | - | let | |
182 | + | let x = toBase58String(an.caller.bytes) | |
183 | + | let aq = { | |
178 | 184 | let s = getInteger(this, x) | |
179 | 185 | if ($isInstanceOf(s, "Int")) | |
180 | 186 | then { | |
181 | 187 | let t = s | |
182 | 188 | t | |
183 | 189 | } | |
184 | 190 | else b | |
185 | 191 | } | |
186 | - | let | |
187 | - | if ((0 >= | |
192 | + | let ar = (aq + ap.amount) | |
193 | + | if ((0 >= ar)) | |
188 | 194 | then throw("No hay BitCO2 in your balance") | |
189 | - | else WriteSet([DataEntry(x, | |
195 | + | else WriteSet([DataEntry(x, ar)]) | |
190 | 196 | } | |
191 | 197 | } | |
192 | 198 | ||
193 | 199 | ||
194 | 200 | ||
195 | - | @Callable( | |
196 | - | func AddSupplierToken (y, | |
197 | - | let x = toBase58String( | |
201 | + | @Callable(an) | |
202 | + | func AddSupplierToken (y,as,at,au,e,ao) = { | |
203 | + | let x = toBase58String(an.caller.bytes) | |
198 | 204 | let A = w(x, y) | |
199 | - | if ((0 >= | |
205 | + | if ((0 >= au)) | |
200 | 206 | then throw("Sorry, insufficient token offer") | |
201 | - | else WriteSet([DataEntry(("Supplier:_" + | |
207 | + | else WriteSet([DataEntry(("Supplier:_" + C(A)), x), DataEntry(("Title:_" + x), y), DataEntry(("ProjectName:_" + x), as), DataEntry(("Country:_" + x), at), DataEntry(ag(A), au), DataEntry(("NomTokenPrice:_" + ai(A)), (c * d)), DataEntry(("Max_Descuento_ofrecido:" + ak(A)), e), DataEntry(("Development:_" + am(A)), ao)]) | |
202 | 208 | } | |
203 | 209 | ||
204 | 210 | ||
205 | 211 | ||
206 | - | @Callable( | |
207 | - | func purchaseGTS (A, | |
208 | - | let | |
209 | - | if (isDefined( | |
212 | + | @Callable(an) | |
213 | + | func purchaseGTS (A,av,aw,ax,ay,o,Z) = { | |
214 | + | let ap = extract(an.payment) | |
215 | + | if (isDefined(ap.assetId)) | |
210 | 216 | then throw("you can adquire Products only by Waves tokens") | |
211 | 217 | else { | |
212 | 218 | let x = { | |
213 | 219 | let s = getString(this, z(A)) | |
214 | 220 | if ($isInstanceOf(s, "String")) | |
215 | 221 | then { | |
216 | 222 | let t = s | |
217 | 223 | t | |
218 | 224 | } | |
219 | 225 | else f | |
220 | 226 | } | |
221 | - | let | |
222 | - | let s = getInteger(this, | |
227 | + | let au = { | |
228 | + | let s = getInteger(this, ag(A)) | |
223 | 229 | if ($isInstanceOf(s, "Int")) | |
224 | 230 | then { | |
225 | 231 | let t = s | |
226 | 232 | t | |
227 | 233 | } | |
228 | 234 | else b | |
229 | 235 | } | |
230 | - | let | |
231 | - | let s = getInteger(this, | |
236 | + | let az = { | |
237 | + | let s = getInteger(this, O(x)) | |
232 | 238 | if ($isInstanceOf(s, "Int")) | |
233 | 239 | then { | |
234 | 240 | let t = s | |
235 | 241 | t | |
236 | 242 | } | |
237 | 243 | else 0 | |
238 | 244 | } | |
239 | - | let | |
240 | - | let | |
241 | - | let | |
242 | - | let | |
243 | - | let | |
244 | - | let | |
245 | - | let | |
246 | - | let | |
247 | - | let | |
248 | - | if (( | |
245 | + | let aA = toBase58String(an.caller.bytes) | |
246 | + | let aB = (ay - ((i * ay) / 100)) | |
247 | + | let aC = ((aB * k) / 100) | |
248 | + | let aD = (aC / j) | |
249 | + | let aE = ((aB * l) / 100) | |
250 | + | let aF = ((aB * n) / 100) | |
251 | + | let aG = ((aB * n) / 100) | |
252 | + | let aH = ((ay - aE) - aF) | |
253 | + | let aI = ((aB * m) / 100) | |
254 | + | if ((ay > ap.amount)) | |
249 | 255 | then throw("Payment Amount can't be less than item Purchase Order") | |
250 | - | else if (( | |
256 | + | else if ((ap.amount > ay)) | |
251 | 257 | then throw("Payment Amount can't be higher than item Purchase Order") | |
252 | - | else ScriptResult(WriteSet([DataEntry( | |
258 | + | else ScriptResult(WriteSet([DataEntry(G(aA, A), (I(aA, A) + 1)), DataEntry(J(A), av), DataEntry(L(A), aw), DataEntry(N(A), ax), DataEntry("Payment_amount,_wvs", ay), DataEntry("Imp, %", i), DataEntry("STtl, wvs", aB), DataEntry("CP 1 B, wvs", (j * 1000000)), DataEntry(Q(A), aC), DataEntry("UBI", aD), DataEntry(U(A), aE), DataEntry(Y(Z), aF), DataEntry("EcSys", aG), DataEntry(("Order_Status:_" + aA), "confirmed"), DataEntry(W(A), aH), DataEntry("SBI: b", aI), DataEntry(O(x), (az + ap.amount))]), TransferSet([ScriptTransfer(an.caller, aC, unit), ScriptTransfer(addressFromStringValue(o), aE, unit), ScriptTransfer(addressFromStringValue(x), aH, unit), ScriptTransfer(addressFromStringValue(Z), aF, unit)])) | |
253 | 259 | } | |
254 | 260 | } | |
255 | 261 | ||
256 | 262 | ||
257 | 263 | ||
258 | - | @Callable( | |
259 | - | func withdraw (A, | |
260 | - | let | |
264 | + | @Callable(an) | |
265 | + | func withdraw (A,aJ) = { | |
266 | + | let aA = toBase58String(an.caller.bytes) | |
261 | 267 | let x = { | |
262 | 268 | let s = getString(this, z(A)) | |
263 | 269 | if ($isInstanceOf(s, "String")) | |
264 | 270 | then { | |
265 | 271 | let t = s | |
266 | 272 | t | |
267 | 273 | } | |
268 | 274 | else f | |
269 | 275 | } | |
270 | - | let | |
271 | - | let s = getInteger(this, | |
276 | + | let au = { | |
277 | + | let s = getInteger(this, ag(A)) | |
272 | 278 | if ($isInstanceOf(s, "Int")) | |
273 | 279 | then { | |
274 | 280 | let t = s | |
275 | 281 | t | |
276 | 282 | } | |
277 | 283 | else b | |
278 | 284 | } | |
279 | - | let | |
280 | - | if ((0 > | |
285 | + | let ar = (au - aJ) | |
286 | + | if ((0 > aJ)) | |
281 | 287 | then throw("Can't withdraw negative amount") | |
282 | - | else if ((0 >= | |
288 | + | else if ((0 >= ar)) | |
283 | 289 | then throw("Not enought /insuficiente balance") | |
284 | - | else ScriptResult(WriteSet([DataEntry(A, | |
290 | + | else ScriptResult(WriteSet([DataEntry(A, ar)]), TransferSet([ScriptTransfer(an.caller, aJ, a)])) | |
285 | 291 | } | |
286 | 292 | ||
287 | 293 | ||
288 | - | @Verifier( | |
289 | - | func | |
290 | - | let s = | |
294 | + | @Verifier(aK) | |
295 | + | func aL () = { | |
296 | + | let s = aK | |
291 | 297 | if ($isInstanceOf(s, "SetScriptTransaction")) | |
292 | 298 | then { | |
293 | - | let | |
294 | - | sigVerify( | |
299 | + | let aM = s | |
300 | + | sigVerify(aK.bodyBytes, aK.proofs[0], g) | |
295 | 301 | } | |
296 | 302 | else if (if ($isInstanceOf(s, "ReissueTransaction")) | |
297 | 303 | then true | |
298 | 304 | else $isInstanceOf(s, "DataTransaction")) | |
299 | 305 | then { | |
300 | - | let | |
306 | + | let aN = s | |
301 | 307 | true | |
302 | 308 | } | |
303 | 309 | else if ($isInstanceOf(s, "TransferTransaction")) | |
304 | 310 | then { | |
305 | - | let | |
311 | + | let aK = s | |
306 | 312 | true | |
307 | 313 | } | |
308 | 314 | else if ($isInstanceOf(s, "ExchangeTransaction")) | |
309 | 315 | then { | |
310 | - | let | |
316 | + | let aK = s | |
311 | 317 | true | |
312 | 318 | } | |
313 | 319 | else false | |
314 | 320 | } | |
315 | 321 |
github/deemru/w8io/169f3d6 84.14 ms ◑![]()