@sodax/wallet-sdk-react 0.0.1-rc.8 → 1.0.0-beta

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/README.md CHANGED
@@ -144,44 +144,44 @@ This example demonstrates:
144
144
 
145
145
  ### Components
146
146
 
147
- - [`SodaxWalletProvider`](./src/SodaxWalletProvider.tsx) - Main provider component for wallet connectivity
147
+ - [`SodaxWalletProvider`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/SodaxWalletProvider.tsx) - Main provider component for wallet connectivity
148
148
 
149
149
  ### Hooks
150
150
 
151
151
  #### Core Wallet Hooks
152
- - [`useXConnectors`](./src/hooks/useXConnectors.ts) - Get available wallet connectors
153
- - [`useXConnect`](./src/hooks/useXConnect.ts) - Connect to a wallet
154
- - [`useXAccount`](./src/hooks/useXAccount.ts) - Get account information
155
- - [`useXDisconnect`](./src/hooks/useXDisconnect.ts) - Disconnect from a wallet
152
+ - [`useXConnectors`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/hooks/useXConnectors.ts) - Get available wallet connectors
153
+ - [`useXConnect`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/hooks/useXConnect.ts) - Connect to a wallet
154
+ - [`useXAccount`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/hooks/useXAccount.ts) - Get account information
155
+ - [`useXDisconnect`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/hooks/useXDisconnect.ts) - Disconnect from a wallet
156
156
 
157
157
  #### Chain-Specific Hooks
158
- - [`useEvmSwitchChain`](./src/hooks/evm/useEvmSwitchChain.ts) - Switch between EVM chains
158
+ - [`useEvmSwitchChain`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/hooks/evm/useEvmSwitchChain.ts) - Switch between EVM chains
159
159
 
160
160
  #### Balance Hooks
161
- - [`useXBalances`](./src/hooks/useXBalances.ts) - Fetch token balances
161
+ - [`useXBalances`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/hooks/useXBalances.ts) - Fetch token balances
162
162
 
163
163
  #### Service Hooks
164
- - [`useXService`](./src/hooks/useXService.ts) - Access chain-specific service
164
+ - [`useXService`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/hooks/useXService.ts) - Access chain-specific service
165
165
 
166
166
  ### Types
167
167
 
168
168
  #### Core Types
