@ckb-ccc/ssri 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @ckb-ccc/ssri
2
2
 
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#134](https://github.com/ckb-devrel/ccc/pull/134) [`ecb9059`](https://github.com/ckb-devrel/ccc/commit/ecb9059e54f8a2afacda45e58a961532bf1107a1) Thanks [@Hanssen0](https://github.com/Hanssen0)! - fix(ssri): ssri.Trait class should not be abstract
8
+
9
+ - [`092c0a9`](https://github.com/ckb-devrel/ccc/commit/092c0a9e30ece8a8767fa59d23707833dce015eb) Thanks [@Hanssen0](https://github.com/Hanssen0)! - refactor(ssri): error types
10
+
11
+ - Updated dependencies [[`a48cccf`](https://github.com/ckb-devrel/ccc/commit/a48cccfae3ce6b3456a5eb863f207e7e5a6e568f)]:
12
+ - @ckb-ccc/core@1.3.1
13
+
3
14
  ## 0.1.0
4
15
 
5
16
  ### Minor Changes
@@ -14,6 +14,15 @@ export type ContextScript = {
14
14
  cell?: undefined | null;
15
15
  tx?: undefined | null;
16
16
  };
17
+ export declare class ExecutorErrorUnknown extends Error {
18
+ constructor(msg?: string);
19
+ }
20
+ export declare class ExecutorErrorExecutionFailed extends Error {
21
+ constructor(msg?: string);
22
+ }
23
+ export declare class ExecutorErrorDecode extends Error {
24
+ constructor(msg?: string);
25
+ }
17
26
  export type ContextCode = undefined | {
18
27
  script?: undefined | null;
19
28
  cell?: undefined | null;
@@ -26,9 +35,6 @@ export declare class ExecutorResponse<T> {
26
35
  static new<T>(res: T, cellDeps?: ccc.OutPointLike[] | null): ExecutorResponse<T>;
27
36
  map<U>(fn: (res: T) => U): ExecutorResponse<U>;
28
37
  }
29
- export declare class ExecutorErrorExecutionFailed extends Error {
30
- constructor(msg?: string);
31
- }
32
38
  /**
33
39
  * Represents an SSRI executor.
34
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/executor.js CHANGED
@@ -1,6 +1,21 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
2
  import { cccA } from "@ckb-ccc/core/advanced";
3
3
  import { getMethodPath } from "./utils.js";
4
+ export class ExecutorErrorUnknown extends Error {
5
+ constructor(msg) {
6
+ super(msg);
7
+ }
8
+ }
9
+ export class ExecutorErrorExecutionFailed extends Error {
10
+ constructor(msg) {
11
+ super(msg);
12
+ }
13
+ }
14
+ export class ExecutorErrorDecode extends Error {
15
+ constructor(msg) {
16
+ super(msg);
17
+ }
18
+ }
4
19
  export class ExecutorResponse {
5
20
  constructor(res, cellDeps) {
6
21
  this.res = res;
@@ -10,12 +25,12 @@ export class ExecutorResponse {
10
25
  return new ExecutorResponse(res, cellDeps?.map(ccc.OutPoint.from) ?? []);
11
26
  }
12
27
  map(fn) {
13
- return new ExecutorResponse(fn(this.res), this.cellDeps);
14
- }
15
- }
16
- export class ExecutorErrorExecutionFailed extends Error {
17
- constructor(msg) {
18
- super(msg);
28
+ try {
29
+ return new ExecutorResponse(fn(this.res), this.cellDeps);
30
+ }
31
+ catch (err) {
32
+ throw new ExecutorErrorDecode(JSON.stringify(err));
33
+ }
19
34
  }
20
35
  }
21
36
  /**
@@ -48,7 +63,7 @@ export class ExecutorJsonRpc extends Executor {
48
63
  errAny === null ||
49
64
  !("code" in errAny) ||
50
65
  typeof errAny.code !== "number") {
51
- throw errAny;
66
+ throw new ExecutorErrorUnknown(JSON.stringify(errAny));
52
67
  }
53
68
  if (errAny.code === 1003 || errAny.code === 1004) {
54
69
  if ("message" in errAny && typeof errAny.message === "string") {
@@ -56,7 +71,10 @@ export class ExecutorJsonRpc extends Executor {
56
71
  }
57
72
  throw new ExecutorErrorExecutionFailed();
58
73
  }
59
- throw errAny;
74
+ if ("message" in errAny && typeof errAny.message === "string") {
75
+ throw new ExecutorErrorUnknown(errAny.message);
76
+ }
77
+ throw new ExecutorErrorUnknown();
60
78
  });
61
79
  }
62
80
  get url() {
package/dist/trait.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
2
  import { Executor, ExecutorResponse } from "./executor.js";
3
3
  /**
4
- * Abstract class representing an SSRI trait. Should be used as the base of all SSRI traits.
4
+ * Class representing an SSRI trait. Should be used as the base of all SSRI traits.
5
5
  */
6
- export declare abstract class Trait {
6
+ export declare class Trait {
7
7
  readonly code: ccc.OutPoint;
8
8
  readonly executor?: Executor;
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"trait.d.ts","sourceRoot":"","sources":["../src/trait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG3D;;GAEG;AACH,8BAAsB,KAAK;IACzB,SAAgB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;IACnC,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpC;;;;OAIG;gBACS,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAK9D,cAAc;IAQd;;;;;OAKG;IACG,UAAU,CACd,MAAM,GAAE,GAAG,CAAC,OAAW,EACvB,KAAK,GAAE,GAAG,CAAC,OAAW,GACrB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAUvC;;;;OAIG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,GAC/B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IAcvC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAQpD"}
1
+ {"version":3,"file":"trait.d.ts","sourceRoot":"","sources":["../src/trait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG3D;;GAEG;AACH,qBAAa,KAAK;IAChB,SAAgB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;IACnC,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpC;;;;OAIG;gBACS,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAK9D,cAAc;IAQd;;;;;OAKG;IACG,UAAU,CACd,MAAM,GAAE,GAAG,CAAC,OAAW,EACvB,KAAK,GAAE,GAAG,CAAC,OAAW,GACrB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAUvC;;;;OAIG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,GAC/B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IAcvC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAQpD"}
package/dist/trait.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
2
  import { getMethodPath } from "./utils.js";
3
3
  /**
4
- * Abstract class representing an SSRI trait. Should be used as the base of all SSRI traits.
4
+ * Class representing an SSRI trait. Should be used as the base of all SSRI traits.
5
5
  */
6
6
  export class Trait {
7
7
  /**
@@ -14,6 +14,15 @@ export type ContextScript = {
14
14
  cell?: undefined | null;
15
15
  tx?: undefined | null;
16
16
  };
17
+ export declare class ExecutorErrorUnknown extends Error {
18
+ constructor(msg?: string);
19
+ }
20
+ export declare class ExecutorErrorExecutionFailed extends Error {
21
+ constructor(msg?: string);
22
+ }
23
+ export declare class ExecutorErrorDecode extends Error {
24
+ constructor(msg?: string);
25
+ }
17
26
  export type ContextCode = undefined | {
18
27
  script?: undefined | null;
19
28
  cell?: undefined | null;
@@ -26,9 +35,6 @@ export declare class ExecutorResponse<T> {
26
35
  static new<T>(res: T, cellDeps?: ccc.OutPointLike[] | null): ExecutorResponse<T>;
27
36
  map<U>(fn: (res: T) => U): ExecutorResponse<U>;
28
37
  }
29
- export declare class ExecutorErrorExecutionFailed extends Error {
30
- constructor(msg?: string);
31
- }
32
38
  /**
33
39
  * Represents an SSRI executor.
34
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExecutorJsonRpc = exports.Executor = exports.ExecutorErrorExecutionFailed = exports.ExecutorResponse = void 0;
3
+ exports.ExecutorJsonRpc = exports.Executor = exports.ExecutorResponse = exports.ExecutorErrorDecode = exports.ExecutorErrorExecutionFailed = exports.ExecutorErrorUnknown = void 0;
4
4
  const core_1 = require("@ckb-ccc/core");
5
5
  const advanced_1 = require("@ckb-ccc/core/advanced");
6
6
  const utils_js_1 = require("./utils.js");
7
+ class ExecutorErrorUnknown extends Error {
8
+ constructor(msg) {
9
+ super(msg);
10
+ }
11
+ }
12
+ exports.ExecutorErrorUnknown = ExecutorErrorUnknown;
13
+ class ExecutorErrorExecutionFailed extends Error {
14
+ constructor(msg) {
15
+ super(msg);
16
+ }
17
+ }
18
+ exports.ExecutorErrorExecutionFailed = ExecutorErrorExecutionFailed;
19
+ class ExecutorErrorDecode extends Error {
20
+ constructor(msg) {
21
+ super(msg);
22
+ }
23
+ }
24
+ exports.ExecutorErrorDecode = ExecutorErrorDecode;
7
25
  class ExecutorResponse {
8
26
  constructor(res, cellDeps) {
9
27
  this.res = res;
@@ -13,16 +31,15 @@ class ExecutorResponse {
13
31
  return new ExecutorResponse(res, cellDeps?.map(core_1.ccc.OutPoint.from) ?? []);
14
32
  }
15
33
  map(fn) {
16
- return new ExecutorResponse(fn(this.res), this.cellDeps);
34
+ try {
35
+ return new ExecutorResponse(fn(this.res), this.cellDeps);
36
+ }
37
+ catch (err) {
38
+ throw new ExecutorErrorDecode(JSON.stringify(err));
39
+ }
17
40
  }
18
41
  }
19
42
  exports.ExecutorResponse = ExecutorResponse;
20
- class ExecutorErrorExecutionFailed extends Error {
21
- constructor(msg) {
22
- super(msg);
23
- }
24
- }
25
- exports.ExecutorErrorExecutionFailed = ExecutorErrorExecutionFailed;
26
43
  /**
27
44
  * Represents an SSRI executor.
28
45
  */
@@ -54,7 +71,7 @@ class ExecutorJsonRpc extends Executor {
54
71
  errAny === null ||
55
72
  !("code" in errAny) ||
56
73
  typeof errAny.code !== "number") {
57
- throw errAny;
74
+ throw new ExecutorErrorUnknown(JSON.stringify(errAny));
58
75
  }
59
76
  if (errAny.code === 1003 || errAny.code === 1004) {
60
77
  if ("message" in errAny && typeof errAny.message === "string") {
@@ -62,7 +79,10 @@ class ExecutorJsonRpc extends Executor {
62
79
  }
63
80
  throw new ExecutorErrorExecutionFailed();
64
81
  }
65
- throw errAny;
82
+ if ("message" in errAny && typeof errAny.message === "string") {
83
+ throw new ExecutorErrorUnknown(errAny.message);
84
+ }
85
+ throw new ExecutorErrorUnknown();
66
86
  });
67
87
  }
68
88
  get url() {
@@ -1,9 +1,9 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
2
  import { Executor, ExecutorResponse } from "./executor.js";
3
3
  /**
4
- * Abstract class representing an SSRI trait. Should be used as the base of all SSRI traits.
4
+ * Class representing an SSRI trait. Should be used as the base of all SSRI traits.
5
5
  */
6
- export declare abstract class Trait {
6
+ export declare class Trait {
7
7
  readonly code: ccc.OutPoint;
8
8
  readonly executor?: Executor;
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"trait.d.ts","sourceRoot":"","sources":["../src/trait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG3D;;GAEG;AACH,8BAAsB,KAAK;IACzB,SAAgB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;IACnC,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpC;;;;OAIG;gBACS,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAK9D,cAAc;IAQd;;;;;OAKG;IACG,UAAU,CACd,MAAM,GAAE,GAAG,CAAC,OAAW,EACvB,KAAK,GAAE,GAAG,CAAC,OAAW,GACrB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAUvC;;;;OAIG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,GAC/B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IAcvC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAQpD"}
1
+ {"version":3,"file":"trait.d.ts","sourceRoot":"","sources":["../src/trait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG3D;;GAEG;AACH,qBAAa,KAAK;IAChB,SAAgB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;IACnC,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpC;;;;OAIG;gBACS,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAK9D,cAAc;IAQd;;;;;OAKG;IACG,UAAU,CACd,MAAM,GAAE,GAAG,CAAC,OAAW,EACvB,KAAK,GAAE,GAAG,CAAC,OAAW,GACrB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAUvC;;;;OAIG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,GAC/B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IAcvC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAQpD"}
@@ -4,7 +4,7 @@ exports.Trait = void 0;
4
4
  const core_1 = require("@ckb-ccc/core");
5
5
  const utils_js_1 = require("./utils.js");
6
6
  /**
7
- * Abstract class representing an SSRI trait. Should be used as the base of all SSRI traits.
7
+ * Class representing an SSRI trait. Should be used as the base of all SSRI traits.
8
8
  */
9
9
  class Trait {
10
10
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-ccc/ssri",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "SSRI",
5
5
  "author": "Alive24 <xct24@live.com>",
6
6
  "license": "MIT",
@@ -42,7 +42,7 @@
42
42
  "access": "public"
43
43
  },
44
44
  "dependencies": {
45
- "@ckb-ccc/core": "1.3.0"
45
+ "@ckb-ccc/core": "1.3.1"
46
46
  },
47
47
  "scripts": {
48
48
  "test": "jest",
package/src/executor.ts CHANGED
@@ -20,6 +20,24 @@ export type ContextScript = {
20
20
  tx?: undefined | null;
21
21
  };
22
22
 
23
+ export class ExecutorErrorUnknown extends Error {
24
+ constructor(msg?: string) {
25
+ super(msg);
26
+ }
27
+ }
28
+
29
+ export class ExecutorErrorExecutionFailed extends Error {
30
+ constructor(msg?: string) {
31
+ super(msg);
32
+ }
33
+ }
34
+
35
+ export class ExecutorErrorDecode extends Error {
36
+ constructor(msg?: string) {
37
+ super(msg);
38
+ }
39
+ }
40
+
23
41
  export type ContextCode =
24
42
  | undefined
25
43
  | {
@@ -39,13 +57,11 @@ export class ExecutorResponse<T> {
39
57
  }
40
58
 
41
59
  map<U>(fn: (res: T) => U): ExecutorResponse<U> {
42
- return new ExecutorResponse(fn(this.res), this.cellDeps);
43
- }
44
- }
45
-
46
- export class ExecutorErrorExecutionFailed extends Error {
47
- constructor(msg?: string) {
48
- super(msg);
60
+ try {
61
+ return new ExecutorResponse(fn(this.res), this.cellDeps);
62
+ } catch (err) {
63
+ throw new ExecutorErrorDecode(JSON.stringify(err));
64
+ }
49
65
  }
50
66
  }
51
67
 
@@ -99,7 +115,7 @@ export class ExecutorJsonRpc extends Executor {
99
115
  !("code" in errAny) ||
100
116
  typeof errAny.code !== "number"
101
117
  ) {
102
- throw errAny;
118
+ throw new ExecutorErrorUnknown(JSON.stringify(errAny));
103
119
  }
104
120
 
105
121
  if (errAny.code === 1003 || errAny.code === 1004) {
@@ -109,7 +125,10 @@ export class ExecutorJsonRpc extends Executor {
109
125
  throw new ExecutorErrorExecutionFailed();
110
126
  }
111
127
 
112
- throw errAny;
128
+ if ("message" in errAny && typeof errAny.message === "string") {
129
+ throw new ExecutorErrorUnknown(errAny.message);
130
+ }
131
+ throw new ExecutorErrorUnknown();
113
132
  });
114
133
  }
115
134
 
package/src/trait.ts CHANGED
@@ -3,9 +3,9 @@ import { Executor, ExecutorResponse } from "./executor.js";
3
3
  import { getMethodPath } from "./utils.js";
4
4
 
5
5
  /**
6
- * Abstract class representing an SSRI trait. Should be used as the base of all SSRI traits.
6
+ * Class representing an SSRI trait. Should be used as the base of all SSRI traits.
7
7
  */
8
- export abstract class Trait {
8
+ export class Trait {
9
9
  public readonly code: ccc.OutPoint;
10
10
  public readonly executor?: Executor;
11
11