tx · CoHnKrvaU8azhfWCxdEMuNDEbjkVH1ohSkY16oNpRNxz

3N6DYmMz5Bj7ipn1Ce3RBRG81vLKjjErjB5:  -0.04000000 Waves

2020.08.11 05:06 [1127234] smart account 3N6DYmMz5Bj7ipn1Ce3RBRG81vLKjjErjB5 > SELF 0.00000000 Waves

{ "type": 13, "id": "CoHnKrvaU8azhfWCxdEMuNDEbjkVH1ohSkY16oNpRNxz", "fee": 4000000, "feeAssetId": null, "timestamp": 1597111604649, "version": 1, "sender": "3N6DYmMz5Bj7ipn1Ce3RBRG81vLKjjErjB5", "senderPublicKey": "CH6NGp8BFPQ8gm6cPeVG9S3ZWp7m39eQnZU3eTdZgayU", "proofs": [ "ZZUSTES7VMavcbWFkTbgDnrckb7MXvgsuknc6PANW8c272DYYsVdFWyPKo7wbT29dfJGLyZRkXpQgd9HUpTBKKX" ], "script": "base64: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", "chainId": 84, "height": 1127234, "spentComplexity": 0 } View: original | compacted Prev: 85t5xtJke3ki3JHQHUq7SoWaELnzmizKgjtbXTMc8khL Next: 5J1JqaLYjBhVVWPMmD5E7eZm74iSp4RfcePtnhaShvku Diff:
OldNewDifferences
159159 verifier(usersAddr)
160160 case s: SetScriptTransaction =>
161161 verifier(usersAddr)
162+ case o: Order =>
163+ let buyPairs = o.assetPair
164+ let sellPairs = o.assetPair
165+ if (isDefined(buyPairs))
166+ then throw(((("Order buyPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
167+ else if (isDefined(sellPairs))
168+ then throw(((("Order sellPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
169+ else throw("nenhum par identificado Order")
162170 case e: ExchangeTransaction =>
163171 let buyPairs = e.buyOrder.assetPair
164172 let sellPairs = e.sellOrder.assetPair
165173 if (isDefined(buyPairs))
166- then throw(((("buyPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
174+ then throw(((("Exchange buyPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
167175 else if (isDefined(sellPairs))
168- then throw(((("sellPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
169- else throw("nenhum par identificado")
176+ then throw(((("Exchange sellPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
177+ else throw("nenhum par identificado Exchange")
170178 case l: LeaseTransaction =>
171179 allowedAddrSponsoredFee(addressFromRecipient(l.recipient))
172180 case c: LeaseCancelTransaction =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let NONE = "none"
44 let usersPubKey = base58'CH6NGp8BFPQ8gm6cPeVG9S3ZWp7m39eQnZU3eTdZgayU'
55 let usersAddr = addressFromPublicKey(usersPubKey)
66 let btns = base58'EGh2LufqeTEdihgaDz6iZosJtsyY98sqkHX2WP8Csnw4'
77 let btnf = base58'7xAHFCPLRSa7XfNNbnd9DMPd9SkgpNfrptFvE4pJE7J'
88 func verifier (account) = if ((account == this))
99 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
1010 else sigVerify(tx.bodyBytes, tx.proofs[0], usersPubKey)
1111
1212 func getStrVar (key) = {
1313 let str = match key {
1414 case s: String =>
1515 s
1616 case b: Boolean =>
1717 toString(b)
1818 case i: Int =>
1919 toString(i)
2020 case bv: ByteVector =>
2121 toBase58String(bv)
2222 case ap: AssetPair =>
2323 ((toBase58String(extract(ap.amountAsset)) + ",") + toBase58String(extract(ap.priceAsset)))
2424 case u: Unit =>
2525 "empty"
2626 case _ =>
2727 NONE
2828 }
2929 str
3030 }
3131
3232 func containAddr (a,b) = {
3333 let addr = toString(addressFromPublicKey(fromBase58String(b)))
3434 if ((addr == a))
3535 then true
3636 else if (if ((a == true))
3737 then (addr != a)
3838 else false)
3939 then true
4040 else a
4141 }
4242
4343 func containTokenId (a,b) = if ((b == a))
4444 then true
4545 else if (if ((a == true))
4646 then (b != a)
4747 else false)
4848 then true
4949 else a
5050
5151 func allowedTransferTokens (assetId) = {
5252 let tokensIdList = split(getStringValue(addressFromPublicKey(usersPubKey), "allowedTransfers"), ",")
5353 let contain = {
5454 let $list14601531 = tokensIdList
5555 let $size14601531 = size($list14601531)
5656 let $acc014601531 = toBase58String(extract(assetId))
5757 if (($size14601531 == 0))
5858 then $acc014601531
5959 else {
6060 let $acc114601531 = containTokenId($acc014601531, $list14601531[0])
6161 if (($size14601531 == 1))
6262 then $acc114601531
6363 else {
6464 let $acc214601531 = containTokenId($acc114601531, $list14601531[1])
6565 if (($size14601531 == 2))
6666 then $acc214601531
6767 else {
6868 let $acc314601531 = containTokenId($acc214601531, $list14601531[2])
6969 if (($size14601531 == 3))
7070 then $acc314601531
7171 else {
7272 let $acc414601531 = containTokenId($acc314601531, $list14601531[3])
7373 if (($size14601531 == 4))
7474 then $acc414601531
7575 else {
7676 let $acc514601531 = containTokenId($acc414601531, $list14601531[4])
7777 if (($size14601531 == 5))
7878 then $acc514601531
7979 else {
8080 let $acc614601531 = containTokenId($acc514601531, $list14601531[5])
8181 throw("List size exceed 5")
8282 }
8383 }
8484 }
8585 }
8686 }
8787 }
8888 }
8989 if (!(isDefined(assetId)))
9090 then throw("Waves Identificado")
9191 else if (if (isDefined(assetId))
9292 then (contain == true)
9393 else false)
9494 then true
9595 else if (if (isDefined(assetId))
9696 then (contain != true)
9797 else false)
9898 then throw((("This token ID " + getStrVar(contain)) + " is not allowed to operate in this account"))
9999 else verifier(usersAddr)
100100 }
101101
102102 func allowedAddrSponsoredFee (addr) = {
103103 let addrsList = split(getStringValue(addressFromPublicKey(usersPubKey), "allowedSponsorFee"), ",")
104104 let contain = {
105105 let $list19892036 = addrsList
106106 let $size19892036 = size($list19892036)
107107 let $acc019892036 = toString(addr)
108108 if (($size19892036 == 0))
109109 then $acc019892036
110110 else {
111111 let $acc119892036 = containAddr($acc019892036, $list19892036[0])
112112 if (($size19892036 == 1))
113113 then $acc119892036
114114 else {
115115 let $acc219892036 = containAddr($acc119892036, $list19892036[1])
116116 if (($size19892036 == 2))
117117 then $acc219892036
118118 else {
119119 let $acc319892036 = containAddr($acc219892036, $list19892036[2])
120120 if (($size19892036 == 3))
121121 then $acc319892036
122122 else {
123123 let $acc419892036 = containAddr($acc319892036, $list19892036[3])
124124 if (($size19892036 == 4))
125125 then $acc419892036
126126 else {
127127 let $acc519892036 = containAddr($acc419892036, $list19892036[4])
128128 if (($size19892036 == 5))
129129 then $acc519892036
130130 else {
131131 let $acc619892036 = containAddr($acc519892036, $list19892036[5])
132132 throw("List size exceed 5")
133133 }
134134 }
135135 }
136136 }
137137 }
138138 }
139139 }
140140 if ((contain != true))
141141 then throw((("This address " + getStrVar(contain)) + " is not allowed to operate with the BitNodes sponsored token"))
142142 else verifier(this)
143143 }
144144
145145 match tx {
146146 case t: TransferTransaction =>
147147 if (if ((t.assetId != btnf))
148148 then (t.feeAssetId != btnf)
149149 else false)
150150 then allowedTransferTokens(t.assetId)
151151 else if (if ((t.assetId == btnf))
152152 then true
153153 else (t.feeAssetId == btnf))
154154 then allowedAddrSponsoredFee(addressFromRecipient(t.recipient))
155155 else throw("Operação não autorizada para contas centralizadas na Plataforma BitNodes")
156156 case b: BurnTransaction =>
157157 verifier(usersAddr)
158158 case d: DataTransaction =>
159159 verifier(usersAddr)
160160 case s: SetScriptTransaction =>
161161 verifier(usersAddr)
162+ case o: Order =>
163+ let buyPairs = o.assetPair
164+ let sellPairs = o.assetPair
165+ if (isDefined(buyPairs))
166+ then throw(((("Order buyPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
167+ else if (isDefined(sellPairs))
168+ then throw(((("Order sellPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
169+ else throw("nenhum par identificado Order")
162170 case e: ExchangeTransaction =>
163171 let buyPairs = e.buyOrder.assetPair
164172 let sellPairs = e.sellOrder.assetPair
165173 if (isDefined(buyPairs))
166- then throw(((("buyPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
174+ then throw(((("Exchange buyPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
167175 else if (isDefined(sellPairs))
168- then throw(((("sellPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
169- else throw("nenhum par identificado")
176+ then throw(((("Exchange sellPair defined as amount: " + toBase58String(extract(buyPairs.amountAsset))) + "and price: ") + toBase58String(extract(buyPairs.priceAsset))))
177+ else throw("nenhum par identificado Exchange")
170178 case l: LeaseTransaction =>
171179 allowedAddrSponsoredFee(addressFromRecipient(l.recipient))
172180 case c: LeaseCancelTransaction =>
173181 verifier(this)
174182 case _ =>
175183 false
176184 }

github/deemru/w8io/3ef1775 
40.64 ms