tx · 8CDzaLU9CxbooxYVxMdoxWaMKEXqSHzdc5fdPPSJ6qu5
3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar: -1.00000000 Waves
2020.05.27 16:06 [1016837] smart asset 3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar > SELF 0.00000000 MOITOKEN
{
"type": 15,
"id": "8CDzaLU9CxbooxYVxMdoxWaMKEXqSHzdc5fdPPSJ6qu5",
"fee": 100000000,
"feeAssetId": null,
"timestamp": 1590584784025,
"version": 1,
"sender": "3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar",
"senderPublicKey": "BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS",
"proofs": [
"2BhN9d9GsJts1SUsnf25zgLeeiKX9qF4Pr6erDfMM1A97EZefQPCasTdY5HKifZexqgWL1uUkFJzyKzuFpQ5M2wc"
],
"assetId": "3tqknScoCegnWpFYGvYGiUM68iWC1Fw9KPgHdYgi8ZWc",
"script": "base64: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",
"chainId": 84,
"height": 1016837,
"spentComplexity": 0
}
View: original | compacted
Prev: 6baqspcCiBkeAZw97PQhN3dALpEfcz979Kg6pPfQVctD
Next: AwrbsmENbva4WCUyZYUAH6CXi7p5idnQg5avPRWVDUGn
Diff:
Old | New | | Differences |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let dAppAddress = addressFromString("3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar") |
---|
4 | 4 | | let adminPK = base58'BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS' |
---|
5 | | - | let BTCId = base58'3afJDTZVMvCdLB3rd1PEY6M7icZj1VkvwBiprVRbfD3a' |
---|
6 | | - | let sellPrice = 105000000 |
---|
7 | | - | let buyPrice = 95000000 |
---|
| 5 | + | let startHeight = 1016000 |
---|
| 6 | + | let intervalHeight = 1500 |
---|
| 7 | + | let intervalPrice = 1000 |
---|
| 8 | + | let startPrice = 1000 |
---|
| 9 | + | let days = ((height - startHeight) / intervalHeight) |
---|
| 10 | + | let sum = (startPrice + (intervalPrice * days)) |
---|
| 11 | + | let sellPrice = (sum * 100000000) |
---|
| 12 | + | let buyPrice = ((sum - 500) * 100000000) |
---|
| 13 | + | let sellPricee = (sellPrice / 100000000) |
---|
| 14 | + | let buyPricee = (buyPrice / 100000000) |
---|
8 | 15 | | match tx { |
---|
9 | | - | case tx: BurnTransaction|SetAssetScriptTransaction|ReissueTransaction => |
---|
| 16 | + | case tx: BurnTransaction => |
---|
| 17 | + | true |
---|
| 18 | + | case tx: ReissueTransaction => |
---|
10 | 19 | | (tx.sender == dAppAddress) |
---|
11 | | - | case tx: TransferTransaction|MassTransferTransaction => |
---|
| 20 | + | case tx: SetAssetScriptTransaction => |
---|
| 21 | + | (tx.sender == dAppAddress) |
---|
| 22 | + | case tx: MassTransferTransaction => |
---|
| 23 | + | true |
---|
| 24 | + | case tx: TransferTransaction => |
---|
12 | 25 | | true |
---|
13 | 26 | | case e: ExchangeTransaction => |
---|
| 27 | + | let sender = e.sellOrder.sender |
---|
14 | 28 | | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) |
---|
15 | 29 | | let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey) |
---|
16 | 30 | | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) |
---|
17 | 31 | | if (admin) |
---|
18 | 32 | | then true |
---|
19 | | - | else if ((e.sellOrder.assetPair.priceAsset != BTCId)) |
---|
20 | | - | then throw("UNREAL is being traded in a pair: UNREAL/BTC. Details in the telegram channel @UNREAL_WAVES") |
---|
| 33 | + | else if (isDefined(e.sellOrder.assetPair.priceAsset)) |
---|
| 34 | + | then throw("Only Waves accepted") |
---|
21 | 35 | | else if (sell) |
---|
22 | | - | then if (if ((e.sellOrder.price > sellPrice)) |
---|
23 | | - | then true |
---|
24 | | - | else (buyPrice > e.sellOrder.price)) |
---|
25 | | - | then throw("Trading range 0.95 - 1.05 BTC. Do not write off the sale, in the future tokens will be added for trading in tandem with UNREAL. Details in the telegram channel @UNREAL_WAVES") |
---|
26 | | - | else true |
---|
| 36 | + | then if ((sellPrice >= e.sellOrder.price)) |
---|
| 37 | + | then throw((("-= Selling price should be higher " + toString(sellPricee)) + " Wavelets ")) |
---|
| 38 | + | else if (((e.sellOrder.expiration - e.sellOrder.timestamp) >= 6000000)) |
---|
| 39 | + | then throw("-= The term of the order should not exceed 1 hour") |
---|
| 40 | + | else true |
---|
27 | 41 | | else if (buy) |
---|
28 | | - | then if ((buyPrice > e.sellOrder.price)) |
---|
29 | | - | then throw("The trading range is 0.95 - 1.05 BTC, where 0.95 is the minimum purchase price, while selling at the price of 0.5 BTC, you also need to set the price to 0.95 BTC, otherwise the order will not work. Details in the telegram channel @UNREAL_WAVES") |
---|
| 42 | + | then if ((buyPrice >= e.sellOrder.price)) |
---|
| 43 | + | then throw((("-= Purchase price must be higher " + toString(buyPricee)) + " Wavelets ")) |
---|
30 | 44 | | else true |
---|
31 | 45 | | else throw("Something bad happened") |
---|
32 | 46 | | case _ => |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 1 #-} |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let dAppAddress = addressFromString("3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar") |
---|
4 | 4 | | let adminPK = base58'BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS' |
---|
5 | | - | let BTCId = base58'3afJDTZVMvCdLB3rd1PEY6M7icZj1VkvwBiprVRbfD3a' |
---|
6 | | - | let sellPrice = 105000000 |
---|
7 | | - | let buyPrice = 95000000 |
---|
| 5 | + | let startHeight = 1016000 |
---|
| 6 | + | let intervalHeight = 1500 |
---|
| 7 | + | let intervalPrice = 1000 |
---|
| 8 | + | let startPrice = 1000 |
---|
| 9 | + | let days = ((height - startHeight) / intervalHeight) |
---|
| 10 | + | let sum = (startPrice + (intervalPrice * days)) |
---|
| 11 | + | let sellPrice = (sum * 100000000) |
---|
| 12 | + | let buyPrice = ((sum - 500) * 100000000) |
---|
| 13 | + | let sellPricee = (sellPrice / 100000000) |
---|
| 14 | + | let buyPricee = (buyPrice / 100000000) |
---|
8 | 15 | | match tx { |
---|
9 | | - | case tx: BurnTransaction|SetAssetScriptTransaction|ReissueTransaction => |
---|
| 16 | + | case tx: BurnTransaction => |
---|
| 17 | + | true |
---|
| 18 | + | case tx: ReissueTransaction => |
---|
10 | 19 | | (tx.sender == dAppAddress) |
---|
11 | | - | case tx: TransferTransaction|MassTransferTransaction => |
---|
| 20 | + | case tx: SetAssetScriptTransaction => |
---|
| 21 | + | (tx.sender == dAppAddress) |
---|
| 22 | + | case tx: MassTransferTransaction => |
---|
| 23 | + | true |
---|
| 24 | + | case tx: TransferTransaction => |
---|
12 | 25 | | true |
---|
13 | 26 | | case e: ExchangeTransaction => |
---|
| 27 | + | let sender = e.sellOrder.sender |
---|
14 | 28 | | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) |
---|
15 | 29 | | let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey) |
---|
16 | 30 | | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) |
---|
17 | 31 | | if (admin) |
---|
18 | 32 | | then true |
---|
19 | | - | else if ((e.sellOrder.assetPair.priceAsset != BTCId)) |
---|
20 | | - | then throw("UNREAL is being traded in a pair: UNREAL/BTC. Details in the telegram channel @UNREAL_WAVES") |
---|
| 33 | + | else if (isDefined(e.sellOrder.assetPair.priceAsset)) |
---|
| 34 | + | then throw("Only Waves accepted") |
---|
21 | 35 | | else if (sell) |
---|
22 | | - | then if (if ((e.sellOrder.price > sellPrice)) |
---|
23 | | - | then true |
---|
24 | | - | else (buyPrice > e.sellOrder.price)) |
---|
25 | | - | then throw("Trading range 0.95 - 1.05 BTC. Do not write off the sale, in the future tokens will be added for trading in tandem with UNREAL. Details in the telegram channel @UNREAL_WAVES") |
---|
26 | | - | else true |
---|
| 36 | + | then if ((sellPrice >= e.sellOrder.price)) |
---|
| 37 | + | then throw((("-= Selling price should be higher " + toString(sellPricee)) + " Wavelets ")) |
---|
| 38 | + | else if (((e.sellOrder.expiration - e.sellOrder.timestamp) >= 6000000)) |
---|
| 39 | + | then throw("-= The term of the order should not exceed 1 hour") |
---|
| 40 | + | else true |
---|
27 | 41 | | else if (buy) |
---|
28 | | - | then if ((buyPrice > e.sellOrder.price)) |
---|
29 | | - | then throw("The trading range is 0.95 - 1.05 BTC, where 0.95 is the minimum purchase price, while selling at the price of 0.5 BTC, you also need to set the price to 0.95 BTC, otherwise the order will not work. Details in the telegram channel @UNREAL_WAVES") |
---|
| 42 | + | then if ((buyPrice >= e.sellOrder.price)) |
---|
| 43 | + | then throw((("-= Purchase price must be higher " + toString(buyPricee)) + " Wavelets ")) |
---|
30 | 44 | | else true |
---|
31 | 45 | | else throw("Something bad happened") |
---|
32 | 46 | | case _ => |
---|
33 | 47 | | false |
---|
34 | 48 | | } |
---|