tx · CBRDmk86X8bUSzNmuSu1Xxdz9PYXKFg5Ko5RVqrCQvxW

3N6kziqYXDVeBZNh1kgivuNAyE3ZUbtTEUE:  -0.01000000 Waves

2024.01.29 07:56 [2952416] smart account 3N6kziqYXDVeBZNh1kgivuNAyE3ZUbtTEUE > SELF 0.00000000 Waves

{ "type": 13, "id": "CBRDmk86X8bUSzNmuSu1Xxdz9PYXKFg5Ko5RVqrCQvxW", "fee": 1000000, "feeAssetId": null, "timestamp": 1706504092160, "version": 2, "chainId": 84, "sender": "3N6kziqYXDVeBZNh1kgivuNAyE3ZUbtTEUE", "senderPublicKey": "8Ke8yBSwfTe96WE2kgmsub8kEh8Tagivfu2owUN5XtiH", "proofs": [ "2HpJBjeuTbX532E2uZrM3BrhZj1Cqx4AStLCAUrksBoziCjoHgttDmd1GiNqaEdSNR4oMfisVg4sbQcxsrzuCUZb" ], "script": "base64:AAIFAAAAAAAAAAsIAhIHCgUICAgBAQAAACAAAAAAA1ZHVAEAAAAgAPs5y/R2CqiyWSxNldt26J/wx9NuUlms6dNVusQnAScAAAAADXN0YXJ0VG90YWxRdHkAAAAAAAABhqAAAAAAA3d2cwAAAAAABfXhAAAAAAAETk9ORQIAAAAEbm9uZQAAAAAHbm9tdmd0dQAAAAAAAAAAZAAAAAAFdXNkbncAAAAAAAAABOIAAAAACmFkbU4wOFZHVFcJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTKeThQrvvDrWGkMeVpzgs/5Fgxxu4vmzkAAAAAEWFkbU4wOHN5c1ZHVFBhaXNXCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUG42MU8k/EO/lsJ2kJuUo/2dXidK3DcsEAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAADGdldEtleUVtaXNvcgAAAAEAAAAEaXRlbQIAAAAHRW1pc29yIAEAAAAOZ2V0VmFsdWVFbWlzb3IAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAxnZXRLZXlFbWlzb3IAAAABBQAAAARpdGVtAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQABLAAAAAIFAAAACHN1cHBsaWVyAgAAAAdOb2RvLTA4AQAAABRnZXRLZXlFbWlzaW9uQ291bnRyeQAAAAEAAAAEaXRlbQIAAAALTm9kby1QYcOtcyABAAAAFmdldFZhbHVlRW1pc2lvbkNvdW50cnkAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABRnZXRLZXlFbWlzaW9uQ291bnRyeQAAAAEFAAAABGl0ZW0BAAAAEWdldEtleUVtaXNpb25Db2RlAAAAAQAAAARpdGVtAgAAAAhDw7NkaWdvIAEAAAATZ2V0VmFsdWVFbWlzaW9uQ29kZQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEWdldEtleUVtaXNpb25Db2RlAAAAAQUAAAAEaXRlbQEAAAATZ2V0S2V5Tm9tVG9rZW5QcmljZQAAAAEAAAAEaXRlbQIAAAAWUHJlY2lvIE5vbWluYWwsIDEgVkdUIAEAAAATZ2V0S2V5c3RhcnRUb3RhbFF0eQAAAAEAAAAEaXRlbQIAAAAcQ2FudGlkYWQgZGUgdG9rZW5zIGVtaXRpZG9zIAEAAAAVZ2V0VmFsdWVzdGFydFRvdGFsUXR5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAATZ2V0S2V5c3RhcnRUb3RhbFF0eQAAAAEFAAAABGl0ZW0BAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEAAAAIc3VwcGxpZXICAAAAH0ZvbmRvcyB8IE1vbnRvIHJlY2F1ZGFkbywgd3ZscyABAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQIAAAAKT3JkZXJf4oSWIAEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0BAAAAEmdldEtleVVzZXJEb2N1bWVudAAAAAEAAAAEaXRlbQIAAAAlRG9jdW1lbnRvIE5hY2lvbmFsIGRlIElkZW50aWRhZCwgRE5JIAEAAAAUZ2V0VmFsdWVVc2VyRG9jdW1lbnQAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlVc2VyRG9jdW1lbnQAAAABBQAAAARpdGVtAQAAABFnZXRLZXlVc2VyQ291bnRyeQAAAAEAAAAEaXRlbQIAAAAgUGHDrXMgZGUgUmVzaWRlbmNpYSBkZWwgVXN1YXJpbyABAAAAE2dldFZhbHVlVXNlckNvdW50cnkAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABFnZXRLZXlVc2VyQ291bnRyeQAAAAEFAAAABGl0ZW0BAAAAFmdldEtleUl0ZW1Vc2VyT3JkZXJRdHkAAAABAAAABGl0ZW0CAAAAHkNhbnRpZGFkIGRlIHRva2VucyBhZHF1aXJpZG9zIAEAAAAYZ2V0VmFsdWVJdGVtVXNlck9yZGVyUXR5AAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEFAAAABGl0ZW0BAAAAHWdldEtleVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQAAAARpdGVtAgAAACJDYW50aWRhZCBkZSB0b2tlbnMgVkdUIHJlYWxpemFkb3MgAQAAAB9nZXRWYWx1ZVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAdZ2V0S2V5U2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABBQAAAARpdGVtAAAAAQAAAAFpAQAAAAtwdXJjaGFzZVZHVAAAAAUAAAAEaXRlbQAAAAx1c2VyRG9jdW1lbnQAAAALdXNlckNvdW50cnkAAAAIb3JkZXJRdHkAAAALdG90YWxBbW91bnQEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAABlTZSByZXF1aWVyZSBwYWdvIGFkanVudG8uAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAAEhVZC4gc29sbyBwdWVkZSBhZHF1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BEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmdldEtleUl0ZW1Vc2VyT3JkZXJRdHkAAAABBQAAAARpdGVtBQAAAAhvcmRlclF0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAqTW9udG8gZGUgSW52ZXJzacOzbiB8IFBhcnRpY2lwYWNpw7NuLCB3dmxzBQAAAAt0b3RhbEFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAABxFc3RhZG8gZGUgc3UgcGVkaWRvLCB0b2tlbnMgAgAAABrCoUFkcXVpc2ljacOzbiBDb25maXJtYWRhIQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAHWdldEtleVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQUAAAAEaXRlbQkAAGQAAAACCQEAAAAfZ2V0VmFsdWVTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEFAAAABGl0ZW0FAAAACG9yZGVyUXR5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNTYWxkbyBkZSBUb2tlbnMgVkdUCQAAZQAAAAIJAABlAAAAAgUAAAANc3RhcnRUb3RhbFF0eQkBAAAAH2dldFZhbHVlU2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABBQAAAARpdGVtBQAAAAhvcmRlclF0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyCAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAt1c2VyQWRkcmVzcwkAAGgAAAACAAAAAAAAACcQBQAAAAhvcmRlclF0eQUAAAADVkdUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACmFkbU4wOFZHVFcJAABpAAAAAgkAAGgAAAACAAAAAAAAAABaCAUAAAADcG10AAAABmFtb3VudAAAAAAAAAAAZAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABFhZG1OMDhzeXNWR1RQYWlzVwkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAAoIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAABkBQAAAAR1bml0BQAAAANuaWwFAAAABHVuaXQAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACQACWQAAAAECAAAALDhLZTh5QlN3ZlRlOTZXRTJrZ21zdWI4a0VoOFRhZ2l2ZnUyb3dVTjVYdGlIB6glE1Y=", "height": 2952416, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7JaNqCmAifDSnNHYbke8wmQQH2eiHX4eeokoRmbA2SpV Next: none Diff:
OldNewDifferences
99
1010 let NONE = "none"
1111
12-let nomvgtu = 10
12+let nomvgtu = 100
1313
14-let usdnw = 618
14+let usdnw = 1250
1515
1616 let admN08VGTW = Address(base58'3N8NfVBXHM7yKRy92ghKc5MJYFuyFXhsDXn')
1717
6969 func getValuestartTotalQty (item) = getStrByKey(getKeystartTotalQty(item))
7070
7171
72-func getKeyBalanceSupplier (supplier) = "Fondos | Monto recaudado, wvs "
72+func getKeyBalanceSupplier (supplier) = "Fondos | Monto recaudado, wvls "
7373
7474
7575 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
139139 then throw("El monto del pago no puede ser inferior a la orden de compra del artículo.")
140140 else if ((pmt.amount > totalAmount))
141141 then throw("El monto del pago no puede ser mayor que la orden de compra del artículo.")
142- else $Tuple2([StringEntry(getKeyEmisor(item), "Ecosistema Bit-CO2"), StringEntry(getKeyEmisionCountry(item), "E2E | N08-PE"), StringEntry(getKeyEmisionCode(item), "N08PE-VGT-01"), StringEntry(getKeyNomTokenPrice(item), "10.00 USD"), IntegerEntry(getKeystartTotalQty(item), startTotalQty), IntegerEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), StringEntry(getKeyUserCountry(item), userCountry), StringEntry(getKeyUserDocument(item), userDocument), IntegerEntry(getKeyItemUserOrderQty(item), orderQty), IntegerEntry("Monto de Inversión | Participación, wvs", totalAmount), StringEntry("Estado de su pedido, tokens ", "¡Adquisición Confirmada!"), IntegerEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), IntegerEntry("Saldo de Tokens VGT", ((startTotalQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), IntegerEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), ScriptTransfer(addressFromStringValue(userAddress), (10000 * orderQty), VGT), ScriptTransfer(admN08VGTW, ((90 * pmt.amount) / 100), unit), ScriptTransfer(admN08sysVGTPaisW, ((10 * pmt.amount) / 100), unit)], unit)
142+ else $Tuple2([StringEntry(getKeyEmisor(item), "Ecosistema Bit-CO2"), StringEntry(getKeyEmisionCountry(item), "E2E | N08-PE"), StringEntry(getKeyEmisionCode(item), "N08PE-VGT-01"), StringEntry(getKeyNomTokenPrice(item), "100.00 USD"), IntegerEntry(getKeystartTotalQty(item), startTotalQty), IntegerEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), StringEntry(getKeyUserCountry(item), userCountry), StringEntry(getKeyUserDocument(item), userDocument), IntegerEntry(getKeyItemUserOrderQty(item), orderQty), IntegerEntry("Monto de Inversión | Participación, wvls", totalAmount), StringEntry("Estado de su pedido, tokens ", "¡Adquisición Confirmada!"), IntegerEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), IntegerEntry("Saldo de Tokens VGT", ((startTotalQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), IntegerEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), ScriptTransfer(addressFromStringValue(userAddress), (10000 * orderQty), VGT), ScriptTransfer(admN08VGTW, ((90 * pmt.amount) / 100), unit), ScriptTransfer(admN08sysVGTPaisW, ((10 * pmt.amount) / 100), unit)], unit)
143143 }
144144 }
145145
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let VGT = base58'14qBkVfMxkWyR4sjgXVfDanaemoCbhuwy9ptGtUt53Xc'
55
66 let startTotalQty = 100000
77
88 let wvs = 100000000
99
1010 let NONE = "none"
1111
12-let nomvgtu = 10
12+let nomvgtu = 100
1313
14-let usdnw = 618
14+let usdnw = 1250
1515
1616 let admN08VGTW = Address(base58'3N8NfVBXHM7yKRy92ghKc5MJYFuyFXhsDXn')
1717
1818 let admN08sysVGTPaisW = Address(base58'3MrRmb3ANQy1o15LbHRNhiNHjYvXnoSLMCo')
1919
2020 func getNumberByKey (key) = {
2121 let num = match getInteger(this, key) {
2222 case a: Int =>
2323 a
2424 case _ =>
2525 0
2626 }
2727 num
2828 }
2929
3030
3131 func getStrByKey (key) = {
3232 let str = match getString(this, key) {
3333 case a: String =>
3434 a
3535 case _ =>
3636 NONE
3737 }
3838 str
3939 }
4040
4141
4242 func getKeyEmisor (item) = "Emisor "
4343
4444
4545 func getValueEmisor (item) = getStrByKey(getKeyEmisor(item))
4646
4747
4848 func getKeyItemSupplier (supplier) = (supplier + "Nodo-08")
4949
5050
5151 func getKeyEmisionCountry (item) = "Nodo-País "
5252
5353
5454 func getValueEmisionCountry (item) = getStrByKey(getKeyEmisionCountry(item))
5555
5656
5757 func getKeyEmisionCode (item) = "Código "
5858
5959
6060 func getValueEmisionCode (item) = getStrByKey(getKeyEmisionCode(item))
6161
6262
6363 func getKeyNomTokenPrice (item) = "Precio Nominal, 1 VGT "
6464
6565
6666 func getKeystartTotalQty (item) = "Cantidad de tokens emitidos "
6767
6868
6969 func getValuestartTotalQty (item) = getStrByKey(getKeystartTotalQty(item))
7070
7171
72-func getKeyBalanceSupplier (supplier) = "Fondos | Monto recaudado, wvs "
72+func getKeyBalanceSupplier (supplier) = "Fondos | Monto recaudado, wvls "
7373
7474
7575 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
7676
7777
7878 func getKeyUserItemCounter (user,item) = "Order_№ "
7979
8080
8181 func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
8282
8383
8484 func getKeyUserDocument (item) = "Documento Nacional de Identidad, DNI "
8585
8686
8787 func getValueUserDocument (item) = getStrByKey(getKeyUserDocument(item))
8888
8989
9090 func getKeyUserCountry (item) = "País de Residencia del Usuario "
9191
9292
9393 func getValueUserCountry (item) = getStrByKey(getKeyUserCountry(item))
9494
9595
9696 func getKeyItemUserOrderQty (item) = "Cantidad de tokens adquiridos "
9797
9898
9999 func getValueItemUserOrderQty (item) = getNumberByKey(getKeyItemUserOrderQty(item))
100100
101101
102102 func getKeySaldoTokenQtyStartEtapa (item) = "Cantidad de tokens VGT realizados "
103103
104104
105105 func getValueSaldoTokenQtyStartEtapa (item) = getNumberByKey(getKeySaldoTokenQtyStartEtapa(item))
106106
107107
108108 @Callable(i)
109109 func purchaseVGT (item,userDocument,userCountry,orderQty,totalAmount) = {
110110 let pmt = if ((size(i.payments) == 1))
111111 then i.payments[0]
112112 else throw("Se requiere pago adjunto.")
113113 if (isDefined(pmt.assetId))
114114 then throw("Ud. solo puede adquirir VGT usando WavesKeeper y su token de pago Waves.")
115115 else {
116116 let supplier = match getString(this, getKeyItemSupplier(item)) {
117117 case a: String =>
118118 a
119119 case _ =>
120120 NONE
121121 }
122122 let preIcoQty = match getInteger(this, getKeySaldoTokenQtyStartEtapa(item)) {
123123 case a: Int =>
124124 a
125125 case _ =>
126126 0
127127 }
128128 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
129129 case a: Int =>
130130 a
131131 case _ =>
132132 0
133133 }
134134 let userAddress = toBase58String(i.caller.bytes)
135135 let currentTokenPrice = ((nomvgtu * wvs) / usdnw)
136136 if ((0 >= ((startTotalQty - preIcoQty) - orderQty)))
137137 then throw("Lo sentimos, por ahora no hay oferta de tokens para su transacción.")
138138 else if ((totalAmount > pmt.amount))
139139 then throw("El monto del pago no puede ser inferior a la orden de compra del artículo.")
140140 else if ((pmt.amount > totalAmount))
141141 then throw("El monto del pago no puede ser mayor que la orden de compra del artículo.")
142- else $Tuple2([StringEntry(getKeyEmisor(item), "Ecosistema Bit-CO2"), StringEntry(getKeyEmisionCountry(item), "E2E | N08-PE"), StringEntry(getKeyEmisionCode(item), "N08PE-VGT-01"), StringEntry(getKeyNomTokenPrice(item), "10.00 USD"), IntegerEntry(getKeystartTotalQty(item), startTotalQty), IntegerEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), StringEntry(getKeyUserCountry(item), userCountry), StringEntry(getKeyUserDocument(item), userDocument), IntegerEntry(getKeyItemUserOrderQty(item), orderQty), IntegerEntry("Monto de Inversión | Participación, wvs", totalAmount), StringEntry("Estado de su pedido, tokens ", "¡Adquisición Confirmada!"), IntegerEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), IntegerEntry("Saldo de Tokens VGT", ((startTotalQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), IntegerEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), ScriptTransfer(addressFromStringValue(userAddress), (10000 * orderQty), VGT), ScriptTransfer(admN08VGTW, ((90 * pmt.amount) / 100), unit), ScriptTransfer(admN08sysVGTPaisW, ((10 * pmt.amount) / 100), unit)], unit)
142+ else $Tuple2([StringEntry(getKeyEmisor(item), "Ecosistema Bit-CO2"), StringEntry(getKeyEmisionCountry(item), "E2E | N08-PE"), StringEntry(getKeyEmisionCode(item), "N08PE-VGT-01"), StringEntry(getKeyNomTokenPrice(item), "100.00 USD"), IntegerEntry(getKeystartTotalQty(item), startTotalQty), IntegerEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), StringEntry(getKeyUserCountry(item), userCountry), StringEntry(getKeyUserDocument(item), userDocument), IntegerEntry(getKeyItemUserOrderQty(item), orderQty), IntegerEntry("Monto de Inversión | Participación, wvls", totalAmount), StringEntry("Estado de su pedido, tokens ", "¡Adquisición Confirmada!"), IntegerEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), IntegerEntry("Saldo de Tokens VGT", ((startTotalQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), IntegerEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), ScriptTransfer(addressFromStringValue(userAddress), (10000 * orderQty), VGT), ScriptTransfer(admN08VGTW, ((90 * pmt.amount) / 100), unit), ScriptTransfer(admN08sysVGTPaisW, ((10 * pmt.amount) / 100), unit)], unit)
143143 }
144144 }
145145
146146
147147 @Verifier(tx)
148148 func verify () = match tx {
149149 case t: SetScriptTransaction =>
150150 sigVerify(tx.bodyBytes, tx.proofs[0], fromBase58String("8Ke8yBSwfTe96WE2kgmsub8kEh8Tagivfu2owUN5XtiH"))
151151 case _ =>
152152 false
153153 }
154154

github/deemru/w8io/873ac7e 
37.50 ms