tx · B3Fq5SfxNnzvxDASx9DpT7MWkV7L8Ls78Y67ryUMSQi

3PBcZ9Mh4XGFL7hNk71qW6euqMBo4W4m6W1:  -0.01400000 Waves

2019.11.18 13:40 [1800747] smart account 3PBcZ9Mh4XGFL7hNk71qW6euqMBo4W4m6W1 > SELF 0.00000000 Waves

{ "type": 13, "id": "B3Fq5SfxNnzvxDASx9DpT7MWkV7L8Ls78Y67ryUMSQi", "fee": 1400000, "feeAssetId": null, "timestamp": 1574071494777, "version": 1, "sender": "3PBcZ9Mh4XGFL7hNk71qW6euqMBo4W4m6W1", "senderPublicKey": "CGQVGZr6pH98P92Cb9v1WsoYsmZ738dwvFv9CKkaftBi", "proofs": [ "5z8ELjxKVsunQeQJU2C9odwz7ARTdYtDHGZ3RXrChsHQr4a5KuuqVXHhANRy8vsnj98DT9j6WSVRKThkoWTGQ42", "RwvmingV6BghstEodPzUMUeQ2dT37GJQ597zgSqK7wtvgVb8hMqcsFfThKpa54W1x4hMSsV1kiBCsV5trUhpv1W" ], "script": "base64:AwQAAAAHYXNzZXRJZAEAAAAgiEW64ARXw/t+nKroLmO/NjYfHGv7F0WhqaxPCaX+jWkEAAAAEHdoaXRlTGlzdEFkZHJlc3MCAAAAIzNQRXZ0UnhQSnl5cHM3Y0tSa0xiS0ZBUThxYmRjenBMa0I5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAMJAQAAAAIhPQAAAAIIBQAAAAF0AAAAB2Fzc2V0SWQFAAAAB2Fzc2V0SWQJAAH0AAAAAwgFAAAAAXQAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAF0AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAXQAAAAPc2VuZGVyUHVibGljS2V5BAAAABByZWNpcGllbnRBZGRyZXNzCQAEJQAAAAEJAAQkAAAAAQgFAAAAAXQAAAAJcmVjaXBpZW50BAAAABBhZGRyZXNzSXNBbGxvd2VkCQAEGwAAAAIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAQd2hpdGVMaXN0QWRkcmVzcwUAAAAQcmVjaXBpZW50QWRkcmVzcwQAAAAHJG1hdGNoMQUAAAAQYWRkcmVzc0lzQWxsb3dlZAMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAAHQm9vbGVhbgQAAAABYgUAAAAHJG1hdGNoMQkAAAAAAAACBQAAAAFiBgkAAAIAAAABAgAAADZZb3UgY2FuIHNlbmQgdGhpcyB0b2tlbiBvbmx5IHRvIHdoaXRlLWxpc3RlZCBhZGRyZXNzZXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFzBQAAAAckbWF0Y2gwBAAAABRhc3NldElzc3VlclB1YmxpY0tleQgJAQAAAAdleHRyYWN0AAAAAQkAA+wAAAABBQAAAAdhc3NldElkAAAAD2lzc3VlclB1YmxpY0tleQMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAUYXNzZXRJc3N1ZXJQdWJsaWNLZXkHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQAAAABaQUAAAAHJG1hdGNoMAMJAAAAAAAAAgkABCUAAAABCQAEJAAAAAEIBQAAAAFpAAAABGRBcHAFAAAAEHdoaXRlTGlzdEFkZHJlc3MJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BwkAAAIAAAABAgAAABRCYWQgdHJhbnNhY3Rpb24gdHlwZfJPJqA=", "chainId": 87, "height": 1800747, "spentComplexity": 0 } View: original | compacted Prev: 844Ats3P5aWCJTBjuhsW682CBojA16GRKB9szhsdNRuH Next: 6VmyMa6nPrXL1VwqPizWjQQ5ykvQGSLkyCEDDRQb7ysM Diff:
OldNewDifferences
88 then sigVerify(t.bodyBytes, t.proofs[0], t.senderPublicKey)
99 else {
1010 let recipientAddress = toString(addressFromRecipient(t.recipient))
11- let whiteListAddressValue = addressFromStringValue(whiteListAddress)
12- let addressIsAllowed = getBoolean(whiteListAddressValue, recipientAddress)
13- let addressInWhiteList = match addressIsAllowed {
11+ let addressIsAllowed = getBoolean(addressFromStringValue(whiteListAddress), recipientAddress)
12+ match addressIsAllowed {
1413 case b: Boolean =>
1514 (b == true)
1615 case _ =>
17- false
16+ throw("You can send this token only to white-listed addresses")
1817 }
19- if (if (addressInWhiteList)
20- then true
21- else (recipientAddress == whiteListAddress))
22- then if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
23- then true
24- else throw("Signature is required")
25- else throw("You can send this token only to white-listed addresses")
2618 }
2719 case s: SetScriptTransaction =>
2820 let assetIssuerPublicKey = extract(assetInfo(assetId)).issuerPublicKey
2921 if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
3022 then sigVerify(tx.bodyBytes, tx.proofs[1], assetIssuerPublicKey)
3123 else false
32- case b: BurnTransaction =>
33- sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
3424 case i: InvokeScriptTransaction =>
3525 if ((toString(addressFromRecipient(i.dApp)) == whiteListAddress))
3626 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let assetId = base58'AAx7kicknEXkWUqSF1DKXp7bQHH6Z383Bw9H5v16MgFJ'
44 let whiteListAddress = "3PEvtRxPJyyps7cKRkLbKFAQ8qbdczpLkB9"
55 match tx {
66 case t: TransferTransaction =>
77 if ((t.assetId != assetId))
88 then sigVerify(t.bodyBytes, t.proofs[0], t.senderPublicKey)
99 else {
1010 let recipientAddress = toString(addressFromRecipient(t.recipient))
11- let whiteListAddressValue = addressFromStringValue(whiteListAddress)
12- let addressIsAllowed = getBoolean(whiteListAddressValue, recipientAddress)
13- let addressInWhiteList = match addressIsAllowed {
11+ let addressIsAllowed = getBoolean(addressFromStringValue(whiteListAddress), recipientAddress)
12+ match addressIsAllowed {
1413 case b: Boolean =>
1514 (b == true)
1615 case _ =>
17- false
16+ throw("You can send this token only to white-listed addresses")
1817 }
19- if (if (addressInWhiteList)
20- then true
21- else (recipientAddress == whiteListAddress))
22- then if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
23- then true
24- else throw("Signature is required")
25- else throw("You can send this token only to white-listed addresses")
2618 }
2719 case s: SetScriptTransaction =>
2820 let assetIssuerPublicKey = extract(assetInfo(assetId)).issuerPublicKey
2921 if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
3022 then sigVerify(tx.bodyBytes, tx.proofs[1], assetIssuerPublicKey)
3123 else false
32- case b: BurnTransaction =>
33- sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
3424 case i: InvokeScriptTransaction =>
3525 if ((toString(addressFromRecipient(i.dApp)) == whiteListAddress))
3626 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
3727 else false
3828 case _ =>
3929 throw("Bad transaction type")
4030 }

github/deemru/w8io/3ef1775 
64.13 ms