tx · 3Lt9EZfP9Q9aL5EF3GXGw3QBwGNKzmCxM1kFSmAQNVVX
3MuTTNitiCXtwNMFnExx77b8xiTBFVYyMVB: -1.00000000 Waves
2019.02.09 22:12 [487992] smart asset 3MuTTNitiCXtwNMFnExx77b8xiTBFVYyMVB > SELF 0.00000000 Goldmine
{
"type": 15,
"id": "3Lt9EZfP9Q9aL5EF3GXGw3QBwGNKzmCxM1kFSmAQNVVX",
"fee": 100000000,
"feeAssetId": null,
"timestamp": 1549739505816,
"version": 1,
"sender": "3MuTTNitiCXtwNMFnExx77b8xiTBFVYyMVB",
"senderPublicKey": "AjiJTAnh1zMMUTHYCyrN4XzdpDb9YtU5xe8hD1Su7vSV",
"proofs": [
"HiSm3vbuUkamn8HimwW7xizy4zaZvZ6BwTkEy79QHG2nb2W5nptQwJovZd8shSrboBBm6rCZuyuCNRF8XBLsQqj"
],
"assetId": "8CCL3raJDw4iSBrd9c6WytnbXgptYMwArLABV4Do2J1i",
"script": "base64:AQQAAAAHYWRtaW5QSwEAAAAgkKpGfvq/MhotE9l9Dvq52kLllpjrNQ+YkaThrbf1JwoEAAAACnNlbGxBbW91bnQAAAAAADuaygAEAAAACXNlbGxQcmljZQAAAAAABfXhAAQAAAAIYnV5UHJpY2UAAAAAAAX14P8EAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAFlBQAAAAckbWF0Y2gwBAAAAAVhc3NldAkBAAAAB2V4dHJhY3QAAAABCAgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlhc3NldFBhaXIAAAALYW1vdW50QXNzZXQEAAAABnNlbmRlcggIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAZzZW5kZXIEAAAABHNlbGwJAAH0AAAAAwgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAZwcm9vZnMAAAAAAAAAAAAICAUAAAABZQAAAAlzZWxsT3JkZXIAAAAPc2VuZGVyUHVibGljS2V5BAAAAANidXkJAAH0AAAAAwgIBQAAAAFlAAAACGJ1eU9yZGVyAAAACWJvZHlCeXRlcwkAAZEAAAACCAgFAAAAAWUAAAAIYnV5T3JkZXIAAAAGcHJvb2ZzAAAAAAAAAAAACAgFAAAAAWUAAAAIYnV5T3JkZXIAAAAPc2VuZGVyUHVibGljS2V5BAAAAAVhZG1pbgkAAAAAAAACCAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAABnNlbmRlcgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAHYWRtaW5QSwMFAAAABWFkbWluBgMJAQAAAAlpc0RlZmluZWQAAAABCAgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAkAAAIAAAABAgAAABNPbmx5IHdhdmVzIGFjY2VwdGVkAwUAAAAEc2VsbAMJAABmAAAAAgUAAAAKc2VsbEFtb3VudAkAA+sAAAACBQAAAAZzZW5kZXIFAAAABWFzc2V0CQAAAgAAAAEJAAEsAAAAAgIAAAAhU2VsbCBhbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gCQABpAAAAAEJAABpAAAAAgUAAAAKc2VsbEFtb3VudAAAAAAABfXhAAMJAABnAAAAAgUAAAAJc2VsbFByaWNlCAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAABXByaWNlCQAAAgAAAAEJAAEsAAAAAgIAAAAgU2VsbCBwcmljZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAJAAGkAAAAAQkAAGkAAAACBQAAAAlzZWxsUHJpY2UAAAAAAAX14QAGAwUAAAADYnV5AwkAAGcAAAACBQAAAAhidXlQcmljZQgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAVwcmljZQkAAAIAAAABCQABLAAAAAICAAAAH0J1eSBwcmljZSBtdXN0IGJlIGdyZWF0ZXIgdGhlbiAJAAGkAAAAAQkAAGkAAAACBQAAAAhidXlQcmljZQAAAAAABfXhAAYJAAACAAAAAQIAAAAFd2hhdD8DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0J1cm5UcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAGBpq756Q=",
"chainId": 84,
"height": 487992,
"spentComplexity": 0
}
View: original | compacted
Prev: 9Pk7R9isvZrhbRCgRu8ptbnsAZLt3NENrTz5Yp7bbutj
Next: 6VnQR92hkx2L3nUThMxYocJmNNACzKaPsMAP14W97Tnj
Diff:
Old | New | | Differences |
---|
14 | 14 | | if (admin) |
---|
15 | 15 | | then true |
---|
16 | 16 | | else if (isDefined(e.sellOrder.assetPair.priceAsset)) |
---|
17 | | - | then throw("only waves") |
---|
| 17 | + | then throw("Only waves accepted") |
---|
18 | 18 | | else if (sell) |
---|
19 | 19 | | then if ((sellAmount > assetBalance(sender, asset))) |
---|
20 | | - | then throw("minimum amount") |
---|
| 20 | + | then throw(("Sell amount must be greater than " + toString((sellAmount / 100000000)))) |
---|
21 | 21 | | else if ((sellPrice >= e.sellOrder.price)) |
---|
22 | | - | then throw("minimum price") |
---|
| 22 | + | then throw(("Sell price must be greater than " + toString((sellPrice / 100000000)))) |
---|
23 | 23 | | else true |
---|
24 | 24 | | else if (buy) |
---|
25 | 25 | | then if ((buyPrice >= e.sellOrder.price)) |
---|
26 | | - | then throw("minimum price") |
---|
| 26 | + | then throw(("Buy price must be greater then " + toString((buyPrice / 100000000)))) |
---|
27 | 27 | | else true |
---|
28 | 28 | | else throw("what?") |
---|
29 | 29 | | case tx: BurnTransaction => |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 1 #-} |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let adminPK = base58'AjiJTAnh1zMMUTHYCyrN4XzdpDb9YtU5xe8hD1Su7vSV' |
---|
4 | 4 | | let sellAmount = 1000000000 |
---|
5 | 5 | | let sellPrice = 100000000 |
---|
6 | 6 | | let buyPrice = 99999999 |
---|
7 | 7 | | match tx { |
---|
8 | 8 | | case e: ExchangeTransaction => |
---|
9 | 9 | | let asset = extract(e.sellOrder.assetPair.amountAsset) |
---|
10 | 10 | | let sender = e.sellOrder.sender |
---|
11 | 11 | | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) |
---|
12 | 12 | | let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey) |
---|
13 | 13 | | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) |
---|
14 | 14 | | if (admin) |
---|
15 | 15 | | then true |
---|
16 | 16 | | else if (isDefined(e.sellOrder.assetPair.priceAsset)) |
---|
17 | | - | then throw("only waves") |
---|
| 17 | + | then throw("Only waves accepted") |
---|
18 | 18 | | else if (sell) |
---|
19 | 19 | | then if ((sellAmount > assetBalance(sender, asset))) |
---|
20 | | - | then throw("minimum amount") |
---|
| 20 | + | then throw(("Sell amount must be greater than " + toString((sellAmount / 100000000)))) |
---|
21 | 21 | | else if ((sellPrice >= e.sellOrder.price)) |
---|
22 | | - | then throw("minimum price") |
---|
| 22 | + | then throw(("Sell price must be greater than " + toString((sellPrice / 100000000)))) |
---|
23 | 23 | | else true |
---|
24 | 24 | | else if (buy) |
---|
25 | 25 | | then if ((buyPrice >= e.sellOrder.price)) |
---|
26 | | - | then throw("minimum price") |
---|
| 26 | + | then throw(("Buy price must be greater then " + toString((buyPrice / 100000000)))) |
---|
27 | 27 | | else true |
---|
28 | 28 | | else throw("what?") |
---|
29 | 29 | | case tx: BurnTransaction => |
---|
30 | 30 | | true |
---|
31 | 31 | | case _ => |
---|
32 | 32 | | true |
---|
33 | 33 | | } |
---|