tx · 2oThLmqUWQfUDEMEnx5nQCuUiD6cnW4dBB7qCwsDEkXs

3N6D1fPBTu4QuZenU7hKNuxEKsxd13USum8:  -0.01000000 Waves

2021.10.18 12:30 [1751538] smart account 3N6D1fPBTu4QuZenU7hKNuxEKsxd13USum8 > SELF 0.00000000 Waves

{ "type": 13, "id": "2oThLmqUWQfUDEMEnx5nQCuUiD6cnW4dBB7qCwsDEkXs", "fee": 1000000, "feeAssetId": null, "timestamp": 1634549409223, "version": 2, "chainId": 84, "sender": "3N6D1fPBTu4QuZenU7hKNuxEKsxd13USum8", "senderPublicKey": "8xCH82jKi2DM7HXXD45fmftPUDjr3TJpjanUATKMK37U", "proofs": [ "5ut1EXeqwWFcB6R2R6ptGaKnADaZZRwYKuxwUmoVYSiKZifLYg5y1VYsmwRuuSSARQSmBhZsPZ8aF58kMkeQantu" ], "script": "base64:AAIDAAAAAAAAABcIARIECgIICBIHCgUICAgIARIECgIIAQAAADcAAAAAB3lCaXRDTzIBAAAAIGmM1P/bTQF96Mt4t9+zj8FcPDlb6Qx5aA0hjmfpm0utAAAAAAhzdGFydFF0eQAAAAAAtjUM0AAAAAAMRmlyc3RGYXNlUXR5AAAAAAASl6yQAAAAAA1TZWNvbmRGYXNlUXR5AAAAAACjnWBAAAAAAARiaXRzAAAAAAAAACcQAAAAAAN3dnMAAAAAAAAAJxAAAAAABE5PTkUCAAAABG5vbmUAAAAAC093bmVyUHViS2V5AQAAACB2JYFH9ti5N+7uGrdzKwlrXhDeZ+vMkHOKuVJteEgPDwAAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUsZ/LLWvSicGFXkptOa6Ov7Vyb4KJ2haTAAAAAARlQWRkCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUmX0sM+4Li4VQQQ26bfB7j/XU/VW4HmxXAAAAAARwQWRkCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUQ6WuNYiemm0n1pXSZ6YgP2UOMpCwdKRqAAAAAAVldXJvdQAAAAAAAAAAdAAAAAAFdXNkbncAAAAAAAAACesAAAAABWJjbzJlAAAAAAAAAAAKAAAAAAhiaXRkc2N0bwAAAAAAAAAAAwAAAAADcElQAAAAAAAAAAAKAAAAAAN1QlAAAAAAAAAAAAcAAAAAA3NCUAAAAAAAAAAAAgAAAAADZUlQAAAAAAAAAAABAAAAAANlQlAAAAAAAAAAAAIAAAAACXJlbGFjZGN0bwAAAAAAAAAACwEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQABLAAAAAIFAAAACHN1cHBsaWVyAgAAABRWZW5kZWRvciwgTGltYS1QZXLDugEAAAAKZ2V0S2V5SXRlbQAAAAIAAAAIc3VwcGxpZXIAAAAEaXRlbQkAASwAAAACCQABLAAAAAICAAAADlByb2R1Y3RvLUdUUzogAgAAAAEgCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAACHN1cHBsaWVyBQAAAARpdGVtAQAAAAxnZXRLZXlJc3N1ZXIAAAABAAAABGl0ZW0CAAAADUlzc3Vlci9UaWVuZGEBAAAADmdldFZhbHVlSXNzdWVyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAMZ2V0S2V5SXNzdWVyAAAAAQUAAAAEaXRlbQEAAAANZ2V0S2V5UHJvamVjdAAAAAEAAAAEaXRlbQIAAAAHUHJvamVjdAEAAAAPZ2V0VmFsdWVQcm9qZWN0AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAANZ2V0S2V5UHJvamVjdAAAAAEFAAAABGl0ZW0BAAAACmdldEtleU5vZG8AAAABAAAABGl0ZW0CAAAABE5vZG8BAAAADGdldFZhbHVlTm9kbwAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAACmdldEtleU5vZG8AAAABBQAAAARpdGVtAQAAABhnZXRLZXlVc2VySXRlbUd0c0NvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQIAAAAKT3JkZXJf4oSWOgEAAAAaZ2V0VmFsdWVVc2VySXRlbUd0c0NvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGGdldEtleVVzZXJJdGVtR3RzQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0BAAAADmdldEtleUl0ZW1OYW1lAAAAAQAAAARpdGVtAgAAABhDYXRlZ29yw61hIGRlbCBQcm9kdWN0bzoBAAAAEGdldFZhbHVlSXRlbU5hbWUAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAA5nZXRLZXlJdGVtTmFtZQAAAAEFAAAABGl0ZW0BAAAADmdldEtleVVzZXJOYW1lAAAAAQAAAARpdGVtAgAAABNOb21icmUgZGVsIFVzdWFyaW86AQAAABBnZXRWYWx1ZVVzZXJOYW1lAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAOZ2V0S2V5VXNlck5hbWUAAAABBQAAAARpdGVtAQAAABJnZXRLZXlVc2VyRG9jdW1lbnQAAAABAAAABGl0ZW0CAAAAI+KEliBkZSBEb2N1bWVudG8gLyBETkkgZGVsIFVzdWFyaW86AQAAABRnZXRWYWx1ZVVzZXJEb2N1bWVudAAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleVVzZXJEb2N1bWVudAAAAAEFAAAABGl0ZW0BAAAACGdldEtleVVJAAAAAQAAAARpdGVtAgAAAAhVSSwgYml0OgEAAAAKZ2V0VmFsdWVVSQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAACGdldEtleVVJAAAAAQUAAAAEaXRlbQEAAAAIZ2V0S2V5UEkAAAABAAAABGl0ZW0CAAAACVBJLCB3dmxzOgEAAAAKZ2V0VmFsdWVQSQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAACGdldEtleVBJAAAAAQUAAAAEaXRlbQEAAAAIZ2V0S2V5U0kAAAABAAAABGl0ZW0CAAAACFNJLCBiaXQ6AQAAAApnZXRWYWx1ZVNJAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAIZ2V0S2V5U0kAAAABBQAAAARpdGVtAQAAAAlnZXRLZXlOSWIAAAABAAAABGl0ZW0CAAAACU5JYiwgYml0OgEAAAALZ2V0VmFsdWVOSWIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAlnZXRLZXlOSWIAAAABBQAAAARpdGVtAQAAAAlnZXRLZXlOSXcAAAABAAAABGl0ZW0CAAAACk5Jdywgd3ZsczoBAAAAC2dldFZhbHVlTkl3AAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAJZ2V0S2V5Tkl3AAAAAQUAAAAEaXRlbQEAAAAdZ2V0S2V5U2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABAAAABGl0ZW0CAAAANFRva2VucyBPZmVydGFkb3MgZW4gbGEgcHJlc2VudGUgZXRhcGEgLyBTYWxkbywgeXRvazoBAAAAH2dldFZhbHVlU2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAB1nZXRLZXlTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEFAAAABGl0ZW0BAAAAGGdldEtleUJhbGFuY2VRdHlTdXBwbGllcgAAAAEAAAAEaXRlbQIAAAAbQmFsYW5jZS9TYWxkbyBHVFMsIHl0b2tlbnM6AQAAABpnZXRWYWx1ZUJhbGFuY2VRdHlTdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGGdldEtleUJhbGFuY2VRdHlTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEAAAAIc3VwcGxpZXICAAAAHEluZ3Jlc29zIHBvciBWZW50YUdUUywgd3ZsczoBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyAAAAAwAAAAFpAQAAAAdkZXBvc2l0AAAAAgAAAAV0aXRsZQAAAAxzdXBwbGllckRhdGEEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAd5Qml0Q08yCQAAAgAAAAECAAAAKWRlcG9zaXRvIHBlcm1pdGlkbyBzb2xvIGVuIHlCaXRDTzIgdG9rZW5zBAAAAAhzdXBwbGllcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50QW1vdW50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", "height": 1751538, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Bp6ULWWwGLAmTYBxhhWCr7H7r6834ApbVQqP3pprhiRn Next: 7GrrNFK6jn2GLyArjpwyNKuWnfGAe8tn1QiXqnBTuHc8 Diff:
OldNewDifferences
2323
2424 let pAdd = Address(base58'3Mv5mXTRhpWZxZxstmnsBhckWNgErMTFEaD')
2525
26-let eurou = (116 / 100)
26+let eurou = 116
2727
28-let usdnw = (2539 / 100)
28+let usdnw = 2539
2929
3030 let bco2e = 10
3131
3232 let bitdscto = 3
33-
34-let bco2menosdcto = ((((100 - bitdscto) * eurou) * bco2e) / 100)
3533
3634 let pIP = 10
3735
231229 let subTotal = totalAmount
232230 let pIw = ((pIP * subTotal) / relacdcto)
233231 let eIw = ((eIP * subTotal) / relacdcto)
234- let subTotalb = ((totalAmount * usdnw) / ((((100 - bitdscto) * eurou) * bco2e) / 100))
232+ let bco2menosdcto = ((((100 - bitdscto) * eurou) * bco2e) / 10000)
233+ let subTotalb = (((totalAmount * usdnw) / 100) / bco2menosdcto)
235234 let uIb = ((uBP * subTotalb) / relacdcto)
236235 let sIb = ((sBP * subTotalb) / relacdcto)
237236 let eIb = ((eBP * subTotalb) / relacdcto)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let yBitCO2 = base58'872MvpMoQx7SnV58HMcR9hd6vBWDtQvqmt5javCmYwpx'
55
66 let startQty = 3056930000
77
88 let FirstFaseQty = 311930000
99
1010 let SecondFaseQty = 2745000000
1111
1212 let bits = 10000
1313
1414 let wvs = 10000
1515
1616 let NONE = "none"
1717
1818 let OwnerPubKey = base58'8xCH82jKi2DM7HXXD45fmftPUDjr3TJpjanUATKMK37U'
1919
2020 let issuer = Address(base58'3N67GoXrZo4iwmEjLhS9iNUCbzpPEjoYgNW')
2121
2222 let eAdd = Address(base58'3N3uf7RK8Aed4v5ufGB8xV2Wsz4WNoHj21c')
2323
2424 let pAdd = Address(base58'3Mv5mXTRhpWZxZxstmnsBhckWNgErMTFEaD')
2525
26-let eurou = (116 / 100)
26+let eurou = 116
2727
28-let usdnw = (2539 / 100)
28+let usdnw = 2539
2929
3030 let bco2e = 10
3131
3232 let bitdscto = 3
33-
34-let bco2menosdcto = ((((100 - bitdscto) * eurou) * bco2e) / 100)
3533
3634 let pIP = 10
3735
3836 let uBP = 7
3937
4038 let sBP = 2
4139
4240 let eIP = 1
4341
4442 let eBP = 2
4543
4644 let relacdcto = 11
4745
4846 func getNumberByKey (key) = {
4947 let num = match getInteger(this, key) {
5048 case a: Int =>
5149 a
5250 case _ =>
5351 0
5452 }
5553 num
5654 }
5755
5856
5957 func getStrByKey (key) = {
6058 let str = match getString(this, key) {
6159 case a: String =>
6260 a
6361 case _ =>
6462 NONE
6563 }
6664 str
6765 }
6866
6967
7068 func getKeyItemSupplier (supplier) = (supplier + "Vendedor, Lima-Perú")
7169
7270
7371 func getKeyItem (supplier,item) = (("Producto-GTS: " + " ") + toBase58String(sha256(toBytes((supplier + item)))))
7472
7573
7674 func getKeyIssuer (item) = "Issuer/Tienda"
7775
7876
7977 func getValueIssuer (item) = getStrByKey(getKeyIssuer(item))
8078
8179
8280 func getKeyProject (item) = "Project"
8381
8482
8583 func getValueProject (item) = getStrByKey(getKeyProject(item))
8684
8785
8886 func getKeyNodo (item) = "Nodo"
8987
9088
9189 func getValueNodo (item) = getStrByKey(getKeyNodo(item))
9290
9391
9492 func getKeyUserItemGtsCounter (user,item) = "Order_№:"
9593
9694
9795 func getValueUserItemGtsCounter (user,item) = getNumberByKey(getKeyUserItemGtsCounter(user, item))
9896
9997
10098 func getKeyItemName (item) = "Categoría del Producto:"
10199
102100
103101 func getValueItemName (item) = getStrByKey(getKeyItemName(item))
104102
105103
106104 func getKeyUserName (item) = "Nombre del Usuario:"
107105
108106
109107 func getValueUserName (item) = getStrByKey(getKeyUserName(item))
110108
111109
112110 func getKeyUserDocument (item) = "№ de Documento / DNI del Usuario:"
113111
114112
115113 func getValueUserDocument (item) = getStrByKey(getKeyUserDocument(item))
116114
117115
118116 func getKeyUI (item) = "UI, bit:"
119117
120118
121119 func getValueUI (item) = getNumberByKey(getKeyUI(item))
122120
123121
124122 func getKeyPI (item) = "PI, wvls:"
125123
126124
127125 func getValuePI (item) = getNumberByKey(getKeyPI(item))
128126
129127
130128 func getKeySI (item) = "SI, bit:"
131129
132130
133131 func getValueSI (item) = getNumberByKey(getKeySI(item))
134132
135133
136134 func getKeyNIb (item) = "NIb, bit:"
137135
138136
139137 func getValueNIb (item) = getNumberByKey(getKeyNIb(item))
140138
141139
142140 func getKeyNIw (item) = "NIw, wvls:"
143141
144142
145143 func getValueNIw (item) = getNumberByKey(getKeyNIw(item))
146144
147145
148146 func getKeySaldoTokenQtyStartEtapa (item) = "Tokens Ofertados en la presente etapa / Saldo, ytok:"
149147
150148
151149 func getValueSaldoTokenQtyStartEtapa (item) = getNumberByKey(getKeySaldoTokenQtyStartEtapa(item))
152150
153151
154152 func getKeyBalanceQtySupplier (item) = "Balance/Saldo GTS, ytokens:"
155153
156154
157155 func getValueBalanceQtySupplier (item) = getNumberByKey(getKeyBalanceQtySupplier(item))
158156
159157
160158 func getKeyBalanceSupplier (supplier) = "Ingresos por VentaGTS, wvls:"
161159
162160
163161 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
164162
165163
166164 @Callable(i)
167165 func deposit (title,supplierData) = {
168166 let pmt = extract(i.payment)
169167 if ((pmt.assetId != yBitCO2))
170168 then throw("deposito permitido solo en yBitCO2 tokens")
171169 else {
172170 let supplier = toBase58String(i.caller.bytes)
173171 let currentAmount = match getInteger(this, supplier) {
174172 case a: Int =>
175173 a
176174 case _ =>
177175 startQty
178176 }
179177 let newAmount = (currentAmount + pmt.amount)
180178 if ((0 >= newAmount))
181179 then throw("No hay yBitCO2 en su balance")
182180 else WriteSet([DataEntry(supplier, newAmount)])
183181 }
184182 }
185183
186184
187185
188186 @Callable(i)
189187 func purchaseGTS (item,itemName,userName,userDocument,totalAmount) = {
190188 let pmt = extract(i.payment)
191189 if (isDefined(pmt.assetId))
192190 then throw("El Precio en waves.")
193191 else {
194192 let supplier = match getString(this, getKeyItemSupplier(item)) {
195193 case a: String =>
196194 a
197195 case _ =>
198196 NONE
199197 }
200198 let issuerAdd = match getString(this, getKeyIssuer(item)) {
201199 case a: String =>
202200 a
203201 case _ =>
204202 issuer
205203 }
206204 let projAdd = match getString(this, getKeyProject(item)) {
207205 case a: String =>
208206 a
209207 case _ =>
210208 pAdd
211209 }
212210 let nodoAdd = match getString(this, getKeyNodo(item)) {
213211 case a: String =>
214212 a
215213 case _ =>
216214 eAdd
217215 }
218216 let preTokenQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
219217 case a: Int =>
220218 a
221219 case _ =>
222220 SecondFaseQty
223221 }
224222 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
225223 case a: Int =>
226224 a
227225 case _ =>
228226 0
229227 }
230228 let userAddress = toBase58String(i.caller.bytes)
231229 let subTotal = totalAmount
232230 let pIw = ((pIP * subTotal) / relacdcto)
233231 let eIw = ((eIP * subTotal) / relacdcto)
234- let subTotalb = ((totalAmount * usdnw) / ((((100 - bitdscto) * eurou) * bco2e) / 100))
232+ let bco2menosdcto = ((((100 - bitdscto) * eurou) * bco2e) / 10000)
233+ let subTotalb = (((totalAmount * usdnw) / 100) / bco2menosdcto)
235234 let uIb = ((uBP * subTotalb) / relacdcto)
236235 let sIb = ((sBP * subTotalb) / relacdcto)
237236 let eIb = ((eBP * subTotalb) / relacdcto)
238237 let BalanceTienda = (balanceSupplier + pmt.amount)
239238 if ((totalAmount > pmt.amount))
240239 then throw("Payment Amount can't be less than item Purchase Order")
241240 else if ((pmt.amount > totalAmount))
242241 then throw("Payment Amount can't be higher than item Purchase Order")
243242 else ScriptResult(WriteSet([DataEntry(getKeyUserItemGtsCounter(userAddress, item), (getValueUserItemGtsCounter(userAddress, item) + 1)), DataEntry(getKeyItemSupplier(supplier), supplier), DataEntry(getKeyItem(supplier, item), item), DataEntry(getKeyItemName(item), itemName), DataEntry(getKeyUserName(item), userName), DataEntry(getKeyUserDocument(item), userDocument), DataEntry(getKeyIssuer(item), getStrByKey(getKeyIssuer(item))), DataEntry(getKeyProject(item), getStrByKey(getKeyProject(item))), DataEntry(getKeyNodo(item), getStrByKey(getKeyNodo(item))), DataEntry("Tienda", supplier), DataEntry("usdn", usdnw), DataEntry("eurou", eurou), DataEntry("Apoyo Ecológico, wvls", totalAmount), DataEntry("1 Bit-CO2 Precio Nominal, euros", bco2e), DataEntry("1 Bit-CO2 Precio con Descto, euros", bco2menosdcto), DataEntry("SuTotal a distribuir, bit-co2", subTotalb), DataEntry(getKeyPI(item), pIw), DataEntry(getKeyNIw(item), eIw), DataEntry(getKeyUI(item), uIb), DataEntry(getKeySI(item), sIb), DataEntry(getKeyNIb(item), eIb), DataEntry(("Order_Status:_" + userAddress), "Transacción Confirmada!"), DataEntry("PreTokenQty", preTokenQty), DataEntry("balanceSupplier", balanceSupplier), DataEntry(getKeyBalanceQtySupplier(item), (preTokenQty - (BalanceTienda / 1))), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount))]), TransferSet([ScriptTransfer(pAdd, pIw, unit), ScriptTransfer(i.caller, uIb, yBitCO2), ScriptTransfer(issuer, sIb, yBitCO2), ScriptTransfer(eAdd, eIw, unit), ScriptTransfer(eAdd, eIb, yBitCO2)]))
244243 }
245244 }
246245
247246
248247
249248 @Callable(i)
250249 func withdraw (item,amount) = {
251250 let userAddress = toBase58String(i.caller.bytes)
252251 let supplier = match getString(this, getKeyItemSupplier(item)) {
253252 case a: String =>
254253 a
255254 case _ =>
256255 NONE
257256 }
258257 let preIcoQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
259258 case a: Int =>
260259 a
261260 case _ =>
262261 startQty
263262 }
264263 let newAmount = (preIcoQty - amount)
265264 if ((0 > amount))
266265 then throw("El balance de retiro no puede ser negativo!")
267266 else if ((0 >= newAmount))
268267 then throw("Ooppss.. Insuficiente balance!")
269268 else ScriptResult(WriteSet([DataEntry(item, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, yBitCO2)]))
270269 }
271270
272271
273272 @Verifier(tx)
274273 func verify () = match tx {
275274 case t: SetScriptTransaction =>
276275 sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey)
277276 case d: ReissueTransaction|DataTransaction =>
278277 true
279278 case tx: TransferTransaction =>
280279 true
281280 case _ =>
282281 false
283282 }
284283

github/deemru/w8io/169f3d6 
52.82 ms