2019.04.18 20:07 [1488375] smart asset 3P3oH9HHoCuoqSBNvVK8kvff39ikAF9DJgV > SELF 0 WavesRewardToken

{ "type": 15, "id": "F4xAsn3wiC7pUEorZJvMLj63aGxRzTNnwHdZ2h1fRuK9", "fee": 100000000, "feeAssetId": null, "timestamp": 1555607076013, "version": 1, "sender": "3P3oH9HHoCuoqSBNvVK8kvff39ikAF9DJgV", "senderPublicKey": "9q4mN91pxZeFHVPsKPVMgQT2cn9oQ2F29VneA1svPmWW", "proofs": [ "QccmR6wyMr3fjkcVSyEUGEZ18yfhFohbN5KLC5oKkNmY3mb3Ebyp4N1PMeXCzw9VonHMma4WQMaabLxDh4pE5rB" ], "assetId": "H1RmwqzeXsdQMt6jR6DPkGbZjA2PKUoofP4WjuCRz1st", "script": "base64:AgQAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXFH+ibOwBouZj+EDGJVdFHKkSrUavrIY2BAAAAAZzZW5kZXIJAAJYAAAAAQgIBQAAAAJ0eAAAAAZzZW5kZXIAAAAFYnl0ZXMEAAAADnNlbmRlckNhdGVnb3J5AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAGaXNzdWVyBQAAAAZzZW5kZXIJAQAAAAdleHRyYWN0AAAAAQkABB0AAAACBQAAAAZpc3N1ZXIFAAAABnNlbmRlcgIAAAAEbm9uZQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwBAAAAAlyZWNpcGllbnQJAAJYAAAAAQgJAAQkAAAAAQgFAAAAAnR4AAAACXJlY2lwaWVudAAAAAVieXRlcwQAAAARcmVjaXBpZW50Q2F0ZWdvcnkJAAQdAAAAAgUAAAAGaXNzdWVyBQAAAAlyZWNpcGllbnQDAwkAAAAAAAACBQAAAA5zZW5kZXJDYXRlZ29yeQIAAAAFYWRtaW4GAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAEXJlY2lwaWVudENhdGVnb3J5AwkAAAAAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAAEXJlY2lwaWVudENhdGVnb3J5AgAAAAphbWJhc3NhZG9yBgkAAAAAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAAEXJlY2lwaWVudENhdGVnb3J5AgAAAAVhZG1pbgcGCQAAAgAAAAECAAAAL1RoaXMgYXNzZXQgY2FuIGJlIHRyYW5zZmVycmVkIHRvIHdoaXRlbGlzdCBvbmx5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAQAAAAEc2VsbAkAAfQAAAADCAgFAAAAAnR4AAAACXNlbGxPcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAGcHJvb2ZzAAAAAAAAAAAACAgFAAAAAnR4AAAACXNlbGxPcmRlcgAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAA2J1eQkAAfQAAAADCAgFAAAAAnR4AAAACGJ1eU9yZGVyAAAACWJvZHlCeXRlcwkAAZEAAAACCAgFAAAAAnR4AAAACGJ1eU9yZGVyAAAABnByb29mcwAAAAAAAAAAAAgIBQAAAAJ0eAAAAAhidXlPcmRlcgAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAD3NlbGxPcmRlclNlbmRlcgkAAlgAAAABCAgIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAGc2VuZGVyAAAABWJ5dGVzBAAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQkABB0AAAACBQAAAAZpc3N1ZXIFAAAAD3NlbGxPcmRlclNlbmRlcgQAAAAOYnV5T3JkZXJTZW5kZXIJAAJYAAAAAQgICAUAAAACdHgAAAAIYnV5T3JkZXIAAAAGc2VuZGVyAAAABWJ5dGVzBAAAABZidXlPcmRlclNlbmRlckNhdGVnb3J5CQAEHQAAAAIFAAAABmlzc3VlcgUAAAAOYnV5T3JkZXJTZW5kZXIDAwUAAAADYnV5AwMJAQAAAAlpc0RlZmluZWQAAAABBQAAABZidXlPcmRlclNlbmRlckNhdGVnb3J5CQAAAAAAAAIJAQAAAAdleHRyYWN0AAAAAQUAAAAWYnV5T3JkZXJTZW5kZXJDYXRlZ29yeQIAAAAFYWRtaW4HBgkAAAIAAAABAgAAABlZb3UgY2Fubm90IGJ1eSB0aGlzIGFzc2V0BwYDBQAAAARzZWxsAwMJAQAAAAlpc0RlZmluZWQAAAABBQAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQMJAAAAAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQIAAAAKYW1iYXNzYWRvcgYJAAAAAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAABdzZWxsT3JkZXJTZW5kZXJDYXRlZ29yeQIAAAAFYWRtaW4HBgkAAAIAAAABAgAAACJPbmx5IHdoaXRlbGlzdCBjYW4gc2VsbCB0aGlzIGFzc2V0BwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXTWFzc1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwAwkAAAAAAAACBQAAAA5zZW5kZXJDYXRlZ29yeQIAAAAFYWRtaW4GCQAAAgAAAAECAAAANllvdSBjYW5ub3Qgc2VuZCB0aGlzIGFzc2V0IHZpYSBNYXNzVHJhbnNmZXJUcmFuc2FjdGlvbgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQnVyblRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAMJAAAAAAAAAgUAAAAOc2VuZGVyQ2F0ZWdvcnkCAAAABWFkbWluBgkAAAIAAAABAgAAABpZb3UgY2Fubm90IGJ1cm4gdGhpcyBhc3NldAMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAGVNldEFzc2V0U2NyaXB0VHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAElJlaXNzdWVUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAGB7ASp2I=", "chainId": 87, "height": 1488375, "spentComplexity": 0 } View: original | compacted Prev: 3jKg3QdL1siLUiaNVGd6zSC9KFWZdNisp3J4pxupb14s Next: none Diff:
OldNewDifferences
99 case tx: TransferTransaction =>
1010 let recipient = toBase58String(addressFromRecipient(tx.recipient).bytes)
1111 let recipientCategory = getString(issuer, recipient)
12- if ((senderCategory == "admin"))
12+ if (if ((senderCategory == "admin"))
1313 then true
14- else if (if (isDefined(recipientCategory))
14+ else if (isDefined(recipientCategory))
1515 then if ((extract(recipientCategory) == "ambassador"))
1616 then true
1717 else (extract(recipientCategory) == "admin")
1818 else false)
19- then true
20- else throw("This asset can be transferred to whitelist only")
19+ then true
20+ else throw("This asset can be transferred to whitelist only")
2121 case tx: ExchangeTransaction =>
2222 let sell = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], tx.sellOrder.senderPublicKey)
2323 let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey)
2525 let sellOrderSenderCategory = getString(issuer, sellOrderSender)
2626 let buyOrderSender = toBase58String(tx.buyOrder.sender.bytes)
2727 let buyOrderSenderCategory = getString(issuer, buyOrderSender)
28- if (if (if (buy)
28+ if (if (buy)
2929 then if (if (isDefined(buyOrderSenderCategory))
3030 then (extract(buyOrderSenderCategory) == "admin")
3131 else false)
3333 else throw("You cannot buy this asset")
3434 else false)
3535 then true
36- else sell)
37- then if (if (isDefined(sellOrderSenderCategory))
38- then if ((extract(sellOrderSenderCategory) == "ambassador"))
36+ else if (sell)
37+ then if (if (isDefined(sellOrderSenderCategory))
38+ then if ((extract(sellOrderSenderCategory) == "ambassador"))
39+ then true
40+ else (extract(sellOrderSenderCategory) == "admin")
41+ else false)
3942 then true
40- else (extract(sellOrderSenderCategory) == "admin")
41- else false)
42- then true
43- else throw("Only whitelist can sell this asset")
44- else false
43+ else throw("Only whitelist can sell this asset")
44+ else false
4545 case tx: MassTransferTransaction =>
4646 if ((senderCategory == "admin"))
4747 then true
5050 if ((senderCategory == "admin"))
5151 then true
5252 else throw("You cannot burn this asset")
53- case tx: ReissueTransaction|SetAssetScriptTransaction =>
53+ case tx: SetAssetScriptTransaction|ReissueTransaction =>
5454 true
5555 case _ =>
5656 false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let issuer = Address(base58'3P3oH9HHoCuoqSBNvVK8kvff39ikAF9DJgV')
44 let sender = toBase58String(tx.sender.bytes)
55 let senderCategory = if (isDefined(getString(issuer, sender)))
66 then extract(getString(issuer, sender))
77 else "none"
88 match tx {
99 case tx: TransferTransaction =>
1010 let recipient = toBase58String(addressFromRecipient(tx.recipient).bytes)
1111 let recipientCategory = getString(issuer, recipient)
12- if ((senderCategory == "admin"))
12+ if (if ((senderCategory == "admin"))
1313 then true
14- else if (if (isDefined(recipientCategory))
14+ else if (isDefined(recipientCategory))
1515 then if ((extract(recipientCategory) == "ambassador"))
1616 then true
1717 else (extract(recipientCategory) == "admin")
1818 else false)
19- then true
20- else throw("This asset can be transferred to whitelist only")
19+ then true
20+ else throw("This asset can be transferred to whitelist only")
2121 case tx: ExchangeTransaction =>
2222 let sell = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], tx.sellOrder.senderPublicKey)
2323 let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey)
2424 let sellOrderSender = toBase58String(tx.sellOrder.sender.bytes)
2525 let sellOrderSenderCategory = getString(issuer, sellOrderSender)
2626 let buyOrderSender = toBase58String(tx.buyOrder.sender.bytes)
2727 let buyOrderSenderCategory = getString(issuer, buyOrderSender)
28- if (if (if (buy)
28+ if (if (buy)
2929 then if (if (isDefined(buyOrderSenderCategory))
3030 then (extract(buyOrderSenderCategory) == "admin")
3131 else false)
3232 then true
3333 else throw("You cannot buy this asset")
3434 else false)
3535 then true
36- else sell)
37- then if (if (isDefined(sellOrderSenderCategory))
38- then if ((extract(sellOrderSenderCategory) == "ambassador"))
36+ else if (sell)
37+ then if (if (isDefined(sellOrderSenderCategory))
38+ then if ((extract(sellOrderSenderCategory) == "ambassador"))
39+ then true
40+ else (extract(sellOrderSenderCategory) == "admin")
41+ else false)
3942 then true
40- else (extract(sellOrderSenderCategory) == "admin")
41- else false)
42- then true
43- else throw("Only whitelist can sell this asset")
44- else false
43+ else throw("Only whitelist can sell this asset")
44+ else false
4545 case tx: MassTransferTransaction =>
4646 if ((senderCategory == "admin"))
4747 then true
4848 else throw("You cannot send this asset via MassTransferTransaction")
4949 case tx: BurnTransaction =>
5050 if ((senderCategory == "admin"))
5151 then true
5252 else throw("You cannot burn this asset")
53- case tx: ReissueTransaction|SetAssetScriptTransaction =>
53+ case tx: SetAssetScriptTransaction|ReissueTransaction =>
5454 true
5555 case _ =>
5656 false
5757 }

github/deemru/w8io/786bc32 
94.36 ms