UNPKG

4.59 kBJavaScriptView Raw
1import { createSerializeWire } from '@neo-one/client-common-esnext-esm';
2import { BinaryReader } from '@neo-one/node-core-esnext-esm';
3import { assertInventoryType } from './InventoryType';
4export class InvPayload {
5 constructor({ type, hashes }) {
6 this.serializeWire = createSerializeWire(this.serializeWireBase.bind(this));
7 this.type = type;
8 this.hashes = hashes;
9 }
10 static deserializeWireBase({ reader }) {
11 const type = assertInventoryType(reader.readUInt8());
12 const hashes = reader.readArray(() => reader.readUInt256());
13 return new this({ type, hashes });
14 }
15 static deserializeWire(options) {
16 return this.deserializeWireBase({
17 context: options.context,
18 reader: new BinaryReader(options.buffer),
19 });
20 }
21 serializeWireBase(writer) {
22 writer.writeUInt8(this.type);
23 writer.writeArray(this.hashes, (value) => {
24 writer.writeUInt256(value);
25 });
26 }
27}
28
29//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkludlBheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixtQkFBbUIsRUFBNEMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoSSxPQUFPLEVBQUUsWUFBWSxFQUFzRCxNQUFNLCtCQUErQixDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQU1yRSxNQUFNLE9BQU8sVUFBVTtJQW1CckIsWUFBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFpQjtRQUZsQyxrQkFBYSxHQUFrQixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFHcEcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQXJCTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEVBQThCO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFNUQsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQStCO1FBQzNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQzlCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixNQUFNLEVBQUUsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBV00saUJBQWlCLENBQUMsTUFBb0I7UUFDM0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsImZpbGUiOiJuZW8tb25lLW5vZGUtcHJvdG9jb2wvc3JjL3BheWxvYWQvSW52UGF5bG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpbmFyeVdyaXRlciwgY3JlYXRlU2VyaWFsaXplV2lyZSwgU2VyaWFsaXphYmxlV2lyZSwgU2VyaWFsaXplV2lyZSwgVUludDI1NiB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24tZXNuZXh0LWVzbSc7XG5pbXBvcnQgeyBCaW5hcnlSZWFkZXIsIERlc2VyaWFsaXplV2lyZUJhc2VPcHRpb25zLCBEZXNlcmlhbGl6ZVdpcmVPcHRpb25zIH0gZnJvbSAnQG5lby1vbmUvbm9kZS1jb3JlLWVzbmV4dC1lc20nO1xuaW1wb3J0IHsgYXNzZXJ0SW52ZW50b3J5VHlwZSwgSW52ZW50b3J5VHlwZSB9IGZyb20gJy4vSW52ZW50b3J5VHlwZSc7XG5leHBvcnQgaW50ZXJmYWNlIEludlBheWxvYWRBZGQge1xuICByZWFkb25seSB0eXBlOiBJbnZlbnRvcnlUeXBlO1xuICByZWFkb25seSBoYXNoZXM6IFJlYWRvbmx5QXJyYXk8VUludDI1Nj47XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZQYXlsb2FkIGltcGxlbWVudHMgU2VyaWFsaXphYmxlV2lyZTxJbnZQYXlsb2FkPiB7XG4gIHB1YmxpYyBzdGF0aWMgZGVzZXJpYWxpemVXaXJlQmFzZSh7IHJlYWRlciB9OiBEZXNlcmlhbGl6ZVdpcmVCYXNlT3B0aW9ucyk6IEludlBheWxvYWQge1xuICAgIGNvbnN0IHR5cGUgPSBhc3NlcnRJbnZlbnRvcnlUeXBlKHJlYWRlci5yZWFkVUludDgoKSk7XG4gICAgY29uc3QgaGFzaGVzID0gcmVhZGVyLnJlYWRBcnJheSgoKSA9PiByZWFkZXIucmVhZFVJbnQyNTYoKSk7XG5cbiAgICByZXR1cm4gbmV3IHRoaXMoeyB0eXBlLCBoYXNoZXMgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplV2lyZShvcHRpb25zOiBEZXNlcmlhbGl6ZVdpcmVPcHRpb25zKTogSW52UGF5bG9hZCB7XG4gICAgcmV0dXJuIHRoaXMuZGVzZXJpYWxpemVXaXJlQmFzZSh7XG4gICAgICBjb250ZXh0OiBvcHRpb25zLmNvbnRleHQsXG4gICAgICByZWFkZXI6IG5ldyBCaW5hcnlSZWFkZXIob3B0aW9ucy5idWZmZXIpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEludmVudG9yeVR5cGU7XG4gIHB1YmxpYyByZWFkb25seSBoYXNoZXM6IFJlYWRvbmx5QXJyYXk8VUludDI1Nj47XG4gIHB1YmxpYyByZWFkb25seSBzZXJpYWxpemVXaXJlOiBTZXJpYWxpemVXaXJlID0gY3JlYXRlU2VyaWFsaXplV2lyZSh0aGlzLnNlcmlhbGl6ZVdpcmVCYXNlLmJpbmQodGhpcykpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih7IHR5cGUsIGhhc2hlcyB9OiBJbnZQYXlsb2FkQWRkKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmhhc2hlcyA9IGhhc2hlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVXaXJlQmFzZSh3cml0ZXI6IEJpbmFyeVdyaXRlcik6IHZvaWQge1xuICAgIHdyaXRlci53cml0ZVVJbnQ4KHRoaXMudHlwZSk7XG4gICAgd3JpdGVyLndyaXRlQXJyYXkodGhpcy5oYXNoZXMsICh2YWx1ZSkgPT4ge1xuICAgICAgd3JpdGVyLndyaXRlVUludDI1Nih2YWx1ZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==