tx · 4Mj46fapidiqUFZ7S52B2A9Vqeb9tQgFUSHuU9KJff16

3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A:  -1.00000000 Waves

2020.05.22 20:16 [1009769] smart asset 3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A > SELF 0 AClominNov

{ "type": 15, "id": "4Mj46fapidiqUFZ7S52B2A9Vqeb9tQgFUSHuU9KJff16", "fee": 100000000, "feeAssetId": null, "timestamp": 1590167758069, "version": 1, "sender": "3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A", "senderPublicKey": "XEq35ULBodv18SNkqgUiHzfZN3FuJsGLmGBnR79Yi5P", "proofs": [ "5kJaQUaCsPCUyhKogT828zT4bWD4QGTWKxXm5fAbPhWExmeBZVp4r72BU6QR78X96y3sDmXwtkmbQt2skJC7C5yA" ], "assetId": "BadjxSHjcS6wYbc5A3MBEdzysdaG8WyrYs45W8jYwwS7", "script": "base64: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", "chainId": 84, "height": 1009769, "spentComplexity": 0 } View: original | compacted Prev: none Next: 5LC4Hw3FLtTgUydvVnpFb5ozJWHMk48wbcnY9B5pHaJV Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 1 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let dAppAddress = addressFromString("3N2aoernEfDhEG22hTedZGC4nNsqZSjVJ9A")
4+let adminPK = base58'XEq35ULBodv18SNkqgUiHzfZN3FuJsGLmGBnR79Yi5P'
5+let startHeight = 1000000
6+let intervalHeight = 1500
7+let intervalPrice = 1000
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)
16+match tx {
17+ case tx: BurnTransaction =>
18+ (tx.sender == dAppAddress)
19+ case tx: ReissueTransaction =>
20+ (tx.sender == dAppAddress)
21+ case tx: SetAssetScriptTransaction =>
22+ (tx.sender == dAppAddress)
23+ case tx: MassTransferTransaction =>
24+ (tx.sender == dAppAddress)
25+ case tx: TransferTransaction =>
26+ (tx.sender == dAppAddress)
27+ 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("Ордер должен быть 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")
49+ case _ =>
50+ false
51+}

github/deemru/w8io/873ac7e 
33.79 ms