@salehhoseyni/wallet-logic-wrapper 1.0.1 → 1.0.3

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/dist/index.d.mts CHANGED
@@ -5,7 +5,10 @@ import * as _tanstack_query_core from '@tanstack/query-core';
5
5
  import * as wagmi_query from 'wagmi/query';
6
6
  import * as wagmi from 'wagmi';
7
7
 
8
- declare const WalletToolkitProvider: (children: ReactNode) => react_jsx_runtime.JSX.Element;
8
+ interface WalletToolkitProviderProps {
9
+ children: ReactNode;
10
+ }
11
+ declare const WalletToolkitProvider: ({ children, }: WalletToolkitProviderProps) => react_jsx_runtime.JSX.Element;
9
12
 
10
13
  interface Token {
11
14
  chainId: string;
@@ -17,6 +20,10 @@ interface Chain {
17
20
  id: string;
18
21
  name: string;
19
22
  }
23
+ declare const availableChains: {
24
+ id: string;
25
+ name: string;
26
+ }[];
20
27
  declare const useWalletWrapper: () => {
21
28
  address: `0x${string}` | undefined;
22
29
  isConnected: boolean;
@@ -66,4 +73,4 @@ declare const useWalletWrapper: () => {
66
73
  })[], _wagmi_core.ReadContractsErrorType>>;
67
74
  };
68
75
 
69
- export { type Chain, type Token, WalletToolkitProvider, useWalletWrapper };
76
+ export { type Chain, type Token, WalletToolkitProvider, availableChains, useWalletWrapper };
package/dist/index.d.ts CHANGED
@@ -5,7 +5,10 @@ import * as _tanstack_query_core from '@tanstack/query-core';
5
5
  import * as wagmi_query from 'wagmi/query';
6
6
  import * as wagmi from 'wagmi';
7
7
 
8
- declare const WalletToolkitProvider: (children: ReactNode) => react_jsx_runtime.JSX.Element;
8
+ interface WalletToolkitProviderProps {
9
+ children: ReactNode;
10
+ }
11
+ declare const WalletToolkitProvider: ({ children, }: WalletToolkitProviderProps) => react_jsx_runtime.JSX.Element;
9
12
 
10
13
  interface Token {
11
14
  chainId: string;
@@ -17,6 +20,10 @@ interface Chain {
17
20
  id: string;
18
21
  name: string;
19
22
  }
23
+ declare const availableChains: {
24
+ id: string;
25
+ name: string;
26
+ }[];
20
27
  declare const useWalletWrapper: () => {
21
28
  address: `0x${string}` | undefined;
22
29
  isConnected: boolean;
@@ -66,4 +73,4 @@ declare const useWalletWrapper: () => {
66
73
  })[], _wagmi_core.ReadContractsErrorType>>;
67
74
  };
68
75
 
