@ckb-ccc/core 0.0.4 → 0.0.5-alpha.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.
Files changed (99) hide show
  1. package/README.md +6 -0
  2. package/dist/ckb/transaction.d.ts +85 -2
  3. package/dist/ckb/transaction.d.ts.map +1 -1
  4. package/dist/ckb/transaction.js +152 -7
  5. package/dist/client/client.d.ts +11 -3
  6. package/dist/client/client.d.ts.map +1 -1
  7. package/dist/client/client.js +44 -2
  8. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  9. package/dist/client/clientPublicMainnet.advanced.js +4 -0
  10. package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  11. package/dist/client/clientPublicTestnet.advanced.js +4 -0
  12. package/dist/client/clientTypes.d.ts +48 -1
  13. package/dist/client/clientTypes.d.ts.map +1 -1
  14. package/dist/client/clientTypes.js +27 -1
  15. package/dist/client/jsonRpc/index.d.ts +19 -1
  16. package/dist/client/jsonRpc/index.d.ts.map +1 -1
  17. package/dist/client/jsonRpc/index.js +25 -1
  18. package/dist/client/jsonRpc/transformers.d.ts +17 -3
  19. package/dist/client/jsonRpc/transformers.d.ts.map +1 -1
  20. package/dist/client/jsonRpc/transformers.js +37 -3
  21. package/dist/client/jsonRpc/types.d.ts +15 -0
  22. package/dist/client/jsonRpc/types.d.ts.map +1 -1
  23. package/dist/fixedPoint/index.d.ts.map +1 -1
  24. package/dist/fixedPoint/index.js +4 -1
  25. package/dist/fixedPoint/index.test.d.ts +2 -0
  26. package/dist/fixedPoint/index.test.d.ts.map +1 -0
  27. package/dist/fixedPoint/index.test.js +43 -0
  28. package/dist/signer/btc/signerBtc.d.ts.map +1 -1
  29. package/dist/signer/btc/signerBtc.js +2 -3
  30. package/dist/signer/evm/signerEvm.d.ts.map +1 -1
  31. package/dist/signer/evm/signerEvm.js +2 -3
  32. package/dist/signer/index.d.ts +0 -1
  33. package/dist/signer/index.d.ts.map +1 -1
  34. package/dist/signer/index.js +0 -1
  35. package/dist/signer/signer.d.ts +17 -2
  36. package/dist/signer/signer.d.ts.map +1 -1
  37. package/dist/signer/signer.js +17 -1
  38. package/dist.commonjs/ckb/transaction.d.ts +85 -2
  39. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  40. package/dist.commonjs/ckb/transaction.js +150 -5
  41. package/dist.commonjs/client/client.d.ts +11 -3
  42. package/dist.commonjs/client/client.d.ts.map +1 -1
  43. package/dist.commonjs/client/client.js +43 -1
  44. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  45. package/dist.commonjs/client/clientPublicMainnet.advanced.js +4 -0
  46. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  47. package/dist.commonjs/client/clientPublicTestnet.advanced.js +4 -0
  48. package/dist.commonjs/client/clientTypes.d.ts +48 -1
  49. package/dist.commonjs/client/clientTypes.d.ts.map +1 -1
  50. package/dist.commonjs/client/clientTypes.js +29 -0
  51. package/dist.commonjs/client/jsonRpc/index.d.ts +19 -1
  52. package/dist.commonjs/client/jsonRpc/index.d.ts.map +1 -1
  53. package/dist.commonjs/client/jsonRpc/index.js +25 -1
  54. package/dist.commonjs/client/jsonRpc/transformers.d.ts +17 -3
  55. package/dist.commonjs/client/jsonRpc/transformers.d.ts.map +1 -1
  56. package/dist.commonjs/client/jsonRpc/transformers.js +35 -1
  57. package/dist.commonjs/client/jsonRpc/types.d.ts +15 -0
  58. package/dist.commonjs/client/jsonRpc/types.d.ts.map +1 -1
  59. package/dist.commonjs/fixedPoint/index.d.ts.map +1 -1
  60. package/dist.commonjs/fixedPoint/index.js +4 -1
  61. package/dist.commonjs/fixedPoint/index.test.d.ts +2 -0
  62. package/dist.commonjs/fixedPoint/index.test.d.ts.map +1 -0
  63. package/dist.commonjs/fixedPoint/index.test.js +45 -0
  64. package/dist.commonjs/signer/btc/signerBtc.d.ts.map +1 -1
  65. package/dist.commonjs/signer/btc/signerBtc.js +2 -3
  66. package/dist.commonjs/signer/evm/signerEvm.d.ts.map +1 -1
  67. package/dist.commonjs/signer/evm/signerEvm.js +2 -3
  68. package/dist.commonjs/signer/index.d.ts +0 -1
  69. package/dist.commonjs/signer/index.d.ts.map +1 -1
  70. package/dist.commonjs/signer/index.js +0 -1
  71. package/dist.commonjs/signer/signer.d.ts +17 -2
  72. package/dist.commonjs/signer/signer.d.ts.map +1 -1
  73. package/dist.commonjs/signer/signer.js +17 -1
  74. package/dist.commonjs/tsconfig.commonjs.tsbuildinfo +1 -1
  75. package/jest.config.js +5 -0
  76. package/package.json +6 -2
  77. package/src/ckb/transaction.ts +198 -3
  78. package/src/client/client.ts +87 -3
  79. package/src/client/clientPublicMainnet.advanced.ts +5 -0
  80. package/src/client/clientPublicTestnet.advanced.ts +5 -0
  81. package/src/client/clientTypes.ts +70 -1
  82. package/src/client/jsonRpc/index.ts +54 -2
  83. package/src/client/jsonRpc/transformers.ts +73 -4
  84. package/src/client/jsonRpc/types.ts +16 -0
  85. package/src/fixedPoint/index.test.ts +55 -0
  86. package/src/fixedPoint/index.ts +7 -1
  87. package/src/signer/btc/signerBtc.ts +6 -3
  88. package/src/signer/evm/signerEvm.ts +2 -3
  89. package/src/signer/index.ts +0 -1
  90. package/src/signer/signer.ts +21 -0
  91. package/dist/signer/helpers.d.ts +0 -40
  92. package/dist/signer/helpers.d.ts.map +0 -1
  93. package/dist/signer/helpers.js +0 -91
  94. package/dist.commonjs/signer/helpers.d.ts +0 -40
  95. package/dist.commonjs/signer/helpers.d.ts.map +0 -1
  96. package/dist.commonjs/signer/helpers.js +0 -96
  97. package/src/signer/helpers.ts +0 -124
  98. package/tsconfig.base.json +0 -21
  99. package/tsconfig.commonjs.json +0 -8
