tx · 3jKg3QdL1siLUiaNVGd6zSC9KFWZdNisp3J4pxupb14s 3P3oH9HHoCuoqSBNvVK8kvff39ikAF9DJgV: -1.00000000 Waves 2019.04.18 15:30 [1488101] smart asset 3P3oH9HHoCuoqSBNvVK8kvff39ikAF9DJgV > SELF 0 WavesRewardToken
{ "type": 15, "id": "3jKg3QdL1siLUiaNVGd6zSC9KFWZdNisp3J4pxupb14s", "fee": 100000000, "feeAssetId": null, "timestamp": 1555590644918, "version": 1, "sender": "3P3oH9HHoCuoqSBNvVK8kvff39ikAF9DJgV", "senderPublicKey": "9q4mN91pxZeFHVPsKPVMgQT2cn9oQ2F29VneA1svPmWW", "proofs": [ "3wqeRV6gDwfefvg38GrFYa8YMaGetoAh3CYuwc4H3jU5dT9tj2V3ZDoqrrVQGaAmYNU8cGvsqonhtgqsauuUQf55" ], "assetId": "H1RmwqzeXsdQMt6jR6DPkGbZjA2PKUoofP4WjuCRz1st", "script": "base64:AgQAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXFH+ibOwBouZj+EDGJVdFHKkSrUavrIY2BAAAAAZzZW5kZXIJAAJYAAAAAQgIBQAAAAJ0eAAAAAZzZW5kZXIAAAAFYnl0ZXMEAAAADnNlbmRlckNhdGVnb3J5AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAGaXNzdWVyBQAAAAZzZW5kZXIJAQAAAAdleHRyYWN0AAAAAQkABB0AAAACBQAAAAZpc3N1ZXIFAAAABnNlbmRlcgIAAAAEbm9uZQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwBAAAAAlyZWNpcGllbnQJAAJYAAAAAQgJAAQkAAAAAQgFAAAAAnR4AAAACXJlY2lwaWVudAAAAAVieXRlcwQAAAARcmVjaXBpZW50Q2F0ZWdvcnkJAAQdAAAAAgUAAAAGaXNzdWVyBQAAAAlyZWNpcGllbnQDCQAAAAAAAAIFAAAADnNlbmRlckNhdGVnb3J5AgAAAAVhZG1pbgYDAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAEXJlY2lwaWVudENhdGVnb3J5AwkAAAAAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAAEXJlY2lwaWVudENhdGVnb3J5AgAAAAphbWJhc3NhZG9yBgkAAAAAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAAEXJlY2lwaWVudENhdGVnb3J5AgAAAAVhZG1pbgcGCQAAAgAAAAECAAAAL1RoaXMgYXNzZXQgY2FuIGJlIHRyYW5zZmVycmVkIHRvIHdoaXRlbGlzdCBvbmx5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAQAAAAEc2VsbAkAAfQAAAADCAgFAAAAAnR4AAAACXNlbGxPcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAGcHJvb2ZzAAAAAAAAAAAACAgFAAAAAnR4AAAACXNlbGxPcmRlcgAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAA2J1eQkAAfQAAAADCAgFAAAAAnR4AAAACGJ1eU9yZGVyAAAACWJvZHlCeXRlcwkAAZEAAAACCAgFAAAAAnR4AAAACGJ1eU9yZGVyAAAABnByb29mcwAAAAAAAAAAAAgIBQAAAAJ0eAAAAAhidXlPcmRlcgAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAD3NlbGxPcmRlclNlbmRlcgkAAlgAAAABCAgIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAGc2VuZGVyAAAABWJ5dGVzBAAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQkABB0AAAACBQAAAAZpc3N1ZXIFAAAAD3NlbGxPcmRlclNlbmRlcgQAAAAOYnV5T3JkZXJTZW5kZXIJAAJYAAAAAQgICAUAAAACdHgAAAAIYnV5T3JkZXIAAAAGc2VuZGVyAAAABWJ5dGVzBAAAABZidXlPcmRlclNlbmRlckNhdGVnb3J5CQAEHQAAAAIFAAAABmlzc3VlcgUAAAAOYnV5T3JkZXJTZW5kZXIDAwMFAAAAA2J1eQMDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAWYnV5T3JkZXJTZW5kZXJDYXRlZ29yeQkAAAAAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAAFmJ1eU9yZGVyU2VuZGVyQ2F0ZWdvcnkCAAAABWFkbWluBwYJAAACAAAAAQIAAAAZWW91IGNhbm5vdCBidXkgdGhpcyBhc3NldAcGBQAAAARzZWxsAwMJAQAAAAlpc0RlZmluZWQAAAABBQAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQMJAAAAAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQIAAAAKYW1iYXNzYWRvcgYJAAAAAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQIAAAAFYWRtaW4HBgkAAAIAAAABAgAAACJPbmx5IHdoaXRlbGlzdCBjYW4gc2VsbCB0aGlzIGFzc2V0BwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXTWFzc1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwAwkAAAAAAAACBQAAAA5zZW5kZXJDYXRlZ29yeQIAAAAFYWRtaW4GCQAAAgAAAAECAAAANllvdSBjYW5ub3Qgc2VuZCB0aGlzIGFzc2V0IHZpYSBNYXNzVHJhbnNmZXJUcmFuc2FjdGlvbgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQnVyblRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAMJAAAAAAAAAgUAAAAOc2VuZGVyQ2F0ZWdvcnkCAAAABWFkbWluBgkAAAIAAAABAgAAABpZb3UgY2Fubm90IGJ1cm4gdGhpcyBhc3NldAMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAElJlaXNzdWVUcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAZU2V0QXNzZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAGB7kvoWs=", "chainId": 87, "height": 1488101, "spentComplexity": 0 } View: original | compacted Prev: Fmsa7RVyBnzkm5aLkHKkcav9hGK6Kkc4Ta26EKFWFzZS Next: F4xAsn3wiC7pUEorZJvMLj63aGxRzTNnwHdZ2h1fRuK9 Diff:
Old | New | Differences | |
---|---|---|---|
35 | 35 | then true | |
36 | 36 | else sell) | |
37 | 37 | then if (if (isDefined(sellOrderSenderCategory)) | |
38 | - | then (extract(sellOrderSenderCategory) == "ambassador") | |
38 | + | then if ((extract(sellOrderSenderCategory) == "ambassador")) | |
39 | + | then true | |
40 | + | else (extract(sellOrderSenderCategory) == "admin") | |
39 | 41 | else false) | |
40 | 42 | then true | |
41 | 43 | else throw("Only whitelist can sell this asset") |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 2 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let issuer = Address(base58'3P3oH9HHoCuoqSBNvVK8kvff39ikAF9DJgV') | |
4 | 4 | let sender = toBase58String(tx.sender.bytes) | |
5 | 5 | let senderCategory = if (isDefined(getString(issuer, sender))) | |
6 | 6 | then extract(getString(issuer, sender)) | |
7 | 7 | else "none" | |
8 | 8 | match tx { | |
9 | 9 | case tx: TransferTransaction => | |
10 | 10 | let recipient = toBase58String(addressFromRecipient(tx.recipient).bytes) | |
11 | 11 | let recipientCategory = getString(issuer, recipient) | |
12 | 12 | if ((senderCategory == "admin")) | |
13 | 13 | then true | |
14 | 14 | else if (if (isDefined(recipientCategory)) | |
15 | 15 | then if ((extract(recipientCategory) == "ambassador")) | |
16 | 16 | then true | |
17 | 17 | else (extract(recipientCategory) == "admin") | |
18 | 18 | else false) | |
19 | 19 | then true | |
20 | 20 | else throw("This asset can be transferred to whitelist only") | |
21 | 21 | case tx: ExchangeTransaction => | |
22 | 22 | let sell = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], tx.sellOrder.senderPublicKey) | |
23 | 23 | let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey) | |
24 | 24 | let sellOrderSender = toBase58String(tx.sellOrder.sender.bytes) | |
25 | 25 | let sellOrderSenderCategory = getString(issuer, sellOrderSender) | |
26 | 26 | let buyOrderSender = toBase58String(tx.buyOrder.sender.bytes) | |
27 | 27 | let buyOrderSenderCategory = getString(issuer, buyOrderSender) | |
28 | 28 | if (if (if (buy) | |
29 | 29 | then if (if (isDefined(buyOrderSenderCategory)) | |
30 | 30 | then (extract(buyOrderSenderCategory) == "admin") | |
31 | 31 | else false) | |
32 | 32 | then true | |
33 | 33 | else throw("You cannot buy this asset") | |
34 | 34 | else false) | |
35 | 35 | then true | |
36 | 36 | else sell) | |
37 | 37 | then if (if (isDefined(sellOrderSenderCategory)) | |
38 | - | then (extract(sellOrderSenderCategory) == "ambassador") | |
38 | + | then if ((extract(sellOrderSenderCategory) == "ambassador")) | |
39 | + | then true | |
40 | + | else (extract(sellOrderSenderCategory) == "admin") | |
39 | 41 | else false) | |
40 | 42 | then true | |
41 | 43 | else throw("Only whitelist can sell this asset") | |
42 | 44 | else false | |
43 | 45 | case tx: MassTransferTransaction => | |
44 | 46 | if ((senderCategory == "admin")) | |
45 | 47 | then true | |
46 | 48 | else throw("You cannot send this asset via MassTransferTransaction") | |
47 | 49 | case tx: BurnTransaction => | |
48 | 50 | if ((senderCategory == "admin")) | |
49 | 51 | then true | |
50 | 52 | else throw("You cannot burn this asset") | |
51 | 53 | case tx: ReissueTransaction|SetAssetScriptTransaction => | |
52 | 54 | true | |
53 | 55 | case _ => | |
54 | 56 | false | |
55 | 57 | } |
github/deemru/w8io/3ef1775 73.23 ms ◑![]()