@ckb-ccc/utxo-global 1.0.32 → 1.1.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 (73) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/advanced.d.mts +2 -0
  3. package/dist/advanced.mjs +1 -0
  4. package/dist/advancedBarrel-C6-MvbTQ.d.mts +28 -0
  5. package/dist/advancedBarrel-C6-MvbTQ.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-B9Y4t3uV.mjs +2 -0
  10. package/dist/barrel-B9Y4t3uV.mjs.map +1 -0
  11. package/dist/barrel.d.mts +81 -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-E-x_uQzK.d.ts +28 -0
  20. package/dist.commonjs/advancedBarrel-E-x_uQzK.d.ts.map +1 -0
  21. package/dist.commonjs/advancedBarrel.d.ts +2 -21
  22. package/dist.commonjs/advancedBarrel.js +2 -2
  23. package/dist.commonjs/advancedBarrel.js.map +1 -0
  24. package/dist.commonjs/barrel-6nvDT30n.js +2 -0
  25. package/dist.commonjs/barrel-6nvDT30n.js.map +1 -0
  26. package/dist.commonjs/barrel.d.ts +80 -3
  27. package/dist.commonjs/barrel.d.ts.map +1 -1
  28. package/dist.commonjs/barrel.js +1 -19
  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 +26 -29
  33. package/src/btc/index.ts +28 -0
  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 -21
  39. package/dist/advancedBarrel.d.ts.map +0 -1
  40. package/dist/advancedBarrel.js +0 -1
  41. package/dist/barrel.d.ts +0 -4
  42. package/dist/barrel.d.ts.map +0 -1
  43. package/dist/barrel.js +0 -3
  44. package/dist/btc/index.d.ts +0 -23
  45. package/dist/btc/index.d.ts.map +0 -1
  46. package/dist/btc/index.js +0 -97
  47. package/dist/ckb/index.d.ts +0 -30
  48. package/dist/ckb/index.d.ts.map +0 -1
  49. package/dist/ckb/index.js +0 -92
  50. package/dist/doge/index.d.ts +0 -22
  51. package/dist/doge/index.d.ts.map +0 -1
  52. package/dist/doge/index.js +0 -84
  53. package/dist/index.d.ts +0 -2
  54. package/dist/index.d.ts.map +0 -1
  55. package/dist/index.js +0 -1
  56. package/dist/signersFactory.d.ts +0 -6
  57. package/dist/signersFactory.d.ts.map +0 -1
  58. package/dist/signersFactory.js +0 -26
  59. package/dist.commonjs/advanced.d.ts.map +0 -1
  60. package/dist.commonjs/advancedBarrel.d.ts.map +0 -1
  61. package/dist.commonjs/btc/index.d.ts +0 -23
  62. package/dist.commonjs/btc/index.d.ts.map +0 -1
  63. package/dist.commonjs/btc/index.js +0 -101
  64. package/dist.commonjs/ckb/index.d.ts +0 -30
  65. package/dist.commonjs/ckb/index.d.ts.map +0 -1
  66. package/dist.commonjs/ckb/index.js +0 -96
  67. package/dist.commonjs/doge/index.d.ts +0 -22
  68. package/dist.commonjs/doge/index.d.ts.map +0 -1
  69. package/dist.commonjs/doge/index.js +0 -88
  70. package/dist.commonjs/index.d.ts.map +0 -1
  71. package/dist.commonjs/signersFactory.d.ts +0 -6
  72. package/dist.commonjs/signersFactory.d.ts.map +0 -1
  73. package/dist.commonjs/signersFactory.js +0 -29
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-ccc/utxo-global",
3
- "version": "1.0.32",
3
+ "version": "1.1.0",
4
4
  "description": "Common Chains Connector's support for UTXO Global",
5
5
  "author": "Trong Dinh <trong@nexm.io>",
6
6
  "license": "MIT",
