@ckb-ccc/core 1.11.5 → 1.12.0

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 (53) hide show
  1. package/CHANGELOG.md +24 -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/jsonRpc/client.d.ts +1 -1
  6. package/dist/client/jsonRpc/client.d.ts.map +1 -1
  7. package/dist/client/jsonRpc/client.js +4 -1
  8. package/dist/client/jsonRpc/transformers.d.ts +1 -1
  9. package/dist/client/jsonRpc/transformers.d.ts.map +1 -1
  10. package/dist/client/jsonRpc/transformers.js +2 -1
  11. package/dist/jsonRpc/requestor.js +1 -1
  12. package/dist/signer/btc/verify.d.ts +21 -0
  13. package/dist/signer/btc/verify.d.ts.map +1 -1
  14. package/dist/signer/btc/verify.js +38 -2
  15. package/dist/signer/doge/signerDogePrivateKey.d.ts.map +1 -1
  16. package/dist/signer/doge/signerDogePrivateKey.js +2 -2
  17. package/dist/signer/doge/verify.d.ts +12 -1
  18. package/dist/signer/doge/verify.d.ts.map +1 -1
  19. package/dist/signer/doge/verify.js +15 -5
  20. package/dist/signer/signer/index.d.ts +14 -5
  21. package/dist/signer/signer/index.d.ts.map +1 -1
  22. package/dist/signer/signer/index.js +19 -11
  23. package/dist.commonjs/ckb/transaction.d.ts +160 -29
  24. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  25. package/dist.commonjs/ckb/transaction.js +187 -40
  26. package/dist.commonjs/client/jsonRpc/client.d.ts +1 -1
  27. package/dist.commonjs/client/jsonRpc/client.d.ts.map +1 -1
  28. package/dist.commonjs/client/jsonRpc/client.js +4 -1
  29. package/dist.commonjs/client/jsonRpc/transformers.d.ts +1 -1
  30. package/dist.commonjs/client/jsonRpc/transformers.d.ts.map +1 -1
  31. package/dist.commonjs/client/jsonRpc/transformers.js +2 -1
  32. package/dist.commonjs/jsonRpc/requestor.js +1 -1
  33. package/dist.commonjs/signer/btc/verify.d.ts +21 -0
  34. package/dist.commonjs/signer/btc/verify.d.ts.map +1 -1
  35. package/dist.commonjs/signer/btc/verify.js +40 -2
  36. package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts.map +1 -1
  37. package/dist.commonjs/signer/doge/signerDogePrivateKey.js +2 -2
  38. package/dist.commonjs/signer/doge/verify.d.ts +12 -1
  39. package/dist.commonjs/signer/doge/verify.d.ts.map +1 -1
  40. package/dist.commonjs/signer/doge/verify.js +15 -4
  41. package/dist.commonjs/signer/signer/index.d.ts +14 -5
  42. package/dist.commonjs/signer/signer/index.d.ts.map +1 -1
  43. package/dist.commonjs/signer/signer/index.js +21 -13
  44. package/package.json +3 -4
  45. package/{prettier.config.mjs → prettier.config.cjs} +2 -4
  46. package/src/ckb/transaction.ts +254 -80
  47. package/src/client/jsonRpc/client.ts +5 -2
  48. package/src/client/jsonRpc/transformers.ts +6 -1
  49. package/src/jsonRpc/requestor.ts +2 -2
  50. package/src/signer/btc/verify.ts +52 -3
  51. package/src/signer/doge/signerDogePrivateKey.ts +2 -2
  52. package/src/signer/doge/verify.ts +23 -7
  53. package/src/signer/signer/index.ts +20 -10
@@ -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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"}
@@ -68,7 +68,8 @@ export class JsonRpcTransformers {
68
68
  since: cellInput.since,
69
69
  });
70
70
  }
