UNPKG

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