UNPKG

5.09 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const client_common_1 = require("@neo-one/client-common");
4const ContractParameterBase_1 = require("./ContractParameterBase");
5const ContractParameterType_1 = require("./ContractParameterType");
6class PublicKeyContractParameter extends ContractParameterBase_1.ContractParameterBase {
7 constructor(value) {
8 super();
9 this.type = ContractParameterType_1.ContractParameterType.PublicKey;
10 this.value = value;
11 this.sizeInternal = client_common_1.utils.lazy(() => client_common_1.IOHelper.sizeOfECPoint(this.value));
12 }
13 static deserializeWireBase(options) {
14 const { reader } = options;
15 super.deserializeContractParameterBaseWireBase(options);
16 const value = reader.readECPoint();
17 return new this(value);
18 }
19 get size() {
20 return this.sizeInternal();
21 }
22 asBuffer() {
23 return client_common_1.common.ecPointToBuffer(this.value);
24 }
25 serializeWireBase(writer) {
26 super.serializeWireBase(writer);
27 writer.writeECPoint(this.value);
28 }
29 serializeJSON(_context) {
30 return {
31 type: 'PublicKey',
32 value: client_common_1.JSONHelper.writeECPoint(this.value),
33 };
34 }
35}
36exports.PublicKeyContractParameter = PublicKeyContractParameter;
37
38//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlB1YmxpY0tleUNvbnRyYWN0UGFyYW1ldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBUWdDO0FBRWhDLG1FQUFnRTtBQUNoRSxtRUFBZ0U7QUFFaEUsTUFBYSwwQkFBMkIsU0FBUSw2Q0FJL0M7SUFhQyxZQUFtQixLQUFjO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBTE0sU0FBSSxHQUFHLDZDQUFxQixDQUFDLFNBQVMsQ0FBQztRQU1yRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFoQk0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQW1DO1FBQ25FLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDM0IsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFZRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sc0JBQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFvQjtRQUMzQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxRQUE4QjtRQUNqRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLDBCQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTFDRCxnRUEwQ0MiLCJmaWxlIjoibmVvLW9uZS1ub2RlLWNvcmUvc3JjL2NvbnRyYWN0UGFyYW1ldGVyL1B1YmxpY0tleUNvbnRyYWN0UGFyYW1ldGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmluYXJ5V3JpdGVyLFxuICBjb21tb24sXG4gIEVDUG9pbnQsXG4gIElPSGVscGVyLFxuICBKU09OSGVscGVyLFxuICBQdWJsaWNLZXlDb250cmFjdFBhcmFtZXRlckpTT04sXG4gIHV0aWxzLFxufSBmcm9tICdAbmVvLW9uZS9jbGllbnQtY29tbW9uJztcbmltcG9ydCB7IERlc2VyaWFsaXplV2lyZUJhc2VPcHRpb25zLCBTZXJpYWxpemVKU09OQ29udGV4dCB9IGZyb20gJy4uL1NlcmlhbGl6YWJsZSc7XG5pbXBvcnQgeyBDb250cmFjdFBhcmFtZXRlckJhc2UgfSBmcm9tICcuL0NvbnRyYWN0UGFyYW1ldGVyQmFzZSc7XG5pbXBvcnQgeyBDb250cmFjdFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL0NvbnRyYWN0UGFyYW1ldGVyVHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBQdWJsaWNLZXlDb250cmFjdFBhcmFtZXRlciBleHRlbmRzIENvbnRyYWN0UGFyYW1ldGVyQmFzZTxcbiAgUHVibGljS2V5Q29udHJhY3RQYXJhbWV0ZXIsXG4gIFB1YmxpY0tleUNvbnRyYWN0UGFyYW1ldGVySlNPTixcbiAgQ29udHJhY3RQYXJhbWV0ZXJUeXBlLlB1YmxpY0tleVxuPiB7XG4gIHB1YmxpYyBzdGF0aWMgZGVzZXJpYWxpemVXaXJlQmFzZShvcHRpb25zOiBEZXNlcmlhbGl6ZVdpcmVCYXNlT3B0aW9ucyk6IFB1YmxpY0tleUNvbnRyYWN0UGFyYW1ldGVyIHtcbiAgICBjb25zdCB7IHJlYWRlciB9ID0gb3B0aW9ucztcbiAgICBzdXBlci5kZXNlcmlhbGl6ZUNvbnRyYWN0UGFyYW1ldGVyQmFzZVdpcmVCYXNlKG9wdGlvbnMpO1xuICAgIGNvbnN0IHZhbHVlID0gcmVhZGVyLnJlYWRFQ1BvaW50KCk7XG5cbiAgICByZXR1cm4gbmV3IHRoaXModmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSBDb250cmFjdFBhcmFtZXRlclR5cGUuUHVibGljS2V5O1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IEVDUG9pbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2l6ZUludGVybmFsOiAoKSA9PiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHZhbHVlOiBFQ1BvaW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5zaXplSW50ZXJuYWwgPSB1dGlscy5sYXp5KCgpID0+IElPSGVscGVyLnNpemVPZkVDUG9pbnQodGhpcy52YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZUludGVybmFsKCk7XG4gIH1cblxuICBwdWJsaWMgYXNCdWZmZXIoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gY29tbW9uLmVjUG9pbnRUb0J1ZmZlcih0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVXaXJlQmFzZSh3cml0ZXI6IEJpbmFyeVdyaXRlcik6IHZvaWQge1xuICAgIHN1cGVyLnNlcmlhbGl6ZVdpcmVCYXNlKHdyaXRlcik7XG4gICAgd3JpdGVyLndyaXRlRUNQb2ludCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVKU09OKF9jb250ZXh0OiBTZXJpYWxpemVKU09OQ29udGV4dCk6IFB1YmxpY0tleUNvbnRyYWN0UGFyYW1ldGVySlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdQdWJsaWNLZXknLFxuICAgICAgdmFsdWU6IEpTT05IZWxwZXIud3JpdGVFQ1BvaW50KHRoaXMudmFsdWUpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==