tx · G91wNTbHLAhYzuLw691vtmYKTVistcPS1SzQVsCM8o6c 3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar: -1.00000000 Waves 2020.09.06 14:08 [1165460] smart asset 3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar > SELF 0.00000000 Test200
{ "type": 15, "id": "G91wNTbHLAhYzuLw691vtmYKTVistcPS1SzQVsCM8o6c", "fee": 100000000, "feeAssetId": null, "timestamp": 1599390489659, "version": 1, "sender": "3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar", "senderPublicKey": "BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS", "proofs": [ "517fFSsJtCu94MpuT3LqazLtxBH5SJcjhXFj5WQJPJcgPHFm7FwtYSAvsYbhmcepdzppJ1BYHsD2LE8Guq85txHU" ], "assetId": "ELifKEtwTDt6TVLYYWJKNoCKuNJxzFTDcR5YC8YBWh2e", "script": "base64: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", "chainId": 84, "height": 1165460, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FAag8RirTS74koxxf2b7N5rY8FwNTrHcKNQizp1r5x96 Next: 4ihebJ5NAHXQocoYuVNy9hA4FcnWZPHzKjpLnw1a3pyE Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let dAppAddress = addressFromString("3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar") | |
4 | 4 | let adminPK = base58'BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS' | |
5 | 5 | let tim = (lastBlock.timestamp / 1000) | |
6 | 6 | let sponsor = base58'5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC' | |
7 | 7 | let startTime = 1598979600 | |
8 | 8 | let startPrice = 100000 | |
9 | 9 | let intervalTime = 259200 | |
10 | 10 | let intervalPrice = 100000 | |
11 | 11 | let period = ((tim - startTime) / intervalTime) | |
12 | 12 | let periodEnd = (((period + 1) * intervalTime) + startTime) | |
13 | 13 | let priceSell = (startPrice + (intervalPrice * period)) | |
14 | 14 | let priceBuyMin = (priceSell - intervalPrice) | |
15 | 15 | let priceBuyMax = (priceSell + intervalPrice) | |
16 | 16 | match tx { | |
17 | 17 | case tx: BurnTransaction|MassTransferTransaction|SetAssetScriptTransaction|ReissueTransaction => | |
18 | 18 | (tx.sender == dAppAddress) | |
19 | 19 | case t: TransferTransaction => | |
20 | 20 | if ((t.feeAssetId != sponsor)) | |
21 | 21 | then throw("### To send, use the sponsor token AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### Для отправки используйте спонсорский токен AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ###") | |
22 | 22 | else true | |
23 | 23 | case e: ExchangeTransaction => | |
24 | 24 | let sender = e.sellOrder.sender | |
25 | 25 | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) | |
26 | 26 | let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey) | |
27 | 27 | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) | |
28 | 28 | if (admin) | |
29 | 29 | then true | |
30 | 30 | else if (isDefined(e.sellOrder.assetPair.priceAsset)) | |
31 | 31 | then throw("Only waves accepted") | |
32 | 32 | else if (sell) | |
33 | 33 | then if ((10 > e.sellOrder.amount)) | |
34 | 34 | then throw("Объем продажи должен быть больше или равно") | |
35 | 35 | else if ((priceSell > e.sellOrder.price)) | |
36 | 36 | then throw("Цена продажи должна быть больше") | |
37 | 37 | else true | |
38 | 38 | else if (buy) | |
39 | 39 | then if (if ((priceBuyMin > e.sellOrder.price)) | |
40 | 40 | then true | |
41 | 41 | else (e.sellOrder.price > priceBuyMax)) | |
42 | 42 | then throw((((("Цена покупки должна быть в пределах диапазона " + toString(priceBuyMin)) + " - ") + toString(priceBuyMax)) + " Wavelets")) | |
43 | 43 | else true | |
44 | 44 | else throw("something bad happened") | |
45 | 45 | case _ => | |
46 | 46 | false | |
47 | 47 | } |
github/deemru/w8io/169f3d6 37.02 ms ◑