@txnlab/use-wallet 1.0.2 → 1.0.4

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 (44) hide show
  1. package/README.md +6 -0
  2. package/dist/cjs/clients/algosigner/client.d.ts +1 -1
  3. package/dist/cjs/clients/algosigner/types.d.ts +2 -1
  4. package/dist/cjs/clients/base/base.d.ts +4 -9
  5. package/dist/cjs/clients/defly/client.d.ts +1 -1
  6. package/dist/cjs/clients/defly/types.d.ts +2 -1
  7. package/dist/cjs/clients/exodus/client.d.ts +1 -1
  8. package/dist/cjs/clients/exodus/types.d.ts +2 -1
  9. package/dist/cjs/clients/kmd/client.d.ts +1 -1
  10. package/dist/cjs/clients/kmd/types.d.ts +2 -1
  11. package/dist/cjs/clients/myalgo/client.d.ts +1 -1
  12. package/dist/cjs/clients/myalgo/types.d.ts +2 -1
  13. package/dist/cjs/clients/pera/client.d.ts +1 -1
  14. package/dist/cjs/clients/pera/types.d.ts +2 -1
  15. package/dist/cjs/clients/walletconnect/client.d.ts +2 -3
  16. package/dist/cjs/clients/walletconnect/types.d.ts +2 -1
  17. package/dist/cjs/hooks/useWallet.d.ts +2 -107
  18. package/dist/cjs/index.js +81 -56
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/store/state/walletStore.d.ts +17 -0
  21. package/dist/cjs/types/wallet.d.ts +10 -5
  22. package/dist/cjs/utils/clearAccounts.d.ts +2 -0
  23. package/dist/esm/clients/algosigner/client.d.ts +1 -1
  24. package/dist/esm/clients/algosigner/types.d.ts +2 -1
  25. package/dist/esm/clients/base/base.d.ts +4 -9
  26. package/dist/esm/clients/defly/client.d.ts +1 -1
  27. package/dist/esm/clients/defly/types.d.ts +2 -1
  28. package/dist/esm/clients/exodus/client.d.ts +1 -1
  29. package/dist/esm/clients/exodus/types.d.ts +2 -1
  30. package/dist/esm/clients/kmd/client.d.ts +1 -1
  31. package/dist/esm/clients/kmd/types.d.ts +2 -1
  32. package/dist/esm/clients/myalgo/client.d.ts +1 -1
  33. package/dist/esm/clients/myalgo/types.d.ts +2 -1
  34. package/dist/esm/clients/pera/client.d.ts +1 -1
  35. package/dist/esm/clients/pera/types.d.ts +2 -1
  36. package/dist/esm/clients/walletconnect/client.d.ts +2 -3
  37. package/dist/esm/clients/walletconnect/types.d.ts +2 -1
  38. package/dist/esm/hooks/useWallet.d.ts +2 -107
  39. package/dist/esm/index.js +82 -57
  40. package/dist/esm/store/state/walletStore.d.ts +17 -0
  41. package/dist/esm/types/wallet.d.ts +10 -5
  42. package/dist/esm/utils/clearAccounts.d.ts +2 -0
  43. package/dist/index.d.ts +29 -126
  44. package/package.json +3 -3
package/README.md CHANGED
@@ -457,6 +457,12 @@ In the root of `use-wallet` directory, run:
457
457
  yarn link react
