@ckb-ccc/ccc 0.0.12-alpha.7 → 0.0.13-alpha.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 (46) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +10 -7
  3. package/dist/assets/rei.svg.d.ts +2 -0
  4. package/dist/assets/rei.svg.d.ts.map +1 -0
  5. package/dist/assets/rei.svg.js +2 -0
  6. package/dist/barrel.d.ts +1 -0
  7. package/dist/barrel.d.ts.map +1 -1
  8. package/dist/barrel.js +1 -0
  9. package/dist/signersController.d.ts +24 -6
  10. package/dist/signersController.d.ts.map +1 -1
  11. package/dist/signersController.js +53 -35
  12. package/dist.commonjs/advanced.d.ts +1 -1
  13. package/dist.commonjs/advanced.js +22 -47
  14. package/dist.commonjs/advancedBarrel.d.ts +1 -1
  15. package/dist.commonjs/advancedBarrel.js +14 -30
  16. package/dist.commonjs/assets/eth.svg.d.ts +1 -1
  17. package/dist.commonjs/assets/eth.svg.js +1 -3
  18. package/dist.commonjs/assets/joy-id.svg.d.ts +1 -1
  19. package/dist.commonjs/assets/joy-id.svg.js +1 -3
  20. package/dist.commonjs/assets/metamask.svg.d.ts +1 -1
  21. package/dist.commonjs/assets/metamask.svg.js +1 -3
  22. package/dist.commonjs/assets/nostr.svg.d.ts +1 -1
  23. package/dist.commonjs/assets/nostr.svg.js +1 -3
  24. package/dist.commonjs/assets/okx.svg.d.ts +1 -1
  25. package/dist.commonjs/assets/okx.svg.js +1 -3
  26. package/dist.commonjs/assets/rei.svg.d.ts +2 -0
  27. package/dist.commonjs/assets/rei.svg.d.ts.map +1 -0
  28. package/dist.commonjs/assets/rei.svg.js +5 -0
  29. package/dist.commonjs/assets/uni-sat.svg.d.ts +1 -1
  30. package/dist.commonjs/assets/uni-sat.svg.js +1 -3
  31. package/dist.commonjs/assets/utils.d.ts +1 -1
  32. package/dist.commonjs/assets/utils.js +1 -1
  33. package/dist.commonjs/assets/utxo-global.svg.d.ts +1 -1
  34. package/dist.commonjs/barrel.d.ts +2 -1
  35. package/dist.commonjs/barrel.d.ts.map +1 -1
  36. package/dist.commonjs/barrel.js +15 -30
  37. package/dist.commonjs/index.d.ts +1 -1
  38. package/dist.commonjs/index.js +22 -47
  39. package/dist.commonjs/signersController.d.ts +41 -30
  40. package/dist.commonjs/signersController.d.ts.map +1 -1
  41. package/dist.commonjs/signersController.js +100 -207
  42. package/package.json +9 -8
  43. package/src/assets/rei.svg.ts +5 -0
  44. package/src/barrel.ts +1 -0
  45. package/src/signersController.ts +85 -113
  46. package/typedoc.json +6 -0
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.encodeSvgToImgSrc = void 0;
4
4
  function encodeSvgToImgSrc(svg) {
5
- return `data:image/svg+xml,${encodeURIComponent(svg)}`;
5
+ return `data:image/svg+xml,${encodeURIComponent(svg)}`;
6
6
  }
7
7
  exports.encodeSvgToImgSrc = encodeSvgToImgSrc;
@@ -1,2 +1,2 @@
1
1
  export declare const UTXO_GLOBAL_SVG: string;
2
- //# sourceMappingURL=utxo-global.svg.d.ts.map
2
+ //# sourceMappingURL=utxo-global.svg.d.ts.map
@@ -3,7 +3,8 @@ export * from "@ckb-ccc/eip6963";
3
3
  export * from "@ckb-ccc/joy-id";
4
4
  export * from "@ckb-ccc/nip07";
5
5
  export * from "@ckb-ccc/okx";
6
+ export * from "@ckb-ccc/rei";
6
7
  export * from "@ckb-ccc/uni-sat";
7
8
  export * from "@ckb-ccc/utxo-global";
8
9
  export * from "./signersController.js";
