@ckb-ccc/okx 1.0.33 → 1.1.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 (67) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/advanced.d.mts +2 -0
  3. package/dist/advanced.mjs +1 -0
  4. package/dist/advancedBarrel-BiG-IULW.d.mts +47 -0
  5. package/dist/advancedBarrel-BiG-IULW.d.mts.map +1 -0
  6. package/dist/advancedBarrel.d.mts +2 -0
  7. package/dist/advancedBarrel.mjs +2 -0
  8. package/dist/advancedBarrel.mjs.map +1 -0
  9. package/dist/barrel-BFDGU14b.mjs +2 -0
  10. package/dist/barrel-BFDGU14b.mjs.map +1 -0
  11. package/dist/barrel.d.mts +79 -0
  12. package/dist/barrel.d.mts.map +1 -0
  13. package/dist/barrel.mjs +1 -0
  14. package/dist/index.d.mts +2 -0
  15. package/dist/index.mjs +1 -0
  16. package/dist/rolldown-runtime-DK3Fl9T5.mjs +1 -0
  17. package/dist.commonjs/advanced.d.ts +2 -2
  18. package/dist.commonjs/advanced.js +1 -37
  19. package/dist.commonjs/advancedBarrel-DORhIjHP.d.ts +47 -0
  20. package/dist.commonjs/advancedBarrel-DORhIjHP.d.ts.map +1 -0
  21. package/dist.commonjs/advancedBarrel.d.ts +2 -40
  22. package/dist.commonjs/advancedBarrel.js +2 -2
  23. package/dist.commonjs/advancedBarrel.js.map +1 -0
  24. package/dist.commonjs/barrel-CmxB1I7L.js +2 -0
  25. package/dist.commonjs/barrel-CmxB1I7L.js.map +1 -0
  26. package/dist.commonjs/barrel.d.ts +78 -2
  27. package/dist.commonjs/barrel.d.ts.map +1 -1
  28. package/dist.commonjs/barrel.js +1 -18
  29. package/dist.commonjs/index.d.ts +2 -2
  30. package/dist.commonjs/index.js +1 -37
  31. package/dist.commonjs/rolldown-runtime-BIInC43l.js +1 -0
  32. package/package.json +30 -23
  33. package/src/advancedBarrel.ts +2 -1
  34. package/tsdown.config.mts +43 -0
  35. package/dist/advanced.d.ts +0 -2
  36. package/dist/advanced.d.ts.map +0 -1
  37. package/dist/advanced.js +0 -1
  38. package/dist/advancedBarrel.d.ts +0 -40
  39. package/dist/advancedBarrel.d.ts.map +0 -1
  40. package/dist/advancedBarrel.js +0 -1
  41. package/dist/barrel.d.ts +0 -3
  42. package/dist/barrel.d.ts.map +0 -1
  43. package/dist/barrel.js +0 -2
  44. package/dist/btc/index.d.ts +0 -62
  45. package/dist/btc/index.d.ts.map +0 -1
  46. package/dist/btc/index.js +0 -169
  47. package/dist/index.d.ts +0 -2
  48. package/dist/index.d.ts.map +0 -1
  49. package/dist/index.js +0 -1
  50. package/dist/nostr/index.d.ts +0 -17
  51. package/dist/nostr/index.d.ts.map +0 -1
  52. package/dist/nostr/index.js +0 -56
  53. package/dist/signersFactory.d.ts +0 -10
  54. package/dist/signersFactory.d.ts.map +0 -1
  55. package/dist/signersFactory.js +0 -25
  56. package/dist.commonjs/advanced.d.ts.map +0 -1
  57. package/dist.commonjs/advancedBarrel.d.ts.map +0 -1
  58. package/dist.commonjs/btc/index.d.ts +0 -62
  59. package/dist.commonjs/btc/index.d.ts.map +0 -1
  60. package/dist.commonjs/btc/index.js +0 -173
  61. package/dist.commonjs/index.d.ts.map +0 -1
  62. package/dist.commonjs/nostr/index.d.ts +0 -17
  63. package/dist.commonjs/nostr/index.d.ts.map +0 -1
  64. package/dist.commonjs/nostr/index.js +0 -60
  65. package/dist.commonjs/signersFactory.d.ts +0 -10
  66. package/dist.commonjs/signersFactory.d.ts.map +0 -1
  67. package/dist.commonjs/signersFactory.js +0 -28
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-ccc/okx",
3
- "version": "1.0.33",
3
+ "version": "1.1.1",
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",
@@ -11,42 +11,49 @@
11
11
  "url": "git://github.com/ckb-devrel/ccc.git"
