@neo-one/node-protocol
Version:
NEO•ONE NEO node and consensus protocol.
32 lines (30 loc) • 4.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const client_common_1 = require("@neo-one/client-common");
const node_core_1 = require("@neo-one/node-core");
class GetBlocksPayload {
constructor({ hashStart, hashStop = client_common_1.common.ZERO_UINT256 }) {
this.serializeWire = client_common_1.createSerializeWire(this.serializeWireBase.bind(this));
this.hashStart = hashStart;
this.hashStop = hashStop;
}
static deserializeWireBase({ reader }) {
const hashStart = reader.readArray(() => reader.readUInt256());
const hashStop = reader.readUInt256();
return new this({ hashStart, hashStop });
}
static deserializeWire(options) {
return this.deserializeWireBase({
context: options.context,
reader: new node_core_1.BinaryReader(options.buffer),
});
}
serializeWireBase(writer) {
writer.writeArray(this.hashStart, (value) => {
writer.writeUInt256(value);
});
writer.writeUInt256(this.hashStop);
}
}
exports.GetBlocksPayload = GetBlocksPayload;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkdldEJsb2Nrc1BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwREFPZ0M7QUFDaEMsa0RBQXNHO0FBTXRHLE1BQWEsZ0JBQWdCO0lBbUIzQixZQUFtQixFQUFFLFNBQVMsRUFBRSxRQUFRLEdBQUcsc0JBQU0sQ0FBQyxZQUFZLEVBQXVCO1FBRnJFLGtCQUFhLEdBQWtCLG1DQUFtQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUdwRyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBckJNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sRUFBOEI7UUFDdEUsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMvRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdEMsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQStCO1FBQzNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQzlCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixNQUFNLEVBQUUsSUFBSSx3QkFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVdNLGlCQUFpQixDQUFDLE1BQW9CO1FBQzNDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUE5QkQsNENBOEJDIiwiZmlsZSI6Im5lby1vbmUtbm9kZS1wcm90b2NvbC9zcmMvcGF5bG9hZC9HZXRCbG9ja3NQYXlsb2FkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmluYXJ5V3JpdGVyLFxuICBjb21tb24sXG4gIGNyZWF0ZVNlcmlhbGl6ZVdpcmUsXG4gIFNlcmlhbGl6YWJsZVdpcmUsXG4gIFNlcmlhbGl6ZVdpcmUsXG4gIFVJbnQyNTYsXG59IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgQmluYXJ5UmVhZGVyLCBEZXNlcmlhbGl6ZVdpcmVCYXNlT3B0aW9ucywgRGVzZXJpYWxpemVXaXJlT3B0aW9ucyB9IGZyb20gJ0BuZW8tb25lL25vZGUtY29yZSc7XG5leHBvcnQgaW50ZXJmYWNlIEdldEJsb2Nrc1BheWxvYWRBZGQge1xuICByZWFkb25seSBoYXNoU3RhcnQ6IHJlYWRvbmx5IFVJbnQyNTZbXTtcbiAgcmVhZG9ubHkgaGFzaFN0b3A/OiBVSW50MjU2O1xufVxuXG5leHBvcnQgY2xhc3MgR2V0QmxvY2tzUGF5bG9hZCBpbXBsZW1lbnRzIFNlcmlhbGl6YWJsZVdpcmU8R2V0QmxvY2tzUGF5bG9hZD4ge1xuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplV2lyZUJhc2UoeyByZWFkZXIgfTogRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMpOiBHZXRCbG9ja3NQYXlsb2FkIHtcbiAgICBjb25zdCBoYXNoU3RhcnQgPSByZWFkZXIucmVhZEFycmF5KCgpID0+IHJlYWRlci5yZWFkVUludDI1NigpKTtcbiAgICBjb25zdCBoYXNoU3RvcCA9IHJlYWRlci5yZWFkVUludDI1NigpO1xuXG4gICAgcmV0dXJuIG5ldyB0aGlzKHsgaGFzaFN0YXJ0LCBoYXNoU3RvcCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGVzZXJpYWxpemVXaXJlKG9wdGlvbnM6IERlc2VyaWFsaXplV2lyZU9wdGlvbnMpOiBHZXRCbG9ja3NQYXlsb2FkIHtcbiAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZVdpcmVCYXNlKHtcbiAgICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCxcbiAgICAgIHJlYWRlcjogbmV3IEJpbmFyeVJlYWRlcihvcHRpb25zLmJ1ZmZlciksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgaGFzaFN0YXJ0OiByZWFkb25seSBVSW50MjU2W107XG4gIHB1YmxpYyByZWFkb25seSBoYXNoU3RvcDogVUludDI1NjtcbiAgcHVibGljIHJlYWRvbmx5IHNlcmlhbGl6ZVdpcmU6IFNlcmlhbGl6ZVdpcmUgPSBjcmVhdGVTZXJpYWxpemVXaXJlKHRoaXMuc2VyaWFsaXplV2lyZUJhc2UuYmluZCh0aGlzKSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHsgaGFzaFN0YXJ0LCBoYXNoU3RvcCA9IGNvbW1vbi5aRVJPX1VJTlQyNTYgfTogR2V0QmxvY2tzUGF5bG9hZEFkZCkge1xuICAgIHRoaXMuaGFzaFN0YXJ0ID0gaGFzaFN0YXJ0O1xuICAgIHRoaXMuaGFzaFN0b3AgPSBoYXNoU3RvcDtcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVXaXJlQmFzZSh3cml0ZXI6IEJpbmFyeVdyaXRlcik6IHZvaWQge1xuICAgIHdyaXRlci53cml0ZUFycmF5KHRoaXMuaGFzaFN0YXJ0LCAodmFsdWUpID0+IHtcbiAgICAgIHdyaXRlci53cml0ZVVJbnQyNTYodmFsdWUpO1xuICAgIH0pO1xuICAgIHdyaXRlci53cml0ZVVJbnQyNTYodGhpcy5oYXNoU3RvcCk7XG4gIH1cbn1cbiJdfQ==