@ckb-ccc/core 1.11.5 → 1.12.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 (60) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/ckb/transaction.d.ts +160 -29
  3. package/dist/ckb/transaction.d.ts.map +1 -1
  4. package/dist/ckb/transaction.js +185 -39
  5. package/dist/client/client.d.ts +7 -0
  6. package/dist/client/client.d.ts.map +1 -1
  7. package/dist/client/client.js +9 -2
  8. package/dist/client/jsonRpc/client.d.ts +1 -1
  9. package/dist/client/jsonRpc/client.d.ts.map +1 -1
  10. package/dist/client/jsonRpc/client.js +4 -1
  11. package/dist/client/jsonRpc/transformers.d.ts +1 -1
  12. package/dist/client/jsonRpc/transformers.d.ts.map +1 -1
  13. package/dist/client/jsonRpc/transformers.js +2 -1
  14. package/dist/jsonRpc/requestor.js +1 -1
  15. package/dist/signer/btc/verify.d.ts +21 -0
  16. package/dist/signer/btc/verify.d.ts.map +1 -1
  17. package/dist/signer/btc/verify.js +38 -2
  18. package/dist/signer/doge/signerDogePrivateKey.d.ts.map +1 -1
  19. package/dist/signer/doge/signerDogePrivateKey.js +2 -2
  20. package/dist/signer/doge/verify.d.ts +12 -1
  21. package/dist/signer/doge/verify.d.ts.map +1 -1
  22. package/dist/signer/doge/verify.js +15 -5
  23. package/dist/signer/signer/index.d.ts +14 -5
  24. package/dist/signer/signer/index.d.ts.map +1 -1
  25. package/dist/signer/signer/index.js +19 -11
  26. package/dist.commonjs/ckb/transaction.d.ts +160 -29
  27. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  28. package/dist.commonjs/ckb/transaction.js +187 -40
  29. package/dist.commonjs/client/client.d.ts +7 -0
  30. package/dist.commonjs/client/client.d.ts.map +1 -1
  31. package/dist.commonjs/client/client.js +9 -2
  32. package/dist.commonjs/client/jsonRpc/client.d.ts +1 -1
  33. package/dist.commonjs/client/jsonRpc/client.d.ts.map +1 -1
  34. package/dist.commonjs/client/jsonRpc/client.js +4 -1
  35. package/dist.commonjs/client/jsonRpc/transformers.d.ts +1 -1
  36. package/dist.commonjs/client/jsonRpc/transformers.d.ts.map +1 -1
  37. package/dist.commonjs/client/jsonRpc/transformers.js +2 -1
  38. package/dist.commonjs/jsonRpc/requestor.js +1 -1
  39. package/dist.commonjs/signer/btc/verify.d.ts +21 -0
  40. package/dist.commonjs/signer/btc/verify.d.ts.map +1 -1
  41. package/dist.commonjs/signer/btc/verify.js +40 -2
  42. package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts.map +1 -1
  43. package/dist.commonjs/signer/doge/signerDogePrivateKey.js +2 -2
  44. package/dist.commonjs/signer/doge/verify.d.ts +12 -1
  45. package/dist.commonjs/signer/doge/verify.d.ts.map +1 -1
  46. package/dist.commonjs/signer/doge/verify.js +15 -4
  47. package/dist.commonjs/signer/signer/index.d.ts +14 -5
  48. package/dist.commonjs/signer/signer/index.d.ts.map +1 -1
  49. package/dist.commonjs/signer/signer/index.js +21 -13
  50. package/package.json +3 -4
  51. package/{prettier.config.mjs → prettier.config.cjs} +2 -4
  52. package/src/ckb/transaction.ts +259 -81
  53. package/src/client/client.ts +9 -2
  54. package/src/client/jsonRpc/client.ts +5 -2
  55. package/src/client/jsonRpc/transformers.ts +6 -1
  56. package/src/jsonRpc/requestor.ts +2 -2
  57. package/src/signer/btc/verify.ts +52 -3
  58. package/src/signer/doge/signerDogePrivateKey.ts +2 -2
  59. package/src/signer/doge/verify.ts +23 -7
  60. package/src/signer/signer/index.ts +20 -10