12
12
  },
13
13
  "sideEffects": false,
14
- "main": "dist.commonjs/index.js",
15
- "module": "dist/index.js",
14
+ "main": "./dist.commonjs/index.js",
15
+ "module": "./dist/index.mjs",
16
16
  "exports": {
17
17
  ".": {
18
- "import": "./dist/index.js",
19
- "require": "./dist.commonjs/index.js",
20
- "default": "./dist.commonjs/index.js"
18
+ "import": "./dist/index.mjs",
19
+ "require": "./dist.commonjs/index.js"
21
20
  },
22
21
  "./advanced": {
23
- "import": "./dist/advanced.js",
24
- "require": "./dist.commonjs/advanced.js",
25
- "default": "./dist.commonjs/advanced.js"
26
- }
22
+ "import": "./dist/advanced.mjs",
23
+ "require": "./dist.commonjs/advanced.js"
24
+ },
25
+ "./advancedBarrel": {
26
+ "import": "./dist/advancedBarrel.mjs",
27
+ "require": "./dist.commonjs/advancedBarrel.js"
28
+ },
29
+ "./barrel": {
30
+ "import": "./dist/barrel.mjs",
31
+ "require": "./dist.commonjs/barrel.js"
32
+ },
33
+ "./package.json": "./package.json"
27
34
  },
28
35
  "devDependencies": {
29
- "@eslint/js": "^9.34.0",
30
- "copyfiles": "^2.4.1",
31
- "eslint": "^9.34.0",
36
+ "@eslint/js": "^10.0.1",
37
+ "eslint": "^10.5.0",
32
38
  "eslint-config-prettier": "^10.1.8",
33
- "eslint-plugin-prettier": "^5.5.4",
34
- "prettier": "^3.6.2",
35
- "prettier-plugin-organize-imports": "^4.2.0",
36
- "rimraf": "^6.0.1",
37
- "typescript": "^5.9.2",
38
- "typescript-eslint": "^8.41.0"
39
+ "eslint-plugin-prettier": "^5.5.6",
40
+ "prettier": "^3.8.4",
41
+ "prettier-plugin-organize-imports": "^4.3.0",
42
+ "typescript": "^6.0.3",
43
+ "typescript-eslint": "^8.61.1"
39
44
  },
40
45
  "publishConfig": {
41
46
  "access": "public"
42
47
  },
43
48
  "dependencies": {
44
- "@ckb-ccc/core": "1.13.0",
45
- "@ckb-ccc/nip07": "1.0.33",
46
- "@ckb-ccc/uni-sat": "1.0.33"
49
+ "tsdown": "^0.22.3",
50
+ "@ckb-ccc/core": "1.15.0",
51
+ "@ckb-ccc/nip07": "1.1.1",
52
+ "@ckb-ccc/uni-sat": "1.1.1"
47
53
  },
54
+ "types": "./dist.commonjs/index.d.ts",
48
55
  "scripts": {
49
- "build": "rimraf ./dist && rimraf ./dist.commonjs && tsc && tsc --project tsconfig.commonjs.json && copyfiles -u 2 misc/basedirs/**/* .",
56
+ "build": "tsdown",
50
57
  "lint": "eslint ./src",
51
58
  "format": "prettier --write . && eslint --fix ./src"
52
59
  }
@@ -2,7 +2,8 @@ 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<
5
+ extends
6
+ Pick<
6
7
  UniSatA.Provider,
7
8
  "on" | "removeListener" | "signMessage" | "signPsbt" | "pushPsbt"
8
9
  >,
