@ckb-ccc/utxo-global 1.0.33 → 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.
- package/CHANGELOG.md +13 -0
- package/dist/advanced.d.mts +2 -0
- package/dist/advanced.mjs +1 -0
- package/dist/advancedBarrel-C6-MvbTQ.d.mts +28 -0
- package/dist/advancedBarrel-C6-MvbTQ.d.mts.map +1 -0
- package/dist/advancedBarrel.d.mts +2 -0
- package/dist/advancedBarrel.mjs +2 -0
- package/dist/advancedBarrel.mjs.map +1 -0
- package/dist/barrel-B9Y4t3uV.mjs +2 -0
- package/dist/barrel-B9Y4t3uV.mjs.map +1 -0
- package/dist/barrel.d.mts +81 -0
- package/dist/barrel.d.mts.map +1 -0
- package/dist/barrel.mjs +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.mjs +1 -0
- package/dist/rolldown-runtime-DK3Fl9T5.mjs +1 -0
- package/dist.commonjs/advanced.d.ts +2 -2
- package/dist.commonjs/advanced.js +1 -37
- package/dist.commonjs/advancedBarrel-E-x_uQzK.d.ts +28 -0
- package/dist.commonjs/advancedBarrel-E-x_uQzK.d.ts.map +1 -0
- package/dist.commonjs/advancedBarrel.d.ts +2 -21
- package/dist.commonjs/advancedBarrel.js +2 -2
- package/dist.commonjs/advancedBarrel.js.map +1 -0
- package/dist.commonjs/barrel-6nvDT30n.js +2 -0
- package/dist.commonjs/barrel-6nvDT30n.js.map +1 -0
- package/dist.commonjs/barrel.d.ts +80 -3
- package/dist.commonjs/barrel.d.ts.map +1 -1
- package/dist.commonjs/barrel.js +1 -19
- package/dist.commonjs/index.d.ts +2 -2
- package/dist.commonjs/index.js +1 -37
- package/dist.commonjs/rolldown-runtime-BIInC43l.js +1 -0
- package/package.json +26 -29
- package/tsdown.config.mts +43 -0
- package/dist/advanced.d.ts +0 -2
- package/dist/advanced.d.ts.map +0 -1
- package/dist/advanced.js +0 -1
- package/dist/advancedBarrel.d.ts +0 -21
- package/dist/advancedBarrel.d.ts.map +0 -1
- package/dist/advancedBarrel.js +0 -1
- package/dist/barrel.d.ts +0 -4
- package/dist/barrel.d.ts.map +0 -1
- package/dist/barrel.js +0 -3
- package/dist/btc/index.d.ts +0 -39
- package/dist/btc/index.d.ts.map +0 -1
- package/dist/btc/index.js +0 -117
- package/dist/ckb/index.d.ts +0 -30
- package/dist/ckb/index.d.ts.map +0 -1
- package/dist/ckb/index.js +0 -92
- package/dist/doge/index.d.ts +0 -22
- package/dist/doge/index.d.ts.map +0 -1
- package/dist/doge/index.js +0 -84
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1
- package/dist/signersFactory.d.ts +0 -6
- package/dist/signersFactory.d.ts.map +0 -1
- package/dist/signersFactory.js +0 -26
- package/dist.commonjs/advanced.d.ts.map +0 -1
- package/dist.commonjs/advancedBarrel.d.ts.map +0 -1
- package/dist.commonjs/btc/index.d.ts +0 -39
- package/dist.commonjs/btc/index.d.ts.map +0 -1
- package/dist.commonjs/btc/index.js +0 -121
- package/dist.commonjs/ckb/index.d.ts +0 -30
- package/dist.commonjs/ckb/index.d.ts.map +0 -1
- package/dist.commonjs/ckb/index.js +0 -96
- package/dist.commonjs/doge/index.d.ts +0 -22
- package/dist.commonjs/doge/index.d.ts.map +0 -1
- package/dist.commonjs/doge/index.js +0 -88
- package/dist.commonjs/index.d.ts.map +0 -1
- package/dist.commonjs/signersFactory.d.ts +0 -6
- package/dist.commonjs/signersFactory.d.ts.map +0 -1
- 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
|
|
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.
|
|
14
|
+
"main": "./dist.commonjs/index.js",
|
|
15
|
+
"module": "./dist/index.mjs",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
18
|
-
"import": "./dist/index.
|
|
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
|
-
"./
|
|
23
|
-
"import": "./dist/
|
|
24
|
-
"require": "./dist.commonjs/
|
|
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.
|
|
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
|
-
"./
|
|
33
|
-
"import": "./dist/
|
|
34
|
-
"require": "./dist.commonjs/
|
|
35
|
-
|
|
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": "^
|
|
40
|
-
"
|
|
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.
|
|
44
|
-
"prettier": "^3.
|
|
45
|
-
"prettier-plugin-organize-imports": "^4.
|
|
46
|
-
"
|
|
47
|
-
"typescript": "^
|
|
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
|
-
"
|
|
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": "
|
|
54
|
+
"build": "tsdown",
|
|
58
55
|
"lint": "eslint ./src",
|
|
59
56
|
"format": "prettier --write . && eslint --fix ./src"
|
|
60
57
|
}
|
|
@@ -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
|
+
);
|
package/dist/advanced.d.ts
DELETED
package/dist/advanced.d.ts.map
DELETED
|
@@ -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";
|
package/dist/advancedBarrel.d.ts
DELETED
|
@@ -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"}
|
package/dist/advancedBarrel.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/barrel.d.ts
DELETED
package/dist/barrel.d.ts.map
DELETED
|
@@ -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
package/dist/btc/index.d.ts
DELETED
|
@@ -1,39 +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
|
-
* Signs a PSBT using UTXO Global wallet.
|
|
24
|
-
*
|
|
25
|
-
* @param psbtHex - The hex string of PSBT to sign.
|
|
26
|
-
* @param options - Options for signing the PSBT
|
|
27
|
-
* @returns A promise that resolves to the signed PSBT as a Hex string
|
|
28
|
-
*/
|
|
29
|
-
signPsbt(_psbtHex: ccc.HexLike, _options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
|
|
30
|
-
/**
|
|
31
|
-
* Broadcasts a signed PSBT to the Bitcoin network.
|
|
32
|
-
*
|
|
33
|
-
* @param psbtHex - The hex string of signed PSBT to broadcast.
|
|
34
|
-
* @returns A promise that resolves to the transaction ID as a Hex string
|
|
35
|
-
* @todo Implement PSBT broadcasting with UTXO Global
|
|
36
|
-
*/
|
|
37
|
-
broadcastPsbt(_psbtHex: ccc.HexLike, _options?: ccc.SignPsbtOptionsLike): Promise<ccc.Hex>;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/btc/index.d.ts.map
DELETED
|
@@ -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;IAStE;;;;;;OAMG;IACG,QAAQ,CACZ,QAAQ,EAAE,GAAG,CAAC,OAAO,EACrB,QAAQ,CAAC,EAAE,GAAG,CAAC,mBAAmB,GACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAInB;;;;;;OAMG;IACG,aAAa,CACjB,QAAQ,EAAE,GAAG,CAAC,OAAO,EACrB,QAAQ,CAAC,EAAE,GAAG,CAAC,mBAAmB,GACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;CAGpB"}
|
package/dist/btc/index.js
DELETED
|
@@ -1,117 +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
|
-
/**
|
|
98
|
-
* Signs a PSBT using UTXO Global wallet.
|
|
99
|
-
*
|
|
100
|
-
* @param psbtHex - The hex string of PSBT to sign.
|
|
101
|
-
* @param options - Options for signing the PSBT
|
|
102
|
-
* @returns A promise that resolves to the signed PSBT as a Hex string
|
|
103
|
-
*/
|
|
104
|
-
async signPsbt(_psbtHex, _options) {
|
|
105
|
-
throw new Error("UTXO Global PSBT signing not implemented yet");
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Broadcasts a signed PSBT to the Bitcoin network.
|
|
109
|
-
*
|
|
110
|
-
* @param psbtHex - The hex string of signed PSBT to broadcast.
|
|
111
|
-
* @returns A promise that resolves to the transaction ID as a Hex string
|
|
112
|
-
* @todo Implement PSBT broadcasting with UTXO Global
|
|
113
|
-
*/
|
|
114
|
-
async broadcastPsbt(_psbtHex, _options) {
|
|
115
|
-
throw new Error("UTXO Global PSBT broadcasting not implemented yet");
|
|
116
|
-
}
|
|
117
|
-
}
|
package/dist/ckb/index.d.ts
DELETED
|
@@ -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
|
package/dist/ckb/index.d.ts.map
DELETED
|
@@ -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
|
-
}
|
package/dist/doge/index.d.ts
DELETED
|
@@ -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
|
package/dist/doge/index.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/doge/index.js
DELETED
|
@@ -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
package/dist/index.d.ts.map
DELETED
|
@@ -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";
|
package/dist/signersFactory.d.ts
DELETED
|
@@ -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"}
|
package/dist/signersFactory.js
DELETED
|
@@ -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"}
|