@ckb-ccc/uni-sat 1.0.31 → 1.0.33

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,27 @@
1
1
  # @ckb-ccc/uni-sat
2
2
 
3
+ ## 1.0.33
4
+ ### Patch Changes
5
+
6
+
7
+
8
+ - [#346](https://github.com/ckb-devrel/ccc/pull/346) [`a803d5f`](https://github.com/ckb-devrel/ccc/commit/a803d5fba8d0e082c6aba14db156856025402e72) Thanks [@fghdotio](https://github.com/fghdotio)! - feat(core): add BTC PSBT signing support
9
+
10
+ - Add `SignerBtc.signPsbt()`, `signAndBroadcastPsbt()`, and `broadcastPsbt()` for signing and broadcasting PSBTs
11
+ - Add `SignPsbtOptions` and `InputToSign` for configuring PSBT signing
12
+
13
+
14
+ - [#379](https://github.com/ckb-devrel/ccc/pull/379) [`f01a05b`](https://github.com/ckb-devrel/ccc/commit/f01a05bab332d9f4e0cf7f84aecfd688f8e9f346) Thanks [@Hanssen0](https://github.com/Hanssen0)! - chore: bump pnpm to v11.8.0
15
+
16
+ - Updated dependencies [[`1148a5c`](https://github.com/ckb-devrel/ccc/commit/1148a5c403cde985fb4ba713ccfa0c163d287174), [`bf0f8d8`](https://github.com/ckb-devrel/ccc/commit/bf0f8d8ca011e627821445a10bc38519510e5b9d), [`a803d5f`](https://github.com/ckb-devrel/ccc/commit/a803d5fba8d0e082c6aba14db156856025402e72), [`bf0f8d8`](https://github.com/ckb-devrel/ccc/commit/bf0f8d8ca011e627821445a10bc38519510e5b9d), [`6727ffe`](https://github.com/ckb-devrel/ccc/commit/6727ffe05f60e6bfb2060a565c19acb0fd0f375e), [`f01a05b`](https://github.com/ckb-devrel/ccc/commit/f01a05bab332d9f4e0cf7f84aecfd688f8e9f346), [`a526890`](https://github.com/ckb-devrel/ccc/commit/a5268909ea9d61c4e2f5187a43e2318327b27cae), [`4bb3d9d`](https://github.com/ckb-devrel/ccc/commit/4bb3d9d2ef36b3ee8820036625abd9befb1980c4), [`9f7ecb6`](https://github.com/ckb-devrel/ccc/commit/9f7ecb6ab8db9c6866dad029f2888e1e5cfcbe7d)]:
17
+ - @ckb-ccc/core@1.13.0
18
+
19
+ ## 1.0.32
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [[`a96dec6`](https://github.com/ckb-devrel/ccc/commit/a96dec6d0517113391b0edc510f1af821a45d5a8)]:
23
+ - @ckb-ccc/core@1.12.5
24
+
3
25
  ## 1.0.31
4
26
  ### Patch Changes
5
27
 
@@ -1,7 +1,23 @@
1
+ import { ccc } from "@ckb-ccc/core";
1
2
  /**
2
3
  * Interface representing a provider for interacting with accounts and signing messages.
3
4
  */
4
5
  export interface Provider {
6
+ /**
7
+ * Signs a PSBT using UniSat wallet.
8
+ *
9
+ * @param psbtHex - The hex string of PSBT to sign
10
+ * @param options - Options for signing the PSBT
11
+ * @returns A promise that resolves to the signed PSBT hex string
12
+ */
13
+ signPsbt(psbtHex: string, options?: ccc.SignPsbtOptionsLike): Promise<string>;
14
+ /**
15
+ * Broadcasts a signed PSBT to the Bitcoin network.
16
+ *
17
+ * @param psbtHex - The hex string of the signed PSBT to broadcast.
18
+ * @returns A promise that resolves to the transaction ID.
19
+ */
20
+ pushPsbt(psbtHex: string): Promise<string>;
5
21
  /**
6
22
  * Requests user accounts.
7
23
  * @returns A promise that resolves to an array of account addresses.
@@ -1 +1 @@
1
- {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;OAGG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEtE;;OAEG;IACH,WAAW,CAAC,CACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE5D;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjC;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3E;;OAEG;IACH,EAAE,EAAE,QAAQ,CAAC;IAEb;;;;;OAKG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,QAAQ,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,QAAQ,CAAC;CAC1E"}
1
+ {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;OAGG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEtE;;OAEG;IACH,WAAW,CAAC,CACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE5D;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjC;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3E;;OAEG;IACH,EAAE,EAAE,QAAQ,CAAC;IAEb;;;;;OAKG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,QAAQ,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,QAAQ,CAAC;CAC1E"}
package/dist/signer.d.ts CHANGED
@@ -45,5 +45,20 @@ export declare class Signer extends ccc.SignerBtc {
45
45
  * @returns A promise that resolves to the signed message.
46
46
  */
47
47
  signMessageRaw(message: string | ccc.BytesLike): Promise<string>;
48
+ /**
49
+ * Signs a PSBT using UniSat wallet.
50
+ *
51
+ * @param psbtHex - The hex string of PSBT to sign.
52
+ * @param options - Options for signing the PSBT
53
+ * @returns A promise that resolves to the signed PSBT as a Hex string
54
+ */
55
+ signPsbt(psbtHex: ccc.HexLike, options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
56
+ /**
57
+ * Broadcasts a signed PSBT to the Bitcoin network.
58
+ *
59
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
60
+ * @returns A promise that resolves to the transaction ID as a Hex string
61
+ */
62
+ broadcastPsbt(psbtHex: ccc.HexLike, _options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
48
63
  }
49
64
  //# sourceMappingURL=signer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;GAGG;AACH,qBAAa,MAAO,SAAQ,GAAG,CAAC,SAAS;aAQrB,QAAQ,EAAE,QAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IARpC;;;;OAIG;gBAED,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,QAAQ,EAAE,QAAQ,EACjB,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKG,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0BxD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BpC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAIzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAiB5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrC;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAMvE"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;GAGG;AACH,qBAAa,MAAO,SAAQ,GAAG,CAAC,SAAS;aAQrB,QAAQ,EAAE,QAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IARpC;;;;OAIG;gBAED,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,QAAQ,EAAE,QAAQ,EACjB,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKG,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0BxD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BpC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAIzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAiB5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrC;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAOtE;;;;;;OAMG;IACG,QAAQ,CACZ,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,OAAO,CAAC,EAAE,GAAG,CAAC,mBAAmB,GAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAMnB;;;;;OAKG;IACG,aAAa,CACjB,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,QAAQ,CAAC,EAAE,GAAG,CAAC,mBAAmB,GACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;CAIpB"}
package/dist/signer.js CHANGED
@@ -124,4 +124,24 @@ export class Signer extends ccc.SignerBtc {
124
124
  const challenge = typeof message === "string" ? message : ccc.hexFrom(message).slice(2);
125
125
  return this.provider.signMessage(challenge, "ecdsa");
126
126
  }
127
+ /**
128
+ * Signs a PSBT using UniSat wallet.
129
+ *
130
+ * @param psbtHex - The hex string of PSBT to sign.
131
+ * @param options - Options for signing the PSBT
132
+ * @returns A promise that resolves to the signed PSBT as a Hex string
133
+ */
134
+ async signPsbt(psbtHex, options) {
135
+ return ccc.hexFrom(await this.provider.signPsbt(ccc.hexFrom(psbtHex).slice(2), options));
136
+ }
137
+ /**
138
+ * Broadcasts a signed PSBT to the Bitcoin network.
139
+ *
140
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
141
+ * @returns A promise that resolves to the transaction ID as a Hex string
142
+ */
143
+ async broadcastPsbt(psbtHex, _options) {
144
+ const txid = await this.provider.pushPsbt(ccc.hexFrom(psbtHex).slice(2));
145
+ return ccc.hexFrom(txid);
146
+ }
127
147
  }
@@ -1,7 +1,23 @@
1
+ import { ccc } from "@ckb-ccc/core";
1
2
  /**
2
3
  * Interface representing a provider for interacting with accounts and signing messages.
3
4
  */
4
5
  export interface Provider {
6
+ /**
7
+ * Signs a PSBT using UniSat wallet.
8
+ *
9
+ * @param psbtHex - The hex string of PSBT to sign
10
+ * @param options - Options for signing the PSBT
11
+ * @returns A promise that resolves to the signed PSBT hex string
12
+ */
13
+ signPsbt(psbtHex: string, options?: ccc.SignPsbtOptionsLike): Promise<string>;
14
+ /**
15
+ * Broadcasts a signed PSBT to the Bitcoin network.
16
+ *
17
+ * @param psbtHex - The hex string of the signed PSBT to broadcast.
18
+ * @returns A promise that resolves to the transaction ID.
19
+ */
20
+ pushPsbt(psbtHex: string): Promise<string>;
5
21
  /**
6
22
  * Requests user accounts.
7
23
  * @returns A promise that resolves to an array of account addresses.
@@ -1 +1 @@
1
- {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;OAGG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEtE;;OAEG;IACH,WAAW,CAAC,CACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE5D;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjC;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3E;;OAEG;IACH,EAAE,EAAE,QAAQ,CAAC;IAEb;;;;;OAKG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,QAAQ,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,QAAQ,CAAC;CAC1E"}
1
+ {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;OAGG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEtE;;OAEG;IACH,WAAW,CAAC,CACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE5D;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjC;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3E;;OAEG;IACH,EAAE,EAAE,QAAQ,CAAC;IAEb;;;;;OAKG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,QAAQ,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,QAAQ,CAAC;CAC1E"}
@@ -45,5 +45,20 @@ export declare class Signer extends ccc.SignerBtc {
45
45
  * @returns A promise that resolves to the signed message.
46
46
  */
47
47
  signMessageRaw(message: string | ccc.BytesLike): Promise<string>;
48
+ /**
49
+ * Signs a PSBT using UniSat wallet.
50
+ *
51
+ * @param psbtHex - The hex string of PSBT to sign.
52
+ * @param options - Options for signing the PSBT
53
+ * @returns A promise that resolves to the signed PSBT as a Hex string
54
+ */
55
+ signPsbt(psbtHex: ccc.HexLike, options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
56
+ /**
57
+ * Broadcasts a signed PSBT to the Bitcoin network.
58
+ *
59
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
60
+ * @returns A promise that resolves to the transaction ID as a Hex string
61
+ */
62
+ broadcastPsbt(psbtHex: ccc.HexLike, _options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
48
63
  }
49
64
  //# sourceMappingURL=signer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;GAGG;AACH,qBAAa,MAAO,SAAQ,GAAG,CAAC,SAAS;aAQrB,QAAQ,EAAE,QAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IARpC;;;;OAIG;gBAED,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,QAAQ,EAAE,QAAQ,EACjB,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKG,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0BxD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BpC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAIzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAiB5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrC;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAMvE"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;GAGG;AACH,qBAAa,MAAO,SAAQ,GAAG,CAAC,SAAS;aAQrB,QAAQ,EAAE,QAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IARpC;;;;OAIG;gBAED,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,QAAQ,EAAE,QAAQ,EACjB,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKG,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0BxD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BpC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAIzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAiB5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrC;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAOtE;;;;;;OAMG;IACG,QAAQ,CACZ,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,OAAO,CAAC,EAAE,GAAG,CAAC,mBAAmB,GAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAMnB;;;;;OAKG;IACG,aAAa,CACjB,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,QAAQ,CAAC,EAAE,GAAG,CAAC,mBAAmB,GACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;CAIpB"}
@@ -127,5 +127,25 @@ class Signer extends core_1.ccc.SignerBtc {
127
127
  const challenge = typeof message === "string" ? message : core_1.ccc.hexFrom(message).slice(2);
128
128
  return this.provider.signMessage(challenge, "ecdsa");
129
129
  }
130
+ /**
131
+ * Signs a PSBT using UniSat wallet.
132
+ *
133
+ * @param psbtHex - The hex string of PSBT to sign.
134
+ * @param options - Options for signing the PSBT
135
+ * @returns A promise that resolves to the signed PSBT as a Hex string
136
+ */
137
+ async signPsbt(psbtHex, options) {
138
+ return core_1.ccc.hexFrom(await this.provider.signPsbt(core_1.ccc.hexFrom(psbtHex).slice(2), options));
139
+ }
140
+ /**
141
+ * Broadcasts a signed PSBT to the Bitcoin network.
142
+ *
143
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
144
+ * @returns A promise that resolves to the transaction ID as a Hex string
145
+ */
146
+ async broadcastPsbt(psbtHex, _options) {
147
+ const txid = await this.provider.pushPsbt(core_1.ccc.hexFrom(psbtHex).slice(2));
148
+ return core_1.ccc.hexFrom(txid);
149
+ }
130
150
  }
131
151
  exports.Signer = Signer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-ccc/uni-sat",
3
- "version": "1.0.31",
3
+ "version": "1.0.33",
4
4
  "description": "CCC - CKBer's Codebase. Common Chains Connector's support for UniSat",
5
5
  "author": "Hanssen0 <hanssen0@hanssen0.com>",
6
6
  "license": "MIT",
@@ -51,7 +51,7 @@
51
51
  "access": "public"
52
52
  },
53
53
  "dependencies": {
54
- "@ckb-ccc/core": "1.12.4"
54
+ "@ckb-ccc/core": "1.13.0"
55
55
  },
56
56
  "scripts": {
57
57
  "build": "rimraf ./dist && rimraf ./dist.commonjs && tsc && tsc --project tsconfig.commonjs.json && copyfiles -u 2 misc/basedirs/**/* .",
@@ -1,7 +1,26 @@
1
+ import { ccc } from "@ckb-ccc/core";
2
+
1
3
  /**
2
4
  * Interface representing a provider for interacting with accounts and signing messages.
3
5
  */
4
6
  export interface Provider {
7
+ /**
8
+ * Signs a PSBT using UniSat wallet.
9
+ *
10
+ * @param psbtHex - The hex string of PSBT to sign
11
+ * @param options - Options for signing the PSBT
12
+ * @returns A promise that resolves to the signed PSBT hex string
13
+ */
14
+ signPsbt(psbtHex: string, options?: ccc.SignPsbtOptionsLike): Promise<string>;
15
+
16
+ /**
17
+ * Broadcasts a signed PSBT to the Bitcoin network.
18
+ *
19
+ * @param psbtHex - The hex string of the signed PSBT to broadcast.
20
+ * @returns A promise that resolves to the transaction ID.
21
+ */
22
+ pushPsbt(psbtHex: string): Promise<string>;
23
+
5
24
  /**
6
25
  * Requests user accounts.
7
26
  * @returns A promise that resolves to an array of account addresses.
package/src/signer.ts CHANGED
@@ -150,4 +150,34 @@ export class Signer extends ccc.SignerBtc {
150
150
 
151
151
  return this.provider.signMessage(challenge, "ecdsa");
152
152
  }
153
+
154
+ /**
155
+ * Signs a PSBT using UniSat wallet.
156
+ *
157
+ * @param psbtHex - The hex string of PSBT to sign.
158
+ * @param options - Options for signing the PSBT
159
+ * @returns A promise that resolves to the signed PSBT as a Hex string
160
+ */
161
+ async signPsbt(
162
+ psbtHex: ccc.HexLike,
163
+ options?: ccc.SignPsbtOptionsLike,
164
+ ): Promise<ccc.Hex> {
165
+ return ccc.hexFrom(
166
+ await this.provider.signPsbt(ccc.hexFrom(psbtHex).slice(2), options),
167
+ );
168
+ }
169
+
170
+ /**
171
+ * Broadcasts a signed PSBT to the Bitcoin network.
172
+ *
173
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
174
+ * @returns A promise that resolves to the transaction ID as a Hex string
175
+ */
176
+ async broadcastPsbt(
177
+ psbtHex: ccc.HexLike,
178
+ _options?: ccc.SignPsbtOptionsLike,
179
+ ): Promise<ccc.Hex> {
180
+ const txid = await this.provider.pushPsbt(ccc.hexFrom(psbtHex).slice(2));
181
+ return ccc.hexFrom(txid);
182
+ }
153
183
  }