69
- export { type Chain, type Token, WalletToolkitProvider, useWalletWrapper };
76
+ export { type Chain, type Token, WalletToolkitProvider, availableChains, useWalletWrapper };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var h=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var N=(i,e)=>{for(var r in e)h(i,r,{get:e[r],enumerable:!0})},v=(i,e,r,m)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of D(e))!y.call(i,s)&&s!==r&&h(i,s,{get:()=>e[s],enumerable:!(m=w(e,s))||m.enumerable});return i};var P=i=>v(h({},"__esModule",{value:!0}),i);var q={};N(q,{WalletToolkitProvider:()=>L,useWalletWrapper:()=>Q});module.exports=P(q);var I=require("react"),n=require("wagmi"),a=require("wagmi/chains"),T=require("wagmi/connectors"),l=require("@tanstack/react-query"),u=require("react/jsx-runtime"),W=new l.QueryClient,L=i=>{let e=(0,I.useMemo)(()=>(0,n.createConfig)({chains:[a.mainnet,a.base,a.bsc,a.arbitrum],connectors:[(0,T.injected)()],transports:{[a.mainnet.id]:(0,n.http)(),[a.base.id]:(0,n.http)(),[a.bsc.id]:(0,n.http)(),[a.arbitrum.id]:(0,n.http)()}}),[]);return(0,u.jsx)(n.WagmiProvider,{config:e,children:(0,u.jsx)(l.QueryClientProvider,{client:W,children:i})})};var g=require("react"),o=require("wagmi"),C=require("viem");var k=[{address:"0xdac17f958d2ee523a2206206994597c13d831ec7",chain:"ETH",chainId:"1",decimals:6,identifier:"ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png",ticker:"USDT"},{address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",chain:"ETH",chainId:"1",decimals:6,identifier:"ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png",ticker:"USDC"},{address:"0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",chain:"ETH",chainId:"1",decimals:18,identifier:"ETH.DPI-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.dpi-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",ticker:"DPI"},{address:"0x912ce59144191c1204e64559fe8253a0e49e6548",chain:"ARB",chainId:"42161",decimals:18,identifier:"ARB.ARB-0x912ce59144191c1204e64559fe8253a0e49e6548",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/arb.arb-0x912ce59144191c1204e64559fe8253a0e49e6548.png",ticker:"ARB"},{address:"0x55d398326f99059ff775485246999027b3197955",chain:"BSC",chainId:"56",decimals:18,identifier:"BSC.USDT-0x55d398326f99059ff775485246999027b3197955",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/bsc.usdt-0x55d398326f99059ff775485246999027b3197955.png",ticker:"USDT"},{chain:"ETH",chainId:"1",decimals:18,identifier:"ETH.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png",ticker:"ETH"},{chain:"BASE",chainId:"8453",decimals:18,identifier:"BASE.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/base.eth.png",ticker:"ETH"},{chain:"ARB",chainId:"42161",decimals:18,identifier:"ARB.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png",ticker:"ETH"}];var M="0xca11bde05977b3631167028862be2a173976ca11",Q=()=>{let i=[{id:"1",name:"Ethereum"},{id:"8453",name:"Base"},{id:"42161",name:"Arbitrum"},{id:"56",name:"BSC"}],[e,r]=(0,g.useState)(i),{isConnected:m,address:s}=(0,o.useAccount)(),{connect:E,connectors:R}=(0,o.useConnect)(),{disconnect:B}=(0,o.useDisconnect)(),p=(0,g.useMemo)(()=>k.filter(t=>e.some(c=>c.id===t.chainId)),[k,e]),x=p.map(t=>!t.address||t.address===""?{address:M,abi:[{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"getEthBalance",args:[s],chainId:Number(t.chainId)}:{address:t.address,abi:C.erc20Abi,functionName:"balanceOf",args:[s],chainId:Number(t.chainId)}),{data:b,isLoading:S,refetch:U}=(0,o.useReadContracts)({contracts:x,query:{enabled:!!s&&x.length>0}}),H=(0,g.useMemo)(()=>b?b.map((t,c)=>{let f=p[c],d=t.status==="success"?t.result:BigInt(0),A=(Number(d)/10**f.decimals).toFixed(7);return{...f,rawBalance:d,formattedBalance:A,status:t.status}}):[],[b,p]);return{address:s,isConnected:m,connectors:R,connect:E,disconnect:B,selectedChains:e,toggleChain:t=>{r(c=>c.some(d=>d.id===t.id)?c.filter(d=>d.id!==t.id):[...c,t])},balances:H,isLoading:S,refetch:U}};0&&(module.exports={WalletToolkitProvider,useWalletWrapper});
1
+ "use strict";var h=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var y=(t,a)=>{for(var d in a)h(t,d,{get:a[d],enumerable:!0})},v=(t,a,d,c)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of D(a))!P.call(t,r)&&r!==d&&h(t,r,{get:()=>a[r],enumerable:!(c=w(a,r))||c.enumerable});return t};var N=t=>v(h({},"__esModule",{value:!0}),t);var q={};y(q,{WalletToolkitProvider:()=>L,availableChains:()=>E,useWalletWrapper:()=>Q});module.exports=N(q);var I=require("react"),s=require("wagmi"),i=require("wagmi/chains"),T=require("wagmi/connectors"),l=require("@tanstack/react-query"),u=require("react/jsx-runtime"),W=new l.QueryClient,L=({children:t})=>{let a=(0,I.useMemo)(()=>(0,s.createConfig)({chains:[i.mainnet,i.base,i.bsc,i.arbitrum],connectors:[(0,T.injected)()],transports:{[i.mainnet.id]:(0,s.http)(),[i.base.id]:(0,s.http)(),[i.bsc.id]:(0,s.http)(),[i.arbitrum.id]:(0,s.http)()}}),[]);return(0,u.jsx)(s.WagmiProvider,{config:a,children:(0,u.jsx)(l.QueryClientProvider,{client:W,children:t})})};var m=require("react"),o=require("wagmi"),C=require("viem");var k=[{address:"0xdac17f958d2ee523a2206206994597c13d831ec7",chain:"ETH",chainId:"1",decimals:6,identifier:"ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png",ticker:"USDT"},{address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",chain:"ETH",chainId:"1",decimals:6,identifier:"ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png",ticker:"USDC"},{address:"0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",chain:"ETH",chainId:"1",decimals:18,identifier:"ETH.DPI-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.dpi-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",ticker:"DPI"},{address:"0x912ce59144191c1204e64559fe8253a0e49e6548",chain:"ARB",chainId:"42161",decimals:18,identifier:"ARB.ARB-0x912ce59144191c1204e64559fe8253a0e49e6548",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/arb.arb-0x912ce59144191c1204e64559fe8253a0e49e6548.png",ticker:"ARB"},{address:"0x55d398326f99059ff775485246999027b3197955",chain:"BSC",chainId:"56",decimals:18,identifier:"BSC.USDT-0x55d398326f99059ff775485246999027b3197955",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/bsc.usdt-0x55d398326f99059ff775485246999027b3197955.png",ticker:"USDT"},{chain:"ETH",chainId:"1",decimals:18,identifier:"ETH.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png",ticker:"ETH"},{chain:"BASE",chainId:"8453",decimals:18,identifier:"BASE.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/base.eth.png",ticker:"ETH"},{chain:"ARB",chainId:"42161",decimals:18,identifier:"ARB.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png",ticker:"ETH"}];var M="0xca11bde05977b3631167028862be2a173976ca11",E=[{id:"1",name:"Ethereum"},{id:"8453",name:"Base"},{id:"42161",name:"Arbitrum"},{id:"56",name:"BSC"}],Q=()=>{let[t,a]=(0,m.useState)(E),{isConnected:d,address:c}=(0,o.useAccount)(),{connect:r,connectors:R}=(0,o.useConnect)(),{disconnect:B}=(0,o.useDisconnect)(),p=(0,m.useMemo)(()=>k.filter(e=>t.some(n=>n.id===e.chainId)),[k,t]),x=p.map(e=>!e.address||e.address===""?{address:M,abi:[{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"getEthBalance",args:[c],chainId:Number(e.chainId)}:{address:e.address,abi:C.erc20Abi,functionName:"balanceOf",args:[c],chainId:Number(e.chainId)}),{data:b,isLoading:S,refetch:U}=(0,o.useReadContracts)({contracts:x,query:{enabled:!!c&&x.length>0}}),H=(0,m.useMemo)(()=>b?b.map((e,n)=>{let f=p[n],g=e.status==="success"?e.result:BigInt(0),A=(Number(g)/10**f.decimals).toFixed(7);return{...f,rawBalance:g,formattedBalance:A,status:e.status}}):[],[b,p]);return{address:c,isConnected:d,connectors:R,connect:r,disconnect:B,selectedChains:t,toggleChain:e=>{a(n=>n.some(g=>g.id===e.id)?n.filter(g=>g.id!==e.id):[...n,e])},balances:H,isLoading:S,refetch:U}};0&&(module.exports={WalletToolkitProvider,availableChains,useWalletWrapper});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/provider.tsx","../src/useWalletWrapper.ts","../src/tokens.ts"],"sourcesContent":["export * from './provider';\nexport * from './useWalletWrapper';","import React, { ReactNode, useMemo } from \"react\";\nimport { createConfig, http, WagmiProvider } from \"wagmi\";\nimport { mainnet, base, bsc, arbitrum } from \"wagmi/chains\";\nimport { injected } from \"wagmi/connectors\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\n\nconst queryClient = new QueryClient();\n\nexport const WalletToolkitProvider = (children: ReactNode) => {\n const config = useMemo(() => {\n return createConfig({\n chains: [mainnet, base, bsc, arbitrum] as any,\n connectors: [injected()],\n transports: {\n [mainnet.id]: http(),\n [base.id]: http(),\n [bsc.id]: http(),\n [arbitrum.id]: http(),\n },\n });\n }, []);\n\n return (\n <WagmiProvider config={config}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </WagmiProvider>\n );\n};\n","import { useState, useMemo } from \"react\";\nimport { useConnect, useAccount, useDisconnect, useReadContracts } from \"wagmi\";\nimport { erc20Abi } from \"viem\";\nimport { tokens } from \"./tokens\";\n\nconst MULTICALL3_ADDRESS = \"0xca11bde05977b3631167028862be2a173976ca11\";\nexport interface Token {\n chainId: string;\n address: string;\n ticker: string;\n decimals: number;\n}\n\nexport interface Chain {\n id: string;\n name: string;\n}\nexport const useWalletWrapper = () => {\n const availableChains = [\n { id: \"1\", name: \"Ethereum\" },\n { id: \"8453\", name: \"Base\" },\n { id: \"42161\", name: \"Arbitrum\" },\n { id: \"56\", name: \"BSC\" },\n ];\n\n const [selectedChains, setSelectedChains] = useState(availableChains);\n\n const { isConnected, address } = useAccount();\n const { connect, connectors } = useConnect();\n const { disconnect } = useDisconnect();\n\n const filteredTokens = useMemo(() => {\n return tokens.filter((token) =>\n selectedChains.some((chain) => chain.id === token.chainId)\n );\n }, [tokens, selectedChains]);\n\n const contracts = filteredTokens.map((token) => {\n const isNative = !token.address || token.address === \"\";\n\n if (isNative) {\n return {\n address: MULTICALL3_ADDRESS as `0x${string}`,\n abi: [\n {\n inputs: [{ name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n ] as const,\n functionName: \"getEthBalance\",\n args: [address],\n chainId: Number(token.chainId),\n };\n } else {\n return {\n address: token.address as `0x${string}`,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [address],\n chainId: Number(token.chainId),\n };\n }\n });\n\n const { data, isLoading, refetch } = useReadContracts({\n contracts,\n query: {\n enabled: !!address && contracts.length > 0,\n },\n });\n\n const balances = useMemo(() => {\n if (!data) return [];\n return data.map((res, index) => {\n const tokenInfo = filteredTokens[index];\n const balance =\n res.status === \"success\" ? (res.result as bigint) : BigInt(0);\n const formatted = (Number(balance) / 10 ** tokenInfo.decimals).toFixed(7);\n\n return {\n ...tokenInfo,\n rawBalance: balance,\n formattedBalance: formatted,\n status: res.status,\n };\n });\n }, [data, filteredTokens]);\n\n const toggleChain = (chain: { id: string; name: string }) => {\n setSelectedChains((prev) => {\n const exists = prev.some((c) => c.id === chain.id);\n return exists ? prev.filter((c) => c.id !== chain.id) : [...prev, chain];\n });\n };\n\n return {\n address,\n isConnected,\n connectors,\n connect,\n disconnect,\n selectedChains,\n toggleChain,\n balances,\n isLoading,\n refetch,\n };\n};\n","export const tokens = [\n {\n address: \"0xdac17f958d2ee523a2206206994597c13d831ec7\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 6,\n identifier: \"ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png\",\n ticker: \"USDT\",\n },\n {\n address: \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 6,\n identifier: \"ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png\",\n ticker: \"USDC\",\n },\n {\n address: \"0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 18,\n identifier: \"ETH.DPI-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.dpi-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png\",\n ticker: \"DPI\",\n },\n {\n address: \"0x912ce59144191c1204e64559fe8253a0e49e6548\",\n chain: \"ARB\",\n chainId: \"42161\",\n decimals: 18,\n identifier: \"ARB.ARB-0x912ce59144191c1204e64559fe8253a0e49e6548\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/arb.arb-0x912ce59144191c1204e64559fe8253a0e49e6548.png\",\n ticker: \"ARB\",\n },\n {\n address: \"0x55d398326f99059ff775485246999027b3197955\",\n chain: \"BSC\",\n chainId: \"56\",\n decimals: 18,\n identifier: \"BSC.USDT-0x55d398326f99059ff775485246999027b3197955\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/bsc.usdt-0x55d398326f99059ff775485246999027b3197955.png\",\n ticker: \"USDT\",\n },\n {\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 18,\n identifier: \"ETH.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png\",\n ticker: \"ETH\",\n },\n {\n chain: \"BASE\",\n chainId: \"8453\",\n decimals: 18,\n identifier: \"BASE.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/base.eth.png\",\n ticker: \"ETH\",\n },\n {\n chain: \"ARB\",\n chainId: \"42161\",\n decimals: 18,\n identifier: \"ARB.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png\",\n ticker: \"ETH\",\n },\n ];\n "],"mappings":"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","names":["index_exports","__export","WalletToolkitProvider","useWalletWrapper","__toCommonJS","import_react","import_wagmi","import_chains","import_connectors","import_react_query","import_jsx_runtime","queryClient","WalletToolkitProvider","children","config","import_react","import_wagmi","import_viem","tokens","MULTICALL3_ADDRESS","useWalletWrapper","availableChains","selectedChains","setSelectedChains","isConnected","address","connect","connectors","disconnect","filteredTokens","tokens","token","chain","contracts","data","isLoading","refetch","balances","res","index","tokenInfo","balance","formatted","prev","c"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/provider.tsx","../src/useWalletWrapper.ts","../src/tokens.ts"],"sourcesContent":["export * from './provider';\nexport * from './useWalletWrapper';","import React, { ReactNode, useMemo } from \"react\";\nimport { createConfig, http, WagmiProvider } from \"wagmi\";\nimport { mainnet, base, bsc, arbitrum } from \"wagmi/chains\";\nimport { injected } from \"wagmi/connectors\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\n\ninterface WalletToolkitProviderProps {\n children: ReactNode;\n}\nconst queryClient = new QueryClient();\n\nexport const WalletToolkitProvider = ({\n children,\n}: WalletToolkitProviderProps) => {\n const config = useMemo(() => {\n return createConfig({\n chains: [mainnet, base, bsc, arbitrum] as any,\n connectors: [injected()],\n transports: {\n [mainnet.id]: http(),\n [base.id]: http(),\n [bsc.id]: http(),\n [arbitrum.id]: http(),\n },\n });\n }, []);\n\n return (\n <WagmiProvider config={config}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </WagmiProvider>\n );\n};\n","import { useState, useMemo } from \"react\";\nimport { useConnect, useAccount, useDisconnect, useReadContracts } from \"wagmi\";\nimport { erc20Abi } from \"viem\";\nimport { tokens } from \"./tokens\";\n\nconst MULTICALL3_ADDRESS = \"0xca11bde05977b3631167028862be2a173976ca11\";\nexport interface Token {\n chainId: string;\n address: string;\n ticker: string;\n decimals: number;\n}\n\nexport interface Chain {\n id: string;\n name: string;\n}\n\nexport const availableChains = [\n { id: \"1\", name: \"Ethereum\" },\n { id: \"8453\", name: \"Base\" },\n { id: \"42161\", name: \"Arbitrum\" },\n { id: \"56\", name: \"BSC\" },\n];\n\nexport const useWalletWrapper = () => {\n const [selectedChains, setSelectedChains] = useState(availableChains);\n\n const { isConnected, address } = useAccount();\n const { connect, connectors } = useConnect();\n const { disconnect } = useDisconnect();\n\n const filteredTokens = useMemo(() => {\n return tokens.filter((token) =>\n selectedChains.some((chain) => chain.id === token.chainId)\n );\n }, [tokens, selectedChains]);\n\n const contracts = filteredTokens.map((token) => {\n const isNative = !token.address || token.address === \"\";\n\n if (isNative) {\n return {\n address: MULTICALL3_ADDRESS as `0x${string}`,\n abi: [\n {\n inputs: [{ name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n ] as const,\n functionName: \"getEthBalance\",\n args: [address],\n chainId: Number(token.chainId),\n };\n } else {\n return {\n address: token.address as `0x${string}`,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [address],\n chainId: Number(token.chainId),\n };\n }\n });\n\n const { data, isLoading, refetch } = useReadContracts({\n contracts,\n query: {\n enabled: !!address && contracts.length > 0,\n },\n });\n\n const balances = useMemo(() => {\n if (!data) return [];\n return data.map((res, index) => {\n const tokenInfo = filteredTokens[index];\n const balance =\n res.status === \"success\" ? (res.result as bigint) : BigInt(0);\n const formatted = (Number(balance) / 10 ** tokenInfo.decimals).toFixed(7);\n\n return {\n ...tokenInfo,\n rawBalance: balance,\n formattedBalance: formatted,\n status: res.status,\n };\n });\n }, [data, filteredTokens]);\n\n const toggleChain = (chain: { id: string; name: string }) => {\n setSelectedChains((prev) => {\n const exists = prev.some((c) => c.id === chain.id);\n return exists ? prev.filter((c) => c.id !== chain.id) : [...prev, chain];\n });\n };\n\n return {\n address,\n isConnected,\n connectors,\n connect,\n disconnect,\n selectedChains,\n toggleChain,\n balances,\n isLoading,\n refetch,\n };\n};\n","export const tokens = [\n {\n address: \"0xdac17f958d2ee523a2206206994597c13d831ec7\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 6,\n identifier: \"ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png\",\n ticker: \"USDT\",\n },\n {\n address: \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 6,\n identifier: \"ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png\",\n ticker: \"USDC\",\n },\n {\n address: \"0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 18,\n identifier: \"ETH.DPI-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.dpi-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png\",\n ticker: \"DPI\",\n },\n {\n address: \"0x912ce59144191c1204e64559fe8253a0e49e6548\",\n chain: \"ARB\",\n chainId: \"42161\",\n decimals: 18,\n identifier: \"ARB.ARB-0x912ce59144191c1204e64559fe8253a0e49e6548\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/arb.arb-0x912ce59144191c1204e64559fe8253a0e49e6548.png\",\n ticker: \"ARB\",\n },\n {\n address: \"0x55d398326f99059ff775485246999027b3197955\",\n chain: \"BSC\",\n chainId: \"56\",\n decimals: 18,\n identifier: \"BSC.USDT-0x55d398326f99059ff775485246999027b3197955\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/bsc.usdt-0x55d398326f99059ff775485246999027b3197955.png\",\n ticker: \"USDT\",\n },\n {\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 18,\n identifier: \"ETH.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png\",\n ticker: \"ETH\",\n },\n {\n chain: \"BASE\",\n chainId: \"8453\",\n decimals: 18,\n identifier: \"BASE.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/base.eth.png\",\n ticker: \"ETH\",\n },\n {\n chain: \"ARB\",\n chainId: \"42161\",\n decimals: 18,\n identifier: \"ARB.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png\",\n ticker: \"ETH\",\n },\n ];\n "],"mappings":"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","names":["index_exports","__export","WalletToolkitProvider","availableChains","useWalletWrapper","__toCommonJS","import_react","import_wagmi","import_chains","import_connectors","import_react_query","import_jsx_runtime","queryClient","WalletToolkitProvider","children","config","import_react","import_wagmi","import_viem","tokens","MULTICALL3_ADDRESS","availableChains","useWalletWrapper","selectedChains","setSelectedChains","isConnected","address","connect","connectors","disconnect","filteredTokens","tokens","token","chain","contracts","data","isLoading","refetch","balances","res","index","tokenInfo","balance","formatted","prev","c"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{useMemo as U}from"react";import{createConfig as H,http as n,WagmiProvider as A}from"wagmi";import{mainnet as l,base as p,bsc as b,arbitrum as f}from"wagmi/chains";import{injected as w}from"wagmi/connectors";import{QueryClient as D,QueryClientProvider as y}from"@tanstack/react-query";import{jsx as h}from"react/jsx-runtime";var N=new D,K=c=>{let i=U(()=>H({chains:[l,p,b,f],connectors:[w()],transports:{[l.id]:n(),[p.id]:n(),[b.id]:n(),[f.id]:n()}}),[]);return h(A,{config:i,children:h(y,{client:N,children:c})})};import{useState as v,useMemo as u}from"react";import{useConnect as P,useAccount as W,useDisconnect as L,useReadContracts as M}from"wagmi";import{erc20Abi as Q}from"viem";var g=[{address:"0xdac17f958d2ee523a2206206994597c13d831ec7",chain:"ETH",chainId:"1",decimals:6,identifier:"ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png",ticker:"USDT"},{address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",chain:"ETH",chainId:"1",decimals:6,identifier:"ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png",ticker:"USDC"},{address:"0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",chain:"ETH",chainId:"1",decimals:18,identifier:"ETH.DPI-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.dpi-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",ticker:"DPI"},{address:"0x912ce59144191c1204e64559fe8253a0e49e6548",chain:"ARB",chainId:"42161",decimals:18,identifier:"ARB.ARB-0x912ce59144191c1204e64559fe8253a0e49e6548",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/arb.arb-0x912ce59144191c1204e64559fe8253a0e49e6548.png",ticker:"ARB"},{address:"0x55d398326f99059ff775485246999027b3197955",chain:"BSC",chainId:"56",decimals:18,identifier:"BSC.USDT-0x55d398326f99059ff775485246999027b3197955",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/bsc.usdt-0x55d398326f99059ff775485246999027b3197955.png",ticker:"USDT"},{chain:"ETH",chainId:"1",decimals:18,identifier:"ETH.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png",ticker:"ETH"},{chain:"BASE",chainId:"8453",decimals:18,identifier:"BASE.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/base.eth.png",ticker:"ETH"},{chain:"ARB",chainId:"42161",decimals:18,identifier:"ARB.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png",ticker:"ETH"}];var q="0xca11bde05977b3631167028862be2a173976ca11",ie=()=>{let c=[{id:"1",name:"Ethereum"},{id:"8453",name:"Base"},{id:"42161",name:"Arbitrum"},{id:"56",name:"BSC"}],[i,k]=v(c),{isConnected:x,address:s}=W(),{connect:I,connectors:T}=P(),{disconnect:C}=L(),o=u(()=>g.filter(e=>i.some(t=>t.id===e.chainId)),[g,i]),m=o.map(e=>!e.address||e.address===""?{address:q,abi:[{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"getEthBalance",args:[s],chainId:Number(e.chainId)}:{address:e.address,abi:Q,functionName:"balanceOf",args:[s],chainId:Number(e.chainId)}),{data:r,isLoading:E,refetch:R}=M({contracts:m,query:{enabled:!!s&&m.length>0}}),B=u(()=>r?r.map((e,t)=>{let d=o[t],a=e.status==="success"?e.result:BigInt(0),S=(Number(a)/10**d.decimals).toFixed(7);return{...d,rawBalance:a,formattedBalance:S,status:e.status}}):[],[r,o]);return{address:s,isConnected:x,connectors:T,connect:I,disconnect:C,selectedChains:i,toggleChain:e=>{k(t=>t.some(a=>a.id===e.id)?t.filter(a=>a.id!==e.id):[...t,e])},balances:B,isLoading:E,refetch:R}};export{K as WalletToolkitProvider,ie as useWalletWrapper};
1
+ import{useMemo as S}from"react";import{createConfig as U,http as n,WagmiProvider as H}from"wagmi";import{mainnet as l,base as p,bsc as b,arbitrum as f}from"wagmi/chains";import{injected as A}from"wagmi/connectors";import{QueryClient as w,QueryClientProvider as D}from"@tanstack/react-query";import{jsx as h}from"react/jsx-runtime";var P=new w,K=({children:i})=>{let o=S(()=>U({chains:[l,p,b,f],connectors:[A()],transports:{[l.id]:n(),[p.id]:n(),[b.id]:n(),[f.id]:n()}}),[]);return h(H,{config:o,children:h(D,{client:P,children:i})})};import{useState as y,useMemo as u}from"react";import{useConnect as v,useAccount as N,useDisconnect as W,useReadContracts as L}from"wagmi";import{erc20Abi as M}from"viem";var g=[{address:"0xdac17f958d2ee523a2206206994597c13d831ec7",chain:"ETH",chainId:"1",decimals:6,identifier:"ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png",ticker:"USDT"},{address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",chain:"ETH",chainId:"1",decimals:6,identifier:"ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png",ticker:"USDC"},{address:"0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",chain:"ETH",chainId:"1",decimals:18,identifier:"ETH.DPI-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.dpi-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",ticker:"DPI"},{address:"0x912ce59144191c1204e64559fe8253a0e49e6548",chain:"ARB",chainId:"42161",decimals:18,identifier:"ARB.ARB-0x912ce59144191c1204e64559fe8253a0e49e6548",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/arb.arb-0x912ce59144191c1204e64559fe8253a0e49e6548.png",ticker:"ARB"},{address:"0x55d398326f99059ff775485246999027b3197955",chain:"BSC",chainId:"56",decimals:18,identifier:"BSC.USDT-0x55d398326f99059ff775485246999027b3197955",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/bsc.usdt-0x55d398326f99059ff775485246999027b3197955.png",ticker:"USDT"},{chain:"ETH",chainId:"1",decimals:18,identifier:"ETH.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png",ticker:"ETH"},{chain:"BASE",chainId:"8453",decimals:18,identifier:"BASE.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/base.eth.png",ticker:"ETH"},{chain:"ARB",chainId:"42161",decimals:18,identifier:"ARB.ETH",logoURI:"https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png",ticker:"ETH"}];var Q="0xca11bde05977b3631167028862be2a173976ca11",q=[{id:"1",name:"Ethereum"},{id:"8453",name:"Base"},{id:"42161",name:"Arbitrum"},{id:"56",name:"BSC"}],ie=()=>{let[i,o]=y(q),{isConnected:k,address:s}=N(),{connect:x,connectors:I}=v(),{disconnect:T}=W(),c=u(()=>g.filter(e=>i.some(t=>t.id===e.chainId)),[g,i]),m=c.map(e=>!e.address||e.address===""?{address:Q,abi:[{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"getEthBalance",args:[s],chainId:Number(e.chainId)}:{address:e.address,abi:M,functionName:"balanceOf",args:[s],chainId:Number(e.chainId)}),{data:r,isLoading:C,refetch:E}=L({contracts:m,query:{enabled:!!s&&m.length>0}}),R=u(()=>r?r.map((e,t)=>{let d=c[t],a=e.status==="success"?e.result:BigInt(0),B=(Number(a)/10**d.decimals).toFixed(7);return{...d,rawBalance:a,formattedBalance:B,status:e.status}}):[],[r,c]);return{address:s,isConnected:k,connectors:I,connect:x,disconnect:T,selectedChains:i,toggleChain:e=>{o(t=>t.some(a=>a.id===e.id)?t.filter(a=>a.id!==e.id):[...t,e])},balances:R,isLoading:C,refetch:E}};export{K as WalletToolkitProvider,q as availableChains,ie as useWalletWrapper};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/provider.tsx","../src/useWalletWrapper.ts","../src/tokens.ts"],"sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\nimport { createConfig, http, WagmiProvider } from \"wagmi\";\nimport { mainnet, base, bsc, arbitrum } from \"wagmi/chains\";\nimport { injected } from \"wagmi/connectors\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\n\nconst queryClient = new QueryClient();\n\nexport const WalletToolkitProvider = (children: ReactNode) => {\n const config = useMemo(() => {\n return createConfig({\n chains: [mainnet, base, bsc, arbitrum] as any,\n connectors: [injected()],\n transports: {\n [mainnet.id]: http(),\n [base.id]: http(),\n [bsc.id]: http(),\n [arbitrum.id]: http(),\n },\n });\n }, []);\n\n return (\n <WagmiProvider config={config}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </WagmiProvider>\n );\n};\n","import { useState, useMemo } from \"react\";\nimport { useConnect, useAccount, useDisconnect, useReadContracts } from \"wagmi\";\nimport { erc20Abi } from \"viem\";\nimport { tokens } from \"./tokens\";\n\nconst MULTICALL3_ADDRESS = \"0xca11bde05977b3631167028862be2a173976ca11\";\nexport interface Token {\n chainId: string;\n address: string;\n ticker: string;\n decimals: number;\n}\n\nexport interface Chain {\n id: string;\n name: string;\n}\nexport const useWalletWrapper = () => {\n const availableChains = [\n { id: \"1\", name: \"Ethereum\" },\n { id: \"8453\", name: \"Base\" },\n { id: \"42161\", name: \"Arbitrum\" },\n { id: \"56\", name: \"BSC\" },\n ];\n\n const [selectedChains, setSelectedChains] = useState(availableChains);\n\n const { isConnected, address } = useAccount();\n const { connect, connectors } = useConnect();\n const { disconnect } = useDisconnect();\n\n const filteredTokens = useMemo(() => {\n return tokens.filter((token) =>\n selectedChains.some((chain) => chain.id === token.chainId)\n );\n }, [tokens, selectedChains]);\n\n const contracts = filteredTokens.map((token) => {\n const isNative = !token.address || token.address === \"\";\n\n if (isNative) {\n return {\n address: MULTICALL3_ADDRESS as `0x${string}`,\n abi: [\n {\n inputs: [{ name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n ] as const,\n functionName: \"getEthBalance\",\n args: [address],\n chainId: Number(token.chainId),\n };\n } else {\n return {\n address: token.address as `0x${string}`,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [address],\n chainId: Number(token.chainId),\n };\n }\n });\n\n const { data, isLoading, refetch } = useReadContracts({\n contracts,\n query: {\n enabled: !!address && contracts.length > 0,\n },\n });\n\n const balances = useMemo(() => {\n if (!data) return [];\n return data.map((res, index) => {\n const tokenInfo = filteredTokens[index];\n const balance =\n res.status === \"success\" ? (res.result as bigint) : BigInt(0);\n const formatted = (Number(balance) / 10 ** tokenInfo.decimals).toFixed(7);\n\n return {\n ...tokenInfo,\n rawBalance: balance,\n formattedBalance: formatted,\n status: res.status,\n };\n });\n }, [data, filteredTokens]);\n\n const toggleChain = (chain: { id: string; name: string }) => {\n setSelectedChains((prev) => {\n const exists = prev.some((c) => c.id === chain.id);\n return exists ? prev.filter((c) => c.id !== chain.id) : [...prev, chain];\n });\n };\n\n return {\n address,\n isConnected,\n connectors,\n connect,\n disconnect,\n selectedChains,\n toggleChain,\n balances,\n isLoading,\n refetch,\n };\n};\n","export const tokens = [\n {\n address: \"0xdac17f958d2ee523a2206206994597c13d831ec7\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 6,\n identifier: \"ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png\",\n ticker: \"USDT\",\n },\n {\n address: \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 6,\n identifier: \"ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png\",\n ticker: \"USDC\",\n },\n {\n address: \"0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 18,\n identifier: \"ETH.DPI-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.dpi-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png\",\n ticker: \"DPI\",\n },\n {\n address: \"0x912ce59144191c1204e64559fe8253a0e49e6548\",\n chain: \"ARB\",\n chainId: \"42161\",\n decimals: 18,\n identifier: \"ARB.ARB-0x912ce59144191c1204e64559fe8253a0e49e6548\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/arb.arb-0x912ce59144191c1204e64559fe8253a0e49e6548.png\",\n ticker: \"ARB\",\n },\n {\n address: \"0x55d398326f99059ff775485246999027b3197955\",\n chain: \"BSC\",\n chainId: \"56\",\n decimals: 18,\n identifier: \"BSC.USDT-0x55d398326f99059ff775485246999027b3197955\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/bsc.usdt-0x55d398326f99059ff775485246999027b3197955.png\",\n ticker: \"USDT\",\n },\n {\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 18,\n identifier: \"ETH.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png\",\n ticker: \"ETH\",\n },\n {\n chain: \"BASE\",\n chainId: \"8453\",\n decimals: 18,\n identifier: \"BASE.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/base.eth.png\",\n ticker: \"ETH\",\n },\n {\n chain: \"ARB\",\n chainId: \"42161\",\n decimals: 18,\n identifier: \"ARB.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png\",\n ticker: \"ETH\",\n },\n ];\n "],"mappings":"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","names":["useMemo","createConfig","http","WagmiProvider","mainnet","base","bsc","arbitrum","injected","QueryClient","QueryClientProvider","jsx","queryClient","WalletToolkitProvider","children","config","useState","useMemo","useConnect","useAccount","useDisconnect","useReadContracts","erc20Abi","tokens","MULTICALL3_ADDRESS","useWalletWrapper","availableChains","selectedChains","setSelectedChains","useState","isConnected","address","useAccount","connect","connectors","useConnect","disconnect","useDisconnect","filteredTokens","useMemo","tokens","token","chain","contracts","erc20Abi","data","isLoading","refetch","useReadContracts","balances","res","index","tokenInfo","balance","formatted","prev","c"]}
1
+ {"version":3,"sources":["../src/provider.tsx","../src/useWalletWrapper.ts","../src/tokens.ts"],"sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\nimport { createConfig, http, WagmiProvider } from \"wagmi\";\nimport { mainnet, base, bsc, arbitrum } from \"wagmi/chains\";\nimport { injected } from \"wagmi/connectors\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\n\ninterface WalletToolkitProviderProps {\n children: ReactNode;\n}\nconst queryClient = new QueryClient();\n\nexport const WalletToolkitProvider = ({\n children,\n}: WalletToolkitProviderProps) => {\n const config = useMemo(() => {\n return createConfig({\n chains: [mainnet, base, bsc, arbitrum] as any,\n connectors: [injected()],\n transports: {\n [mainnet.id]: http(),\n [base.id]: http(),\n [bsc.id]: http(),\n [arbitrum.id]: http(),\n },\n });\n }, []);\n\n return (\n <WagmiProvider config={config}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </WagmiProvider>\n );\n};\n","import { useState, useMemo } from \"react\";\nimport { useConnect, useAccount, useDisconnect, useReadContracts } from \"wagmi\";\nimport { erc20Abi } from \"viem\";\nimport { tokens } from \"./tokens\";\n\nconst MULTICALL3_ADDRESS = \"0xca11bde05977b3631167028862be2a173976ca11\";\nexport interface Token {\n chainId: string;\n address: string;\n ticker: string;\n decimals: number;\n}\n\nexport interface Chain {\n id: string;\n name: string;\n}\n\nexport const availableChains = [\n { id: \"1\", name: \"Ethereum\" },\n { id: \"8453\", name: \"Base\" },\n { id: \"42161\", name: \"Arbitrum\" },\n { id: \"56\", name: \"BSC\" },\n];\n\nexport const useWalletWrapper = () => {\n const [selectedChains, setSelectedChains] = useState(availableChains);\n\n const { isConnected, address } = useAccount();\n const { connect, connectors } = useConnect();\n const { disconnect } = useDisconnect();\n\n const filteredTokens = useMemo(() => {\n return tokens.filter((token) =>\n selectedChains.some((chain) => chain.id === token.chainId)\n );\n }, [tokens, selectedChains]);\n\n const contracts = filteredTokens.map((token) => {\n const isNative = !token.address || token.address === \"\";\n\n if (isNative) {\n return {\n address: MULTICALL3_ADDRESS as `0x${string}`,\n abi: [\n {\n inputs: [{ name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n ] as const,\n functionName: \"getEthBalance\",\n args: [address],\n chainId: Number(token.chainId),\n };\n } else {\n return {\n address: token.address as `0x${string}`,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [address],\n chainId: Number(token.chainId),\n };\n }\n });\n\n const { data, isLoading, refetch } = useReadContracts({\n contracts,\n query: {\n enabled: !!address && contracts.length > 0,\n },\n });\n\n const balances = useMemo(() => {\n if (!data) return [];\n return data.map((res, index) => {\n const tokenInfo = filteredTokens[index];\n const balance =\n res.status === \"success\" ? (res.result as bigint) : BigInt(0);\n const formatted = (Number(balance) / 10 ** tokenInfo.decimals).toFixed(7);\n\n return {\n ...tokenInfo,\n rawBalance: balance,\n formattedBalance: formatted,\n status: res.status,\n };\n });\n }, [data, filteredTokens]);\n\n const toggleChain = (chain: { id: string; name: string }) => {\n setSelectedChains((prev) => {\n const exists = prev.some((c) => c.id === chain.id);\n return exists ? prev.filter((c) => c.id !== chain.id) : [...prev, chain];\n });\n };\n\n return {\n address,\n isConnected,\n connectors,\n connect,\n disconnect,\n selectedChains,\n toggleChain,\n balances,\n isLoading,\n refetch,\n };\n};\n","export const tokens = [\n {\n address: \"0xdac17f958d2ee523a2206206994597c13d831ec7\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 6,\n identifier: \"ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png\",\n ticker: \"USDT\",\n },\n {\n address: \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 6,\n identifier: \"ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png\",\n ticker: \"USDC\",\n },\n {\n address: \"0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b\",\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 18,\n identifier: \"ETH.DPI-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.dpi-0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png\",\n ticker: \"DPI\",\n },\n {\n address: \"0x912ce59144191c1204e64559fe8253a0e49e6548\",\n chain: \"ARB\",\n chainId: \"42161\",\n decimals: 18,\n identifier: \"ARB.ARB-0x912ce59144191c1204e64559fe8253a0e49e6548\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/arb.arb-0x912ce59144191c1204e64559fe8253a0e49e6548.png\",\n ticker: \"ARB\",\n },\n {\n address: \"0x55d398326f99059ff775485246999027b3197955\",\n chain: \"BSC\",\n chainId: \"56\",\n decimals: 18,\n identifier: \"BSC.USDT-0x55d398326f99059ff775485246999027b3197955\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/bsc.usdt-0x55d398326f99059ff775485246999027b3197955.png\",\n ticker: \"USDT\",\n },\n {\n chain: \"ETH\",\n chainId: \"1\",\n decimals: 18,\n identifier: \"ETH.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png\",\n ticker: \"ETH\",\n },\n {\n chain: \"BASE\",\n chainId: \"8453\",\n decimals: 18,\n identifier: \"BASE.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/base.eth.png\",\n ticker: \"ETH\",\n },\n {\n chain: \"ARB\",\n chainId: \"42161\",\n decimals: 18,\n identifier: \"ARB.ETH\",\n logoURI:\n \"https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png\",\n ticker: \"ETH\",\n },\n ];\n "],"mappings":"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","names":["useMemo","createConfig","http","WagmiProvider","mainnet","base","bsc","arbitrum","injected","QueryClient","QueryClientProvider","jsx","queryClient","WalletToolkitProvider","children","config","useState","useMemo","useConnect","useAccount","useDisconnect","useReadContracts","erc20Abi","tokens","MULTICALL3_ADDRESS","availableChains","useWalletWrapper","selectedChains","setSelectedChains","useState","isConnected","address","useAccount","connect","connectors","useConnect","disconnect","useDisconnect","filteredTokens","useMemo","tokens","token","chain","contracts","erc20Abi","data","isLoading","refetch","useReadContracts","balances","res","index","tokenInfo","balance","formatted","prev","c"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salehhoseyni/wallet-logic-wrapper",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "A logic wrapper for Wagmi and ERC20 balances",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -18,6 +18,7 @@
18
18
  "react-dom": ">=18"
19
19
  },
20
20
  "dependencies": {
21
+ "@salehhoseyni/wallet-logic-wrapper": "^1.0.2",
21
22
  "@tanstack/react-query": "^5.x",
22
23
  "tsup": "^8.5.1",
23
24
  "viem": "^2.x",