tx · CGFSMSUBoobx4Xtt1ZGwY9BfNjRfA8ug9UuDtA2twLYz

3N6D1fPBTu4QuZenU7hKNuxEKsxd13USum8:  -0.01400000 Waves

2020.08.26 20:18 [1149966] smart account 3N6D1fPBTu4QuZenU7hKNuxEKsxd13USum8 > SELF 0.00000000 Waves

{ "type": 13, "id": "CGFSMSUBoobx4Xtt1ZGwY9BfNjRfA8ug9UuDtA2twLYz", "fee": 1400000, "feeAssetId": null, "timestamp": 1598462302385, "version": 1, "sender": "3N6D1fPBTu4QuZenU7hKNuxEKsxd13USum8", "senderPublicKey": "8xCH82jKi2DM7HXXD45fmftPUDjr3TJpjanUATKMK37U", "proofs": [ "4Ka3HQP9sWUNdh9N4vwN3Ghis2hVeT2LxwLPoh3wUQk3wH946fmq3mqMu7mxM16WswTaBHFxSt9XykNczYmspknJ" ], "script": "base64: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AA5nZXRLZXlVc2VyTmFtZQAAAAEAAAAEaXRlbQIAAAATTm9tYnJlIGRlbCBVc3VhcmlvOgEAAAAQZ2V0VmFsdWVVc2VyTmFtZQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAADmdldEtleVVzZXJOYW1lAAAAAQUAAAAEaXRlbQEAAAASZ2V0S2V5VXNlckRvY3VtZW50AAAAAQAAAARpdGVtAgAAACPihJYgZGUgRG9jdW1lbnRvIC8gRE5JIGRlbCBVc3VhcmlvOgEAAAAUZ2V0VmFsdWVVc2VyRG9jdW1lbnQAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlVc2VyRG9jdW1lbnQAAAABBQAAAARpdGVtAQAAABhnZXRLZXlCYWxhbmNlUXR5U3VwcGxpZXIAAAABAAAABGl0ZW0CAAAAHkJhbGFuY2UvU2FsZG8gR1RTLCBndHMtdG9rZW5zOgEAAAAaZ2V0VmFsdWVCYWxhbmNlUXR5U3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABhnZXRLZXlCYWxhbmNlUXR5U3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyAgAAACdNb250byBCcnV0byBwb3IgVmVudGFHVFMsIHlCaXRDTzJjZW50czoBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyAQAAAAhnZXRLZXlVSQAAAAEAAAAEaXRlbQIAAAARVUksX3lCaXRDTzJjZW50czoBAAAACmdldFZhbHVlVUkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAhnZXRLZXlVSQAAAAEFAAAABGl0ZW0BAAAACGdldEtleVBJAAAAAQAAAARpdGVtAgAAABFQSSxfeUJpdENPMmNlbnRzOgEAAAAKZ2V0VmFsdWVQSQAAAAEAAAAEaXRlbQkBAAAADmdl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", "chainId": 84, "height": 1149966, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HLjTaVDXdpD9i9BZ5xfAddmvtU1dSTtGD5kUkAAa6XyP Next: 2BB3hMbB82JcoMGWzPmr88huzyCAyMPofH7z89aGHJmW Diff:
OldNewDifferences
239239 then throw("Payment Amount can't be less than item Purchase Order")
240240 else if ((pmt.amount > totalAmount))
241241 then throw("Payment Amount can't be higher than item Purchase Order")
242- else ScriptResult(WriteSet([DataEntry(getKeyUserItemGtsCounter(userAddress, item), (getValueUserItemGtsCounter(userAddress, item) + 1)), DataEntry(getKeyItem(supplier, item), item), DataEntry(getKeyItemName(item), itemName), DataEntry(getKeyUserName(item), userName), DataEntry(getKeyUserDocument(item), userDocument), DataEntry("Payment_amount,_yBitCO2cents", totalAmount), DataEntry("Imp, %", igv), DataEntry("STtl, yBitCO2cents", subTotal), DataEntry("CP 1GTS, yBitCO2cents", (cPG * 1)), DataEntry(getKeyUI(item), uI), DataEntry("UGI, 10e-4 gts01", uGI), DataEntry(getKeyPI(item), pI), DataEntry("EcSys, yBitCO2cents", eI), DataEntry("EcSys, 10e-4 gts01", eGI), DataEntry(getKeySI(item), sI), DataEntry("SGI, 10e-4 gts01", sGI), DataEntry(("Order_Status:_" + userAddress), "Adquisición Confirmada!"), DataEntry("QporVentasGTS, 10e-4 gts01", QVentasgts), DataEntry(getKeyBalanceQtySupplier(item), (preTokenQty - QVentasgts)), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount))]), TransferSet([ScriptTransfer(i.caller, uGI, gts01), ScriptTransfer(pAdd, pI, yBitCO2), ScriptTransfer(eAdd, eI, yBitCO2), ScriptTransfer(eAdd, eGI, gts01), ScriptTransfer(issuer, sI, yBitCO2)]))
242+ else ScriptResult(WriteSet([DataEntry(getKeyUserItemGtsCounter(userAddress, item), (getValueUserItemGtsCounter(userAddress, item) + 1)), DataEntry(getKeyItem(supplier, item), item), DataEntry(getKeyItemName(item), itemName), DataEntry(getKeyUserName(item), userName), DataEntry(getKeyUserDocument(item), userDocument), DataEntry("Payment_amount,_yBitCO2cents", totalAmount), DataEntry("Imp, %", igv), DataEntry("STtl, yBitCO2cents", subTotal), DataEntry("CP 1GTS, yBitCO2cents", (cPG * 1)), DataEntry(getKeyUI(item), uI), DataEntry("UGI, 10e-4 gts01", uGI), DataEntry(getKeyPI(item), pI), DataEntry("EcSys, yBitCO2cents", eI), DataEntry("EcSys, 10e-4 gts01", eGI), DataEntry(getKeySI(item), sI), DataEntry("SGI, 10e-4 gts01", sGI), DataEntry(("Order_Status:_" + userAddress), "Adquisición Confirmada!"), DataEntry("QporVentasGTS, 10e-4 gts01", QVentasgts), DataEntry(getKeyBalanceQtySupplier(item), (preTokenQty - QVentasgts)), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount))]), TransferSet([ScriptTransfer(i.caller, uGI, gts01), ScriptTransfer(pAdd, pI, yBitCO2), ScriptTransfer(eAdd, eI, yBitCO2), ScriptTransfer(eAdd, eGI, gts01), ScriptTransfer(issuer, sI, yBitCO2), ScriptTransfer(issuer, sGI, gts01)]))
243243 }
244244 }
245245
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let yBitCO2 = base58'872MvpMoQx7SnV58HMcR9hd6vBWDtQvqmt5javCmYwpx'
55
66 let gts01 = base58'Ef4H3AHkfucmc4AY9au2DhgXAorKyWx3aMsfYLMYZGAw'
77
88 let startQty = 3056930000
99
1010 let FirstFaseQty = 311930000
1111
1212 let SecondFaseQty = 2745000000
1313
1414 let startQtyGTS = 3056930000
1515
1616 let FirstFaseQtyGTS = 311930000
1717
1818 let SecondFaseQtyGTS = 2745000000
1919
2020 let nomPrice = 1
2121
2222 let wvs = 100000000
2323
2424 let supplierDiscount = 12
2525
2626 let NONE = "none"
2727
2828 let OwnerPubKey = base58'8xCH82jKi2DM7HXXD45fmftPUDjr3TJpjanUATKMK37U'
2929
3030 let issuer = Address(base58'3N67GoXrZo4iwmEjLhS9iNUCbzpPEjoYgNW')
3131
3232 let eAdd = Address(base58'3N3uf7RK8Aed4v5ufGB8xV2Wsz4WNoHj21c')
3333
3434 let pAdd = Address(base58'3Mv5mXTRhpWZxZxstmnsBhckWNgErMTFEaD')
3535
3636 let igv = 18
3737
3838 let ybitco2 = 10000
3939
4040 let gts = 100000
4141
4242 let uIP = 7
4343
4444 let pIP = 10
4545
4646 let eIP = 1
4747
4848 let sBP = 2
4949
5050 let eBP = 2
5151
5252 let eGP = 2
5353
5454 let sGP = 2
5555
5656 func getNumberByKey (key) = {
5757 let num = match getInteger(this, key) {
5858 case a: Int =>
5959 a
6060 case _ =>
6161 0
6262 }
6363 num
6464 }
6565
6666
6767 func getStrByKey (key) = {
6868 let str = match getString(this, key) {
6969 case a: String =>
7070 a
7171 case _ =>
7272 NONE
7373 }
7474 str
7575 }
7676
7777
7878 func getKeyItemSupplier (supplier) = (supplier + "Bit-CO2 Shop, Lima-Perú")
7979
8080
8181 func getKeyItem (supplier,item) = (("Producto-GTS: " + " ") + toBase58String(sha256(toBytes((supplier + item)))))
8282
8383
8484 func getKeyProject (item) = "Project"
8585
8686
8787 func getKeyEcosystNode (item) = "Nodo del Ecosistema"
8888
8989
9090 func getKeyTokenGTS1 (item) = "GTStable"
9191
9292
9393 func getKeyUserItemGtsCounter (user,item) = "Order_№:"
9494
9595
9696 func getValueUserItemGtsCounter (user,item) = getNumberByKey(getKeyUserItemGtsCounter(user, item))
9797
9898
9999 func getKeyItemName (item) = "Categoría del Producto:"
100100
101101
102102 func getValueItemName (item) = getStrByKey(getKeyItemName(item))
103103
104104
105105 func getKeyUserName (item) = "Nombre del Usuario:"
106106
107107
108108 func getValueUserName (item) = getStrByKey(getKeyUserName(item))
109109
110110
111111 func getKeyUserDocument (item) = "№ de Documento / DNI del Usuario:"
112112
113113
114114 func getValueUserDocument (item) = getStrByKey(getKeyUserDocument(item))
115115
116116
117117 func getKeyBalanceQtySupplier (item) = "Balance/Saldo GTS, gts-tokens:"
118118
119119
120120 func getValueBalanceQtySupplier (item) = getNumberByKey(getKeyBalanceQtySupplier(item))
121121
122122
123123 func getKeyBalanceSupplier (supplier) = "Monto Bruto por VentaGTS, yBitCO2cents:"
124124
125125
126126 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
127127
128128
129129 func getKeyUI (item) = "UI,_yBitCO2cents:"
130130
131131
132132 func getValueUI (item) = getNumberByKey(getKeyUI(item))
133133
134134
135135 func getKeyPI (item) = "PI,_yBitCO2cents:"
136136
137137
138138 func getValuePI (item) = getNumberByKey(getKeyPI(item))
139139
140140
141141 func getKeySI (item) = "SI,_yBitCO2cents:"
142142
143143
144144 func getValueSI (item) = getNumberByKey(getKeySI(item))
145145
146146
147147 @Callable(i)
148148 func depositGTS (title,supplierData) = {
149149 let pmt = extract(i.payment)
150150 if ((pmt.assetId != gts01))
151151 then throw("deposito permitido solo en gts01 tokens")
152152 else {
153153 let supplier = toBase58String(i.caller.bytes)
154154 let currentAmount = match getInteger(this, supplier) {
155155 case a: Int =>
156156 a
157157 case _ =>
158158 startQtyGTS
159159 }
160160 let newAmount = (currentAmount + pmt.amount)
161161 if ((0 >= newAmount))
162162 then throw("No hay gts01 en su balance")
163163 else WriteSet([DataEntry(supplier, newAmount)])
164164 }
165165 }
166166
167167
168168
169169 @Callable(i)
170170 func deposit (title,supplierData) = {
171171 let pmt = extract(i.payment)
172172 if ((pmt.assetId != yBitCO2))
173173 then throw("deposito permitido solo en yBitCO2 tokens")
174174 else {
175175 let supplier = toBase58String(i.caller.bytes)
176176 let currentAmount = match getInteger(this, supplier) {
177177 case a: Int =>
178178 a
179179 case _ =>
180180 startQty
181181 }
182182 let newAmount = (currentAmount + pmt.amount)
183183 if ((0 >= newAmount))
184184 then throw("No hay yBitCO2 en su balance")
185185 else WriteSet([DataEntry(supplier, newAmount)])
186186 }
187187 }
188188
189189
190190
191191 @Callable(i)
192192 func purchaseGTS (item,itemName,userName,userDocument,totalAmount) = {
193193 let pmt = extract(i.payment)
194194 if ((pmt.assetId != yBitCO2))
195195 then throw("Use yBitCO2 tokens para adquirir ProductosGTS")
196196 else {
197197 let supplier = match getString(this, getKeyItemSupplier(item)) {
198198 case a: String =>
199199 a
200200 case _ =>
201201 NONE
202202 }
203203 let projAdd = match getString(this, getKeyProject(item)) {
204204 case a: String =>
205205 NONE
206206 case _ =>
207207 pAdd
208208 }
209209 let nodoAdd = match getString(this, getKeyEcosystNode(item)) {
210210 case a: String =>
211211 NONE
212212 case _ =>
213213 eAdd
214214 }
215215 let preTokenQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
216216 case a: Int =>
217217 a
218218 case _ =>
219219 SecondFaseQtyGTS
220220 }
221221 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
222222 case a: Int =>
223223 a
224224 case _ =>
225225 0
226226 }
227227 let userAddress = toBase58String(i.caller.bytes)
228228 let subTotal = (totalAmount - ((igv * totalAmount) / 100))
229229 let cPG = ((88 * gts) / 100)
230230 let uI = ((subTotal * uIP) / 100)
231231 let uGI = ((uI * 10000) / cPG)
232232 let pI = ((subTotal * pIP) / 100)
233233 let eI = ((subTotal * eIP) / 100)
234234 let eGI = (((subTotal * eGP) * 10000) / (100 * cPG))
235235 let sI = ((totalAmount - pI) - eI)
236236 let sGI = (((subTotal * sGP) * 10000) / (100 * cPG))
237237 let QVentasgts = (((subTotal * 11) * 10000) / (cPG * 100))
238238 if ((totalAmount > pmt.amount))
239239 then throw("Payment Amount can't be less than item Purchase Order")
240240 else if ((pmt.amount > totalAmount))
241241 then throw("Payment Amount can't be higher than item Purchase Order")
242- else ScriptResult(WriteSet([DataEntry(getKeyUserItemGtsCounter(userAddress, item), (getValueUserItemGtsCounter(userAddress, item) + 1)), DataEntry(getKeyItem(supplier, item), item), DataEntry(getKeyItemName(item), itemName), DataEntry(getKeyUserName(item), userName), DataEntry(getKeyUserDocument(item), userDocument), DataEntry("Payment_amount,_yBitCO2cents", totalAmount), DataEntry("Imp, %", igv), DataEntry("STtl, yBitCO2cents", subTotal), DataEntry("CP 1GTS, yBitCO2cents", (cPG * 1)), DataEntry(getKeyUI(item), uI), DataEntry("UGI, 10e-4 gts01", uGI), DataEntry(getKeyPI(item), pI), DataEntry("EcSys, yBitCO2cents", eI), DataEntry("EcSys, 10e-4 gts01", eGI), DataEntry(getKeySI(item), sI), DataEntry("SGI, 10e-4 gts01", sGI), DataEntry(("Order_Status:_" + userAddress), "Adquisición Confirmada!"), DataEntry("QporVentasGTS, 10e-4 gts01", QVentasgts), DataEntry(getKeyBalanceQtySupplier(item), (preTokenQty - QVentasgts)), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount))]), TransferSet([ScriptTransfer(i.caller, uGI, gts01), ScriptTransfer(pAdd, pI, yBitCO2), ScriptTransfer(eAdd, eI, yBitCO2), ScriptTransfer(eAdd, eGI, gts01), ScriptTransfer(issuer, sI, yBitCO2)]))
242+ else ScriptResult(WriteSet([DataEntry(getKeyUserItemGtsCounter(userAddress, item), (getValueUserItemGtsCounter(userAddress, item) + 1)), DataEntry(getKeyItem(supplier, item), item), DataEntry(getKeyItemName(item), itemName), DataEntry(getKeyUserName(item), userName), DataEntry(getKeyUserDocument(item), userDocument), DataEntry("Payment_amount,_yBitCO2cents", totalAmount), DataEntry("Imp, %", igv), DataEntry("STtl, yBitCO2cents", subTotal), DataEntry("CP 1GTS, yBitCO2cents", (cPG * 1)), DataEntry(getKeyUI(item), uI), DataEntry("UGI, 10e-4 gts01", uGI), DataEntry(getKeyPI(item), pI), DataEntry("EcSys, yBitCO2cents", eI), DataEntry("EcSys, 10e-4 gts01", eGI), DataEntry(getKeySI(item), sI), DataEntry("SGI, 10e-4 gts01", sGI), DataEntry(("Order_Status:_" + userAddress), "Adquisición Confirmada!"), DataEntry("QporVentasGTS, 10e-4 gts01", QVentasgts), DataEntry(getKeyBalanceQtySupplier(item), (preTokenQty - QVentasgts)), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount))]), TransferSet([ScriptTransfer(i.caller, uGI, gts01), ScriptTransfer(pAdd, pI, yBitCO2), ScriptTransfer(eAdd, eI, yBitCO2), ScriptTransfer(eAdd, eGI, gts01), ScriptTransfer(issuer, sI, yBitCO2), ScriptTransfer(issuer, sGI, gts01)]))
243243 }
244244 }
245245
246246
247247
248248 @Callable(i)
249249 func purchaseGTS2 (item,itemName,userName,userDocument,totalAmount) = {
250250 let pmt = extract(i.payment)
251251 if (isDefined(pmt.assetId))
252252 then throw("El Precio en waves.")
253253 else {
254254 let supplier = match getString(this, getKeyItemSupplier(item)) {
255255 case a: String =>
256256 a
257257 case _ =>
258258 NONE
259259 }
260260 let projAdd = match getString(this, getKeyProject(item)) {
261261 case a: String =>
262262 NONE
263263 case _ =>
264264 pAdd
265265 }
266266 let nodoAdd = match getString(this, getKeyEcosystNode(item)) {
267267 case a: String =>
268268 NONE
269269 case _ =>
270270 eAdd
271271 }
272272 let preTokenQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
273273 case a: Int =>
274274 a
275275 case _ =>
276276 SecondFaseQty
277277 }
278278 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
279279 case a: Int =>
280280 a
281281 case _ =>
282282 0
283283 }
284284 let userAddress = toBase58String(i.caller.bytes)
285285 let subTotal = (totalAmount - ((igv * totalAmount) / 100))
286286 let cPB = ((88 * ybitco2) / 100)
287287 let uI = ((subTotal * uIP) / 100)
288288 let uBI = ((uI / cPB) * 1)
289289 let pI = ((subTotal * pIP) / 100)
290290 let eI = ((subTotal * eIP) / 100)
291291 let eBI = (((subTotal * eBP) / (100 * cPB)) * 1)
292292 let sI = ((totalAmount - pI) - eI)
293293 let sBI = (((subTotal * sBP) / (100 * cPB)) * 1)
294294 let QVentasgts = (((subTotal * 11) / (cPB * 100)) * 1)
295295 if ((totalAmount > pmt.amount))
296296 then throw("Payment Amount can't be less than item Purchase Order")
297297 else if ((pmt.amount > totalAmount))
298298 then throw("Payment Amount can't be higher than item Purchase Order")
299299 else ScriptResult(WriteSet([DataEntry(getKeyUserItemGtsCounter(userAddress, item), (getValueUserItemGtsCounter(userAddress, item) + 1)), DataEntry(getKeyItem(supplier, item), item), DataEntry(getKeyItemName(item), itemName), DataEntry(getKeyUserName(item), userName), DataEntry(getKeyUserDocument(item), userDocument), DataEntry("Payment_amount,_wvls", totalAmount), DataEntry("Imp, %", igv), DataEntry("STtl, wvls", subTotal), DataEntry("CP 1 B, wvls", (cPB * 10000)), DataEntry(getKeyUI(item), uI), DataEntry("UBI, 10e-4 ybitco2", uBI), DataEntry(getKeyPI(item), pI), DataEntry("EcSys, wvls", eI), DataEntry("EcSys, 10e-4 ybitco2", eBI), DataEntry(getKeySI(item), sI), DataEntry("SBI, 10e-4 ybitco2", sBI), DataEntry(("Order_Status:_" + userAddress), "Adquisición Confirmada!"), DataEntry("QporVentasGTS, 10e-4 ybitco2", QVentasgts), DataEntry(getKeyBalanceQtySupplier(item), (preTokenQty - (QVentasgts / 1))), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount))]), TransferSet([ScriptTransfer(i.caller, uBI, yBitCO2), ScriptTransfer(pAdd, pI, unit), ScriptTransfer(eAdd, eI, unit), ScriptTransfer(eAdd, eBI, yBitCO2), ScriptTransfer(issuer, sI, unit), ScriptTransfer(issuer, sBI, yBitCO2)]))
300300 }
301301 }
302302
303303
304304
305305 @Callable(i)
306306 func withdrawGTS (item,amount) = {
307307 let userAddress = toBase58String(i.caller.bytes)
308308 let supplier = match getString(this, getKeyItemSupplier(item)) {
309309 case a: String =>
310310 a
311311 case _ =>
312312 NONE
313313 }
314314 let preIcoQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
315315 case a: Int =>
316316 a
317317 case _ =>
318318 startQtyGTS
319319 }
320320 let newAmount = (preIcoQty - amount)
321321 if ((0 > amount))
322322 then throw("El balance de retiro no puede ser negativo!")
323323 else if ((0 >= newAmount))
324324 then throw("Ooppss.. Insuficiente balance!")
325325 else ScriptResult(WriteSet([DataEntry(item, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, gts01)]))
326326 }
327327
328328
329329
330330 @Callable(i)
331331 func withdraw (item,amount) = {
332332 let userAddress = toBase58String(i.caller.bytes)
333333 let supplier = match getString(this, getKeyItemSupplier(item)) {
334334 case a: String =>
335335 a
336336 case _ =>
337337 NONE
338338 }
339339 let preIcoQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
340340 case a: Int =>
341341 a
342342 case _ =>
343343 startQty
344344 }
345345 let newAmount = (preIcoQty - amount)
346346 if ((0 > amount))
347347 then throw("El balance de retiro no puede ser negativo!")
348348 else if ((0 >= newAmount))
349349 then throw("Ooppss.. Insuficiente balance!")
350350 else ScriptResult(WriteSet([DataEntry(item, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, yBitCO2)]))
351351 }
352352
353353
354354 @Verifier(tx)
355355 func verify () = match tx {
356356 case t: SetScriptTransaction =>
357357 sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey)
358358 case d: DataTransaction|ReissueTransaction =>
359359 true
360360 case tx: TransferTransaction =>
361361 true
362362 case tx: ExchangeTransaction =>
363363 let withyBitCo2 = if (!(isDefined(tx.sellOrder.assetPair.priceAsset)))
364364 then true
365365 else !(isDefined(tx.sellOrder.assetPair.amountAsset))
366366 withyBitCo2
367367 case _ =>
368368 false
369369 }
370370

github/deemru/w8io/169f3d6 
80.31 ms