UNPKG

4.95 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 ByteArrayContractParameter extends ContractParameterBase_1.ContractParameterBase {
7 constructor(value) {
8 super();
9 this.type = ContractParameterType_1.ContractParameterType.ByteArray;
10 this.value = value;
11 this.sizeInternal = client_common_1.utils.lazy(() => client_common_1.IOHelper.sizeOfVarBytesLE(this.value));
12 }
13 static deserializeWireBase(options) {
14 const { reader } = options;
15 super.deserializeContractParameterBaseWireBase(options);
16 const value = reader.readVarBytesLE();
17 return new this(value);
18 }
19 get size() {
20 return this.sizeInternal();
21 }
22 asBuffer() {
23 return this.value;
24 }
25 serializeWireBase(writer) {
26 super.serializeWireBase(writer);
27 writer.writeVarBytesLE(this.value);
28 }
29 serializeJSON(_context) {
30 return {
31 type: 'ByteArray',
32 value: client_common_1.JSONHelper.writeBuffer(this.value),
33 };
34 }
35}
36exports.ByteArrayContractParameter = ByteArrayContractParameter;
37
38//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ5dGVBcnJheUNvbnRyYWN0UGFyYW1ldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBQW1IO0FBRW5ILG1FQUFnRTtBQUNoRSxtRUFBZ0U7QUFFaEUsTUFBYSwwQkFBMkIsU0FBUSw2Q0FJL0M7SUFhQyxZQUFtQixLQUFhO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBTE0sU0FBSSxHQUFHLDZDQUFxQixDQUFDLFNBQVMsQ0FBQztRQU1yRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQWhCTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBbUM7UUFDbkUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMzQixLQUFLLENBQUMsd0NBQXdDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQVlELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFvQjtRQUMzQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxRQUE4QjtRQUNqRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLDBCQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDMUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTFDRCxnRUEwQ0MiLCJmaWxlIjoibmVvLW9uZS1ub2RlLWNvcmUvc3JjL2NvbnRyYWN0UGFyYW1ldGVyL0J5dGVBcnJheUNvbnRyYWN0UGFyYW1ldGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmluYXJ5V3JpdGVyLCBCeXRlQXJyYXlDb250cmFjdFBhcmFtZXRlckpTT04sIElPSGVscGVyLCBKU09OSGVscGVyLCB1dGlscyB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMsIFNlcmlhbGl6ZUpTT05Db250ZXh0IH0gZnJvbSAnLi4vU2VyaWFsaXphYmxlJztcbmltcG9ydCB7IENvbnRyYWN0UGFyYW1ldGVyQmFzZSB9IGZyb20gJy4vQ29udHJhY3RQYXJhbWV0ZXJCYXNlJztcbmltcG9ydCB7IENvbnRyYWN0UGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vQ29udHJhY3RQYXJhbWV0ZXJUeXBlJztcblxuZXhwb3J0IGNsYXNzIEJ5dGVBcnJheUNvbnRyYWN0UGFyYW1ldGVyIGV4dGVuZHMgQ29udHJhY3RQYXJhbWV0ZXJCYXNlPFxuICBCeXRlQXJyYXlDb250cmFjdFBhcmFtZXRlcixcbiAgQnl0ZUFycmF5Q29udHJhY3RQYXJhbWV0ZXJKU09OLFxuICBDb250cmFjdFBhcmFtZXRlclR5cGUuQnl0ZUFycmF5XG4+IHtcbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmVCYXNlKG9wdGlvbnM6IERlc2VyaWFsaXplV2lyZUJhc2VPcHRpb25zKTogQnl0ZUFycmF5Q29udHJhY3RQYXJhbWV0ZXIge1xuICAgIGNvbnN0IHsgcmVhZGVyIH0gPSBvcHRpb25zO1xuICAgIHN1cGVyLmRlc2VyaWFsaXplQ29udHJhY3RQYXJhbWV0ZXJCYXNlV2lyZUJhc2Uob3B0aW9ucyk7XG4gICAgY29uc3QgdmFsdWUgPSByZWFkZXIucmVhZFZhckJ5dGVzTEUoKTtcblxuICAgIHJldHVybiBuZXcgdGhpcyh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9IENvbnRyYWN0UGFyYW1ldGVyVHlwZS5CeXRlQXJyYXk7XG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZTogQnVmZmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpemVJbnRlcm5hbDogKCkgPT4gbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YWx1ZTogQnVmZmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5zaXplSW50ZXJuYWwgPSB1dGlscy5sYXp5KCgpID0+IElPSGVscGVyLnNpemVPZlZhckJ5dGVzTEUodGhpcy52YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZUludGVybmFsKCk7XG4gIH1cblxuICBwdWJsaWMgYXNCdWZmZXIoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVXaXJlQmFzZSh3cml0ZXI6IEJpbmFyeVdyaXRlcik6IHZvaWQge1xuICAgIHN1cGVyLnNlcmlhbGl6ZVdpcmVCYXNlKHdyaXRlcik7XG4gICAgd3JpdGVyLndyaXRlVmFyQnl0ZXNMRSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVKU09OKF9jb250ZXh0OiBTZXJpYWxpemVKU09OQ29udGV4dCk6IEJ5dGVBcnJheUNvbnRyYWN0UGFyYW1ldGVySlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdCeXRlQXJyYXknLFxuICAgICAgdmFsdWU6IEpTT05IZWxwZXIud3JpdGVCdWZmZXIodGhpcy52YWx1ZSksXG4gICAgfTtcbiAgfVxufVxuIl19