@@ -4,6 +4,7 @@ exports.JsonRpcTransformers = void 0;
4
4
  const ckb_1 = require("../../ckb");
5
5
  const num_1 = require("../../num");
6
6
  const utils_1 = require("../../utils");
7
+ const clientTypes_1 = require("../clientTypes");
7
8
  class JsonRpcTransformers {
8
9
  static hashTypeFrom(hashType) {
9
10
  return (0, ckb_1.hashTypeFrom)(hashType);
@@ -116,10 +117,43 @@ class JsonRpcTransformers {
116
117
  witnesses: tx.witnesses,
117
118
  });
118
119
  }
119
- static transactionResponseTo({ tx_status: { status }, transaction, }) {
120
+ static transactionResponseTo({ tx_status: { status, block_number }, transaction, }) {
120
121
  return {
121
122
  transaction: JsonRpcTransformers.transactionTo(transaction),
122
123
  status,
124
+ blockNumber: (0, num_1.numFrom)(block_number),
125
+ };
126
+ }
127
+ static rangeFrom([a, b]) {
128
+ return [(0, num_1.numToHex)(a), (0, num_1.numToHex)(b)];
129
+ }
130
+ static indexerSearchKeyFrom(keyLike) {
131
+ const key = clientTypes_1.ClientIndexerSearchKey.from(keyLike);
132
+ return {
133
+ script: JsonRpcTransformers.scriptFrom(key.script),
134
+ script_type: key.scriptType,
135
+ script_search_mode: key.scriptSearchMode,
136
+ filter: (0, utils_1.apply)((filter) => ({
137
+ script: (0, utils_1.apply)(JsonRpcTransformers.scriptFrom, filter.script),
138
+ script_len_range: (0, utils_1.apply)(JsonRpcTransformers.rangeFrom, filter.scriptLenRange),
139
+ output_data: filter.outputData,
140
+ output_data_filter_mode: filter.outputDataSearchMode,
141
+ output_data_len_range: (0, utils_1.apply)(JsonRpcTransformers.rangeFrom, filter.outputDataLenRange),
142
+ output_capacity_range: (0, utils_1.apply)(JsonRpcTransformers.rangeFrom, filter.outputCapacityRange),
143
+ block_range: (0, utils_1.apply)(JsonRpcTransformers.rangeFrom, filter.blockRange),
144
+ }), key.filter),
145
+ with_data: key.withData,
146
+ };
147
+ }
148
+ static findCellsResponseTo({ last_cursor, objects, }) {
149
+ return {
150
+ lastCursor: last_cursor,
151
+ cells: objects.map((cell) => ckb_1.Cell.from({
152
+ blockNumber: cell.block_number,
153
+ outPoint: JsonRpcTransformers.outPointTo(cell.out_point),
154
+ cellOutput: JsonRpcTransformers.cellOutputTo(cell.output),
155
+ outputData: cell.output_data,
156
+ })),
123
157
  };
124
158
  }
125
159
  }
