@salehhoseyni/wallet-logic-wrapper 1.0.0 → 1.0.2
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 +72 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -0
- package/package.json +17 -6
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as _wagmi_core from '@wagmi/core';
|
|
4
|
+
import * as _tanstack_query_core from '@tanstack/query-core';
|
|
5
|
+
import * as wagmi_query from 'wagmi/query';
|
|
6
|
+
import * as wagmi from 'wagmi';
|
|
7
|
+
|
|
8
|
+
interface WalletToolkitProviderProps {
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare const WalletToolkitProvider: ({ children, }: WalletToolkitProviderProps) => react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
interface Token {
|
|
14
|
+
chainId: string;
|
|
15
|
+
address: string;
|
|
16
|
+
ticker: string;
|
|
17
|
+
decimals: number;
|
|
18
|
+
}
|
|
19
|
+
interface Chain {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
}
|
|
23
|
+
declare const useWalletWrapper: () => {
|
|
24
|
+
address: `0x${string}` | undefined;
|
|
25
|
+
isConnected: boolean;
|
|
26
|
+
connectors: readonly wagmi.Connector<wagmi.CreateConnectorFn>[];
|
|
27
|
+
connect: wagmi_query.ConnectMutate<wagmi.Config, unknown>;
|
|
28
|
+
disconnect: wagmi_query.DisconnectMutate<unknown>;
|
|
29
|
+
selectedChains: {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
}[];
|
|
33
|
+
toggleChain: (chain: {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
}) => void;
|
|
37
|
+
balances: ({
|
|
38
|
+
rawBalance: bigint;
|
|
39
|
+
formattedBalance: string;
|
|
40
|
+
status: "success" | "failure";
|
|
41
|
+
address: string;
|
|
42
|
+
chain: string;
|
|
43
|
+
chainId: string;
|
|
44
|
+
decimals: number;
|
|
45
|
+
identifier: string;
|
|
46
|
+
logoURI: string;
|
|
47
|
+
ticker: string;
|
|
48
|
+
} | {
|
|
49
|
+
rawBalance: bigint;
|
|
50
|
+
formattedBalance: string;
|
|
51
|
+
status: "success" | "failure";
|
|
52
|
+
chain: string;
|
|
53
|
+
chainId: string;
|
|
54
|
+
decimals: number;
|
|
55
|
+
identifier: string;
|
|
56
|
+
logoURI: string;
|
|
57
|
+
ticker: string;
|
|
58
|
+
address?: undefined;
|
|
59
|
+
})[];
|
|
60
|
+
isLoading: boolean;
|
|
61
|
+
refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<({
|
|
62
|
+
error?: undefined;
|
|
63
|
+
result: string | number | bigint;
|
|
64
|
+
status: "success";
|
|
65
|
+
} | {
|
|
66
|
+
error: Error;
|
|
67
|
+
result?: undefined;
|
|
68
|
+
status: "failure";
|
|
69
|
+
})[], _wagmi_core.ReadContractsErrorType>>;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export { type Chain, type Token, WalletToolkitProvider, useWalletWrapper };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as _wagmi_core from '@wagmi/core';
|
|
4
|
+
import * as _tanstack_query_core from '@tanstack/query-core';
|
|
5
|
+
import * as wagmi_query from 'wagmi/query';
|
|
6
|
+
import * as wagmi from 'wagmi';
|
|
7
|
+
|
|
8
|
+
interface WalletToolkitProviderProps {
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare const WalletToolkitProvider: ({ children, }: WalletToolkitProviderProps) => react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
interface Token {
|
|
14
|
+
chainId: string;
|
|
15
|
+
address: string;
|
|
16
|
+
ticker: string;
|
|
17
|
+
decimals: number;
|
|
18
|
+
}
|
|
19
|
+
interface Chain {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
}
|
|
23
|
+
declare const useWalletWrapper: () => {
|
|
24
|
+
address: `0x${string}` | undefined;
|
|
25
|
+
isConnected: boolean;
|
|
26
|
+
connectors: readonly wagmi.Connector<wagmi.CreateConnectorFn>[];
|
|
27
|
+
connect: wagmi_query.ConnectMutate<wagmi.Config, unknown>;
|
|
28
|
+
disconnect: wagmi_query.DisconnectMutate<unknown>;
|
|
29
|
+
selectedChains: {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
}[];
|
|
33
|
+
toggleChain: (chain: {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
}) => void;
|
|
37
|
+
balances: ({
|
|
38
|
+
rawBalance: bigint;
|
|
39
|
+
formattedBalance: string;
|
|
40
|
+
status: "success" | "failure";
|
|
41
|
+
address: string;
|
|
42
|
+
chain: string;
|
|
43
|
+
chainId: string;
|
|
44
|
+
decimals: number;
|
|
45
|
+
identifier: string;
|
|
46
|
+
logoURI: string;
|
|
47
|
+
ticker: string;
|
|
48
|
+
} | {
|
|
49
|
+
rawBalance: bigint;
|
|
50
|
+
formattedBalance: string;
|
|
51
|
+
status: "success" | "failure";
|
|
52
|
+
chain: string;
|
|
53
|
+
chainId: string;
|
|
54
|
+
decimals: number;
|
|
55
|
+
identifier: string;
|
|
56
|
+
logoURI: string;
|
|
57
|
+
ticker: string;
|
|
58
|
+
address?: undefined;
|
|
59
|
+
})[];
|
|
60
|
+
isLoading: boolean;
|
|
61
|
+
refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<({
|
|
62
|
+
error?: undefined;
|
|
63
|
+
result: string | number | bigint;
|
|
64
|
+
status: "success";
|
|
65
|
+
} | {
|
|
66
|
+
error: Error;
|
|
67
|
+
result?: undefined;
|
|
68
|
+
status: "failure";
|
|
69
|
+
})[], _wagmi_core.ReadContractsErrorType>>;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export { type Chain, type Token, WalletToolkitProvider, useWalletWrapper };
|
package/dist/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
"use strict";var h=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var y=(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))!P.call(i,s)&&s!==r&&h(i,s,{get:()=>e[s],enumerable:!(m=w(e,s))||m.enumerable});return i};var N=i=>v(h({},"__esModule",{value:!0}),i);var q={};y(q,{WalletToolkitProvider:()=>L,useWalletWrapper:()=>Q});module.exports=N(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=({children: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"),c=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,c.useAccount)(),{connect:E,connectors:R}=(0,c.useConnect)(),{disconnect:B}=(0,c.useDisconnect)(),p=(0,g.useMemo)(()=>k.filter(t=>e.some(o=>o.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,c.useReadContracts)({contracts:x,query:{enabled:!!s&&x.length>0}}),H=(0,g.useMemo)(()=>b?b.map((t,o)=>{let f=p[o],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(o=>o.some(d=>d.id===t.id)?o.filter(d=>d.id!==t.id):[...o,t])},balances:H,isLoading:S,refetch:U}};0&&(module.exports={WalletToolkitProvider,useWalletWrapper});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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\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}\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":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,2BAAAE,EAAA,qBAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAA0C,iBAC1CC,EAAkD,iBAClDC,EAA6C,wBAC7CC,EAAyB,4BACzBC,EAAiD,iCAyB3CC,EAAA,6BApBAC,EAAc,IAAI,cAEXC,EAAwB,CAAC,CACpC,SAAAC,CACF,IAAkC,CAChC,IAAMC,KAAS,WAAQ,OACd,gBAAa,CAClB,OAAQ,CAAC,UAAS,OAAM,MAAK,UAAQ,EACrC,WAAY,IAAC,YAAS,CAAC,EACvB,WAAY,CACV,CAAC,UAAQ,EAAE,KAAG,QAAK,EACnB,CAAC,OAAK,EAAE,KAAG,QAAK,EAChB,CAAC,MAAI,EAAE,KAAG,QAAK,EACf,CAAC,WAAS,EAAE,KAAG,QAAK,CACtB,CACF,CAAC,EACA,CAAC,CAAC,EAEL,SACE,OAAC,iBAAc,OAAQA,EACrB,mBAAC,uBAAoB,OAAQH,EAAc,SAAAE,EAAS,EACtD,CAEJ,EChCA,IAAAE,EAAkC,iBAClCC,EAAwE,iBACxEC,EAAyB,gBCFlB,IAAMC,EAAS,CAClB,CACE,QAAS,6CACT,MAAO,MACP,QAAS,IACT,SAAU,EACV,WAAY,sDACZ,QACE,mHACF,OAAQ,MACV,EACA,CACE,QAAS,6CACT,MAAO,MACP,QAAS,IACT,SAAU,EACV,WAAY,sDACZ,QACE,mHACF,OAAQ,MACV,EACA,CACE,QAAS,6CACT,MAAO,MACP,QAAS,IACT,SAAU,GACV,WAAY,qDACZ,QACE,kHACF,OAAQ,KACV,EACA,CACE,QAAS,6CACT,MAAO,MACP,QAAS,QACT,SAAU,GACV,WAAY,qDACZ,QACE,kHACF,OAAQ,KACV,EACA,CACE,QAAS,6CACT,MAAO,MACP,QAAS,KACT,SAAU,GACV,WAAY,sDACZ,QACE,mHACF,OAAQ,MACV,EACA,CACE,MAAO,MACP,QAAS,IACT,SAAU,GACV,WAAY,UACZ,QACE,uEACF,OAAQ,KACV,EACA,CACE,MAAO,OACP,QAAS,OACT,SAAU,GACV,WAAY,WACZ,QACE,wEACF,OAAQ,KACV,EACA,CACE,MAAO,MACP,QAAS,QACT,SAAU,GACV,WAAY,UACZ,QACE,uEACF,OAAQ,KACV,CACF,EDzEF,IAAMC,EAAqB,6CAYdC,EAAmB,IAAM,CACpC,IAAMC,EAAkB,CACtB,CAAE,GAAI,IAAK,KAAM,UAAW,EAC5B,CAAE,GAAI,OAAQ,KAAM,MAAO,EAC3B,CAAE,GAAI,QAAS,KAAM,UAAW,EAChC,CAAE,GAAI,KAAM,KAAM,KAAM,CAC1B,EAEM,CAACC,EAAgBC,CAAiB,KAAI,YAASF,CAAe,EAE9D,CAAE,YAAAG,EAAa,QAAAC,CAAQ,KAAI,cAAW,EACtC,CAAE,QAAAC,EAAS,WAAAC,CAAW,KAAI,cAAW,EACrC,CAAE,WAAAC,CAAW,KAAI,iBAAc,EAE/BC,KAAiB,WAAQ,IACtBC,EAAO,OAAQC,GACpBT,EAAe,KAAMU,GAAUA,EAAM,KAAOD,EAAM,OAAO,CAC3D,EACC,CAACD,EAAQR,CAAc,CAAC,EAErBW,EAAYJ,EAAe,IAAKE,GACnB,CAACA,EAAM,SAAWA,EAAM,UAAY,GAG5C,CACL,QAASZ,EACT,IAAK,CACH,CACE,OAAQ,CAAC,CAAE,KAAM,OAAQ,KAAM,SAAU,CAAC,EAC1C,KAAM,gBACN,QAAS,CAAC,CAAE,KAAM,UAAW,KAAM,SAAU,CAAC,EAC9C,gBAAiB,OACjB,KAAM,UACR,CACF,EACA,aAAc,gBACd,KAAM,CAACM,CAAO,EACd,QAAS,OAAOM,EAAM,OAAO,CAC/B,EAEO,CACL,QAASA,EAAM,QACf,IAAK,WACL,aAAc,YACd,KAAM,CAACN,CAAO,EACd,QAAS,OAAOM,EAAM,OAAO,CAC/B,CAEH,EAEK,CAAE,KAAAG,EAAM,UAAAC,EAAW,QAAAC,CAAQ,KAAI,oBAAiB,CACpD,UAAAH,EACA,MAAO,CACL,QAAS,CAAC,CAACR,GAAWQ,EAAU,OAAS,CAC3C,CACF,CAAC,EAEKI,KAAW,WAAQ,IAClBH,EACEA,EAAK,IAAI,CAACI,EAAKC,IAAU,CAC9B,IAAMC,EAAYX,EAAeU,CAAK,EAChCE,EACJH,EAAI,SAAW,UAAaA,EAAI,OAAoB,OAAO,CAAC,EACxDI,GAAa,OAAOD,CAAO,EAAI,IAAMD,EAAU,UAAU,QAAQ,CAAC,EAExE,MAAO,CACL,GAAGA,EACH,WAAYC,EACZ,iBAAkBC,EAClB,OAAQJ,EAAI,MACd,CACF,CAAC,EAbiB,CAAC,EAclB,CAACJ,EAAML,CAAc,CAAC,EASzB,MAAO,CACL,QAAAJ,EACA,YAAAD,EACA,WAAAG,EACA,QAAAD,EACA,WAAAE,EACA,eAAAN,EACA,YAdmBU,GAAwC,CAC3DT,EAAmBoB,GACFA,EAAK,KAAMC,GAAMA,EAAE,KAAOZ,EAAM,EAAE,EACjCW,EAAK,OAAQC,GAAMA,EAAE,KAAOZ,EAAM,EAAE,EAAI,CAAC,GAAGW,EAAMX,CAAK,CACxE,CACH,EAUE,SAAAK,EACA,UAAAF,EACA,QAAAC,CACF,CACF","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"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{useState as
|
|
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 P}from"@tanstack/react-query";import{jsx as h}from"react/jsx-runtime";var y=new D,K=({children:o})=>{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(P,{client:y,children:o})})};import{useState as v,useMemo as u}from"react";import{useConnect as N,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 o=[{id:"1",name:"Ethereum"},{id:"8453",name:"Base"},{id:"42161",name:"Arbitrum"},{id:"56",name:"BSC"}],[i,k]=v(o),{isConnected:x,address:s}=W(),{connect:I,connectors:T}=N(),{disconnect:C}=L(),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: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=c[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,c]);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};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +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\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}\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":"AAAA,OAA2B,WAAAA,MAAe,QAC1C,OAAS,gBAAAC,EAAc,QAAAC,EAAM,iBAAAC,MAAqB,QAClD,OAAS,WAAAC,EAAS,QAAAC,EAAM,OAAAC,EAAK,YAAAC,MAAgB,eAC7C,OAAS,YAAAC,MAAgB,mBACzB,OAAS,eAAAC,EAAa,uBAAAC,MAA2B,wBAyB3C,cAAAC,MAAA,oBApBN,IAAMC,EAAc,IAAIH,EAEXI,EAAwB,CAAC,CACpC,SAAAC,CACF,IAAkC,CAChC,IAAMC,EAASf,EAAQ,IACdC,EAAa,CAClB,OAAQ,CAACG,EAASC,EAAMC,EAAKC,CAAQ,EACrC,WAAY,CAACC,EAAS,CAAC,EACvB,WAAY,CACV,CAACJ,EAAQ,EAAE,EAAGF,EAAK,EACnB,CAACG,EAAK,EAAE,EAAGH,EAAK,EAChB,CAACI,EAAI,EAAE,EAAGJ,EAAK,EACf,CAACK,EAAS,EAAE,EAAGL,EAAK,CACtB,CACF,CAAC,EACA,CAAC,CAAC,EAEL,OACES,EAACR,EAAA,CAAc,OAAQY,EACrB,SAAAJ,EAACD,EAAA,CAAoB,OAAQE,EAAc,SAAAE,EAAS,EACtD,CAEJ,EChCA,OAAS,YAAAE,EAAU,WAAAC,MAAe,QAClC,OAAS,cAAAC,EAAY,cAAAC,EAAY,iBAAAC,EAAe,oBAAAC,MAAwB,QACxE,OAAS,YAAAC,MAAgB,OCFlB,IAAMC,EAAS,CAClB,CACE,QAAS,6CACT,MAAO,MACP,QAAS,IACT,SAAU,EACV,WAAY,sDACZ,QACE,mHACF,OAAQ,MACV,EACA,CACE,QAAS,6CACT,MAAO,MACP,QAAS,IACT,SAAU,EACV,WAAY,sDACZ,QACE,mHACF,OAAQ,MACV,EACA,CACE,QAAS,6CACT,MAAO,MACP,QAAS,IACT,SAAU,GACV,WAAY,qDACZ,QACE,kHACF,OAAQ,KACV,EACA,CACE,QAAS,6CACT,MAAO,MACP,QAAS,QACT,SAAU,GACV,WAAY,qDACZ,QACE,kHACF,OAAQ,KACV,EACA,CACE,QAAS,6CACT,MAAO,MACP,QAAS,KACT,SAAU,GACV,WAAY,sDACZ,QACE,mHACF,OAAQ,MACV,EACA,CACE,MAAO,MACP,QAAS,IACT,SAAU,GACV,WAAY,UACZ,QACE,uEACF,OAAQ,KACV,EACA,CACE,MAAO,OACP,QAAS,OACT,SAAU,GACV,WAAY,WACZ,QACE,wEACF,OAAQ,KACV,EACA,CACE,MAAO,MACP,QAAS,QACT,SAAU,GACV,WAAY,UACZ,QACE,uEACF,OAAQ,KACV,CACF,EDzEF,IAAMC,EAAqB,6CAYdC,GAAmB,IAAM,CACpC,IAAMC,EAAkB,CACtB,CAAE,GAAI,IAAK,KAAM,UAAW,EAC5B,CAAE,GAAI,OAAQ,KAAM,MAAO,EAC3B,CAAE,GAAI,QAAS,KAAM,UAAW,EAChC,CAAE,GAAI,KAAM,KAAM,KAAM,CAC1B,EAEM,CAACC,EAAgBC,CAAiB,EAAIC,EAASH,CAAe,EAE9D,CAAE,YAAAI,EAAa,QAAAC,CAAQ,EAAIC,EAAW,EACtC,CAAE,QAAAC,EAAS,WAAAC,CAAW,EAAIC,EAAW,EACrC,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAiBC,EAAQ,IACtBC,EAAO,OAAQC,GACpBd,EAAe,KAAMe,GAAUA,EAAM,KAAOD,EAAM,OAAO,CAC3D,EACC,CAACD,EAAQb,CAAc,CAAC,EAErBgB,EAAYL,EAAe,IAAKG,GACnB,CAACA,EAAM,SAAWA,EAAM,UAAY,GAG5C,CACL,QAASjB,EACT,IAAK,CACH,CACE,OAAQ,CAAC,CAAE,KAAM,OAAQ,KAAM,SAAU,CAAC,EAC1C,KAAM,gBACN,QAAS,CAAC,CAAE,KAAM,UAAW,KAAM,SAAU,CAAC,EAC9C,gBAAiB,OACjB,KAAM,UACR,CACF,EACA,aAAc,gBACd,KAAM,CAACO,CAAO,EACd,QAAS,OAAOU,EAAM,OAAO,CAC/B,EAEO,CACL,QAASA,EAAM,QACf,IAAKG,EACL,aAAc,YACd,KAAM,CAACb,CAAO,EACd,QAAS,OAAOU,EAAM,OAAO,CAC/B,CAEH,EAEK,CAAE,KAAAI,EAAM,UAAAC,EAAW,QAAAC,CAAQ,EAAIC,EAAiB,CACpD,UAAAL,EACA,MAAO,CACL,QAAS,CAAC,CAACZ,GAAWY,EAAU,OAAS,CAC3C,CACF,CAAC,EAEKM,EAAWV,EAAQ,IAClBM,EACEA,EAAK,IAAI,CAACK,EAAKC,IAAU,CAC9B,IAAMC,EAAYd,EAAea,CAAK,EAChCE,EACJH,EAAI,SAAW,UAAaA,EAAI,OAAoB,OAAO,CAAC,EACxDI,GAAa,OAAOD,CAAO,EAAI,IAAMD,EAAU,UAAU,QAAQ,CAAC,EAExE,MAAO,CACL,GAAGA,EACH,WAAYC,EACZ,iBAAkBC,EAClB,OAAQJ,EAAI,MACd,CACF,CAAC,EAbiB,CAAC,EAclB,CAACL,EAAMP,CAAc,CAAC,EASzB,MAAO,CACL,QAAAP,EACA,YAAAD,EACA,WAAAI,EACA,QAAAD,EACA,WAAAG,EACA,eAAAT,EACA,YAdmBe,GAAwC,CAC3Dd,EAAmB2B,GACFA,EAAK,KAAMC,GAAMA,EAAE,KAAOd,EAAM,EAAE,EACjCa,EAAK,OAAQC,GAAMA,EAAE,KAAOd,EAAM,EAAE,EAAI,CAAC,GAAGa,EAAMb,CAAK,CACxE,CACH,EAUE,SAAAO,EACA,UAAAH,EACA,QAAAC,CACF,CACF","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"]}
|
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@salehhoseyni/wallet-logic-wrapper",
|
|
3
|
-
"version": "1.0.
|
|
2
|
+
"name": "@salehhoseyni/wallet-logic-wrapper",
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "A logic wrapper for Wagmi and ERC20 balances",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
-
"files": [
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
9
11
|
"scripts": {
|
|
10
12
|
"build": "tsup src/index.ts --format cjs,esm --dts --minify --clean",
|
|
11
13
|
"dev": "tsup src/index.ts --format cjs,esm --watch --dts",
|
|
@@ -13,7 +15,16 @@
|
|
|
13
15
|
},
|
|
14
16
|
"peerDependencies": {
|
|
15
17
|
"react": ">=18",
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
+
"react-dom": ">=18"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@tanstack/react-query": "^5.x",
|
|
22
|
+
"tsup": "^8.5.1",
|
|
23
|
+
"viem": "^2.x",
|
|
24
|
+
"wagmi": "^2.x"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/react": "^19.2.7",
|
|
28
|
+
"@types/react-dom": "^19.2.3"
|
|
18
29
|
}
|
|
19
|
-
}
|
|
30
|
+
}
|