@@ -68,6 +68,13 @@ class Client {
68
68
  }
69
69
  return res;
70
70
  }
71
+ /**
72
+ * Get a cell by its out point.
73
+ * The cell will be cached if it is found.
74
+ *
75
+ * @param outPointLike - The out point of the cell to get.
76
+ * @returns The cell if it exists, otherwise undefined.
77
+ */
71
78
  async getCell(outPointLike) {
72
79
  const outPoint = index_js_1.OutPoint.from(outPointLike);
73
80
  const cached = await this.cache.getCell(outPoint);
@@ -83,8 +90,8 @@ class Client {
83
90
  return;
84
91
  }
85
92
  const cell = index_js_1.Cell.from({
86
- outPoint,
87
93
  ...output,
94
+ outPoint,
88
95
  });
89
96
  await this.cache.recordCells(cell);
90
97
  return cell;
@@ -101,8 +108,8 @@ class Client {
101
108
  return;
102
109
  }
103
110
  const cell = index_js_1.Cell.from({
104
- outPoint,
105
111
  ...output,
112
+ outPoint,
106
113
  });
107
114
  await this.cache.recordCells(cell);
108
115
  return { cell, header };
@@ -103,7 +103,7 @@ export declare abstract class ClientJsonRpc extends Client {
103
103
  * @param validator - "passthrough": Disable validation. "well_known_scripts_only": Only accept well known scripts in the transaction.
104
104
  * @returns Transaction hash.
105
105
  */
106
- sendTransactionNoCache: (transaction: TransactionLike, validator?: OutputsValidator | undefined) => Promise<Hex>;
106
+ sendTransactionNoCache: (transaction: TransactionLike, validator?: OutputsValidator | null) => Promise<Hex>;
107
107
  /**
108
108
  * Get a transaction from node.
109
109
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/client.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,10 @@ class ClientJsonRpc extends client_js_1.Client {
122
122
  * @param validator - "passthrough": Disable validation. "well_known_scripts_only": Only accept well known scripts in the transaction.
123
123
  * @returns Transaction hash.
124
124
  */
125
- this.sendTransactionNoCache = this.buildSender("send_transaction", [advanced_js_1.JsonRpcTransformers.transactionFrom], index_js_2.hexFrom);
125
+ this.sendTransactionNoCache = this.buildSender("send_transaction", [
126
+ advanced_js_1.JsonRpcTransformers.transactionFrom,
127
+ (validator) => validator ?? undefined,
128
+ ], index_js_2.hexFrom);
126
129
  /**
127
130
  * Get a transaction from node.
128
131
  *
@@ -14,7 +14,7 @@ export declare class JsonRpcTransformers {
14
14
  static outPointTo(outPoint: JsonRpcOutPoint): OutPoint;
15
15
  static cellInputFrom(cellInputLike: CellInputLike): JsonRpcCellInput;
16
16
  static cellInputTo(cellInput: JsonRpcCellInput): CellInput;
17
- static cellOutputFrom(cellOutput: CellOutputLike): JsonRpcCellOutput;
17
+ static cellOutputFrom(cellOutputLike: CellOutputLike, outputData?: HexLike | null): JsonRpcCellOutput;
18
18
  static cellOutputTo(cellOutput: JsonRpcCellOutput): CellOutput;
19
19
  static cellDepFrom(cellDep: CellDepLike): JsonRpcCellDep;
20
20
  static cellDepTo(cellDep: JsonRpcCellDep): CellDep;
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/transformers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/transformers.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,8 @@ class JsonRpcTransformers {
71
71
  since: cellInput.since,
72
72
  });
73
73
  }
74
- static cellOutputFrom(cellOutput) {
74
+ static cellOutputFrom(cellOutputLike, outputData) {
75
+ const cellOutput = index_js_2.CellOutput.from(cellOutputLike, outputData);
75
76
  return {
76
77
  capacity: (0, index_js_4.numToHex)(cellOutput.capacity),
77
78
  lock: JsonRpcTransformers.scriptFrom(cellOutput.lock),
@@ -89,7 +89,7 @@ class RequestorJsonRpc {
89
89
  if (res.id !== payload.id) {
90
90
  throw new Error(`Id mismatched, got ${res.id}, expected ${payload.id}`);
91
91
  }
92
- if (res.error) {
92
+ if (res.error != null) {
93
93
  throw res.error;
94
94
  }
95
95
  return res.result;
@@ -1,5 +1,26 @@
1
1
  import { Bytes, BytesLike } from "../../bytes/index.js";
2
2
  import { Hex } from "../../hex/index.js";
3
+ import { NumLike } from "../../num/index.js";
4
+ /**
5
+ * Encodes a number into a variable-length byte array according to the Bitcoin protocol.
6
+ * This format is used for encoding lengths of data, such as script lengths.
7
+ *
8
+ * @param len - The number to encode. Can be a NumLike.
9
+ * @returns The encoded length as a Bytes.
10
+ * @public
11
+ */
12
+ export declare function btcVarLengthBytesFrom(len: NumLike): Bytes;
13
+ /**
14
+ * Computes the message hash for Bitcoin ECDSA signatures.
15
+ * This function follows the Bitcoin message signing standard, which involves
16
+ * prefixing the message with a magic string and its length, then double SHA256 hashing the result.
17
+ *
18
+ * @param message - The message to be hashed. Can be a string or BytesLike.
19
+ * @param messagePrefix - Optional. A custom prefix to use instead of the default "\u0018Bitcoin Signed Message:\n".
20
+ * @returns The Bitcoin hash of the prefixed message as Bytes.
21
+ * @public
22
+ */
23
+ export declare function messageHashBtcEcdsa(message: string | BytesLike, messagePrefix?: string | BytesLike): Bytes;
3
24
  /**
4
25
  * @public
5
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/verify.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,SAAS,EAA0B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAWT"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/verify.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAA0B,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAyB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAUzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,GACjC,KAAK,CAcP;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAWT"}
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.btcVarLengthBytesFrom = btcVarLengthBytesFrom;
7
+ exports.messageHashBtcEcdsa = messageHashBtcEcdsa;
6
8
  exports.btcEcdsaPublicKeyHash = btcEcdsaPublicKeyHash;
7
9
  exports.btcP2pkhAddressFromPublicKey = btcP2pkhAddressFromPublicKey;
8
10
  exports.btcPublicKeyFromP2pkhAddress = btcPublicKeyFromP2pkhAddress;
@@ -10,10 +12,46 @@ exports.verifyMessageBtcEcdsa = verifyMessageBtcEcdsa;
10
12
  const secp256k1_1 = require("@noble/curves/secp256k1");
11
13
  const legacy_js_1 = require("@noble/hashes/legacy.js");
12
14
  const sha2_js_1 = require("@noble/hashes/sha2.js");
13
- const bitcoinjs_message_1 = require("bitcoinjs-message");
14
15
  const bs58check_1 = __importDefault(require("bs58check"));
15
16
  const index_js_1 = require("../../bytes/index.js");
16
17
  const index_js_2 = require("../../hex/index.js");
18
+ const index_js_3 = require("../../num/index.js");
19
+ /**
20
+ * Encodes a number into a variable-length byte array according to the Bitcoin protocol.
21
+ * This format is used for encoding lengths of data, such as script lengths.
22
+ *
23
+ * @param len - The number to encode. Can be a NumLike.
24
+ * @returns The encoded length as a Bytes.
25
+ * @public
26
+ */
27
+ function btcVarLengthBytesFrom(len) {
28
+ const num = (0, index_js_3.numFrom)(len);
29
+ return num < 0xfd
30
+ ? (0, index_js_3.numLeToBytes)(num, 1)
31
+ : num <= 0xffff
32
+ ? (0, index_js_1.bytesConcat)([0xfd], (0, index_js_3.numLeToBytes)(num, 2))
33
+ : num <= 0xffffffff
34
+ ? (0, index_js_1.bytesConcat)([0xfe], (0, index_js_3.numLeToBytes)(num, 4))
35
+ : (0, index_js_1.bytesConcat)([0xff], (0, index_js_3.numLeToBytes)(num, 8));
36
+ }
37
+ /**
38
+ * Computes the message hash for Bitcoin ECDSA signatures.
39
+ * This function follows the Bitcoin message signing standard, which involves
40
+ * prefixing the message with a magic string and its length, then double SHA256 hashing the result.
41
+ *
42
+ * @param message - The message to be hashed. Can be a string or BytesLike.
43
+ * @param messagePrefix - Optional. A custom prefix to use instead of the default "\u0018Bitcoin Signed Message:\n".
44
+ * @returns The Bitcoin hash of the prefixed message as Bytes.
45
+ * @public
46
+ */
47
+ function messageHashBtcEcdsa(message, messagePrefix) {
48
+ const prefix = messagePrefix ?? "\u0018Bitcoin Signed Message:\n";
49
+ const rawPrefix = typeof prefix === "string" ? (0, index_js_1.bytesFrom)(prefix, "utf8") : (0, index_js_1.bytesFrom)(prefix);
50
+ const rawMsg = typeof message === "string"
51
+ ? (0, index_js_1.bytesFrom)(message, "utf8")
52
+ : (0, index_js_1.bytesFrom)(message);
53
+ return (0, sha2_js_1.sha256)((0, sha2_js_1.sha256)((0, index_js_1.bytesConcat)(rawPrefix, btcVarLengthBytesFrom(rawMsg.length), rawMsg)));
54
+ }
17
55
  /**
18
56
  * @public
19
57
  */
@@ -38,5 +76,5 @@ function btcPublicKeyFromP2pkhAddress(address) {
38
76
  function verifyMessageBtcEcdsa(message, signature, publicKey) {
39
77
  const challenge = typeof message === "string" ? message : (0, index_js_2.hexFrom)(message).slice(2);
40
78
  const rawSign = (0, index_js_1.bytesFrom)(signature, "base64").slice(1);
41
- return secp256k1_1.secp256k1.verify((0, index_js_1.bytesFrom)(rawSign), (0, bitcoinjs_message_1.magicHash)(challenge), (0, index_js_1.bytesFrom)(publicKey));
79
+ return secp256k1_1.secp256k1.verify((0, index_js_1.bytesFrom)(rawSign), messageHashBtcEcdsa(challenge), (0, index_js_1.bytesFrom)(publicKey));
42
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signerDogePrivateKey.d.ts","sourceRoot":"","sources":["../../../src/signer/doge/signerDogePrivateKey.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,SAAS,EAEV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;aAYhC,WAAW;IAX7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAEnC;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,EACL,WAAW,SAAO;IASpC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAItC;;;;;;;;;OASG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAOvC;;;;;;OAMG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAa/D"}
1
+ {"version":3,"file":"signerDogePrivateKey.d.ts","sourceRoot":"","sources":["../../../src/signer/doge/signerDogePrivateKey.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,EAEV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;aAYhC,WAAW;IAX7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAEnC;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,EACL,WAAW,SAAO;IASpC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAItC;;;;;;;;;OASG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAOvC;;;;;;OAMG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAa/D"}
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SignerDogePrivateKey = void 0;
4
4
  const secp256k1_1 = require("@noble/curves/secp256k1");
5
- const bitcoinjs_message_1 = require("bitcoinjs-message");
6
5
  const index_js_1 = require("../../bytes/index.js");
7
6
  const index_js_2 = require("../../hex/index.js");
8
7
  const verify_js_1 = require("../btc/verify.js");
9
8
  const signerDoge_js_1 = require("./signerDoge.js");
9
+ const verify_js_2 = require("./verify.js");
10
10
  /**
11
11
  * A class extending SignerDoge that provides access to a Doge address.
12
12
  * @public
@@ -65,7 +65,7 @@ class SignerDogePrivateKey extends signerDoge_js_1.SignerDoge {
65
65
  */
66
66
  async signMessageRaw(msg) {
67
67
  const challenge = typeof msg === "string" ? msg : (0, index_js_2.hexFrom)(msg).slice(2);
68
- const signature = secp256k1_1.secp256k1.sign((0, bitcoinjs_message_1.magicHash)(challenge, "\x19Dogecoin Signed Message:\n"), this.privateKey);
68
+ const signature = secp256k1_1.secp256k1.sign((0, verify_js_2.messageHashDogeEcdsa)(challenge), this.privateKey);
69
69
  return (0, index_js_1.bytesTo)((0, index_js_1.bytesConcat)([31 + signature.recovery], signature.toCompactRawBytes()), "base64");
70
70
  }
71
71
  }
@@ -1,4 +1,15 @@
1
- import { BytesLike } from "../../bytes/index.js";
1
+ import { Bytes, BytesLike } from "../../bytes/index.js";
2
+ /**
3
+ * Computes the message hash for Dogecoin ECDSA signatures.
4
+ * This function follows the Dogecoin message signing standard, which involves
5
+ * prefixing the message with a magic string and its length, then double SHA256 hashing the result.
6
+ *
7
+ * @param message - The message to be hashed. Can be a string or BytesLike.
8
+ * @param messagePrefix - Optional. A custom prefix to use instead of the default "\x19Dogecoin Signed Message:\n".
9
+ * @returns The Dogecoin hash of the prefixed message as Bytes.
10
+ * @public
11
+ */
12
+ export declare function messageHashDogeEcdsa(message: string | BytesLike, messagePrefix?: string | BytesLike): Bytes;
2
13
  /**
3
14
  * @public
4
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/doge/verify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAO5D;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAuBT"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/doge/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQnE;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,GACjC,KAAK,CAKP;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAmBT"}
@@ -1,11 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.messageHashDogeEcdsa = messageHashDogeEcdsa;
3
4
  exports.verifyMessageDogeEcdsa = verifyMessageDogeEcdsa;
4
5
  const secp256k1_1 = require("@noble/curves/secp256k1");
5
- const bitcoinjs_message_1 = require("bitcoinjs-message");
6
6
  const index_js_1 = require("../../bytes/index.js");
7
7
  const index_js_2 = require("../../hex/index.js");
8
8
  const verify_js_1 = require("../btc/verify.js");
9
+ /**
10
+ * Computes the message hash for Dogecoin ECDSA signatures.
11
+ * This function follows the Dogecoin message signing standard, which involves
12
+ * prefixing the message with a magic string and its length, then double SHA256 hashing the result.
13
+ *
14
+ * @param message - The message to be hashed. Can be a string or BytesLike.
15
+ * @param messagePrefix - Optional. A custom prefix to use instead of the default "\x19Dogecoin Signed Message:\n".
16
+ * @returns The Dogecoin hash of the prefixed message as Bytes.
17
+ * @public
18
+ */
19
+ function messageHashDogeEcdsa(message, messagePrefix) {
20
+ return (0, verify_js_1.messageHashBtcEcdsa)(message, messagePrefix ?? "\x19Dogecoin Signed Message:\n");
21
+ }
9
22
  /**
10
23
  * @public
11
24
  */
@@ -16,7 +29,5 @@ function verifyMessageDogeEcdsa(message, signature, address) {
16
29
  const rawSign = signatureBytes.slice(1);
17
30
  const sig = secp256k1_1.secp256k1.Signature.fromCompact((0, index_js_2.hexFrom)(rawSign).slice(2)).addRecoveryBit(recoveryBit - 31);
18
31
  return ((0, verify_js_1.btcPublicKeyFromP2pkhAddress)(address) ===
19
- (0, index_js_2.hexFrom)((0, verify_js_1.btcEcdsaPublicKeyHash)(sig
20
- .recoverPublicKey((0, bitcoinjs_message_1.magicHash)(challenge, "\x19Dogecoin Signed Message:\n"))
21
- .toHex())));
32
+ (0, index_js_2.hexFrom)((0, verify_js_1.btcEcdsaPublicKeyHash)(sig.recoverPublicKey(messageHashDogeEcdsa(challenge)).toHex())));
22
33
  }
@@ -211,13 +211,22 @@ export declare abstract class Signer {
211
211
  */
212
212
  signTransaction(tx: TransactionLike): Promise<Transaction>;
213
213
  /**
214
- * prepare a transaction before signing. This method is not implemented and should be overridden by subclasses.
214
+ * Prepares a transaction before signing.
215
+ * This method can be overridden by subclasses to perform any necessary steps,
216
+ * such as adding cell dependencies or witnesses, before the transaction is signed.
217
+ * The default implementation converts the {@link TransactionLike} object to a {@link Transaction} object
218
+ * without modification.
215
219
  *
216
- * @param _ - The transaction to prepare, represented as a TransactionLike object.
217
- * @returns A promise that resolves to the prepared Transaction object.
218
- * @throws Will throw an error if not implemented.
220
+ * @remarks
221
+ * Note that this default implementation does not add any cell dependencies or dummy witnesses.
222
+ * This may lead to an underestimation of transaction size and fees if used with methods
223
+ * like `Transaction.completeFee`. Subclasses for signers that are intended to sign
224
+ * transactions should override this method to perform necessary preparations.
225
+ *
226
+ * @param tx - The transaction to prepare.
227
+ * @returns A promise that resolves to the prepared {@link Transaction} object.
219
228
  */
220
- prepareTransaction(_: TransactionLike): Promise<Transaction>;
229
+ prepareTransaction(tx: TransactionLike): Promise<Transaction>;
221
230
  /**
222
231
  * Signs a transaction without preparing information for it. This method is not implemented and should be overridden by subclasses.
223
232
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signer/signer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signer/signer/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SignerInfo = exports.Signer = exports.Signature = exports.SignerType = exports.SignerSignType = void 0;
4
- const index_js_1 = require("../btc/index.js");
4
+ const index_js_1 = require("../../ckb/index.js");
5
+ const index_js_2 = require("../btc/index.js");
5
6
  const verifyCkbSecp256k1_js_1 = require("../ckb/verifyCkbSecp256k1.js");
6
7
  const verifyJoyId_js_1 = require("../ckb/verifyJoyId.js");
7
8
  const verify_js_1 = require("../doge/verify.js");
@@ -59,11 +60,9 @@ class Signer {
59
60
  // undefined otherwise
60
61
  matchNetworkPreference(preferences, currentNetwork) {
61
62
  if (currentNetwork !== undefined &&
62
- preferences.some(({ signerType, addressPrefix, network }) => {
63
- signerType === this.type &&
64
- addressPrefix === this.client.addressPrefix &&
65
- network === currentNetwork;
66
- })) {
63
+ preferences.some(({ signerType, addressPrefix, network }) => signerType === this.type &&
64
+ addressPrefix === this.client.addressPrefix &&
65
+ network === currentNetwork)) {
67
66
  return;
68
67
  }
69
68
  return preferences.find(({ signerType, addressPrefix }) => signerType === this.type && addressPrefix === this.client.addressPrefix);
@@ -73,7 +72,7 @@ class Signer {
73
72
  case SignerSignType.EvmPersonal:
74
73
  return (0, verify_js_2.verifyMessageEvmPersonal)(message, signature.signature, signature.identity);
75
74
  case SignerSignType.BtcEcdsa:
76
- return (0, index_js_1.verifyMessageBtcEcdsa)(message, signature.signature, signature.identity);
75
+ return (0, index_js_2.verifyMessageBtcEcdsa)(message, signature.signature, signature.identity);
77
76
  case SignerSignType.JoyId:
78
77
  return (0, verifyJoyId_js_1.verifyMessageJoyId)(message, signature.signature, signature.identity);
79
78
  case SignerSignType.NostrEvent:
@@ -269,14 +268,23 @@ class Signer {
269
268
  return this.signOnlyTransaction(preparedTx);
270
269
  }
271
270
  /**
272
- * prepare a transaction before signing. This method is not implemented and should be overridden by subclasses.
271
+ * Prepares a transaction before signing.
272
+ * This method can be overridden by subclasses to perform any necessary steps,
273
+ * such as adding cell dependencies or witnesses, before the transaction is signed.
274
+ * The default implementation converts the {@link TransactionLike} object to a {@link Transaction} object
275
+ * without modification.
273
276
  *
274
- * @param _ - The transaction to prepare, represented as a TransactionLike object.
275
- * @returns A promise that resolves to the prepared Transaction object.
276
- * @throws Will throw an error if not implemented.
277
+ * @remarks
278
+ * Note that this default implementation does not add any cell dependencies or dummy witnesses.
279
+ * This may lead to an underestimation of transaction size and fees if used with methods
280
+ * like `Transaction.completeFee`. Subclasses for signers that are intended to sign
281
+ * transactions should override this method to perform necessary preparations.
282
+ *
283
+ * @param tx - The transaction to prepare.
284
+ * @returns A promise that resolves to the prepared {@link Transaction} object.
277
285
  */
278
- prepareTransaction(_) {
279
- throw Error("Signer.prepareTransaction not implemented");
286
+ async prepareTransaction(tx) {
287
+ return index_js_1.Transaction.from(tx);
280
288
  }
281
289
  /**
282
290
  * Signs a transaction without preparing information for it. This method is not implemented and should be overridden by subclasses.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-ccc/core",
3
- "version": "1.11.5",
3
+ "version": "1.12.1",
4
4
  "description": "Core of CCC - CKBer's Codebase",
5
5
  "author": "Hanssen0 <hanssen0@hanssen0.com>",
6
6
  "license": "MIT",
@@ -44,9 +44,9 @@
44
44
  "eslint-plugin-prettier": "^5.5.4",
45
45
  "prettier": "^3.6.2",
46
46
  "prettier-plugin-organize-imports": "^4.2.0",
47
- "rimraf": "^5.0.10",
47
+ "rimraf": "^6.0.1",
48
48
  "typescript": "^5.9.2",
49
- "typescript-eslint": "^7.18.0",
49
+ "typescript-eslint": "^8.41.0",
50
50
  "vitest": "^3.2.4"
51
51
  },
52
52
  "publishConfig": {
@@ -58,7 +58,6 @@
58
58
  "@noble/curves": "^1.9.7",
59
59
  "@noble/hashes": "^1.8.0",
60
60
  "bech32": "^2.0.0",
61
- "bitcoinjs-message": "^2.2.0",
62
61
  "bs58check": "^4.0.0",
63
62
  "buffer": "^6.0.3",
64
63
  "ethers": "^6.15.0",
@@ -1,5 +1,3 @@
1
- // prettier.config.js, .prettierrc.js, prettier.config.mjs, or .prettierrc.mjs
2
-
3
1
  /**
4
2
  * @see https://prettier.io/docs/configuration
5
3
  * @type {import("prettier").Config}
@@ -7,7 +5,7 @@
7
5
  const config = {
8
6
  singleQuote: false,
9
7
  trailingComma: "all",
10
- plugins: ["prettier-plugin-organize-imports"],
8
+ plugins: [require.resolve("prettier-plugin-organize-imports")],
11
9
  };
12
10
 
13
- export default config;
11
+ module.exports = config;