tx · EpN7Y6ZRaE7KfeqzZPcrnDWUFF5MgRxedn8ans2dLDdb

3MsQwxepm5q2BG1PYUMwqoD2JLgKrACa3P2:  -0.01400000 Waves

2020.04.04 15:45 [939482] smart account 3MsQwxepm5q2BG1PYUMwqoD2JLgKrACa3P2 > SELF 0.00000000 Waves

{ "type": 13, "id": "EpN7Y6ZRaE7KfeqzZPcrnDWUFF5MgRxedn8ans2dLDdb", "fee": 1400000, "feeAssetId": null, "timestamp": 1586000674442, "version": 1, "sender": "3MsQwxepm5q2BG1PYUMwqoD2JLgKrACa3P2", "senderPublicKey": "GQpgNnxYTNNWmyiXVfx9rpMV1hgft2HPhJ3CkWeLuxAt", "proofs": [ "5iwSKN9Lai4GUg77XePg6gYw8vvTVLt2zRP1JRt2H8Qd3aBoaKMcMdmUney4reX3v7VX7dU87tKL15m5v7HBr4wJ" ], "script": "base64:AAIDAAAAAAAAACMIARIECgIICBIICgYICAgBAQgSCQoHCAgICAEICBIECgIIAQAAADUAAAAAB2JCaXRDTzIBAAAAIB/+20Whi2vRcLDiyL6zBUKemnAWGkbChWDkhQemNVeLAAAAAAhzdGFydFF0eQAAAAAAAB6EgAAAAAAIbm9tUHJpY2UAAAAAAAAAAAEAAAAAA3d2cwAAAAAABfXhAAAAAAAQc3VwcGxpZXJEaXNjb3VudAAAAAAAAAAADAAAAAAETk9ORQIAAAAEbm9uZQAAAAALT3duZXJQdWJLZXkBAAAAIOT5kr0qxAUdVllbsg32nwnU0gQ806lA/C0Ix5M0fVkpAAAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQmXeqpNBOU0gXTRoLnFygaPj7BjtrRIP0AAAAAA2lndgAAAAAAAAAAEgAAAAADY1BCAAAAAAAAAABYAAAAAAN1SVAAAAAAAAAAAAUAAAAAA3BJUAAAAAAAAAAACgAAAAADc0lQAAAAAAAAAAABAAAAAANlSVAAAAAAAAAAAAEAAAAAAnBBCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUyvc7Pucv0VXiD634RbMs3vuN0A1Fa31vAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAACmdldEtleUl0ZW0AAAACAAAACHN1cHBsaWVyAAAABXRpdGxlCQABLAAAAAICAAAABkEgeSBHOgkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACBQAAAAhzdXBwbGllcgUAAAAFdGl0bGUBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAZfUCBTQUMBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQEAAAANZ2V0S2V5UHJvamVjdAAAAAEAAAACcEEJAAEsAAAAAgUAAAACcEECAAAACV9BLVByZUlDTwEAAAAPZ2V0VmFsdWVQcm9qZWN0AAAAAQAAAAJwQQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAADWdldEtleVByb2plY3QAAAABBQAAAAJwQQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0CAAAACk9yZGVyX+KEljoBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAAA5nZXRLZXlJdGVtVXNlcgAAAAEAAAAEaXRlbQIAAAAJVXNlck5hbWU6AQAAABBnZXRWYWx1ZUl0ZW1Vc2VyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAOZ2V0S2V5SXRlbVVzZXIAAAABBQAAAARpdGVtAQAAABFnZXRLZXlVc2VyQ291bnRyeQAAAAEAAAAEaXRlbQIAAAAJVXNlclBhaXM6AQAAABNnZXRWYWx1ZVVzZXJDb3VudHJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5VXNlckNvdW50cnkAAAABBQAAAARpdGVtAQAAAAxnZXRLZXlJdGVtVUQAAAABAAAABGl0ZW0CAAAAA1VEOgEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgIAAAAXU2VsbGVyX0JhbGFuY2UsX2FCaXRDTzIBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyAQAAAAhnZXRLZXlVSQAAAAEAAAAEaXRlbQIAAAAIVUksX3d2czoBAAAACmdldFZhbHVlVUkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAhnZXRLZXlVSQAAAAEFAAAABGl0ZW0BAAAACWdldEtleVVCSQAAAAEAAAAEaXRlbQIAAAAMVUJJLF9CaXRDTzI6AQAAAAtnZXRWYWx1ZVVCSQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAACWdldEtleVVCSQAAAAEFAAAABGl0ZW0BAAAACGdldEtleVBJAAAAAQAAAARpdGVtAgAAAAZQSSxfJToBAAAACmdldFZhbHVlUEkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAhnZXRLZXlQSQAAAAEFAAAABGl0ZW0BAAAACGdldEtleVNJAAAAAQAAAARpdGVtAgAAAAZTSSxfJToBAAAACmdldFZhbHVlU0kAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAAhnZXRLZXlTSQAAAAEFAAAABGl0ZW0BAAAACGdldEtleUVJAAAAAQAAAAJlQQIAAAAGRUksXyU6AQAAAApnZXRWYWx1ZUVJAAAAAQAAAAJlQQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAACGdldEtleUVJAAAAAQUAAAACZUEBAAAAEmdldEtleUl0ZW1Vc2VyRGF0YQAAAAEAAAAEaXRlbQIAAAAMVXNlckNvdW50cnk6AQAAABZnZXRLZXlJdGVtRGlzY291bnRVc2VyAAAAAQAAAARpdGVtAgAAABBVc2VyRGlzY291bnQsICU6AQAAABhnZXRWYWx1ZUl0ZW1EaXNjb3VudFVzZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtRGlzY291bnRVc2VyAAAAAQUAAAAEaXRlbQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEAAAAEaXRlbQIAAAAST3JkZXJfcXR5LF90b2tlbnM6AQAAABhnZXRWYWx1ZUl0ZW1Vc2VyT3JkZXJRdHkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtVXNlck9yZGVyUXR5AAAAAQUAAAAEaXRlbQEAAAAYZ2V0S2V5QmFsYW5jZVF0eVN1cHBsaWVyAAAAAQAAAARpdGVtAgAAABZCYWxhbmNlL1NhbGRvLCB0b2tlbnM6AQAAABpnZXRWYWx1ZUJhbGFuY2VRdHlTdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGGdldEtleUJhbGFuY2VRdHlTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAF2dldEtleUl0ZW1QcmljZVN1cHBsaWVyAAAAAQAAAARpdGVtAgAAAAZfd2F2ZXMBAAAAGWdldFZhbHVlSXRlbVByaWNlU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtUHJpY2VTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAGmdldEtleUl0ZW1EaXNjb3VudFN1cHBsaWVyAAAAAQAAAARpdGVtAgAAABhTdXBwbGllckRpc2NvdW50LCBtYXhfJToBAAAAHGdldFZhbHVlSXRlbURpc2NvdW50U3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABpnZXRLZXlJdGVtRGlzY291bnRTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAADmdldEtleUl0ZW1EYXRhAAAAAQAAAARpdGVtAgAAAA1kZXNjcmlwdGlvbjogAAAABAAAAAFpAQAAAAdkZXBvc2l0AAAAAgAAAAV0aXRsZQAAAAxzdXBwbGllckRhdGEEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAdiQml0Q08yCQAAAgAAAAECAAAALlVzZSBiQml0Q08yIHRva2VucyBvbmx5IGZvciB0aGUgd2FsbGV0IGRlcG9zaXQEAAAACHN1cHBsaWVyCQACWAAA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", "chainId": 84, "height": 939482, "spentComplexity": 0 } View: original | compacted Prev: FW7swL9sCi4ZNpWzqS6ZHwHRu8fyzBJJXngsaxLtGr9q Next: BF4yAhn7NcDakApdxiGfzpZS7NYqfHrCm64FqWiy1Cia Diff:
OldNewDifferences
88 let nomPrice = 1
99
1010 let wvs = 100000000
11+
12+let supplierDiscount = 12
1113
1214 let NONE = "none"
1315
144146 func getValueBalanceQtySupplier (item) = getNumberByKey(getKeyBalanceQtySupplier(item))
145147
146148
149+func getKeyItemPriceSupplier (item) = "_waves"
150+
151+
152+func getValueItemPriceSupplier (item) = getNumberByKey(getKeyItemPriceSupplier(item))
153+
154+
155+func getKeyItemDiscountSupplier (item) = "SupplierDiscount, max_%:"
156+
157+
158+func getValueItemDiscountSupplier (item) = getNumberByKey(getKeyItemDiscountSupplier(item))
159+
160+
161+func getKeyItemData (item) = "description: "
162+
163+
147164 @Callable(i)
148165 func deposit (title,supplierData) = {
149166 let pmt = extract(i.payment)
162179 then throw("No hay BitCO2 in your balance")
163180 else WriteSet([DataEntry(supplier, newAmount)])
164181 }
182+ }
183+
184+
185+
186+@Callable(i)
187+func AddSupplierToken (title,name,country,preIcoQty,supplierDiscount,supplierData) = {
188+ let supplier = toBase58String(i.caller.bytes)
189+ let item = getKeyItem(supplier, title)
190+ if ((0 >= preIcoQty))
191+ then throw("Sorry, insufficient token offer")
192+ else WriteSet([DataEntry(("Supplier:_" + getKeyItemSupplier(item)), supplier), DataEntry(("Title:_" + supplier), title), DataEntry(("ProjectName:_" + supplier), name), DataEntry(("Country:_" + supplier), country), DataEntry(getKeyBalanceQtySupplier(item), preIcoQty), DataEntry(("NomTokenPrice:_" + getKeyItemPriceSupplier(item)), (nomPrice * wvs)), DataEntry(("Max_Descuento_ofrecido:" + getKeyItemDiscountSupplier(item)), supplierDiscount), DataEntry(("Development:_" + getKeyItemData(item)), supplierData)])
165193 }
166194
167195
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let bBitCO2 = base58'39u32sVJU2K5UJoPRQasrNKRHbDZhtRzuHYc9tdFozn6'
55
66 let startQty = 2000000
77
88 let nomPrice = 1
99
1010 let wvs = 100000000
11+
12+let supplierDiscount = 12
1113
1214 let NONE = "none"
1315
1416 let OwnerPubKey = base58'GQpgNnxYTNNWmyiXVfx9rpMV1hgft2HPhJ3CkWeLuxAt'
1517
1618 let issuer = Address(base58'3MsQwxepm5q2BG1PYUMwqoD2JLgKrACa3P2')
1719
1820 let igv = 18
1921
2022 let cPB = 88
2123
2224 let uIP = 5
2325
2426 let pIP = 10
2527
2628 let sIP = 1
2729
2830 let eIP = 1
2931
3032 let pA = Address(base58'3N8RGScPyKYySaXd5Z3VcpnttH2uBeMpSy4')
3133
3234 func getNumberByKey (key) = {
3335 let num = match getInteger(this, key) {
3436 case a: Int =>
3537 a
3638 case _ =>
3739 0
3840 }
3941 num
4042 }
4143
4244
4345 func getStrByKey (key) = {
4446 let str = match getString(this, key) {
4547 case a: String =>
4648 a
4749 case _ =>
4850 NONE
4951 }
5052 str
5153 }
5254
5355
5456 func getKeyItem (supplier,title) = ("A y G:" + toBase58String(sha256(toBytes((supplier + title)))))
5557
5658
5759 func getKeyItemSupplier (item) = (item + "_P SAC")
5860
5961
6062 func getValueItemSupplier (item) = getStrByKey(getKeyItemSupplier(item))
6163
6264
6365 func getKeyProject (pA) = (pA + "_A-PreICO")
6466
6567
6668 func getValueProject (pA) = getStrByKey(getKeyProject(pA))
6769
6870
6971 func getKeyUserItemCounter (user,item) = "Order_№:"
7072
7173
7274 func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
7375
7476
7577 func getKeyItemUser (item) = "UserName:"
7678
7779
7880 func getValueItemUser (item) = getStrByKey(getKeyItemUser(item))
7981
8082
8183 func getKeyUserCountry (item) = "UserPais:"
8284
8385
8486 func getValueUserCountry (item) = getStrByKey(getKeyUserCountry(item))
8587
8688
8789 func getKeyItemUD (item) = "UD:"
8890
8991
9092 func getKeyBalanceSupplier (supplier) = "Seller_Balance,_aBitCO2"
9193
9294
9395 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
9496
9597
9698 func getKeyUI (item) = "UI,_wvs:"
9799
98100
99101 func getValueUI (item) = getNumberByKey(getKeyUI(item))
100102
101103
102104 func getKeyUBI (item) = "UBI,_BitCO2:"
103105
104106
105107 func getValueUBI (item) = getNumberByKey(getKeyUBI(item))
106108
107109
108110 func getKeyPI (item) = "PI,_%:"
109111
110112
111113 func getValuePI (item) = getNumberByKey(getKeyPI(item))
112114
113115
114116 func getKeySI (item) = "SI,_%:"
115117
116118
117119 func getValueSI (item) = getNumberByKey(getKeySI(item))
118120
119121
120122 func getKeyEI (eA) = "EI,_%:"
121123
122124
123125 func getValueEI (eA) = getNumberByKey(getKeyEI(eA))
124126
125127
126128 func getKeyItemUserData (item) = "UserCountry:"
127129
128130
129131 func getKeyItemDiscountUser (item) = "UserDiscount, %:"
130132
131133
132134 func getValueItemDiscountUser (item) = getNumberByKey(getKeyItemDiscountUser(item))
133135
134136
135137 func getKeyItemUserOrderQty (item) = "Order_qty,_tokens:"
136138
137139
138140 func getValueItemUserOrderQty (item) = getNumberByKey(getKeyItemUserOrderQty(item))
139141
140142
141143 func getKeyBalanceQtySupplier (item) = "Balance/Saldo, tokens:"
142144
143145
144146 func getValueBalanceQtySupplier (item) = getNumberByKey(getKeyBalanceQtySupplier(item))
145147
146148
149+func getKeyItemPriceSupplier (item) = "_waves"
150+
151+
152+func getValueItemPriceSupplier (item) = getNumberByKey(getKeyItemPriceSupplier(item))
153+
154+
155+func getKeyItemDiscountSupplier (item) = "SupplierDiscount, max_%:"
156+
157+
158+func getValueItemDiscountSupplier (item) = getNumberByKey(getKeyItemDiscountSupplier(item))
159+
160+
161+func getKeyItemData (item) = "description: "
162+
163+
147164 @Callable(i)
148165 func deposit (title,supplierData) = {
149166 let pmt = extract(i.payment)
150167 if ((pmt.assetId != bBitCO2))
151168 then throw("Use bBitCO2 tokens only for the wallet deposit")
152169 else {
153170 let supplier = toBase58String(i.caller.bytes)
154171 let currentAmount = match getInteger(this, supplier) {
155172 case a: Int =>
156173 a
157174 case _ =>
158175 startQty
159176 }
160177 let newAmount = (currentAmount + pmt.amount)
161178 if ((0 >= newAmount))
162179 then throw("No hay BitCO2 in your balance")
163180 else WriteSet([DataEntry(supplier, newAmount)])
164181 }
182+ }
183+
184+
185+
186+@Callable(i)
187+func AddSupplierToken (title,name,country,preIcoQty,supplierDiscount,supplierData) = {
188+ let supplier = toBase58String(i.caller.bytes)
189+ let item = getKeyItem(supplier, title)
190+ if ((0 >= preIcoQty))
191+ then throw("Sorry, insufficient token offer")
192+ else WriteSet([DataEntry(("Supplier:_" + getKeyItemSupplier(item)), supplier), DataEntry(("Title:_" + supplier), title), DataEntry(("ProjectName:_" + supplier), name), DataEntry(("Country:_" + supplier), country), DataEntry(getKeyBalanceQtySupplier(item), preIcoQty), DataEntry(("NomTokenPrice:_" + getKeyItemPriceSupplier(item)), (nomPrice * wvs)), DataEntry(("Max_Descuento_ofrecido:" + getKeyItemDiscountSupplier(item)), supplierDiscount), DataEntry(("Development:_" + getKeyItemData(item)), supplierData)])
165193 }
166194
167195
168196
169197 @Callable(i)
170198 func purchaseGTS (item,userName,userCountry,uD,totalAmount,pA,eA) = {
171199 let pmt = extract(i.payment)
172200 if (isDefined(pmt.assetId))
173201 then throw("you can adquire Products only by Waves tokens")
174202 else {
175203 let supplier = match getString(this, getKeyItemSupplier(item)) {
176204 case a: String =>
177205 a
178206 case _ =>
179207 NONE
180208 }
181209 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
182210 case a: Int =>
183211 a
184212 case _ =>
185213 0
186214 }
187215 let userAddress = toBase58String(i.caller.bytes)
188216 let subTotal = (totalAmount - ((igv * totalAmount) / 100))
189217 let uI = ((subTotal * uIP) / 100)
190218 let uBI = (uI / cPB)
191219 let pI = ((subTotal * pIP) / 100)
192220 let eI = ((subTotal * eIP) / 100)
193221 let eBI = ((subTotal * eIP) / 100)
194222 let sI = ((totalAmount - pI) - eI)
195223 let sBI = ((subTotal * sIP) / 100)
196224 if ((totalAmount > pmt.amount))
197225 then throw("Payment Amount can't be less than item Purchase Order")
198226 else if ((pmt.amount > totalAmount))
199227 then throw("Payment Amount can't be higher than item Purchase Order")
200228 else ScriptResult(WriteSet([DataEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), DataEntry(getKeyItemUser(item), userName), DataEntry(getKeyUserCountry(item), userCountry), DataEntry(getKeyItemUD(item), uD), DataEntry("Payment_amount,_wvs", totalAmount), DataEntry("Imp, %", igv), DataEntry("STtl, wvs", subTotal), DataEntry("CP 1 B, wvs", (cPB * 1000000)), DataEntry(getKeyUI(item), uI), DataEntry("UBI", uBI), DataEntry(getKeyPI(item), pI), DataEntry(getKeyEI(eA), eI), DataEntry("EcSys", eBI), DataEntry(("Order_Status:_" + userAddress), "confirmed"), DataEntry(getKeySI(item), sI), DataEntry("SBI: b", sBI), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount))]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), uBI, bBitCO2)]))
201229 }
202230 }
203231
204232
205233
206234 @Callable(i)
207235 func withdraw (item,amount) = {
208236 let userAddress = toBase58String(i.caller.bytes)
209237 let supplier = match getString(this, getKeyItemSupplier(item)) {
210238 case a: String =>
211239 a
212240 case _ =>
213241 NONE
214242 }
215243 let preIcoQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
216244 case a: Int =>
217245 a
218246 case _ =>
219247 startQty
220248 }
221249 let newAmount = (preIcoQty - amount)
222250 if ((0 > amount))
223251 then throw("Can't withdraw negative amount")
224252 else if ((0 > newAmount))
225253 then throw("Not enought /insuficiente balance")
226254 else ScriptResult(WriteSet([DataEntry(item, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, bBitCO2)]))
227255 }
228256
229257
230258 @Verifier(tx)
231259 func verify () = match tx {
232260 case t: SetScriptTransaction =>
233261 sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey)
234262 case d: ReissueTransaction|DataTransaction =>
235263 true
236264 case c: InvokeScriptTransaction =>
237265 true
238266 case tx: TransferTransaction =>
239267 let recipient = toBase58String(addressFromRecipient(tx.recipient).bytes)
240268 if ((tx.sender == issuer))
241269 then true
242270 else throw("You can't transferred this token")
243271 case _ =>
244272 false
245273 }
246274

github/deemru/w8io/873ac7e 
37.02 ms