@@ -11,50 +11,47 @@
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
- "./barrel": {
23
- "import": "./dist/barrel.js",
24
- "require": "./dist.commonjs/barrel.js",
25
- "default": "./dist.commonjs/barrel.js"
21
+ "./advanced": {
22
+ "import": "./dist/advanced.mjs",
23
+ "require": "./dist.commonjs/advanced.js"
26
24
  },
27
25
  "./advancedBarrel": {
28
- "import": "./dist/advancedBarrel.js",
29
- "require": "./dist.commonjs/advancedBarrel.js",
30
- "default": "./dist.commonjs/advancedBarrel.js"
26
+ "import": "./dist/advancedBarrel.mjs",
27
+ "require": "./dist.commonjs/advancedBarrel.js"
31
28
  },
32
- "./advanced": {
33
- "import": "./dist/advanced.js",
34
- "require": "./dist.commonjs/advanced.js",
35
- "default": "./dist.commonjs/advanced.js"
36
- }
29
+ "./barrel": {
30
+ "import": "./dist/barrel.mjs",
31
+ "require": "./dist.commonjs/barrel.js"
32
+ },
33
+ "./package.json": "./package.json"
37
34
  },
38
35
  "devDependencies": {
39
- "@eslint/js": "^9.34.0",
40
- "copyfiles": "^2.4.1",
41
- "eslint": "^9.34.0",
36
+ "@eslint/js": "^10.0.1",
37
+ "eslint": "^10.5.0",
42
38
  "eslint-config-prettier": "^10.1.8",
43
- "eslint-plugin-prettier": "^5.5.4",
44
- "prettier": "^3.6.2",
45
- "prettier-plugin-organize-imports": "^4.2.0",
46
- "rimraf": "^6.0.1",
47
- "typescript": "^5.9.2",
48
- "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"
49
44
  },
50
45
  "publishConfig": {
51
46
  "access": "public"
52
47
  },
53
48
  "dependencies": {
54
- "@ckb-ccc/core": "1.12.5"
49
+ "tsdown": "^0.22.3",
50
+ "@ckb-ccc/core": "1.14.0"
55
51
  },
52
+ "types": "./dist.commonjs/index.d.ts",
56
53
  "scripts": {
57
- "build": "rimraf ./dist && rimraf ./dist.commonjs && tsc && tsc --project tsconfig.commonjs.json && copyfiles -u 2 misc/basedirs/**/* .",
54
+ "build": "tsdown",
58
55
  "lint": "eslint ./src",
59
56
  "format": "prettier --write . && eslint --fix ./src"
60
57
  }
package/src/btc/index.ts CHANGED
@@ -127,4 +127,32 @@ export class SignerBtc extends ccc.SignerBtc {
127
127
  this.accountCache ?? (await this.getBtcAccount()),
128
128
  );
129
129
  }
130
+
131
+ /**
132
+ * Signs a PSBT using UTXO Global wallet.
133
+ *
134
+ * @param psbtHex - The hex string of PSBT to sign.
135
+ * @param options - Options for signing the PSBT
136
+ * @returns A promise that resolves to the signed PSBT as a Hex string
137
+ */
138
+ async signPsbt(
139
+ _psbtHex: ccc.HexLike,
140
+ _options?: ccc.SignPsbtOptionsLike,
141
+ ): Promise<ccc.Hex> {
142
+ throw new Error("UTXO Global PSBT signing not implemented yet");
143
+ }
144
+
145
+ /**
146
+ * Broadcasts a signed PSBT to the Bitcoin network.
147
+ *
148
+ * @param psbtHex - The hex string of signed PSBT to broadcast.
149
+ * @returns A promise that resolves to the transaction ID as a Hex string
150
+ * @todo Implement PSBT broadcasting with UTXO Global
151
+ */
152
+ async broadcastPsbt(
153
+ _psbtHex: ccc.HexLike,
154
+ _options?: ccc.SignPsbtOptionsLike,
155
+ ): Promise<ccc.Hex> {
156
+ throw new Error("UTXO Global PSBT broadcasting not implemented yet");
157
+ }
130
158
  }
