tx · DcQpCf5QcMZBmbnT32CQFBXzFZQJqFz87eXLKiKQHwQE 3MuTTNitiCXtwNMFnExx77b8xiTBFVYyMVB: -1.00000000 Waves 2019.02.08 21:36 [486476] smart asset 3MuTTNitiCXtwNMFnExx77b8xiTBFVYyMVB > SELF 0.00000000 test
{ "type": 15, "id": "DcQpCf5QcMZBmbnT32CQFBXzFZQJqFz87eXLKiKQHwQE", "fee": 100000000, "feeAssetId": null, "timestamp": 1549651025904, "version": 1, "sender": "3MuTTNitiCXtwNMFnExx77b8xiTBFVYyMVB", "senderPublicKey": "AjiJTAnh1zMMUTHYCyrN4XzdpDb9YtU5xe8hD1Su7vSV", "proofs": [ "5xCm42aM7ho2bjehuMNgUybEvbN9gVoX8x36o5srKC3gehkxL7PNZbdr5CxHaHQKC4n87kaGEp29jL1V7ktMJKsj" ], "assetId": "81bYhTjXoXFeDkYUiDxaYnX1tk38W69Jr3KgtCAK5WZT", "script": "base64:AQQAAAAOYWRtaW5QdWJsaWNLZXkBAAAAIJCqRn76vzIaLRPZfQ76udpC5ZaY6zUPmJGk4a239ScKBAAAAAxhZG1pbkFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAADmFkbWluUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAABWFsbG93BQAAAAckbWF0Y2gwBAAAAAdhc3NldElkBAAAAAckbWF0Y2gxBQAAAAVhbGxvdwMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAATRXhjaGFuZ2VUcmFuc2FjdGlvbgQAAAABZQUAAAAHJG1hdGNoMQgICAUAAAABZQAAAAlzZWxsT3JkZXIAAAAJYXNzZXRQYWlyAAAAC2Ftb3VudEFzc2V0AwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gxCAUAAAABdAAAAAdhc3NldElkCQEAAAAFdGhyb3cAAAAABAAAAA1hc3NldElkU3RyaW5nCQACWAAAAAEJAQAAAAdleHRyYWN0AAAAAQUAAAAHYXNzZXRJZAQAAAALd2hpdGVsaXN0UEsJAQAAAAdleHRyYWN0AAAAAQkABB0AAAACBQAAAAxhZG1pbkFkZHJlc3MFAAAADWFzc2V0SWRTdHJpbmcEAAAAEHdoaXRlbGlzdEFkZHJlc3MJAQAAAAdleHRyYWN0AAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABBQAAAAt3aGl0ZWxpc3RQSwQAAAANc2VuZGVyQWRkcmVzcwQAAAAHJG1hdGNoMQUAAAAFYWxsb3cDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAAAWUFAAAAByRtYXRjaDEICAUAAAABZQAAAAlzZWxsT3JkZXIAAAAGc2VuZGVyAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gxCAUAAAABdAAAAAZzZW5kZXIJAQAAAAV0aHJvdwAAAAAEAAAAEHJlY2lwaWVudEFkZHJlc3MEAAAAByRtYXRjaDEFAAAABWFsbG93AwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gxCQAEJAAAAAEIBQAAAAF0AAAACXJlY2lwaWVudAkBAAAABXRocm93AAAAAAQAAAAOc2VuZGVyQWNjZXB0ZWQJAQAAAAlpc0RlZmluZWQAAAABCQAEGwAAAAIFAAAAEHdoaXRlbGlzdEFkZHJlc3MJAAJYAAAAAQgFAAAADXNlbmRlckFkZHJlc3MAAAAFYnl0ZXMEAAAAEXJlY2lwaWVudEFjY2VwdGVkCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAABB3aGl0ZWxpc3RBZGRyZXNzCQACWAAAAAEIBQAAABByZWNpcGllbnRBZGRyZXNzAAAABWJ5dGVzBAAAAAckbWF0Y2gxBQAAAAVhbGxvdwMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAATRXhjaGFuZ2VUcmFuc2FjdGlvbgQAAAABZQUAAAAHJG1hdGNoMQUAAAAOc2VuZGVyQWNjZXB0ZWQDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDEDBQAAAA5zZW5kZXJBY2NlcHRlZAUAAAARcmVjaXBpZW50QWNjZXB0ZWQHCQEAAAAFdGhyb3cAAAAABliSbJA=", "chainId": 84, "height": 486476, "spentComplexity": 0 } View: original | compacted Prev: none Next: 2KvFGdbT72ifqxmynjRX9sochZtnJBU9DZDRxMBEZev8 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 1 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let adminPublicKey = base58'AjiJTAnh1zMMUTHYCyrN4XzdpDb9YtU5xe8hD1Su7vSV' | |
4 | + | let adminAddress = addressFromPublicKey(adminPublicKey) | |
5 | + | match tx { | |
6 | + | case allow: TransferTransaction|ExchangeTransaction => | |
7 | + | let assetId = match allow { | |
8 | + | case e: ExchangeTransaction => | |
9 | + | e.sellOrder.assetPair.amountAsset | |
10 | + | case t: TransferTransaction => | |
11 | + | t.assetId | |
12 | + | case _ => | |
13 | + | throw() | |
14 | + | } | |
15 | + | let assetIdString = toBase58String(extract(assetId)) | |
16 | + | let whitelistPK = extract(getString(adminAddress, assetIdString)) | |
17 | + | let whitelistAddress = extract(addressFromPublicKey(fromBase58String(whitelistPK))) | |
18 | + | let senderAddress = match allow { | |
19 | + | case e: ExchangeTransaction => | |
20 | + | e.sellOrder.sender | |
21 | + | case t: TransferTransaction => | |
22 | + | t.sender | |
23 | + | case _ => | |
24 | + | throw() | |
25 | + | } | |
26 | + | let recipientAddress = match allow { | |
27 | + | case t: TransferTransaction => | |
28 | + | addressFromRecipient(t.recipient) | |
29 | + | case _ => | |
30 | + | throw() | |
31 | + | } | |
32 | + | let senderAccepted = isDefined(getBoolean(whitelistAddress, toBase58String(senderAddress.bytes))) | |
33 | + | let recipientAccepted = isDefined(getBoolean(whitelistAddress, toBase58String(recipientAddress.bytes))) | |
34 | + | match allow { | |
35 | + | case e: ExchangeTransaction => | |
36 | + | senderAccepted | |
37 | + | case t: TransferTransaction => | |
38 | + | if (senderAccepted) | |
39 | + | then recipientAccepted | |
40 | + | else false | |
41 | + | case _ => | |
42 | + | throw() | |
43 | + | } | |
44 | + | case _ => | |
45 | + | true | |
46 | + | } |
github/deemru/w8io/873ac7e 23.50 ms ◑![]()