tx · B2foDGhLqdDGMTgdDJCcfXDtNYutKLQMLad7QPWGCzwy 3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF: -1.00000000 Waves 2020.04.23 16:05 [967236] smart asset 3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF > SELF 0 Goldmine6
{ "type": 15, "id": "B2foDGhLqdDGMTgdDJCcfXDtNYutKLQMLad7QPWGCzwy", "fee": 100000000, "feeAssetId": null, "timestamp": 1587647134138, "version": 1, "sender": "3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF", "senderPublicKey": "B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk", "proofs": [ "CELwQrRpAiTvacF2V1X5jSwQTFrqNA8XzrAq6sxrBALwDE7LCkjv8ScWk7yEDGkpvJS3FAeqyRjtCGjkQx49NeY" ], "assetId": "7xFACXkXqa1tXkHN5vAW5rQeWPXXK4PvzEEBwMAQJGnW", "script": "base64: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", "chainId": 84, "height": 967236, "spentComplexity": 0 } View: original | compacted Prev: 8VDmNZVowfe9DFmkEeiXyuq2CDTZ6NGdpvaaDsLtnoTp Next: 6U47GkGKCXbaCyiBuuuUmepwR6hQfWu53pc9kjL7SWPN Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | let dAppAddress = addressFromString("3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF") | |
4 | 4 | let adminPK = base58'B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk' | |
5 | 5 | let startHeight = 967151 | |
6 | - | let intervalHeight = | |
6 | + | let intervalHeight = 500 | |
7 | 7 | let intervalPrice = 1000 | |
8 | 8 | let startPrice = 10000 | |
9 | 9 | let days = ((height - startHeight) / intervalHeight) | |
10 | 10 | let sum = (startPrice + (intervalPrice * days)) | |
11 | - | let sellAmount = | |
11 | + | let sellAmount = 1000 | |
12 | 12 | let sellPrice = (sum * 100000000) | |
13 | - | let buyPrice = ((sum - | |
13 | + | let buyPrice = ((sum - 7000) * 100000000) | |
14 | 14 | let sellPricee = (sellPrice / 100000000) | |
15 | 15 | let buyPricee = (buyPrice / 100000000) | |
16 | 16 | match tx { | |
35 | 35 | then throw("Only waves accepted") | |
36 | 36 | else if (sell) | |
37 | 37 | then if ((sellAmount > e.sellOrder.amount)) | |
38 | - | then throw((("Объем продажи | |
38 | + | then throw((("-= Объем продажи должен быть больше или равно " + toString(sellAmount)) + " CloMinTok =-")) | |
39 | 39 | else if ((sellPrice >= e.sellOrder.price)) | |
40 | - | then throw((("Цена продажи должна быть больше " + toString(sellPricee)) + " Wavelets")) | |
40 | + | then throw((("-= Цена продажи должна быть больше " + toString(sellPricee)) + " Wavelets =-")) | |
41 | 41 | else true | |
42 | 42 | else if (buy) | |
43 | 43 | then if ((buyPrice >= e.sellOrder.price)) | |
44 | - | then throw((("Цена покупки должна быть больше " + toString(buyPricee)) + " Wavelets")) | |
44 | + | then throw((("-= Цена покупки должна быть больше " + toString(buyPricee)) + " Wavelets =-")) | |
45 | 45 | else true | |
46 | 46 | else throw("something bad happened") | |
47 | 47 | case _ => |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let dAppAddress = addressFromString("3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF") | |
4 | 4 | let adminPK = base58'B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk' | |
5 | 5 | let startHeight = 967151 | |
6 | - | let intervalHeight = | |
6 | + | let intervalHeight = 500 | |
7 | 7 | let intervalPrice = 1000 | |
8 | 8 | let startPrice = 10000 | |
9 | 9 | let days = ((height - startHeight) / intervalHeight) | |
10 | 10 | let sum = (startPrice + (intervalPrice * days)) | |
11 | - | let sellAmount = | |
11 | + | let sellAmount = 1000 | |
12 | 12 | let sellPrice = (sum * 100000000) | |
13 | - | let buyPrice = ((sum - | |
13 | + | let buyPrice = ((sum - 7000) * 100000000) | |
14 | 14 | let sellPricee = (sellPrice / 100000000) | |
15 | 15 | let buyPricee = (buyPrice / 100000000) | |
16 | 16 | match tx { | |
17 | 17 | case tx: BurnTransaction => | |
18 | 18 | (tx.sender == dAppAddress) | |
19 | 19 | case tx: ReissueTransaction => | |
20 | 20 | (tx.sender == dAppAddress) | |
21 | 21 | case tx: SetAssetScriptTransaction => | |
22 | 22 | (tx.sender == dAppAddress) | |
23 | 23 | case tx: MassTransferTransaction => | |
24 | 24 | (tx.sender == dAppAddress) | |
25 | 25 | case tx: TransferTransaction => | |
26 | 26 | (tx.sender == dAppAddress) | |
27 | 27 | case e: ExchangeTransaction => | |
28 | 28 | let sender = e.sellOrder.sender | |
29 | 29 | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) | |
30 | 30 | let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey) | |
31 | 31 | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) | |
32 | 32 | if (admin) | |
33 | 33 | then true | |
34 | 34 | else if (isDefined(e.sellOrder.assetPair.priceAsset)) | |
35 | 35 | then throw("Only waves accepted") | |
36 | 36 | else if (sell) | |
37 | 37 | then if ((sellAmount > e.sellOrder.amount)) | |
38 | - | then throw((("Объем продажи | |
38 | + | then throw((("-= Объем продажи должен быть больше или равно " + toString(sellAmount)) + " CloMinTok =-")) | |
39 | 39 | else if ((sellPrice >= e.sellOrder.price)) | |
40 | - | then throw((("Цена продажи должна быть больше " + toString(sellPricee)) + " Wavelets")) | |
40 | + | then throw((("-= Цена продажи должна быть больше " + toString(sellPricee)) + " Wavelets =-")) | |
41 | 41 | else true | |
42 | 42 | else if (buy) | |
43 | 43 | then if ((buyPrice >= e.sellOrder.price)) | |
44 | - | then throw((("Цена покупки должна быть больше " + toString(buyPricee)) + " Wavelets")) | |
44 | + | then throw((("-= Цена покупки должна быть больше " + toString(buyPricee)) + " Wavelets =-")) | |
45 | 45 | else true | |
46 | 46 | else throw("something bad happened") | |
47 | 47 | case _ => | |
48 | 48 | false | |
49 | 49 | } |
github/deemru/w8io/6500d08 35.45 ms ◑