@salehhoseyni/wallet-logic-wrapper 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ var b=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var D=(s,e)=>{for(var a in e)b(s,a,{get:e[a],enumerable:!0})},E=(s,e,a,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of N(e))!S.call(s,r)&&r!==a&&b(s,r,{get:()=>e[r],enumerable:!(u=L(e,r))||u.enumerable});return s};var M=s=>E(b({},"__esModule",{value:!0}),s);var T={};D(T,{useWalletWrapper:()=>R});module.exports=M(T);var o=require("react"),c=require("wagmi"),p=require("viem"),w="0xca11bde05977b3631167028862be2a173976ca11",R=(s,e)=>{let[a,u]=(0,o.useState)(e),{isConnected:r,address:d}=(0,c.useAccount)(),{connect:h,connectors:C}=(0,c.useConnect)(),{disconnect:y}=(0,c.useDisconnect)(),l=(0,o.useMemo)(()=>s.filter(t=>a.some(n=>n.id===t.chainId)),[s,a]),g=(0,o.useMemo)(()=>d?l.map(t=>{let n=!t.address||t.address==="";return{address:n?w:t.address,abi:n?[{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"}]:p.erc20Abi,functionName:n?"getEthBalance":"balanceOf",args:[d],chainId:Number(t.chainId)}}):[],[l,d]),{data:m,isLoading:x,refetch:I}=(0,c.useReadContracts)({contracts:g,query:{enabled:!!d&&g.length>0}}),B=(0,o.useMemo)(()=>m?m.map((t,n)=>{let f=l[n],i=t.status==="success"?t.result:BigInt(0),A=(Number(i)/10**f.decimals).toFixed(7);return{...f,rawBalance:i,formattedBalance:A,status:t.status}}):[],[m,l]);return{address:d,isConnected:r,connectors:C,connect:h,disconnect:y,selectedChains:a,toggleChain:t=>{u(n=>n.some(i=>i.id===t.id)?n.filter(i=>i.id!==t.id):[...n,t])},balances:B,isLoading:x,refetch:I}};0&&(module.exports={useWalletWrapper});
package/dist/index.mjs ADDED
@@ -0,0 +1 @@
1
+ import{useState as I,useMemo as o}from"react";import{useConnect as B,useAccount as A,useDisconnect as L,useReadContracts as N}from"wagmi";import{erc20Abi as S}from"viem";var D="0xca11bde05977b3631167028862be2a173976ca11",T=(d,l)=>{let[c,m]=I(l),{isConnected:f,address:s}=A(),{connect:b,connectors:g}=B(),{disconnect:p}=L(),a=o(()=>d.filter(t=>c.some(e=>e.id===t.chainId)),[d,c]),u=o(()=>s?a.map(t=>{let e=!t.address||t.address==="";return{address:e?D:t.address,abi:e?[{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"}]:S,functionName:e?"getEthBalance":"balanceOf",args:[s],chainId:Number(t.chainId)}}):[],[a,s]),{data:r,isLoading:h,refetch:C}=N({contracts:u,query:{enabled:!!s&&u.length>0}}),y=o(()=>r?r.map((t,e)=>{let i=a[e],n=t.status==="success"?t.result:BigInt(0),x=(Number(n)/10**i.decimals).toFixed(7);return{...i,rawBalance:n,formattedBalance:x,status:t.status}}):[],[r,a]);return{address:s,isConnected:f,connectors:g,connect:b,disconnect:p,selectedChains:c,toggleChain:t=>{m(e=>e.some(n=>n.id===t.id)?e.filter(n=>n.id!==t.id):[...e,t])},balances:y,isLoading:h,refetch:C}};export{T as useWalletWrapper};
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@salehhoseyni/wallet-logic-wrapper",
3
+ "version": "1.0.0",
4
+ "description": "A logic wrapper for Wagmi and ERC20 balances",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "files": ["dist"],
9
+ "scripts": {
10
+ "build": "tsup src/index.ts --format cjs,esm --dts --minify --clean",
11
+ "dev": "tsup src/index.ts --format cjs,esm --watch --dts",
12
+ "lint": "tsc"
13
+ },
14
+ "peerDependencies": {
15
+ "react": ">=18",
16
+ "wagmi": ">=2",
17
+ "viem": ">=2"
18
+ }
19
+ }