9
- //# sourceMappingURL=barrel.d.ts.map
10
+ //# sourceMappingURL=barrel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC"}
@@ -1,40 +1,25 @@
1
1
  "use strict";
2
- var __createBinding =
3
- (this && this.__createBinding) ||
4
- (Object.create
5
- ? function (o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (
9
- !desc ||
10
- ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)
11
- ) {
12
- desc = {
13
- enumerable: true,
14
- get: function () {
15
- return m[k];
16
- },
17
- };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }
21
- : function (o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- o[k2] = m[k];
24
- });
25
- var __exportStar =
26
- (this && this.__exportStar) ||
27
- function (m, exports) {
28
- for (var p in m)
29
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p))
30
- __createBinding(exports, m, p);
31
- };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
32
16
  Object.defineProperty(exports, "__esModule", { value: true });
33
17
  __exportStar(require("@ckb-ccc/core/barrel"), exports);
34
18
  __exportStar(require("@ckb-ccc/eip6963"), exports);
35
19
  __exportStar(require("@ckb-ccc/joy-id"), exports);
36
20
  __exportStar(require("@ckb-ccc/nip07"), exports);
37
21
  __exportStar(require("@ckb-ccc/okx"), exports);
22
+ __exportStar(require("@ckb-ccc/rei"), exports);
38
23
  __exportStar(require("@ckb-ccc/uni-sat"), exports);
39
24
  __exportStar(require("@ckb-ccc/utxo-global"), exports);
40
25
  __exportStar(require("./signersController.js"), exports);
@@ -1,3 +1,3 @@
1
1
  export * from "./barrel.js";
2
2
  export * as ccc from "./barrel.js";
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=index.d.ts.map
@@ -1,55 +1,30 @@
1
1
  "use strict";
2
- var __createBinding =
3
- (this && this.__createBinding) ||
4
- (Object.create
5
- ? function (o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (
9
- !desc ||
10
- ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)
11
- ) {
12
- desc = {
13
- enumerable: true,
14
- get: function () {
15
- return m[k];
16
- },
17
- };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }
21
- : function (o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- o[k2] = m[k];
24
- });
25
- var __setModuleDefault =
26
- (this && this.__setModuleDefault) ||
27
- (Object.create
28
- ? function (o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }
31
- : function (o, v) {
32
- o["default"] = v;
33
- });
34
- var __exportStar =
35
- (this && this.__exportStar) ||
36
- function (m, exports) {
37
- for (var p in m)
38
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p))
39
- __createBinding(exports, m, p);
40
- };
41
- var __importStar =
42
- (this && this.__importStar) ||
43
- function (mod) {
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || function (mod) {
44
22
  if (mod && mod.__esModule) return mod;
45
23
  var result = {};
46
- if (mod != null)
47
- for (var k in mod)
48
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
49
- __createBinding(result, mod, k);
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
50
25
  __setModuleDefault(result, mod);
51
26
  return result;
52
- };
27
+ };
53
28
  Object.defineProperty(exports, "__esModule", { value: true });
54
29
  exports.ccc = void 0;
55
30
  __exportStar(require("./barrel.js"), exports);
@@ -1,35 +1,46 @@
1
1
  import { ccc } from "@ckb-ccc/core";
2
+ /**
3
+ * @public
4
+ */
2
5
  export type WalletWithSigners = ccc.Wallet & {
3
- signers: ccc.SignerInfo[];
6
+ signers: ccc.SignerInfo[];
4
7
  };