@@ -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 UtxoGlobalA 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,WAAW,MAAM,qBAAqB,CAAC"}
package/dist/advanced.js DELETED
@@ -1 +0,0 @@
1
- export * as UtxoGlobalA from "./advancedBarrel.js";
@@ -1,21 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- export interface Provider {
3
- requestAccounts(): Promise<string[]>;
4
- getAccount(): Promise<string[]>;
5
- getPublicKey(): Promise<{
6
- address: string;
7
- publicKey: string;
8
- }[]>;
9
- connect(): Promise<void>;
10
- isConnected(): Promise<boolean>;
11
- signMessage(msg: string, address: string): Promise<string>;
12
- signTransaction(tx: ccc.TransactionLike): Promise<ccc.TransactionLike>;
13
- getNetwork(): Promise<string>;
14
- switchNetwork(network: string): Promise<void>;
15
- on: OnMethod;
16
- removeListener(eventName: string, listener: (...args: unknown[]) => unknown): Provider;
17
- }
18
- export interface OnMethod {
19
- (eventName: string, listener: (...args: unknown[]) => unknown): Provider;
20
- }
21
- //# 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,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,WAAW,QAAQ;IACvB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAClE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAEvE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,EAAE,EAAE,QAAQ,CAAC;IACb,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,QAAQ,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,QAAQ,CAAC;CAC1E"}
@@ -1 +0,0 @@
1
- export {};
package/dist/barrel.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from "./btc/index.js";
2
- export * from "./ckb/index.js";
3
- export * from "./signersFactory.js";
4
- //# 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,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
package/dist/barrel.js DELETED
@@ -1,3 +0,0 @@
1
- export * from "./btc/index.js";
2
- export * from "./ckb/index.js";
3
- export * from "./signersFactory.js";
@@ -1,23 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- import { Provider } from "../advancedBarrel.js";
3
- /**
4
- * @public
5
- */
6
- export declare class SignerBtc extends ccc.SignerBtc {
7
- readonly provider: Provider;
8
- private readonly preferredNetworks;
9
- private accountCache;
10
- constructor(client: ccc.Client, provider: Provider, preferredNetworks?: ccc.NetworkPreference[]);
11
- getBtcAccount(): Promise<string>;
12
- getBtcPublicKey(): Promise<ccc.Hex>;
13
- /**
14
- * Ensure the BTC network is the same as CKB network.
15
- */
16
- ensureNetwork(): Promise<void>;
17
- _getNetworkToChange(): Promise<string | undefined>;
18
- onReplaced(listener: () => void): () => void;
19
- connect(): Promise<void>;
20
- isConnected(): Promise<boolean>;
21
- signMessageRaw(message: string | ccc.BytesLike): Promise<string>;
22
- }
23
- //# 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,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;GAEG;AACH,qBAAa,SAAU,SAAQ,GAAG,CAAC,SAAS;aAKxB,QAAQ,EAAE,QAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALpC,OAAO,CAAC,YAAY,CAAqB;gBAGvC,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,QAAQ,EAAE,QAAQ,EACjB,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKG,aAAa;IAMb,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAYzC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB9B,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAmBxD,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAiBtC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ/B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAQvE"}
package/dist/btc/index.js DELETED
@@ -1,97 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- /**
3
- * @public
4
- */
5
- export class SignerBtc extends ccc.SignerBtc {
6
- constructor(client, provider, preferredNetworks = [
7
- {
8
- addressPrefix: "ckb",
9
- signerType: ccc.SignerType.BTC,
10
- network: "btc",
11
- },
12
- {
13
- addressPrefix: "ckt",
14
- signerType: ccc.SignerType.BTC,
15
- network: "btcTestnet",
16
- },
17
- ]) {
18
- super(client);
19
- this.provider = provider;
20
- this.preferredNetworks = preferredNetworks;
21
- }
22
- async getBtcAccount() {
23
- const accounts = await this.provider.getAccount();
24
- this.accountCache = accounts[0];
25
- return this.accountCache;
26
- }
27
- async getBtcPublicKey() {
28
- const pubKeys = await this.provider.getPublicKey();
29
- const account = await this.getBtcAccount();
30
- const pubKey = pubKeys.find((p) => p.address === account);
31
- if (!pubKey) {
32
- throw new Error("pubKey not found");
33
- }
34
- return ccc.hexFrom(pubKey.publicKey);
35
- }
36
- /**
37
- * Ensure the BTC network is the same as CKB network.
38
- */
39
- async ensureNetwork() {
40
- const network = await this._getNetworkToChange();
41
- if (!network) {
42
- return;
43
- }
44
- const chain = {
45
- btc: "btc",
46
- btcTestnet: "btc_testnet",
47
- btcTestnet4: "btc_testnet_4",
48
- btcSignet: "btc_signet",
49
- }[network];
50
- if (chain) {
51
- await this.provider.switchNetwork(chain);
52
- return;
53
- }
54
- throw new Error(`UTXO Global wallet doesn't support the requested chain ${network}`);
55
- }
56
- async _getNetworkToChange() {
57
- const currentNetwork = {
58
- btc: "btc",
59
- btc_testnet: "btcTestnet",
60
- btc_testnet_4: "btcTestnet4",
61
- btc_signet: "btcSignet",
62
- }[await this.provider.getNetwork()];
63
- const { network } = this.matchNetworkPreference(this.preferredNetworks, currentNetwork) ?? { network: currentNetwork };
64
- if (network === currentNetwork) {
65
- return;
66
- }
67
- return network;
68
- }
69
- onReplaced(listener) {
70
- const stop = [];
71
- const replacer = async () => {
72
- listener();
73
- stop[0]?.();
74
- };
75
- stop.push(() => {
76
- this.provider.removeListener("accountsChanged", replacer);
77
- this.provider.removeListener("networkChanged", replacer);
78
- });
79
- this.provider.on("accountsChanged", replacer);
80
- this.provider.on("networkChanged", replacer);
81
- return stop[0];
82
- }
83
- async connect() {
84
- await this.provider.connect();
85
- await this.ensureNetwork();
86
- }
87
- async isConnected() {
88
- if ((await this._getNetworkToChange()) !== undefined) {
89
- return false;
90
- }
91
- return await this.provider.isConnected();
92
- }
93
- async signMessageRaw(message) {
94
- const challenge = typeof message === "string" ? message : ccc.hexFrom(message).slice(2);
95
- return this.provider.signMessage(challenge, this.accountCache ?? (await this.getBtcAccount()));
96
- }
97
- }
@@ -1,30 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- import { Provider } from "../advancedBarrel.js";
3
- /**
4
- * @public
5
- */
6
- export declare class SignerCkb extends ccc.Signer {
7
- readonly provider: Provider;
8
- private accountCache;
9
- get type(): ccc.SignerType;
10
- /**
11
- * Gets the sign type.
12
- * @returns The sign type.
13
- */
14
- get signType(): ccc.SignerSignType;
15
- constructor(client: ccc.Client, provider: Provider);
16
- getInternalAddress(): Promise<string>;
17
- getIdentity(): Promise<string>;
18
- getAddressObj(): Promise<ccc.Address>;
19
- getAddressObjs(): Promise<ccc.Address[]>;
20
- getAccount(): Promise<string>;
21
- getPublicKey(): Promise<ccc.Hex>;
22
- get ckbNetwork(): string;
23
- connect(): Promise<void>;
24
- onReplaced(listener: () => void): () => void;
25
- isConnected(): Promise<boolean>;
26
- signMessageRaw(message: string | ccc.BytesLike): Promise<string>;
27
- signOnlyTransaction(txLike: ccc.TransactionLike): Promise<ccc.Transaction>;
28
- prepareTransaction(txLike: ccc.TransactionLike): Promise<ccc.Transaction>;
29
- }
30
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;GAEG;AACH,qBAAa,SAAU,SAAQ,GAAG,CAAC,MAAM;aAgBrB,QAAQ,EAAE,QAAQ;IAfpC,OAAO,CAAC,YAAY,CAAqB;IACzC,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,CAEzB;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,GAAG,CAAC,cAAc,CAEjC;gBAGC,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,QAAQ,EAAE,QAAQ;IAKpC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAKrC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAIxC,UAAU;IAMV,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAYtC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAiBtC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ/B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAUhE,mBAAmB,CACvB,MAAM,EAAE,GAAG,CAAC,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAKrB,kBAAkB,CACtB,MAAM,EAAE,GAAG,CAAC,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;CAW5B"}
package/dist/ckb/index.js DELETED
@@ -1,92 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- /**
3
- * @public
4
- */
5
- export class SignerCkb extends ccc.Signer {
6
- get type() {
7
- return ccc.SignerType.CKB;
8
- }
9
- /**
10
- * Gets the sign type.
11
- * @returns The sign type.
12
- */
13
- get signType() {
14
- return ccc.SignerSignType.CkbSecp256k1;
15
- }
16
- constructor(client, provider) {
17
- super(client);
18
- this.provider = provider;
19
- }
20
- getInternalAddress() {
21
- return this.getAccount();
22
- }
23
- async getIdentity() {
24
- return this.getPublicKey();
25
- }
26
- async getAddressObj() {
27
- const address = await this.getInternalAddress();
28
- return ccc.Address.fromString(address, this.client);
29
- }
30
- async getAddressObjs() {
31
- return [await this.getAddressObj()];
32
- }
33
- async getAccount() {
34
- const accounts = await this.provider.getAccount();
35
- this.accountCache = accounts[0];
36
- return this.accountCache;
37
- }
38
- async getPublicKey() {
39
- const pubKeys = await this.provider.getPublicKey();
40
- const account = await this.getAccount();
41
- const pubKey = pubKeys.find((p) => p.address === account);
42
- if (!pubKey) {
43
- throw new Error("pubKey not found");
44
- }
45
- return ccc.hexFrom(pubKey.publicKey);
46
- }
47
- get ckbNetwork() {
48
- return this.client.addressPrefix === "ckb" ? "nervos" : "nervos_testnet";
49
- }
50
- async connect() {
51
- await this.provider.connect();
52
- if (this.ckbNetwork === (await this.provider.getNetwork())) {
53
- return;
54
- }
55
- await this.provider.switchNetwork(this.ckbNetwork);
56
- }
57
- onReplaced(listener) {
58
- const stop = [];
59
- const replacer = async () => {
60
- listener();
61
- stop[0]?.();
62
- };
63
- stop.push(() => {
64
- this.provider.removeListener("accountsChanged", replacer);
65
- this.provider.removeListener("networkChanged", replacer);
66
- });
67
- this.provider.on("accountsChanged", replacer);
68
- this.provider.on("networkChanged", replacer);
69
- return stop[0];
70
- }
71
- async isConnected() {
72
- if ((await this.provider.getNetwork()) !== this.ckbNetwork) {
73
- return false;
74
- }
75
- return await this.provider.isConnected();
76
- }
77
- async signMessageRaw(message) {
78
- const challenge = typeof message === "string" ? message : ccc.hexFrom(message).slice(2);
79
- return this.provider.signMessage(challenge, this.accountCache ?? (await this.getAccount()));
80
- }
81
- async signOnlyTransaction(txLike) {
82
- const txSigned = await this.provider.signTransaction(txLike);
83
- return ccc.Transaction.from(txSigned);
84
- }
85
- async prepareTransaction(txLike) {
86
- const tx = ccc.Transaction.from(txLike);
87
- const { script } = await this.getAddressObj();
88
- await tx.addCellDepsOfKnownScripts(this.client, ccc.KnownScript.Secp256k1Blake160);
89
- await tx.prepareSighashAllWitness(script, 65, this.client);
90
- return tx;
91
- }
92
- }
@@ -1,22 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- import { Provider } from "../advancedBarrel.js";
3
- /**
4
- * @public
5
- */
6
- export declare class SignerDoge extends ccc.SignerDoge {
7
- readonly provider: Provider;
8
- private readonly preferredNetworks;
9
- private accountCache;
10
- constructor(client: ccc.Client, provider: Provider, preferredNetworks?: ccc.NetworkPreference[]);
11
- getDogeAddress(): Promise<string>;
12
- /**
13
- * Ensure the BTC network is the same as CKB network.
14
- */
15
- ensureNetwork(): Promise<void>;
16
- _getNetworkToChange(): Promise<string | undefined>;
17
- onReplaced(listener: () => void): () => void;
18
- connect(): Promise<void>;
19
- isConnected(): Promise<boolean>;
20
- signMessageRaw(message: string | ccc.BytesLike): Promise<string>;
21
- }
22
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;GAEG;AACH,qBAAa,UAAW,SAAQ,GAAG,CAAC,UAAU;aAK1B,QAAQ,EAAE,QAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALpC,OAAO,CAAC,YAAY,CAAqB;gBAGvC,MAAM,EAAE,GAAG,CAAC,MAAM,EACF,QAAQ,EAAE,QAAQ,EACjB,iBAAiB,GAAE,GAAG,CAAC,iBAAiB,EAWxD;IAKG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAMvC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB9B,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAiBxD,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAiBtC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ/B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAQvE"}
@@ -1,84 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- /**
3
- * @public
4
- */
5
- export class SignerDoge extends ccc.SignerDoge {
6
- constructor(client, provider, preferredNetworks = [
7
- {
8
- addressPrefix: "ckb",
9
- signerType: ccc.SignerType.Doge,
10
- network: "doge",
11
- },
12
- {
13
- addressPrefix: "ckt",
14
- signerType: ccc.SignerType.Doge,
15
- network: "dogeTestnet",
16
- },
17
- ]) {
18
- super(client);
19
- this.provider = provider;
20
- this.preferredNetworks = preferredNetworks;
21
- }
22
- async getDogeAddress() {
23
- const accounts = await this.provider.getAccount();
24
- this.accountCache = accounts[0];
25
- return this.accountCache;
26
- }
27
- /**
28
- * Ensure the BTC network is the same as CKB network.
29
- */
30
- async ensureNetwork() {
31
- const network = await this._getNetworkToChange();
32
- if (!network) {
33
- return;
34
- }
35
- const chain = {
36
- doge: "dogecoin",
37
- dogeTestnet: "dogecoin_testnet",
38
- }[network];
39
- if (chain) {
40
- await this.provider.switchNetwork(chain);
41
- return;
42
- }
43
- throw new Error(`UTXO Global Doge wallet doesn't support the requested chain ${network}`);
44
- }
45
- async _getNetworkToChange() {
46
- const currentNetwork = {
47
- dogecoin: "doge",
48
- dogecoin_testnet: "dogeTestnet",
49
- }[await this.provider.getNetwork()];
50
- const { network } = this.matchNetworkPreference(this.preferredNetworks, currentNetwork) ?? { network: currentNetwork };
51
- if (network === currentNetwork) {
52
- return;
53
- }
54
- return network;
55
- }
56
- onReplaced(listener) {
57
- const stop = [];
58
- const replacer = async () => {
59
- listener();
60
- stop[0]?.();
61
- };
62
- stop.push(() => {
63
- this.provider.removeListener("accountsChanged", replacer);
64
- this.provider.removeListener("networkChanged", replacer);
65
- });
66
- this.provider.on("accountsChanged", replacer);
67
- this.provider.on("networkChanged", replacer);
68
- return stop[0];
69
- }
70
- async connect() {
71
- await this.provider.connect();
72
- await this.ensureNetwork();
73
- }
74
- async isConnected() {
75
- if ((await this._getNetworkToChange()) !== undefined) {
76
- return false;
77
- }
78
- return await this.provider.isConnected();
79
- }
80
- async signMessageRaw(message) {
81
- const challenge = typeof message === "string" ? message : ccc.hexFrom(message).slice(2);
82
- return this.provider.signMessage(challenge, this.accountCache ?? (await this.getDogeAddress()));
83
- }
84
- }
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * as UtxoGlobal 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,UAAU,MAAM,aAAa,CAAC"}
package/dist/index.js DELETED
@@ -1 +0,0 @@
1
- export * as UtxoGlobal from "./barrel.js";
@@ -1,6 +0,0 @@
1
- import { ccc } from "@ckb-ccc/core";
2
- /**
3
- * @public
4
- */
5
- export declare function getUtxoGlobalSigners(client: ccc.Client, preferredNetworks?: ccc.NetworkPreference[]): ccc.SignerInfo[];
6
- //# 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;AAMpC;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAC1C,GAAG,CAAC,UAAU,EAAE,CAmClB"}
@@ -1,26 +0,0 @@
1
- import { SignerBtc } from "./btc/index.js";
2
- import { SignerCkb } from "./ckb/index.js";
3
- import { SignerDoge } from "./doge/index.js";
4
- /**
5
- * @public
6
- */
7
- export function getUtxoGlobalSigners(client, preferredNetworks) {
8
- const windowRef = window;
9
- if (typeof windowRef.utxoGlobal === "undefined") {
10
- return [];
11
- }
12
- return [
13
- {
14
- name: "CKB",
15
- signer: new SignerCkb(client, windowRef.utxoGlobal.ckbSigner),
16
- },
17
- {
18
- name: "BTC",
19
- signer: new SignerBtc(client, windowRef.utxoGlobal.bitcoinSigner, preferredNetworks),
20
- },
21
- {
22
- name: "DOGE",
23
- signer: new SignerDoge(client, windowRef.utxoGlobal.dogeSigner, preferredNetworks),
24
- },
25
- ];
26
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../src/advanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,WAAW,QAAQ;IACvB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAClE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAEvE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,EAAE,EAAE,QAAQ,CAAC;IACb,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,QAAQ,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,QAAQ,CAAC;CAC1E"}