UNPKG

6.12 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const contractParameter_1 = require("../contractParameter");
4const ActionBase_1 = require("./ActionBase");
5const ActionType_1 = require("./ActionType");
6class NotificationAction extends ActionBase_1.ActionBase {
7 static deserializeWireBase(options) {
8 const { reader } = options;
9 const action = super.deserializeActionBaseWireBase(options);
10 const args = reader.readArray(() => contractParameter_1.deserializeContractParameterWireBase(options));
11 return new this({
12 version: action.version,
13 index: action.index,
14 scriptHash: action.scriptHash,
15 args,
16 });
17 }
18 constructor({ version, index, scriptHash, args }) {
19 const options = {
20 type: ActionType_1.ActionType.Notification,
21 version,
22 index,
23 scriptHash,
24 };
25 super(options);
26 this.args = args;
27 }
28 serializeWireBase(writer) {
29 super.serializeWireBase(writer);
30 writer.writeArray(this.args, (arg) => arg.serializeWireBase(writer));
31 }
32 serializeJSON(context) {
33 const action = super.serializeActionBaseJSON(context);
34 return {
35 type: 'Notification',
36 version: action.version,
37 index: action.index,
38 scriptHash: action.scriptHash,
39 args: this.args.map((arg) => arg.serializeJSON(context)),
40 };
41 }
42}
43exports.NotificationAction = NotificationAction;
44
45//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk5vdGlmaWNhdGlvbkFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDREQUErRjtBQUUvRiw2Q0FBeUQ7QUFDekQsNkNBQTBDO0FBTTFDLE1BQWEsa0JBQW1CLFNBQVEsdUJBQXVEO0lBRXRGLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFtQztRQUNuRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLHdEQUFvQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFbkYsT0FBTyxJQUFJLElBQUksQ0FBQztZQUNkLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQsWUFBbUIsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQW1CO1FBQ3RFLE1BQU0sT0FBTyxHQUFHO1lBRWQsSUFBSSxFQUFFLHVCQUFVLENBQUMsWUFBdUM7WUFDeEQsT0FBTztZQUNQLEtBQUs7WUFDTCxVQUFVO1NBQ1gsQ0FBQztRQUNGLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFvQjtRQUMzQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQTZCO1FBQ2hELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0RCxPQUFPO1lBQ0wsSUFBSSxFQUFFLGNBQWM7WUFDcEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7WUFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pELENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE5Q0QsZ0RBOENDIiwiZmlsZSI6Im5lby1vbmUtbm9kZS1jb3JlL3NyYy9hY3Rpb24vTm90aWZpY2F0aW9uQWN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmluYXJ5V3JpdGVyLCBOb3RpZmljYXRpb25BY3Rpb25KU09OIH0gZnJvbSAnQG5lby1vbmUvY2xpZW50LWNvbW1vbic7XG5pbXBvcnQgeyBDb250cmFjdFBhcmFtZXRlciwgZGVzZXJpYWxpemVDb250cmFjdFBhcmFtZXRlcldpcmVCYXNlIH0gZnJvbSAnLi4vY29udHJhY3RQYXJhbWV0ZXInO1xuaW1wb3J0IHsgRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMsIFNlcmlhbGl6YWJsZUpTT04sIFNlcmlhbGl6ZUpTT05Db250ZXh0IH0gZnJvbSAnLi4vU2VyaWFsaXphYmxlJztcbmltcG9ydCB7IEFjdGlvbkJhc2UsIEFjdGlvbkJhc2VBZGQgfSBmcm9tICcuL0FjdGlvbkJhc2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4vQWN0aW9uVHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uQWRkIGV4dGVuZHMgQWN0aW9uQmFzZUFkZCB7XG4gIHJlYWRvbmx5IGFyZ3M6IHJlYWRvbmx5IENvbnRyYWN0UGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25BY3Rpb24gZXh0ZW5kcyBBY3Rpb25CYXNlPE5vdGlmaWNhdGlvbkFjdGlvbiwgQWN0aW9uVHlwZS5Ob3RpZmljYXRpb24+XG4gIGltcGxlbWVudHMgU2VyaWFsaXphYmxlSlNPTjxOb3RpZmljYXRpb25BY3Rpb25KU09OPiB7XG4gIHB1YmxpYyBzdGF0aWMgZGVzZXJpYWxpemVXaXJlQmFzZShvcHRpb25zOiBEZXNlcmlhbGl6ZVdpcmVCYXNlT3B0aW9ucyk6IE5vdGlmaWNhdGlvbkFjdGlvbiB7XG4gICAgY29uc3QgeyByZWFkZXIgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgYWN0aW9uID0gc3VwZXIuZGVzZXJpYWxpemVBY3Rpb25CYXNlV2lyZUJhc2Uob3B0aW9ucyk7XG4gICAgY29uc3QgYXJncyA9IHJlYWRlci5yZWFkQXJyYXkoKCkgPT4gZGVzZXJpYWxpemVDb250cmFjdFBhcmFtZXRlcldpcmVCYXNlKG9wdGlvbnMpKTtcblxuICAgIHJldHVybiBuZXcgdGhpcyh7XG4gICAgICB2ZXJzaW9uOiBhY3Rpb24udmVyc2lvbixcbiAgICAgIGluZGV4OiBhY3Rpb24uaW5kZXgsXG4gICAgICBzY3JpcHRIYXNoOiBhY3Rpb24uc2NyaXB0SGFzaCxcbiAgICAgIGFyZ3MsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgYXJnczogcmVhZG9ubHkgQ29udHJhY3RQYXJhbWV0ZXJbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoeyB2ZXJzaW9uLCBpbmRleCwgc2NyaXB0SGFzaCwgYXJncyB9OiBOb3RpZmljYXRpb25BZGQpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtY2FzdFxuICAgICAgdHlwZTogQWN0aW9uVHlwZS5Ob3RpZmljYXRpb24gYXMgQWN0aW9uVHlwZS5Ob3RpZmljYXRpb24sXG4gICAgICB2ZXJzaW9uLFxuICAgICAgaW5kZXgsXG4gICAgICBzY3JpcHRIYXNoLFxuICAgIH07XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLmFyZ3MgPSBhcmdzO1xuICB9XG5cbiAgcHVibGljIHNlcmlhbGl6ZVdpcmVCYXNlKHdyaXRlcjogQmluYXJ5V3JpdGVyKTogdm9pZCB7XG4gICAgc3VwZXIuc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyKTtcbiAgICB3cml0ZXIud3JpdGVBcnJheSh0aGlzLmFyZ3MsIChhcmcpID0+IGFyZy5zZXJpYWxpemVXaXJlQmFzZSh3cml0ZXIpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVKU09OKGNvbnRleHQ6IFNlcmlhbGl6ZUpTT05Db250ZXh0KTogTm90aWZpY2F0aW9uQWN0aW9uSlNPTiB7XG4gICAgY29uc3QgYWN0aW9uID0gc3VwZXIuc2VyaWFsaXplQWN0aW9uQmFzZUpTT04oY29udGV4dCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ05vdGlmaWNhdGlvbicsXG4gICAgICB2ZXJzaW9uOiBhY3Rpb24udmVyc2lvbixcbiAgICAgIGluZGV4OiBhY3Rpb24uaW5kZXgsXG4gICAgICBzY3JpcHRIYXNoOiBhY3Rpb24uc2NyaXB0SGFzaCxcbiAgICAgIGFyZ3M6IHRoaXMuYXJncy5tYXAoKGFyZykgPT4gYXJnLnNlcmlhbGl6ZUpTT04oY29udGV4dCkpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==