tx · 7kGXQxRjkzXWZ5Ny6DynP43MsiaZhujNojT2gB9u82YB

3MsxAJrS5TnsHQMaFdAzfKsq3bcEZVDs1sc:  -1.00000000 Waves

2019.03.24 23:29 [550899] smart asset 3MsxAJrS5TnsHQMaFdAzfKsq3bcEZVDs1sc > SELF 0.00000000 QQQQ

{ "type": 15, "id": "7kGXQxRjkzXWZ5Ny6DynP43MsiaZhujNojT2gB9u82YB", "fee": 100000000, "feeAssetId": null, "timestamp": 1553459426234, "version": 1, "sender": "3MsxAJrS5TnsHQMaFdAzfKsq3bcEZVDs1sc", "senderPublicKey": "WHFZL2seDzc4cgHEy5jT7LStt5xpqztVfB58Vxhhi8T", "proofs": [ "xpukHC18vcJ4VVbb6QT2eUutgEWUEDrBJbg9BkcSpgR1PKAzD7s7hSUv41CmuE7ZpiNkNpfudqSZ6JVAra5xFXA" ], "assetId": "FNmdUgxs9XY5Kx2EZ6APsF6SWveEGno1yCGJFHJXxCac", "script": "base64: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", "chainId": 84, "height": 550899, "spentComplexity": 0 } View: original | compacted Prev: DkmADdyZjbujucdGs86Cmo1y3hPMhpVQBfaYf3LDCiKw Next: 5GQDHCWdR65AZ3MN24YnHhLWpsX7LNCMDtiaUyoWC4J9 Diff:
OldNewDifferences
2828 then true
2929 else false
3030 case e: ExchangeTransaction =>
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 / 100000000)
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 / 100000000)
44- let ib = toString((startPrice - (ia * 100000000)))
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 / 100000000)
55- let ib = toString((minimumPrice - (ia * 100000000)))
56- throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
57- }
58- }
31+ let minimumPrice = (startPrice + (((height - startHeight) / deltaHeight) * deltaPrice))
32+ let orderPrice = (e.price / 100000000)
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 / 100000000)
41+ let ib = toString((startPrice - (ia * 100000000)))
42+ throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
43+ }
44+ else if ((orderPrice >= minimumPrice))
45+ then if (isDefined(e.sellOrder.assetPair.priceAsset))
46+ then false
47+ else if ((timeOrder >= (e.sellOrder.expiration - e.sellOrder.timestamp)))
48+ then true
49+ else throw("Maximum order time 1 hour.")
50+ else {
51+ let ia = (minimumPrice / 100000000)
52+ let ib = toString((minimumPrice - (ia * 100000000)))
53+ throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
54+ }
5955 case _ =>
6056 throw("Prohibited by contract.")
6157 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let system = "WHFZL2seDzc4cgHEy5jT7LStt5xpqztVfB58Vxhhi8T"
44 let startPrice = 100000000
55 let deltaPrice = 1000000
66 let startHeight = 550870
77 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- if ((toBase58String(e.sellOrder.senderPublicKey) == system))
32- then true
33- else {
34- let minimumPrice = (startPrice + (((height - startHeight) / deltaHeight) * deltaPrice))
35- let orderPrice = (e.price / 100000000)
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 / 100000000)
44- let ib = toString((startPrice - (ia * 100000000)))
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 / 100000000)
55- let ib = toString((minimumPrice - (ia * 100000000)))
56- throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
57- }
58- }
31+ let minimumPrice = (startPrice + (((height - startHeight) / deltaHeight) * deltaPrice))
32+ let orderPrice = (e.price / 100000000)
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 / 100000000)
41+ let ib = toString((startPrice - (ia * 100000000)))
42+ throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
43+ }
44+ else if ((orderPrice >= minimumPrice))
45+ then if (isDefined(e.sellOrder.assetPair.priceAsset))
46+ then false
47+ else if ((timeOrder >= (e.sellOrder.expiration - e.sellOrder.timestamp)))
48+ then true
49+ else throw("Maximum order time 1 hour.")
50+ else {
51+ let ia = (minimumPrice / 100000000)
52+ let ib = toString((minimumPrice - (ia * 100000000)))
53+ throw((((("Minimum order price is " + toString(ia)) + ".") + take(ib, 2)) + " Waves."))
54+ }
5955 case _ =>
6056 throw("Prohibited by contract.")
6157 }

github/deemru/w8io/169f3d6 
63.47 ms