tx · 4sd5iUvjK6FfLF2WUmph6D1RoWjZSePi62B6jd9xk2hb 3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A: -1.00000000 Waves 2020.05.19 13:25 [1005001] smart asset 3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A > SELF 0.00000000 AaInvest
{ "type": 15, "id": "4sd5iUvjK6FfLF2WUmph6D1RoWjZSePi62B6jd9xk2hb", "fee": 100000000, "feeAssetId": null, "timestamp": 1589883993933, "version": 1, "sender": "3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A", "senderPublicKey": "XEq35ULBodv18SNkqgUiHzfZN3FuJsGLmGBnR79Yi5P", "proofs": [ "3gL6TpWJ9gMaPUjhV6snUqbLfNGnUsREbVxyTEuojPPh9vgUAravxpViPUfwXrPyAsi5sWsPr3HBB1NfjZ8BuUEk" ], "assetId": "Ac99zMcpmE7W78ygoc4j9iG1rC1cYPn6HNQeGETeBeZb", "script": "base64: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", "chainId": 84, "height": 1005001, "spentComplexity": 0 } View: original | compacted Prev: 2xh4ygnFduEWxHwQP79Ht3ewMhL9wnyCrZw7UmwhJJDQ Next: eQUVbPmCRa1ij7ZUrPNbkRtt7rM7xMnSELxGgadyC9F Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | let dAppAddress = addressFromString("3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A") | |
4 | 4 | let adminPK = base58'XEq35ULBodv18SNkqgUiHzfZN3FuJsGLmGBnR79Yi5P' | |
5 | 5 | let sellAmount = (100 * 100000000) | |
6 | - | let sellPrice = (100000000 | |
7 | - | let buyPrice = (90000000 | |
6 | + | let sellPrice = (100000000 / 100000000) | |
7 | + | let buyPrice = (90000000 / 100000000) | |
8 | 8 | match tx { | |
9 | 9 | case tx: BurnTransaction => | |
10 | 10 | (tx.sender == dAppAddress) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let dAppAddress = addressFromString("3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A") | |
4 | 4 | let adminPK = base58'XEq35ULBodv18SNkqgUiHzfZN3FuJsGLmGBnR79Yi5P' | |
5 | 5 | let sellAmount = (100 * 100000000) | |
6 | - | let sellPrice = (100000000 | |
7 | - | let buyPrice = (90000000 | |
6 | + | let sellPrice = (100000000 / 100000000) | |
7 | + | let buyPrice = (90000000 / 100000000) | |
8 | 8 | match tx { | |
9 | 9 | case tx: BurnTransaction => | |
10 | 10 | (tx.sender == dAppAddress) | |
11 | 11 | case tx: ReissueTransaction => | |
12 | 12 | (tx.sender == dAppAddress) | |
13 | 13 | case tx: SetAssetScriptTransaction => | |
14 | 14 | (tx.sender == dAppAddress) | |
15 | 15 | case tx: MassTransferTransaction => | |
16 | 16 | (tx.sender == dAppAddress) | |
17 | 17 | case tx: TransferTransaction => | |
18 | 18 | (tx.sender == dAppAddress) | |
19 | 19 | case e: ExchangeTransaction => | |
20 | 20 | let sender = e.sellOrder.sender | |
21 | 21 | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) | |
22 | 22 | let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey) | |
23 | 23 | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) | |
24 | 24 | if (admin) | |
25 | 25 | then true | |
26 | 26 | else if (isDefined(e.sellOrder.assetPair.priceAsset)) | |
27 | 27 | then throw("Only waves accepted") | |
28 | 28 | else if (sell) | |
29 | 29 | then if ((sellAmount > e.sellOrder.amount)) | |
30 | 30 | then throw(((((("-= Sales must be greater than or equal to " + toString(sellAmount)) + " CloMinTok =-") + " -= Объем продажи должен быть больше или равно ") + toString(sellAmount)) + " CloMinTok =-")) | |
31 | 31 | else if ((sellPrice == e.sellOrder.price)) | |
32 | 32 | then throw(((((("-= Selling price should be higher " + toString(sellPrice)) + " Wavelets =-") + " -= Цена продажи должна быть больше ") + toString(sellPrice)) + " Wavelets =-")) | |
33 | 33 | else true | |
34 | 34 | else if (buy) | |
35 | 35 | then if ((buyPrice == e.sellOrder.price)) | |
36 | 36 | then throw(((((("-= Purchase price must be higher " + toString(buyPrice)) + " Wavelets =-") + " -= Цена покупки должна быть больше ") + toString(buyPrice)) + " Wavelets =-")) | |
37 | 37 | else true | |
38 | 38 | else throw("something bad happened") | |
39 | 39 | case _ => | |
40 | 40 | false | |
41 | 41 | } |
github/deemru/w8io/169f3d6 41.12 ms ◑