UNPKG

6.68 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const client_common_1 = require("@neo-one/client-common");
4const utils_1 = require("../utils");
5class Output extends client_common_1.OutputModel {
6 constructor() {
7 super(...arguments);
8 this.equals = utils_1.utils.equals(Output, this, (other) => client_common_1.common.uInt256Equal(this.asset, other.asset) &&
9 this.value.eq(other.value) &&
10 client_common_1.common.uInt160Equal(this.address, other.address));
11 this.toKeyString = utils_1.utils.toKeyString(Output, () => `${client_common_1.common.uInt256ToString(this.asset)}:${this.value.toString(10)}:${client_common_1.common.uInt160ToString(this.address)}`);
12 }
13 static deserializeWireBase({ reader }) {
14 const asset = reader.readUInt256();
15 const value = reader.readFixed8();
16 const address = reader.readUInt160();
17 return new this({ asset, value, address });
18 }
19 static deserializeWire(options) {
20 return this.deserializeWireBase({
21 context: options.context,
22 reader: new utils_1.BinaryReader(options.buffer),
23 });
24 }
25 clone({ value = this.value }) {
26 return new Output({
27 asset: this.asset,
28 value,
29 address: this.address,
30 });
31 }
32 serializeJSON(context, index) {
33 return {
34 n: index,
35 asset: client_common_1.JSONHelper.writeUInt256(this.asset),
36 value: client_common_1.JSONHelper.writeFixed8(this.value),
37 address: client_common_1.crypto.scriptHashToAddress({
38 addressVersion: context.addressVersion,
39 scriptHash: this.address,
40 }),
41 };
42 }
43}
44exports.Output = Output;
45
46//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk91dHB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBEQUFzRztBQUl0RyxvQ0FBK0M7QUFPL0MsTUFBYSxNQUFPLFNBQVEsMkJBQVc7SUFBdkM7O1FBZ0JrQixXQUFNLEdBQVcsYUFBSyxDQUFDLE1BQU0sQ0FDM0MsTUFBTSxFQUNOLElBQUksRUFDSixDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1Isc0JBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDMUIsc0JBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQ25ELENBQUM7UUFDYyxnQkFBVyxHQUFHLGFBQUssQ0FBQyxXQUFXLENBQzdDLE1BQU0sRUFDTixHQUFHLEVBQUUsQ0FBQyxHQUFHLHNCQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxzQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDakgsQ0FBQztJQXFCSixDQUFDO0lBL0NRLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sRUFBOEI7UUFDdEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFckMsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUErQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsTUFBTSxFQUFFLElBQUksb0JBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFlTSxLQUFLLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBMkI7UUFDMUQsT0FBTyxJQUFJLE1BQU0sQ0FBQztZQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQTZCLEVBQUUsS0FBYTtRQUMvRCxPQUFPO1lBQ0wsQ0FBQyxFQUFFLEtBQUs7WUFDUixLQUFLLEVBQUUsMEJBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMxQyxLQUFLLEVBQUUsMEJBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QyxPQUFPLEVBQUUsc0JBQU0sQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO2dCQUN0QyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDekIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFoREQsd0JBZ0RDIiwiZmlsZSI6Im5lby1vbmUtbm9kZS1jb3JlL3NyYy90cmFuc2FjdGlvbi9PdXRwdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21tb24sIGNyeXB0bywgSlNPTkhlbHBlciwgT3V0cHV0SlNPTiwgT3V0cHV0TW9kZWwsIFVJbnQyNTYgfSBmcm9tICdAbmVvLW9uZS9jbGllbnQtY29tbW9uJztcbmltcG9ydCB7IEJOIH0gZnJvbSAnYm4uanMnO1xuaW1wb3J0IHsgRXF1YWxzLCBFcXVhdGFibGVLZXkgfSBmcm9tICcuLi9FcXVhdGFibGUnO1xuaW1wb3J0IHsgRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMsIERlc2VyaWFsaXplV2lyZU9wdGlvbnMsIFNlcmlhbGl6ZUpTT05Db250ZXh0IH0gZnJvbSAnLi4vU2VyaWFsaXphYmxlJztcbmltcG9ydCB7IEJpbmFyeVJlYWRlciwgdXRpbHMgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0S2V5IHtcbiAgcmVhZG9ubHkgaGFzaDogVUludDI1NjtcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIE91dHB1dCBleHRlbmRzIE91dHB1dE1vZGVsIGltcGxlbWVudHMgRXF1YXRhYmxlS2V5IHtcbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmVCYXNlKHsgcmVhZGVyIH06IERlc2VyaWFsaXplV2lyZUJhc2VPcHRpb25zKTogT3V0cHV0IHtcbiAgICBjb25zdCBhc3NldCA9IHJlYWRlci5yZWFkVUludDI1NigpO1xuICAgIGNvbnN0IHZhbHVlID0gcmVhZGVyLnJlYWRGaXhlZDgoKTtcbiAgICBjb25zdCBhZGRyZXNzID0gcmVhZGVyLnJlYWRVSW50MTYwKCk7XG5cbiAgICByZXR1cm4gbmV3IHRoaXMoeyBhc3NldCwgdmFsdWUsIGFkZHJlc3MgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplV2lyZShvcHRpb25zOiBEZXNlcmlhbGl6ZVdpcmVPcHRpb25zKTogT3V0cHV0IHtcbiAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZVdpcmVCYXNlKHtcbiAgICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCxcbiAgICAgIHJlYWRlcjogbmV3IEJpbmFyeVJlYWRlcihvcHRpb25zLmJ1ZmZlciksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZXF1YWxzOiBFcXVhbHMgPSB1dGlscy5lcXVhbHMoXG4gICAgT3V0cHV0LFxuICAgIHRoaXMsXG4gICAgKG90aGVyKSA9PlxuICAgICAgY29tbW9uLnVJbnQyNTZFcXVhbCh0aGlzLmFzc2V0LCBvdGhlci5hc3NldCkgJiZcbiAgICAgIHRoaXMudmFsdWUuZXEob3RoZXIudmFsdWUpICYmXG4gICAgICBjb21tb24udUludDE2MEVxdWFsKHRoaXMuYWRkcmVzcywgb3RoZXIuYWRkcmVzcyksXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSB0b0tleVN0cmluZyA9IHV0aWxzLnRvS2V5U3RyaW5nKFxuICAgIE91dHB1dCxcbiAgICAoKSA9PiBgJHtjb21tb24udUludDI1NlRvU3RyaW5nKHRoaXMuYXNzZXQpfToke3RoaXMudmFsdWUudG9TdHJpbmcoMTApfToke2NvbW1vbi51SW50MTYwVG9TdHJpbmcodGhpcy5hZGRyZXNzKX1gLFxuICApO1xuXG4gIHB1YmxpYyBjbG9uZSh7IHZhbHVlID0gdGhpcy52YWx1ZSB9OiB7IHJlYWRvbmx5IHZhbHVlPzogQk4gfSk6IE91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBPdXRwdXQoe1xuICAgICAgYXNzZXQ6IHRoaXMuYXNzZXQsXG4gICAgICB2YWx1ZSxcbiAgICAgIGFkZHJlc3M6IHRoaXMuYWRkcmVzcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVKU09OKGNvbnRleHQ6IFNlcmlhbGl6ZUpTT05Db250ZXh0LCBpbmRleDogbnVtYmVyKTogT3V0cHV0SlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG46IGluZGV4LFxuICAgICAgYXNzZXQ6IEpTT05IZWxwZXIud3JpdGVVSW50MjU2KHRoaXMuYXNzZXQpLFxuICAgICAgdmFsdWU6IEpTT05IZWxwZXIud3JpdGVGaXhlZDgodGhpcy52YWx1ZSksXG4gICAgICBhZGRyZXNzOiBjcnlwdG8uc2NyaXB0SGFzaFRvQWRkcmVzcyh7XG4gICAgICAgIGFkZHJlc3NWZXJzaW9uOiBjb250ZXh0LmFkZHJlc3NWZXJzaW9uLFxuICAgICAgICBzY3JpcHRIYXNoOiB0aGlzLmFkZHJlc3MsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG59XG4iXX0=