71
- static cellOutputFrom(cellOutput) {
71
+ static cellOutputFrom(cellOutputLike, outputData) {
72
+ const cellOutput = CellOutput.from(cellOutputLike, outputData);
72
73
  return {
73
74
  capacity: numToHex(cellOutput.capacity),
74
75
  lock: JsonRpcTransformers.scriptFrom(cellOutput.lock),
@@ -86,7 +86,7 @@ export class RequestorJsonRpc {
86
86
  if (res.id !== payload.id) {
87
87
  throw new Error(`Id mismatched, got ${res.id}, expected ${payload.id}`);
88
88
  }
89
- if (res.error) {
89
+ if (res.error != null) {
90
90
  throw res.error;
91
91
  }
92
92
  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"}
@@ -1,10 +1,46 @@
1
1
  import { secp256k1 } from "@noble/curves/secp256k1";
2
2
  import { ripemd160 } from "@noble/hashes/legacy.js";
3
3
  import { sha256 } from "@noble/hashes/sha2.js";
4
- import { magicHash } from "bitcoinjs-message";
5
4
  import bs58check from "bs58check";
6
5
  import { bytesConcat, bytesFrom } from "../../bytes/index.js";
7
6
  import { hexFrom } from "../../hex/index.js";
7
+ import { numFrom, numLeToBytes } from "../../num/index.js";
8
+ /**
9
+ * Encodes a number into a variable-length byte array according to the Bitcoin protocol.
10
+ * This format is used for encoding lengths of data, such as script lengths.
11
+ *
12
+ * @param len - The number to encode. Can be a NumLike.
13
+ * @returns The encoded length as a Bytes.
14
+ * @public
15
+ */
16
+ export function btcVarLengthBytesFrom(len) {
17
+ const num = numFrom(len);
18
+ return num < 0xfd
19
+ ? numLeToBytes(num, 1)
20
+ : num <= 0xffff
21
+ ? bytesConcat([0xfd], numLeToBytes(num, 2))
22
+ : num <= 0xffffffff
23
+ ? bytesConcat([0xfe], numLeToBytes(num, 4))
24
+ : bytesConcat([0xff], numLeToBytes(num, 8));
25
+ }
26
+ /**
27
+ * Computes the message hash for Bitcoin ECDSA signatures.
28
+ * This function follows the Bitcoin message signing standard, which involves
29
+ * prefixing the message with a magic string and its length, then double SHA256 hashing the result.
30
+ *
31
+ * @param message - The message to be hashed. Can be a string or BytesLike.
32
+ * @param messagePrefix - Optional. A custom prefix to use instead of the default "\u0018Bitcoin Signed Message:\n".
33
+ * @returns The Bitcoin hash of the prefixed message as Bytes.
34
+ * @public
35
+ */
36
+ export function messageHashBtcEcdsa(message, messagePrefix) {
37
+ const prefix = messagePrefix ?? "\u0018Bitcoin Signed Message:\n";
38
+ const rawPrefix = typeof prefix === "string" ? bytesFrom(prefix, "utf8") : bytesFrom(prefix);
39
+ const rawMsg = typeof message === "string"
40
+ ? bytesFrom(message, "utf8")
41
+ : bytesFrom(message);
42
+ return sha256(sha256(bytesConcat(rawPrefix, btcVarLengthBytesFrom(rawMsg.length), rawMsg)));
43
+ }
8
44
  /**
9
45
  * @public
10
46
  */
@@ -29,5 +65,5 @@ export function btcPublicKeyFromP2pkhAddress(address) {
29
65
  export function verifyMessageBtcEcdsa(message, signature, publicKey) {
30
66
  const challenge = typeof message === "string" ? message : hexFrom(message).slice(2);
31
67
  const rawSign = bytesFrom(signature, "base64").slice(1);
32
- return secp256k1.verify(bytesFrom(rawSign), magicHash(challenge), bytesFrom(publicKey));
68
+ return secp256k1.verify(bytesFrom(rawSign), messageHashBtcEcdsa(challenge), bytesFrom(publicKey));
33
69
  }
@@ -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"}
@@ -1,9 +1,9 @@
1
1
  import { secp256k1 } from "@noble/curves/secp256k1";
2
- import { magicHash } from "bitcoinjs-message";
3
2
  import { bytesConcat, bytesFrom, bytesTo, } from "../../bytes/index.js";
4
3
  import { hexFrom } from "../../hex/index.js";
5
4
  import { btcP2pkhAddressFromPublicKey } from "../btc/verify.js";
6
5
  import { SignerDoge } from "./signerDoge.js";
6
+ import { messageHashDogeEcdsa } from "./verify.js";
7
7
  /**
8
8
  * A class extending SignerDoge that provides access to a Doge address.
9
9
  * @public
@@ -62,7 +62,7 @@ export class SignerDogePrivateKey extends SignerDoge {
62
62
  */
63
63
  async signMessageRaw(msg) {
64
64
  const challenge = typeof msg === "string" ? msg : hexFrom(msg).slice(2);
65
- const signature = secp256k1.sign(magicHash(challenge, "\x19Dogecoin Signed Message:\n"), this.privateKey);
65
+ const signature = secp256k1.sign(messageHashDogeEcdsa(challenge), this.privateKey);
66
66
  return bytesTo(bytesConcat([31 + signature.recovery], signature.toCompactRawBytes()), "base64");
67
67
  }
68
68
  }
@@ -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,8 +1,20 @@
1
1
  import { secp256k1 } from "@noble/curves/secp256k1";
2
- import { magicHash } from "bitcoinjs-message";
3
2
  import { bytesFrom } from "../../bytes/index.js";
4
3
  import { hexFrom } from "../../hex/index.js";
5
- import { btcEcdsaPublicKeyHash, btcPublicKeyFromP2pkhAddress, } from "../btc/verify.js";
4
+ import { btcEcdsaPublicKeyHash, btcPublicKeyFromP2pkhAddress, messageHashBtcEcdsa, } from "../btc/verify.js";
5
+ /**
6
+ * Computes the message hash for Dogecoin ECDSA signatures.
7
+ * This function follows the Dogecoin message signing standard, which involves
8
+ * prefixing the message with a magic string and its length, then double SHA256 hashing the result.
9
+ *
10
+ * @param message - The message to be hashed. Can be a string or BytesLike.
11
+ * @param messagePrefix - Optional. A custom prefix to use instead of the default "\x19Dogecoin Signed Message:\n".
12
+ * @returns The Dogecoin hash of the prefixed message as Bytes.
13
+ * @public
14
+ */
15
+ export function messageHashDogeEcdsa(message, messagePrefix) {
16
+ return messageHashBtcEcdsa(message, messagePrefix ?? "\x19Dogecoin Signed Message:\n");
17
+ }
6
18
  /**
7
19
  * @public
8
20
  */
@@ -13,7 +25,5 @@ export function verifyMessageDogeEcdsa(message, signature, address) {
13
25
  const rawSign = signatureBytes.slice(1);
14
26
  const sig = secp256k1.Signature.fromCompact(hexFrom(rawSign).slice(2)).addRecoveryBit(recoveryBit - 31);
15
27
  return (btcPublicKeyFromP2pkhAddress(address) ===
16
- hexFrom(btcEcdsaPublicKeyHash(sig
17
- .recoverPublicKey(magicHash(challenge, "\x19Dogecoin Signed Message:\n"))
18
- .toHex())));
28
+ hexFrom(btcEcdsaPublicKeyHash(sig.recoverPublicKey(messageHashDogeEcdsa(challenge)).toHex())));
19
29
  }
@@ -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,3 +1,4 @@
1
+ import { Transaction } from "../../ckb/index.js";
1
2
  import { verifyMessageBtcEcdsa } from "../btc/index.js";
2
3
  import { verifyMessageCkbSecp256k1 } from "../ckb/verifyCkbSecp256k1.js";
3
4
  import { verifyMessageJoyId } from "../ckb/verifyJoyId.js";
@@ -55,11 +56,9 @@ export class Signer {
55
56
  // undefined otherwise
56
57
  matchNetworkPreference(preferences, currentNetwork) {
57
58
  if (currentNetwork !== undefined &&
58
- preferences.some(({ signerType, addressPrefix, network }) => {
59
- signerType === this.type &&
60
- addressPrefix === this.client.addressPrefix &&
61
- network === currentNetwork;
62
- })) {
59
+ preferences.some(({ signerType, addressPrefix, network }) => signerType === this.type &&
60
+ addressPrefix === this.client.addressPrefix &&
61
+ network === currentNetwork)) {
63
62
  return;
64
63
  }
65
64
  return preferences.find(({ signerType, addressPrefix }) => signerType === this.type && addressPrefix === this.client.addressPrefix);
@@ -265,14 +264,23 @@ export class Signer {
265
264
  return this.signOnlyTransaction(preparedTx);
266
265
  }
267
266
  /**
268
- * prepare a transaction before signing. This method is not implemented and should be overridden by subclasses.
267
+ * Prepares a transaction before signing.
268
+ * This method can be overridden by subclasses to perform any necessary steps,
269
+ * such as adding cell dependencies or witnesses, before the transaction is signed.
270
+ * The default implementation converts the {@link TransactionLike} object to a {@link Transaction} object
271
+ * without modification.
269
272
  *
270
- * @param _ - The transaction to prepare, represented as a TransactionLike object.
271
- * @returns A promise that resolves to the prepared Transaction object.
272
- * @throws Will throw an error if not implemented.
273
+ * @remarks
274
+ * Note that this default implementation does not add any cell dependencies or dummy witnesses.
275
+ * This may lead to an underestimation of transaction size and fees if used with methods
276
+ * like `Transaction.completeFee`. Subclasses for signers that are intended to sign
277
+ * transactions should override this method to perform necessary preparations.
278
+ *
279
+ * @param tx - The transaction to prepare.
280
+ * @returns A promise that resolves to the prepared {@link Transaction} object.
273
281
  */
274
- prepareTransaction(_) {
275
- throw Error("Signer.prepareTransaction not implemented");
282
+ async prepareTransaction(tx) {
283
+ return Transaction.from(tx);
276
284
  }
277
285
  /**
278
286
  * Signs a transaction without preparing information for it. This method is not implemented and should be overridden by subclasses.
@@ -134,7 +134,7 @@ export declare class OutPoint extends OutPoint_base {
134
134
  * @public
135
135
  */
136
136
  export type CellOutputLike = {
137
- capacity: NumLike;
137
+ capacity?: NumLike | null;
138
138
  lock: ScriptLike;
139
139
  type?: ScriptLike | null;
140
140
  };
@@ -171,7 +171,6 @@ export declare class CellOutput extends CellOutput_base {
171
171
  * This method supports automatic capacity calculation when capacity is 0 or omitted.
172
172
  *
173
173
  * @param cellOutput - A CellOutputLike object or an instance of CellOutput.
174
- * Can also be an object without capacity when outputData is provided.
175
174
  * @param outputData - Optional output data used for automatic capacity calculation.
176
175
  * When provided and capacity is 0, the capacity will be calculated
177
176
  * as occupiedSize + outputData.length.
@@ -192,8 +191,7 @@ export declare class CellOutput extends CellOutput_base {
192
191
  * }, "0x1234"); // Capacity will be calculated automatically
193
192
  * ```
194
193
  */
195
- static from(cellOutput: CellOutputLike, outputData?: HexLike): CellOutput;
196
- static from(cellOutput: Omit<CellOutputLike, "capacity"> & Partial<Pick<CellOutputLike, "capacity">>, outputData: HexLike): CellOutput;
194
+ static from(cellOutput: CellOutputLike, outputData?: HexLike | null): CellOutput;
197
195
  /**
198
196
  * Clone a CellOutput.
199
197
  *
@@ -209,24 +207,119 @@ export declare class CellOutput extends CellOutput_base {
209
207
  export declare const CellOutputVec: mol.Codec<CellOutputLike[], CellOutput[]>;
210
208
  /**
211
209
  * @public
210
+ * Represents a cell-like object that may or may not be on-chain.
211
+ * It can optionally have an `outPoint` (or `previousOutput`).
212
+ * This is used as a flexible input for creating `CellAny` instances.
213
+ * @see CellAny
212
214
  */
213
- export type CellLike = ({
214
- outPoint: OutPointLike;
215
- } | {
216
- previousOutput: OutPointLike;
217
- }) & {
215
+ export type CellAnyLike = {
216
+ outPoint?: OutPointLike | null;
217
+ previousOutput?: OutPointLike | null;
218
218
  cellOutput: CellOutputLike;
219
- outputData: HexLike;
219
+ outputData?: HexLike | null;
220
220
  };
221
221
  /**
222
+ * Represents a CKB cell that can be either on-chain (with an `outPoint`) or off-chain (without an `outPoint`).
223
+ * This class provides a unified interface for handling cells before they are included in a transaction,
224
+ * or for cells that are already part of the blockchain state.
225
+ *
222
226
  * @public
223
227
  */
224
- export declare class Cell {
225
- outPoint: OutPoint;
228
+ export declare class CellAny {
226
229
  cellOutput: CellOutput;
227
230
  outputData: Hex;
231
+ outPoint?: OutPoint | undefined;
228
232
  /**
229
- * Creates an instance of Cell.
233
+ * Creates an instance of CellAny.
234
+ *
235
+ * @param cellOutput - The cell output of the cell.
236
+ * @param outputData - The output data of the cell.
237
+ * @param outPoint - The optional output point of the cell. If provided, the cell is considered on-chain.
238
+ */
239
+ constructor(cellOutput: CellOutput, outputData: Hex, outPoint?: OutPoint | undefined);
240
+ /**
241
+ * Creates a `CellAny` instance from a `CellAnyLike` object.
242
+ * This factory method provides a convenient way to create `CellAny` instances
243
+ * from plain objects, automatically handling the optional `outPoint` or `previousOutput`.
244
+ *
245
+ * @param cell - A `CellAnyLike` object.
246
+ * @returns A new `CellAny` instance.
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * // Create an off-chain cell (e.g., a new output)
251
+ * const offChainCell = CellAny.from({
252
+ * cellOutput: { capacity: 1000n, lock: lockScript },
253
+ * outputData: "0x"
254
+ * });
255
+ *
256
+ * // Create an on-chain cell from an input
257
+ * const onChainCell = CellAny.from({
258
+ * outPoint: { txHash: "0x...", index: 0 },
259
+ * cellOutput: { capacity: 2000n, lock: lockScript },
260
+ * outputData: "0x1234"
261
+ * });
262
+ * ```
263
+ */
264
+ static from(cell: CellAnyLike): CellAny;
265
+ /**
266
+ * Calculates the total occupied size of the cell in bytes.
267
+ * This includes the size of the `CellOutput` structure plus the size of the `outputData`.
268
+ *
269
+ * @returns The total occupied size in bytes.
270
+ */
271
+ get occupiedSize(): number;
272
+ /**
273
+ * Calculates the free capacity of the cell.
274
+ * Free capacity is the total capacity minus the capacity occupied by the cell's structure and data.
275
+ *
276
+ * @returns The free capacity in shannons as a `Num`.
277
+ */
278
+ get capacityFree(): bigint;
279
+ /**
280
+ * Checks if the cell is a Nervos DAO cell and optionally checks its phase.
281
+ *
282
+ * @param client - A CKB client instance to fetch known script information.
283
+ * @param phase - Optional phase to check: "deposited" or "withdrew".
284
+ * If omitted, it checks if the cell is a DAO cell regardless of phase.
285
+ * @returns A promise that resolves to `true` if the cell is a matching Nervos DAO cell, `false` otherwise.
286
+ */
287
+ isNervosDao(client: Client, phase?: "deposited" | "withdrew"): Promise<boolean>;
288
+ /**
289
+ * Clones the `CellAny` instance.
290
+ *
291
+ * @returns A new `CellAny` instance that is a deep copy of the current one.
292
+ *
293
+ * @example
294
+ * ```typescript
295
+ * const clonedCell = cellAny.clone();
296
+ * ```
297
+ */
298
+ clone(): CellAny;
299
+ }
300
+ /**
301
+ * Represents a cell-like object that is guaranteed to be on-chain.
302
+ * It must have an `outPoint` (or its alias `previousOutput`).
303
+ * This is used as a type constraint for creating `Cell` instances.
304
+ * @see Cell
305
+ * @public
306
+ */
307
+ export type CellLike = CellAnyLike & ({
308
+ outPoint: OutPointLike;
309
+ previousOutput?: undefined | null;
310
+ } | {
311
+ outPoint?: undefined | null;
312
+ previousOutput: OutPointLike;
313
+ });
314
+ /**
315
+ * Represents an on-chain CKB cell, which is a `CellAny` that is guaranteed to have an `outPoint`.
316
+ * This class is typically used for cells that are already part of the blockchain state, such as transaction inputs.
317
+ * @public
318
+ */
319
+ export declare class Cell extends CellAny {
320
+ outPoint: OutPoint;
321
+ /**
322
+ * Creates an instance of an on-chain Cell.
230
323
  *
231
324
  * @param outPoint - The output point of the cell.
232
325
  * @param cellOutput - The cell output of the cell.
@@ -268,12 +361,6 @@ export declare class Cell {
268
361
  * ```
269
362
  */
270
363
  static from(cell: CellLike): Cell;
271
- get capacityFree(): bigint;
272
- /**
273
- * Occupied bytes of a cell on chain
274
- * It's CellOutput.occupiedSize + bytesFrom(outputData).byteLength
275
- */
276
- get occupiedSize(): number;
277
364
  /**
278
365
  * Gets confirmed Nervos DAO profit of a Cell
279
366
  * It returns non-zero value only when the cell is in withdrawal phase 2
@@ -288,7 +375,22 @@ export declare class Cell {
288
375
  * ```
289
376
  */
290
377
  getDaoProfit(client: Client): Promise<Num>;
291
- isNervosDao(client: Client, phase?: "deposited" | "withdrew"): Promise<boolean>;
378
+ /**
379
+ * Retrieves detailed information about a Nervos DAO cell, including its deposit and withdrawal headers.
380
+ *
381
+ * @param client - A CKB client instance to fetch cell and header data.
382
+ * @returns A promise that resolves to an object containing header information.
383
+ * - If not a DAO cell, returns `{}`.
384
+ * - If a deposited DAO cell, returns `{ depositHeader }`.
385
+ * - If a withdrawn DAO cell, returns `{ depositHeader, withdrawHeader }`.
386
+ *
387
+ * @throws If the cell is a DAO cell but its corresponding headers cannot be fetched.
388
+ *
389
+ * @example
390
+ * ```typescript
391
+ * const daoInfo = await cell.getNervosDaoInfo(client);
392
+ * ```
393
+ */
292
394
  getNervosDaoInfo(client: Client): Promise<{
293
395
  depositHeader?: undefined;
294
396
  withdrawHeader?: undefined;
@@ -979,22 +1081,51 @@ export declare class Transaction extends Transaction_base {
979
1081
  * await tx.getOutput(0);
980
1082
  * ```
981
1083
  */
982
- getOutput(index: NumLike): {
983
- cellOutput: CellOutput;
984
- outputData: Hex;
985
- } | undefined;
1084
+ getOutput(index: NumLike): CellAny | undefined;
1085
+ /**
1086
+ * Provides an iterable over the transaction's output cells.
1087
+ *
1088
+ * This getter is a convenient way to iterate through all the output cells (`CellAny`)
1089
+ * of the transaction, combining the `outputs` and `outputsData` arrays.
1090
+ * It can be used with `for...of` loops or other iterable-consuming patterns.
1091
+ *
1092
+ * @public
1093
+ * @category Getter
1094
+ * @returns An `Iterable<CellAny>` that yields each output cell of the transaction.
1095
+ *
1096
+ * @example
1097
+ * ```typescript
1098
+ * for (const cell of tx.outputCells) {
1099
+ * console.log(`Output cell capacity: ${cell.cellOutput.capacity}`);
1100
+ * }
1101
+ * ```
1102
+ */
1103
+ get outputCells(): Iterable<CellAny>;
986
1104
  /**
987
- * Add output
1105
+ * Adds an output to the transaction.
1106
+ *
1107
+ * This method supports two overloads for adding an output:
1108
+ * 1. By providing a `CellAnyLike` object, which encapsulates both `cellOutput` and `outputData`.
1109
+ * 2. By providing a `CellOutputLike` object and an optional `outputData`.
988
1110
  *
989
- * @param outputLike - The cell output to add
990
- * @param outputData - optional output data
1111
+ * @param cellOrOutputLike - A cell-like object containing both cell output and data, or just the cell output object.
1112
+ * @param outputDataLike - Optional data for the cell output. Defaults to "0x" if not provided in the first argument.
1113
+ * @returns The new number of outputs in the transaction.
991
1114
  *
992
1115
  * @example
993
1116
  * ```typescript
994
- * await tx.addOutput(cellOutput, "0xabcd");
1117
+ * // 1. Add an output using a CellAnyLike object
1118
+ * const newLength1 = tx.addOutput({
1119
+ * cellOutput: { lock: recipientLock }, // capacity is calculated automatically
1120
+ * outputData: "0x1234",
1121
+ * });
1122
+ *
1123
+ * // 2. Add an output using CellOutputLike and data separately
1124
+ * const newLength2 = tx.addOutput({ lock: recipientLock }, "0xabcd");
995
1125
  * ```
996
1126
  */
997
- addOutput(outputLike: Omit<CellOutputLike, "capacity"> & Partial<Pick<CellOutputLike, "capacity">>, outputData?: HexLike): number;
1127
+ addOutput(cellLike: CellAnyLike): number;
1128
+ addOutput(outputLike: CellOutputLike, outputDataLike?: HexLike | null): number;
998
1129
  /**
999
1130
  * Get witness at index as WitnessArgs
1000
1131
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}