tx · Hs8ASaa4qUMHxHZwVLv2sF7nn2Cq78KmT1GvuQV4QkQK
3Mv1Nj83z4ZQjraVppPBuXGL9csBM4DRqQx: -1.00000000 Waves
2019.02.20 23:50 [504066] smart asset 3Mv1Nj83z4ZQjraVppPBuXGL9csBM4DRqQx > SELF 0.00000000 WTFG
{
"type": 15,
"id": "Hs8ASaa4qUMHxHZwVLv2sF7nn2Cq78KmT1GvuQV4QkQK",
"fee": 100000000,
"feeAssetId": null,
"timestamp": 1550695897552,
"version": 1,
"sender": "3Mv1Nj83z4ZQjraVppPBuXGL9csBM4DRqQx",
"senderPublicKey": "2hBxjELYxmCKQXARcQYckmzypjNkRLnL4tZSQp6XHhWg",
"proofs": [
"xy98cn8qCc2yhB7V2jdRQbkvxwNvCNCZHBebqG7TX7hvjF5VWvgeFrhQRQmSM6LtDJr7CxSfBtKZVTDyNwzh7Bc"
],
"assetId": "EqNp1hxse9c13P9cqxCxvGagkAAENhJy8P615U5rwUbg",
"script": "base64:AQQAAAAFcHJpY2UAAAAAAAX14QEEAAAACHByaWNlbWluAAAAAAAL68IBBAAAAARQYWlyCQEAAAAJQXNzZXRQYWlyAAAAAgUAAAAEdW5pdAEAAAAgzYx4W9Jed07esV0az1/a+QmnX6Nj+tfM2SX5aJD6CmcEAAAABUJUQ0lkAQAAACDNjHhb0l53Tt6xXRrPX9r5Cadfo2P618zZJflokPoKZwQAAAAOYWRtaW5QdWJsaWNLZXkBAAAAGgFUQtD8MSYbZxVfcEX6B5jtUtZIL2SxzzuNBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATRXhjaGFuZ2VUcmFuc2FjdGlvbgQAAAABZQUAAAAHJG1hdGNoMAQAAAAEc2VsbAkAAfQAAAADCAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAACWJvZHlCeXRlcwkAAZEAAAACCAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAABnByb29mcwAAAAAAAAAAAAgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAA9zZW5kZXJQdWJsaWNLZXkDBQAAAARzZWxsBAAAAAZwZXJtaXQJAAH0AAAAAwgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAZwcm9vZnMAAAAAAAAAAAAFAAAADmFkbWluUHVibGljS2V5AwkBAAAAASEAAAABBQAAAAZwZXJtaXQJAAACAAAAAQIAAAARWW91IGNhbid0IHNlbGwgaXQGBgMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAGVNldEFzc2V0U2NyaXB0VHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF01hc3NUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAARtYXNzBQAAAAckbWF0Y2gwBAAAAAt0cmFuc2FjdGlvbgkAA+gAAAABCQEAAAAHZXh0cmFjdAAAAAEIBQAAAARtYXNzAAAAB2Fzc2V0SWQEAAAAByRtYXRjaDEFAAAAC3RyYW5zYWN0aW9uAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABBJc3N1ZVRyYW5zYWN0aW9uBAAAAAdpc3N1ZVR4BQAAAAckbWF0Y2gxCQAAAAAAAAIIBQAAAARtYXNzAAAAD3NlbmRlclB1YmxpY0tleQgFAAAAB2lzc3VlVHgAAAAPc2VuZGVyUHVibGljS2V5CQAAAgAAAAECAAAAEUJhZCBpc3N1ZSB0eCB0eXBlCQAAAgAAAAECAAAAIFlvdSBvbmx5IGNhbiB0cmFuc2ZlciB0aGlzIHRva2Vu1cfeaw==",
"chainId": 84,
"height": 504066,
"spentComplexity": 0
}
View: original | compacted
Prev: 7nhjoTAHAorMMYANCQgFb9hjYDthnxr6GSuvARNyjZQw
Next: JA6TU5d6ZdHtRw4XZSHm4nSC1QAEV8AMBzjYHNo1iNqc
Diff:
Old | New | | Differences |
---|
4 | 4 | | let pricemin = 200000001 |
---|
5 | 5 | | let Pair = AssetPair(unit, base58'EqNp1hxse9c13P9cqxCxvGagkAAENhJy8P615U5rwUbg') |
---|
6 | 6 | | let BTCId = base58'EqNp1hxse9c13P9cqxCxvGagkAAENhJy8P615U5rwUbg' |
---|
| 7 | + | let adminPublicKey = base58'3Mv1Nj83z4ZQjraVppPBuXGL9csBM4DRqQx' |
---|
7 | 8 | | match tx { |
---|
8 | 9 | | case e: ExchangeTransaction => |
---|
9 | | - | let namiAddress = addressFromString("3Mv1Nj83z4ZQjraVppPBuXGL9csBM4DRqQx") |
---|
10 | | - | let namiAddrsess = addressFromString("3MsicoQqvYLqcnj4HDkxn3d4MNugCdAU4B5") |
---|
11 | | - | match tx { |
---|
12 | | - | case t: ExchangeTransaction => |
---|
13 | | - | if ((t.sellOrder.sender == namiAddress)) |
---|
14 | | - | then true |
---|
15 | | - | else (t.buyOrder.sender == namiAddrsess) |
---|
16 | | - | case _ => |
---|
17 | | - | false |
---|
18 | | - | } |
---|
| 10 | + | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) |
---|
| 11 | + | if (sell) |
---|
| 12 | + | then { |
---|
| 13 | + | let permit = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], adminPublicKey) |
---|
| 14 | + | if (!(permit)) |
---|
| 15 | + | then throw("You can't sell it") |
---|
| 16 | + | else true |
---|
| 17 | + | } |
---|
| 18 | + | else true |
---|
19 | 19 | | case mass: SetAssetScriptTransaction|MassTransferTransaction => |
---|
20 | 20 | | let transaction = transactionById(extract(mass.assetId)) |
---|
21 | 21 | | match transaction { |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 1 #-} |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let price = 100000001 |
---|
4 | 4 | | let pricemin = 200000001 |
---|
5 | 5 | | let Pair = AssetPair(unit, base58'EqNp1hxse9c13P9cqxCxvGagkAAENhJy8P615U5rwUbg') |
---|
6 | 6 | | let BTCId = base58'EqNp1hxse9c13P9cqxCxvGagkAAENhJy8P615U5rwUbg' |
---|
| 7 | + | let adminPublicKey = base58'3Mv1Nj83z4ZQjraVppPBuXGL9csBM4DRqQx' |
---|
7 | 8 | | match tx { |
---|
8 | 9 | | case e: ExchangeTransaction => |
---|
9 | | - | let namiAddress = addressFromString("3Mv1Nj83z4ZQjraVppPBuXGL9csBM4DRqQx") |
---|
10 | | - | let namiAddrsess = addressFromString("3MsicoQqvYLqcnj4HDkxn3d4MNugCdAU4B5") |
---|
11 | | - | match tx { |
---|
12 | | - | case t: ExchangeTransaction => |
---|
13 | | - | if ((t.sellOrder.sender == namiAddress)) |
---|
14 | | - | then true |
---|
15 | | - | else (t.buyOrder.sender == namiAddrsess) |
---|
16 | | - | case _ => |
---|
17 | | - | false |
---|
18 | | - | } |
---|
| 10 | + | let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey) |
---|
| 11 | + | if (sell) |
---|
| 12 | + | then { |
---|
| 13 | + | let permit = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], adminPublicKey) |
---|
| 14 | + | if (!(permit)) |
---|
| 15 | + | then throw("You can't sell it") |
---|
| 16 | + | else true |
---|
| 17 | + | } |
---|
| 18 | + | else true |
---|
19 | 19 | | case mass: SetAssetScriptTransaction|MassTransferTransaction => |
---|
20 | 20 | | let transaction = transactionById(extract(mass.assetId)) |
---|
21 | 21 | | match transaction { |
---|
22 | 22 | | case issueTx: IssueTransaction => |
---|
23 | 23 | | (mass.senderPublicKey == issueTx.senderPublicKey) |
---|
24 | 24 | | case _ => |
---|
25 | 25 | | throw("Bad issue tx type") |
---|
26 | 26 | | } |
---|
27 | 27 | | case _ => |
---|
28 | 28 | | throw("You only can transfer this token") |
---|
29 | 29 | | } |
---|