tx · 3GN13Wby1R3QWKF4SWqjsUGiBubrwXtKQ34GnDq4FU2i

3PQn8aJPsyK3g87i9TRqyxtSrGTRfyVeZT3:  -0.01000000 Waves

2019.05.28 14:43 [1546490] smart account 3PQn8aJPsyK3g87i9TRqyxtSrGTRfyVeZT3 > SELF 0.00000000 Waves

{ "type": 13, "id": "3GN13Wby1R3QWKF4SWqjsUGiBubrwXtKQ34GnDq4FU2i", "fee": 1000000, "feeAssetId": null, "timestamp": 1559043786756, "version": 1, "sender": "3PQn8aJPsyK3g87i9TRqyxtSrGTRfyVeZT3", "senderPublicKey": "57qDjsR3rsCfJupc7DEfQGBEWBNk8pAr5Y7pSimv2N8", "proofs": [ "SeAvCjHfSKQRu3qyaWaXDH9HjZeq8qjJVTAmbrt2GH6GtkkARQxfm4bx1HUaUJnPxHVzCp4VCPAN2HQA2ixPLRd" ], "script": "base64:AgQAAAALTkVUV09SS0JZVEUJAQAAAA50YWtlUmlnaHRCeXRlcwAAAAIJAAGaAAAAAQAAAAAAAAAAVwAAAAAAAAAAAQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAEAAAAE3R4V2l0aG91dEF0dGFjaG1lbnQJAADLAAAAAgkBAAAADmRyb3BSaWdodEJ5dGVzAAAAAggFAAAAAXQAAAAJYm9keUJ5dGVzAAAAAAAAAABhCQEAAAAOdGFrZVJpZ2h0Qnl0ZXMAAAACCQABmgAAAAEAAAAAAAAAAAAAAAAAAAAAAAEEAAAAHnJlY2lwaWVudFB1YmxpY0tleUFuZFNpZ25hdHVyZQgFAAAAAXQAAAAKYXR0YWNobWVudAQAAAAScmVjaXBpZW50UHVibGljS2V5CQAAyQAAAAIFAAAAHnJlY2lwaWVudFB1YmxpY0tleUFuZFNpZ25hdHVyZQAAAAAAAAAAIAQAAAAScmVjaXBpZW50U2lnbmF0dXJlCQEAAAAOdGFrZVJpZ2h0Qnl0ZXMAAAACBQAAAB5yZWNpcGllbnRQdWJsaWNLZXlBbmRTaWduYXR1cmUAAAAAAAAAAEAEAAAAFnJlY2lwaWVudFB1YmxpY0tleUhhc2gJAADJAAAAAgkAAfUAAAABCQAB9gAAAAEFAAAAEnJlY2lwaWVudFB1YmxpY0tleQAAAAAAAAAAFAQAAAAVcnBrV2l0aFZlcnNpb25BbmRCeXRlCQAAywAAAAIJAADLAAAAAgkBAAAADnRha2VSaWdodEJ5dGVzAAAAAgkAAZoAAAABAAAAAAAAAAABAAAAAAAAAAABBQAAAAtORVRXT1JLQllURQUAAAAWcmVjaXBpZW50UHVibGljS2V5SGFzaAQAAAAIY2hlY2tzdW0JAADJAAAAAgkAAfUAAAABCQAB9gAAAAEFAAAAFXJwa1dpdGhWZXJzaW9uQW5kQnl0ZQAAAAAAAAAABAQAAAAdcmVjaXBpZW50QWRkcmVzc0Zyb21QdWJsaWNLZXkJAADLAAAAAgUAAAAVcnBrV2l0aFZlcnNpb25BbmRCeXRlBQAAAAhjaGVja3N1bQQAAAAWcmVjaXBpZW50QWRkcmVzc0Zyb21UeAgJAAQkAAAAAQgFAAAAAXQAAAAJcmVjaXBpZW50AAAABWJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAdcmVjaXBpZW50QWRkcmVzc0Zyb21QdWJsaWNLZXkFAAAAFnJlY2lwaWVudEFkZHJlc3NGcm9tVHgJAAACAAAAAQkAASwAAAACAgAAABhSZWNpcGllbnQgYWRkcmVzcyBlcnJvcjoJAAJYAAAAAQUAAAAdcmVjaXBpZW50QWRkcmVzc0Zyb21QdWJsaWNLZXkDCQEAAAABIQAAAAEJAAH0AAAAAwUAAAATdHhXaXRob3V0QXR0YWNobWVudAUAAAAScmVjaXBpZW50U2lnbmF0dXJlBQAAABJyZWNpcGllbnRQdWJsaWNLZXkJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAbSW52YWlkIHJlY2lwaWVudCBzaWduYXR1cmU6CQACWAAAAAEFAAAAEnJlY2lwaWVudFNpZ25hdHVyZQIAAAAMCiBCb2R5Qnl0ZXM6CQACWgAAAAEFAAAAE3R4V2l0aG91dEF0dGFjaG1lbnQGB528Fc0=", "chainId": 87, "height": 1546490, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 2 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let NETWORKBYTE = takeRightBytes(toBytes(87), 1)
4+match tx {
5+ case t: TransferTransaction =>
6+ let txWithoutAttachment = (dropRightBytes(t.bodyBytes, 97) + takeRightBytes(toBytes(0), 1))
7+ let recipientPublicKeyAndSignature = t.attachment
8+ let recipientPublicKey = take(recipientPublicKeyAndSignature, 32)
9+ let recipientSignature = takeRightBytes(recipientPublicKeyAndSignature, 64)
10+ let recipientPublicKeyHash = take(keccak256(blake2b256(recipientPublicKey)), 20)
11+ let rpkWithVersionAndByte = ((takeRightBytes(toBytes(1), 1) + NETWORKBYTE) + recipientPublicKeyHash)
12+ let checksum = take(keccak256(blake2b256(rpkWithVersionAndByte)), 4)
13+ let recipientAddressFromPublicKey = (rpkWithVersionAndByte + checksum)
14+ let recipientAddressFromTx = addressFromRecipient(t.recipient).bytes
15+ if ((recipientAddressFromPublicKey != recipientAddressFromTx))
16+ then throw(("Recipient address error:" + toBase58String(recipientAddressFromPublicKey)))
17+ else if (!(sigVerify(txWithoutAttachment, recipientSignature, recipientPublicKey)))
18+ then throw(((("Invaid recipient signature:" + toBase58String(recipientSignature)) + "
19+ BodyBytes:") + toBase64String(txWithoutAttachment)))
20+ else true
21+ case _ =>
22+ false
23+}

github/deemru/w8io/3ef1775 
41.73 ms