5
- export declare class SignersController {
6
- private resetListeners;
7
- constructor();
8
- getConfig(configs?: {
9
- preferredNetworks?: ccc.NetworkPreference[];
10
- name?: string;
11
- icon?: string;
12
- }): {
13
- name: string;
14
- icon: string;
8
+ /**
9
+ * @public
10
+ */
11
+ export interface SignersControllerRefreshContext {
12
+ client: ccc.Client;
13
+ appName: string;
14
+ appIcon: string;
15
15
  preferredNetworks: ccc.NetworkPreference[];
16
- };
17
- disconnect(): void;
18
- refresh(
19
- client: ccc.Client,
20
- onUpdate: (wallets: WalletWithSigners[]) => void,
21
- configs?: {
22
- signerFilter?: (
23
- signerInfo: ccc.SignerInfo,
24
- wallet: ccc.Wallet,
25
- ) => Promise<boolean>;
26
- preferredNetworks?: ccc.NetworkPreference[];
27
- name?: string;
28
- icon?: string;
29
- },
30
- ): Promise<void>;
31
- private addLinkSigners;
32
- private addSigners;
33
- private addSigner;
16
+ onUpdate: (wallets: WalletWithSigners[]) => void;
17
+ wallets: WalletWithSigners[];
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ export declare class SignersController {
23
+ private resetListeners;
24
+ constructor();
25
+ getConfig(configs?: {
26
+ preferredNetworks?: ccc.NetworkPreference[];
27
+ name?: string;
28
+ icon?: string;
29
+ }): {
30
+ appName: string;
31
+ appIcon: string;
32
+ preferredNetworks: ccc.NetworkPreference[];
33
+ };
34
+ disconnect(): void;
35
+ refresh(client: ccc.Client, onUpdate: (wallets: WalletWithSigners[]) => void, configs?: {
36
+ preferredNetworks?: ccc.NetworkPreference[];
37
+ name?: string;
38
+ icon?: string;
39
+ }): Promise<void>;
40
+ addRealSigners(context: SignersControllerRefreshContext): Promise<void>;
41
+ addDummySigners(context: SignersControllerRefreshContext): Promise<void>;
42
+ addLinkSigners(walletName: string, icon: string, signerTypes: ccc.SignerType[], link: string, context: SignersControllerRefreshContext): Promise<void[]>;
43
+ addSigners(walletName: string, icon: string, signers: ccc.SignerInfo[], context: SignersControllerRefreshContext): Promise<void[]>;
44
+ protected addSigner(walletName: string, icon: string, signerInfo: ccc.SignerInfo, { wallets, onUpdate }: SignersControllerRefreshContext): Promise<void>;
34
45
  }
35
- //# sourceMappingURL=signersController.d.ts.map
46
+ //# sourceMappingURL=signersController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signersController.d.ts","sourceRoot":"","sources":["../src/signersController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAepC,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,GAAG;IAC3C,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;CAC3B,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,cAAc,CAAsB;;IAI5C,SAAS,CAAC,OAAO,CAAC,EAAE;QAClB,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;;;;;IAgCD,UAAU;IAKJ,OAAO,CACX,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,EAChD,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,CACb,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;QACtB,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;YAoHW,cAAc;YA4Bd,UAAU;YA4BV,SAAS;CA6CxB"}
1
+ {"version":3,"file":"signersController.d.ts","sourceRoot":"","sources":["../src/signersController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAiBpC;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,GAAG;IAC3C,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACjD,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,cAAc,CAAsB;;IAI5C,SAAS,CAAC,OAAO,CAAC,EAAE;QAClB,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;;;;;IAgCD,UAAU;IAKJ,OAAO,CACX,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,EAChD,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;IAmBG,cAAc,CAAC,OAAO,EAAE,+BAA+B;IAiEvD,eAAe,CAAC,OAAO,EAAE,+BAA+B;IAmCxD,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,+BAA+B;IAapC,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,EACzB,OAAO,EAAE,+BAA+B;cAS1B,SAAS,CACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,+BAA+B,GACrD,OAAO,CAAC,IAAI,CAAC;CAkBjB"}
@@ -6,6 +6,7 @@ const eip6963_1 = require("@ckb-ccc/eip6963");
6
6
  const joy_id_1 = require("@ckb-ccc/joy-id");
7
7
  const nip07_1 = require("@ckb-ccc/nip07");
8
8
  const okx_1 = require("@ckb-ccc/okx");
9
+ const rei_1 = require("@ckb-ccc/rei");
9
10
  const uni_sat_1 = require("@ckb-ccc/uni-sat");
10
11
  const utxo_global_1 = require("@ckb-ccc/utxo-global");
11
12
  const eth_svg_js_1 = require("./assets/eth.svg.js");
@@ -13,219 +14,111 @@ const joy_id_svg_js_1 = require("./assets/joy-id.svg.js");
13
14
  const metamask_svg_js_1 = require("./assets/metamask.svg.js");
14
15
  const nostr_svg_js_1 = require("./assets/nostr.svg.js");
15
16
  const okx_svg_js_1 = require("./assets/okx.svg.js");
17
+ const rei_svg_js_1 = require("./assets/rei.svg.js");
16
18
  const uni_sat_svg_js_1 = require("./assets/uni-sat.svg.js");
17
19
  const utxo_global_svg_js_1 = require("./assets/utxo-global.svg.js");
20
+ /**
21
+ * @public
22
+ */
18
23
  class SignersController {
19
- constructor() {
20
- this.resetListeners = [];
21
- }
22
- getConfig(configs) {
23
- const name =
24
- configs?.name ?? document.querySelector("head title")?.text ?? "Unknown";
25
- const icon =
26
- configs?.icon ??
27
- document.querySelector('link[rel="icon"]')?.href ??
28
- "https://fav.farm/%E2%9D%93";
29
- const preferredNetworks = [
30
- ...(configs?.preferredNetworks ?? []),
31
- {
32
- addressPrefix: "ckb",
33
- signerType: core_1.ccc.SignerType.BTC,
34
- network: "btc",
35
- },
36
- {
37
- addressPrefix: "ckt",
38
- signerType: core_1.ccc.SignerType.BTC,
39
- network: "btcTestnet",
40
- },
41
- ];
42
- return {
43
- name,
44
- icon,
45
- preferredNetworks,
46
- };
47
- }
48
- disconnect() {
49
- this.resetListeners.forEach((listener) => listener());
50
- this.resetListeners = [];
51
- }
52
- async refresh(client, onUpdate, configs) {
53
- this.disconnect();
54
- const wallets = [];
55
- const { name, icon, preferredNetworks } = this.getConfig(configs);
56
- await this.addSigners(
57
- wallets,
58
- "UTXO Global Wallet",
59
- utxo_global_svg_js_1.UTXO_GLOBAL_SVG,
60
- utxo_global_1.UtxoGlobal.getUtxoGlobalSigners(client),
61
- onUpdate,
62
- configs,
63
- );
64
- await this.addSigners(
65
- wallets,
66
- "JoyID Passkey",
67
- joy_id_svg_js_1.JOY_ID_SVG,
68
- joy_id_1.JoyId.getJoyIdSigners(client, name, icon, preferredNetworks),
69
- onUpdate,
70
- configs,
71
- );
72
- await this.addSigners(
73
- wallets,
74
- "UniSat",
75
- uni_sat_svg_js_1.UNI_SAT_SVG,
76
- uni_sat_1.UniSat.getUniSatSigners(client, preferredNetworks),
77
- onUpdate,
78
- configs,
79
- );
80
- await this.addSigners(
81
- wallets,
82
- "OKX Wallet",
83
- okx_svg_js_1.OKX_SVG,
84
- okx_1.Okx.getOKXSigners(client, preferredNetworks),
85
- onUpdate,
86
- configs,
87
- );
88
- await this.addSigner(
89
- wallets,
90
- "Nostr",
91
- nostr_svg_js_1.NOSTR_SVG,
92
- "Nostr",
93
- nip07_1.Nip07.getNip07Signer(client),
94
- onUpdate,
95
- configs,
96
- );
97
- this.resetListeners.push(
98
- new eip6963_1.Eip6963.SignerFactory(client).subscribeSigners(
99
- (signer, detail) =>
100
- this.addSigner(
101
- wallets,
102
- detail?.info.name ?? "EVM",
103
- detail?.info.icon ?? eth_svg_js_1.ETH_SVG,
104
- "EVM",
105
- signer,
24
+ constructor() {
25
+ this.resetListeners = [];
26
+ }
27
+ getConfig(configs) {
28
+ const appName = configs?.name ??
29
+ document.querySelector("head title")?.text ??
30
+ "Unknown";
31
+ const appIcon = configs?.icon ??
32
+ document.querySelector('link[rel="icon"]')
33
+ ?.href ??
34
+ "https://fav.farm/%E2%9D%93";
35
+ const preferredNetworks = [
36
+ ...(configs?.preferredNetworks ?? []),
37
+ {
38
+ addressPrefix: "ckb",
39
+ signerType: core_1.ccc.SignerType.BTC,
40
+ network: "btc",
41
+ },
42
+ {
43
+ addressPrefix: "ckt",
44
+ signerType: core_1.ccc.SignerType.BTC,
45
+ network: "btcTestnet",
46
+ },
47
+ ];
48
+ return {
49
+ appName,
50
+ appIcon,
51
+ preferredNetworks,
52
+ };
53
+ }
54
+ disconnect() {
55
+ this.resetListeners.forEach((listener) => listener());
56
+ this.resetListeners = [];
57
+ }
58
+ async refresh(client, onUpdate, configs) {
59
+ this.disconnect();
60
+ const { appName, appIcon, preferredNetworks } = this.getConfig(configs);
61
+ const context = {
62
+ client,
63
+ appName,
64
+ appIcon,
65
+ preferredNetworks,
106
66
  onUpdate,
107
- configs,
108
- ),
109
- ),
110
- );
111
- // === Dummy signers ===
112
- await this.addLinkSigners(
113
- wallets,
114
- "MetaMask",
115
- metamask_svg_js_1.METAMASK_SVG,
116
- client,
117
- [core_1.ccc.SignerType.EVM],
118
- `https://metamask.app.link/dapp/${window.location.href}`,
119
- onUpdate,
120
- configs,
121
- );
122
- await this.addLinkSigners(
123
- wallets,
124
- "OKX Wallet",
125
- okx_svg_js_1.OKX_SVG,
126
- client,
127
- [core_1.ccc.SignerType.EVM, core_1.ccc.SignerType.BTC],
128
- "https://www.okx.com/download?deeplink=" +
129
- encodeURIComponent(
130
- "okx://wallet/dapp/url?dappUrl=" +
131
- encodeURIComponent(window.location.href),
132
- ),
133
- onUpdate,
134
- configs,
135
- );
136
- await this.addLinkSigners(
137
- wallets,
138
- "UniSat",
139
- uni_sat_svg_js_1.UNI_SAT_SVG,
140
- client,
141
- [core_1.ccc.SignerType.BTC],
142
- "https://unisat.io/download",
143
- onUpdate,
144
- configs,
145
- );
146
- await this.addLinkSigners(
147
- wallets,
148
- "UTXO Global Wallet",
149
- utxo_global_svg_js_1.UTXO_GLOBAL_SVG,
150
- client,
151
- [core_1.ccc.SignerType.CKB, core_1.ccc.SignerType.BTC],
152
- "https://chromewebstore.google.com/detail/lnamkkidoonpeknminiadpgjiofpdmle",
153
- onUpdate,
154
- configs,
155
- );
156
- // ===
157
- }
158
- async addLinkSigners(
159
- wallets,
160
- walletName,
161
- icon,
162
- client,
163
- signerTypes,
164
- link,
165
- onUpdate,
166
- configs,
167
- ) {
168
- return this.addSigners(
169
- wallets,
170
- walletName,
171
- icon,
172
- signerTypes.map((type) => ({
173
- name: type,
174
- signer: new core_1.ccc.SignerOpenLink(client, type, link),
175
- })),
176
- onUpdate,
177
- configs,
178
- );
179
- }
180
- async addSigners(wallets, walletName, icon, signers, onUpdate, configs) {
181
- return Promise.all(
182
- signers.map(({ signer, name }) =>
183
- this.addSigner(
184
- wallets,
185
- walletName,
186
- icon,
187
- name,
188
- signer,
189
- onUpdate,
190
- configs,
191
- ),
192
- ),
193
- );
194
- }
195
- async addSigner(
196
- wallets,
197
- walletName,
198
- icon,
199
- signerName,
200
- signer,
201
- onUpdate,
202
- configs,
203
- ) {
204
- if (!signer) {
205
- return;
67
+ wallets: [],
68
+ };
69
+ await this.addRealSigners(context);
70
+ await this.addDummySigners(context);
71
+ }
72
+ async addRealSigners(context) {
73
+ const { appName, appIcon, client, preferredNetworks } = context;
74
+ await this.addSigners("UTXO Global Wallet", utxo_global_svg_js_1.UTXO_GLOBAL_SVG, utxo_global_1.UtxoGlobal.getUtxoGlobalSigners(client), context);
75
+ await this.addSigners("Rei Wallet", rei_svg_js_1.REI_SVG, rei_1.Rei.getReiSigners(client), context);
76
+ await this.addSigners("JoyID Passkey", joy_id_svg_js_1.JOY_ID_SVG, joy_id_1.JoyId.getJoyIdSigners(client, appName, appIcon, preferredNetworks), context);
77
+ await this.addSigners("UniSat", uni_sat_svg_js_1.UNI_SAT_SVG, uni_sat_1.UniSat.getUniSatSigners(client, preferredNetworks), context);
78
+ await this.addSigners("OKX Wallet", okx_svg_js_1.OKX_SVG, okx_1.Okx.getOKXSigners(client, preferredNetworks), context);
79
+ const nostrSigner = nip07_1.Nip07.getNip07Signer(client);
80
+ if (nostrSigner) {
81
+ await this.addSigner("Nostr", nostr_svg_js_1.NOSTR_SVG, {
82
+ name: "Nostr",
83
+ signer: nostrSigner,
84
+ }, context);
85
+ }
86
+ this.resetListeners.push(new eip6963_1.Eip6963.SignerFactory(client).subscribeSigners((signer, detail) => this.addSigner(detail?.info.name ?? "EVM", detail?.info.icon ?? eth_svg_js_1.ETH_SVG, {
87
+ name: "EVM",
88
+ signer,
89
+ }, context)));
90
+ }
91
+ async addDummySigners(context) {
92
+ await this.addLinkSigners("MetaMask", metamask_svg_js_1.METAMASK_SVG, [core_1.ccc.SignerType.EVM], `https://metamask.app.link/dapp/${window.location.href}`, context);
93
+ await this.addLinkSigners("OKX Wallet", okx_svg_js_1.OKX_SVG, [core_1.ccc.SignerType.EVM, core_1.ccc.SignerType.BTC], "https://www.okx.com/download?deeplink=" +
94
+ encodeURIComponent("okx://wallet/dapp/url?dappUrl=" +
95
+ encodeURIComponent(window.location.href)), context);
96
+ await this.addLinkSigners("UniSat", uni_sat_svg_js_1.UNI_SAT_SVG, [core_1.ccc.SignerType.BTC], "https://unisat.io/download", context);
97
+ await this.addLinkSigners("UTXO Global Wallet", utxo_global_svg_js_1.UTXO_GLOBAL_SVG, [core_1.ccc.SignerType.CKB, core_1.ccc.SignerType.BTC], "https://chromewebstore.google.com/detail/lnamkkidoonpeknminiadpgjiofpdmle", context);
98
+ }
99
+ async addLinkSigners(walletName, icon, signerTypes, link, context) {
100
+ return this.addSigners(walletName, icon, signerTypes.map((type) => ({
101
+ name: type,
102
+ signer: new core_1.ccc.SignerOpenLink(context.client, type, link),
103
+ })), context);
206
104
  }
207
- const signerInfo = { name: signerName, signer };
208
- const signerFilter = configs?.signerFilter;
209
- if (
210
- signerFilter &&
211
- !(await signerFilter(signerInfo, { name: walletName, icon }))
212
- ) {
213
- return;
105
+ async addSigners(walletName, icon, signers, context) {
106
+ return Promise.all(signers.map((signerInfo) => this.addSigner(walletName, icon, signerInfo, context)));
214
107
  }
215
- const wallet = wallets.find((w) => w.name === walletName);
216
- if (!wallet) {
217
- wallets.push({
218
- name: walletName,
219
- icon,
220
- signers: [signerInfo],
221
- });
222
- } else {
223
- const signers = [...wallet.signers, signerInfo].filter(
224
- ({ signer }) => !(signer instanceof core_1.ccc.SignerDummy),
225
- );
226
- wallet.signers = signers.length !== 0 ? signers : [signerInfo];
108
+ async addSigner(walletName, icon, signerInfo, { wallets, onUpdate }) {
109
+ const wallet = wallets.find((w) => w.name === walletName);
110
+ if (!wallet) {
111
+ wallets.push({
112
+ name: walletName,
113
+ icon,
114
+ signers: [signerInfo],
115
+ });
116
+ }
117
+ else {
118
+ const signers = [...wallet.signers, signerInfo].filter(({ signer }) => !(signer instanceof core_1.ccc.SignerDummy));
119
+ wallet.signers = signers.length !== 0 ? signers : [signerInfo];
120
+ }
121
+ onUpdate(wallets);
227
122
  }
228
- onUpdate(wallets);
229
- }
230
123
  }
231
124
  exports.SignersController = SignersController;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-ccc/ccc",
3
- "version": "0.0.12-alpha.7",
3
+ "version": "0.0.13-alpha.0",
4
4
  "description": "CCC - CKBer's Codebase. Common Chains Connector.",
5
5
  "author": "Hanssen0 <hanssen0@hanssen0.com>",
6
6
  "license": "MIT",
@@ -46,13 +46,14 @@
46
46
  "access": "public"
47
47
  },
48
48
  "dependencies": {
49
- "@ckb-ccc/nip07": "0.0.12-alpha.2",
50
- "@ckb-ccc/utxo-global": "0.0.12-alpha.1",
51
- "@ckb-ccc/eip6963": "0.0.12-alpha.4",
52
- "@ckb-ccc/joy-id": "0.0.12-alpha.1",
53
- "@ckb-ccc/uni-sat": "0.0.12-alpha.1",
54
- "@ckb-ccc/okx": "0.0.12-alpha.7",
55
- "@ckb-ccc/core": "0.0.12-alpha.1"
49
+ "@ckb-ccc/core": "0.0.13-alpha.0",
50
+ "@ckb-ccc/eip6963": "0.0.13-alpha.0",
51
+ "@ckb-ccc/nip07": "0.0.13-alpha.0",
52
+ "@ckb-ccc/okx": "0.0.13-alpha.0",
53
+ "@ckb-ccc/joy-id": "0.0.13-alpha.0",
54
+ "@ckb-ccc/uni-sat": "0.0.13-alpha.0",
55
+ "@ckb-ccc/utxo-global": "0.0.13-alpha.0",
56
+ "@ckb-ccc/rei": "0.0.13-alpha.0"
56
57
  },
57
58
  "scripts": {
58
59
  "build": "rimraf ./dist && rimraf ./dist.commonjs && tsc && tsc --project tsconfig.commonjs.json && copyfiles -u 2 misc/basedirs/**/* .",
@@ -0,0 +1,5 @@
1
+ import { encodeSvgToImgSrc } from "./utils.js";
2
+
3
+ export const REI_SVG = encodeSvgToImgSrc(
4
+ '<svg id="layer2" data-name="layer2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 88.24 70.95"><defs><style>.cls-1{fill:url(#linear_9)}.cls-2{fill:rgba(155,84,168,0)}</style><linearGradient id="linear_9" data-name="linear 9" x1="216.98" y1="-423.81" x2="170.95" y2="319.28" gradientTransform="translate(18.94 29.12) scale(.09 -.09)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#01f395"/><stop offset="1" stop-color="#01b56a"/></linearGradient></defs><g id="layer1" data-name="layer1"><g><rect class="cls-2" width="88.24" height="70.95"/><g><path class="cls-1" d="m19.08,0H4.9l49.8,70.95h14.19L19.08,0Z"/><path d="m69.08,44.08c9.93-2.84,16.92-9.85,16.92-21.5v-.2c0-6.18-2.12-11.44-5.87-15.29-4.56-4.45-11.54-7.08-20.46-7.08H24.09l7.97,11.37h26.59c9.22,0,14.7,4.12,14.7,11.72v.2c0,7.19-5.68,11.86-14.6,11.86h-9.98l25.11,35.79h14.37l-19.16-26.87Z"/><path d="m0,20.16l35.64,50.78h14.19L14.19,20.16H0Z"/></g></g></g></svg>',
5
+ );
package/src/barrel.ts CHANGED
@@ -3,6 +3,7 @@ export * from "@ckb-ccc/eip6963";
3
3
  export * from "@ckb-ccc/joy-id";
4
4
  export * from "@ckb-ccc/nip07";
5
5
  export * from "@ckb-ccc/okx";
6
+ export * from "@ckb-ccc/rei";
6
7
  export * from "@ckb-ccc/uni-sat";
7
8
  export * from "@ckb-ccc/utxo-global";
8
9
  export * from "./signersController.js";