@neo-one/node-protocol
Version:
NEO•ONE NEO node and consensus protocol.
29 lines (27 loc) • 4.11 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");
const NetworkAddress_1 = require("./NetworkAddress");
class AddrPayload {
constructor({ addresses }) {
this.serializeWire = client_common_1.createSerializeWire(this.serializeWireBase.bind(this));
this.addresses = addresses;
}
static deserializeWireBase(options) {
const { reader } = options;
const addresses = reader.readArray(() => NetworkAddress_1.NetworkAddress.deserializeWireBase(options));
return new this({ addresses });
}
static deserializeWire(options) {
return this.deserializeWireBase({
context: options.context,
reader: new node_core_1.BinaryReader(options.buffer),
});
}
serializeWireBase(writer) {
writer.writeArray(this.addresses, (address) => address.serializeWireBase(writer));
}
}
exports.AddrPayload = AddrPayload;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFkZHJQYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBQTRHO0FBQzVHLGtEQUFzRztBQUN0RyxxREFBa0Q7QUFLbEQsTUFBYSxXQUFXO0lBa0J0QixZQUFtQixFQUFFLFNBQVMsRUFBa0I7UUFGaEMsa0JBQWEsR0FBa0IsbUNBQW1CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBR3BHLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFuQk0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQW1DO1FBQ25FLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDM0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBYyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFdEYsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBK0I7UUFDM0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDOUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLHdCQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBU00saUJBQWlCLENBQUMsTUFBb0I7UUFDM0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0NBQ0Y7QUF6QkQsa0NBeUJDIiwiZmlsZSI6Im5lby1vbmUtbm9kZS1wcm90b2NvbC9zcmMvcGF5bG9hZC9BZGRyUGF5bG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpbmFyeVdyaXRlciwgY3JlYXRlU2VyaWFsaXplV2lyZSwgU2VyaWFsaXphYmxlV2lyZSwgU2VyaWFsaXplV2lyZSB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgQmluYXJ5UmVhZGVyLCBEZXNlcmlhbGl6ZVdpcmVCYXNlT3B0aW9ucywgRGVzZXJpYWxpemVXaXJlT3B0aW9ucyB9IGZyb20gJ0BuZW8tb25lL25vZGUtY29yZSc7XG5pbXBvcnQgeyBOZXR3b3JrQWRkcmVzcyB9IGZyb20gJy4vTmV0d29ya0FkZHJlc3MnO1xuZXhwb3J0IGludGVyZmFjZSBBZGRyUGF5bG9hZEFkZCB7XG4gIHJlYWRvbmx5IGFkZHJlc3NlczogcmVhZG9ubHkgTmV0d29ya0FkZHJlc3NbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFkZHJQYXlsb2FkIGltcGxlbWVudHMgU2VyaWFsaXphYmxlV2lyZTxBZGRyUGF5bG9hZD4ge1xuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplV2lyZUJhc2Uob3B0aW9uczogRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMpOiBBZGRyUGF5bG9hZCB7XG4gICAgY29uc3QgeyByZWFkZXIgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgYWRkcmVzc2VzID0gcmVhZGVyLnJlYWRBcnJheSgoKSA9PiBOZXR3b3JrQWRkcmVzcy5kZXNlcmlhbGl6ZVdpcmVCYXNlKG9wdGlvbnMpKTtcblxuICAgIHJldHVybiBuZXcgdGhpcyh7IGFkZHJlc3NlcyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGVzZXJpYWxpemVXaXJlKG9wdGlvbnM6IERlc2VyaWFsaXplV2lyZU9wdGlvbnMpOiBBZGRyUGF5bG9hZCB7XG4gICAgcmV0dXJuIHRoaXMuZGVzZXJpYWxpemVXaXJlQmFzZSh7XG4gICAgICBjb250ZXh0OiBvcHRpb25zLmNvbnRleHQsXG4gICAgICByZWFkZXI6IG5ldyBCaW5hcnlSZWFkZXIob3B0aW9ucy5idWZmZXIpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGFkZHJlc3NlczogcmVhZG9ubHkgTmV0d29ya0FkZHJlc3NbXTtcbiAgcHVibGljIHJlYWRvbmx5IHNlcmlhbGl6ZVdpcmU6IFNlcmlhbGl6ZVdpcmUgPSBjcmVhdGVTZXJpYWxpemVXaXJlKHRoaXMuc2VyaWFsaXplV2lyZUJhc2UuYmluZCh0aGlzKSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHsgYWRkcmVzc2VzIH06IEFkZHJQYXlsb2FkQWRkKSB7XG4gICAgdGhpcy5hZGRyZXNzZXMgPSBhZGRyZXNzZXM7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyOiBCaW5hcnlXcml0ZXIpOiB2b2lkIHtcbiAgICB3cml0ZXIud3JpdGVBcnJheSh0aGlzLmFkZHJlc3NlcywgKGFkZHJlc3MpID0+IGFkZHJlc3Muc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyKSk7XG4gIH1cbn1cbiJdfQ==