@@ -38,4 +38,19 @@ export type JsonRpcTransaction = {
38
38
  outputs_data: Hex[];
39
39
  witnesses: Hex[];
40
40
  };
41
+ export type JsonRpcIndexerSearchKey = {
42
+ script: JsonRpcScript;
43
+ script_type: "lock" | "type";
44
+ script_search_mode?: "prefix" | "exact" | "partial";
45
+ filter?: {
46
+ script?: JsonRpcScript;
47
+ script_len_range?: [Hex, Hex];
48
+ output_data?: Hex;
49
+ output_data_filter_mode?: "prefix" | "exact" | "partial";
50
+ output_data_len_range?: [Hex, Hex];
51
+ output_capacity_range?: [Hex, Hex];
52
+ block_range?: [Hex, Hex];
53
+ };
54
+ with_data?: boolean;
55
+ };
41
56
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9B,WAAW,CAAC,EAAE,GAAG,CAAC;QAClB,uBAAuB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;QACzD,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KAC1B,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixedPoint/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,MAAM,CAS5E;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,UAAU,CAY5E;AAED;;GAEG;AAEH,eAAO,MAAM,IAAI,KAAK,CAAC;AAEvB;;;GAGG;AAEH,eAAO,MAAM,GAAG,QAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixedPoint/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,MAAM,CAa5E;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,UAAU,CAc5E;AAED;;GAEG;AAEH,eAAO,MAAM,IAAI,KAAK,CAAC;AAEvB;;;GAGG;AAEH,eAAO,MAAM,GAAG,QAAsB,CAAC"}
@@ -20,6 +20,9 @@ exports.One = exports.Zero = exports.fixedPointFrom = exports.fixedPointToString
20
20
  */