@@ -0,0 +1,43 @@
1
+ import { defineConfig } from "tsdown";
2
+
3
+ const common = {
4
+ minify: true,
5
+ dts: true,
6
+ platform: "neutral" as const,
7
+ sourcemap: true,
8
+ exports: true,
9
+ };
10
+
11
+ const entry = {
12
+ index: "src/index.ts",
13
+ barrel: "src/barrel.ts",
14
+ advanced: "src/advanced.ts",
15
+ advancedBarrel: "src/advancedBarrel.ts",
16
+ } as const;
17
+
18
+ const bundleDeps: string[] = [];
19
+
20
+ export default defineConfig(
21
+ (
22
+ [
23
+ {
24
+ entry,
25
+ deps: {
26
+ onlyBundle: [] as string[],
27
+ },
28
+ format: "esm",
29
+ copy: "./misc/basedirs/dist/*",
30
+ },
31
+ {
32
+ entry,
33
+ deps: {
34
+ alwaysBundle: bundleDeps,
35
+ onlyBundle: bundleDeps,
36
+ },
37
+ format: "cjs",
38
+ outDir: "dist.commonjs",
39
+ copy: "./misc/basedirs/dist.commonjs/*",
40
+ },
41
+ ] as const
42
+ ).map((c) => ({ ...c, ...common })),
43
+ );
@@ -1,2 +0,0 @@
1
- export * as OkxA from "./advancedBarrel.js";
2
- //# sourceMappingURL=advanced.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../src/advanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAC"}
package/dist/advanced.js DELETED
@@ -1 +0,0 @@
1
- export * as OkxA from "./advancedBarrel.js";
@@ -1,40 +0,0 @@
1
- import { Nip07A } from "@ckb-ccc/nip07/advanced";
2
- import { UniSatA } from "@ckb-ccc/uni-sat/advanced";
3
- export interface BitcoinProvider extends Pick<UniSatA.Provider, "on" | "removeListener" | "signMessage" | "signPsbt" | "pushPsbt">, Partial<Omit<UniSatA.Provider, "on" | "removeListener" | "signMessage" | "signPsbt" | "pushPsbt" | "pushTx">> {
4
- connect?(): Promise<{
5
- address: string;
6
- publicKey: string;
7
- compressedPublicKey: string;
8
- }>;
9
- getSelectedAccount?(): Promise<{
10
- address: string;
11
- publicKey: string;
12
- compressedPublicKey: string;
13
- } | null>;
14
- }
15
- export interface NostrProvider extends Nip07A.Provider {
16
- connect?(): Promise<void>;
17
- /**
18
- * Adds an event listener to the provider.
19
- */
20
- on: NostrOnMethod;
21
- /**
22
- * Removes an event listener from the provider.
23
- * @param eventName - The name of the event to remove the listener from.
24
- * @param listener - The listener function to remove.
25
- * @returns The provider instance.
26
- */
27
- removeListener(eventName: string, listener: (...args: unknown[]) => unknown): NostrProvider;
28
- }
29
- /**
30
- * Interface representing a method to add event listeners to the provider.
31
- */
32
- export interface NostrOnMethod {
33
- /**
34
- * Adds an event listener to the provider.
35
- * @param eventName - The name of the event.
36
- * @param listener - The listener function.
37
- */
38
- (eventName: string, listener: (...args: unknown[]) => unknown): void;
39
- }
40
- //# sourceMappingURL=advancedBarrel.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- export {};
package/dist/barrel.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from "./btc/index.js";
2
- export * from "./signersFactory.js";
3
- //# sourceMappingURL=barrel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
package/dist/barrel.js DELETED
@@ -1,2 +0,0 @@
1
- export * from "./btc/index.js";
2
- export * from "./signersFactory.js";
@@ -1,62 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- import { BitcoinProvider } from "../advancedBarrel.js";
3
- /**
4
- * Class representing a Bitcoin signer that extends SignerBtc
5
- * @public
6
- */
7
- export declare class BitcoinSigner extends ccc.SignerBtc {
8
- readonly providers: Record<string, BitcoinProvider>;
9
- private readonly preferredNetworks;
10
- private network;
11
- /**
12
- * Creates an instance of Signer.
13
- * @param client - The client instance.
14
- * @param providers - The providers instance.
15
- * @param preferredNetworks - All preferred networks
16
- */
17
- constructor(client: ccc.Client, providers: Record<string, BitcoinProvider>, preferredNetworks?: ccc.NetworkPreference[]);
18
- get provider(): BitcoinProvider;
19
- /**
20
- * Gets the Bitcoin account address.
21
- * @returns A promise that resolves to the Bitcoin account address.
22
- */
23
- getBtcAccount(): Promise<string>;
24
- /**
25
- * Gets the Bitcoin public key.
26
- * @returns A promise that resolves to the Bitcoin public key.
27
- */
28
- getBtcPublicKey(): Promise<ccc.Hex>;
29
- /**
30
- * Connects to the provider by requesting accounts.
31
- * @returns A promise that resolves when the connection is established.
32
- */
33
- connect(): Promise<void>;
34
- onReplaced(listener: () => void): () => void;
35
- /**
36
- * Checks if the signer is connected.
37
- * @returns A promise that resolves to true if connected, false otherwise.
38
- */
39
- isConnected(): Promise<boolean>;
40
- /**
41
- * Signs a raw message with the Bitcoin account.
42
- * @param message - The message to sign.
43
- * @returns A promise that resolves to the signed message.
44
- */
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>;
61
- }
62
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,169 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- /**
3
- * Class representing a Bitcoin signer that extends SignerBtc
4
- * @public
5
- */
6
- export class BitcoinSigner extends ccc.SignerBtc {
7
- /**
8
- * Creates an instance of Signer.
9
- * @param client - The client instance.
10
- * @param providers - The providers instance.
11
- * @param preferredNetworks - All preferred networks
12
- */
13
- constructor(client, providers, preferredNetworks = [
14
- {
15
- addressPrefix: "ckb",
16
- signerType: ccc.SignerType.BTC,
17
- network: "btc",
18
- },
19
- {
20
- addressPrefix: "ckt",
21
- signerType: ccc.SignerType.BTC,
22
- network: "btcTestnet",
23
- },
24
- ]) {
25
- super(client);
26
- this.providers = providers;
27
- this.preferredNetworks = preferredNetworks;
28
- this.network = "btcTestnet";
29
- }
30
- get provider() {
31
- const { network } = this.matchNetworkPreference(this.preferredNetworks, this.network) ?? { network: this.network };
32
- this.network = network;
33
- const chain = {
34
- btc: "bitcoin",
35
- btcTestnet: "bitcoinTestnet",
36
- btcSignet: "bitcoinSignet",
37
- }[network];
38
- if (!chain) {
39
- throw new Error(`OKX wallet doesn't support the requested chain ${this.network}`);
40
- }
41
- const provider = this.providers[chain];
42
- if (!provider) {
43
- throw new Error(`OKX wallet doesn't support the requested chain ${this.network}`);
44
- }
45
- return provider;
46
- }
47
- /**
48
- * Gets the Bitcoin account address.
49
- * @returns A promise that resolves to the Bitcoin account address.
50
- */
51
- async getBtcAccount() {
52
- if (this.provider.getAccounts) {
53
- const address = (await this.provider.getAccounts())[0];
54
- if (!address) {
55
- throw Error("Not connected");
56
- }
57
- return address;
58
- }
59
- if (this.provider.getSelectedAccount) {
60
- const account = await this.provider.getSelectedAccount();
61
- if (!account) {
62
- throw Error("Not connected");
63
- }
64
- return account.address;
65
- }
66
- throw Error("Unsupported OKX provider");
67
- }
68
- /**
69
- * Gets the Bitcoin public key.
70
- * @returns A promise that resolves to the Bitcoin public key.
71
- */
72
- async getBtcPublicKey() {
73
- if (this.provider.getPublicKey) {
74
- const publicKey = await this.provider.getPublicKey();
75
- if (publicKey === "") {
76
- throw Error("The OKX Wallet returned wrong public key");
77
- }
78
- return ccc.hexFrom(publicKey);
79
- }
80
- if (this.provider.getSelectedAccount) {
81
- const account = await this.provider.getSelectedAccount();
82
- if (!account) {
83
- throw Error("Not connected");
84
- }
85
- return ccc.hexFrom(account.compressedPublicKey);
86
- }
87
- throw Error("Unsupported OKX provider");
88
- }
89
- /**
90
- * Connects to the provider by requesting accounts.
91
- * @returns A promise that resolves when the connection is established.
92
- */
93
- async connect() {
94
- if (this.provider.requestAccounts) {
95
- await this.provider.requestAccounts();
96
- return;
97
- }
98
- if (this.provider.connect) {
99
- await this.provider.connect();
100
- return;
101
- }
102
- throw Error("Unsupported OKX provider");
103
- }
104
- onReplaced(listener) {
105
- const stop = [];
106
- const replacer = async () => {
107
- listener();
108
- stop[0]?.();
109
- };
110
- stop.push(() => {
111
- this.provider.removeListener("accountChanged", replacer);
112
- });
113
- this.provider.on("accountChanged", replacer);
114
- return stop[0];
115
- }
116
- /**
117
- * Checks if the signer is connected.
118
- * @returns A promise that resolves to true if connected, false otherwise.
119
- */
120
- async isConnected() {
121
- try {
122
- void this.provider; // Invoke provider getter
123
- }
124
- catch (_) {
125
- return false;
126
- }
127
- if (this.provider.getAccounts) {
128
- if ((await this.provider.getAccounts()).length === 0) {
129
- return false;
130
- }
131
- }
132
- else if (this.provider.getSelectedAccount) {
133
- if ((await this.provider.getSelectedAccount()) === null) {
134
- return false;
135
- }
136
- }
137
- await this.connect();
138
- return true;
139
- }
140
- /**
141
- * Signs a raw message with the Bitcoin account.
142
- * @param message - The message to sign.
143
- * @returns A promise that resolves to the signed message.
144
- */
145
- async signMessageRaw(message) {
146
- const challenge = typeof message === "string" ? message : ccc.hexFrom(message).slice(2);
147
- return this.provider.signMessage(challenge, "ecdsa");
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
- }
169
- }
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * as Okx from "./barrel.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC"}
package/dist/index.js DELETED
@@ -1 +0,0 @@
1
- export * as Okx from "./barrel.js";
@@ -1,17 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- import { NostrProvider } from "../advancedBarrel.js";
3
- /**
4
- * Class representing a Bitcoin signer that extends SignerBtc
5
- * @public
6
- */
7
- export declare class NostrSigner extends ccc.SignerNostr {
8
- readonly provider: NostrProvider;
9
- private publicKeyCache?;
10
- constructor(client: ccc.Client, provider: NostrProvider);
11
- getNostrPublicKey(): Promise<ccc.Hex>;
12
- signNostrEvent(event: ccc.NostrEvent): Promise<Required<ccc.NostrEvent>>;
13
- connect(): Promise<void>;
14
- onReplaced(listener: () => void): () => void;
15
- isConnected(): Promise<boolean>;
16
- }
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nostr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,GAAG,CAAC,WAAW;aAK5B,QAAQ,EAAE,aAAa;IAJzC,OAAO,CAAC,cAAc,CAAC,CAA8B;gBAGnD,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,QAAQ,EAAE,aAAa;IAKnC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAsBrC,cAAc,CAClB,KAAK,EAAE,GAAG,CAAC,UAAU,GACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAO9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAetC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAGtC"}
@@ -1,56 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- /**
3
- * Class representing a Bitcoin signer that extends SignerBtc
4
- * @public
5
- */
6
- export class NostrSigner extends ccc.SignerNostr {
7
- constructor(client, provider) {
8
- super(client);
9
- this.provider = provider;
10
- this.publicKeyCache = undefined;
11
- }
12
- async getNostrPublicKey() {
13
- if (!this.publicKeyCache) {
14
- this.publicKeyCache = this.provider
15
- .getPublicKey()
16
- .then((v) => {
17
- // For some account types of OKX Wallet, this might returns null
18
- // e.g. Keyless accounts
19
- if (v) {
20
- return v;
21
- }
22
- throw Error("This OKX Wallet account does not support Nostr");
23
- })
24
- .catch((e) => {
25
- this.publicKeyCache = undefined;
26
- throw e;
27
- });
28
- }
29
- return ccc.hexFrom(await this.publicKeyCache);
30
- }
31
- async signNostrEvent(event) {
32
- return this.provider.signEvent({
33
- ...event,
34
- pubkey: await this.publicKeyCache,
35
- });
36
- }
37
- async connect() {
38
- await this.provider.connect?.(); // Help extension to switch network
39
- await this.getNostrPublicKey();
40
- }
41
- onReplaced(listener) {
42
- const stop = [];
43
- const replacer = () => {
44
- listener();
45
- stop[0]?.();
46
- };
47
- stop.push(() => {
48
- this.provider.removeListener("accountChanged", replacer);
49
- });
50
- this.provider.on("accountChanged", replacer);
51
- return stop[0];
52
- }
53
- async isConnected() {
54
- return true;
55
- }
56
- }
@@ -1,10 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- /**
3
- * Retrieves the OKX Bitcoin signer if available.
4
- * @public
5
- *
6
- * @param client - The client instance.
7
- * @returns The BitcoinSigner instance if the OKX wallet is available, otherwise undefined.
8
- */
9
- export declare function getOKXSigners(client: ccc.Client, preferredNetworks?: ccc.NetworkPreference[]): ccc.SignerInfo[];
10
- //# sourceMappingURL=signersFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signersFactory.d.ts","sourceRoot":"","sources":["../src/signersFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAKpC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAC1C,GAAG,CAAC,UAAU,EAAE,CAmBlB"}
@@ -1,25 +0,0 @@
1
- import { BitcoinSigner } from "./btc/index.js";
2
- import { NostrSigner } from "./nostr/index.js";
3
- /**
4
- * Retrieves the OKX Bitcoin signer if available.
5
- * @public
6
- *
7
- * @param client - The client instance.
8
- * @returns The BitcoinSigner instance if the OKX wallet is available, otherwise undefined.
9
- */
10
- export function getOKXSigners(client, preferredNetworks) {
11
- const windowRef = window;
12
- if (typeof windowRef.okxwallet === "undefined") {
13
- return [];
14
- }
15
- return [
16
- {
17
- signer: new BitcoinSigner(client, windowRef.okxwallet, preferredNetworks),
18
- name: "BTC",
19
- },
20
- {
21
- signer: new NostrSigner(client, windowRef.okxwallet.nostr),
22
- name: "Nostr",
23
- },
24
- ];
25
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../src/advanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAC"}
@@ -1 +0,0 @@
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"}
@@ -1,62 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- import { BitcoinProvider } from "../advancedBarrel.js";
3
- /**
4
- * Class representing a Bitcoin signer that extends SignerBtc
5
- * @public
6
- */
7
- export declare class BitcoinSigner extends ccc.SignerBtc {
8
- readonly providers: Record<string, BitcoinProvider>;
9
- private readonly preferredNetworks;
10
- private network;
11
- /**
12
- * Creates an instance of Signer.
13
- * @param client - The client instance.
14
- * @param providers - The providers instance.
15
- * @param preferredNetworks - All preferred networks
16
- */
17
- constructor(client: ccc.Client, providers: Record<string, BitcoinProvider>, preferredNetworks?: ccc.NetworkPreference[]);
18
- get provider(): BitcoinProvider;
19
- /**
20
- * Gets the Bitcoin account address.
21
- * @returns A promise that resolves to the Bitcoin account address.
22
- */
23
- getBtcAccount(): Promise<string>;
24
- /**
25
- * Gets the Bitcoin public key.
26
- * @returns A promise that resolves to the Bitcoin public key.
27
- */
28
- getBtcPublicKey(): Promise<ccc.Hex>;
29
- /**
30
- * Connects to the provider by requesting accounts.
31
- * @returns A promise that resolves when the connection is established.
32
- */
33
- connect(): Promise<void>;
34
- onReplaced(listener: () => void): () => void;
35
- /**
36
- * Checks if the signer is connected.
37
- * @returns A promise that resolves to true if connected, false otherwise.
38
- */
39
- isConnected(): Promise<boolean>;
40
- /**
41
- * Signs a raw message with the Bitcoin account.
42
- * @param message - The message to sign.
43
- * @returns A promise that resolves to the signed message.
44
- */
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>;
61
- }
62
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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"}