tx · DGYfAtRE1ppnPF6gXW6PhkrCan2UqnJR2uJTxUbPpzJo

3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF:  -1.00000000 Waves

2020.04.23 10:03 [966793] smart asset 3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF > SELF 0 Goldmine6

{ "type": 15, "id": "DGYfAtRE1ppnPF6gXW6PhkrCan2UqnJR2uJTxUbPpzJo", "fee": 100000000, "feeAssetId": null, "timestamp": 1587625523566, "version": 1, "sender": "3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF", "senderPublicKey": "B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk", "proofs": [ "31o8KeTuNyH8muozj1rYxMbp7WQLyAGrQfxVp4brHuxigLyLdj9Jiv6jX7U1655rxFDkN5c8CMgXdSqHoVGeieYw" ], "assetId": "7xFACXkXqa1tXkHN5vAW5rQeWPXXK4PvzEEBwMAQJGnW", "script": "base64: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", "chainId": 84, "height": 966793, "spentComplexity": 0 } View: original | compacted Prev: 7PNJWqhucCYUzNwSY4BRdMwzFWoPWerrEZmp4eYmE4dU Next: 4w4RTMskWVvnFmzvH8CasNoEMMVMkZenGjKzYLQ59sAt Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let dAppAddress = addressFromString("3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF")
4+let adminPK = base58'B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk'
5+let sellAmount = 10000000
6+let sellPrice = 100000000
7+let buyPrice = 99999999
48 match tx {
59 case tx: BurnTransaction =>
610 (tx.sender == dAppAddress)
1216 (tx.sender == dAppAddress)
1317 case tx: TransferTransaction =>
1418 (tx.sender == dAppAddress)
19+ case e: ExchangeTransaction =>
20+ let sender = e.sellOrder.sender
21+ let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
22+ let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
23+ let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK))
24+ if (admin)
25+ then true
26+ else if (isDefined(e.sellOrder.assetPair.priceAsset))
27+ then throw("Only waves accepted")
28+ else if (sell)
29+ then if ((sellAmount > e.sellOrder.amount))
30+ then throw(("Sell amount must be greater or equal to " + toString((sellAmount / 100000000))))
31+ else if ((sellPrice >= e.sellOrder.price))
32+ then throw((("Sell price must be greater than " + toString(sellPrice)) + " wavelets"))
33+ else true
34+ else if (buy)
35+ then if ((buyPrice >= e.sellOrder.price))
36+ then throw((("Buy price must be greater then " + toString(buyPrice)) + " wavelets"))
37+ else true
38+ else throw("something bad happened")
1539 case _ =>
1640 false
1741 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let dAppAddress = addressFromString("3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF")
4+let adminPK = base58'B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk'
5+let sellAmount = 10000000
6+let sellPrice = 100000000
7+let buyPrice = 99999999
48 match tx {
59 case tx: BurnTransaction =>
610 (tx.sender == dAppAddress)
711 case tx: ReissueTransaction =>
812 (tx.sender == dAppAddress)
913 case tx: SetAssetScriptTransaction =>
1014 (tx.sender == dAppAddress)
1115 case tx: MassTransferTransaction =>
1216 (tx.sender == dAppAddress)
1317 case tx: TransferTransaction =>
1418 (tx.sender == dAppAddress)
19+ case e: ExchangeTransaction =>
20+ let sender = e.sellOrder.sender
21+ let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
22+ let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
23+ let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK))
24+ if (admin)
25+ then true
26+ else if (isDefined(e.sellOrder.assetPair.priceAsset))
27+ then throw("Only waves accepted")
28+ else if (sell)
29+ then if ((sellAmount > e.sellOrder.amount))
30+ then throw(("Sell amount must be greater or equal to " + toString((sellAmount / 100000000))))
31+ else if ((sellPrice >= e.sellOrder.price))
32+ then throw((("Sell price must be greater than " + toString(sellPrice)) + " wavelets"))
33+ else true
34+ else if (buy)
35+ then if ((buyPrice >= e.sellOrder.price))
36+ then throw((("Buy price must be greater then " + toString(buyPrice)) + " wavelets"))
37+ else true
38+ else throw("something bad happened")
1539 case _ =>
1640 false
1741 }

github/deemru/w8io/3ef1775 
37.07 ms