21
21
  function fixedPointToString(val, decimals = 8) {
22
22
  const str = fixedPointFrom(val).toString();
23
+ if (decimals === 0) {
24
+ return str;
25
+ }
23
26
  const l = str.length <= decimals ? "0" : str.slice(0, -decimals);
24
27
  const r = str.slice(-decimals).padStart(decimals, "0").replace(/0*$/, "");
25
28
  if (r === "") {
@@ -46,7 +49,7 @@ function fixedPointFrom(val, decimals = 8) {
46
49
  if (typeof val === "bigint") {
47
50
  return val;
48
51
  }
49
- const [l, r] = val.toString().split(".");
52
+ const [l, r] = (typeof val === "number" ? val.toFixed(decimals) : val.toString()).split(".");
50
53
  const lVal = BigInt(l.padEnd(l.length + decimals, "0"));
51
54
  if (r === undefined) {
52
55
  return lVal;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/fixedPoint/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ describe("fixedPointToString", () => {
5
+ const cases = [
6
+ [0n, "0"],
7
+ [1n, "0.00000001"],
8
+ [100000000n, "1"],
9
+ [1000000000n, "10"],
10
+ [1010100000n, "10.101"],
11
+ [11n, "1.1", 1],
12
+ [0n, "0", 1],
13
+ [1n, "1", 0],
14
+ [0n, "0", 0],
15
+ ];
16
+ cases.forEach(([i, o, decimals]) => test(`${i} with ${decimals ?? "default"} decimals = "${o}"`, () => {
17
+ expect((0, _1.fixedPointToString)(i, decimals)).toBe(o);
18
+ }));
19
+ });
20
+ describe("fixedPointFrom string", () => {
21
+ const cases = [
22
+ ["0", 0n],
23
+ ["0.00000001", 1n],
24
+ ["1", 100000000n],
25
+ ["10", 1000000000n],
26
+ ["10.101", 1010100000n],
27
+ ["1.1", 11n, 1],
28
+ ["0", 0n, 1],
29
+ ["1", 1n, 0],
30
+ ["0", 0n, 0],
31
+ ];
32
+ cases.forEach(([i, o, decimals]) => test(`"${i}" = ${o} with ${decimals ?? "default"} decimals `, () => {
33
+ expect((0, _1.fixedPointFrom)(i, decimals)).toBe(o);
34
+ }));
35
+ });
36
+ describe("fixedPointFrom number", () => {
37
+ const cases = [
38
+ [0.00000001, 1n],
39
+ [10.101, 1010100000n],
40
+ [1.1, 11n, 1],
41
+ ];
42
+ cases.forEach(([i, o, decimals]) => test(`${i} = ${o} with ${decimals ?? "default"} decimals `, () => {
43
+ expect((0, _1.fixedPointFrom)(i, decimals)).toBe(o);
44
+ }));
45
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"signerBtc.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/signerBtc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;;GAIG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAE5C;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAa1C;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAKvE;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAgCzE"}
1
+ {"version":3,"file":"signerBtc.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/signerBtc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;;GAIG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAE5C;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAa1C;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IASvE;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAgCzE"}
@@ -9,7 +9,6 @@ const ckb_1 = require("../../ckb");
9
9
  const client_1 = require("../../client");
10
10
  const hex_1 = require("../../hex");
11
11
  const num_1 = require("../../num");
12
- const helpers_1 = require("../helpers");
13
12
  const signer_1 = require("../signer");
14
13
  /**
15
14
  * An abstract class extending the Signer class for Bitcoin-like signing operations.
@@ -45,7 +44,7 @@ class SignerBtc extends signer_1.Signer {
45
44
  */
46
45
  async prepareTransaction(txLike) {
47
46
  const { script } = await this.getRecommendedAddressObj();
48
- return (0, helpers_1.prepareSighashAllWitness)(txLike, script, 85, this.client);
47
+ return ckb_1.Transaction.from(txLike).prepareSighashAllWitness(script, 85, this.client);
49
48
  }
50
49
  /**
51
50
  * Signs a transaction without modifying it.
@@ -56,7 +55,7 @@ class SignerBtc extends signer_1.Signer {
56
55
  async signOnlyTransaction(txLike) {
57
56
  const tx = ckb_1.Transaction.from(txLike);
58
57
  const { script } = await this.getRecommendedAddressObj();
59
- const info = await (0, helpers_1.getSignHashInfo)(tx, script, this.client);
58
+ const info = await tx.getSignHashInfo(script, this.client);
60
59
  if (!info) {
61
60
  return tx;
62
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signerEvm.d.ts","sourceRoot":"","sources":["../../../src/signer/evm/signerEvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAK9E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpC,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5D,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrE;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAYvE;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBlE,iCAAiC,CACrC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,GAC9C,OAAO,CAAC,WAAW,CAAC;CA6BxB"}
1
+ {"version":3,"file":"signerEvm.d.ts","sourceRoot":"","sources":["../../../src/signer/evm/signerEvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAI9E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpC,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5D,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrE;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAYvE;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBlE,iCAAiC,CACrC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,GAC9C,OAAO,CAAC,WAAW,CAAC;CA6BxB"}
@@ -7,7 +7,6 @@ const ckb_1 = require("../../ckb");
7
7
  const client_1 = require("../../client");
8
8
  const hex_1 = require("../../hex");
9
9
  const num_1 = require("../../num");
10
- const helpers_1 = require("../helpers");
11
10
  const signer_1 = require("../signer");
12
11
  /**
13
12
  * An abstract class extending Signer for Ethereum Virtual Machine (EVM) based signing operations.
@@ -48,7 +47,7 @@ class SignerEvm extends signer_1.Signer {
48
47
  */
49
48
  async prepareTransaction(txLike) {
50
49
  const addresses = await this.getAddressObjs();
51
- return addresses.reduce((txPromise, { script }) => txPromise.then((tx) => (0, helpers_1.prepareSighashAllWitness)(tx, script, 85, this.client)), Promise.resolve(ckb_1.Transaction.from(txLike)));
50
+ return addresses.reduce((txPromise, { script }) => txPromise.then((tx) => tx.prepareSighashAllWitness(script, 85, this.client)), Promise.resolve(ckb_1.Transaction.from(txLike)));
52
51
  }
53
52
  /**
54
53
  * Signs a transaction without modifying it.
@@ -66,7 +65,7 @@ class SignerEvm extends signer_1.Signer {
66
65
  return tx;
67
66
  }
68
67
  async _signOmniLockScriptForTransaction(tx, script, messageTransformer) {
69
- const info = await (0, helpers_1.getSignHashInfo)(tx, script, this.client);
68
+ const info = await tx.getSignHashInfo(script, this.client);
70
69
  if (!info) {
71
70
  return tx;
72
71
  }
@@ -1,6 +1,5 @@
1
1
  export * from "./btc";
2
2
  export * from "./ckb";
3
3
  export * from "./evm";
4
- export * from "./helpers";
5
4
  export * from "./signer";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
@@ -17,5 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./btc"), exports);
18
18
  __exportStar(require("./ckb"), exports);
19
19
  __exportStar(require("./evm"), exports);
20
- __exportStar(require("./helpers"), exports);
21
20
  __exportStar(require("./signer"), exports);
@@ -3,6 +3,7 @@ import { BytesLike } from "../bytes";
3
3
  import { Transaction, TransactionLike } from "../ckb";
4
4
  import { Client } from "../client";
5
5
  import { Hex } from "../hex";
6
+ import { Num } from "../num";
6
7
  /**
7
8
  * An abstract class representing a generic signer.
8
9
  * This class provides methods to connect, get addresses, and sign transactions.
@@ -23,6 +24,12 @@ export declare abstract class Signer {
23
24
  * @returns A promise that resolves when the connection is complete.
24
25
  */
25
26
  abstract connect(): Promise<void>;
27
+ /**
28
+ * Disconnects to the signer.
29
+ *
30
+ * @returns A promise that resolves when disconnected.
31
+ */
32
+ disconnect(): Promise<void>;
26
33
  /**
27
34
  * Check if the signer is connected.
28
35
  *
@@ -61,6 +68,12 @@ export declare abstract class Signer {
61
68
  * @returns A promise that resolves to an array of addresses as strings.
62
69
  */
63
70
  getAddresses(): Promise<string[]>;
71
+ /**
72
+ * Gets balance of all addresses
73
+ *
74
+ * @returns A promise that resolves to the balance
75
+ */
76
+ getBalance(): Promise<Num>;
64
77
  /**
65
78
  * Signs a message. This method is not implemented and should be overridden by subclasses.
66
79
  *
@@ -105,15 +118,17 @@ export declare abstract class Signer {
105
118
  */
106
119
  export declare enum SignerType {
107
120
  EVM = "EVM",
108
- BTC = "BTC"
121
+ BTC = "BTC",
122
+ CKB = "CKB"
109
123
  }
110
124
  /**
111
125
  * A class representing information about a signer, including its type and the signer instance.
112
126
  */
113
127
  export declare class SignerInfo {
128
+ name: string;
114
129
  type: SignerType;
115
130
  signer: Signer;
116
- constructor(type: SignerType, signer: Signer);
131
+ constructor(name: string, type: SignerType, signer: Signer);
117
132
  }
118
133
  /**
119
134
  * Represents a wallet with a name, icon, and an array of signer information.
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B;;;GAGG;AACH,8BAAsB,MAAM;IACd,SAAS,CAAC,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAErC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAE7C;;;;;OAKG;IACG,wBAAwB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE;;;;;OAKG;IACG,qBAAqB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMvC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxD;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAKhE;;;;;;OAMG;IACH,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5D;;;;;;OAMG;IACH,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAG9D;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,qBAAa,UAAU;IAEZ,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,MAAM;gBADd,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;CAExB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B;;;GAGG;AACH,8BAAsB,MAAM;IACd,SAAS,CAAC,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAErC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAE7C;;;;;OAKG;IACG,wBAAwB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE;;;;;OAKG;IACG,qBAAqB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMvC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAMhC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxD;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAKhE;;;;;;OAMG;IACH,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5D;;;;;;OAMG;IACH,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAG9D;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,qBAAa,UAAU;IAEZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,MAAM;gBAFd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;CAExB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -12,6 +12,12 @@ class Signer {
12
12
  get client() {
13
13
  return this.client_;
14
14
  }
15
+ /**
16
+ * Disconnects to the signer.
17
+ *
18
+ * @returns A promise that resolves when disconnected.
19
+ */
20
+ async disconnect() { }
15
21
  /**
16
22
  * Gets the recommended Address object for the signer.
17
23
  *
@@ -38,6 +44,14 @@ class Signer {
38
44
  async getAddresses() {
39
45
  return this.getAddressObjs().then((addresses) => addresses.map((address) => address.toString()));
40
46
  }
47
+ /**
48
+ * Gets balance of all addresses
49
+ *
50
+ * @returns A promise that resolves to the balance
51
+ */
52
+ async getBalance() {
53
+ return this.client.getBalance((await this.getAddressObjs()).map(({ script }) => script));
54
+ }
41
55
  /**
42
56
  * Signs a message. This method is not implemented and should be overridden by subclasses.
43
57
  *
@@ -96,12 +110,14 @@ var SignerType;
96
110
  (function (SignerType) {
97
111
  SignerType["EVM"] = "EVM";
98
112
  SignerType["BTC"] = "BTC";
113
+ SignerType["CKB"] = "CKB";
99
114
  })(SignerType || (exports.SignerType = SignerType = {}));
100
115
  /**
101
116
  * A class representing information about a signer, including its type and the signer instance.
102
117
  */
103
118
  class SignerInfo {
104
- constructor(type, signer) {
119
+ constructor(name, type, signer) {
120
+ this.name = name;
105
121
  this.type = type;
106
122
  this.signer = signer;
107
123
  }