2019.11.13 17:39 [1793678] smart asset 3P83y9e1SGGkP1KtEbwxxGZNonDUQyFsCDB > SELF 0.00000000 Luxtrade
{
"type": 15,
"id": "HCqpZbK269iq8SVXzB5t4EyV3TWhDGPM5yp5jKKktsGu",
"fee": 100000000,
"feeAssetId": null,
"timestamp": 1573656007664,
"version": 1,
"sender": "3P83y9e1SGGkP1KtEbwxxGZNonDUQyFsCDB",
"senderPublicKey": "H6VuQaSE9KHAPpdb8721SpVDGiBrmHZ79JuevJfFkh8Z",
"proofs": [
"5QVi3ETR3HQj1Sx2BjitPegQ6TYCFVXcSZkGrwHD1yLtjJrSNbCJGXy4WSdUMD9WJasyvYsz4ZBdDRsQoy2S34MD"
],
"assetId": "34oUTgXAqoLCKX5hq3xhPvK6gdMH4mCCDQKyTk9939h4",
"script": "base64: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",
"chainId": 87,
"height": 1793678,
"spentComplexity": 0
}
View: original | compacted
Prev: khmEy52fBXwd4888jNLgdKUdmHqYexSs3xVbRisUzt9
Next: ELk7Tb4SgFBAuKduRXUZqKC6Jwbd3NLv277yggdg5447
Diff:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 2 #-} |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let heightDiff = 1166 |
---|
4 | | - | let priceDiffConst = 10000000 |
---|
| 4 | + | let priceDiffConst = 1000000 |
---|
5 | 5 | | let expirationHours = 24 |
---|
6 | 6 | | let maxExpiration = (((expirationHours * 60) * 60) * 1000) |
---|
7 | 7 | | let startHeight = 1666961 |
---|
|
11 | 11 | | let minBuyPrice = (startBuyPrice + priceDiff) |
---|
12 | 12 | | let startSellPrice = 50000000 |
---|
13 | 13 | | let minSellPrice = (startSellPrice + priceDiff) |
---|
14 | | - | let expirationError = "Order life must be <= 24 hours, also trade at www.luxtrade.online" |
---|
15 | | - | let buyPriceError = (((("Buy price must be <= " + toString(minBuyPrice)) + " wavelets in Cycle # ") + toString(cycles)) + ". also trade at www.luxtrade.online") |
---|
16 | | - | let sellPriceError = (((("Sell price must be >= " + toString(minSellPrice)) + " wavelets in Cycle # ") + toString(cycles)) + ". also trade at www.luxtrade.online") |
---|
| 14 | + | let expirationError = "Order life must be <= 24 hours, also trade at www.Luxtrade.online" |
---|
| 15 | + | let buyPriceError = (((("Buy price must be <= " + toString(minBuyPrice)) + " wavelets in Cycle # ") + toString(cycles)) + ". also trade at www.Luxtrade.online") |
---|
| 16 | + | let sellPriceError = (((("Sell price must be >= " + toString(minSellPrice)) + " wavelets in Cycle # ") + toString(cycles)) + ". also trade at www.Luxtrade.online") |
---|
17 | 17 | | match tx { |
---|
18 | 18 | | case e: ExchangeTransaction => |
---|
19 | 19 | | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 2 #-} |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let heightDiff = 1166 |
---|
4 | | - | let priceDiffConst = 10000000 |
---|
| 4 | + | let priceDiffConst = 1000000 |
---|
5 | 5 | | let expirationHours = 24 |
---|
6 | 6 | | let maxExpiration = (((expirationHours * 60) * 60) * 1000) |
---|
7 | 7 | | let startHeight = 1666961 |
---|
8 | 8 | | let cycles = ((height - startHeight) / heightDiff) |
---|
9 | 9 | | let priceDiff = (priceDiffConst * cycles) |
---|
10 | 10 | | let startBuyPrice = 50000000 |
---|
11 | 11 | | let minBuyPrice = (startBuyPrice + priceDiff) |
---|
12 | 12 | | let startSellPrice = 50000000 |
---|
13 | 13 | | let minSellPrice = (startSellPrice + priceDiff) |
---|
14 | | - | let expirationError = "Order life must be <= 24 hours, also trade at www.luxtrade.online" |
---|
15 | | - | let buyPriceError = (((("Buy price must be <= " + toString(minBuyPrice)) + " wavelets in Cycle # ") + toString(cycles)) + ". also trade at www.luxtrade.online") |
---|
16 | | - | let sellPriceError = (((("Sell price must be >= " + toString(minSellPrice)) + " wavelets in Cycle # ") + toString(cycles)) + ". also trade at www.luxtrade.online") |
---|
| 14 | + | let expirationError = "Order life must be <= 24 hours, also trade at www.Luxtrade.online" |
---|
| 15 | + | let buyPriceError = (((("Buy price must be <= " + toString(minBuyPrice)) + " wavelets in Cycle # ") + toString(cycles)) + ". also trade at www.Luxtrade.online") |
---|
| 16 | + | let sellPriceError = (((("Sell price must be >= " + toString(minSellPrice)) + " wavelets in Cycle # ") + toString(cycles)) + ". also trade at www.Luxtrade.online") |
---|
17 | 17 | | match tx { |
---|
18 | 18 | | case e: ExchangeTransaction => |
---|
19 | 19 | | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) |
---|
20 | 20 | | let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey) |
---|
21 | 21 | | if (if (sell) |
---|
22 | 22 | | then buy |
---|
23 | 23 | | else false) |
---|
24 | 24 | | then true |
---|
25 | 25 | | else if (sell) |
---|
26 | 26 | | then if (((e.sellOrder.expiration - e.sellOrder.timestamp) > maxExpiration)) |
---|
27 | 27 | | then throw(expirationError) |
---|
28 | 28 | | else if (if ((minSellPrice > e.sellOrder.price)) |
---|
29 | 29 | | then true |
---|
30 | 30 | | else isDefined(e.sellOrder.assetPair.priceAsset)) |
---|
31 | 31 | | then throw(sellPriceError) |
---|
32 | 32 | | else true |
---|
33 | 33 | | else if (buy) |
---|
34 | 34 | | then if (if ((minBuyPrice > e.buyOrder.price)) |
---|
35 | 35 | | then true |
---|
36 | 36 | | else isDefined(e.buyOrder.assetPair.priceAsset)) |
---|
37 | 37 | | then throw(buyPriceError) |
---|
38 | 38 | | else true |
---|
39 | 39 | | else false |
---|
40 | 40 | | case _: TransferTransaction|BurnTransaction|MassTransferTransaction => |
---|
41 | 41 | | true |
---|
42 | 42 | | case _ => |
---|
43 | 43 | | true |
---|
44 | 44 | | } |
---|