tx · H3qZSNRBaf9t123p2rauoXWm9R55fXS7G8WrqFKwGSq9

3MsxAJrS5TnsHQMaFdAzfKsq3bcEZVDs1sc:  -1.00000000 Waves

2019.03.24 23:10 [550877] smart asset 3MsxAJrS5TnsHQMaFdAzfKsq3bcEZVDs1sc > SELF 0.00000000 QQQQ

{ "type": 15, "id": "H3qZSNRBaf9t123p2rauoXWm9R55fXS7G8WrqFKwGSq9", "fee": 100000000, "feeAssetId": null, "timestamp": 1553458229185, "version": 1, "sender": "3MsxAJrS5TnsHQMaFdAzfKsq3bcEZVDs1sc", "senderPublicKey": "WHFZL2seDzc4cgHEy5jT7LStt5xpqztVfB58Vxhhi8T", "proofs": [ "2eGWNSEfKGk2ezvfBynqTZFmCBMZmQiUgA4iM4DEjJLfMBbkrAePaFJunwnqSChc2SRQTQyYE1D3N872rnAnvomS" ], "assetId": "FNmdUgxs9XY5Kx2EZ6APsF6SWveEGno1yCGJFHJXxCac", "script": "base64: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", "chainId": 84, "height": 550877, "spentComplexity": 0 } View: original | compacted Prev: CWx6TZ41NF3RSLTvGgbCV9J6UspiCF9Pejy481QZ4DGu Next: CPYuhowiq3sR7byVBstKgP63ac1NMuueR3MejDA6Mzgt Diff:
OldNewDifferences
33 let system = "WHFZL2seDzc4cgHEy5jT7LStt5xpqztVfB58Vxhhi8T"
44 let startPrice = 1000000
55 let deltaPrice = 10000
6-let startHeight = 550777
7-let deltaHeight = 100
6+let startHeight = 550870
7+let deltaHeight = 10
88 let timeOrder = ((60 * 60) * 1000)
99 match tx {
1010 case e: TransferTransaction =>
2828 then true
2929 else false
3030 case e: ExchangeTransaction =>
31- let minimumPrice = (startPrice + (((height - startHeight) / deltaHeight) * deltaPrice))
32- let orderPrice = e.price
33- let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
34- if (buy)
35- then if ((orderPrice >= startPrice))
36- then if (isDefined(e.buyOrder.assetPair.priceAsset))
37- then false
38- else true
39- else {
40- let ia = startPrice
41- throw((("Minimum order price is " + toString(ia)) + " Waves."))
42- }
43- else if ((orderPrice >= minimumPrice))
44- then if (isDefined(e.sellOrder.assetPair.priceAsset))
45- then false
46- else if ((timeOrder >= (e.sellOrder.expiration - e.sellOrder.timestamp)))
47- then true
48- else throw("Maximum order time 1 hour.")
49- else {
50- let ia = minimumPrice
51- throw((("Minimum order price is " + toString(ia)) + " Waves."))
52- }
31+ if ((toBase58String(e.sellOrder.senderPublicKey) == system))
32+ then true
33+ else {
34+ let minimumPrice = (startPrice + (((height - startHeight) / deltaHeight) * deltaPrice))
35+ let orderPrice = (e.price / 1000000)
36+ let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
37+ if (buy)
38+ then if ((orderPrice >= startPrice))
39+ then if (isDefined(e.buyOrder.assetPair.priceAsset))
40+ then false
41+ else true
42+ else {
43+ let ia = (startPrice / 1000000)
44+ let ib = toString((startPrice - (ia * 1000000)))
45+ throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
46+ }
47+ else if ((orderPrice >= minimumPrice))
48+ then if (isDefined(e.sellOrder.assetPair.priceAsset))
49+ then false
50+ else if ((timeOrder >= (e.sellOrder.expiration - e.sellOrder.timestamp)))
51+ then true
52+ else throw("Maximum order time 1 hour.")
53+ else {
54+ let ia = (minimumPrice / 1000000)
55+ let ib = toString((minimumPrice - (ia * 1000000)))
56+ throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
57+ }
58+ }
5359 case _ =>
5460 throw("Prohibited by contract.")
5561 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let system = "WHFZL2seDzc4cgHEy5jT7LStt5xpqztVfB58Vxhhi8T"
44 let startPrice = 1000000
55 let deltaPrice = 10000
6-let startHeight = 550777
7-let deltaHeight = 100
6+let startHeight = 550870
7+let deltaHeight = 10
88 let timeOrder = ((60 * 60) * 1000)
99 match tx {
1010 case e: TransferTransaction =>
1111 if ((toBase58String(e.senderPublicKey) == system))
1212 then true
1313 else false
1414 case e: ReissueTransaction =>
1515 if ((toBase58String(e.senderPublicKey) == system))
1616 then true
1717 else false
1818 case e: BurnTransaction =>
1919 if ((toBase58String(e.senderPublicKey) == system))
2020 then true
2121 else false
2222 case e: MassTransferTransaction =>
2323 if ((toBase58String(e.senderPublicKey) == system))
2424 then true
2525 else false
2626 case e: SetAssetScriptTransaction =>
2727 if ((toBase58String(e.senderPublicKey) == system))
2828 then true
2929 else false
3030 case e: ExchangeTransaction =>
31- let minimumPrice = (startPrice + (((height - startHeight) / deltaHeight) * deltaPrice))
32- let orderPrice = e.price
33- let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
34- if (buy)
35- then if ((orderPrice >= startPrice))
36- then if (isDefined(e.buyOrder.assetPair.priceAsset))
37- then false
38- else true
39- else {
40- let ia = startPrice
41- throw((("Minimum order price is " + toString(ia)) + " Waves."))
42- }
43- else if ((orderPrice >= minimumPrice))
44- then if (isDefined(e.sellOrder.assetPair.priceAsset))
45- then false
46- else if ((timeOrder >= (e.sellOrder.expiration - e.sellOrder.timestamp)))
47- then true
48- else throw("Maximum order time 1 hour.")
49- else {
50- let ia = minimumPrice
51- throw((("Minimum order price is " + toString(ia)) + " Waves."))
52- }
31+ if ((toBase58String(e.sellOrder.senderPublicKey) == system))
32+ then true
33+ else {
34+ let minimumPrice = (startPrice + (((height - startHeight) / deltaHeight) * deltaPrice))
35+ let orderPrice = (e.price / 1000000)
36+ let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
37+ if (buy)
38+ then if ((orderPrice >= startPrice))
39+ then if (isDefined(e.buyOrder.assetPair.priceAsset))
40+ then false
41+ else true
42+ else {
43+ let ia = (startPrice / 1000000)
44+ let ib = toString((startPrice - (ia * 1000000)))
45+ throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
46+ }
47+ else if ((orderPrice >= minimumPrice))
48+ then if (isDefined(e.sellOrder.assetPair.priceAsset))
49+ then false
50+ else if ((timeOrder >= (e.sellOrder.expiration - e.sellOrder.timestamp)))
51+ then true
52+ else throw("Maximum order time 1 hour.")
53+ else {
54+ let ia = (minimumPrice / 1000000)
55+ let ib = toString((minimumPrice - (ia * 1000000)))
56+ throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
57+ }
58+ }
5359 case _ =>
5460 throw("Prohibited by contract.")
5561 }

github/deemru/w8io/873ac7e 
22.61 ms