@meshconnect/uwc-react 0.2.12 → 0.3.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.
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UseWalletReturn } from '@meshconnect/uwc-types';
|
|
2
2
|
/**
|
|
3
3
|
* Hook for accessing a specific wallet configuration
|
|
4
4
|
* @param {string} walletId - The ID of the wallet to access
|
|
5
|
-
* @returns {
|
|
5
|
+
* @returns {UseWalletReturn} Object containing the wallet metadata and error if no wallet was found
|
|
6
6
|
* @throws {Error} when used outside of ConnectionProvider
|
|
7
|
-
* @throws {Error} when wallet with given id is not found
|
|
8
7
|
* @example
|
|
9
8
|
* ```tsx
|
|
10
|
-
* const wallet = useWallet('metamask')
|
|
11
|
-
*
|
|
9
|
+
* const { wallet, error } = useWallet('metamask')
|
|
10
|
+
* if (wallet) {
|
|
11
|
+
* console.log(wallet.name) // 'MetaMask'
|
|
12
|
+
* } else {
|
|
13
|
+
* console.log(error?.message) // 'Wallet not found'
|
|
14
|
+
* }
|
|
12
15
|
*/
|
|
13
|
-
export declare function useWallet(walletId: string):
|
|
16
|
+
export declare function useWallet(walletId: string): UseWalletReturn;
|
|
14
17
|
//# sourceMappingURL=useWallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWallet.d.ts","sourceRoot":"","sources":["../../src/hooks/useWallet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useWallet.d.ts","sourceRoot":"","sources":["../../src/hooks/useWallet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAG/B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAuB3D"}
|
package/dist/hooks/useWallet.js
CHANGED
|
@@ -1,25 +1,33 @@
|
|
|
1
|
-
import { useContext } from 'react';
|
|
1
|
+
import { useContext, useState } from 'react';
|
|
2
2
|
import { ConnectionContext } from '../providers/ConnectionProvider';
|
|
3
|
+
import { WalletConnectorError } from '@meshconnect/uwc-types';
|
|
3
4
|
/**
|
|
4
5
|
* Hook for accessing a specific wallet configuration
|
|
5
6
|
* @param {string} walletId - The ID of the wallet to access
|
|
6
|
-
* @returns {
|
|
7
|
+
* @returns {UseWalletReturn} Object containing the wallet metadata and error if no wallet was found
|
|
7
8
|
* @throws {Error} when used outside of ConnectionProvider
|
|
8
|
-
* @throws {Error} when wallet with given id is not found
|
|
9
9
|
* @example
|
|
10
10
|
* ```tsx
|
|
11
|
-
* const wallet = useWallet('metamask')
|
|
12
|
-
*
|
|
11
|
+
* const { wallet, error } = useWallet('metamask')
|
|
12
|
+
* if (wallet) {
|
|
13
|
+
* console.log(wallet.name) // 'MetaMask'
|
|
14
|
+
* } else {
|
|
15
|
+
* console.log(error?.message) // 'Wallet not found'
|
|
16
|
+
* }
|
|
13
17
|
*/
|
|
14
18
|
export function useWallet(walletId) {
|
|
15
19
|
const context = useContext(ConnectionContext);
|
|
16
20
|
if (!context) {
|
|
17
21
|
throw new Error('useWallet must be used within a ConnectionProvider');
|
|
18
22
|
}
|
|
23
|
+
const [error, setError] = useState(undefined);
|
|
19
24
|
const selectedWallet = context.wallets.find((wallet) => wallet.id === walletId);
|
|
20
25
|
if (!selectedWallet) {
|
|
21
|
-
|
|
26
|
+
setError(new WalletConnectorError({
|
|
27
|
+
type: 'unknown',
|
|
28
|
+
message: `Wallet with id '${walletId}' not found`
|
|
29
|
+
}));
|
|
22
30
|
}
|
|
23
|
-
return selectedWallet;
|
|
31
|
+
return { wallet: selectedWallet, error };
|
|
24
32
|
}
|
|
25
33
|
//# sourceMappingURL=useWallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../src/hooks/useWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../src/hooks/useWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAMnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA0B,SAAS,CAAC,CAAA;IAEtE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CACnD,CAAA;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,QAAQ,CACN,IAAI,oBAAoB,CAAC;YACvB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,mBAAmB,QAAQ,aAAa;SAClD,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;AAC1C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshconnect/uwc-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "React hooks and components for Universal Wallet Connector",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"src"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@meshconnect/uwc-types": "0.2.
|
|
20
|
-
"@meshconnect/uwc-core": "0.2.
|
|
19
|
+
"@meshconnect/uwc-types": "0.2.4",
|
|
20
|
+
"@meshconnect/uwc-core": "0.2.11"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"react": "^18.0.0",
|
package/src/hooks/useWallet.ts
CHANGED
|
@@ -1,32 +1,47 @@
|
|
|
1
|
-
import { useContext } from 'react'
|
|
1
|
+
import { useContext, useState } from 'react'
|
|
2
2
|
import { ConnectionContext } from '../providers/ConnectionProvider'
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
WalletMetadata,
|
|
5
|
+
WalletError,
|
|
6
|
+
UseWalletReturn
|
|
7
|
+
} from '@meshconnect/uwc-types'
|
|
8
|
+
import { WalletConnectorError } from '@meshconnect/uwc-types'
|
|
4
9
|
|
|
5
10
|
/**
|
|
6
11
|
* Hook for accessing a specific wallet configuration
|
|
7
12
|
* @param {string} walletId - The ID of the wallet to access
|
|
8
|
-
* @returns {
|
|
13
|
+
* @returns {UseWalletReturn} Object containing the wallet metadata and error if no wallet was found
|
|
9
14
|
* @throws {Error} when used outside of ConnectionProvider
|
|
10
|
-
* @throws {Error} when wallet with given id is not found
|
|
11
15
|
* @example
|
|
12
16
|
* ```tsx
|
|
13
|
-
* const wallet = useWallet('metamask')
|
|
14
|
-
*
|
|
17
|
+
* const { wallet, error } = useWallet('metamask')
|
|
18
|
+
* if (wallet) {
|
|
19
|
+
* console.log(wallet.name) // 'MetaMask'
|
|
20
|
+
* } else {
|
|
21
|
+
* console.log(error?.message) // 'Wallet not found'
|
|
22
|
+
* }
|
|
15
23
|
*/
|
|
16
|
-
export function useWallet(walletId: string):
|
|
24
|
+
export function useWallet(walletId: string): UseWalletReturn {
|
|
17
25
|
const context = useContext(ConnectionContext)
|
|
18
26
|
|
|
19
27
|
if (!context) {
|
|
20
28
|
throw new Error('useWallet must be used within a ConnectionProvider')
|
|
21
29
|
}
|
|
22
30
|
|
|
31
|
+
const [error, setError] = useState<WalletError | undefined>(undefined)
|
|
32
|
+
|
|
23
33
|
const selectedWallet = context.wallets.find(
|
|
24
34
|
(wallet: WalletMetadata) => wallet.id === walletId
|
|
25
35
|
)
|
|
26
36
|
|
|
27
37
|
if (!selectedWallet) {
|
|
28
|
-
|
|
38
|
+
setError(
|
|
39
|
+
new WalletConnectorError({
|
|
40
|
+
type: 'unknown',
|
|
41
|
+
message: `Wallet with id '${walletId}' not found`
|
|
42
|
+
})
|
|
43
|
+
)
|
|
29
44
|
}
|
|
30
45
|
|
|
31
|
-
return selectedWallet
|
|
46
|
+
return { wallet: selectedWallet, error }
|
|
32
47
|
}
|