169
- - [`XAccount`](./src/types/index.ts) - Wallet account type
170
- - [`XConnection`](./src/types/index.ts) - Wallet connection type
171
- - [`XConnector`](./src/types/index.ts) - Wallet connector type
172
- - [`XToken`](./src/types/index.ts) - Cross-chain token type
169
+ - [`XAccount`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/types/index.ts) - Wallet account type
170
+ - [`XConnection`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/types/index.ts) - Wallet connection type
171
+ - [`XConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/types/index.ts) - Wallet connector type
172
+ - [`XToken`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/types/index.ts) - Cross-chain token type
173
173
 
174
174
  ### Classes
175
175
 
176
176
  #### XConnector
177
- - [`XConnector`](./src/core/XConnector.ts) - Base class for wallet connectors
178
- - [`EvmXConnector`](./src/xchains/evm/EvmXConnector.ts) - EVM wallet connector
179
- - [`SolanaXConnector`](./src/xchains/solana/SolanaXConnector.ts) - Solana wallet connector
180
- - [`SuiXConnector`](./src/xchains/sui/SuiXConnector.ts) - Sui wallet connector
181
- - [`StellarXConnector`](./src/xchains/stellar/StellarWalletsKitXConnector.ts) - Stellar wallet connector
182
- - [`InjectiveMetamaskXConnector`](./src/xchains/injective/InjectiveMetamaskXConnector.ts) - Injective MetaMask connector
183
- - [`InjectiveKelprXConnector`](./src/xchains/injective/InjectiveKelprXConnector.ts) - Injective Keplr connector
184
- - [`IconXConnector`](./src/xchains/icon/IconHanaXConnector.ts) - ICON wallet connector
177
+ - [`XConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/core/XConnector.ts) - Base class for wallet connectors
178
+ - [`EvmXConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/xchains/evm/EvmXConnector.ts) - EVM wallet connector
179
+ - [`SolanaXConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/xchains/solana/SolanaXConnector.ts) - Solana wallet connector
180
+ - [`SuiXConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/xchains/sui/SuiXConnector.ts) - Sui wallet connector
181
+ - [`StellarXConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/xchains/stellar/StellarWalletsKitXConnector.ts) - Stellar wallet connector
182
+ - [`InjectiveMetamaskXConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/xchains/injective/InjectiveMetamaskXConnector.ts) - Injective MetaMask connector
183
+ - [`InjectiveKelprXConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/xchains/injective/InjectiveKelprXConnector.ts) - Injective Keplr connector
184
+ - [`IconXConnector`](https://github.com/icon-project/sodax-frontend/tree/main/packages/wallet-sdk-react/src/xchains/icon/IconHanaXConnector.ts) - ICON wallet connector
185
185
 
186
186
  ## Contributing
187
187
 
package/dist/index.cjs CHANGED
@@ -197,7 +197,8 @@ var hyper = /* @__PURE__ */ viem.defineChain({
197
197
  });
198
198
  var createWagmiConfig = (config) => {
199
199
  return wagmi.createConfig({
200
- chains: [chains.mainnet, chains.avalanche, chains.arbitrum, chains.base, chains.bsc, chains.sonic, chains.optimism, chains.polygon, chains.nibiru, hyper, chains.lightlinkPhoenix],
200
+ chains: [chains.mainnet, chains.avalanche, chains.arbitrum, chains.base, chains.bsc, chains.sonic, chains.optimism, chains.polygon, hyper, chains.lightlinkPhoenix],
201
+ ssr: true,
201
202
  transports: {
202
203
  [chains.mainnet.id]: wagmi.http(config[types.ETHEREUM_MAINNET_CHAIN_ID]),
203
204
  [chains.avalanche.id]: wagmi.http(config[types.AVALANCHE_MAINNET_CHAIN_ID]),
@@ -207,7 +208,6 @@ var createWagmiConfig = (config) => {
207
208
  [chains.sonic.id]: wagmi.http(config[types.SONIC_MAINNET_CHAIN_ID]),
208
209
  [chains.optimism.id]: wagmi.http(config[types.OPTIMISM_MAINNET_CHAIN_ID]),
209
210
  [chains.polygon.id]: wagmi.http(config[types.POLYGON_MAINNET_CHAIN_ID]),
210
- [chains.nibiru.id]: wagmi.http(config[types.NIBIRU_MAINNET_CHAIN_ID]),
211
211
  [hyper.id]: wagmi.http(config[types.HYPEREVM_MAINNET_CHAIN_ID]),
212
212
  [chains.lightlinkPhoenix.id]: wagmi.http(config[types.LIGHTLINK_MAINNET_CHAIN_ID])
213
213
  }
@@ -736,18 +736,27 @@ var SuiXService = class _SuiXService extends XService {
736
736
  async getBalances(address, xTokens) {
737
737
  if (!address) return {};
738
738
  try {
739
- const allBalances = await this.suiClient.getAllBalances({
740
- owner: address
741
- });
742
- const tokenMap = xTokens.reduce((map, xToken) => {
739
+ const balancePromises = xTokens.map(async (xToken) => {
743
740
  let coinType = isNativeToken(xToken) ? "0x2::sui::SUI" : xToken.address;
744
741
  if (coinType === "0x03917a812fe4a6d6bc779c5ab53f8a80ba741f8af04121193fc44e0f662e2ceb::balanced_dollar::BALANCED_DOLLAR") {
745
742
  coinType = "0x3917a812fe4a6d6bc779c5ab53f8a80ba741f8af04121193fc44e0f662e2ceb::balanced_dollar::BALANCED_DOLLAR";
746
743
  }
747
- const balance = allBalances.find((b) => b.coinType === coinType);
748
- if (balance) map[xToken.address] = balance.totalBalance;
749
- return map;
750
- }, {});
744
+ const balance = await this.suiClient.getBalance({
745
+ owner: address,
746
+ coinType
747
+ });
748
+ return {
749
+ address: xToken.address,
750
+ balance: balance ? BigInt(balance.totalBalance) : void 0
751
+ };
752
+ });
753
+ const results = await Promise.all(balancePromises);
754
+ const tokenMap = {};
755
+ results.forEach((result) => {
756
+ if (result.balance !== void 0) {
757
+ tokenMap[result.address] = result.balance;
758
+ }
759
+ });
751
760
  return tokenMap;
752
761
  } catch (e) {
753
762
  console.log("error", e);
@@ -1388,7 +1397,7 @@ var SodaxWalletProvider = ({ children, rpcConfig }) => {
1388
1397
  return createWagmiConfig(rpcConfig);
1389
1398
  }, [rpcConfig]);
1390
1399
  const wallets = React2.useMemo(() => [new walletAdapterWallets.UnsafeBurnerWalletAdapter()], []);
1391
- return /* @__PURE__ */ React2__default.default.createElement(wagmi.WagmiProvider, { config: wagmiConfig, reconnectOnMount: true }, /* @__PURE__ */ React2__default.default.createElement(dappKit.SuiClientProvider, { networks: { mainnet: { url: client.getFullnodeUrl("mainnet") } }, defaultNetwork: "mainnet" }, /* @__PURE__ */ React2__default.default.createElement(dappKit.WalletProvider, { autoConnect: true }, /* @__PURE__ */ React2__default.default.createElement(walletAdapterReact.ConnectionProvider, { endpoint: rpcConfig["solana"] ?? "" }, /* @__PURE__ */ React2__default.default.createElement(walletAdapterReact.WalletProvider, { wallets, autoConnect: true }, /* @__PURE__ */ React2__default.default.createElement(Hydrate, null), children)))));
1400
+ return /* @__PURE__ */ React2__default.default.createElement(wagmi.WagmiProvider, { config: wagmiConfig }, /* @__PURE__ */ React2__default.default.createElement(dappKit.SuiClientProvider, { networks: { mainnet: { url: client.getFullnodeUrl("mainnet") } }, defaultNetwork: "mainnet" }, /* @__PURE__ */ React2__default.default.createElement(dappKit.WalletProvider, { autoConnect: true }, /* @__PURE__ */ React2__default.default.createElement(walletAdapterReact.ConnectionProvider, { endpoint: rpcConfig["solana"] ?? "" }, /* @__PURE__ */ React2__default.default.createElement(walletAdapterReact.WalletProvider, { wallets, autoConnect: true }, /* @__PURE__ */ React2__default.default.createElement(Hydrate, null), children)))));
1392
1401
  };
1393
1402
  reconnectIcon();
1394
1403
  reconnectStellar();