1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const client_common_1 = require("@neo-one/client-common");
|
4 | const utils_1 = require("../utils");
|
5 | class Input extends client_common_1.InputModel {
|
6 | constructor() {
|
7 | super(...arguments);
|
8 | this.equals = utils_1.utils.equals(Input, this, (other) => client_common_1.common.uInt256Equal(this.hash, other.hash) && other.index === this.index);
|
9 | this.toKeyString = utils_1.utils.toKeyString(Input, () => `${this.hashHex}:${this.index}`);
|
10 | }
|
11 | static deserializeWireBase({ reader }) {
|
12 | const hash = reader.readUInt256();
|
13 | const index = reader.readUInt16LE();
|
14 | return new this({ hash, index });
|
15 | }
|
16 | static deserializeWire(options) {
|
17 | return this.deserializeWireBase({
|
18 | context: options.context,
|
19 | reader: new utils_1.BinaryReader(options.buffer),
|
20 | });
|
21 | }
|
22 | serializeJSON(_context) {
|
23 | return {
|
24 | txid: client_common_1.JSONHelper.writeUInt256(this.hash),
|
25 | vout: this.index,
|
26 | };
|
27 | }
|
28 | }
|
29 | exports.Input = Input;
|
30 |
|
31 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBQW1GO0FBUW5GLG9DQUErQztBQUUvQyxNQUFhLEtBQU0sU0FBUSwwQkFBVTtJQUFyQzs7UUFla0IsV0FBTSxHQUFXLGFBQUssQ0FBQyxNQUFNLENBQzNDLEtBQUssRUFDTCxJQUFJLEVBQ0osQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLHNCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FDcEYsQ0FBQztRQUNjLGdCQUFXLEdBQUcsYUFBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBUWhHLENBQUM7SUEzQlEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxFQUE4QjtRQUN0RSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBDLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUErQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsTUFBTSxFQUFFLElBQUksb0JBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFTTSxhQUFhLENBQUMsUUFBOEI7UUFDakQsT0FBTztZQUNMLElBQUksRUFBRSwwQkFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3hDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztTQUNqQixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBNUJELHNCQTRCQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtY29yZS9zcmMvdHJhbnNhY3Rpb24vSW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21tb24sIElucHV0SlNPTiwgSW5wdXRNb2RlbCwgSlNPTkhlbHBlciB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgRXF1YWxzLCBFcXVhdGFibGVLZXkgfSBmcm9tICcuLi9FcXVhdGFibGUnO1xuaW1wb3J0IHtcbiAgRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMsXG4gIERlc2VyaWFsaXplV2lyZU9wdGlvbnMsXG4gIFNlcmlhbGl6YWJsZUpTT04sXG4gIFNlcmlhbGl6ZUpTT05Db250ZXh0LFxufSBmcm9tICcuLi9TZXJpYWxpemFibGUnO1xuaW1wb3J0IHsgQmluYXJ5UmVhZGVyLCB1dGlscyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIElucHV0IGV4dGVuZHMgSW5wdXRNb2RlbCBpbXBsZW1lbnRzIEVxdWF0YWJsZUtleSwgU2VyaWFsaXphYmxlSlNPTjxJbnB1dEpTT04+IHtcbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmVCYXNlKHsgcmVhZGVyIH06IERlc2VyaWFsaXplV2lyZUJhc2VPcHRpb25zKTogSW5wdXQge1xuICAgIGNvbnN0IGhhc2ggPSByZWFkZXIucmVhZFVJbnQyNTYoKTtcbiAgICBjb25zdCBpbmRleCA9IHJlYWRlci5yZWFkVUludDE2TEUoKTtcblxuICAgIHJldHVybiBuZXcgdGhpcyh7IGhhc2gsIGluZGV4IH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmUob3B0aW9uczogRGVzZXJpYWxpemVXaXJlT3B0aW9ucyk6IElucHV0IHtcbiAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZVdpcmVCYXNlKHtcbiAgICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCxcbiAgICAgIHJlYWRlcjogbmV3IEJpbmFyeVJlYWRlcihvcHRpb25zLmJ1ZmZlciksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZXF1YWxzOiBFcXVhbHMgPSB1dGlscy5lcXVhbHMoXG4gICAgSW5wdXQsXG4gICAgdGhpcyxcbiAgICAob3RoZXIpID0+IGNvbW1vbi51SW50MjU2RXF1YWwodGhpcy5oYXNoLCBvdGhlci5oYXNoKSAmJiBvdGhlci5pbmRleCA9PT0gdGhpcy5pbmRleCxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHRvS2V5U3RyaW5nID0gdXRpbHMudG9LZXlTdHJpbmcoSW5wdXQsICgpID0+IGAke3RoaXMuaGFzaEhleH06JHt0aGlzLmluZGV4fWApO1xuXG4gIHB1YmxpYyBzZXJpYWxpemVKU09OKF9jb250ZXh0OiBTZXJpYWxpemVKU09OQ29udGV4dCk6IElucHV0SlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR4aWQ6IEpTT05IZWxwZXIud3JpdGVVSW50MjU2KHRoaXMuaGFzaCksXG4gICAgICB2b3V0OiB0aGlzLmluZGV4LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|