tx · 3vX1pp9FXg3tcXjzdkza96gzzuxrwJ1KEB5D4VohuQRp 3N4T8eVemVK3f4E8KZgbwvBpk8csem2bFyb: -1.00000000 Waves 2019.03.16 12:43 [538552] smart asset 3N4T8eVemVK3f4E8KZgbwvBpk8csem2bFyb > SELF 0.00000000 ZAraa
{ "type": 15, "id": "3vX1pp9FXg3tcXjzdkza96gzzuxrwJ1KEB5D4VohuQRp", "fee": 100000000, "feeAssetId": null, "timestamp": 1552729461942, "version": 1, "sender": "3N4T8eVemVK3f4E8KZgbwvBpk8csem2bFyb", "senderPublicKey": "6XtTAMMi9snEs1mN1TBpR3npxA2R16FMxneyWXMZdMdf", "proofs": [ "4HoRT3s2JB4wgAPKpfw5erkSedm2YdgFj3fiJmt87VyDk8X1kS8PXWXv35QaRcmqLNyrCrPwCRBR6XhpvirirXy5" ], "assetId": "6uTUhCBEKUcWVxKz8sHJ2oh616PmmGPMFV1cr2Hx9Ggu", "script": "base64:AgQAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUn3ENnb2h8+cM5MoAZuZG+9HctthQtzPqBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAEAAAACXJlY2lwaWVudAkAAlgAAAABCAkABCQAAAABCAUAAAACdHgAAAAJcmVjaXBpZW50AAAABWJ5dGVzBAAAABFyZWNpcGllbnRDYXRlZ29yeQkABB0AAAACBQAAAAZpc3N1ZXIFAAAACXJlY2lwaWVudAMJAAAAAAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAAGaXNzdWVyBgMDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAARcmVjaXBpZW50Q2F0ZWdvcnkJAAAAAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAABFyZWNpcGllbnRDYXRlZ29yeQIAAAAKYW1iYXNzYWRvcgcGCQAAAgAAAAECAAAAL1RoaXMgYXNzZXQgY2FuIGJlIHRyYW5zZmVycmVkIHRvIHdoaXRlbGlzdCBvbmx5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAQAAAAEc2VsbAkAAfQAAAADCAgFAAAAAnR4AAAACXNlbGxPcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAGcHJvb2ZzAAAAAAAAAAAACAgFAAAAAnR4AAAACXNlbGxPcmRlcgAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAA2J1eQkAAfQAAAADCAgFAAAAAnR4AAAACGJ1eU9yZGVyAAAACWJvZHlCeXRlcwkAAZEAAAACCAgFAAAAAnR4AAAACGJ1eU9yZGVyAAAABnByb29mcwAAAAAAAAAAAAgIBQAAAAJ0eAAAAAhidXlPcmRlcgAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAD3NlbGxPcmRlclNlbmRlcgkAAlgAAAABCAgIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAGc2VuZGVyAAAABWJ5dGVzBAAAAA5idXlPcmRlclNlbmRlcgkAAlgAAAABCAgIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAGc2VuZGVyAAAABWJ5dGVzBAAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQkABB0AAAACBQAAAAZpc3N1ZXIFAAAAD3NlbGxPcmRlclNlbmRlcgQAAAAWYnV5T3JkZXJTZW5kZXJDYXRlZ29yeQkABB0AAAACBQAAAAZpc3N1ZXIFAAAADmJ1eU9yZGVyU2VuZGVyAwMFAAAAA2J1eQMDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAWYnV5T3JkZXJTZW5kZXJDYXRlZ29yeQkAAAAAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAAF3NlbGxPcmRlclNlbmRlckNhdGVnb3J5AgAAAAphbWJhc3NhZG9yBwYJAAACAAAAAQIAAAAhT25seSB3aGl0ZWxpc3QgY2FuIGJ1eSB0aGlzIGFzc2V0BwYDBQAAAARzZWxsAwMJAQAAAAlpc0RlZmluZWQAAAABBQAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQkAAAAAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAAF3NlbGxPcmRlclNlbmRlckNhdGVnb3J5AgAAAAphbWJhc3NhZG9yBwYJAAACAAAAAQIAAAAiT25seSB3aGl0ZWxpc3QgY2FuIHNlbGwgdGhpcyBhc3NldAcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF01hc3NUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAMJAAAAAAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAAGaXNzdWVyBgkAAAIAAAABAgAAADZZb3UgY2Fubm90IHNlbmQgdGhpcyBhc3NldCB2aWEgTWFzc1RyYW5zZmVyVHJhbnNhY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0J1cm5UcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDADCQAAAAAAAAIIBQAAAAJ0eAAAAAZzZW5kZXIFAAAABmlzc3VlcgYJAAACAAAAAQIAAAAaWW91IGNhbm5vdCBidXJuIHRoaXMgYXNzZXQDAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABJSZWlzc3VlVHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAGVNldEFzc2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwBgeOmsU1", "chainId": 84, "height": 538552, "spentComplexity": 0 } View: original | compacted Prev: none Next: 7mCgN8p7WDWwMPHFxmcs1dvJWfRjiafWZiMQPbeSg79m Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 2 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let issuer = Address(base58'3N4T8eVemVK3f4E8KZgbwvBpk8csem2bFyb') | |
4 | + | match tx { | |
5 | + | case tx: TransferTransaction => | |
6 | + | let recipient = toBase58String(addressFromRecipient(tx.recipient).bytes) | |
7 | + | let recipientCategory = getString(issuer, recipient) | |
8 | + | if ((tx.sender == issuer)) | |
9 | + | then true | |
10 | + | else if (if (isDefined(recipientCategory)) | |
11 | + | then (extract(recipientCategory) == "ambassador") | |
12 | + | else false) | |
13 | + | then true | |
14 | + | else throw("This asset can be transferred to whitelist only") | |
15 | + | case tx: ExchangeTransaction => | |
16 | + | let sell = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], tx.sellOrder.senderPublicKey) | |
17 | + | let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey) | |
18 | + | let sellOrderSender = toBase58String(tx.sellOrder.sender.bytes) | |
19 | + | let buyOrderSender = toBase58String(tx.sellOrder.sender.bytes) | |
20 | + | let sellOrderSenderCategory = getString(issuer, sellOrderSender) | |
21 | + | let buyOrderSenderCategory = getString(issuer, buyOrderSender) | |
22 | + | if (if (buy) | |
23 | + | then if (if (isDefined(buyOrderSenderCategory)) | |
24 | + | then (extract(sellOrderSenderCategory) == "ambassador") | |
25 | + | else false) | |
26 | + | then true | |
27 | + | else throw("Only whitelist can buy this asset") | |
28 | + | else false) | |
29 | + | then true | |
30 | + | else if (sell) | |
31 | + | then if (if (isDefined(sellOrderSenderCategory)) | |
32 | + | then (extract(sellOrderSenderCategory) == "ambassador") | |
33 | + | else false) | |
34 | + | then true | |
35 | + | else throw("Only whitelist can sell this asset") | |
36 | + | else false | |
37 | + | case tx: MassTransferTransaction => | |
38 | + | if ((tx.sender == issuer)) | |
39 | + | then true | |
40 | + | else throw("You cannot send this asset via MassTransferTransaction") | |
41 | + | case tx: BurnTransaction => | |
42 | + | if ((tx.sender == issuer)) | |
43 | + | then true | |
44 | + | else throw("You cannot burn this asset") | |
45 | + | case tx: ReissueTransaction|SetAssetScriptTransaction => | |
46 | + | true | |
47 | + | case _ => | |
48 | + | false | |
49 | + | } |
github/deemru/w8io/026f985 13.55 ms ◑