458
458
  ```
459
459
 
460
+ ## Used By
461
+
462
+ Are you using `@txnlab/use-wallet`? We'd love to include you here. Let us know! [Twitter](https://twitter.com/NFDomains) | [Discord](https://discord.gg/7XcuMTfeZP) | [Email](mailto:admin@txnlab.dev)
463
+
464
+ * [@algoscan/use-wallet-ui](https://github.com/algoscan/use-wallet-ui)
465
+
460
466
  ## License
461
467
 
462
468
  See the [LICENSE](https://github.com/TxnLab/use-wallet/blob/main/LICENSE.md) file for license rights and limitations (MIT)
@@ -5,7 +5,7 @@ import type { AlgoSignerTransaction, AlgoSignerClientConstructor, InitParams } f
5
5
  declare class AlgoSignerClient extends BaseWallet {
6
6
  #private;
7
7
  network: Network;
8
- constructor({ client, algosdk, algodClient, network, }: AlgoSignerClientConstructor);
8
+ constructor({ metadata, client, algosdk, algodClient, network, }: AlgoSignerClientConstructor);
9
9
  static metadata: {
10
10
  id: PROVIDER_ID;
11
11
  name: string;
@@ -1,6 +1,6 @@
1
1
  import type _algosdk from "algosdk";
2
2
  import { PROVIDER_ID } from "../../constants";
3
- import type { AlgodClientOptions, Network } from "../../types";
3
+ import type { AlgodClientOptions, Network, Metadata } from "../../types";
4
4
  export declare type WindowExtended = {
5
5
  AlgoSigner: AlgoSigner;
6
6
  } & Window & typeof globalThis;
@@ -27,6 +27,7 @@ export declare type AlgoSigner = {
27
27
  };
28
28
  };
29
29
  export declare type AlgoSignerClientConstructor = {
30
+ metadata: Metadata;
30
31
  client: AlgoSigner;
31
32
  id: PROVIDER_ID;
32
33
  algosdk: typeof _algosdk;
@@ -1,22 +1,17 @@
1
1
  import type _algosdk from "algosdk";
2
- import { PROVIDER_ID } from "../../constants";
3
- import type { Asset, Wallet, AccountInfo, TransactionsArray } from "../../types";
2
+ import type { Asset, Wallet, AccountInfo, TransactionsArray, Metadata } from "../../types";
4
3
  declare abstract class BaseClient {
5
4
  algosdk: typeof _algosdk;
6
5
  algodClient: _algosdk.Algodv2;
7
6
  keepWCAlive: HTMLAudioElement;
8
- static metadata: {
9
- id: PROVIDER_ID;
10
- name: string;
11
- icon: string;
12
- isWalletConnect: boolean;
13
- };
7
+ metadata: Metadata;
8
+ static metadata: Metadata;
14
9
  abstract connect(onDisconnect: () => void): Promise<Wallet>;
15
10
  abstract disconnect(): Promise<void>;
16
11
  abstract reconnect(onDisconnect: () => void): Promise<Wallet | null>;
17
12
  abstract signTransactions(connectedAccounts: string[], transactions: Array<Uint8Array>): Promise<Uint8Array[]>;
18
13
  abstract signEncodedTransactions(transactions: TransactionsArray): Promise<Uint8Array[]>;
19
- protected constructor(algosdk: typeof _algosdk, algodClient: _algosdk.Algodv2);
14
+ protected constructor(metadata: Metadata, algosdk: typeof _algosdk, algodClient: _algosdk.Algodv2);
20
15
  healthCheck(): Promise<{}>;
21
16
  getAccountInfo(address: string): Promise<AccountInfo>;
22
17
  getAssets(address: string): Promise<Asset[]>;
@@ -7,7 +7,7 @@ import { DeflyTransaction, InitParams, DeflyWalletClientConstructor } from "./ty
7
7
  declare class DeflyWalletClient extends BaseWallet {
8
8
  #private;
9
9
  network: Network;
10
- constructor({ client, algosdk, algodClient, network, }: DeflyWalletClientConstructor);
10
+ constructor({ metadata, client, algosdk, algodClient, network, }: DeflyWalletClientConstructor);
11
11
  static metadata: {
12
12
  id: PROVIDER_ID;
13
13
  name: string;
@@ -1,5 +1,5 @@
1
1
  import type { Transaction } from "algosdk";
2
- import type { AlgodClientOptions, Network } from "../../types";
2
+ import type { AlgodClientOptions, Network, Metadata } from "../../types";
3
3
  import type { DeflyWalletConnect } from "@blockshake/defly-connect";
4
4
  import type _algosdk from "algosdk";
5
5
  export declare type ClientOptions = {
@@ -22,6 +22,7 @@ export declare type DeflyTransaction = {
22
22
  signers?: string[];
23
23
  };
24
24
  export declare type DeflyWalletClientConstructor = {
25
+ metadata: Metadata;
25
26
  client: DeflyWalletConnect;
26
27
  algosdk: typeof _algosdk;
27
28
  algodClient: _algosdk.Algodv2;
@@ -5,7 +5,7 @@ import { InitParams, ExodusClientConstructor } from "./types";
5
5
  declare class ExodusClient extends BaseWallet {
6
6
  #private;
7
7
  network: Network;
8
- constructor({ client, algosdk, algodClient, onlyIfTrusted, network, }: ExodusClientConstructor);
8
+ constructor({ metadata, client, algosdk, algodClient, onlyIfTrusted, network, }: ExodusClientConstructor);
9
9
  static metadata: {
10
10
  id: PROVIDER_ID;
11
11
  name: string;
@@ -1,6 +1,6 @@
1
1
  import { PROVIDER_ID } from "../../constants";
2
2
  import type _algosdk from "algosdk";
3
- import type { AlgodClientOptions, Network } from "../../types";
3
+ import type { AlgodClientOptions, Network, Metadata } from "../../types";
4
4
  export declare type ClientOptions = {
5
5
  onlyIfTrusted: boolean;
6
6
  };
@@ -25,6 +25,7 @@ export declare type Exodus = {
25
25
  signTransaction(transactions: Bytes[]): Promise<Bytes[]>;
26
26
  };
27
27
  export declare type ExodusClientConstructor = {
28
+ metadata: Metadata;
28
29
  client: Exodus;
29
30
  id: PROVIDER_ID;
30
31
  algosdk: typeof _algosdk;
@@ -7,7 +7,7 @@ declare class KMDWalletClient extends BaseWallet {
7
7
  walletId: string;
8
8
  id: PROVIDER_ID;
9
9
  network: Network;
10
- constructor({ client, id, wallet, password, algosdk, algodClient, network, }: KMDWalletClientConstructor);
10
+ constructor({ metadata, client, id, wallet, password, algosdk, algodClient, network, }: KMDWalletClientConstructor);
11
11
  static metadata: {
12
12
  id: PROVIDER_ID;
13
13
  name: string;
@@ -1,5 +1,5 @@
1
1
  import type _algosdk from "algosdk";
2
- import type { AlgodClientOptions, Network } from "../../types";
2
+ import type { AlgodClientOptions, Network, Metadata } from "../../types";
3
3
  import { PROVIDER_ID } from "../../constants";
4
4
  export declare type ClientOptions = {
5
5
  wallet: string;
@@ -22,6 +22,7 @@ export interface InitWalletHandle {
22
22
  error?: boolean;
23
23
  }
24
24
  export declare type KMDWalletClientConstructor = {
25
+ metadata: Metadata;
25
26
  client: _algosdk.Kmd;
26
27
  id: PROVIDER_ID;
27
28
  algosdk: typeof _algosdk;
@@ -9,7 +9,7 @@ import { MyAlgoWalletClientConstructor, InitParams } from "./types";
9
9
  declare class MyAlgoWalletClient extends BaseWallet {
10
10
  #private;
11
11
  network: Network;
12
- constructor({ client, algosdk, algodClient, network, }: MyAlgoWalletClientConstructor);
12
+ constructor({ metadata, client, algosdk, algodClient, network, }: MyAlgoWalletClientConstructor);
13
13
  static metadata: {
14
14
  id: PROVIDER_ID;
15
15
  name: string;
@@ -4,8 +4,9 @@
4
4
  */
5
5
  import type _MyAlgoConnect from "@randlabs/myalgo-connect";
6
6
  import type _algosdk from "algosdk";
7
- import { AlgodClientOptions, Network } from "../../types";
7
+ import { AlgodClientOptions, Network, Metadata } from "../../types";
8
8
  export declare type MyAlgoWalletClientConstructor = {
9
+ metadata: Metadata;
9
10
  client: _MyAlgoConnect;
10
11
  algosdk: typeof _algosdk;
11
12
  algodClient: _algosdk.Algodv2;
@@ -5,7 +5,7 @@ import { PeraTransaction, PeraWalletClientConstructor, InitParams } from "./type
5
5
  declare class PeraWalletClient extends BaseWallet {
6
6
  #private;
7
7
  network: Network;
8
- constructor({ client, algosdk, algodClient, network, }: PeraWalletClientConstructor);
8
+ constructor({ metadata, client, algosdk, algodClient, network, }: PeraWalletClientConstructor);
9
9
  static metadata: {
10
10
  id: PROVIDER_ID;
11
11
  name: string;
@@ -1,7 +1,7 @@
1
1
  import type _algosdk from "algosdk";
2
2
  import type { PeraWalletConnect } from "@perawallet/connect";
3
3
  import type { Transaction } from "algosdk";
4
- import type { AlgodClientOptions, Network } from "../../types";
4
+ import type { AlgodClientOptions, Network, Metadata } from "../../types";
5
5
  export declare type ClientOptions = {
6
6
  bridge?: string;
7
7
  deep_link?: string;
@@ -22,6 +22,7 @@ export interface PeraTransaction {
22
22
  signers?: string[];
23
23
  }
24
24
  export declare type PeraWalletClientConstructor = {
25
+ metadata: Metadata;
25
26
  client: PeraWalletConnect;
26
27
  algosdk: typeof _algosdk;
27
28
  algodClient: _algosdk.Algodv2;
@@ -1,12 +1,11 @@
1
- import type { Wallet } from "../../types";
2
1
  import { PROVIDER_ID } from "../../constants";
3
2
  import BaseWallet from "../base";
4
- import { TransactionsArray, Network } from "../../types";
3
+ import { Wallet, TransactionsArray, Network } from "../../types";
5
4
  import { WalletConnectClientConstructor, InitParams, WalletConnectTransaction } from "./types";
6
5
  declare class WalletConnectClient extends BaseWallet {
7
6
  #private;
8
7
  network: Network;
9
- constructor({ client, algosdk, algodClient, network, }: WalletConnectClientConstructor);
8
+ constructor({ metadata, client, algosdk, algodClient, network, }: WalletConnectClientConstructor);
10
9
  static metadata: {
11
10
  id: PROVIDER_ID;
12
11
  name: string;
@@ -1,7 +1,7 @@
1
1
  import type _algosdk from "algosdk";
2
2
  import type WalletConnect from "@walletconnect/client";
3
3
  import QRCodeModal from "algorand-walletconnect-qrcode-modal";
4
- import type { AlgodClientOptions, Network } from "../../types";
4
+ import type { AlgodClientOptions, Network, Metadata } from "../../types";
5
5
  export interface IClientMeta {
6
6
  description: string;
7
7
  url: string;
@@ -47,6 +47,7 @@ export declare type InitParams = {
47
47
  network?: Network;
48
48
  };
49
49
  export declare type WalletConnectClientConstructor = {
50
+ metadata: Metadata;
50
51
  client: WalletConnect;
51
52
  algosdk: typeof _algosdk;
52
53
  algodClient: _algosdk.Algodv2;
@@ -1,5 +1,5 @@
1
1
  import type algosdk from "algosdk";
2
- import { PROVIDER_ID, TransactionsArray } from "../types";
2
+ import { PROVIDER_ID, TransactionsArray, Provider } from "../types";
3
3
  export { PROVIDER_ID };
4
4
  export default function useWallet(): {
5
5
  clients: Partial<{
@@ -11,112 +11,7 @@ export default function useWallet(): {
11
11
  exodus: Promise<import("../clients/base/base").default | null>;
12
12
  walletconnect: Promise<import("../clients/base/base").default | null>;
13
13
  }> | null;
14
- providers: ({
15
- accounts: import("../types").Account[];
16
- isActive: boolean;
17
- isConnected: boolean;
18
- connect: () => Promise<void>;
19
- disconnect: () => Promise<void>;
20
- reconnect: () => Promise<void>;
21
- setActiveProvider: () => Promise<void>;
22
- setActiveAccount: (account: string) => Promise<void>;
23
- metadata: {
24
- id: PROVIDER_ID;
25
- name: string;
26
- icon: string;
27
- isWalletConnect: boolean;
28
- };
29
- } | {
30
- accounts: import("../types").Account[];
31
- isActive: boolean;
32
- isConnected: boolean;
33
- connect: () => Promise<void>;
34
- disconnect: () => Promise<void>;
35
- reconnect: () => Promise<void>;
36
- setActiveProvider: () => Promise<void>;
37
- setActiveAccount: (account: string) => Promise<void>;
38
- metadata: {
39
- id: PROVIDER_ID;
40
- name: string;
41
- icon: string;
42
- isWalletConnect: boolean;
43
- };
44
- } | {
45
- accounts: import("../types").Account[];
46
- isActive: boolean;
47
- isConnected: boolean;
48
- connect: () => Promise<void>;
49
- disconnect: () => Promise<void>;
50
- reconnect: () => Promise<void>;
51
- setActiveProvider: () => Promise<void>;
52
- setActiveAccount: (account: string) => Promise<void>;
53
- metadata: {
54
- id: PROVIDER_ID;
55
- name: string;
56
- icon: string;
57
- isWalletConnect: boolean;
58
- };
59
- } | {
60
- accounts: import("../types").Account[];
61
- isActive: boolean;
62
- isConnected: boolean;
63
- connect: () => Promise<void>;
64
- disconnect: () => Promise<void>;
65
- reconnect: () => Promise<void>;
66
- setActiveProvider: () => Promise<void>;
67
- setActiveAccount: (account: string) => Promise<void>;
68
- metadata: {
69
- id: PROVIDER_ID;
70
- name: string;
71
- icon: string;
72
- isWalletConnect: boolean;
73
- };
74
- } | {
75
- accounts: import("../types").Account[];
76
- isActive: boolean;
77
- isConnected: boolean;
78
- connect: () => Promise<void>;
79
- disconnect: () => Promise<void>;
80
- reconnect: () => Promise<void>;
81
- setActiveProvider: () => Promise<void>;
82
- setActiveAccount: (account: string) => Promise<void>;
83
- metadata: {
84
- id: PROVIDER_ID;
85
- name: string;
86
- icon: string;
87
- isWalletConnect: boolean;
88
- };
89
- } | {
90
- accounts: import("../types").Account[];
91
- isActive: boolean;
92
- isConnected: boolean;
93
- connect: () => Promise<void>;
94
- disconnect: () => Promise<void>;
95
- reconnect: () => Promise<void>;
96
- setActiveProvider: () => Promise<void>;
97
- setActiveAccount: (account: string) => Promise<void>;
98
- metadata: {
99
- id: PROVIDER_ID;
100
- name: string;
101
- icon: string;
102
- isWalletConnect: boolean;
103
- };
104
- } | {
105
- accounts: import("../types").Account[];
106
- isActive: boolean;
107
- isConnected: boolean;
108
- connect: () => Promise<void>;
109
- disconnect: () => Promise<void>;
110
- reconnect: () => Promise<void>;
111
- setActiveProvider: () => Promise<void>;
112
- setActiveAccount: (account: string) => Promise<void>;
113
- metadata: {
114
- id: PROVIDER_ID;
115
- name: string;
116
- icon: string;
117
- isWalletConnect: boolean;
118
- };
119
- })[] | null;
14
+ providers: Provider[] | null;
120
15
  connectedAccounts: import("../types").Account[];
121
16
  connectedActiveAccounts: import("../types").Account[];
122
17
  activeAccount: import("../types").Account | null;