tx · SYFm7vWKDGfnRzoupiVRSNYP2Lf4f2ZxPLRbnzp8uJa 3N8jw3ndftGZQXrBoPgDrtW6jMt58EDgHPo: -0.01000000 Waves 2022.03.25 19:12 [1979685] smart account 3N8jw3ndftGZQXrBoPgDrtW6jMt58EDgHPo > SELF 0.00000000 Waves
{ "type": 13, "id": "SYFm7vWKDGfnRzoupiVRSNYP2Lf4f2ZxPLRbnzp8uJa", "fee": 1000000, "feeAssetId": null, "timestamp": 1648224800562, "version": 2, "chainId": 84, "sender": "3N8jw3ndftGZQXrBoPgDrtW6jMt58EDgHPo", "senderPublicKey": "GTCY7nZCjSkMgsAGQkwZteoiY4iFzndAuWN3HLuGgRVh", "proofs": [ "QRfJm2Jir7dXCrBpohQ7uJocX8SiTKyaAu736rHjy1Xc2viJ6NjmqWTbDvBY2TX1JDbKdBs9Jm9192GvijAqFa7" ], "script": "base64:AAIDAAAAAAAAAAwIARIICgYBCAgICAgAAAAvAAAAAAZCaXRDTzIBAAAAIMUi0QAOPWzHrrHgLgYvt6byvqBTCBHKATKU5thr4LIYAAAAABFUb2tUb1ZlbnRhc0UyRVF0eQAAAAAAAASqHQAAAAAETk9ORQIAAAAEbm9uZQAAAAALT3duZXJQdWJLZXkBAAAAIOWVcwTgxm44IN0LkYAzSANRkJ0HECeTx9DMlxC86K0oAAAAABdyY3B0TjA4RUNwajAxUHJvZ0dUU1cxMAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVGuIVMIBBlf/uYv0T/X8jZO5wIqjhmzW5QAAAAAScmNwdE4wOFBFcHJvZ0dUU1cxCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUR7GTCgn8x1EIEJ/AzaCNolQ02X0sF/L9AAAAABJyY3B0TjA4UEVwcm9nR1RTQjEJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVR8B9XUTgn1UN3TMPbJgVTsouB/XBdDs14AAAAAEnJjcHROMDhQRXNob3BHVFNCMgkBAAAAB0FkZHJlc3MAAAABAQAAABoBVCs0/mGNLrlELB6SffXfVWVdCwehuTmNSAAAAAAScmNwdEVOMDgwMHByZ0dUU0IxCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUeXEOnguUS8E+zyKnGVVzhumAR/tA0EUdAAAAAAVldXJvdQAAAAAAAAAAdAAAAAAFdXNkbncAAAAAAAAACesAAAAABWJjbzJlAAAAAAAAAYagAAAAAAhiaXRkc2N0bwAAAAAAAAAAAwAAAAADcElQAAAAAAAAAAAKAAAAAANlSVAAAAAAAAAAAAEAAAAAA3VCUAAAAAAAAAAABwAAAAADc0JQAAAAAAAAAAACAAAAAANlQlAAAAAAAAAAAAEAAAAABW9yZ0JQAAAAAAAAAAABAAAAAAlyZWxhY2RjdG8AAAAAAAAAAAsBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAYZ2V0S2V5VXNlckl0ZW1HdHNDb3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0CAAAACk9yZGVyX+KEljoBAAAAGmdldFZhbHVlVXNlckl0ZW1HdHNDb3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABhnZXRLZXlVc2VySXRlbUd0c0NvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAABFnZXRLZXlwcm9qZWN0TmFtZQAAAAEAAAAEaXRlbQIAAAAeUHJveWVjdG8gZGUgQXBveW8gfCBJbnZlcnNpw7NuAQAAABNnZXRWYWx1ZXByb2plY3ROYW1lAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5cHJvamVjdE5hbWUAAAABBQAAAARpdGVtAQAAABJnZXRLZXlVc2VyRG9jdW1lbnQAAAABAAAABGl0ZW0CAAAAJeKEliBkZSBEb2N1bWVudG8gfCBETkkgZGVsIENvbXByYWRvcjoBAAAAFGdldFZhbHVlVXNlckRvY3VtZW50AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5VXNlckRvY3VtZW50AAAAAQUAAAAEaXRlbQEAAAAOZ2V0S2V5SXRlbU5hbWUAAAABAAAABGl0ZW0CAAAAJFByb2R1Y3RvLUdUUyBhZHF1aXJpZG8gfCBDYXRlZ29yw61hOgEAAAAQZ2V0VmFsdWVJdGVtTmFtZQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAADmdldEtleUl0ZW1OYW1lAAAAAQUAAAAEaXRlbQEAAAALZ2V0S2V5VE5hbWUAAAABAAAABGl0ZW0CAAAAFlRpZW5kYSB8IFZlbmRlZG9yLUdUUzoBAAAADWdldFZhbHVlVE5hbWUAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAtnZXRLZXlUTmFtZQAAAAEFAAAABGl0ZW0BAAAADmdldEtleVN1cHBsaWVyAAAAAQAAAARpdGVtAgAAABhOb2RvLUFjdGl2byBQYXJ0aWNpcGFudGUBAAAACGdldEtleVBJAAAAAQAAAARpdGVtAgAAAAlQSSwgd3ZsczoBAAAACmdldFZhbHVlUEkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAhnZXRLZXlQSQAAAAEFAAAABGl0ZW0BAAAACWdldEtleU5JdwAAAAEAAAAEaXRlbQIAAAAKTkl3LCB3dmxzOgEAAAALZ2V0VmFsdWVOSXcAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAlnZXRLZXlOSXcAAAABBQAAAARpdGVtAQAAAAhnZXRLZXlVSQAAAAEAAAAEaXRlbQIAAAASVUksIDEwZS00IGJpdC1jbzI6AQAAAApnZXRWYWx1ZVVJAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAIZ2V0S2V5VUkAAAABBQAAAARpdGVtAQAAAAhnZXRLZXlTSQAAAAEAAAAEaXRlbQIAAAASU0ksIDEwZS00IGJpdC1jbzI6AQAAAApnZXRWYWx1ZVNJAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAIZ2V0S2V5U0kAAAABBQAAAARpdGVtAQAAAAlnZXRLZXlOSWIAAAABAAAABGl0ZW0CAAAAE05JYiwgMTBlLTQgYml0LWNvMjoBAAAAC2dldFZhbHVlTkliAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAJZ2V0S2V5TkliAAAAAQUAAAAEaXRlbQEAAAASZ2V0S2V5QmFsYW5jZVRva2VuAAAAAQAAAAZ0aWVuZGECAAAANFRva2VucyBlbnRyZWdhZG9zIGRlc2RlIFByb2dyYW1hLUdUUywgMTBlLTQgYml0LWNvMjoBAAAAFGdldFZhbHVlQmFsYW5jZVRva2VuAAAAAQAAAAZ0aWVuZGEJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlCYWxhbmNlVG9rZW4AAAABBQAAAAZ0aWVuZGEBAAAAFWdldEtleUJhbGFuY2VQcm95ZWN0bwAAAAEAAAAIcHJveWVjdG8CAAAAJEZvbmRvcyBFMkUgZGVzZGUgUHJvZ3JhbWEtR1RTLCB3dmxzOgEAAAAXZ2V0VmFsdWVCYWxhbmNlUHJveWVjdG8AAAABAAAACHByb3llY3RvCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVByb3llY3RvAAAAAQUAAAAIcHJveWVjdG8AAAABAAAAAWkBAAAAC3B1cmNoYXNlR1RTAAAABgAAAAt0b3RhbEFtb3VudAAAAAx1c2VyRG9jdW1lbnQAAAALcHJvamVjdE5hbWUAAAAIaXRlbU5hbWUAAAAFdE5hbWUAAAAEaXRlbQQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAE0VsIFByZWNpbyBlbiB3YXZlcy4EAAAACHN1cHBsaWVyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAQAAAA5nZXRLZXlTdXBwbGllcgAAAAEFAAAABGl0ZW0DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQQAAAAGdGllbmRhCQACWAAAAAEIBQAAABJyY3B0TjA4UEVzaG9wR1RTQjIAAAAFYnl0ZXMEAAAADHNhbGRvVGllbmRhMQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQEAAAASZ2V0S2V5QmFsYW5jZVRva2VuAAAAAQUAAAAGdGllbmRhAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACHByb3llY3RvCQACWAAAAAEIBQAAABdyY3B0TjA4RUNwajAxUHJvZ0dUU1cxMAAAAAVieXRlcwQAAAAJc2FsZG9Qcm9qBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAQAAABVnZXRLZXlCYWxhbmNlUHJveWVjdG8AAAABBQAAAAhwcm95ZWN0bwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAt1c2VyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhzdWJUb3RhbAUAAAALdG90YWxBbW91bnQEAAAAA3BJdwkAAGkAAAACCQAAaAAAAAIFAAAAA3BJUAUAAAAIc3ViVG90YWwFAAAACXJlbGFjZGN0bwQAAAADZUl3CQAAaQAAAAIJAABoAAAAAgUAAAADZUlQBQAAAAhzdWJUb3RhbAUAAAAJcmVsYWNkY3RvBAAAAA1iY28ybWVub3NkY3RvCQAAaQAAAAIJAABoAAAAAgkAAGUAAAACAAAAAAAAAABkBQAAAAhiaXRkc2N0bwkAAGgAAAACBQAAAAVldXJvdQUAAAAFYmNvMmUAAAAAAAAAJxAEAAAACXN1YlRvdGFsYgkAAGkAAAACCQAAaQAAAAIJAABoAAAAAgUAAAALdG90YWxBbW91bnQFAAAABXVzZG53AAAAAAAAAABkBQAAAA1iY28ybWVub3NkY3RvBAAAAAZ0b3RhbGIJAABoAAAAAgUAAAAJc3ViVG90YWxiAAAAAAAAACcQBAAAAAN1SWIJAABpAAAAAgkAAGgAAAACBQAAAAN1QlAFAAAACXN1YlRvdGFsYgUAAAAJcmVsYWNkY3RvBAAAAANzSWIJAABpAAAAAgkAAGgAAAACBQAAAANzQlAFAAAACXN1YlRvdGFsYgUAAAAJcmVsYWNkY3RvBAAAAANlSWIJAABpAAAAAgkAAGgAAAACBQAAAANlQlAFAAAACXN1YlRvdGFsYgUAAAAJcmVsYWNkY3RvBAAAAAVvcmdJYgkAAGkAAAACCQAAaAAAAAIFAAAABW9yZ0JQBQAAAAlzdWJUb3RhbGIFAAAACXJlbGFjZGN0bwMJAABnAAAAAgUAAAAMc2FsZG9UaWVuZGExCQAAaAAAAAIFAAAAEVRva1RvVmVudGFzRTJFUXR5AAAAAAAAACcQCQAAAgAAAAECAAAAQ0xvIHNlbnRpbW9zLCBwb3IgYWhvcmEgbm8gaGF5IG9mZXJ0YSBkZSB0b2tlbnMgcGFyYSBzdSB0cmFuc2FjY2nDs24EAAAACmFtb3VudEJDTzIJAABlAAAAAgkAAGgAAAACBQAAABFUb2tUb1ZlbnRhc0UyRVF0eQAAAAAAAAAnEAUAAAAMc2FsZG9UaWVuZGExAwkAAGYAAAACBQAAAAt0b3RhbEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAA1UGF5bWVudCBBbW91bnQgY2FuJ3QgYmUgbGVzcyB0aGFuIGl0ZW0gUHVyY2hhc2UgT3JkZXIDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAt0b3RhbEFtb3VudAkAAAIAAAABAgAAADdQYXltZW50IEFtb3VudCBjYW4ndCBiZSBoaWdoZXIgdGhhbiBpdGVtIFB1cmNoYXNlIE9yZGVyCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEtleVVzZXJJdGVtR3RzQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtCQAAZAAAAAIJAQAAABpnZXRWYWx1ZVVzZXJJdGVtR3RzQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0S2V5VXNlckRvY3VtZW50AAAAAQUAAAAEaXRlbQUAAAAMdXNlckRvY3VtZW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0S2V5cHJvamVjdE5hbWUAAAABBQAAAARpdGVtBQAAAAtwcm9qZWN0TmFtZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAfTW9udG8gZGUgYXBveW8gZWNvbMOzZ2ljbywgd3ZscwUAAAALdG90YWxBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA5nZXRLZXlJdGVtTmFtZQAAAAEFAAAABGl0ZW0FAAAACGl0ZW1OYW1lCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAALZ2V0S2V5VE5hbWUAAAABBQAAAARpdGVtBQAAAAV0TmFtZQkABEwA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", "height": 1979685, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let BitCO2 = base58'EGY7HCyeHiHiCiiYpqH1Dmd5E6nzbwrgsdX3FHx5kFWw' | |
5 | + | ||
6 | + | let TokToVentasE2EQty = 305693 | |
7 | + | ||
8 | + | let NONE = "none" | |
9 | + | ||
10 | + | let OwnerPubKey = base58'GTCY7nZCjSkMgsAGQkwZteoiY4iFzndAuWN3HLuGgRVh' | |
11 | + | ||
12 | + | let rcptN08ECpj01ProgGTSW10 = Address(base58'3MyifPtwHYvFh2J3zkVsxehJkscEsUKHxCk') | |
13 | + | ||
14 | + | let rcptN08PEprogGTSW1 = Address(base58'3MvTAUd9wfVCB3eokyUYCj4XTYoNT9N7CrQ') | |
15 | + | ||
16 | + | let rcptN08PEprogGTSB1 = Address(base58'3N1Dtx7Ruvpooo7eHvpCECoVL4dJkjAQALd') | |
17 | + | ||
18 | + | let rcptN08PEshopGTSB2 = Address(base58'3MsrYKEYox7usLfxEaVJJGjT8jgbFcnuUUF') | |
19 | + | ||
20 | + | let rcptEN0800prgGTSB1 = Address(base58'3MzzCyUcpBFkCGjo23eWmQFQfNoGr24JqPi') | |
21 | + | ||
22 | + | let eurou = 116 | |
23 | + | ||
24 | + | let usdnw = 2539 | |
25 | + | ||
26 | + | let bco2e = 100000 | |
27 | + | ||
28 | + | let bitdscto = 3 | |
29 | + | ||
30 | + | let pIP = 10 | |
31 | + | ||
32 | + | let eIP = 1 | |
33 | + | ||
34 | + | let uBP = 7 | |
35 | + | ||
36 | + | let sBP = 2 | |
37 | + | ||
38 | + | let eBP = 1 | |
39 | + | ||
40 | + | let orgBP = 1 | |
41 | + | ||
42 | + | let relacdcto = 11 | |
43 | + | ||
44 | + | func getNumberByKey (key) = { | |
45 | + | let num = match getInteger(this, key) { | |
46 | + | case a: Int => | |
47 | + | a | |
48 | + | case _ => | |
49 | + | 0 | |
50 | + | } | |
51 | + | num | |
52 | + | } | |
53 | + | ||
54 | + | ||
55 | + | func getStrByKey (key) = { | |
56 | + | let str = match getString(this, key) { | |
57 | + | case a: String => | |
58 | + | a | |
59 | + | case _ => | |
60 | + | NONE | |
61 | + | } | |
62 | + | str | |
63 | + | } | |
64 | + | ||
65 | + | ||
66 | + | func getKeyUserItemGtsCounter (user,item) = "Order_№:" | |
67 | + | ||
68 | + | ||
69 | + | func getValueUserItemGtsCounter (user,item) = getNumberByKey(getKeyUserItemGtsCounter(user, item)) | |
70 | + | ||
71 | + | ||
72 | + | func getKeyprojectName (item) = "Proyecto de Apoyo | Inversión" | |
73 | + | ||
74 | + | ||
75 | + | func getValueprojectName (item) = getStrByKey(getKeyprojectName(item)) | |
76 | + | ||
77 | + | ||
78 | + | func getKeyUserDocument (item) = "№ de Documento | DNI del Comprador:" | |
79 | + | ||
80 | + | ||
81 | + | func getValueUserDocument (item) = getStrByKey(getKeyUserDocument(item)) | |
82 | + | ||
83 | + | ||
84 | + | func getKeyItemName (item) = "Producto-GTS adquirido | Categoría:" | |
85 | + | ||
86 | + | ||
87 | + | func getValueItemName (item) = getStrByKey(getKeyItemName(item)) | |
88 | + | ||
89 | + | ||
90 | + | func getKeyTName (item) = "Tienda | Vendedor-GTS:" | |
91 | + | ||
92 | + | ||
93 | + | func getValueTName (item) = getStrByKey(getKeyTName(item)) | |
94 | + | ||
95 | + | ||
96 | + | func getKeySupplier (item) = "Nodo-Activo Participante" | |
97 | + | ||
98 | + | ||
99 | + | func getKeyPI (item) = "PI, wvls:" | |
100 | + | ||
101 | + | ||
102 | + | func getValuePI (item) = getNumberByKey(getKeyPI(item)) | |
103 | + | ||
104 | + | ||
105 | + | func getKeyNIw (item) = "NIw, wvls:" | |
106 | + | ||
107 | + | ||
108 | + | func getValueNIw (item) = getNumberByKey(getKeyNIw(item)) | |
109 | + | ||
110 | + | ||
111 | + | func getKeyUI (item) = "UI, 10e-4 bit-co2:" | |
112 | + | ||
113 | + | ||
114 | + | func getValueUI (item) = getNumberByKey(getKeyUI(item)) | |
115 | + | ||
116 | + | ||
117 | + | func getKeySI (item) = "SI, 10e-4 bit-co2:" | |
118 | + | ||
119 | + | ||
120 | + | func getValueSI (item) = getNumberByKey(getKeySI(item)) | |
121 | + | ||
122 | + | ||
123 | + | func getKeyNIb (item) = "NIb, 10e-4 bit-co2:" | |
124 | + | ||
125 | + | ||
126 | + | func getValueNIb (item) = getNumberByKey(getKeyNIb(item)) | |
127 | + | ||
128 | + | ||
129 | + | func getKeyBalanceToken (tienda) = "Tokens entregados desde Programa-GTS, 10e-4 bit-co2:" | |
130 | + | ||
131 | + | ||
132 | + | func getValueBalanceToken (tienda) = getNumberByKey(getKeyBalanceToken(tienda)) | |
133 | + | ||
134 | + | ||
135 | + | func getKeyBalanceProyecto (proyecto) = "Fondos E2E desde Programa-GTS, wvls:" | |
136 | + | ||
137 | + | ||
138 | + | func getValueBalanceProyecto (proyecto) = getNumberByKey(getKeyBalanceProyecto(proyecto)) | |
139 | + | ||
140 | + | ||
141 | + | @Callable(i) | |
142 | + | func purchaseGTS (totalAmount,userDocument,projectName,itemName,tName,item) = { | |
143 | + | let pmt = extract(i.payment) | |
144 | + | if (isDefined(pmt.assetId)) | |
145 | + | then throw("El Precio en waves.") | |
146 | + | else { | |
147 | + | let supplier = match getString(this, getKeySupplier(item)) { | |
148 | + | case a: String => | |
149 | + | a | |
150 | + | case _ => | |
151 | + | NONE | |
152 | + | } | |
153 | + | let tienda = toBase58String(rcptN08PEshopGTSB2.bytes) | |
154 | + | let saldoTienda1 = match getInteger(this, getKeyBalanceToken(tienda)) { | |
155 | + | case a: Int => | |
156 | + | a | |
157 | + | case _ => | |
158 | + | 0 | |
159 | + | } | |
160 | + | let proyecto = toBase58String(rcptN08ECpj01ProgGTSW10.bytes) | |
161 | + | let saldoProj = match getInteger(this, getKeyBalanceProyecto(proyecto)) { | |
162 | + | case a: Int => | |
163 | + | a | |
164 | + | case _ => | |
165 | + | 0 | |
166 | + | } | |
167 | + | let userAddress = toBase58String(i.caller.bytes) | |
168 | + | let subTotal = totalAmount | |
169 | + | let pIw = ((pIP * subTotal) / relacdcto) | |
170 | + | let eIw = ((eIP * subTotal) / relacdcto) | |
171 | + | let bco2menosdcto = (((100 - bitdscto) * (eurou * bco2e)) / 10000) | |
172 | + | let subTotalb = (((totalAmount * usdnw) / 100) / bco2menosdcto) | |
173 | + | let totalb = (subTotalb * 10000) | |
174 | + | let uIb = ((uBP * subTotalb) / relacdcto) | |
175 | + | let sIb = ((sBP * subTotalb) / relacdcto) | |
176 | + | let eIb = ((eBP * subTotalb) / relacdcto) | |
177 | + | let orgIb = ((orgBP * subTotalb) / relacdcto) | |
178 | + | if ((saldoTienda1 >= (TokToVentasE2EQty * 10000))) | |
179 | + | then throw("Lo sentimos, por ahora no hay oferta de tokens para su transacción") | |
180 | + | else { | |
181 | + | let amountBCO2 = ((TokToVentasE2EQty * 10000) - saldoTienda1) | |
182 | + | if ((totalAmount > pmt.amount)) | |
183 | + | then throw("Payment Amount can't be less than item Purchase Order") | |
184 | + | else if ((pmt.amount > totalAmount)) | |
185 | + | then throw("Payment Amount can't be higher than item Purchase Order") | |
186 | + | else ScriptResult(WriteSet([DataEntry(getKeyUserItemGtsCounter(userAddress, item), (getValueUserItemGtsCounter(userAddress, item) + 1)), DataEntry(getKeyUserDocument(item), userDocument), DataEntry(getKeyprojectName(item), projectName), DataEntry("Monto de apoyo ecológico, wvls", totalAmount), DataEntry(getKeyItemName(item), itemName), DataEntry(getKeyTName(item), tName), DataEntry(getKeySupplier(item), item), DataEntry("usdn", usdnw), DataEntry("eurou", eurou), DataEntry("Precio de 1 token con dscto, 10e-4 usd", bco2menosdcto), DataEntry("Total de tokens a distribuir, 10e-4 bit-co2", subTotalb), DataEntry(("Order_Status:_" + userAddress), "Transacción Confirmada!"), DataEntry("Tokens a distribuir en E2E, bit-co2", TokToVentasE2EQty), DataEntry(getKeyBalanceProyecto(proyecto), (getValueBalanceProyecto(proyecto) + pIw)), DataEntry(getKeyBalanceToken(tienda), (getValueBalanceToken(tienda) + subTotalb)), DataEntry("Saldo de tokens en oferta E2E, 10e-04 bit-co2", (amountBCO2 - ((getValueBalanceToken(tienda) - saldoTienda1) + subTotalb)))]), TransferSet([ScriptTransfer(rcptN08ECpj01ProgGTSW10, pIw, unit), ScriptTransfer(rcptN08PEprogGTSW1, eIw, unit), ScriptTransfer(i.caller, uIb, BitCO2), ScriptTransfer(rcptN08PEshopGTSB2, sIb, BitCO2), ScriptTransfer(rcptN08PEprogGTSB1, eIb, BitCO2), ScriptTransfer(rcptEN0800prgGTSB1, orgIb, BitCO2)])) | |
187 | + | } | |
188 | + | } | |
189 | + | } | |
190 | + | ||
191 | + | ||
192 | + | @Verifier(tx) | |
193 | + | func verify () = match tx { | |
194 | + | case t: SetScriptTransaction => | |
195 | + | sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey) | |
196 | + | case d: DataTransaction => | |
197 | + | true | |
198 | + | case tx: TransferTransaction => | |
199 | + | true | |
200 | + | case _ => | |
201 | + | false | |
202 | + | } | |
203 | + |
github/deemru/w8io/026f985 21.99 ms ◑