tx · 3HqRsvwheyUVo339BMrfSiu9bekcnhSxRWAnEC5Dwi8B

3P9c8eRDJFBAXCzah6J2QTJoK7VNBtkSGpd:  -1.00000000 Waves

2019.06.10 19:12 [1565798] smart asset 3P9c8eRDJFBAXCzah6J2QTJoK7VNBtkSGpd > SELF 0.00000000 FullMoon

{ "type": 15, "id": "3HqRsvwheyUVo339BMrfSiu9bekcnhSxRWAnEC5Dwi8B", "fee": 100000000, "feeAssetId": null, "timestamp": 1560183170161, "version": 1, "sender": "3P9c8eRDJFBAXCzah6J2QTJoK7VNBtkSGpd", "senderPublicKey": "5dcFNWcem3VanKMErViDMkr9oEVaNUrsGnYcAqXHnByG", "proofs": [ "2uQQbQtAemwgKPbv3oyu3QeWDEJZhVFC45VuNpp28Vnp9RssztgD9zLbVQNWs7Q4LgrdnpTbJRimdJmxCvVh3xk3" ], "assetId": "9hTBhvaSFB3H8jmsZw2ZHsNuwsLK9wHQTwgE1a3kZ8k7", "script": "base64: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", "chainId": 87, "height": 1565798, "spentComplexity": 0 } View: original | compacted Prev: 5igkXKJ4hfDW8wmnt9YzDibsYFrgZ4Fx1zQTD9Q496ar Next: none Diff:
OldNewDifferences
55 let priceDiffConst = 2
66 let expirationHours = 1
77 let maxExpiration = (((expirationHours * 60) * 60) * 1000)
8-let startHeight = 1517760
8+let startHeight = 1565800
99 let cycles = ((height - startHeight) / heightDiff)
10-let startHeightDown = 1519200
11-let cyclesDown = ((height - startHeightDown) / heightDiff)
1210 let priceDiff = (priceDiffConst * cycles)
13-let priceDiffDown = (priceDiffConst * cyclesDown)
1411 let startBuyPrice = 2
1512 let minBuyPrice = (startBuyPrice + priceDiff)
16-let startBuyPriceDown = 2666
17-let minBuyPriceDown = (startBuyPriceDown - priceDiffDown)
1813 let startSellPrice = 1
1914 let minSellPrice = (startSellPrice + priceDiff)
20-let startSellPriceDown = 3666
21-let minSellPriceDown = (startSellPriceDown - priceDiffDown)
2215 let expirationError = "Order time should be less than 1 hour"
23-let buyPriceError = (("Buy price should be <= " + toString(minBuyPrice)) + " Money Energy Cents in a Rising Moon. Price UP ~1 minute!")
24-let sellPriceError = (("Sell price should be >= " + toString(minSellPrice)) + " Money Energy Cents in a Rising Moon. Price UP ~1 minute!")
25-let buyPriceErrorDown = (("Buy price should be >= " + toString(minBuyPriceDown)) + " Money Energy Cents in a Falling Moon. Price DOWN ~1 minute!")
26-let sellPriceErrorDown = (("Sell price should be <= " + toString(minSellPriceDown)) + " Money Energy Cents in a Falling Moon. Price DOWN ~1 minute!")
16+let buyPriceError = (("Buy price should be <= " + toString(minBuyPrice)) + " pips in a Rising Moon. Price UP ~1 minute!")
17+let sellPriceError = (("Sell price should be >= " + toString(minSellPrice)) + " pips in a Rising Moon. Price UP ~1 minute!")
2718 let transferFeeError = "Use Money Energy token to pay transfer fee!"
2819 let coinBalanceError = "You must hold 100+ Money Energy tokens to be allowed to trade!"
2920 match tx {
4132 then buy
4233 else false)
4334 then true
44- else if (((height % 2880) >= 1440))
45- then if (sell)
46- then if (if ((e.sellOrder.price > minSellPriceDown))
47- then true
48- else (e.sellOrder.assetPair.priceAsset != COINId))
49- then throw(sellPriceErrorDown)
35+ else if (sell)
36+ then if ((minSellPrice > e.sellOrder.price))
37+ then throw(sellPriceError)
38+ else true
39+ else if (buy)
40+ then if ((e.buyOrder.price > minBuyPrice))
41+ then throw(buyPriceError)
5042 else true
51- else if (buy)
52- then if (if ((minBuyPriceDown > e.buyOrder.price))
53- then true
54- else (e.sellOrder.assetPair.priceAsset != COINId))
55- then throw(buyPriceErrorDown)
56- else true
57- else false
58- else if (sell)
59- then if (if ((minSellPrice > e.sellOrder.price))
60- then true
61- else (e.sellOrder.assetPair.priceAsset != COINId))
62- then throw(sellPriceError)
63- else true
64- else if (buy)
65- then if (if ((e.buyOrder.price > minBuyPrice))
66- then true
67- else (e.sellOrder.assetPair.priceAsset != COINId))
68- then throw(buyPriceError)
69- else true
70- else false
43+ else false
7144 }
7245 case t: TransferTransaction =>
7346 if ((t.feeAssetId == base58'6XJAscmejGPTLAdKsg12MynB5rNQzNiZz8Yj81SWeFrj'))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let COINId = base58'6XJAscmejGPTLAdKsg12MynB5rNQzNiZz8Yj81SWeFrj'
44 let heightDiff = 1
55 let priceDiffConst = 2
66 let expirationHours = 1
77 let maxExpiration = (((expirationHours * 60) * 60) * 1000)
8-let startHeight = 1517760
8+let startHeight = 1565800
99 let cycles = ((height - startHeight) / heightDiff)
10-let startHeightDown = 1519200
11-let cyclesDown = ((height - startHeightDown) / heightDiff)
1210 let priceDiff = (priceDiffConst * cycles)
13-let priceDiffDown = (priceDiffConst * cyclesDown)
1411 let startBuyPrice = 2
1512 let minBuyPrice = (startBuyPrice + priceDiff)
16-let startBuyPriceDown = 2666
17-let minBuyPriceDown = (startBuyPriceDown - priceDiffDown)
1813 let startSellPrice = 1
1914 let minSellPrice = (startSellPrice + priceDiff)
20-let startSellPriceDown = 3666
21-let minSellPriceDown = (startSellPriceDown - priceDiffDown)
2215 let expirationError = "Order time should be less than 1 hour"
23-let buyPriceError = (("Buy price should be <= " + toString(minBuyPrice)) + " Money Energy Cents in a Rising Moon. Price UP ~1 minute!")
24-let sellPriceError = (("Sell price should be >= " + toString(minSellPrice)) + " Money Energy Cents in a Rising Moon. Price UP ~1 minute!")
25-let buyPriceErrorDown = (("Buy price should be >= " + toString(minBuyPriceDown)) + " Money Energy Cents in a Falling Moon. Price DOWN ~1 minute!")
26-let sellPriceErrorDown = (("Sell price should be <= " + toString(minSellPriceDown)) + " Money Energy Cents in a Falling Moon. Price DOWN ~1 minute!")
16+let buyPriceError = (("Buy price should be <= " + toString(minBuyPrice)) + " pips in a Rising Moon. Price UP ~1 minute!")
17+let sellPriceError = (("Sell price should be >= " + toString(minSellPrice)) + " pips in a Rising Moon. Price UP ~1 minute!")
2718 let transferFeeError = "Use Money Energy token to pay transfer fee!"
2819 let coinBalanceError = "You must hold 100+ Money Energy tokens to be allowed to trade!"
2920 match tx {
3021 case e: ExchangeTransaction =>
3122 if (if ((10000 > assetBalance(e.sellOrder.sender, COINId)))
3223 then (10000 > assetBalance(e.buyOrder.sender, COINId))
3324 else false)
3425 then throw(coinBalanceError)
3526 else if (((e.sellOrder.expiration - e.sellOrder.timestamp) > maxExpiration))
3627 then throw(expirationError)
3728 else {
3829 let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
3930 let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
4031 if (if (sell)
4132 then buy
4233 else false)
4334 then true
44- else if (((height % 2880) >= 1440))
45- then if (sell)
46- then if (if ((e.sellOrder.price > minSellPriceDown))
47- then true
48- else (e.sellOrder.assetPair.priceAsset != COINId))
49- then throw(sellPriceErrorDown)
35+ else if (sell)
36+ then if ((minSellPrice > e.sellOrder.price))
37+ then throw(sellPriceError)
38+ else true
39+ else if (buy)
40+ then if ((e.buyOrder.price > minBuyPrice))
41+ then throw(buyPriceError)
5042 else true
51- else if (buy)
52- then if (if ((minBuyPriceDown > e.buyOrder.price))
53- then true
54- else (e.sellOrder.assetPair.priceAsset != COINId))
55- then throw(buyPriceErrorDown)
56- else true
57- else false
58- else if (sell)
59- then if (if ((minSellPrice > e.sellOrder.price))
60- then true
61- else (e.sellOrder.assetPair.priceAsset != COINId))
62- then throw(sellPriceError)
63- else true
64- else if (buy)
65- then if (if ((e.buyOrder.price > minBuyPrice))
66- then true
67- else (e.sellOrder.assetPair.priceAsset != COINId))
68- then throw(buyPriceError)
69- else true
70- else false
43+ else false
7144 }
7245 case t: TransferTransaction =>
7346 if ((t.feeAssetId == base58'6XJAscmejGPTLAdKsg12MynB5rNQzNiZz8Yj81SWeFrj'))
7447 then true
7548 else throw(transferFeeError)
7649 case _: MassTransferTransaction|BurnTransaction =>
7750 true
7851 case _ =>
7952 true
8053 }

github/deemru/w8io/3ef1775 
88.90 ms