@interchain-kit/react 0.3.19 → 0.3.21
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/esm/modal/modal.js +1 -0
- package/esm/store/store.js +61 -3
- package/esm/utils/decorateWallet.js +11 -4
- package/modal/modal.js +1 -0
- package/package.json +3 -3
- package/store/store.js +61 -3
- package/utils/decorateWallet.js +11 -4
package/esm/modal/modal.js
CHANGED
|
@@ -53,6 +53,7 @@ export const WalletModal = ({ shouldShowList, isOpen, walletConnectQRCodeUri, wa
|
|
|
53
53
|
address,
|
|
54
54
|
shouldShowList,
|
|
55
55
|
walletConnectQRCodeUri,
|
|
56
|
+
wallets,
|
|
56
57
|
]);
|
|
57
58
|
return (_jsx(ConnectModal, { isOpen: isOpen, header: header, onOpen: open, onClose: close, children: content }));
|
|
58
59
|
};
|
package/esm/store/store.js
CHANGED
|
@@ -41,7 +41,66 @@ export const createInterchainStore = (walletManager) => {
|
|
|
41
41
|
},
|
|
42
42
|
createStatefulWallet: () => {
|
|
43
43
|
const wallets = walletManager.wallets.map(wallet => {
|
|
44
|
-
|
|
44
|
+
// safeStrictBatchPatch(wallet, {
|
|
45
|
+
// connect: async (original, chainId) => {
|
|
46
|
+
// const walletName = wallet.info.name
|
|
47
|
+
// const chainName = get().chains.find(chain => chain.chainId === chainId)?.chainName
|
|
48
|
+
// const state = get().getChainWalletState(walletName, chainName)?.walletState
|
|
49
|
+
// if (state === WalletState.NotExist) {
|
|
50
|
+
// return
|
|
51
|
+
// }
|
|
52
|
+
// if (walletName === 'WalletConnect' && state === WalletState.Connected) {
|
|
53
|
+
// return
|
|
54
|
+
// }
|
|
55
|
+
// set(draft => {
|
|
56
|
+
// draft.currentChainName = chainName
|
|
57
|
+
// draft.currentWalletName = walletName
|
|
58
|
+
// draft.walletConnectQRCodeUri = ''
|
|
59
|
+
// })
|
|
60
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Connecting, errorMessage: '' })
|
|
61
|
+
// try {
|
|
62
|
+
// if (wallet instanceof WCWallet) {
|
|
63
|
+
// wallet.setOnPairingUriCreatedCallback((uri) => {
|
|
64
|
+
// set(draft => {
|
|
65
|
+
// draft.walletConnectQRCodeUri = uri
|
|
66
|
+
// })
|
|
67
|
+
// })
|
|
68
|
+
// }
|
|
69
|
+
// await original(chainId)
|
|
70
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Connected })
|
|
71
|
+
// await get().getAccount(walletName, chainName)
|
|
72
|
+
// } catch (error) {
|
|
73
|
+
// if ((error as any).message === 'Request rejected') {
|
|
74
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Rejected, errorMessage: (error as any).message })
|
|
75
|
+
// return
|
|
76
|
+
// }
|
|
77
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Disconnected, errorMessage: (error as any).message })
|
|
78
|
+
// }
|
|
79
|
+
// },
|
|
80
|
+
// disconnect: async (original, chainId) => {
|
|
81
|
+
// const walletName = wallet.info.name
|
|
82
|
+
// const chainName = get().chains.find(chain => chain.chainId === chainId)?.chainName
|
|
83
|
+
// try {
|
|
84
|
+
// await original(chainId)
|
|
85
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Disconnected, account: null })
|
|
86
|
+
// } catch (error) {
|
|
87
|
+
// }
|
|
88
|
+
// },
|
|
89
|
+
// getAccount: async (original, chainId) => {
|
|
90
|
+
// const walletName = wallet.info.name
|
|
91
|
+
// const chainName = get().chains.find(chain => chain.chainId === chainId)?.chainName
|
|
92
|
+
// try {
|
|
93
|
+
// const account = await original(chainId)
|
|
94
|
+
// get().updateChainWalletState(walletName, chainName, { account })
|
|
95
|
+
// return account
|
|
96
|
+
// } catch (error) {
|
|
97
|
+
// console.log(error)
|
|
98
|
+
// }
|
|
99
|
+
// },
|
|
100
|
+
// walletState: get().getChainWalletState(wallet.info.name, walletManager.chains?.[0].chainName)?.walletState || WalletState.Disconnected
|
|
101
|
+
// })
|
|
102
|
+
// return wallet
|
|
103
|
+
return decorateWallet(wallet, {
|
|
45
104
|
connect: async (chainId) => {
|
|
46
105
|
const walletName = wallet.info.name;
|
|
47
106
|
const chainName = get().chains.find(chain => chain.chainId === chainId)?.chainName;
|
|
@@ -100,9 +159,8 @@ export const createInterchainStore = (walletManager) => {
|
|
|
100
159
|
console.log(error);
|
|
101
160
|
}
|
|
102
161
|
},
|
|
103
|
-
walletState: get().
|
|
162
|
+
walletState: get().getChainWalletState(wallet.info.name, walletManager.chains?.[0].chainName)?.walletState || WalletState.Disconnected
|
|
104
163
|
});
|
|
105
|
-
return wallet;
|
|
106
164
|
});
|
|
107
165
|
set(draft => {
|
|
108
166
|
draft.wallets = wallets;
|
|
@@ -2,13 +2,20 @@ export const decorateWallet = (wallet, decorateMethods) => {
|
|
|
2
2
|
return new Proxy(wallet, {
|
|
3
3
|
get(target, prop, receiver) {
|
|
4
4
|
if (prop in decorateMethods) {
|
|
5
|
-
const
|
|
6
|
-
if (typeof
|
|
7
|
-
return
|
|
5
|
+
const value = decorateMethods[prop];
|
|
6
|
+
if (typeof value === "function") {
|
|
7
|
+
return value.bind(target);
|
|
8
8
|
}
|
|
9
|
-
return
|
|
9
|
+
return value;
|
|
10
10
|
}
|
|
11
11
|
return Reflect.get(target, prop, receiver);
|
|
12
12
|
},
|
|
13
|
+
set(target, prop, value, receiver) {
|
|
14
|
+
if (prop in decorateMethods) {
|
|
15
|
+
decorateMethods[prop] = value;
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
return Reflect.set(target, prop, value, receiver);
|
|
19
|
+
},
|
|
13
20
|
});
|
|
14
21
|
};
|
package/modal/modal.js
CHANGED
|
@@ -56,6 +56,7 @@ const WalletModal = ({ shouldShowList, isOpen, walletConnectQRCodeUri, wallets,
|
|
|
56
56
|
address,
|
|
57
57
|
shouldShowList,
|
|
58
58
|
walletConnectQRCodeUri,
|
|
59
|
+
wallets,
|
|
59
60
|
]);
|
|
60
61
|
return ((0, jsx_runtime_1.jsx)(react_2.ConnectModal, { isOpen: isOpen, header: header, onOpen: open, onClose: close, children: content }));
|
|
61
62
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interchain-kit/react",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.21",
|
|
4
4
|
"author": "Hyperweb <developers@hyperweb.io>",
|
|
5
5
|
"description": "interchain-kit wallet connector react package",
|
|
6
6
|
"main": "index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"keywords": [],
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@chain-registry/v2-types": "^0.53.40",
|
|
37
|
-
"@interchain-kit/core": "0.3.
|
|
37
|
+
"@interchain-kit/core": "^0.3.21",
|
|
38
38
|
"@interchain-ui/react": "1.26.1",
|
|
39
39
|
"@interchainjs/cosmos": "1.11.9",
|
|
40
40
|
"@interchainjs/cosmos-types": "1.11.9",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"react": "^19.0.0",
|
|
65
65
|
"react-dom": "^19.0.0"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "55ef30266ed5a638e8724d35bcd5941f88d400c2"
|
|
68
68
|
}
|
package/store/store.js
CHANGED
|
@@ -44,7 +44,66 @@ const createInterchainStore = (walletManager) => {
|
|
|
44
44
|
},
|
|
45
45
|
createStatefulWallet: () => {
|
|
46
46
|
const wallets = walletManager.wallets.map(wallet => {
|
|
47
|
-
|
|
47
|
+
// safeStrictBatchPatch(wallet, {
|
|
48
|
+
// connect: async (original, chainId) => {
|
|
49
|
+
// const walletName = wallet.info.name
|
|
50
|
+
// const chainName = get().chains.find(chain => chain.chainId === chainId)?.chainName
|
|
51
|
+
// const state = get().getChainWalletState(walletName, chainName)?.walletState
|
|
52
|
+
// if (state === WalletState.NotExist) {
|
|
53
|
+
// return
|
|
54
|
+
// }
|
|
55
|
+
// if (walletName === 'WalletConnect' && state === WalletState.Connected) {
|
|
56
|
+
// return
|
|
57
|
+
// }
|
|
58
|
+
// set(draft => {
|
|
59
|
+
// draft.currentChainName = chainName
|
|
60
|
+
// draft.currentWalletName = walletName
|
|
61
|
+
// draft.walletConnectQRCodeUri = ''
|
|
62
|
+
// })
|
|
63
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Connecting, errorMessage: '' })
|
|
64
|
+
// try {
|
|
65
|
+
// if (wallet instanceof WCWallet) {
|
|
66
|
+
// wallet.setOnPairingUriCreatedCallback((uri) => {
|
|
67
|
+
// set(draft => {
|
|
68
|
+
// draft.walletConnectQRCodeUri = uri
|
|
69
|
+
// })
|
|
70
|
+
// })
|
|
71
|
+
// }
|
|
72
|
+
// await original(chainId)
|
|
73
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Connected })
|
|
74
|
+
// await get().getAccount(walletName, chainName)
|
|
75
|
+
// } catch (error) {
|
|
76
|
+
// if ((error as any).message === 'Request rejected') {
|
|
77
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Rejected, errorMessage: (error as any).message })
|
|
78
|
+
// return
|
|
79
|
+
// }
|
|
80
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Disconnected, errorMessage: (error as any).message })
|
|
81
|
+
// }
|
|
82
|
+
// },
|
|
83
|
+
// disconnect: async (original, chainId) => {
|
|
84
|
+
// const walletName = wallet.info.name
|
|
85
|
+
// const chainName = get().chains.find(chain => chain.chainId === chainId)?.chainName
|
|
86
|
+
// try {
|
|
87
|
+
// await original(chainId)
|
|
88
|
+
// get().updateChainWalletState(walletName, chainName, { walletState: WalletState.Disconnected, account: null })
|
|
89
|
+
// } catch (error) {
|
|
90
|
+
// }
|
|
91
|
+
// },
|
|
92
|
+
// getAccount: async (original, chainId) => {
|
|
93
|
+
// const walletName = wallet.info.name
|
|
94
|
+
// const chainName = get().chains.find(chain => chain.chainId === chainId)?.chainName
|
|
95
|
+
// try {
|
|
96
|
+
// const account = await original(chainId)
|
|
97
|
+
// get().updateChainWalletState(walletName, chainName, { account })
|
|
98
|
+
// return account
|
|
99
|
+
// } catch (error) {
|
|
100
|
+
// console.log(error)
|
|
101
|
+
// }
|
|
102
|
+
// },
|
|
103
|
+
// walletState: get().getChainWalletState(wallet.info.name, walletManager.chains?.[0].chainName)?.walletState || WalletState.Disconnected
|
|
104
|
+
// })
|
|
105
|
+
// return wallet
|
|
106
|
+
return (0, decorateWallet_1.decorateWallet)(wallet, {
|
|
48
107
|
connect: async (chainId) => {
|
|
49
108
|
const walletName = wallet.info.name;
|
|
50
109
|
const chainName = get().chains.find(chain => chain.chainId === chainId)?.chainName;
|
|
@@ -103,9 +162,8 @@ const createInterchainStore = (walletManager) => {
|
|
|
103
162
|
console.log(error);
|
|
104
163
|
}
|
|
105
164
|
},
|
|
106
|
-
walletState: get().
|
|
165
|
+
walletState: get().getChainWalletState(wallet.info.name, walletManager.chains?.[0].chainName)?.walletState || core_1.WalletState.Disconnected
|
|
107
166
|
});
|
|
108
|
-
return wallet;
|
|
109
167
|
});
|
|
110
168
|
set(draft => {
|
|
111
169
|
draft.wallets = wallets;
|
package/utils/decorateWallet.js
CHANGED
|
@@ -5,14 +5,21 @@ const decorateWallet = (wallet, decorateMethods) => {
|
|
|
5
5
|
return new Proxy(wallet, {
|
|
6
6
|
get(target, prop, receiver) {
|
|
7
7
|
if (prop in decorateMethods) {
|
|
8
|
-
const
|
|
9
|
-
if (typeof
|
|
10
|
-
return
|
|
8
|
+
const value = decorateMethods[prop];
|
|
9
|
+
if (typeof value === "function") {
|
|
10
|
+
return value.bind(target);
|
|
11
11
|
}
|
|
12
|
-
return
|
|
12
|
+
return value;
|
|
13
13
|
}
|
|
14
14
|
return Reflect.get(target, prop, receiver);
|
|
15
15
|
},
|
|
16
|
+
set(target, prop, value, receiver) {
|
|
17
|
+
if (prop in decorateMethods) {
|
|
18
|
+
decorateMethods[prop] = value;
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
return Reflect.set(target, prop, value, receiver);
|
|
22
|
+
},
|
|
16
23
|
});
|
|
17
24
|
};
|
|
18
25
|
exports.decorateWallet = decorateWallet;
|