@ckb-ccc/okx 1.0.32 → 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,23 @@
1
1
  # @ckb-ccc/okx
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
+ - @ckb-ccc/uni-sat@1.0.33
19
+ - @ckb-ccc/nip07@1.0.33
20
+
3
21
  ## 1.0.32
4
22
  ### Patch Changes
5
23
 
@@ -1,6 +1,6 @@
1
1
  import { Nip07A } from "@ckb-ccc/nip07/advanced";
2
2
  import { UniSatA } from "@ckb-ccc/uni-sat/advanced";
3
- export interface BitcoinProvider extends Pick<UniSatA.Provider, "on" | "removeListener" | "signMessage">, Partial<Omit<UniSatA.Provider, "on" | "removeListener" | "signMessage">> {
3
+ export interface BitcoinProvider extends Pick<UniSatA.Provider, "on" | "removeListener" | "signMessage" | "signPsbt" | "pushPsbt">, Partial<Omit<UniSatA.Provider, "on" | "removeListener" | "signMessage" | "signPsbt" | "pushPsbt" | "pushTx">> {
4
4
  connect?(): Promise<{
5
5
  address: string;
6
6
  publicKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,gBAAgB,GAAG,aAAa,CAAC,EACrE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,gBAAgB,GAAG,aAAa,CAAC,CAAC;IAC1E,OAAO,CAAC,IAAI,OAAO,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;IAEH,kBAAkB,CAAC,IAAI,OAAO,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI,CAAC,CAAC;CACX;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,QAAQ;IACpD,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,EAAE,EAAE,aAAa,CAAC;IAElB;;;;;OAKG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,aAAa,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CACtE"}
1
+ {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,MAAM,WAAW,eACf,SAAQ,IAAI,CACR,OAAO,CAAC,QAAQ,EAChB,IAAI,GAAG,gBAAgB,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAClE,EACD,OAAO,CACL,IAAI,CACF,OAAO,CAAC,QAAQ,EACd,IAAI,GACJ,gBAAgB,GAChB,aAAa,GACb,UAAU,GACV,UAAU,GACV,QAAQ,CACX,CACF;IACH,OAAO,CAAC,IAAI,OAAO,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;IAEH,kBAAkB,CAAC,IAAI,OAAO,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI,CAAC,CAAC;CACX;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,QAAQ;IACpD,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,EAAE,EAAE,aAAa,CAAC;IAElB;;;;;OAKG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,aAAa,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CACtE"}
@@ -43,5 +43,20 @@ export declare class BitcoinSigner extends ccc.SignerBtc {
43
43
  * @returns A promise that resolves to the signed message.
44
44
  */
45
45
  signMessageRaw(message: string | ccc.BytesLike): Promise<string>;
46
+ /**
47
+ * Signs a PSBT using OKX wallet.
48
+ *
49
+ * @param psbtHex - The hex string of PSBT to sign.
50
+ * @param options - Options for signing the PSBT
51
+ * @returns A promise that resolves to the signed PSBT as a Hex string
52
+ */
53
+ signPsbt(psbtHex: ccc.HexLike, options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
54
+ /**
55
+ * Broadcasts a signed PSBT to the Bitcoin network.
56
+ *
57
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
58
+ * @returns A promise that resolves to the transaction ID as a Hex string
59
+ */
60
+ broadcastPsbt(psbtHex: ccc.HexLike, _options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
46
61
  }
47
62
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,GAAG,CAAC,SAAS;aAW5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAXpC,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;;;OAKG;gBAED,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKH,IAAI,QAAQ,IAAI,eAAe,CAwB9B;IAED;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAoBtC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAoBzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAe5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBrC;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAMvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,GAAG,CAAC,SAAS;aAW5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAXpC,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;;;OAKG;gBAED,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKH,IAAI,QAAQ,IAAI,eAAe,CAwB9B;IAED;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAoBtC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAoBzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAe5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBrC;;;;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/btc/index.js CHANGED
@@ -146,4 +146,24 @@ export class BitcoinSigner extends ccc.SignerBtc {
146
146
  const challenge = typeof message === "string" ? message : ccc.hexFrom(message).slice(2);
147
147
  return this.provider.signMessage(challenge, "ecdsa");
148
148
  }
149
+ /**
150
+ * Signs a PSBT using OKX wallet.
151
+ *
152
+ * @param psbtHex - The hex string of PSBT to sign.
153
+ * @param options - Options for signing the PSBT
154
+ * @returns A promise that resolves to the signed PSBT as a Hex string
155
+ */
156
+ async signPsbt(psbtHex, options) {
157
+ return ccc.hexFrom(await this.provider.signPsbt(ccc.hexFrom(psbtHex).slice(2), options));
158
+ }
159
+ /**
160
+ * Broadcasts a signed PSBT to the Bitcoin network.
161
+ *
162
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
163
+ * @returns A promise that resolves to the transaction ID as a Hex string
164
+ */
165
+ async broadcastPsbt(psbtHex, _options) {
166
+ const txid = await this.provider.pushPsbt(ccc.hexFrom(psbtHex).slice(2));
167
+ return ccc.hexFrom(txid);
168
+ }
149
169
  }
@@ -1,6 +1,6 @@
1
1
  import { Nip07A } from "@ckb-ccc/nip07/advanced";
2
2
  import { UniSatA } from "@ckb-ccc/uni-sat/advanced";
3
- export interface BitcoinProvider extends Pick<UniSatA.Provider, "on" | "removeListener" | "signMessage">, Partial<Omit<UniSatA.Provider, "on" | "removeListener" | "signMessage">> {
3
+ export interface BitcoinProvider extends Pick<UniSatA.Provider, "on" | "removeListener" | "signMessage" | "signPsbt" | "pushPsbt">, Partial<Omit<UniSatA.Provider, "on" | "removeListener" | "signMessage" | "signPsbt" | "pushPsbt" | "pushTx">> {
4
4
  connect?(): Promise<{
5
5
  address: string;
6
6
  publicKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,gBAAgB,GAAG,aAAa,CAAC,EACrE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,gBAAgB,GAAG,aAAa,CAAC,CAAC;IAC1E,OAAO,CAAC,IAAI,OAAO,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;IAEH,kBAAkB,CAAC,IAAI,OAAO,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI,CAAC,CAAC;CACX;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,QAAQ;IACpD,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,EAAE,EAAE,aAAa,CAAC;IAElB;;;;;OAKG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,aAAa,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CACtE"}
1
+ {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,MAAM,WAAW,eACf,SAAQ,IAAI,CACR,OAAO,CAAC,QAAQ,EAChB,IAAI,GAAG,gBAAgB,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAClE,EACD,OAAO,CACL,IAAI,CACF,OAAO,CAAC,QAAQ,EACd,IAAI,GACJ,gBAAgB,GAChB,aAAa,GACb,UAAU,GACV,UAAU,GACV,QAAQ,CACX,CACF;IACH,OAAO,CAAC,IAAI,OAAO,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;IAEH,kBAAkB,CAAC,IAAI,OAAO,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI,CAAC,CAAC;CACX;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,QAAQ;IACpD,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,EAAE,EAAE,aAAa,CAAC;IAElB;;;;;OAKG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,aAAa,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CACtE"}
@@ -43,5 +43,20 @@ export declare class BitcoinSigner extends ccc.SignerBtc {
43
43
  * @returns A promise that resolves to the signed message.
44
44
  */
45
45
  signMessageRaw(message: string | ccc.BytesLike): Promise<string>;
46
+ /**
47
+ * Signs a PSBT using OKX wallet.
48
+ *
49
+ * @param psbtHex - The hex string of PSBT to sign.
50
+ * @param options - Options for signing the PSBT
51
+ * @returns A promise that resolves to the signed PSBT as a Hex string
52
+ */
53
+ signPsbt(psbtHex: ccc.HexLike, options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
54
+ /**
55
+ * Broadcasts a signed PSBT to the Bitcoin network.
56
+ *
57
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
58
+ * @returns A promise that resolves to the transaction ID as a Hex string
59
+ */
60
+ broadcastPsbt(psbtHex: ccc.HexLike, _options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
46
61
  }
47
62
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,GAAG,CAAC,SAAS;aAW5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAXpC,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;;;OAKG;gBAED,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKH,IAAI,QAAQ,IAAI,eAAe,CAwB9B;IAED;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAoBtC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAoBzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAe5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBrC;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAMvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,GAAG,CAAC,SAAS;aAW5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAXpC,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;;;OAKG;gBAED,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKH,IAAI,QAAQ,IAAI,eAAe,CAwB9B;IAED;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAoBtC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAoBzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAe5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBrC;;;;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"}
@@ -149,5 +149,25 @@ class BitcoinSigner extends core_1.ccc.SignerBtc {
149
149
  const challenge = typeof message === "string" ? message : core_1.ccc.hexFrom(message).slice(2);
150
150
  return this.provider.signMessage(challenge, "ecdsa");
151
151
  }
152
+ /**
153
+ * Signs a PSBT using OKX wallet.
154
+ *
155
+ * @param psbtHex - The hex string of PSBT to sign.
156
+ * @param options - Options for signing the PSBT
157
+ * @returns A promise that resolves to the signed PSBT as a Hex string
158
+ */
159
+ async signPsbt(psbtHex, options) {
160
+ return core_1.ccc.hexFrom(await this.provider.signPsbt(core_1.ccc.hexFrom(psbtHex).slice(2), options));
161
+ }
162
+ /**
163
+ * Broadcasts a signed PSBT to the Bitcoin network.
164
+ *
165
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
166
+ * @returns A promise that resolves to the transaction ID as a Hex string
167
+ */
168
+ async broadcastPsbt(psbtHex, _options) {
169
+ const txid = await this.provider.pushPsbt(core_1.ccc.hexFrom(psbtHex).slice(2));
170
+ return core_1.ccc.hexFrom(txid);
171
+ }
152
172
  }
153
173
  exports.BitcoinSigner = BitcoinSigner;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-ccc/okx",
3
- "version": "1.0.32",
3
+ "version": "1.0.33",
4
4
  "description": "CCC - CKBer's Codebase. Common Chains Connector's support for OKX",
5
5
  "author": "Hanssen0 <hanssen0@hanssen0.com>",
6
6
  "license": "MIT",
@@ -41,9 +41,9 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@ckb-ccc/core": "1.12.5",
45
- "@ckb-ccc/nip07": "1.0.32",
46
- "@ckb-ccc/uni-sat": "1.0.32"
44
+ "@ckb-ccc/core": "1.13.0",
45
+ "@ckb-ccc/nip07": "1.0.33",
46
+ "@ckb-ccc/uni-sat": "1.0.33"
47
47
  },
48
48
  "scripts": {
49
49
  "build": "rimraf ./dist && rimraf ./dist.commonjs && tsc && tsc --project tsconfig.commonjs.json && copyfiles -u 2 misc/basedirs/**/* .",
@@ -2,8 +2,21 @@ import { Nip07A } from "@ckb-ccc/nip07/advanced";
2
2
  import { UniSatA } from "@ckb-ccc/uni-sat/advanced";
3
3
 
4
4
  export interface BitcoinProvider
5
- extends Pick<UniSatA.Provider, "on" | "removeListener" | "signMessage">,
6
- Partial<Omit<UniSatA.Provider, "on" | "removeListener" | "signMessage">> {
5
+ extends Pick<
6
+ UniSatA.Provider,
7
+ "on" | "removeListener" | "signMessage" | "signPsbt" | "pushPsbt"
8
+ >,
9
+ Partial<
10
+ Omit<
11
+ UniSatA.Provider,
12
+ | "on"
13
+ | "removeListener"
14
+ | "signMessage"
15
+ | "signPsbt"
16
+ | "pushPsbt"
17
+ | "pushTx"
18
+ >
19
+ > {
7
20
  connect?(): Promise<{
8
21
  address: string;
9
22
  publicKey: string;
package/src/btc/index.ts CHANGED
@@ -176,4 +176,34 @@ export class BitcoinSigner extends ccc.SignerBtc {
176
176
 
177
177
  return this.provider.signMessage(challenge, "ecdsa");
178
178
  }
179
+
180
+ /**
181
+ * Signs a PSBT using OKX wallet.
182
+ *
183
+ * @param psbtHex - The hex string of PSBT to sign.
184
+ * @param options - Options for signing the PSBT
185
+ * @returns A promise that resolves to the signed PSBT as a Hex string
186
+ */
187
+ async signPsbt(
188
+ psbtHex: ccc.HexLike,
189
+ options?: ccc.SignPsbtOptionsLike,
190
+ ): Promise<ccc.Hex> {
191
+ return ccc.hexFrom(
192
+ await this.provider.signPsbt(ccc.hexFrom(psbtHex).slice(2), options),
193
+ );
194
+ }
195
+
196
+ /**
197
+ * Broadcasts a signed PSBT to the Bitcoin network.
198
+ *
199
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
200
+ * @returns A promise that resolves to the transaction ID as a Hex string
201
+ */
202
+ async broadcastPsbt(
203
+ psbtHex: ccc.HexLike,
204
+ _options?: ccc.SignPsbtOptionsLike,
205
+ ): Promise<ccc.Hex> {
206
+ const txid = await this.provider.pushPsbt(ccc.hexFrom(psbtHex).slice(2));
207
+ return ccc.hexFrom(txid);
208
+ }
179
209
  }