tx · GbnEVma5dhLwuZgF7sKxkevEBsa1Rnaa9syJjgxF1VUK 3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar: -1.00000000 Waves 2020.05.25 19:18 [1014062] smart asset 3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar > SELF 0.00000000 MOITOKEN
{ "type": 15, "id": "GbnEVma5dhLwuZgF7sKxkevEBsa1Rnaa9syJjgxF1VUK", "fee": 100000000, "feeAssetId": null, "timestamp": 1590423559994, "version": 1, "sender": "3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar", "senderPublicKey": "BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS", "proofs": [ "3jgYjqYk1L9Zs4DNhPQEstEdYvm8jnL2nu1t8T1LSpt83gkxu2JT4k6zssbFTo8tk5zfB7wq4sZhj9RzSK2onqpR" ], "assetId": "3tqknScoCegnWpFYGvYGiUM68iWC1Fw9KPgHdYgi8ZWc", "script": "base64:AQQAAAALZEFwcEFkZHJlc3MJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNNeWdRYXdHMmdQam9lajh3WDJjcWt4bWc3S1hBUFA2eGFyBAAAAAdhZG1pblBLAQAAACCbvoDDAKlv8SHnGnzbjcmS7cF3EYTHum5V5rS3JwBICQQAAAAFQlRDSWQBAAAAICZW18edbVw5IUDUbKCl7CbP+JI8377yHi104yBIibXVBAAAAAlzZWxsUHJpY2UAAAAAAAZCLEAEAAAACGJ1eVByaWNlAAAAAAAFqZXABAAAAAckbWF0Y2gwBQAAAAJ0eAMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0J1cm5UcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAGVNldEFzc2V0U2NyaXB0VHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAElJlaXNzdWVUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAJAAAAAAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAALZEFwcEFkZHJlc3MDAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdNYXNzVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAFlBQAAAAckbWF0Y2gwBAAAAAZzZW5kZXIICAUAAAABZQAAAAlzZWxsT3JkZXIAAAAGc2VuZGVyBAAAAARzZWxsCQAB9AAAAAMICAUAAAABZQAAAAlzZWxsT3JkZXIAAAAJYm9keUJ5dGVzCQABkQAAAAIICAUAAAABZQAAAAlzZWxsT3JkZXIAAAAGcHJvb2ZzAAAAAAAAAAAACAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAAD3NlbmRlclB1YmxpY0tleQQAAAADYnV5CQAB9AAAAAMICAUAAAABZQAAAAhidXlPcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggIBQAAAAFlAAAACGJ1eU9yZGVyAAAABnByb29mcwAAAAAAAAAAAAgIBQAAAAFlAAAACGJ1eU9yZGVyAAAAD3NlbmRlclB1YmxpY0tleQQAAAAFYWRtaW4JAAAAAAAAAggIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAZzZW5kZXIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAB2FkbWluUEsDBQAAAAVhZG1pbgYDCQEAAAACIT0AAAACCAgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAUAAAAFQlRDSWQJAAACAAAAAQIAAAAz0YLQvtGA0LPRg9C10YLRgdGPINGC0L7Qu9GM0LrQviDRgSDQv9Cw0YDQsNC80LggQlRDAwUAAAAEc2VsbAMJAQAAAAIhPQAAAAIFAAAACXNlbGxQcmljZQgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAVwcmljZQkAAAIAAAABAgAAABfQptC10L3QsCDQv9GA0L7QtNCw0LbQuAYDBQAAAANidXkDCQEAAAACIT0AAAACBQAAAAhidXlQcmljZQgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAVwcmljZQkAAAIAAAABAgAAABfQptC10L3QsCDQv9C+0LrRg9C/0LrQuAYJAAACAAAAAQIAAAAWc29tZXRoaW5nIGJhZCBoYXBwZW5lZAeeYMW+", "chainId": 84, "height": 1014062, "spentComplexity": 0 } View: original | compacted Prev: 3QxxeXf8ip8ZTA5LtjzHvFEJ2mLioJGkTrzRLsNQC6M1 Next: HAkkLEu7LH6TXyMy57bnpAJMw99RG4QdZkcpCQpXFfDu Diff:
Old | New | Differences | |
---|---|---|---|
20 | 20 | else if ((e.sellOrder.assetPair.priceAsset != BTCId)) | |
21 | 21 | then throw("торгуется только с парами BTC") | |
22 | 22 | else if (sell) | |
23 | - | then if ((sellPrice | |
23 | + | then if ((sellPrice != e.sellOrder.price)) | |
24 | 24 | then throw("Цена продажи") | |
25 | 25 | else true | |
26 | 26 | else if (buy) | |
27 | - | then if ((buyPrice | |
27 | + | then if ((buyPrice != e.sellOrder.price)) | |
28 | 28 | then throw("Цена покупки") | |
29 | 29 | else true | |
30 | 30 | else throw("something bad happened") |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let dAppAddress = addressFromString("3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar") | |
4 | 4 | let adminPK = base58'BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS' | |
5 | 5 | let BTCId = base58'3afJDTZVMvCdLB3rd1PEY6M7icZj1VkvwBiprVRbfD3a' | |
6 | 6 | let sellPrice = 105000000 | |
7 | 7 | let buyPrice = 95000000 | |
8 | 8 | match tx { | |
9 | 9 | case tx: BurnTransaction|SetAssetScriptTransaction|ReissueTransaction => | |
10 | 10 | (tx.sender == dAppAddress) | |
11 | 11 | case tx: TransferTransaction|MassTransferTransaction => | |
12 | 12 | true | |
13 | 13 | case e: ExchangeTransaction => | |
14 | 14 | let sender = e.sellOrder.sender | |
15 | 15 | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) | |
16 | 16 | let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey) | |
17 | 17 | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) | |
18 | 18 | if (admin) | |
19 | 19 | then true | |
20 | 20 | else if ((e.sellOrder.assetPair.priceAsset != BTCId)) | |
21 | 21 | then throw("торгуется только с парами BTC") | |
22 | 22 | else if (sell) | |
23 | - | then if ((sellPrice | |
23 | + | then if ((sellPrice != e.sellOrder.price)) | |
24 | 24 | then throw("Цена продажи") | |
25 | 25 | else true | |
26 | 26 | else if (buy) | |
27 | - | then if ((buyPrice | |
27 | + | then if ((buyPrice != e.sellOrder.price)) | |
28 | 28 | then throw("Цена покупки") | |
29 | 29 | else true | |
30 | 30 | else throw("something bad happened") | |
31 | 31 | case _ => | |
32 | 32 | false | |
33 | 33 | } |
github/deemru/w8io/169f3d6 48.93 ms ◑