tx · 59xzJQYptD76WgNrVojff8VAJQsTUvr69HdX2vhb5Gdo

3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A:  -1.00000000 Waves

2020.05.23 20:35 [1011236] smart asset 3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A > SELF 0 AClominNov

{ "type": 15, "id": "59xzJQYptD76WgNrVojff8VAJQsTUvr69HdX2vhb5Gdo", "fee": 100000000, "feeAssetId": null, "timestamp": 1590255316150, "version": 1, "sender": "3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A", "senderPublicKey": "XEq35ULBodv18SNkqgUiHzfZN3FuJsGLmGBnR79Yi5P", "proofs": [ "5LvgTioKZQCS7TMA2wKZ1cuP32bbdmgtHSHyTzQLAapxTgxuWHsJXbZyVGReSpCRxb6MUqBqtEjA4sEus3XPx1XB" ], "assetId": "BadjxSHjcS6wYbc5A3MBEdzysdaG8WyrYs45W8jYwwS7", "script": "base64:AQQAAAALZEFwcEFkZHJlc3MJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNOMmFvZXJuRWZEaEVHMjJoVGVkWkdDNG5Oc3FaU2pWSjlBBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQnVyblRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAkAAAAAAAACCAUAAAACdHgAAAAGc2VuZGVyBQAAAAtkQXBwQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAASUmVpc3N1ZVRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAkAAAAAAAACCAUAAAACdHgAAAAGc2VuZGVyBQAAAAtkQXBwQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAZU2V0QXNzZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAJAAAAAAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAALZEFwcEFkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF01hc3NUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATRXhjaGFuZ2VUcmFuc2FjdGlvbgQAAAABZQUAAAAHJG1hdGNoMAMJAQAAAAlpc0RlZmluZWQAAAABCAgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAkAAAIAAAABAgAAABNPbmx5IHdhdmVzIGFjY2VwdGVkBgdYg8Kd", "chainId": 84, "height": 1011236, "spentComplexity": 0 } View: original | compacted Prev: 5LC4Hw3FLtTgUydvVnpFb5ozJWHMk48wbcnY9B5pHaJV Next: CsbdgktS8gTzoaG4BSEqvFVta11YC1ean8ZaF4MzbRiZ Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let dAppAddress = addressFromString("3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A")
4-let adminPK = base58'XEq35ULBodv18SNkqgUiHzfZN3FuJsGLmGBnR79Yi5P'
5-let startHeight = 1000000
6-let intervalHeight = 1500
7-let intervalPrice = 10000
8-let startPrice = 10000
9-let days = ((height - startHeight) / intervalHeight)
10-let sum = (startPrice + (intervalPrice * days))
11-let sellAmount = 1000
12-let sellPrice = (sum * 100000000)
13-let buyPrice = ((sum - 7000) * 100000000)
14-let sellPricee = (sellPrice / 100000000)
15-let buyPricee = (buyPrice / 100000000)
164 match tx {
175 case tx: BurnTransaction =>
186 (tx.sender == dAppAddress)
219 case tx: SetAssetScriptTransaction =>
2210 (tx.sender == dAppAddress)
2311 case tx: MassTransferTransaction =>
24- (tx.sender == dAppAddress)
12+ true
2513 case tx: TransferTransaction =>
26- (tx.sender == dAppAddress)
14+ true
2715 case e: ExchangeTransaction =>
28- let sender = e.sellOrder.sender
29- let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
30- let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
31- let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK))
32- if (admin)
33- then true
34- else if (isDefined(e.sellOrder.assetPair.priceAsset))
35- then throw("Only waves accepted")
36- else if (sell)
37- then if ((sellAmount > e.sellOrder.amount))
38- then throw(((((("-= Sales must be greater than or equal to " + toString(sellAmount)) + " CloMinTok =-") + " -= Объем продажи должен быть больше или равно ") + toString(sellAmount)) + " CloMinTok =-"))
39- else if ((sellPrice >= e.sellOrder.price))
40- then throw(((((("-= Selling price should be higher " + toString(sellPricee)) + " Wavelets =-") + " -= Цена продажи должна быть больше ") + toString(sellPricee)) + " Wavelets =-"))
41- else if (((e.sellOrder.expiration - e.sellOrder.timestamp) >= 6000000))
42- then throw("-= The term of the order should not exceed 1 hour =- -= Срок ордера не должен превышать 1 час =-")
43- else true
44- else if (buy)
45- then if ((buyPrice >= e.sellOrder.price))
46- then throw(((((("-= Purchase price must be higher " + toString(buyPricee)) + " Wavelets =-") + " -= Цена покупки должна быть больше ") + toString(buyPricee)) + " Wavelets =-"))
47- else true
48- else throw("something bad happened")
16+ if (isDefined(e.sellOrder.assetPair.priceAsset))
17+ then throw("Only waves accepted")
18+ else true
4919 case _ =>
5020 false
5121 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let dAppAddress = addressFromString("3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A")
4-let adminPK = base58'XEq35ULBodv18SNkqgUiHzfZN3FuJsGLmGBnR79Yi5P'
5-let startHeight = 1000000
6-let intervalHeight = 1500
7-let intervalPrice = 10000
8-let startPrice = 10000
9-let days = ((height - startHeight) / intervalHeight)
10-let sum = (startPrice + (intervalPrice * days))
11-let sellAmount = 1000
12-let sellPrice = (sum * 100000000)
13-let buyPrice = ((sum - 7000) * 100000000)
14-let sellPricee = (sellPrice / 100000000)
15-let buyPricee = (buyPrice / 100000000)
164 match tx {
175 case tx: BurnTransaction =>
186 (tx.sender == dAppAddress)
197 case tx: ReissueTransaction =>
208 (tx.sender == dAppAddress)
219 case tx: SetAssetScriptTransaction =>
2210 (tx.sender == dAppAddress)
2311 case tx: MassTransferTransaction =>
24- (tx.sender == dAppAddress)
12+ true
2513 case tx: TransferTransaction =>
26- (tx.sender == dAppAddress)
14+ true
2715 case e: ExchangeTransaction =>
28- let sender = e.sellOrder.sender
29- let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
30- let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
31- let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK))
32- if (admin)
33- then true
34- else if (isDefined(e.sellOrder.assetPair.priceAsset))
35- then throw("Only waves accepted")
36- else if (sell)
37- then if ((sellAmount > e.sellOrder.amount))
38- then throw(((((("-= Sales must be greater than or equal to " + toString(sellAmount)) + " CloMinTok =-") + " -= Объем продажи должен быть больше или равно ") + toString(sellAmount)) + " CloMinTok =-"))
39- else if ((sellPrice >= e.sellOrder.price))
40- then throw(((((("-= Selling price should be higher " + toString(sellPricee)) + " Wavelets =-") + " -= Цена продажи должна быть больше ") + toString(sellPricee)) + " Wavelets =-"))
41- else if (((e.sellOrder.expiration - e.sellOrder.timestamp) >= 6000000))
42- then throw("-= The term of the order should not exceed 1 hour =- -= Срок ордера не должен превышать 1 час =-")
43- else true
44- else if (buy)
45- then if ((buyPrice >= e.sellOrder.price))
46- then throw(((((("-= Purchase price must be higher " + toString(buyPricee)) + " Wavelets =-") + " -= Цена покупки должна быть больше ") + toString(buyPricee)) + " Wavelets =-"))
47- else true
48- else throw("something bad happened")
16+ if (isDefined(e.sellOrder.assetPair.priceAsset))
17+ then throw("Only waves accepted")
18+ else true
4919 case _ =>
5020 false
5121 }

github/deemru/w8io/873ac7e 
19.59 ms