UNPKG

7.31 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const client_common_1 = require("@neo-one/client-common");
4const Serializable_1 = require("../Serializable");
5const utils_1 = require("../utils");
6class ActionBase {
7 constructor({ type, version, index, scriptHash }) {
8 this.serializeWire = Serializable_1.createSerializeWire(this.serializeWireBase.bind(this));
9 this.type = type;
10 this.version = version === undefined ? this.constructor.VERSION : version;
11 this.index = index;
12 this.scriptHash = scriptHash;
13 }
14 static deserializeWireBase(_options) {
15 throw new Error('Not Implemented');
16 }
17 static deserializeWire(options) {
18 return this.deserializeWireBase({
19 context: options.context,
20 reader: new utils_1.BinaryReader(options.buffer),
21 });
22 }
23 serializeWireBase(writer) {
24 writer.writeUInt8(this.type);
25 writer.writeUInt8(this.version);
26 writer.writeUInt64LE(this.index);
27 writer.writeUInt160(this.scriptHash);
28 }
29 serializeActionBaseJSON(_context) {
30 return {
31 version: this.version,
32 index: client_common_1.JSONHelper.writeUInt64(this.index),
33 scriptHash: client_common_1.JSONHelper.writeUInt160(this.scriptHash),
34 };
35 }
36}
37ActionBase.VERSION = 0;
38ActionBase.deserializeActionBaseWireBase = ({ reader }) => {
39 const type = reader.readUInt8();
40 const version = reader.readUInt8();
41 const index = reader.readUInt64LE();
42 const scriptHash = reader.readUInt160();
43 return {
44 type,
45 version,
46 index,
47 scriptHash,
48 };
49};
50exports.ActionBase = ActionBase;
51
52//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGlvbkJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwREFBMkY7QUFFM0Ysa0RBT3lCO0FBQ3pCLG9DQUF3QztBQWN4QyxNQUFhLFVBQVU7SUFrQ3JCLFlBQW1CLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUErQjtRQUZwRSxrQkFBYSxHQUFrQixrQ0FBbUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFHcEcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsV0FBaUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNqRyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBdEJNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFvQztRQUNwRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBK0I7UUFDM0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDOUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLG9CQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBZU0saUJBQWlCLENBQUMsTUFBb0I7UUFDM0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQThCO1FBQzNELE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsS0FBSyxFQUFFLDBCQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekMsVUFBVSxFQUFFLDBCQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDckQsQ0FBQztJQUNKLENBQUM7O0FBckRzQixrQkFBTyxHQUFHLENBQUMsQ0FBQztBQUVaLHdDQUE2QixHQUFHLENBQUMsRUFBRSxNQUFNLEVBQThCLEVBQUUsRUFBRTtJQUNoRyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25DLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFeEMsT0FBTztRQUNMLElBQUk7UUFDSixPQUFPO1FBQ1AsS0FBSztRQUNMLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBZkosZ0NBdURDIiwiZmlsZSI6Im5lby1vbmUtbm9kZS1jb3JlL3NyYy9hY3Rpb24vQWN0aW9uQmFzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkJhc2VKU09OLCBCaW5hcnlXcml0ZXIsIEpTT05IZWxwZXIsIFVJbnQxNjAgfSBmcm9tICdAbmVvLW9uZS9jbGllbnQtY29tbW9uJztcbmltcG9ydCB7IEJOIH0gZnJvbSAnYm4uanMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VyaWFsaXplV2lyZSxcbiAgRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMsXG4gIERlc2VyaWFsaXplV2lyZU9wdGlvbnMsXG4gIFNlcmlhbGl6YWJsZVdpcmUsXG4gIFNlcmlhbGl6ZUpTT05Db250ZXh0LFxuICBTZXJpYWxpemVXaXJlLFxufSBmcm9tICcuLi9TZXJpYWxpemFibGUnO1xuaW1wb3J0IHsgQmluYXJ5UmVhZGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4vQWN0aW9uVHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQmFzZUFkZCB7XG4gIHJlYWRvbmx5IHZlcnNpb24/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGluZGV4OiBCTjtcbiAgcmVhZG9ubHkgc2NyaXB0SGFzaDogVUludDE2MDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25CYXNlQWRkV2l0aFR5cGU8VHlwZSBleHRlbmRzIEFjdGlvblR5cGU+IGV4dGVuZHMgQWN0aW9uQmFzZUFkZCB7XG4gIHJlYWRvbmx5IHR5cGU6IFR5cGU7XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby1hbnlcbmV4cG9ydCBjbGFzcyBBY3Rpb25CYXNlPFQgPSBhbnksIFR5cGUgZXh0ZW5kcyBBY3Rpb25UeXBlID0gQWN0aW9uVHlwZT4gaW1wbGVtZW50cyBTZXJpYWxpemFibGVXaXJlPFQ+IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWRVJTSU9OID0gMDtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGRlc2VyaWFsaXplQWN0aW9uQmFzZVdpcmVCYXNlID0gKHsgcmVhZGVyIH06IERlc2VyaWFsaXplV2lyZUJhc2VPcHRpb25zKSA9PiB7XG4gICAgY29uc3QgdHlwZSA9IHJlYWRlci5yZWFkVUludDgoKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcmVhZGVyLnJlYWRVSW50OCgpO1xuICAgIGNvbnN0IGluZGV4ID0gcmVhZGVyLnJlYWRVSW50NjRMRSgpO1xuICAgIGNvbnN0IHNjcmlwdEhhc2ggPSByZWFkZXIucmVhZFVJbnQxNjAoKTtcblxuICAgIHJldHVybiB7XG4gICAgICB0eXBlLFxuICAgICAgdmVyc2lvbixcbiAgICAgIGluZGV4LFxuICAgICAgc2NyaXB0SGFzaCxcbiAgICB9O1xuICB9O1xuXG4gIHB1YmxpYyBzdGF0aWMgZGVzZXJpYWxpemVXaXJlQmFzZShfb3B0aW9uczogRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMpOiBBY3Rpb25CYXNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBJbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmUob3B0aW9uczogRGVzZXJpYWxpemVXaXJlT3B0aW9ucyk6IEFjdGlvbkJhc2Uge1xuICAgIHJldHVybiB0aGlzLmRlc2VyaWFsaXplV2lyZUJhc2Uoe1xuICAgICAgY29udGV4dDogb3B0aW9ucy5jb250ZXh0LFxuICAgICAgcmVhZGVyOiBuZXcgQmluYXJ5UmVhZGVyKG9wdGlvbnMuYnVmZmVyKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5kZXg6IEJOO1xuICBwdWJsaWMgcmVhZG9ubHkgc2NyaXB0SGFzaDogVUludDE2MDtcbiAgcHVibGljIHJlYWRvbmx5IHNlcmlhbGl6ZVdpcmU6IFNlcmlhbGl6ZVdpcmUgPSBjcmVhdGVTZXJpYWxpemVXaXJlKHRoaXMuc2VyaWFsaXplV2lyZUJhc2UuYmluZCh0aGlzKSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHsgdHlwZSwgdmVyc2lvbiwgaW5kZXgsIHNjcmlwdEhhc2ggfTogQWN0aW9uQmFzZUFkZFdpdGhUeXBlPFR5cGU+KSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uID09PSB1bmRlZmluZWQgPyAodGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgQWN0aW9uQmFzZSkuVkVSU0lPTiA6IHZlcnNpb247XG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgIHRoaXMuc2NyaXB0SGFzaCA9IHNjcmlwdEhhc2g7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyOiBCaW5hcnlXcml0ZXIpOiB2b2lkIHtcbiAgICB3cml0ZXIud3JpdGVVSW50OCh0aGlzLnR5cGUpO1xuICAgIHdyaXRlci53cml0ZVVJbnQ4KHRoaXMudmVyc2lvbik7XG4gICAgd3JpdGVyLndyaXRlVUludDY0TEUodGhpcy5pbmRleCk7XG4gICAgd3JpdGVyLndyaXRlVUludDE2MCh0aGlzLnNjcmlwdEhhc2gpO1xuICB9XG5cbiAgcHVibGljIHNlcmlhbGl6ZUFjdGlvbkJhc2VKU09OKF9jb250ZXh0OiBTZXJpYWxpemVKU09OQ29udGV4dCk6IEFjdGlvbkJhc2VKU09OIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uLFxuICAgICAgaW5kZXg6IEpTT05IZWxwZXIud3JpdGVVSW50NjQodGhpcy5pbmRleCksXG4gICAgICBzY3JpcHRIYXNoOiBKU09OSGVscGVyLndyaXRlVUludDE2MCh0aGlzLnNjcmlwdEhhc2gpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==