tx · 6rWFYTDvrD4XC5g27fehM8sR6a2rMdsfs7n6s3J6WVas

3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF:  -1.00000000 Waves

2020.04.23 10:43 [966827] smart asset 3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF > SELF 0 Goldmine6

{ "type": 15, "id": "6rWFYTDvrD4XC5g27fehM8sR6a2rMdsfs7n6s3J6WVas", "fee": 100000000, "feeAssetId": null, "timestamp": 1587627800359, "version": 1, "sender": "3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF", "senderPublicKey": "B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk", "proofs": [ "5GiNURRc572Jk4QSZiX67dYFncmsxWLR1fXPFuUSZU9JFKYCyusGHNGAYLavkfozbEZStKLYmiouJTjhSETbYyWU" ], "assetId": "7xFACXkXqa1tXkHN5vAW5rQeWPXXK4PvzEEBwMAQJGnW", "script": "base64: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", "chainId": 84, "height": 966827, "spentComplexity": 0 } View: original | compacted Prev: FXwKYhzrvkaTRfQ7b8MGUV9KUywZxnqxxnL7iSQF6YSc Next: BCSg4688fan4mySQjcTgLydw8LJyDgDMhhUoNXmqXfYV Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let dAppAddress = addressFromString("3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF")
44 let adminPK = base58'B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk'
1717 case tx: TransferTransaction =>
1818 (tx.sender == dAppAddress)
1919 case e: ExchangeTransaction =>
20- if ((e.price >= 1000000000))
21- then if ((10 > e.amount))
22- then throw("Minimum is 10 tokens. Buy/Sell more to enter the game.")
23- else true
24- else throw("Minimum price is 1 Waves")
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")
2539 case _ =>
2640 false
2741 }
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let dAppAddress = addressFromString("3N5EryX3TucbwUpnjryZB3WLg3YDTcC9BbF")
44 let adminPK = base58'B9XyW4GriR4NKr6yyp8ZS5BmRzTXAhBn9jybWtpDhQKk'
55 let sellAmount = 100000000
66 let sellPrice = 10000
77 let buyPrice = 9999
88 match tx {
99 case tx: BurnTransaction =>
1010 (tx.sender == dAppAddress)
1111 case tx: ReissueTransaction =>
1212 (tx.sender == dAppAddress)
1313 case tx: SetAssetScriptTransaction =>
1414 (tx.sender == dAppAddress)
1515 case tx: MassTransferTransaction =>
1616 (tx.sender == dAppAddress)
1717 case tx: TransferTransaction =>
1818 (tx.sender == dAppAddress)
1919 case e: ExchangeTransaction =>
20- if ((e.price >= 1000000000))
21- then if ((10 > e.amount))
22- then throw("Minimum is 10 tokens. Buy/Sell more to enter the game.")
23- else true
24- else throw("Minimum price is 1 Waves")
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")
2539 case _ =>
2640 false
2741 }

github/deemru/w8io/6500d08 
28.75 ms