UNPKG

4.3 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const client_common_1 = require("@neo-one/client-common");
4const utils_1 = require("../utils");
5class 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}
29exports.Input = Input;
30
31//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBQW1GO0FBUW5GLG9DQUErQztBQUUvQyxNQUFhLEtBQU0sU0FBUSwwQkFBVTtJQUFyQzs7UUFla0IsV0FBTSxHQUFXLGFBQUssQ0FBQyxNQUFNLENBQzNDLEtBQUssRUFDTCxJQUFJLEVBQ0osQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLHNCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FDcEYsQ0FBQztRQUNjLGdCQUFXLEdBQUcsYUFBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBUWhHLENBQUM7SUEzQlEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxFQUE4QjtRQUN0RSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBDLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUErQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsTUFBTSxFQUFFLElBQUksb0JBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFTTSxhQUFhLENBQUMsUUFBOEI7UUFDakQsT0FBTztZQUNMLElBQUksRUFBRSwwQkFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3hDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztTQUNqQixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBNUJELHNCQTRCQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtY29yZS9zcmMvdHJhbnNhY3Rpb24vSW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21tb24sIElucHV0SlNPTiwgSW5wdXRNb2RlbCwgSlNPTkhlbHBlciB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgRXF1YWxzLCBFcXVhdGFibGVLZXkgfSBmcm9tICcuLi9FcXVhdGFibGUnO1xuaW1wb3J0IHtcbiAgRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMsXG4gIERlc2VyaWFsaXplV2lyZU9wdGlvbnMsXG4gIFNlcmlhbGl6YWJsZUpTT04sXG4gIFNlcmlhbGl6ZUpTT05Db250ZXh0LFxufSBmcm9tICcuLi9TZXJpYWxpemFibGUnO1xuaW1wb3J0IHsgQmluYXJ5UmVhZGVyLCB1dGlscyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIElucHV0IGV4dGVuZHMgSW5wdXRNb2RlbCBpbXBsZW1lbnRzIEVxdWF0YWJsZUtleSwgU2VyaWFsaXphYmxlSlNPTjxJbnB1dEpTT04+IHtcbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmVCYXNlKHsgcmVhZGVyIH06IERlc2VyaWFsaXplV2lyZUJhc2VPcHRpb25zKTogSW5wdXQge1xuICAgIGNvbnN0IGhhc2ggPSByZWFkZXIucmVhZFVJbnQyNTYoKTtcbiAgICBjb25zdCBpbmRleCA9IHJlYWRlci5yZWFkVUludDE2TEUoKTtcblxuICAgIHJldHVybiBuZXcgdGhpcyh7IGhhc2gsIGluZGV4IH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmUob3B0aW9uczogRGVzZXJpYWxpemVXaXJlT3B0aW9ucyk6IElucHV0IHtcbiAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZVdpcmVCYXNlKHtcbiAgICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCxcbiAgICAgIHJlYWRlcjogbmV3IEJpbmFyeVJlYWRlcihvcHRpb25zLmJ1ZmZlciksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZXF1YWxzOiBFcXVhbHMgPSB1dGlscy5lcXVhbHMoXG4gICAgSW5wdXQsXG4gICAgdGhpcyxcbiAgICAob3RoZXIpID0+IGNvbW1vbi51SW50MjU2RXF1YWwodGhpcy5oYXNoLCBvdGhlci5oYXNoKSAmJiBvdGhlci5pbmRleCA9PT0gdGhpcy5pbmRleCxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHRvS2V5U3RyaW5nID0gdXRpbHMudG9LZXlTdHJpbmcoSW5wdXQsICgpID0+IGAke3RoaXMuaGFzaEhleH06JHt0aGlzLmluZGV4fWApO1xuXG4gIHB1YmxpYyBzZXJpYWxpemVKU09OKF9jb250ZXh0OiBTZXJpYWxpemVKU09OQ29udGV4dCk6IElucHV0SlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR4aWQ6IEpTT05IZWxwZXIud3JpdGVVSW50MjU2KHRoaXMuaGFzaCksXG4gICAgICB2b3V0OiB0aGlzLmluZGV4LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==