tx · FAag8RirTS74koxxf2b7N5rY8FwNTrHcKNQizp1r5x96

3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar:  -1.00000000 Waves

2020.09.06 13:58 [1165450] smart asset 3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar > SELF 0.00000000 Test200

{ "type": 15, "id": "FAag8RirTS74koxxf2b7N5rY8FwNTrHcKNQizp1r5x96", "fee": 100000000, "feeAssetId": null, "timestamp": 1599389888897, "version": 1, "sender": "3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar", "senderPublicKey": "BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS", "proofs": [ "47dPz3YLeDJzh3WTQ5arH6AaYyAVHWcEDR4oB2ERox68koAS5a2DTFRQ8xdFK3Jg6mqQHVFXvTYn3TNqGcNhMVqt" ], "assetId": "ELifKEtwTDt6TVLYYWJKNoCKuNJxzFTDcR5YC8YBWh2e", "script": "base64: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", "chainId": 84, "height": 1165450, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 39ET78RrCbZHVHvuU9ytgdbSFxrVXQZwBkJNM6ZyW2pX Next: G91wNTbHLAhYzuLw691vtmYKTVistcPS1SzQVsCM8o6c Diff:
OldNewDifferences
1414 let priceBuyMin = (priceSell - intervalPrice)
1515 let priceBuyMax = (priceSell + intervalPrice)
1616 match tx {
17- case tx: MassTransferTransaction|BurnTransaction|SetAssetScriptTransaction|ReissueTransaction =>
17+ case tx: BurnTransaction|MassTransferTransaction|SetAssetScriptTransaction|ReissueTransaction =>
1818 (tx.sender == dAppAddress)
1919 case t: TransferTransaction =>
20- true
20+ if ((t.feeAssetId != sponsor))
21+ then throw("### To send, use the sponsor token AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### Для отправки используйте спонсорский токен AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ###")
22+ else true
2123 case e: ExchangeTransaction =>
22- if (if ((e.buyOrder.price >= 80000000))
23- then (120000000 >= e.sellOrder.price)
24- else false)
24+ let sender = e.sellOrder.sender
25+ let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
26+ let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
27+ let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK))
28+ if (admin)
2529 then true
26- else throw("0.8 <= order price <= 1.2")
30+ else if (isDefined(e.sellOrder.assetPair.priceAsset))
31+ then throw("Only waves accepted")
32+ else if (sell)
33+ then if ((10 > e.sellOrder.amount))
34+ then throw("Объем продажи должен быть больше или равно")
35+ else if ((priceSell > e.sellOrder.price))
36+ then throw("Цена продажи должна быть больше")
37+ else true
38+ else if (buy)
39+ then if (if ((priceBuyMin > e.sellOrder.price))
40+ then true
41+ else (e.sellOrder.price > priceBuyMax))
42+ then throw((((("Цена покупки должна быть в пределах диапазона " + toString(priceBuyMin)) + " - ") + toString(priceBuyMax)) + " Wavelets"))
43+ else true
44+ else throw("something bad happened")
2745 case _ =>
28- true
46+ false
2947 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let dAppAddress = addressFromString("3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar")
44 let adminPK = base58'BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS'
55 let tim = (lastBlock.timestamp / 1000)
66 let sponsor = base58'5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC'
77 let startTime = 1598979600
88 let startPrice = 100000
99 let intervalTime = 259200
1010 let intervalPrice = 100000
1111 let period = ((tim - startTime) / intervalTime)
1212 let periodEnd = (((period + 1) * intervalTime) + startTime)
1313 let priceSell = (startPrice + (intervalPrice * period))
1414 let priceBuyMin = (priceSell - intervalPrice)
1515 let priceBuyMax = (priceSell + intervalPrice)
1616 match tx {
17- case tx: MassTransferTransaction|BurnTransaction|SetAssetScriptTransaction|ReissueTransaction =>
17+ case tx: BurnTransaction|MassTransferTransaction|SetAssetScriptTransaction|ReissueTransaction =>
1818 (tx.sender == dAppAddress)
1919 case t: TransferTransaction =>
20- true
20+ if ((t.feeAssetId != sponsor))
21+ then throw("### To send, use the sponsor token AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### Для отправки используйте спонсорский токен AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ###")
22+ else true
2123 case e: ExchangeTransaction =>
22- if (if ((e.buyOrder.price >= 80000000))
23- then (120000000 >= e.sellOrder.price)
24- else false)
24+ let sender = e.sellOrder.sender
25+ let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
26+ let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
27+ let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK))
28+ if (admin)
2529 then true
26- else throw("0.8 <= order price <= 1.2")
30+ else if (isDefined(e.sellOrder.assetPair.priceAsset))
31+ then throw("Only waves accepted")
32+ else if (sell)
33+ then if ((10 > e.sellOrder.amount))
34+ then throw("Объем продажи должен быть больше или равно")
35+ else if ((priceSell > e.sellOrder.price))
36+ then throw("Цена продажи должна быть больше")
37+ else true
38+ else if (buy)
39+ then if (if ((priceBuyMin > e.sellOrder.price))
40+ then true
41+ else (e.sellOrder.price > priceBuyMax))
42+ then throw((((("Цена покупки должна быть в пределах диапазона " + toString(priceBuyMin)) + " - ") + toString(priceBuyMax)) + " Wavelets"))
43+ else true
44+ else throw("something bad happened")
2745 case _ =>
28- true
46+ false
2947 }

github/deemru/w8io/3ef1775 
33.04 ms