UNPKG

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