@swapkit/toolboxes 4.3.4 → 4.3.6

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.
@@ -1,4 +1,4 @@
1
- var ln=Object.create;var{getPrototypeOf:en,defineProperty:S,getOwnPropertyNames:$t,getOwnPropertyDescriptor:on}=Object,Qt=Object.prototype.hasOwnProperty;var Z=(t,y,n)=>{n=t!=null?ln(en(t)):{};let u=y||!t||!t.__esModule?S(n,"default",{value:t,enumerable:!0}):n;for(let l of $t(t))if(!Qt.call(u,l))S(u,l,{get:()=>t[l],enumerable:!0});return u},Yt=new WeakMap,an=(t)=>{var y=Yt.get(t),n;if(y)return y;if(y=S({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function")$t(t).map((u)=>!Qt.call(y,u)&&S(y,u,{get:()=>t[u],enumerable:!(n=on(t,u))||n.enumerable}));return Yt.set(t,y),y};var Zt=(t,y)=>{for(var n in y)S(t,n,{get:y[n],enumerable:!0,configurable:!0,set:(u)=>y[n]=()=>u})};var N=(t,y)=>()=>(t&&(y=t(t=0)),y);function $n(){function t(){let y=Date.now(),n=Dt||y;return Dt=n,y>Dt?y:n+1}return pn+t().toString(36)}function Ct(t){return async function(n,u=!0){let l=await xt.SwapKitApi.getChainBalance({address:n,chain:t,scamFilter:u}),{baseDecimal:o}=O.getChainConfig(t);return l.map(({identifier:a,value:m,decimal:p})=>{return new O.AssetValue({decimal:p||o,identifier:a,value:m})})}}var O,xt,pn,Dt=0;var it=N(()=>{O=require("@swapkit/helpers"),xt=require("@swapkit/helpers/api"),pn=typeof process<"u"&&process.pid?process.pid.toString(36):""});function V(t){return{getBalance:Ct(t)}}function mn(t){return t}var P=N(()=>{it()});async function Y(t,y){let{JsonRpcProvider:n}=await import("ethers");return new n(y||await M.getRPCUrl(t))}function _(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function Ut(t){let{explorerUrl:y,chainId:n,rpcUrls:u}=M.getChainConfig(t);return()=>t===M.Chain.Ethereum?void 0:{...Tn({chain:t}),blockExplorerUrls:[y],chainId:n,rpcUrls:u}}function Lt(t){return![M.Chain.Arbitrum,M.Chain.BinanceSmartChain].includes(t)}function Tn({chain:t}){let{name:y,nativeCurrency:n,baseDecimal:u}=M.getChainConfig(t);return Et.match(t).with(M.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:u,name:"Avalanche",symbol:t}})).with(M.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:u,name:"Berachain",symbol:"BERA"}})).with(M.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:u,name:"OKB",symbol:"OKB"}})).with(M.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:u,name:"Binance Coin",symbol:"BNB"}})).with(M.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:u,name:"xDAI",symbol:"XDAI"}})).with(M.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:u,name:"Polygon",symbol:M.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:u,name:n,symbol:n}}))}var M,Et;var x=N(()=>{M=require("@swapkit/helpers"),Et=require("ts-pattern")});var jt;var st=N(()=>{jt=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function i({chain:t=e.Chain.Ethereum,provider:y,signer:n,isEIP1559Compatible:u=!0}){return{approve:Rn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),approvedAmount:ht({chain:t,provider:y}),broadcastTransaction:y.broadcastTransaction,call:kt({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),createApprovalTx:Un({chain:t,provider:y,signer:n}),createContract:qt({chain:t,provider:y}),createContractTxObject:$({chain:t,provider:y}),createTransaction:Gt({chain:t,provider:y,signer:n}),createTransferTx:Gt({chain:t,provider:y,signer:n}),EIP1193SendTransaction:j(y),estimateCall:Kt({provider:y,signer:n}),estimateGasLimit:fn({chain:t,provider:y,signer:n}),estimateGasPrices:Q({chain:t,isEIP1559Compatible:u,provider:y}),estimateTransactionFee:Ln({chain:t,isEIP1559Compatible:u,provider:y}),getAddress:()=>{return n?n.getAddress():void 0},isApproved:cn({chain:t,provider:y}),sendTransaction:At({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),signMessage:n?(l)=>n.signMessage(l):void 0,transfer:Bn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),validateAddress:(l)=>Ht({address:l})}}function Ht({address:t}){try{return q.getAddress(t),!0}catch{return!1}}function E(t){return t instanceof q.BrowserProvider}function K(t,y,n){return new q.Contract(t,q.Interface.from(y),n)}function qt({provider:t}){return function(n,u){return new q.Contract(n,q.Interface.from(u),t)}}function zt({abi:t,funcName:y}){let n=t.find((u)=>u.name===y);if(!n)throw new e.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return n.stateMutability&&bn.includes(n.stateMutability)}function Vt(t){return q.getAddress(t)}function j(t){return function({value:n,...u}){if(!E(t))throw new e.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:l,gasPrice:o,maxFeePerGas:a,maxPriorityFeePerGas:m,...p}=u;return t.send("eth_sendTransaction",[{...p,value:_(BigInt(n||0))}])}}function _t(t,y){let n=s(t,y);if(n)return q.getAddress(n.toLowerCase());throw new e.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function s({chain:t,symbol:y,ticker:n},u){try{let l=t===e.Chain.BinanceSmartChain&&y==="BNB"&&n==="BNB",o=t===u&&y===u&&n===u,a=Mn.includes(t)&&y==="ETH"&&n==="ETH";if(o||l||a)return Jt[u];return q.getAddress(y.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function $({provider:t}){return async({contractAddress:y,abi:n,funcName:u,funcParams:l=[],txOverrides:o})=>K(y,n,t).getFunction(u).populateTransaction(...l.concat(o).filter((a)=>typeof a<"u"))}function Q({chain:t,provider:y,isEIP1559Compatible:n=!0}){return St.match(t).with(e.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:l,maxPriorityFeePerGas:o}=await y.getFeeData();if(!l||o===null)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Average),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Average)},[e.FeeOption.Fast]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fast),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fastest),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fastest)}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).with(e.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:l}=await y.getFeeData();if(!l)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{gasPrice:l},[e.FeeOption.Fast]:{gasPrice:l},[e.FeeOption.Fastest]:{gasPrice:l}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:l,maxPriorityFeePerGas:o,gasPrice:a}=await y.getFeeData();if(n){if(l===null||o===null)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{maxFeePerGas:l,maxPriorityFeePerGas:o},[e.FeeOption.Fast]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fast),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fastest),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fastest)}}}if(!a)throw new e.SwapKitError("toolbox_evm_no_gas_price");return{[e.FeeOption.Average]:{gasPrice:a},[e.FeeOption.Fast]:{gasPrice:e.applyFeeMultiplierToBigInt(a,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{gasPrice:e.applyFeeMultiplierToBigInt(a,e.FeeOption.Fastest)}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}})}function kt({provider:t,isEIP1559Compatible:y,signer:n,chain:u}){return async function({callProvider:o,contractAddress:a,abi:m,funcName:p,funcParams:R=[],txOverrides:w={},feeOption:L=e.FeeOption.Fast}){let b=o||t;if(!a)throw new e.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let f=zt({abi:m,funcName:p});if(f&&E(b)&&n){let z=$({chain:u,provider:b}),J=w?.from||await n?.getAddress(),k=await z({abi:m,contractAddress:a,funcName:p,funcParams:R,txOverrides:{...w,from:J}});return j(b)(k)}let U=K(a,m,b);if(f){if(!n)throw new e.SwapKitError("toolbox_evm_no_signer");let z=w?.from||await n.getAddress();if(!z)throw new e.SwapKitError("toolbox_evm_no_signer_address");let J=U.connect(n),k=Q({chain:u,isEIP1559Compatible:y,provider:t}),{maxFeePerGas:W,maxPriorityFeePerGas:H,gasPrice:X}=(await k())[L],g=await U.getFunction(p).estimateGas(...R,w),ft=await J[p](...R,{...w,gasLimit:g,gasPrice:X,maxFeePerGas:W,maxPriorityFeePerGas:H,nonce:w?.nonce||await b.getTransactionCount(z)});return typeof ft?.hash==="string"?ft?.hash:ft}let G=await U[p]?.(...R);return typeof G?.hash==="string"?G?.hash:G}}function ht({provider:t,chain:y}){return function({assetAddress:u,spenderAddress:l,from:o}){return kt({chain:y,isEIP1559Compatible:!0,provider:t})({abi:C.erc20ABI,contractAddress:u,funcName:"allowance",funcParams:[o,l]})}}function cn({provider:t,chain:y}){return async function({assetAddress:u,spenderAddress:l,from:o,amount:a=h}){let m=await ht({chain:y,provider:t})({assetAddress:u,from:o,spenderAddress:l});return e.SwapKitNumber.fromBigInt(m).gte(e.SwapKitNumber.fromBigInt(BigInt(a)))}}function Rn({signer:t,isEIP1559Compatible:y=!0,provider:n,chain:u}){return async function({assetAddress:o,spenderAddress:a,feeOptionKey:m=e.FeeOption.Fast,amount:p,gasLimitFallback:R,from:w,nonce:L}){let b=[a,BigInt(p||h)],f=await t?.getAddress()||w,U={abi:C.erc20ABI,contractAddress:o,funcName:"approve",funcParams:b,signer:t,txOverrides:{from:f}};if(E(n)){let z=$({chain:u,provider:n}),J=j(n),k=await z(U);return J(k)}return kt({chain:u,isEIP1559Compatible:y,provider:n,signer:t})({...U,feeOption:m,funcParams:b,txOverrides:{from:f,gasLimit:R?BigInt(R.toString()):void 0,nonce:L}})}}function Bn({signer:t,isEIP1559Compatible:y=!0,provider:n}){return async function({assetValue:l,memo:o,recipient:a,feeOptionKey:m=e.FeeOption.Fast,sender:p,...R}){let{hexlify:w,toUtf8Bytes:L}=await import("ethers"),b=l.getBaseValue("bigint"),f=l.chain,U=p||await t?.getAddress(),G=At({chain:f,isEIP1559Compatible:y,provider:n,signer:t});if(!U)throw new e.SwapKitError("toolbox_evm_no_from_address");if(l.isGasAsset){let X={...R,data:w(L(o||"")),feeOptionKey:m,from:U,to:a,value:b};return G(X)}if(!s(l,f))throw new e.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:J,maxPriorityFeePerGas:k,gasPrice:W}=(await Q({chain:f,isEIP1559Compatible:y,provider:n})())[m],H=await Gt({chain:f,provider:n,signer:t})({assetValue:l,data:w(L(o||"")),gasPrice:W,maxFeePerGas:J,maxPriorityFeePerGas:k,memo:o,recipient:a,sender:U});return G(H)}}function Kt({provider:t,signer:y}){return function({contractAddress:u,abi:l,funcName:o,funcParams:a=[],txOverrides:m}){if(!u)throw new e.SwapKitError("toolbox_evm_no_contract_address");let p=K(u,l,t);return y?p.connect(y).getFunction(o).estimateGas(...a,m):p.getFunction(o).estimateGas(...a,m)}}function fn({provider:t,signer:y}){return async function({assetValue:u,recipient:l,memo:o,data:a,sender:m,funcName:p,funcParams:R,txOverrides:w}){let L=u.bigIntValue,b=u.isGasAsset?null:s(u,u.chain);if(b&&p)return Kt({provider:t,signer:y})({abi:C.erc20ABI,contractAddress:b,funcName:p,funcParams:R,txOverrides:w});let{hexlify:f,toUtf8Bytes:U}=await import("ethers");return t.estimateGas({data:a?a:o?f(U(o)):void 0,from:m,to:l,value:L})}}function At({provider:t,signer:y,isEIP1559Compatible:n=!0,chain:u}){return async function({feeOptionKey:o=e.FeeOption.Fast,...a}){let{from:m,to:p,data:R,value:w,...L}=a;if(!y)throw new e.SwapKitError("toolbox_evm_no_signer");if(!p)throw new e.SwapKitError("toolbox_evm_no_to_address");let b={...L,data:R||"0x",from:m,to:p,value:BigInt(w||0)};if(E(t))return j(t)(b);let f=m||await y.getAddress(),U=a.nonce||await t.getTransactionCount(f),G=(await t.getNetwork()).chainId,z=Dn(b)||n,J=Q({chain:u,isEIP1559Compatible:n,provider:t}),k=z&&!(b.maxFeePerGas&&b.maxPriorityFeePerGas)||!b.gasPrice?Object.entries((await J())[o]).reduce((H,[X,g])=>({...H,[X]:_(BigInt(g))}),{}):{},W;try{W=_(b.gasLimit||await t.estimateGas(b)*11n/10n)}catch(H){throw new e.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:H})}try{let H={...b,chainId:G,gasLimit:W,nonce:U,type:z?2:0,...k};try{return(await y.sendTransaction(H)).hash}catch{let X=await y.signTransaction({...H,from:f});return(await t.broadcastTransaction(X)).hash}}catch(H){throw new e.SwapKitError("toolbox_evm_error_sending_transaction",{error:H})}}}function Gt({provider:t,signer:y}){return async function({assetValue:u,memo:l,recipient:o,data:a,sender:m,maxFeePerGas:p,maxPriorityFeePerGas:R,gasPrice:w,...L}){let b=u.getBaseValue("bigint"),f=u.chain,U=m||await y?.getAddress();if(!U)throw new e.SwapKitError("toolbox_evm_no_from_address");if(e.isGasAsset(u)){let{hexlify:J,toUtf8Bytes:k}=await import("ethers");return{...L,data:a||J(k(l||"")),from:U,to:o,value:b}}let G=s(u,f);if(!G)throw new e.SwapKitError("toolbox_evm_no_contract_address");return $({chain:u.chain,provider:t})({abi:C.erc20ABI,contractAddress:G,funcName:"transfer",funcParams:[o,b],txOverrides:{from:U,gasPrice:w,maxFeePerGas:p,maxPriorityFeePerGas:R}})}}function Un({provider:t,signer:y,chain:n}){return async function({assetAddress:l,spenderAddress:o,amount:a,from:m}){let p=await y?.getAddress()||m,R=$({chain:n,provider:t}),w=["bigint","number"].includes(typeof a)?a:a||h;return await R({abi:C.erc20ABI,contractAddress:l,funcName:"approve",funcParams:[o,BigInt(w)],txOverrides:{from:p}})}}function Ln({provider:t,isEIP1559Compatible:y=!0}){return async function({feeOption:u=e.FeeOption.Fast,chain:l,...o}){let m=await Q({chain:l,isEIP1559Compatible:y,provider:t})(),p=await t.estimateGas(o),R=e.AssetValue.from({chain:l}),{gasPrice:w,maxFeePerGas:L,maxPriorityFeePerGas:b}=m[u];if(!y&&w)return R.set(e.SwapKitNumber.fromBigInt(w*p,R.decimal));if(L&&b){let f=(L+b)*p;return R.set(e.SwapKitNumber.fromBigInt(f,R.decimal))}throw new e.SwapKitError("toolbox_evm_no_gas_price")}}var e,C,q,St,h,bn,wn,Jt,Mn,Dn=(t)=>t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas;var v=N(()=>{x();e=require("@swapkit/helpers"),C=require("@swapkit/helpers/contracts"),q=require("ethers"),St=require("ts-pattern"),h=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");bn=["payable","nonpayable"];wn=e.EVMChains.reduce((t,y)=>{return t[y]="0x0000000000000000000000000000000000000000",t},{}),Jt={...wn,[e.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[e.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},Mn=[e.Chain.Arbitrum,e.Chain.Aurora,e.Chain.Base,e.Chain.Optimism]});async function d({provider:t,...y}){let n=await D(c.Chain.Ethereum)({provider:t,...y});async function u(l,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",a="aggregate",m=c.FeeOption.Fast){let p=await n.createContractTxObject({abi:jt,contractAddress:o,funcName:a,funcParams:[l]});return n.sendTransaction({...p,feeOptionKey:m})}return{...n,multicall:u}}function D(t){return async function({provider:n,...u}){let{HDNodeWallet:l}=await import("ethers"),o=await c.getRPCUrl(t),a=n||await Y(t,o),m=Lt(t),p=A.match(u).with({phrase:A.P.string},({phrase:w})=>l.fromPhrase(w).connect(a)).with({signer:A.P.any},({signer:w})=>w).otherwise(()=>{return});return{...i({chain:t,isEIP1559Compatible:m,provider:a,signer:p}),getBalance:V(t).getBalance,getNetworkParams:Ut(t)}}}var c,A,r,tt,nt,yt,ut,lt,Ft,et,ot,at,pt,mt,Tt,F,bt,wt,Mt,ct;var Nt=N(()=>{P();st();x();v();c=require("@swapkit/helpers"),A=require("ts-pattern");r=D(c.Chain.Arbitrum),tt=D(c.Chain.Aurora),nt=D(c.Chain.Avalanche),yt=D(c.Chain.Base),ut=D(c.Chain.Berachain),lt=D(c.Chain.BinanceSmartChain),Ft=D(c.Chain.Botanix),et=D(c.Chain.Core),ot=D(c.Chain.Corn),at=D(c.Chain.Cronos),pt=D(c.Chain.Gnosis),mt=D(c.Chain.Hyperevm),Tt=D(c.Chain.Polygon),F=D(c.Chain.Sonic),bt=D(c.Chain.Unichain),wt=D(c.Chain.XLayer),Mt=D(c.Chain.Monad),ct=D(c.Chain.MegaETH)});var It;var gt=N(()=>{It=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function Xt(t){return new Rt.Contract(Hn,It,t)}function Ot(t){return async function(){let n=Xt(t);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function Pt(t){return async function({from:n,to:u,nonce:l,...o}){let{Transaction:a}=await import("ethers");if(!u)throw new T.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return a.from({...o,authorizationList:o.authorizationList,nonce:l?l:n?await t.getTransactionCount(n):0,to:u}).serialized}}function vt(t){return async function(n){let u=Xt(t),l=await Pt(t)(n);if(u&&"getL1Fee"in u)return u.getL1Fee(l)}}function dt(t){return async function(n){let u=await t.send("eth_gasPrice",[]),l=await t.estimateGas(n);return u.mul(l)}}function qn(t){return async function(n){let u=await vt(t)(n),l=await dt(t)(n);return u.add(l)}}function zn(t){return async function(n){let u=Xt(t),l=await Pt(t)(n);if(u&&"getL1GasUsed"in u)return u.getL1GasUsed(l)}}function Jn(){let{baseDecimal:t,chainId:y,explorerUrl:n,name:u,rpcUrls:l}=T.getChainConfig(T.Chain.Optimism);return{blockExplorerUrls:[n],chainId:y,chainName:u,nativeCurrency:{decimals:t,name:"Ethereum",symbol:T.Chain.Ethereum},rpcUrls:l}}async function kn(t){try{let{maxFeePerGas:y,maxPriorityFeePerGas:n,gasPrice:u}=await t.getFeeData(),l=await Ot(t)(),o=u;if(!(y&&n))throw new T.SwapKitError("toolbox_evm_no_fee_data");return{[T.FeeOption.Average]:{gasPrice:o,l1GasPrice:l,maxFeePerGas:y,maxPriorityFeePerGas:n},[T.FeeOption.Fast]:{gasPrice:T.applyFeeMultiplierToBigInt(o,T.FeeOption.Fast),l1GasPrice:T.applyFeeMultiplierToBigInt(l||0n,T.FeeOption.Fast),maxFeePerGas:y,maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(n,T.FeeOption.Fast)},[T.FeeOption.Fastest]:{gasPrice:T.applyFeeMultiplierToBigInt(o,T.FeeOption.Fastest),l1GasPrice:T.applyFeeMultiplierToBigInt(l||0n,T.FeeOption.Fastest),maxFeePerGas:y,maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(n,T.FeeOption.Fastest)}}}catch(y){throw new T.SwapKitError("toolbox_evm_gas_estimation_error",{error:y.msg??y.toString()})}}async function Bt({provider:t,...y}){let n=T.Chain.Optimism,u=await T.getRPCUrl(n),l=t||await Y(n,u),o=I.match(y).with({phrase:I.P.string},({phrase:p})=>Rt.HDNodeWallet.fromPhrase(p).connect(l)).with({signer:I.P.any},({signer:p})=>p).otherwise(()=>{return}),a=i({provider:l,signer:o}),m=Ot(l);return{...a,estimateGasPrices:kn(l),estimateL1Gas:zn(l),estimateL1GasCost:vt(l),estimateL2GasCost:dt(l),estimateTotalGasCost:qn(l),getBalance:V(T.Chain.Optimism).getBalance,getL1GasPrice:m,getNetworkParams:Jn}}var T,Rt,I,Hn="0x420000000000000000000000000000000000000f";var Wt=N(()=>{P();gt();x();v();T=require("@swapkit/helpers"),Rt=require("ethers"),I=require("ts-pattern")});var Nn={};Zt(Nn,{toChecksumAddress:()=>Vt,isStateChangingCall:()=>zt,isBrowserProvider:()=>E,getTokenAddress:()=>s,getEvmToolbox:()=>tn,getEstimateGasPrices:()=>Q,getEIP1193SendTransaction:()=>j,getCreateContractTxObject:()=>$,getCreateContract:()=>qt,getChecksumAddressFromAsset:()=>_t,evmValidateAddress:()=>Ht,createContract:()=>K,XLayerToolbox:()=>wt,UNIToolbox:()=>bt,SONICToolbox:()=>F,OPToolbox:()=>Bt,MONADToolbox:()=>Mt,MEGAETHToolbox:()=>ct,MAX_APPROVAL:()=>h,MATICToolbox:()=>Tt,HYPEREVMToolbox:()=>mt,GNOToolbox:()=>pt,ETHToolbox:()=>d,ContractAddress:()=>Jt,CROToolbox:()=>at,CORNToolbox:()=>ot,COREToolbox:()=>et,BotanixToolbox:()=>Ft,BaseEVMToolbox:()=>i,BSCToolbox:()=>lt,BERAToolbox:()=>ut,BASEToolbox:()=>yt,AVAXToolbox:()=>nt,AURORAToolbox:()=>tt,ARBToolbox:()=>r});async function tn(t,y){let n={...y,provider:y?.provider||await Y(t)};return rt.match(t).returnType().with(B.Chain.Arbitrum,()=>r(n)).with(B.Chain.Aurora,()=>tt(n)).with(B.Chain.Avalanche,()=>nt(n)).with(B.Chain.Base,()=>yt(n)).with(B.Chain.Berachain,()=>ut(n)).with(B.Chain.BinanceSmartChain,()=>lt(n)).with(B.Chain.Botanix,()=>F(n)).with(B.Chain.Core,()=>et(n)).with(B.Chain.Corn,()=>ot(n)).with(B.Chain.Cronos,()=>at(n)).with(B.Chain.Ethereum,()=>d(n)).with(B.Chain.Gnosis,()=>pt(n)).with(B.Chain.Hyperevm,()=>mt(n)).with(B.Chain.Optimism,()=>Bt(n)).with(B.Chain.Polygon,()=>Tt(n)).with(B.Chain.Sonic,()=>F(n)).with(B.Chain.Unichain,()=>bt(n)).with(B.Chain.XLayer,()=>wt(n)).with(B.Chain.Monad,()=>Mt(n)).with(B.Chain.MegaETH,()=>ct(n)).exhaustive()}var B,rt;var nn=N(()=>{x();Nt();Wt();B=require("@swapkit/helpers"),rt=require("ts-pattern");v();Nt();Wt()});var yn;var un=N(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(yn||={})});var Xn={};Zt(Xn,{toHexString:()=>_,toChecksumAddress:()=>Vt,isStateChangingCall:()=>zt,isBrowserProvider:()=>E,getTokenAddress:()=>s,getProvider:()=>Y,getNetworkParams:()=>Ut,getIsEIP1559Compatible:()=>Lt,getEvmToolbox:()=>tn,getEvmApi:()=>V,getEstimateGasPrices:()=>Q,getEIP1193SendTransaction:()=>j,getCreateContractTxObject:()=>$,getCreateContract:()=>qt,getChecksumAddressFromAsset:()=>_t,evmValidateAddress:()=>Ht,createCustomEvmApi:()=>mn,createContract:()=>K,XLayerToolbox:()=>wt,UNIToolbox:()=>bt,SONICToolbox:()=>F,OPToolbox:()=>Bt,MONADToolbox:()=>Mt,MEGAETHToolbox:()=>ct,MAX_APPROVAL:()=>h,MATICToolbox:()=>Tt,HYPEREVMToolbox:()=>mt,GNOToolbox:()=>pt,EthNetwork:()=>yn,ETHToolbox:()=>d,ContractAddress:()=>Jt,CROToolbox:()=>at,CORNToolbox:()=>ot,COREToolbox:()=>et,BotanixToolbox:()=>Ft,BaseEVMToolbox:()=>i,BSCToolbox:()=>lt,BERAToolbox:()=>ut,BASEToolbox:()=>yt,AVAXToolbox:()=>nt,AURORAToolbox:()=>tt,ARBToolbox:()=>r});module.exports=an(Xn);var Wn=N(()=>{P();x();nn();un()});Wn();
1
+ var ln=Object.create;var{getPrototypeOf:en,defineProperty:S,getOwnPropertyNames:$t,getOwnPropertyDescriptor:on}=Object,Qt=Object.prototype.hasOwnProperty;var Z=(t,y,n)=>{n=t!=null?ln(en(t)):{};let u=y||!t||!t.__esModule?S(n,"default",{value:t,enumerable:!0}):n;for(let l of $t(t))if(!Qt.call(u,l))S(u,l,{get:()=>t[l],enumerable:!0});return u},Yt=new WeakMap,an=(t)=>{var y=Yt.get(t),n;if(y)return y;if(y=S({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function")$t(t).map((u)=>!Qt.call(y,u)&&S(y,u,{get:()=>t[u],enumerable:!(n=on(t,u))||n.enumerable}));return Yt.set(t,y),y};var Zt=(t,y)=>{for(var n in y)S(t,n,{get:y[n],enumerable:!0,configurable:!0,set:(u)=>y[n]=()=>u})};var N=(t,y)=>()=>(t&&(y=t(t=0)),y);function $n(){function t(){let y=Date.now(),n=Dt||y;return Dt=n,y>Dt?y:n+1}return pn+t().toString(36)}function it(t){return async function(n,u=!0){let l=await xt.SwapKitApi.getChainBalance({address:n,chain:t,scamFilter:u}),{baseDecimal:o}=O.getChainConfig(t);return l.map(({identifier:a,value:m,decimal:p})=>{return new O.AssetValue({decimal:p||o,identifier:a,value:m})})}}var O,xt,pn,Dt=0;var Ct=N(()=>{O=require("@swapkit/helpers"),xt=require("@swapkit/helpers/api"),pn=typeof process<"u"&&process.pid?process.pid.toString(36):""});function V(t){return{getBalance:it(t)}}function mn(t){return t}var P=N(()=>{Ct()});async function Y(t,y){let{JsonRpcProvider:n}=await import("ethers");return new n(y||await M.getRPCUrl(t))}function _(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function Ut(t){let{explorerUrl:y,chainIdHex:n,rpcUrls:u}=M.getChainConfig(t);return()=>t===M.Chain.Ethereum?void 0:{...Tn({chain:t}),blockExplorerUrls:[y],chainId:n,rpcUrls:u}}function Lt(t){return![M.Chain.Arbitrum,M.Chain.BinanceSmartChain].includes(t)}function Tn({chain:t}){let{name:y,nativeCurrency:n,baseDecimal:u}=M.getChainConfig(t);return Et.match(t).with(M.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:u,name:"Avalanche",symbol:t}})).with(M.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:u,name:"Berachain",symbol:"BERA"}})).with(M.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:u,name:"OKB",symbol:"OKB"}})).with(M.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:u,name:"Binance Coin",symbol:"BNB"}})).with(M.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:u,name:"xDAI",symbol:"XDAI"}})).with(M.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:u,name:"Polygon",symbol:M.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:u,name:n,symbol:n}}))}var M,Et;var x=N(()=>{M=require("@swapkit/helpers"),Et=require("ts-pattern")});var jt;var st=N(()=>{jt=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function C({chain:t=e.Chain.Ethereum,provider:y,signer:n,isEIP1559Compatible:u=!0}){return{approve:Rn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),approvedAmount:ht({chain:t,provider:y}),broadcastTransaction:y.broadcastTransaction,call:kt({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),createApprovalTx:Un({chain:t,provider:y,signer:n}),createContract:qt({chain:t,provider:y}),createContractTxObject:$({chain:t,provider:y}),createTransaction:Gt({chain:t,provider:y,signer:n}),createTransferTx:Gt({chain:t,provider:y,signer:n}),EIP1193SendTransaction:j(y),estimateCall:Kt({provider:y,signer:n}),estimateGasLimit:fn({chain:t,provider:y,signer:n}),estimateGasPrices:Q({chain:t,isEIP1559Compatible:u,provider:y}),estimateTransactionFee:Ln({chain:t,isEIP1559Compatible:u,provider:y}),getAddress:()=>{return n?n.getAddress():void 0},isApproved:cn({chain:t,provider:y}),sendTransaction:At({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),signMessage:n?(l)=>n.signMessage(l):void 0,transfer:Bn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),validateAddress:(l)=>Ht({address:l})}}function Ht({address:t}){try{return q.getAddress(t),!0}catch{return!1}}function E(t){return t instanceof q.BrowserProvider}function K(t,y,n){return new q.Contract(t,q.Interface.from(y),n)}function qt({provider:t}){return function(n,u){return new q.Contract(n,q.Interface.from(u),t)}}function zt({abi:t,funcName:y}){let n=t.find((u)=>u.name===y);if(!n)throw new e.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return n.stateMutability&&bn.includes(n.stateMutability)}function Vt(t){return q.getAddress(t)}function j(t){return function({value:n,...u}){if(!E(t))throw new e.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:l,gasPrice:o,maxFeePerGas:a,maxPriorityFeePerGas:m,...p}=u;return t.send("eth_sendTransaction",[{...p,value:_(BigInt(n||0))}])}}function _t(t,y){let n=s(t,y);if(n)return q.getAddress(n.toLowerCase());throw new e.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function s({chain:t,symbol:y,ticker:n},u){try{let l=t===e.Chain.BinanceSmartChain&&y==="BNB"&&n==="BNB",o=t===u&&y===u&&n===u,a=Mn.includes(t)&&y==="ETH"&&n==="ETH";if(o||l||a)return Jt[u];return q.getAddress(y.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function $({provider:t}){return async({contractAddress:y,abi:n,funcName:u,funcParams:l=[],txOverrides:o})=>K(y,n,t).getFunction(u).populateTransaction(...l.concat(o).filter((a)=>typeof a<"u"))}function Q({chain:t,provider:y,isEIP1559Compatible:n=!0}){return St.match(t).with(e.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:l,maxPriorityFeePerGas:o}=await y.getFeeData();if(!l||o===null)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Average),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Average)},[e.FeeOption.Fast]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fast),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fastest),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fastest)}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).with(e.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:l}=await y.getFeeData();if(!l)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{gasPrice:l},[e.FeeOption.Fast]:{gasPrice:l},[e.FeeOption.Fastest]:{gasPrice:l}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:l,maxPriorityFeePerGas:o,gasPrice:a}=await y.getFeeData();if(n){if(l===null||o===null)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{maxFeePerGas:l,maxPriorityFeePerGas:o},[e.FeeOption.Fast]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fast),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fastest),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fastest)}}}if(!a)throw new e.SwapKitError("toolbox_evm_no_gas_price");return{[e.FeeOption.Average]:{gasPrice:a},[e.FeeOption.Fast]:{gasPrice:e.applyFeeMultiplierToBigInt(a,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{gasPrice:e.applyFeeMultiplierToBigInt(a,e.FeeOption.Fastest)}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}})}function kt({provider:t,isEIP1559Compatible:y,signer:n,chain:u}){return async function({callProvider:o,contractAddress:a,abi:m,funcName:p,funcParams:R=[],txOverrides:w={},feeOption:L=e.FeeOption.Fast}){let b=o||t;if(!a)throw new e.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let f=zt({abi:m,funcName:p});if(f&&E(b)&&n){let z=$({chain:u,provider:b}),J=w?.from||await n?.getAddress(),k=await z({abi:m,contractAddress:a,funcName:p,funcParams:R,txOverrides:{...w,from:J}});return j(b)(k)}let U=K(a,m,b);if(f){if(!n)throw new e.SwapKitError("toolbox_evm_no_signer");let z=w?.from||await n.getAddress();if(!z)throw new e.SwapKitError("toolbox_evm_no_signer_address");let J=U.connect(n),k=Q({chain:u,isEIP1559Compatible:y,provider:t}),{maxFeePerGas:W,maxPriorityFeePerGas:H,gasPrice:X}=(await k())[L],g=await U.getFunction(p).estimateGas(...R,w),ft=await J[p](...R,{...w,gasLimit:g,gasPrice:X,maxFeePerGas:W,maxPriorityFeePerGas:H,nonce:w?.nonce||await b.getTransactionCount(z)});return typeof ft?.hash==="string"?ft?.hash:ft}let G=await U[p]?.(...R);return typeof G?.hash==="string"?G?.hash:G}}function ht({provider:t,chain:y}){return function({assetAddress:u,spenderAddress:l,from:o}){return kt({chain:y,isEIP1559Compatible:!0,provider:t})({abi:i.erc20ABI,contractAddress:u,funcName:"allowance",funcParams:[o,l]})}}function cn({provider:t,chain:y}){return async function({assetAddress:u,spenderAddress:l,from:o,amount:a=h}){let m=await ht({chain:y,provider:t})({assetAddress:u,from:o,spenderAddress:l});return e.SwapKitNumber.fromBigInt(m).gte(e.SwapKitNumber.fromBigInt(BigInt(a)))}}function Rn({signer:t,isEIP1559Compatible:y=!0,provider:n,chain:u}){return async function({assetAddress:o,spenderAddress:a,feeOptionKey:m=e.FeeOption.Fast,amount:p,gasLimitFallback:R,from:w,nonce:L}){let b=[a,BigInt(p||h)],f=await t?.getAddress()||w,U={abi:i.erc20ABI,contractAddress:o,funcName:"approve",funcParams:b,signer:t,txOverrides:{from:f}};if(E(n)){let z=$({chain:u,provider:n}),J=j(n),k=await z(U);return J(k)}return kt({chain:u,isEIP1559Compatible:y,provider:n,signer:t})({...U,feeOption:m,funcParams:b,txOverrides:{from:f,gasLimit:R?BigInt(R.toString()):void 0,nonce:L}})}}function Bn({signer:t,isEIP1559Compatible:y=!0,provider:n}){return async function({assetValue:l,memo:o,recipient:a,feeOptionKey:m=e.FeeOption.Fast,sender:p,...R}){let{hexlify:w,toUtf8Bytes:L}=await import("ethers"),b=l.getBaseValue("bigint"),f=l.chain,U=p||await t?.getAddress(),G=At({chain:f,isEIP1559Compatible:y,provider:n,signer:t});if(!U)throw new e.SwapKitError("toolbox_evm_no_from_address");if(l.isGasAsset){let X={...R,data:w(L(o||"")),feeOptionKey:m,from:U,to:a,value:b};return G(X)}if(!s(l,f))throw new e.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:J,maxPriorityFeePerGas:k,gasPrice:W}=(await Q({chain:f,isEIP1559Compatible:y,provider:n})())[m],H=await Gt({chain:f,provider:n,signer:t})({assetValue:l,data:w(L(o||"")),gasPrice:W,maxFeePerGas:J,maxPriorityFeePerGas:k,memo:o,recipient:a,sender:U});return G(H)}}function Kt({provider:t,signer:y}){return function({contractAddress:u,abi:l,funcName:o,funcParams:a=[],txOverrides:m}){if(!u)throw new e.SwapKitError("toolbox_evm_no_contract_address");let p=K(u,l,t);return y?p.connect(y).getFunction(o).estimateGas(...a,m):p.getFunction(o).estimateGas(...a,m)}}function fn({provider:t,signer:y}){return async function({assetValue:u,recipient:l,memo:o,data:a,sender:m,funcName:p,funcParams:R,txOverrides:w}){let L=u.bigIntValue,b=u.isGasAsset?null:s(u,u.chain);if(b&&p)return Kt({provider:t,signer:y})({abi:i.erc20ABI,contractAddress:b,funcName:p,funcParams:R,txOverrides:w});let{hexlify:f,toUtf8Bytes:U}=await import("ethers");return t.estimateGas({data:a?a:o?f(U(o)):void 0,from:m,to:l,value:L})}}function At({provider:t,signer:y,isEIP1559Compatible:n=!0,chain:u}){return async function({feeOptionKey:o=e.FeeOption.Fast,...a}){let{from:m,to:p,data:R,value:w,...L}=a;if(!y)throw new e.SwapKitError("toolbox_evm_no_signer");if(!p)throw new e.SwapKitError("toolbox_evm_no_to_address");let b={...L,data:R||"0x",from:m,to:p,value:BigInt(w||0)};if(E(t))return j(t)(b);let f=m||await y.getAddress(),U=a.nonce||await t.getTransactionCount(f),G=(await t.getNetwork()).chainId,z=Dn(b)||n,J=Q({chain:u,isEIP1559Compatible:n,provider:t}),k=z&&!(b.maxFeePerGas&&b.maxPriorityFeePerGas)||!b.gasPrice?Object.entries((await J())[o]).reduce((H,[X,g])=>({...H,[X]:_(BigInt(g))}),{}):{},W;try{W=_(b.gasLimit||await t.estimateGas(b)*11n/10n)}catch(H){throw new e.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:H})}try{let H={...b,chainId:G,gasLimit:W,nonce:U,type:z?2:0,...k};try{return(await y.sendTransaction(H)).hash}catch{let X=await y.signTransaction({...H,from:f});return(await t.broadcastTransaction(X)).hash}}catch(H){throw new e.SwapKitError("toolbox_evm_error_sending_transaction",{error:H})}}}function Gt({provider:t,signer:y}){return async function({assetValue:u,memo:l,recipient:o,data:a,sender:m,maxFeePerGas:p,maxPriorityFeePerGas:R,gasPrice:w,...L}){let b=u.getBaseValue("bigint"),f=u.chain,U=m||await y?.getAddress();if(!U)throw new e.SwapKitError("toolbox_evm_no_from_address");if(e.isGasAsset(u)){let{hexlify:J,toUtf8Bytes:k}=await import("ethers");return{...L,data:a||J(k(l||"")),from:U,to:o,value:b}}let G=s(u,f);if(!G)throw new e.SwapKitError("toolbox_evm_no_contract_address");return $({chain:u.chain,provider:t})({abi:i.erc20ABI,contractAddress:G,funcName:"transfer",funcParams:[o,b],txOverrides:{from:U,gasPrice:w,maxFeePerGas:p,maxPriorityFeePerGas:R}})}}function Un({provider:t,signer:y,chain:n}){return async function({assetAddress:l,spenderAddress:o,amount:a,from:m}){let p=await y?.getAddress()||m,R=$({chain:n,provider:t}),w=["bigint","number"].includes(typeof a)?a:a||h;return await R({abi:i.erc20ABI,contractAddress:l,funcName:"approve",funcParams:[o,BigInt(w)],txOverrides:{from:p}})}}function Ln({provider:t,isEIP1559Compatible:y=!0}){return async function({feeOption:u=e.FeeOption.Fast,chain:l,...o}){let m=await Q({chain:l,isEIP1559Compatible:y,provider:t})(),p=await t.estimateGas(o),R=e.AssetValue.from({chain:l}),{gasPrice:w,maxFeePerGas:L,maxPriorityFeePerGas:b}=m[u];if(!y&&w)return R.set(e.SwapKitNumber.fromBigInt(w*p,R.decimal));if(L&&b){let f=(L+b)*p;return R.set(e.SwapKitNumber.fromBigInt(f,R.decimal))}throw new e.SwapKitError("toolbox_evm_no_gas_price")}}var e,i,q,St,h,bn,wn,Jt,Mn,Dn=(t)=>t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas;var v=N(()=>{x();e=require("@swapkit/helpers"),i=require("@swapkit/helpers/contracts"),q=require("ethers"),St=require("ts-pattern"),h=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");bn=["payable","nonpayable"];wn=e.EVMChains.reduce((t,y)=>{return t[y]="0x0000000000000000000000000000000000000000",t},{}),Jt={...wn,[e.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[e.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},Mn=[e.Chain.Arbitrum,e.Chain.Aurora,e.Chain.Base,e.Chain.Optimism]});async function d({provider:t,...y}){let n=await D(c.Chain.Ethereum)({provider:t,...y});async function u(l,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",a="aggregate",m=c.FeeOption.Fast){let p=await n.createContractTxObject({abi:jt,contractAddress:o,funcName:a,funcParams:[l]});return n.sendTransaction({...p,feeOptionKey:m})}return{...n,multicall:u}}function D(t){return async function({provider:n,...u}){let{HDNodeWallet:l}=await import("ethers"),o=await c.getRPCUrl(t),a=n||await Y(t,o),m=Lt(t),p=A.match(u).with({phrase:A.P.string},({phrase:w})=>l.fromPhrase(w).connect(a)).with({signer:A.P.any},({signer:w})=>w).otherwise(()=>{return});return{...C({chain:t,isEIP1559Compatible:m,provider:a,signer:p}),getBalance:V(t).getBalance,getNetworkParams:Ut(t)}}}var c,A,r,tt,nt,yt,ut,lt,Ft,et,ot,at,pt,mt,Tt,F,bt,wt,Mt,ct;var Nt=N(()=>{P();st();x();v();c=require("@swapkit/helpers"),A=require("ts-pattern");r=D(c.Chain.Arbitrum),tt=D(c.Chain.Aurora),nt=D(c.Chain.Avalanche),yt=D(c.Chain.Base),ut=D(c.Chain.Berachain),lt=D(c.Chain.BinanceSmartChain),Ft=D(c.Chain.Botanix),et=D(c.Chain.Core),ot=D(c.Chain.Corn),at=D(c.Chain.Cronos),pt=D(c.Chain.Gnosis),mt=D(c.Chain.Hyperevm),Tt=D(c.Chain.Polygon),F=D(c.Chain.Sonic),bt=D(c.Chain.Unichain),wt=D(c.Chain.XLayer),Mt=D(c.Chain.Monad),ct=D(c.Chain.MegaETH)});var It;var gt=N(()=>{It=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function Xt(t){return new Rt.Contract(Hn,It,t)}function Ot(t){return async function(){let n=Xt(t);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function Pt(t){return async function({from:n,to:u,nonce:l,...o}){let{Transaction:a}=await import("ethers");if(!u)throw new T.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return a.from({...o,authorizationList:o.authorizationList,nonce:l?l:n?await t.getTransactionCount(n):0,to:u}).serialized}}function vt(t){return async function(n){let u=Xt(t),l=await Pt(t)(n);if(u&&"getL1Fee"in u)return u.getL1Fee(l)}}function dt(t){return async function(n){let u=await t.send("eth_gasPrice",[]),l=await t.estimateGas(n);return u.mul(l)}}function qn(t){return async function(n){let u=await vt(t)(n),l=await dt(t)(n);return u.add(l)}}function zn(t){return async function(n){let u=Xt(t),l=await Pt(t)(n);if(u&&"getL1GasUsed"in u)return u.getL1GasUsed(l)}}function Jn(){let{baseDecimal:t,chainId:y,explorerUrl:n,name:u,rpcUrls:l}=T.getChainConfig(T.Chain.Optimism);return{blockExplorerUrls:[n],chainId:y,chainName:u,nativeCurrency:{decimals:t,name:"Ethereum",symbol:T.Chain.Ethereum},rpcUrls:l}}async function kn(t){try{let{maxFeePerGas:y,maxPriorityFeePerGas:n,gasPrice:u}=await t.getFeeData(),l=await Ot(t)(),o=u;if(!(y&&n))throw new T.SwapKitError("toolbox_evm_no_fee_data");return{[T.FeeOption.Average]:{gasPrice:o,l1GasPrice:l,maxFeePerGas:y,maxPriorityFeePerGas:n},[T.FeeOption.Fast]:{gasPrice:T.applyFeeMultiplierToBigInt(o,T.FeeOption.Fast),l1GasPrice:T.applyFeeMultiplierToBigInt(l||0n,T.FeeOption.Fast),maxFeePerGas:y,maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(n,T.FeeOption.Fast)},[T.FeeOption.Fastest]:{gasPrice:T.applyFeeMultiplierToBigInt(o,T.FeeOption.Fastest),l1GasPrice:T.applyFeeMultiplierToBigInt(l||0n,T.FeeOption.Fastest),maxFeePerGas:y,maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(n,T.FeeOption.Fastest)}}}catch(y){throw new T.SwapKitError("toolbox_evm_gas_estimation_error",{error:y.msg??y.toString()})}}async function Bt({provider:t,...y}){let n=T.Chain.Optimism,u=await T.getRPCUrl(n),l=t||await Y(n,u),o=I.match(y).with({phrase:I.P.string},({phrase:p})=>Rt.HDNodeWallet.fromPhrase(p).connect(l)).with({signer:I.P.any},({signer:p})=>p).otherwise(()=>{return}),a=C({provider:l,signer:o}),m=Ot(l);return{...a,estimateGasPrices:kn(l),estimateL1Gas:zn(l),estimateL1GasCost:vt(l),estimateL2GasCost:dt(l),estimateTotalGasCost:qn(l),getBalance:V(T.Chain.Optimism).getBalance,getL1GasPrice:m,getNetworkParams:Jn}}var T,Rt,I,Hn="0x420000000000000000000000000000000000000f";var Wt=N(()=>{P();gt();x();v();T=require("@swapkit/helpers"),Rt=require("ethers"),I=require("ts-pattern")});var Nn={};Zt(Nn,{toChecksumAddress:()=>Vt,isStateChangingCall:()=>zt,isBrowserProvider:()=>E,getTokenAddress:()=>s,getEvmToolbox:()=>tn,getEstimateGasPrices:()=>Q,getEIP1193SendTransaction:()=>j,getCreateContractTxObject:()=>$,getCreateContract:()=>qt,getChecksumAddressFromAsset:()=>_t,evmValidateAddress:()=>Ht,createContract:()=>K,XLayerToolbox:()=>wt,UNIToolbox:()=>bt,SONICToolbox:()=>F,OPToolbox:()=>Bt,MONADToolbox:()=>Mt,MEGAETHToolbox:()=>ct,MAX_APPROVAL:()=>h,MATICToolbox:()=>Tt,HYPEREVMToolbox:()=>mt,GNOToolbox:()=>pt,ETHToolbox:()=>d,ContractAddress:()=>Jt,CROToolbox:()=>at,CORNToolbox:()=>ot,COREToolbox:()=>et,BotanixToolbox:()=>Ft,BaseEVMToolbox:()=>C,BSCToolbox:()=>lt,BERAToolbox:()=>ut,BASEToolbox:()=>yt,AVAXToolbox:()=>nt,AURORAToolbox:()=>tt,ARBToolbox:()=>r});async function tn(t,y){let n={...y,provider:y?.provider||await Y(t)};return rt.match(t).returnType().with(B.Chain.Arbitrum,()=>r(n)).with(B.Chain.Aurora,()=>tt(n)).with(B.Chain.Avalanche,()=>nt(n)).with(B.Chain.Base,()=>yt(n)).with(B.Chain.Berachain,()=>ut(n)).with(B.Chain.BinanceSmartChain,()=>lt(n)).with(B.Chain.Botanix,()=>F(n)).with(B.Chain.Core,()=>et(n)).with(B.Chain.Corn,()=>ot(n)).with(B.Chain.Cronos,()=>at(n)).with(B.Chain.Ethereum,()=>d(n)).with(B.Chain.Gnosis,()=>pt(n)).with(B.Chain.Hyperevm,()=>mt(n)).with(B.Chain.Optimism,()=>Bt(n)).with(B.Chain.Polygon,()=>Tt(n)).with(B.Chain.Sonic,()=>F(n)).with(B.Chain.Unichain,()=>bt(n)).with(B.Chain.XLayer,()=>wt(n)).with(B.Chain.Monad,()=>Mt(n)).with(B.Chain.MegaETH,()=>ct(n)).exhaustive()}var B,rt;var nn=N(()=>{x();Nt();Wt();B=require("@swapkit/helpers"),rt=require("ts-pattern");v();Nt();Wt()});var yn;var un=N(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(yn||={})});var Xn={};Zt(Xn,{toHexString:()=>_,toChecksumAddress:()=>Vt,isStateChangingCall:()=>zt,isBrowserProvider:()=>E,getTokenAddress:()=>s,getProvider:()=>Y,getNetworkParams:()=>Ut,getIsEIP1559Compatible:()=>Lt,getEvmToolbox:()=>tn,getEvmApi:()=>V,getEstimateGasPrices:()=>Q,getEIP1193SendTransaction:()=>j,getCreateContractTxObject:()=>$,getCreateContract:()=>qt,getChecksumAddressFromAsset:()=>_t,evmValidateAddress:()=>Ht,createCustomEvmApi:()=>mn,createContract:()=>K,XLayerToolbox:()=>wt,UNIToolbox:()=>bt,SONICToolbox:()=>F,OPToolbox:()=>Bt,MONADToolbox:()=>Mt,MEGAETHToolbox:()=>ct,MAX_APPROVAL:()=>h,MATICToolbox:()=>Tt,HYPEREVMToolbox:()=>mt,GNOToolbox:()=>pt,EthNetwork:()=>yn,ETHToolbox:()=>d,ContractAddress:()=>Jt,CROToolbox:()=>at,CORNToolbox:()=>ot,COREToolbox:()=>et,BotanixToolbox:()=>Ft,BaseEVMToolbox:()=>C,BSCToolbox:()=>lt,BERAToolbox:()=>ut,BASEToolbox:()=>yt,AVAXToolbox:()=>nt,AURORAToolbox:()=>tt,ARBToolbox:()=>r});module.exports=an(Xn);var Wn=N(()=>{P();x();nn();un()});Wn();
2
2
 
3
- //# debugId=5D479D57550081B064756E2164756E21
3
+ //# debugId=7F694473870BF94564756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { AssetValue, type Chain, getChainConfig } from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\n\nconst pid = typeof process !== \"undefined\" && process.pid ? process.pid.toString(36) : \"\";\n\nlet last = 0;\nexport function uniqid() {\n function now() {\n const time = Date.now();\n const lastTime = last || time;\n last = lastTime;\n\n return time > last ? time : lastTime + 1;\n }\n\n return pid + now().toString(36);\n}\n\nexport function getBalance<T extends Chain>(chain: T) {\n return async function getBalance(address: string, scamFilter = true) {\n const balances = await SwapKitApi.getChainBalance({ address, chain, scamFilter });\n const { baseDecimal } = getChainConfig(chain);\n return balances.map(({ identifier, value, decimal }) => {\n return new AssetValue({ decimal: decimal || baseDecimal, identifier, value });\n });\n };\n}\n",
6
6
  "import type { EVMChain } from \"@swapkit/helpers\";\nimport { getBalance } from \"../utils\";\n\nexport function getEvmApi(chain: EVMChain) {\n return { getBalance: getBalance(chain) };\n}\n\nexport function createCustomEvmApi(methods: ReturnType<typeof getEvmApi>) {\n return methods;\n}\n",
7
- "import { Chain, type EVMChain, getChainConfig, getRPCUrl, type NetworkParams } from \"@swapkit/helpers\";\nimport { match } from \"ts-pattern\";\n\nexport async function getProvider(chain: EVMChain, customUrl?: string) {\n const { JsonRpcProvider } = await import(\"ethers\");\n\n return new JsonRpcProvider(customUrl || (await getRPCUrl(chain)));\n}\n\nexport function toHexString(value: bigint) {\n return value > 0n ? `0x${value.toString(16)}` : \"0x0\";\n}\n\nexport function getNetworkParams<C extends EVMChain>(chain: C) {\n const { explorerUrl, chainId, rpcUrls } = getChainConfig(chain);\n\n return () =>\n (chain === Chain.Ethereum\n ? undefined\n : {\n ...getNetworkInfo({ chain }),\n blockExplorerUrls: [explorerUrl],\n chainId,\n rpcUrls,\n }) as C extends typeof Chain.Ethereum ? undefined : NetworkParams;\n}\n\nexport function getIsEIP1559Compatible<C extends EVMChain>(chain: C) {\n const notCompatible = [Chain.Arbitrum, Chain.BinanceSmartChain] as EVMChain[];\n\n return !notCompatible.includes(chain);\n}\n\nfunction getNetworkInfo({ chain }: { chain: EVMChain }) {\n const { name, nativeCurrency, baseDecimal: decimals } = getChainConfig(chain);\n\n return match(chain)\n .with(Chain.Arbitrum, () => ({\n chainName: \"Arbitrum One\",\n nativeCurrency: { decimals, name: \"Ethereum\", symbol: Chain.Ethereum },\n }))\n .with(Chain.Aurora, () => ({\n chainName: \"Aurora Mainnet\",\n nativeCurrency: { decimals, name: \"Ethereum\", symbol: Chain.Ethereum },\n }))\n .with(Chain.Avalanche, () => ({\n chainName: \"Avalanche Network\",\n nativeCurrency: { decimals, name: \"Avalanche\", symbol: chain },\n }))\n .with(Chain.Base, () => ({\n chainName: \"Base Mainnet\",\n nativeCurrency: { decimals, name: \"Ethereum\", symbol: Chain.Ethereum },\n }))\n .with(Chain.Berachain, () => ({\n chainName: \"Berachain\",\n nativeCurrency: { decimals, name: \"Berachain\", symbol: \"BERA\" },\n }))\n .with(Chain.XLayer, () => ({ chainName: \"X Layer\", nativeCurrency: { decimals, name: \"OKB\", symbol: \"OKB\" } }))\n .with(Chain.BinanceSmartChain, () => ({\n chainName: \"BNB Smart Chain Mainnet\",\n nativeCurrency: { decimals, name: \"Binance Coin\", symbol: \"BNB\" },\n }))\n .with(Chain.Gnosis, () => ({ chainName: \"Gnosis\", nativeCurrency: { decimals, name: \"xDAI\", symbol: \"XDAI\" } }))\n .with(Chain.Optimism, () => ({\n chainName: \"OP Mainnet\",\n nativeCurrency: { decimals, name: \"Ethereum\", symbol: Chain.Ethereum },\n }))\n .with(Chain.Polygon, () => ({\n chainName: \"Polygon Mainnet\",\n nativeCurrency: { decimals, name: \"Polygon\", symbol: Chain.Polygon },\n }))\n .otherwise(() => ({ chainName: name, nativeCurrency: { decimals, name: nativeCurrency, symbol: nativeCurrency } }));\n}\n",
7
+ "import { Chain, type EVMChain, getChainConfig, getRPCUrl, type NetworkParams } from \"@swapkit/helpers\";\nimport { match } from \"ts-pattern\";\n\nexport async function getProvider(chain: EVMChain, customUrl?: string) {\n const { JsonRpcProvider } = await import(\"ethers\");\n\n return new JsonRpcProvider(customUrl || (await getRPCUrl(chain)));\n}\n\nexport function toHexString(value: bigint) {\n return value > 0n ? `0x${value.toString(16)}` : \"0x0\";\n}\n\nexport function getNetworkParams<C extends EVMChain>(chain: C) {\n const { explorerUrl, chainIdHex, rpcUrls } = getChainConfig(chain);\n\n return () =>\n (chain === Chain.Ethereum\n ? undefined\n : {\n ...getNetworkInfo({ chain }),\n blockExplorerUrls: [explorerUrl],\n chainId: chainIdHex,\n rpcUrls,\n }) as C extends typeof Chain.Ethereum ? undefined : NetworkParams;\n}\n\nexport function getIsEIP1559Compatible<C extends EVMChain>(chain: C) {\n const notCompatible = [Chain.Arbitrum, Chain.BinanceSmartChain] as EVMChain[];\n\n return !notCompatible.includes(chain);\n}\n\nfunction getNetworkInfo({ chain }: { chain: EVMChain }) {\n const { name, nativeCurrency, baseDecimal: decimals } = getChainConfig(chain);\n\n return match(chain)\n .with(Chain.Arbitrum, () => ({\n chainName: \"Arbitrum One\",\n nativeCurrency: { decimals, name: \"Ethereum\", symbol: Chain.Ethereum },\n }))\n .with(Chain.Aurora, () => ({\n chainName: \"Aurora Mainnet\",\n nativeCurrency: { decimals, name: \"Ethereum\", symbol: Chain.Ethereum },\n }))\n .with(Chain.Avalanche, () => ({\n chainName: \"Avalanche Network\",\n nativeCurrency: { decimals, name: \"Avalanche\", symbol: chain },\n }))\n .with(Chain.Base, () => ({\n chainName: \"Base Mainnet\",\n nativeCurrency: { decimals, name: \"Ethereum\", symbol: Chain.Ethereum },\n }))\n .with(Chain.Berachain, () => ({\n chainName: \"Berachain\",\n nativeCurrency: { decimals, name: \"Berachain\", symbol: \"BERA\" },\n }))\n .with(Chain.XLayer, () => ({ chainName: \"X Layer\", nativeCurrency: { decimals, name: \"OKB\", symbol: \"OKB\" } }))\n .with(Chain.BinanceSmartChain, () => ({\n chainName: \"BNB Smart Chain Mainnet\",\n nativeCurrency: { decimals, name: \"Binance Coin\", symbol: \"BNB\" },\n }))\n .with(Chain.Gnosis, () => ({ chainName: \"Gnosis\", nativeCurrency: { decimals, name: \"xDAI\", symbol: \"XDAI\" } }))\n .with(Chain.Optimism, () => ({\n chainName: \"OP Mainnet\",\n nativeCurrency: { decimals, name: \"Ethereum\", symbol: Chain.Ethereum },\n }))\n .with(Chain.Polygon, () => ({\n chainName: \"Polygon Mainnet\",\n nativeCurrency: { decimals, name: \"Polygon\", symbol: Chain.Polygon },\n }))\n .otherwise(() => ({ chainName: name, nativeCurrency: { decimals, name: nativeCurrency, symbol: nativeCurrency } }));\n}\n",
8
8
  "export const multicallAbi = [\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall2.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes[]\", name: \"returnData\", type: \"bytes[]\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall2.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"blockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall2.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" }],\n name: \"getBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBlockNumber\",\n outputs: [{ internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockCoinbase\",\n outputs: [{ internalType: \"address\", name: \"coinbase\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockDifficulty\",\n outputs: [{ internalType: \"uint256\", name: \"difficulty\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockGasLimit\",\n outputs: [{ internalType: \"uint256\", name: \"gaslimit\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockTimestamp\",\n outputs: [{ internalType: \"uint256\", name: \"timestamp\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ internalType: \"uint256\", name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getLastBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall2.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryAggregate\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall2.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall2.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryBlockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall2.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n];\n",
9
9
  "import {\n type Asset,\n AssetValue,\n applyFeeMultiplierToBigInt,\n Chain,\n type ChainSigner,\n type EVMChain,\n EVMChains,\n FeeOption,\n isGasAsset,\n SwapKitError,\n SwapKitNumber,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport {\n BrowserProvider,\n Contract,\n type ContractTransaction,\n type Fragment,\n getAddress,\n type HDNodeWallet,\n Interface,\n type JsonFragment,\n type JsonRpcSigner,\n type Provider,\n type Signer,\n} from \"ethers\";\nimport { match } from \"ts-pattern\";\nimport { toHexString } from \"../helpers\";\nimport type {\n ApproveParams,\n CallParams,\n EIP1559TxParams,\n EstimateCallParams,\n EVMCreateTransactionParams,\n EVMTransferParams,\n EVMTxParams,\n IsApprovedParams,\n LegacyEVMTxParams,\n} from \"../types\";\n\ntype ToolboxWrapParams<P = Provider | BrowserProvider, T = {}> = T & {\n isEIP1559Compatible?: boolean;\n provider: P;\n signer?: Signer;\n chain: EVMChain;\n};\n\nexport const MAX_APPROVAL = BigInt(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n\nexport function BaseEVMToolbox<\n P extends Provider | BrowserProvider,\n S extends (ChainSigner<EVMTransferParams, string> & Signer) | JsonRpcSigner | HDNodeWallet | undefined,\n>({\n chain = Chain.Ethereum,\n provider,\n signer,\n isEIP1559Compatible = true,\n}: {\n signer: S;\n provider: P;\n isEIP1559Compatible?: boolean;\n chain?: EVMChain;\n}) {\n return {\n approve: getApprove({ chain, isEIP1559Compatible, provider, signer }),\n approvedAmount: getApprovedAmount({ chain, provider }),\n broadcastTransaction: provider.broadcastTransaction,\n call: getCall({ chain, isEIP1559Compatible, provider, signer }),\n createApprovalTx: getCreateApprovalTx({ chain, provider, signer }),\n createContract: getCreateContract({ chain, provider }),\n createContractTxObject: getCreateContractTxObject({ chain, provider }),\n createTransaction: getCreateTransferTx({ chain, provider, signer }),\n createTransferTx: getCreateTransferTx({ chain, provider, signer }),\n EIP1193SendTransaction: getEIP1193SendTransaction(provider),\n estimateCall: getEstimateCall({ provider, signer }),\n estimateGasLimit: getEstimateGasLimit({ chain, provider, signer }),\n estimateGasPrices: getEstimateGasPrices({ chain, isEIP1559Compatible, provider }),\n estimateTransactionFee: getEstimateTransactionFee({ chain, isEIP1559Compatible, provider }),\n getAddress: () => {\n return signer ? signer.getAddress() : undefined;\n },\n isApproved: getIsApproved({ chain, provider }),\n sendTransaction: getSendTransaction({ chain, isEIP1559Compatible, provider, signer }),\n signMessage: signer ? (message: string | Uint8Array) => signer.signMessage(message) : undefined,\n transfer: getTransfer({ chain, isEIP1559Compatible, provider, signer }),\n validateAddress: (address: string) => evmValidateAddress({ address }),\n };\n}\n\nexport function evmValidateAddress({ address }: { address: string }) {\n try {\n getAddress(address);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function isBrowserProvider(provider: any) {\n return provider instanceof BrowserProvider;\n}\n\nexport function createContract(address: string, abi: readonly (JsonFragment | Fragment)[], provider: Provider) {\n return new Contract(address, Interface.from(abi), provider);\n}\n\nexport function getCreateContract({ provider }: ToolboxWrapParams) {\n return function createContract(address: string, abi: readonly (JsonFragment | Fragment)[]) {\n return new Contract(address, Interface.from(abi), provider);\n };\n}\n\nconst stateMutable = [\"payable\", \"nonpayable\"];\n// const nonStateMutable = ['view', 'pure'];\nexport function isStateChangingCall({ abi, funcName }: { abi: readonly JsonFragment[]; funcName: string }) {\n const abiFragment = abi.find((fragment: any) => fragment.name === funcName) as any;\n if (!abiFragment) throw new SwapKitError(\"toolbox_evm_no_abi_fragment\", { funcName });\n return abiFragment.stateMutability && stateMutable.includes(abiFragment.stateMutability);\n}\n\nexport function toChecksumAddress(address: string) {\n return getAddress(address);\n}\n\nexport function getEIP1193SendTransaction(provider: Provider | BrowserProvider) {\n return function EIP1193SendTransaction({ value, ...params }: EVMTxParams | ContractTransaction): Promise<string> {\n if (!isBrowserProvider(provider)) {\n throw new SwapKitError(\"toolbox_evm_provider_not_eip1193_compatible\");\n }\n\n // Remove gas-related parameters to let the wallet estimate them\n // EIP-1193 providers (MetaMask, etc.) will estimate these automatically\n const {\n gasLimit: _gasLimit,\n gasPrice: _gasPrice,\n maxFeePerGas: _maxFeePerGas,\n maxPriorityFeePerGas: _maxPriorityFeePerGas,\n ...cleanParams\n } = params as any;\n\n return (provider as BrowserProvider).send(\"eth_sendTransaction\", [\n { ...cleanParams, value: toHexString(BigInt(value || 0)) } as any,\n ]);\n };\n}\n\nexport function getChecksumAddressFromAsset(asset: Asset, chain: EVMChain) {\n const assetAddress = getTokenAddress(asset, chain);\n\n if (assetAddress) {\n return getAddress(assetAddress.toLowerCase());\n }\n\n throw new SwapKitError(\"toolbox_evm_invalid_gas_asset_address\");\n}\n\nconst baseContractAddresses = EVMChains.reduce(\n (acc, chain) => {\n acc[chain] = \"0x0000000000000000000000000000000000000000\";\n return acc;\n },\n {} as Record<EVMChain, string>,\n);\n\nexport const ContractAddress: Record<EVMChain, string> = {\n ...baseContractAddresses,\n [Chain.Optimism]: \"0x4200000000000000000000000000000000000042\",\n [Chain.Polygon]: \"0x0000000000000000000000000000000000001010\",\n};\n\nconst ethGasChains = [Chain.Arbitrum, Chain.Aurora, Chain.Base, Chain.Optimism] as string[];\n\nexport function getTokenAddress({ chain, symbol, ticker }: Asset, baseAssetChain: EVMChain) {\n try {\n const isBSCBNB = chain === Chain.BinanceSmartChain && symbol === \"BNB\" && ticker === \"BNB\";\n const isBaseAsset = chain === baseAssetChain && symbol === baseAssetChain && ticker === baseAssetChain;\n const isEVMAsset = ethGasChains.includes(chain) && symbol === \"ETH\" && ticker === \"ETH\";\n\n if (isBaseAsset || isBSCBNB || isEVMAsset) {\n return ContractAddress[baseAssetChain];\n }\n\n // strip 0X only - 0x is still valid\n return getAddress(symbol.slice(ticker.length + 1).replace(/^0X/, \"\"));\n } catch {\n return null;\n }\n}\n\nexport function getCreateContractTxObject({ provider }: ToolboxWrapParams) {\n return async ({ contractAddress, abi, funcName, funcParams = [], txOverrides }: CallParams) =>\n createContract(contractAddress, abi, provider)\n .getFunction(funcName)\n .populateTransaction(...funcParams.concat(txOverrides).filter((p) => typeof p !== \"undefined\"));\n}\n\nexport function getEstimateGasPrices({\n chain,\n provider,\n isEIP1559Compatible = true,\n}: {\n provider: Provider;\n isEIP1559Compatible?: boolean;\n chain: EVMChain;\n}): () => Promise<{\n [key in FeeOption]: { l1GasPrice?: bigint; gasPrice?: bigint; maxFeePerGas?: bigint; maxPriorityFeePerGas?: bigint };\n}> {\n return match(chain)\n .with(Chain.Gnosis, () => {\n return async function estimateGasPrices() {\n try {\n const { gasPrice, maxPriorityFeePerGas } = await provider.getFeeData();\n if (!gasPrice || maxPriorityFeePerGas === null) throw new SwapKitError(\"toolbox_evm_no_fee_data\");\n\n return {\n [FeeOption.Average]: {\n maxFeePerGas: applyFeeMultiplierToBigInt(gasPrice, FeeOption.Average),\n maxPriorityFeePerGas: applyFeeMultiplierToBigInt(maxPriorityFeePerGas, FeeOption.Average),\n },\n [FeeOption.Fast]: {\n maxFeePerGas: applyFeeMultiplierToBigInt(gasPrice, FeeOption.Fast),\n maxPriorityFeePerGas: applyFeeMultiplierToBigInt(maxPriorityFeePerGas, FeeOption.Fast),\n },\n [FeeOption.Fastest]: {\n maxFeePerGas: applyFeeMultiplierToBigInt(gasPrice, FeeOption.Fastest),\n maxPriorityFeePerGas: applyFeeMultiplierToBigInt(maxPriorityFeePerGas, FeeOption.Fastest),\n },\n };\n } catch (error) {\n throw new SwapKitError(\"toolbox_evm_gas_estimation_error\", {\n error: (error as any).msg ?? (error as any).toString(),\n });\n }\n };\n })\n .with(Chain.Arbitrum, () => {\n return async function estimateGasPrices() {\n try {\n const { gasPrice } = await provider.getFeeData();\n if (!gasPrice) throw new SwapKitError(\"toolbox_evm_no_fee_data\");\n\n return {\n [FeeOption.Average]: { gasPrice },\n [FeeOption.Fast]: { gasPrice },\n [FeeOption.Fastest]: { gasPrice },\n };\n } catch (error) {\n throw new SwapKitError(\"toolbox_evm_gas_estimation_error\", {\n error: (error as any).msg ?? (error as any).toString(),\n });\n }\n };\n })\n .otherwise(() => {\n return async function estimateGasPrices() {\n try {\n const { maxFeePerGas, maxPriorityFeePerGas, gasPrice } = await provider.getFeeData();\n\n if (isEIP1559Compatible) {\n if (maxFeePerGas === null || maxPriorityFeePerGas === null)\n throw new SwapKitError(\"toolbox_evm_no_fee_data\");\n\n return {\n [FeeOption.Average]: { maxFeePerGas, maxPriorityFeePerGas },\n [FeeOption.Fast]: {\n maxFeePerGas: applyFeeMultiplierToBigInt(maxFeePerGas, FeeOption.Fast),\n maxPriorityFeePerGas: applyFeeMultiplierToBigInt(maxPriorityFeePerGas, FeeOption.Fast),\n },\n [FeeOption.Fastest]: {\n maxFeePerGas: applyFeeMultiplierToBigInt(maxFeePerGas, FeeOption.Fastest),\n maxPriorityFeePerGas: applyFeeMultiplierToBigInt(maxPriorityFeePerGas, FeeOption.Fastest),\n },\n };\n }\n if (!gasPrice) throw new SwapKitError(\"toolbox_evm_no_gas_price\");\n\n return {\n [FeeOption.Average]: { gasPrice },\n [FeeOption.Fast]: { gasPrice: applyFeeMultiplierToBigInt(gasPrice, FeeOption.Fast) },\n [FeeOption.Fastest]: { gasPrice: applyFeeMultiplierToBigInt(gasPrice, FeeOption.Fastest) },\n };\n } catch (error) {\n throw new SwapKitError(\"toolbox_evm_gas_estimation_error\", {\n error: (error as any).msg ?? (error as any).toString(),\n });\n }\n };\n });\n}\n\nfunction getCall({ provider, isEIP1559Compatible, signer, chain }: ToolboxWrapParams) {\n /**\n * @info call contract function\n * When using this method to make a non state changing call to the blockchain, like a isApproved call,\n * the signer needs to be set to undefined\n */\n return async function call<T>({\n callProvider,\n contractAddress,\n abi,\n funcName,\n funcParams = [],\n txOverrides = {},\n feeOption = FeeOption.Fast,\n }: CallParams): Promise<T> {\n const contractProvider = callProvider || provider;\n if (!contractAddress)\n throw new SwapKitError(\"toolbox_evm_invalid_params\", { error: \"contractAddress must be provided\" });\n\n const isStateChanging = isStateChangingCall({ abi, funcName });\n\n if (isStateChanging && isBrowserProvider(contractProvider) && signer) {\n const createTx = getCreateContractTxObject({ chain, provider: contractProvider });\n const from = txOverrides?.from || (await signer?.getAddress());\n const txObject = await createTx({\n abi,\n contractAddress,\n funcName,\n funcParams,\n txOverrides: { ...txOverrides, from },\n });\n const sendTx = getEIP1193SendTransaction(contractProvider);\n\n return sendTx(txObject) as Promise<T>;\n }\n const contract = createContract(contractAddress, abi, contractProvider);\n\n // only use signer if the contract function is state changing\n if (isStateChanging) {\n if (!signer) throw new SwapKitError(\"toolbox_evm_no_signer\");\n\n const from = txOverrides?.from || (await signer.getAddress());\n if (!from) throw new SwapKitError(\"toolbox_evm_no_signer_address\");\n\n const connectedContract = contract.connect(signer);\n const estimateGasPrices = getEstimateGasPrices({ chain, isEIP1559Compatible, provider });\n const { maxFeePerGas, maxPriorityFeePerGas, gasPrice } = (await estimateGasPrices())[feeOption];\n\n const gasLimit = await contract.getFunction(funcName).estimateGas(...funcParams, txOverrides);\n\n // @ts-expect-error\n const result = await connectedContract[funcName](...funcParams, {\n ...txOverrides,\n gasLimit,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n /**\n * nonce must be set due to a possible bug with ethers.js,\n * expecting a synchronous nonce while the JsonRpcProvider delivers Promise\n */\n nonce: txOverrides?.nonce || (await contractProvider.getTransactionCount(from)),\n });\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n }\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n };\n}\n\nfunction getApprovedAmount({ provider, chain }: ToolboxWrapParams) {\n return function approveAmount({ assetAddress, spenderAddress, from }: IsApprovedParams) {\n const call = getCall({ chain, isEIP1559Compatible: true, provider });\n\n return call<bigint>({\n abi: erc20ABI,\n contractAddress: assetAddress,\n funcName: \"allowance\",\n funcParams: [from, spenderAddress],\n });\n };\n}\n\nfunction getIsApproved({ provider, chain }: ToolboxWrapParams) {\n return async function isApproved({ assetAddress, spenderAddress, from, amount = MAX_APPROVAL }: IsApprovedParams) {\n const approvedAmount = await getApprovedAmount({ chain, provider })({ assetAddress, from, spenderAddress });\n\n return SwapKitNumber.fromBigInt(approvedAmount).gte(SwapKitNumber.fromBigInt(BigInt(amount)));\n };\n}\n\nfunction getApprove({ signer, isEIP1559Compatible = true, provider, chain }: ToolboxWrapParams) {\n return async function approve({\n assetAddress,\n spenderAddress,\n feeOptionKey = FeeOption.Fast,\n amount,\n gasLimitFallback,\n from: fromParam,\n nonce,\n }: ApproveParams) {\n const funcParams = [spenderAddress, BigInt(amount || MAX_APPROVAL)];\n const from = (await signer?.getAddress()) || fromParam;\n\n const functionCallParams = {\n abi: erc20ABI,\n contractAddress: assetAddress,\n funcName: \"approve\",\n funcParams,\n signer,\n txOverrides: { from },\n };\n\n if (isBrowserProvider(provider)) {\n const createTx = getCreateContractTxObject({ chain, provider });\n const sendTx = getEIP1193SendTransaction(provider);\n const txObject = await createTx(functionCallParams);\n\n return sendTx(txObject);\n }\n\n const call = getCall({ chain, isEIP1559Compatible, provider, signer });\n\n return call<string>({\n ...functionCallParams,\n feeOption: feeOptionKey,\n funcParams,\n txOverrides: { from, gasLimit: gasLimitFallback ? BigInt(gasLimitFallback.toString()) : undefined, nonce },\n });\n };\n}\n\nfunction getTransfer({ signer, isEIP1559Compatible = true, provider }: ToolboxWrapParams) {\n return async function transfer({\n assetValue,\n memo,\n recipient,\n feeOptionKey = FeeOption.Fast,\n sender,\n // data,\n // from: fromOverride,\n // maxFeePerGas,\n // maxPriorityFeePerGas,\n // gasPrice,\n ...tx\n }: EVMTransferParams) {\n const { hexlify, toUtf8Bytes } = await import(\"ethers\");\n const txAmount = assetValue.getBaseValue(\"bigint\");\n const chain = assetValue.chain as EVMChain;\n const from = sender || (await signer?.getAddress());\n const sendTx = getSendTransaction({ chain, isEIP1559Compatible, provider, signer });\n\n if (!from) throw new SwapKitError(\"toolbox_evm_no_from_address\");\n\n if (assetValue.isGasAsset) {\n const transaction = {\n ...tx,\n data: hexlify(toUtf8Bytes(memo || \"\")),\n feeOptionKey,\n from,\n to: recipient,\n value: txAmount,\n };\n\n return sendTx(transaction);\n }\n\n // const call = getCall({ signer, provider, isEIP1559Compatible });\n const contractAddress = getTokenAddress(assetValue, chain);\n if (!contractAddress) throw new SwapKitError(\"toolbox_evm_no_contract_address\");\n\n const { maxFeePerGas, maxPriorityFeePerGas, gasPrice } = (\n await getEstimateGasPrices({ chain, isEIP1559Compatible, provider })()\n )[feeOptionKey];\n\n const transaction = await getCreateTransferTx({ chain, provider, signer })({\n assetValue,\n data: hexlify(toUtf8Bytes(memo || \"\")),\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n memo,\n recipient,\n sender: from,\n });\n\n return sendTx(transaction);\n };\n}\n\nfunction getEstimateCall({ provider, signer }: { signer?: Signer; provider: Provider }) {\n return function estimateCall({ contractAddress, abi, funcName, funcParams = [], txOverrides }: EstimateCallParams) {\n if (!contractAddress) throw new SwapKitError(\"toolbox_evm_no_contract_address\");\n\n const contract = createContract(contractAddress, abi, provider);\n return signer\n ? contract\n .connect(signer)\n .getFunction(funcName)\n .estimateGas(...funcParams, txOverrides)\n : contract.getFunction(funcName).estimateGas(...funcParams, txOverrides);\n };\n}\n\nfunction getEstimateGasLimit({ provider, signer }: ToolboxWrapParams) {\n return async function estimateGasLimit({\n assetValue,\n recipient,\n memo,\n data,\n sender,\n funcName,\n funcParams,\n txOverrides,\n }: EVMTransferParams & {\n assetValue: AssetValue;\n funcName?: string;\n funcParams?: unknown[];\n txOverrides?: EVMTxParams;\n data?: string;\n }) {\n // const value = assetValue.getBaseValue(\"bigint\");\n const value = assetValue.bigIntValue;\n\n const assetAddress = assetValue.isGasAsset ? null : getTokenAddress(assetValue, assetValue.chain as EVMChain);\n\n if (assetAddress && funcName) {\n const estimateCall = getEstimateCall({ provider, signer });\n // ERC20 gas estimate\n return estimateCall({ abi: erc20ABI, contractAddress: assetAddress, funcName, funcParams, txOverrides });\n }\n\n const { hexlify, toUtf8Bytes } = await import(\"ethers\");\n\n return provider.estimateGas({\n data: data ? data : memo ? hexlify(toUtf8Bytes(memo)) : undefined,\n from: sender,\n to: recipient,\n value,\n });\n };\n}\n\nconst isEIP1559Transaction = (tx: EVMTxParams) =>\n (tx as EIP1559TxParams).type === 2 ||\n !!(tx as EIP1559TxParams).maxFeePerGas ||\n !!(tx as EIP1559TxParams).maxPriorityFeePerGas;\n\nfunction getSendTransaction({ provider, signer, isEIP1559Compatible = true, chain }: ToolboxWrapParams) {\n return async function sendTransaction({\n feeOptionKey = FeeOption.Fast,\n ...tx\n }: EVMTxParams & { feeOptionKey?: FeeOption }) {\n const { from, to, data, value, ...transaction } = tx;\n\n if (!signer) throw new SwapKitError(\"toolbox_evm_no_signer\");\n if (!to) throw new SwapKitError(\"toolbox_evm_no_to_address\");\n\n const parsedTxObject = { ...transaction, data: data || \"0x\", from, to, value: BigInt(value || 0) };\n\n // early return to skip gas estimation if provider is EIP-1193\n if (isBrowserProvider(provider)) {\n const sendTx = getEIP1193SendTransaction(provider);\n return sendTx(parsedTxObject);\n }\n\n const address = from || (await signer.getAddress());\n const nonce = tx.nonce || (await provider.getTransactionCount(address));\n const chainId = (await provider.getNetwork()).chainId;\n\n const isEIP1559 = isEIP1559Transaction(parsedTxObject) || isEIP1559Compatible;\n const estimateGasPrices = getEstimateGasPrices({ chain, isEIP1559Compatible, provider });\n\n const feeData =\n (isEIP1559 &&\n !(\n (parsedTxObject as EIP1559TxParams).maxFeePerGas && (parsedTxObject as EIP1559TxParams).maxPriorityFeePerGas\n )) ||\n !(parsedTxObject as LegacyEVMTxParams).gasPrice\n ? Object.entries((await estimateGasPrices())[feeOptionKey]).reduce(\n // biome-ignore lint/performance/noAccumulatingSpread: this is a small object\n (acc, [k, v]) => ({ ...acc, [k]: toHexString(BigInt(v)) }),\n {} as { maxFeePerGas?: string; maxPriorityFeePerGas?: string; gasPrice?: string },\n )\n : {};\n let gasLimit: string;\n try {\n gasLimit = toHexString(parsedTxObject.gasLimit || ((await provider.estimateGas(parsedTxObject)) * 11n) / 10n);\n } catch (error) {\n throw new SwapKitError(\"toolbox_evm_error_estimating_gas_limit\", { error });\n }\n\n try {\n const txObject = { ...parsedTxObject, chainId, gasLimit, nonce, type: isEIP1559 ? 2 : 0, ...feeData };\n\n try {\n const response = await signer.sendTransaction(txObject);\n return response.hash;\n } catch {\n const txHex = await signer.signTransaction({ ...txObject, from: address });\n const response = await provider.broadcastTransaction(txHex);\n return response.hash;\n }\n } catch (error) {\n throw new SwapKitError(\"toolbox_evm_error_sending_transaction\", { error });\n }\n };\n}\n\nfunction getCreateTransferTx({ provider, signer }: ToolboxWrapParams) {\n return async function createTransferTx({\n assetValue,\n memo,\n recipient,\n data,\n sender: fromOverride,\n maxFeePerGas,\n maxPriorityFeePerGas,\n gasPrice,\n ...tx\n }: EVMCreateTransactionParams) {\n const txAmount = assetValue.getBaseValue(\"bigint\");\n const chain = assetValue.chain as EVMChain;\n const from = fromOverride || (await signer?.getAddress());\n\n if (!from) throw new SwapKitError(\"toolbox_evm_no_from_address\");\n\n if (isGasAsset(assetValue)) {\n const { hexlify, toUtf8Bytes } = await import(\"ethers\");\n\n return { ...tx, data: data || hexlify(toUtf8Bytes(memo || \"\")), from, to: recipient, value: txAmount };\n }\n\n const contractAddress = getTokenAddress(assetValue, chain);\n if (!contractAddress) throw new SwapKitError(\"toolbox_evm_no_contract_address\");\n const createTx = getCreateContractTxObject({ chain: assetValue.chain as EVMChain, provider });\n\n return createTx({\n abi: erc20ABI,\n contractAddress,\n funcName: \"transfer\",\n funcParams: [recipient, txAmount],\n txOverrides: { from, gasPrice, maxFeePerGas, maxPriorityFeePerGas },\n });\n };\n}\n\nfunction getCreateApprovalTx({ provider, signer, chain }: ToolboxWrapParams) {\n return async function createApprovalTx({ assetAddress, spenderAddress, amount, from: fromParam }: ApproveParams) {\n const from = (await signer?.getAddress()) || fromParam;\n\n const createTx = getCreateContractTxObject({ chain, provider });\n const approvalAmount = [\"bigint\", \"number\"].includes(typeof amount)\n ? (amount as bigint | number)\n : amount || MAX_APPROVAL;\n\n const txObject = await createTx({\n abi: erc20ABI,\n contractAddress: assetAddress,\n funcName: \"approve\",\n funcParams: [spenderAddress, BigInt(approvalAmount)],\n txOverrides: { from },\n });\n\n return txObject;\n };\n}\n\nfunction getEstimateTransactionFee({\n provider,\n isEIP1559Compatible = true,\n}: {\n provider: Provider | BrowserProvider;\n isEIP1559Compatible?: boolean;\n chain: EVMChain;\n}) {\n return async function estimateTransactionFee({\n feeOption = FeeOption.Fast,\n chain,\n ...txObject\n }: EIP1559TxParams & { feeOption: FeeOption; chain: EVMChain }) {\n const estimateGasPrices = getEstimateGasPrices({ chain, isEIP1559Compatible, provider });\n const gasPrices = await estimateGasPrices();\n const gasLimit = await provider.estimateGas(txObject);\n\n const assetValue = AssetValue.from({ chain });\n const { gasPrice, maxFeePerGas, maxPriorityFeePerGas } = gasPrices[feeOption];\n\n if (!isEIP1559Compatible && gasPrice) {\n return assetValue.set(SwapKitNumber.fromBigInt(gasPrice * gasLimit, assetValue.decimal));\n }\n\n if (maxFeePerGas && maxPriorityFeePerGas) {\n const fee = (maxFeePerGas + maxPriorityFeePerGas) * gasLimit;\n\n return assetValue.set(SwapKitNumber.fromBigInt(fee, assetValue.decimal));\n }\n\n throw new SwapKitError(\"toolbox_evm_no_gas_price\");\n };\n}\n",
10
10
  "import { Chain, type EVMChain, FeeOption, getRPCUrl } from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\n\nimport { getEvmApi } from \"../api\";\nimport { multicallAbi } from \"../contracts/eth/multicall\";\nimport { getIsEIP1559Compatible, getNetworkParams, getProvider } from \"../helpers\";\nimport type { EVMToolboxParams } from \"../types\";\nimport { BaseEVMToolbox } from \"./baseEVMToolbox\";\n\nexport async function ETHToolbox({ provider, ...signer }: EVMToolboxParams) {\n const evmToolbox = await createEvmToolbox(Chain.Ethereum)({ provider, ...signer });\n async function multicall(\n callTuples: { address: string; data: string }[],\n multicallAddress = \"0x5ba1e12693dc8f9c48aad8770482f4739beed696\",\n funcName = \"aggregate\",\n feeOptionKey: FeeOption = FeeOption.Fast,\n ) {\n const txObject = await evmToolbox.createContractTxObject({\n abi: multicallAbi,\n contractAddress: multicallAddress,\n funcName,\n funcParams: [callTuples],\n });\n\n return evmToolbox.sendTransaction({ ...txObject, feeOptionKey });\n }\n\n return { ...evmToolbox, multicall };\n}\n\nexport const ARBToolbox = createEvmToolbox(Chain.Arbitrum);\nexport const AURORAToolbox = createEvmToolbox(Chain.Aurora);\nexport const AVAXToolbox = createEvmToolbox(Chain.Avalanche);\nexport const BASEToolbox = createEvmToolbox(Chain.Base);\nexport const BERAToolbox = createEvmToolbox(Chain.Berachain);\nexport const BSCToolbox = createEvmToolbox(Chain.BinanceSmartChain);\nexport const BotanixToolbox = createEvmToolbox(Chain.Botanix);\nexport const COREToolbox = createEvmToolbox(Chain.Core);\nexport const CORNToolbox = createEvmToolbox(Chain.Corn);\nexport const CROToolbox = createEvmToolbox(Chain.Cronos);\nexport const GNOToolbox = createEvmToolbox(Chain.Gnosis);\nexport const HYPEREVMToolbox = createEvmToolbox(Chain.Hyperevm);\nexport const MATICToolbox = createEvmToolbox(Chain.Polygon);\nexport const SONICToolbox = createEvmToolbox(Chain.Sonic);\nexport const UNIToolbox = createEvmToolbox(Chain.Unichain);\nexport const XLayerToolbox = createEvmToolbox(Chain.XLayer);\nexport const MONADToolbox = createEvmToolbox(Chain.Monad);\nexport const MEGAETHToolbox = createEvmToolbox(Chain.MegaETH as EVMChain);\n\nfunction createEvmToolbox<C extends EVMChain>(chain: C) {\n return async function createEvmToolbox({ provider: providerParam, ...toolboxSignerParams }: EVMToolboxParams) {\n const { HDNodeWallet } = await import(\"ethers\");\n const rpcUrl = await getRPCUrl(chain);\n\n const provider = providerParam || (await getProvider(chain, rpcUrl));\n\n const isEIP1559Compatible = getIsEIP1559Compatible(chain);\n const signer = match(toolboxSignerParams)\n .with({ phrase: P.string }, ({ phrase }) => HDNodeWallet.fromPhrase(phrase).connect(provider))\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n const evmToolbox = BaseEVMToolbox({ chain, isEIP1559Compatible, provider, signer });\n\n return { ...evmToolbox, getBalance: getEvmApi(chain).getBalance, getNetworkParams: getNetworkParams(chain) };\n };\n}\n",
@@ -14,7 +14,7 @@
14
14
  "import type {\n AssetValue,\n ChainSigner,\n DerivationPathArray,\n FeeOption,\n GenericCreateTransactionParams,\n GenericTransferParams,\n} from \"@swapkit/helpers\";\nimport { Chain } from \"@swapkit/helpers\";\nimport type {\n BigNumberish,\n BrowserProvider,\n JsonFragment,\n JsonRpcProvider,\n JsonRpcSigner,\n Signer,\n Transaction,\n} from \"ethers\";\nimport type { getProvider } from \"./index\";\nimport type {\n ARBToolbox,\n AURORAToolbox,\n AVAXToolbox,\n BASEToolbox,\n BERAToolbox,\n BSCToolbox,\n COREToolbox,\n CORNToolbox,\n CROToolbox,\n ETHToolbox,\n GNOToolbox,\n HYPEREVMToolbox,\n MATICToolbox,\n MEGAETHToolbox,\n MONADToolbox,\n OPToolbox,\n SONICToolbox,\n UNIToolbox,\n XLayerToolbox,\n} from \"./toolbox\";\n\nexport enum EthNetwork {\n Test = \"goerli\",\n Main = \"homestead\",\n}\n\nexport type ApproveParams = {\n assetAddress: string;\n spenderAddress: string;\n feeOptionKey?: FeeOption;\n amount?: BigNumberish;\n from?: string;\n // Optional fallback in case estimation for gas limit fails\n gasLimitFallback?: BigNumberish;\n nonce?: number;\n};\n\nexport type ApprovedParams = { assetAddress: string; spenderAddress: string; from: string };\n\nexport type IsApprovedParams = ApprovedParams & { amount?: BigNumberish };\n\nexport type CallParams = {\n callProvider?: Awaited<ReturnType<typeof getProvider>>;\n contractAddress: string;\n abi: readonly JsonFragment[];\n funcName: string;\n funcParams?: unknown[];\n txOverrides?: Partial<Transaction>;\n feeOption?: FeeOption;\n};\n\nexport type EstimateCallParams = Pick<\n CallParams,\n \"contractAddress\" | \"abi\" | \"funcName\" | \"funcParams\" | \"txOverrides\"\n>;\n\nexport type EVMTransferParams = GenericTransferParams & { sender?: string };\n\nexport type EVMCreateTransactionParams = Omit<GenericCreateTransactionParams, \"feeRate\"> & {\n gasLimit?: bigint;\n gasPrice?: bigint;\n maxFeePerGas?: bigint;\n maxPriorityFeePerGas?: bigint;\n data?: string;\n nonce?: number;\n};\n\nexport type EVMMaxSendableAmountsParams = {\n from: string;\n assetValue: AssetValue;\n feeOptionKey?: FeeOption;\n memo?: string;\n abi?: readonly JsonFragment[];\n funcName?: string;\n contractAddress?: string;\n funcParams?: unknown[];\n txOverrides?: Partial<Transaction>;\n};\n\nexport type EVMTxBaseParams<T = bigint> = {\n to?: string;\n from?: string;\n nonce?: number;\n gasLimit?: T;\n data?: string;\n value?: T;\n chainId?: T;\n};\n\nexport type EIP1559TxParams<T = bigint> = EVMTxBaseParams<T> & {\n type?: number;\n maxFeePerGas?: T;\n maxPriorityFeePerGas?: T;\n};\n\nexport type LegacyEVMTxParams<T = bigint> = EVMTxBaseParams<T> & { gasPrice?: T };\n\nexport type EVMTxParams = EIP1559TxParams | LegacyEVMTxParams;\n\nexport type EVMToolboxParams = { provider?: BrowserProvider | JsonRpcProvider } & (\n | { signer?: (ChainSigner<EVMTransferParams, string> & Signer) | JsonRpcSigner }\n | { phrase?: string; derivationPath?: DerivationPathArray; index?: number }\n);\n\nexport type EVMToolboxes = {\n [Chain.Arbitrum]: Awaited<ReturnType<typeof ARBToolbox>>;\n [Chain.Aurora]: Awaited<ReturnType<typeof AURORAToolbox>>;\n [Chain.Avalanche]: Awaited<ReturnType<typeof AVAXToolbox>>;\n [Chain.Base]: Awaited<ReturnType<typeof BASEToolbox>>;\n [Chain.Berachain]: Awaited<ReturnType<typeof BERAToolbox>>;\n [Chain.BinanceSmartChain]: Awaited<ReturnType<typeof BSCToolbox>>;\n [Chain.Botanix]: Awaited<ReturnType<typeof SONICToolbox>>;\n [Chain.Core]: Awaited<ReturnType<typeof COREToolbox>>;\n [Chain.Corn]: Awaited<ReturnType<typeof CORNToolbox>>;\n [Chain.Cronos]: Awaited<ReturnType<typeof CROToolbox>>;\n [Chain.Ethereum]: Awaited<ReturnType<typeof ETHToolbox>>;\n [Chain.Gnosis]: Awaited<ReturnType<typeof GNOToolbox>>;\n [Chain.Hyperevm]: Awaited<ReturnType<typeof HYPEREVMToolbox>>;\n [Chain.MegaETH]: Awaited<ReturnType<typeof MEGAETHToolbox>>;\n [Chain.Monad]: Awaited<ReturnType<typeof MONADToolbox>>;\n [Chain.Optimism]: Awaited<ReturnType<typeof OPToolbox>>;\n [Chain.Polygon]: Awaited<ReturnType<typeof MATICToolbox>>;\n [Chain.Sonic]: Awaited<ReturnType<typeof SONICToolbox>>;\n [Chain.Unichain]: Awaited<ReturnType<typeof UNIToolbox>>;\n [Chain.XLayer]: Awaited<ReturnType<typeof XLayerToolbox>>;\n};\n",
15
15
  "export * from \"./api\";\nexport * from \"./helpers\";\nexport * from \"./toolbox\";\nexport * from \"./types\";\n"
16
16
  ],
17
- "mappings": "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",
18
- "debugId": "5D479D57550081B064756E2164756E21",
17
+ "mappings": "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",
18
+ "debugId": "7F694473870BF94564756E2164756E21",
19
19
  "names": []
20
20
  }
@@ -1,4 +1,4 @@
1
- var on=Object.create;var{getPrototypeOf:an,defineProperty:Lt,getOwnPropertyNames:pn}=Object;var mn=Object.prototype.hasOwnProperty;var C=(t,y,n)=>{n=t!=null?on(an(t)):{};let u=y||!t||!t.__esModule?Lt(n,"default",{value:t,enumerable:!0}):n;for(let l of pn(t))if(!mn.call(u,l))Lt(u,l,{get:()=>t[l],enumerable:!0});return u};var xt=(t,y)=>{for(var n in y)Lt(t,n,{get:y[n],enumerable:!0,configurable:!0,set:(u)=>y[n]=()=>u})};var N=(t,y)=>()=>(t&&(y=t(t=0)),y);var i=((t)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(y,n)=>(typeof require<"u"?require:y)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});import{AssetValue as Tn,getChainConfig as bn}from"@swapkit/helpers";import{SwapKitApi as wn}from"@swapkit/helpers/api";function ny(){function t(){let y=Date.now(),n=Gt||y;return Gt=n,y>Gt?y:n+1}return Mn+t().toString(36)}function Ct(t){return async function(n,u=!0){let l=await wn.getChainBalance({address:n,chain:t,scamFilter:u}),{baseDecimal:e}=bn(t);return l.map(({identifier:o,value:p,decimal:a})=>{return new Tn({decimal:a||e,identifier:o,value:p})})}}var Mn,Gt=0;var it=N(()=>{Mn=typeof process<"u"&&process.pid?process.pid.toString(36):""});function h(t){return{getBalance:Ct(t)}}function cn(t){return t}var P=N(()=>{it()});import{Chain as c,getChainConfig as Et,getRPCUrl as Rn}from"@swapkit/helpers";import{match as Bn}from"ts-pattern";async function Q(t,y){let{JsonRpcProvider:n}=await import("ethers");return new n(y||await Rn(t))}function K(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function Ht(t){let{explorerUrl:y,chainId:n,rpcUrls:u}=Et(t);return()=>t===c.Ethereum?void 0:{...fn({chain:t}),blockExplorerUrls:[y],chainId:n,rpcUrls:u}}function qt(t){return![c.Arbitrum,c.BinanceSmartChain].includes(t)}function fn({chain:t}){let{name:y,nativeCurrency:n,baseDecimal:u}=Et(t);return Bn(t).with(c.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:u,name:"Ethereum",symbol:c.Ethereum}})).with(c.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:c.Ethereum}})).with(c.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:u,name:"Avalanche",symbol:t}})).with(c.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:c.Ethereum}})).with(c.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:u,name:"Berachain",symbol:"BERA"}})).with(c.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:u,name:"OKB",symbol:"OKB"}})).with(c.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:u,name:"Binance Coin",symbol:"BNB"}})).with(c.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:u,name:"xDAI",symbol:"XDAI"}})).with(c.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:c.Ethereum}})).with(c.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:u,name:"Polygon",symbol:c.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:u,name:n,symbol:n}}))}var E=()=>{};var jt;var st=N(()=>{jt=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as Dn,applyFeeMultiplierToBigInt as q,Chain as X,EVMChains as Un,FeeOption as m,isGasAsset as Ln,SwapKitError as M,SwapKitNumber as v}from"@swapkit/helpers";import{erc20ABI as A}from"@swapkit/helpers/contracts";import{BrowserProvider as Gn,Contract as St,getAddress as d,Interface as Vt}from"ethers";import{match as Hn}from"ts-pattern";function j({chain:t=X.Ethereum,provider:y,signer:n,isEIP1559Compatible:u=!0}){return{approve:Nn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),approvedAmount:Kt({chain:t,provider:y}),broadcastTransaction:y.broadcastTransaction,call:Wt({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),createApprovalTx:$n({chain:t,provider:y,signer:n}),createContract:kt({chain:t,provider:y}),createContractTxObject:Z({chain:t,provider:y}),createTransaction:zt({chain:t,provider:y,signer:n}),createTransferTx:zt({chain:t,provider:y,signer:n}),EIP1193SendTransaction:S(y),estimateCall:At({provider:y,signer:n}),estimateGasLimit:Wn({chain:t,provider:y,signer:n}),estimateGasPrices:x({chain:t,isEIP1559Compatible:u,provider:y}),estimateTransactionFee:Qn({chain:t,isEIP1559Compatible:u,provider:y}),getAddress:()=>{return n?n.getAddress():void 0},isApproved:kn({chain:t,provider:y}),sendTransaction:Ft({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),signMessage:n?(l)=>n.signMessage(l):void 0,transfer:Xn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),validateAddress:(l)=>Jt({address:l})}}function Jt({address:t}){try{return d(t),!0}catch{return!1}}function s(t){return t instanceof Gn}function I(t,y,n){return new St(t,Vt.from(y),n)}function kt({provider:t}){return function(n,u){return new St(n,Vt.from(u),t)}}function Nt({abi:t,funcName:y}){let n=t.find((u)=>u.name===y);if(!n)throw new M("toolbox_evm_no_abi_fragment",{funcName:y});return n.stateMutability&&qn.includes(n.stateMutability)}function _t(t){return d(t)}function S(t){return function({value:n,...u}){if(!s(t))throw new M("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:l,gasPrice:e,maxFeePerGas:o,maxPriorityFeePerGas:p,...a}=u;return t.send("eth_sendTransaction",[{...a,value:K(BigInt(n||0))}])}}function ht(t,y){let n=V(t,y);if(n)return d(n.toLowerCase());throw new M("toolbox_evm_invalid_gas_asset_address")}function V({chain:t,symbol:y,ticker:n},u){try{let l=t===X.BinanceSmartChain&&y==="BNB"&&n==="BNB",e=t===u&&y===u&&n===u,o=Jn.includes(t)&&y==="ETH"&&n==="ETH";if(e||l||o)return Xt[u];return d(y.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function Z({provider:t}){return async({contractAddress:y,abi:n,funcName:u,funcParams:l=[],txOverrides:e})=>I(y,n,t).getFunction(u).populateTransaction(...l.concat(e).filter((o)=>typeof o<"u"))}function x({chain:t,provider:y,isEIP1559Compatible:n=!0}){return Hn(t).with(X.Gnosis,()=>{return async function(){try{let{gasPrice:l,maxPriorityFeePerGas:e}=await y.getFeeData();if(!l||e===null)throw new M("toolbox_evm_no_fee_data");return{[m.Average]:{maxFeePerGas:q(l,m.Average),maxPriorityFeePerGas:q(e,m.Average)},[m.Fast]:{maxFeePerGas:q(l,m.Fast),maxPriorityFeePerGas:q(e,m.Fast)},[m.Fastest]:{maxFeePerGas:q(l,m.Fastest),maxPriorityFeePerGas:q(e,m.Fastest)}}}catch(l){throw new M("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).with(X.Arbitrum,()=>{return async function(){try{let{gasPrice:l}=await y.getFeeData();if(!l)throw new M("toolbox_evm_no_fee_data");return{[m.Average]:{gasPrice:l},[m.Fast]:{gasPrice:l},[m.Fastest]:{gasPrice:l}}}catch(l){throw new M("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:l,maxPriorityFeePerGas:e,gasPrice:o}=await y.getFeeData();if(n){if(l===null||e===null)throw new M("toolbox_evm_no_fee_data");return{[m.Average]:{maxFeePerGas:l,maxPriorityFeePerGas:e},[m.Fast]:{maxFeePerGas:q(l,m.Fast),maxPriorityFeePerGas:q(e,m.Fast)},[m.Fastest]:{maxFeePerGas:q(l,m.Fastest),maxPriorityFeePerGas:q(e,m.Fastest)}}}if(!o)throw new M("toolbox_evm_no_gas_price");return{[m.Average]:{gasPrice:o},[m.Fast]:{gasPrice:q(o,m.Fast)},[m.Fastest]:{gasPrice:q(o,m.Fastest)}}}catch(l){throw new M("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}})}function Wt({provider:t,isEIP1559Compatible:y,signer:n,chain:u}){return async function({callProvider:e,contractAddress:o,abi:p,funcName:a,funcParams:w=[],txOverrides:b={},feeOption:L=m.Fast}){let T=e||t;if(!o)throw new M("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=Nt({abi:p,funcName:a});if(B&&s(T)&&n){let z=Z({chain:u,provider:T}),J=b?.from||await n?.getAddress(),k=await z({abi:p,contractAddress:o,funcName:a,funcParams:w,txOverrides:{...b,from:J}});return S(T)(k)}let U=I(o,p,T);if(B){if(!n)throw new M("toolbox_evm_no_signer");let z=b?.from||await n.getAddress();if(!z)throw new M("toolbox_evm_no_signer_address");let J=U.connect(n),k=x({chain:u,isEIP1559Compatible:y,provider:t}),{maxFeePerGas:$,maxPriorityFeePerGas:H,gasPrice:Y}=(await k())[L],O=await U.getFunction(a).estimateGas(...w,b),Ut=await J[a](...w,{...b,gasLimit:O,gasPrice:Y,maxFeePerGas:$,maxPriorityFeePerGas:H,nonce:b?.nonce||await T.getTransactionCount(z)});return typeof Ut?.hash==="string"?Ut?.hash:Ut}let G=await U[a]?.(...w);return typeof G?.hash==="string"?G?.hash:G}}function Kt({provider:t,chain:y}){return function({assetAddress:u,spenderAddress:l,from:e}){return Wt({chain:y,isEIP1559Compatible:!0,provider:t})({abi:A,contractAddress:u,funcName:"allowance",funcParams:[e,l]})}}function kn({provider:t,chain:y}){return async function({assetAddress:u,spenderAddress:l,from:e,amount:o=F}){let p=await Kt({chain:y,provider:t})({assetAddress:u,from:e,spenderAddress:l});return v.fromBigInt(p).gte(v.fromBigInt(BigInt(o)))}}function Nn({signer:t,isEIP1559Compatible:y=!0,provider:n,chain:u}){return async function({assetAddress:e,spenderAddress:o,feeOptionKey:p=m.Fast,amount:a,gasLimitFallback:w,from:b,nonce:L}){let T=[o,BigInt(a||F)],B=await t?.getAddress()||b,U={abi:A,contractAddress:e,funcName:"approve",funcParams:T,signer:t,txOverrides:{from:B}};if(s(n)){let z=Z({chain:u,provider:n}),J=S(n),k=await z(U);return J(k)}return Wt({chain:u,isEIP1559Compatible:y,provider:n,signer:t})({...U,feeOption:p,funcParams:T,txOverrides:{from:B,gasLimit:w?BigInt(w.toString()):void 0,nonce:L}})}}function Xn({signer:t,isEIP1559Compatible:y=!0,provider:n}){return async function({assetValue:l,memo:e,recipient:o,feeOptionKey:p=m.Fast,sender:a,...w}){let{hexlify:b,toUtf8Bytes:L}=await import("ethers"),T=l.getBaseValue("bigint"),B=l.chain,U=a||await t?.getAddress(),G=Ft({chain:B,isEIP1559Compatible:y,provider:n,signer:t});if(!U)throw new M("toolbox_evm_no_from_address");if(l.isGasAsset){let Y={...w,data:b(L(e||"")),feeOptionKey:p,from:U,to:o,value:T};return G(Y)}if(!V(l,B))throw new M("toolbox_evm_no_contract_address");let{maxFeePerGas:J,maxPriorityFeePerGas:k,gasPrice:$}=(await x({chain:B,isEIP1559Compatible:y,provider:n})())[p],H=await zt({chain:B,provider:n,signer:t})({assetValue:l,data:b(L(e||"")),gasPrice:$,maxFeePerGas:J,maxPriorityFeePerGas:k,memo:e,recipient:o,sender:U});return G(H)}}function At({provider:t,signer:y}){return function({contractAddress:u,abi:l,funcName:e,funcParams:o=[],txOverrides:p}){if(!u)throw new M("toolbox_evm_no_contract_address");let a=I(u,l,t);return y?a.connect(y).getFunction(e).estimateGas(...o,p):a.getFunction(e).estimateGas(...o,p)}}function Wn({provider:t,signer:y}){return async function({assetValue:u,recipient:l,memo:e,data:o,sender:p,funcName:a,funcParams:w,txOverrides:b}){let L=u.bigIntValue,T=u.isGasAsset?null:V(u,u.chain);if(T&&a)return At({provider:t,signer:y})({abi:A,contractAddress:T,funcName:a,funcParams:w,txOverrides:b});let{hexlify:B,toUtf8Bytes:U}=await import("ethers");return t.estimateGas({data:o?o:e?B(U(e)):void 0,from:p,to:l,value:L})}}function Ft({provider:t,signer:y,isEIP1559Compatible:n=!0,chain:u}){return async function({feeOptionKey:e=m.Fast,...o}){let{from:p,to:a,data:w,value:b,...L}=o;if(!y)throw new M("toolbox_evm_no_signer");if(!a)throw new M("toolbox_evm_no_to_address");let T={...L,data:w||"0x",from:p,to:a,value:BigInt(b||0)};if(s(t))return S(t)(T);let B=p||await y.getAddress(),U=o.nonce||await t.getTransactionCount(B),G=(await t.getNetwork()).chainId,z=Yn(T)||n,J=x({chain:u,isEIP1559Compatible:n,provider:t}),k=z&&!(T.maxFeePerGas&&T.maxPriorityFeePerGas)||!T.gasPrice?Object.entries((await J())[e]).reduce((H,[Y,O])=>({...H,[Y]:K(BigInt(O))}),{}):{},$;try{$=K(T.gasLimit||await t.estimateGas(T)*11n/10n)}catch(H){throw new M("toolbox_evm_error_estimating_gas_limit",{error:H})}try{let H={...T,chainId:G,gasLimit:$,nonce:U,type:z?2:0,...k};try{return(await y.sendTransaction(H)).hash}catch{let Y=await y.signTransaction({...H,from:B});return(await t.broadcastTransaction(Y)).hash}}catch(H){throw new M("toolbox_evm_error_sending_transaction",{error:H})}}}function zt({provider:t,signer:y}){return async function({assetValue:u,memo:l,recipient:e,data:o,sender:p,maxFeePerGas:a,maxPriorityFeePerGas:w,gasPrice:b,...L}){let T=u.getBaseValue("bigint"),B=u.chain,U=p||await y?.getAddress();if(!U)throw new M("toolbox_evm_no_from_address");if(Ln(u)){let{hexlify:J,toUtf8Bytes:k}=await import("ethers");return{...L,data:o||J(k(l||"")),from:U,to:e,value:T}}let G=V(u,B);if(!G)throw new M("toolbox_evm_no_contract_address");return Z({chain:u.chain,provider:t})({abi:A,contractAddress:G,funcName:"transfer",funcParams:[e,T],txOverrides:{from:U,gasPrice:b,maxFeePerGas:a,maxPriorityFeePerGas:w}})}}function $n({provider:t,signer:y,chain:n}){return async function({assetAddress:l,spenderAddress:e,amount:o,from:p}){let a=await y?.getAddress()||p,w=Z({chain:n,provider:t}),b=["bigint","number"].includes(typeof o)?o:o||F;return await w({abi:A,contractAddress:l,funcName:"approve",funcParams:[e,BigInt(b)],txOverrides:{from:a}})}}function Qn({provider:t,isEIP1559Compatible:y=!0}){return async function({feeOption:u=m.Fast,chain:l,...e}){let p=await x({chain:l,isEIP1559Compatible:y,provider:t})(),a=await t.estimateGas(e),w=Dn.from({chain:l}),{gasPrice:b,maxFeePerGas:L,maxPriorityFeePerGas:T}=p[u];if(!y&&b)return w.set(v.fromBigInt(b*a,w.decimal));if(L&&T){let B=(L+T)*a;return w.set(v.fromBigInt(B,w.decimal))}throw new M("toolbox_evm_no_gas_price")}}var F,qn,zn,Xt,Jn,Yn=(t)=>t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas;var r=N(()=>{E();F=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");qn=["payable","nonpayable"];zn=Un.reduce((t,y)=>{return t[y]="0x0000000000000000000000000000000000000000",t},{}),Xt={...zn,[X.Optimism]:"0x4200000000000000000000000000000000000042",[X.Polygon]:"0x0000000000000000000000000000000000001010"},Jn=[X.Arbitrum,X.Aurora,X.Base,X.Optimism]});import{Chain as f,FeeOption as Zn,getRPCUrl as xn}from"@swapkit/helpers";import{match as Cn,P as It}from"ts-pattern";async function tt({provider:t,...y}){let n=await D(f.Ethereum)({provider:t,...y});async function u(l,e="0x5ba1e12693dc8f9c48aad8770482f4739beed696",o="aggregate",p=Zn.Fast){let a=await n.createContractTxObject({abi:jt,contractAddress:e,funcName:o,funcParams:[l]});return n.sendTransaction({...a,feeOptionKey:p})}return{...n,multicall:u}}function D(t){return async function({provider:n,...u}){let{HDNodeWallet:l}=await import("ethers"),e=await xn(t),o=n||await Q(t,e),p=qt(t),a=Cn(u).with({phrase:It.string},({phrase:b})=>l.fromPhrase(b).connect(o)).with({signer:It.any},({signer:b})=>b).otherwise(()=>{return});return{...j({chain:t,isEIP1559Compatible:p,provider:o,signer:a}),getBalance:h(t).getBalance,getNetworkParams:Ht(t)}}}var nt,yt,ut,lt,et,ot,gt,at,pt,mt,Tt,bt,wt,g,Mt,ct,Rt,Bt;var Yt=N(()=>{P();st();E();r();nt=D(f.Arbitrum),yt=D(f.Aurora),ut=D(f.Avalanche),lt=D(f.Base),et=D(f.Berachain),ot=D(f.BinanceSmartChain),gt=D(f.Botanix),at=D(f.Core),pt=D(f.Corn),mt=D(f.Cronos),Tt=D(f.Gnosis),bt=D(f.Hyperevm),wt=D(f.Polygon),g=D(f.Sonic),Mt=D(f.Unichain),ct=D(f.XLayer),Rt=D(f.Monad),Bt=D(f.MegaETH)});var Ot;var Pt=N(()=>{Ot=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as _,Chain as ft,FeeOption as W,getChainConfig as jn,getRPCUrl as sn,SwapKitError as $t}from"@swapkit/helpers";import{Contract as Sn,HDNodeWallet as Vn}from"ethers";import{match as _n,P as vt}from"ts-pattern";function Qt(t){return new Sn(hn,Ot,t)}function dt(t){return async function(){let n=Qt(t);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function rt(t){return async function({from:n,to:u,nonce:l,...e}){let{Transaction:o}=await import("ethers");if(!u)throw new $t("toolbox_evm_invalid_transaction",{error:"Missing to address"});return o.from({...e,authorizationList:e.authorizationList,nonce:l?l:n?await t.getTransactionCount(n):0,to:u}).serialized}}function tn(t){return async function(n){let u=Qt(t),l=await rt(t)(n);if(u&&"getL1Fee"in u)return u.getL1Fee(l)}}function nn(t){return async function(n){let u=await t.send("eth_gasPrice",[]),l=await t.estimateGas(n);return u.mul(l)}}function Kn(t){return async function(n){let u=await tn(t)(n),l=await nn(t)(n);return u.add(l)}}function An(t){return async function(n){let u=Qt(t),l=await rt(t)(n);if(u&&"getL1GasUsed"in u)return u.getL1GasUsed(l)}}function Fn(){let{baseDecimal:t,chainId:y,explorerUrl:n,name:u,rpcUrls:l}=jn(ft.Optimism);return{blockExplorerUrls:[n],chainId:y,chainName:u,nativeCurrency:{decimals:t,name:"Ethereum",symbol:ft.Ethereum},rpcUrls:l}}async function In(t){try{let{maxFeePerGas:y,maxPriorityFeePerGas:n,gasPrice:u}=await t.getFeeData(),l=await dt(t)(),e=u;if(!(y&&n))throw new $t("toolbox_evm_no_fee_data");return{[W.Average]:{gasPrice:e,l1GasPrice:l,maxFeePerGas:y,maxPriorityFeePerGas:n},[W.Fast]:{gasPrice:_(e,W.Fast),l1GasPrice:_(l||0n,W.Fast),maxFeePerGas:y,maxPriorityFeePerGas:_(n,W.Fast)},[W.Fastest]:{gasPrice:_(e,W.Fastest),l1GasPrice:_(l||0n,W.Fastest),maxFeePerGas:y,maxPriorityFeePerGas:_(n,W.Fastest)}}}catch(y){throw new $t("toolbox_evm_gas_estimation_error",{error:y.msg??y.toString()})}}async function Dt({provider:t,...y}){let n=ft.Optimism,u=await sn(n),l=t||await Q(n,u),e=_n(y).with({phrase:vt.string},({phrase:a})=>Vn.fromPhrase(a).connect(l)).with({signer:vt.any},({signer:a})=>a).otherwise(()=>{return}),o=j({provider:l,signer:e}),p=dt(l);return{...o,estimateGasPrices:In(l),estimateL1Gas:An(l),estimateL1GasCost:tn(l),estimateL2GasCost:nn(l),estimateTotalGasCost:Kn(l),getBalance:h(ft.Optimism).getBalance,getL1GasPrice:p,getNetworkParams:Fn}}var hn="0x420000000000000000000000000000000000000f";var Zt=N(()=>{P();Pt();E();r()});var On={};xt(On,{toChecksumAddress:()=>_t,isStateChangingCall:()=>Nt,isBrowserProvider:()=>s,getTokenAddress:()=>V,getEvmToolbox:()=>yn,getEstimateGasPrices:()=>x,getEIP1193SendTransaction:()=>S,getCreateContractTxObject:()=>Z,getCreateContract:()=>kt,getChecksumAddressFromAsset:()=>ht,evmValidateAddress:()=>Jt,createContract:()=>I,XLayerToolbox:()=>ct,UNIToolbox:()=>Mt,SONICToolbox:()=>g,OPToolbox:()=>Dt,MONADToolbox:()=>Rt,MEGAETHToolbox:()=>Bt,MAX_APPROVAL:()=>F,MATICToolbox:()=>wt,HYPEREVMToolbox:()=>bt,GNOToolbox:()=>Tt,ETHToolbox:()=>tt,ContractAddress:()=>Xt,CROToolbox:()=>mt,CORNToolbox:()=>pt,COREToolbox:()=>at,BotanixToolbox:()=>gt,BaseEVMToolbox:()=>j,BSCToolbox:()=>ot,BERAToolbox:()=>et,BASEToolbox:()=>lt,AVAXToolbox:()=>ut,AURORAToolbox:()=>yt,ARBToolbox:()=>nt});import{Chain as R}from"@swapkit/helpers";import{match as gn}from"ts-pattern";async function yn(t,y){let n={...y,provider:y?.provider||await Q(t)};return gn(t).returnType().with(R.Arbitrum,()=>nt(n)).with(R.Aurora,()=>yt(n)).with(R.Avalanche,()=>ut(n)).with(R.Base,()=>lt(n)).with(R.Berachain,()=>et(n)).with(R.BinanceSmartChain,()=>ot(n)).with(R.Botanix,()=>g(n)).with(R.Core,()=>at(n)).with(R.Corn,()=>pt(n)).with(R.Cronos,()=>mt(n)).with(R.Ethereum,()=>tt(n)).with(R.Gnosis,()=>Tt(n)).with(R.Hyperevm,()=>bt(n)).with(R.Optimism,()=>Dt(n)).with(R.Polygon,()=>wt(n)).with(R.Sonic,()=>g(n)).with(R.Unichain,()=>Mt(n)).with(R.XLayer,()=>ct(n)).with(R.Monad,()=>Rt(n)).with(R.MegaETH,()=>Bt(n)).exhaustive()}var un=N(()=>{E();Yt();Zt();r();Yt();Zt()});var ln;var en=N(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(ln||={})});var Pn={};xt(Pn,{toHexString:()=>K,toChecksumAddress:()=>_t,isStateChangingCall:()=>Nt,isBrowserProvider:()=>s,getTokenAddress:()=>V,getProvider:()=>Q,getNetworkParams:()=>Ht,getIsEIP1559Compatible:()=>qt,getEvmToolbox:()=>yn,getEvmApi:()=>h,getEstimateGasPrices:()=>x,getEIP1193SendTransaction:()=>S,getCreateContractTxObject:()=>Z,getCreateContract:()=>kt,getChecksumAddressFromAsset:()=>ht,evmValidateAddress:()=>Jt,createCustomEvmApi:()=>cn,createContract:()=>I,XLayerToolbox:()=>ct,UNIToolbox:()=>Mt,SONICToolbox:()=>g,OPToolbox:()=>Dt,MONADToolbox:()=>Rt,MEGAETHToolbox:()=>Bt,MAX_APPROVAL:()=>F,MATICToolbox:()=>wt,HYPEREVMToolbox:()=>bt,GNOToolbox:()=>Tt,EthNetwork:()=>ln,ETHToolbox:()=>tt,ContractAddress:()=>Xt,CROToolbox:()=>mt,CORNToolbox:()=>pt,COREToolbox:()=>at,BotanixToolbox:()=>gt,BaseEVMToolbox:()=>j,BSCToolbox:()=>ot,BERAToolbox:()=>et,BASEToolbox:()=>lt,AVAXToolbox:()=>ut,AURORAToolbox:()=>yt,ARBToolbox:()=>nt});var vn=N(()=>{P();E();un();en()});vn();export{K as toHexString,_t as toChecksumAddress,Nt as isStateChangingCall,s as isBrowserProvider,V as getTokenAddress,Q as getProvider,Ht as getNetworkParams,qt as getIsEIP1559Compatible,yn as getEvmToolbox,h as getEvmApi,x as getEstimateGasPrices,S as getEIP1193SendTransaction,Z as getCreateContractTxObject,kt as getCreateContract,ht as getChecksumAddressFromAsset,Jt as evmValidateAddress,cn as createCustomEvmApi,I as createContract,ct as XLayerToolbox,Mt as UNIToolbox,g as SONICToolbox,Dt as OPToolbox,Rt as MONADToolbox,Bt as MEGAETHToolbox,F as MAX_APPROVAL,wt as MATICToolbox,bt as HYPEREVMToolbox,Tt as GNOToolbox,ln as EthNetwork,tt as ETHToolbox,Xt as ContractAddress,mt as CROToolbox,pt as CORNToolbox,at as COREToolbox,gt as BotanixToolbox,j as BaseEVMToolbox,ot as BSCToolbox,et as BERAToolbox,lt as BASEToolbox,ut as AVAXToolbox,yt as AURORAToolbox,nt as ARBToolbox};
1
+ var on=Object.create;var{getPrototypeOf:an,defineProperty:Lt,getOwnPropertyNames:pn}=Object;var mn=Object.prototype.hasOwnProperty;var i=(t,y,n)=>{n=t!=null?on(an(t)):{};let u=y||!t||!t.__esModule?Lt(n,"default",{value:t,enumerable:!0}):n;for(let l of pn(t))if(!mn.call(u,l))Lt(u,l,{get:()=>t[l],enumerable:!0});return u};var xt=(t,y)=>{for(var n in y)Lt(t,n,{get:y[n],enumerable:!0,configurable:!0,set:(u)=>y[n]=()=>u})};var N=(t,y)=>()=>(t&&(y=t(t=0)),y);var C=((t)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(y,n)=>(typeof require<"u"?require:y)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});import{AssetValue as Tn,getChainConfig as bn}from"@swapkit/helpers";import{SwapKitApi as wn}from"@swapkit/helpers/api";function ny(){function t(){let y=Date.now(),n=Gt||y;return Gt=n,y>Gt?y:n+1}return Mn+t().toString(36)}function it(t){return async function(n,u=!0){let l=await wn.getChainBalance({address:n,chain:t,scamFilter:u}),{baseDecimal:e}=bn(t);return l.map(({identifier:o,value:p,decimal:a})=>{return new Tn({decimal:a||e,identifier:o,value:p})})}}var Mn,Gt=0;var Ct=N(()=>{Mn=typeof process<"u"&&process.pid?process.pid.toString(36):""});function h(t){return{getBalance:it(t)}}function cn(t){return t}var P=N(()=>{Ct()});import{Chain as c,getChainConfig as Et,getRPCUrl as Rn}from"@swapkit/helpers";import{match as Bn}from"ts-pattern";async function Q(t,y){let{JsonRpcProvider:n}=await import("ethers");return new n(y||await Rn(t))}function K(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function Ht(t){let{explorerUrl:y,chainIdHex:n,rpcUrls:u}=Et(t);return()=>t===c.Ethereum?void 0:{...fn({chain:t}),blockExplorerUrls:[y],chainId:n,rpcUrls:u}}function qt(t){return![c.Arbitrum,c.BinanceSmartChain].includes(t)}function fn({chain:t}){let{name:y,nativeCurrency:n,baseDecimal:u}=Et(t);return Bn(t).with(c.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:u,name:"Ethereum",symbol:c.Ethereum}})).with(c.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:c.Ethereum}})).with(c.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:u,name:"Avalanche",symbol:t}})).with(c.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:c.Ethereum}})).with(c.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:u,name:"Berachain",symbol:"BERA"}})).with(c.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:u,name:"OKB",symbol:"OKB"}})).with(c.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:u,name:"Binance Coin",symbol:"BNB"}})).with(c.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:u,name:"xDAI",symbol:"XDAI"}})).with(c.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:c.Ethereum}})).with(c.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:u,name:"Polygon",symbol:c.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:u,name:n,symbol:n}}))}var E=()=>{};var jt;var st=N(()=>{jt=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as Dn,applyFeeMultiplierToBigInt as q,Chain as X,EVMChains as Un,FeeOption as m,isGasAsset as Ln,SwapKitError as M,SwapKitNumber as v}from"@swapkit/helpers";import{erc20ABI as A}from"@swapkit/helpers/contracts";import{BrowserProvider as Gn,Contract as St,getAddress as d,Interface as Vt}from"ethers";import{match as Hn}from"ts-pattern";function j({chain:t=X.Ethereum,provider:y,signer:n,isEIP1559Compatible:u=!0}){return{approve:Nn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),approvedAmount:Kt({chain:t,provider:y}),broadcastTransaction:y.broadcastTransaction,call:Wt({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),createApprovalTx:$n({chain:t,provider:y,signer:n}),createContract:kt({chain:t,provider:y}),createContractTxObject:Z({chain:t,provider:y}),createTransaction:zt({chain:t,provider:y,signer:n}),createTransferTx:zt({chain:t,provider:y,signer:n}),EIP1193SendTransaction:S(y),estimateCall:At({provider:y,signer:n}),estimateGasLimit:Wn({chain:t,provider:y,signer:n}),estimateGasPrices:x({chain:t,isEIP1559Compatible:u,provider:y}),estimateTransactionFee:Qn({chain:t,isEIP1559Compatible:u,provider:y}),getAddress:()=>{return n?n.getAddress():void 0},isApproved:kn({chain:t,provider:y}),sendTransaction:Ft({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),signMessage:n?(l)=>n.signMessage(l):void 0,transfer:Xn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),validateAddress:(l)=>Jt({address:l})}}function Jt({address:t}){try{return d(t),!0}catch{return!1}}function s(t){return t instanceof Gn}function I(t,y,n){return new St(t,Vt.from(y),n)}function kt({provider:t}){return function(n,u){return new St(n,Vt.from(u),t)}}function Nt({abi:t,funcName:y}){let n=t.find((u)=>u.name===y);if(!n)throw new M("toolbox_evm_no_abi_fragment",{funcName:y});return n.stateMutability&&qn.includes(n.stateMutability)}function _t(t){return d(t)}function S(t){return function({value:n,...u}){if(!s(t))throw new M("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:l,gasPrice:e,maxFeePerGas:o,maxPriorityFeePerGas:p,...a}=u;return t.send("eth_sendTransaction",[{...a,value:K(BigInt(n||0))}])}}function ht(t,y){let n=V(t,y);if(n)return d(n.toLowerCase());throw new M("toolbox_evm_invalid_gas_asset_address")}function V({chain:t,symbol:y,ticker:n},u){try{let l=t===X.BinanceSmartChain&&y==="BNB"&&n==="BNB",e=t===u&&y===u&&n===u,o=Jn.includes(t)&&y==="ETH"&&n==="ETH";if(e||l||o)return Xt[u];return d(y.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function Z({provider:t}){return async({contractAddress:y,abi:n,funcName:u,funcParams:l=[],txOverrides:e})=>I(y,n,t).getFunction(u).populateTransaction(...l.concat(e).filter((o)=>typeof o<"u"))}function x({chain:t,provider:y,isEIP1559Compatible:n=!0}){return Hn(t).with(X.Gnosis,()=>{return async function(){try{let{gasPrice:l,maxPriorityFeePerGas:e}=await y.getFeeData();if(!l||e===null)throw new M("toolbox_evm_no_fee_data");return{[m.Average]:{maxFeePerGas:q(l,m.Average),maxPriorityFeePerGas:q(e,m.Average)},[m.Fast]:{maxFeePerGas:q(l,m.Fast),maxPriorityFeePerGas:q(e,m.Fast)},[m.Fastest]:{maxFeePerGas:q(l,m.Fastest),maxPriorityFeePerGas:q(e,m.Fastest)}}}catch(l){throw new M("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).with(X.Arbitrum,()=>{return async function(){try{let{gasPrice:l}=await y.getFeeData();if(!l)throw new M("toolbox_evm_no_fee_data");return{[m.Average]:{gasPrice:l},[m.Fast]:{gasPrice:l},[m.Fastest]:{gasPrice:l}}}catch(l){throw new M("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:l,maxPriorityFeePerGas:e,gasPrice:o}=await y.getFeeData();if(n){if(l===null||e===null)throw new M("toolbox_evm_no_fee_data");return{[m.Average]:{maxFeePerGas:l,maxPriorityFeePerGas:e},[m.Fast]:{maxFeePerGas:q(l,m.Fast),maxPriorityFeePerGas:q(e,m.Fast)},[m.Fastest]:{maxFeePerGas:q(l,m.Fastest),maxPriorityFeePerGas:q(e,m.Fastest)}}}if(!o)throw new M("toolbox_evm_no_gas_price");return{[m.Average]:{gasPrice:o},[m.Fast]:{gasPrice:q(o,m.Fast)},[m.Fastest]:{gasPrice:q(o,m.Fastest)}}}catch(l){throw new M("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}})}function Wt({provider:t,isEIP1559Compatible:y,signer:n,chain:u}){return async function({callProvider:e,contractAddress:o,abi:p,funcName:a,funcParams:w=[],txOverrides:b={},feeOption:L=m.Fast}){let T=e||t;if(!o)throw new M("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=Nt({abi:p,funcName:a});if(B&&s(T)&&n){let z=Z({chain:u,provider:T}),J=b?.from||await n?.getAddress(),k=await z({abi:p,contractAddress:o,funcName:a,funcParams:w,txOverrides:{...b,from:J}});return S(T)(k)}let U=I(o,p,T);if(B){if(!n)throw new M("toolbox_evm_no_signer");let z=b?.from||await n.getAddress();if(!z)throw new M("toolbox_evm_no_signer_address");let J=U.connect(n),k=x({chain:u,isEIP1559Compatible:y,provider:t}),{maxFeePerGas:$,maxPriorityFeePerGas:H,gasPrice:Y}=(await k())[L],O=await U.getFunction(a).estimateGas(...w,b),Ut=await J[a](...w,{...b,gasLimit:O,gasPrice:Y,maxFeePerGas:$,maxPriorityFeePerGas:H,nonce:b?.nonce||await T.getTransactionCount(z)});return typeof Ut?.hash==="string"?Ut?.hash:Ut}let G=await U[a]?.(...w);return typeof G?.hash==="string"?G?.hash:G}}function Kt({provider:t,chain:y}){return function({assetAddress:u,spenderAddress:l,from:e}){return Wt({chain:y,isEIP1559Compatible:!0,provider:t})({abi:A,contractAddress:u,funcName:"allowance",funcParams:[e,l]})}}function kn({provider:t,chain:y}){return async function({assetAddress:u,spenderAddress:l,from:e,amount:o=F}){let p=await Kt({chain:y,provider:t})({assetAddress:u,from:e,spenderAddress:l});return v.fromBigInt(p).gte(v.fromBigInt(BigInt(o)))}}function Nn({signer:t,isEIP1559Compatible:y=!0,provider:n,chain:u}){return async function({assetAddress:e,spenderAddress:o,feeOptionKey:p=m.Fast,amount:a,gasLimitFallback:w,from:b,nonce:L}){let T=[o,BigInt(a||F)],B=await t?.getAddress()||b,U={abi:A,contractAddress:e,funcName:"approve",funcParams:T,signer:t,txOverrides:{from:B}};if(s(n)){let z=Z({chain:u,provider:n}),J=S(n),k=await z(U);return J(k)}return Wt({chain:u,isEIP1559Compatible:y,provider:n,signer:t})({...U,feeOption:p,funcParams:T,txOverrides:{from:B,gasLimit:w?BigInt(w.toString()):void 0,nonce:L}})}}function Xn({signer:t,isEIP1559Compatible:y=!0,provider:n}){return async function({assetValue:l,memo:e,recipient:o,feeOptionKey:p=m.Fast,sender:a,...w}){let{hexlify:b,toUtf8Bytes:L}=await import("ethers"),T=l.getBaseValue("bigint"),B=l.chain,U=a||await t?.getAddress(),G=Ft({chain:B,isEIP1559Compatible:y,provider:n,signer:t});if(!U)throw new M("toolbox_evm_no_from_address");if(l.isGasAsset){let Y={...w,data:b(L(e||"")),feeOptionKey:p,from:U,to:o,value:T};return G(Y)}if(!V(l,B))throw new M("toolbox_evm_no_contract_address");let{maxFeePerGas:J,maxPriorityFeePerGas:k,gasPrice:$}=(await x({chain:B,isEIP1559Compatible:y,provider:n})())[p],H=await zt({chain:B,provider:n,signer:t})({assetValue:l,data:b(L(e||"")),gasPrice:$,maxFeePerGas:J,maxPriorityFeePerGas:k,memo:e,recipient:o,sender:U});return G(H)}}function At({provider:t,signer:y}){return function({contractAddress:u,abi:l,funcName:e,funcParams:o=[],txOverrides:p}){if(!u)throw new M("toolbox_evm_no_contract_address");let a=I(u,l,t);return y?a.connect(y).getFunction(e).estimateGas(...o,p):a.getFunction(e).estimateGas(...o,p)}}function Wn({provider:t,signer:y}){return async function({assetValue:u,recipient:l,memo:e,data:o,sender:p,funcName:a,funcParams:w,txOverrides:b}){let L=u.bigIntValue,T=u.isGasAsset?null:V(u,u.chain);if(T&&a)return At({provider:t,signer:y})({abi:A,contractAddress:T,funcName:a,funcParams:w,txOverrides:b});let{hexlify:B,toUtf8Bytes:U}=await import("ethers");return t.estimateGas({data:o?o:e?B(U(e)):void 0,from:p,to:l,value:L})}}function Ft({provider:t,signer:y,isEIP1559Compatible:n=!0,chain:u}){return async function({feeOptionKey:e=m.Fast,...o}){let{from:p,to:a,data:w,value:b,...L}=o;if(!y)throw new M("toolbox_evm_no_signer");if(!a)throw new M("toolbox_evm_no_to_address");let T={...L,data:w||"0x",from:p,to:a,value:BigInt(b||0)};if(s(t))return S(t)(T);let B=p||await y.getAddress(),U=o.nonce||await t.getTransactionCount(B),G=(await t.getNetwork()).chainId,z=Yn(T)||n,J=x({chain:u,isEIP1559Compatible:n,provider:t}),k=z&&!(T.maxFeePerGas&&T.maxPriorityFeePerGas)||!T.gasPrice?Object.entries((await J())[e]).reduce((H,[Y,O])=>({...H,[Y]:K(BigInt(O))}),{}):{},$;try{$=K(T.gasLimit||await t.estimateGas(T)*11n/10n)}catch(H){throw new M("toolbox_evm_error_estimating_gas_limit",{error:H})}try{let H={...T,chainId:G,gasLimit:$,nonce:U,type:z?2:0,...k};try{return(await y.sendTransaction(H)).hash}catch{let Y=await y.signTransaction({...H,from:B});return(await t.broadcastTransaction(Y)).hash}}catch(H){throw new M("toolbox_evm_error_sending_transaction",{error:H})}}}function zt({provider:t,signer:y}){return async function({assetValue:u,memo:l,recipient:e,data:o,sender:p,maxFeePerGas:a,maxPriorityFeePerGas:w,gasPrice:b,...L}){let T=u.getBaseValue("bigint"),B=u.chain,U=p||await y?.getAddress();if(!U)throw new M("toolbox_evm_no_from_address");if(Ln(u)){let{hexlify:J,toUtf8Bytes:k}=await import("ethers");return{...L,data:o||J(k(l||"")),from:U,to:e,value:T}}let G=V(u,B);if(!G)throw new M("toolbox_evm_no_contract_address");return Z({chain:u.chain,provider:t})({abi:A,contractAddress:G,funcName:"transfer",funcParams:[e,T],txOverrides:{from:U,gasPrice:b,maxFeePerGas:a,maxPriorityFeePerGas:w}})}}function $n({provider:t,signer:y,chain:n}){return async function({assetAddress:l,spenderAddress:e,amount:o,from:p}){let a=await y?.getAddress()||p,w=Z({chain:n,provider:t}),b=["bigint","number"].includes(typeof o)?o:o||F;return await w({abi:A,contractAddress:l,funcName:"approve",funcParams:[e,BigInt(b)],txOverrides:{from:a}})}}function Qn({provider:t,isEIP1559Compatible:y=!0}){return async function({feeOption:u=m.Fast,chain:l,...e}){let p=await x({chain:l,isEIP1559Compatible:y,provider:t})(),a=await t.estimateGas(e),w=Dn.from({chain:l}),{gasPrice:b,maxFeePerGas:L,maxPriorityFeePerGas:T}=p[u];if(!y&&b)return w.set(v.fromBigInt(b*a,w.decimal));if(L&&T){let B=(L+T)*a;return w.set(v.fromBigInt(B,w.decimal))}throw new M("toolbox_evm_no_gas_price")}}var F,qn,zn,Xt,Jn,Yn=(t)=>t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas;var r=N(()=>{E();F=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");qn=["payable","nonpayable"];zn=Un.reduce((t,y)=>{return t[y]="0x0000000000000000000000000000000000000000",t},{}),Xt={...zn,[X.Optimism]:"0x4200000000000000000000000000000000000042",[X.Polygon]:"0x0000000000000000000000000000000000001010"},Jn=[X.Arbitrum,X.Aurora,X.Base,X.Optimism]});import{Chain as f,FeeOption as Zn,getRPCUrl as xn}from"@swapkit/helpers";import{match as Cn,P as It}from"ts-pattern";async function tt({provider:t,...y}){let n=await D(f.Ethereum)({provider:t,...y});async function u(l,e="0x5ba1e12693dc8f9c48aad8770482f4739beed696",o="aggregate",p=Zn.Fast){let a=await n.createContractTxObject({abi:jt,contractAddress:e,funcName:o,funcParams:[l]});return n.sendTransaction({...a,feeOptionKey:p})}return{...n,multicall:u}}function D(t){return async function({provider:n,...u}){let{HDNodeWallet:l}=await import("ethers"),e=await xn(t),o=n||await Q(t,e),p=qt(t),a=Cn(u).with({phrase:It.string},({phrase:b})=>l.fromPhrase(b).connect(o)).with({signer:It.any},({signer:b})=>b).otherwise(()=>{return});return{...j({chain:t,isEIP1559Compatible:p,provider:o,signer:a}),getBalance:h(t).getBalance,getNetworkParams:Ht(t)}}}var nt,yt,ut,lt,et,ot,gt,at,pt,mt,Tt,bt,wt,g,Mt,ct,Rt,Bt;var Yt=N(()=>{P();st();E();r();nt=D(f.Arbitrum),yt=D(f.Aurora),ut=D(f.Avalanche),lt=D(f.Base),et=D(f.Berachain),ot=D(f.BinanceSmartChain),gt=D(f.Botanix),at=D(f.Core),pt=D(f.Corn),mt=D(f.Cronos),Tt=D(f.Gnosis),bt=D(f.Hyperevm),wt=D(f.Polygon),g=D(f.Sonic),Mt=D(f.Unichain),ct=D(f.XLayer),Rt=D(f.Monad),Bt=D(f.MegaETH)});var Ot;var Pt=N(()=>{Ot=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as _,Chain as ft,FeeOption as W,getChainConfig as jn,getRPCUrl as sn,SwapKitError as $t}from"@swapkit/helpers";import{Contract as Sn,HDNodeWallet as Vn}from"ethers";import{match as _n,P as vt}from"ts-pattern";function Qt(t){return new Sn(hn,Ot,t)}function dt(t){return async function(){let n=Qt(t);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function rt(t){return async function({from:n,to:u,nonce:l,...e}){let{Transaction:o}=await import("ethers");if(!u)throw new $t("toolbox_evm_invalid_transaction",{error:"Missing to address"});return o.from({...e,authorizationList:e.authorizationList,nonce:l?l:n?await t.getTransactionCount(n):0,to:u}).serialized}}function tn(t){return async function(n){let u=Qt(t),l=await rt(t)(n);if(u&&"getL1Fee"in u)return u.getL1Fee(l)}}function nn(t){return async function(n){let u=await t.send("eth_gasPrice",[]),l=await t.estimateGas(n);return u.mul(l)}}function Kn(t){return async function(n){let u=await tn(t)(n),l=await nn(t)(n);return u.add(l)}}function An(t){return async function(n){let u=Qt(t),l=await rt(t)(n);if(u&&"getL1GasUsed"in u)return u.getL1GasUsed(l)}}function Fn(){let{baseDecimal:t,chainId:y,explorerUrl:n,name:u,rpcUrls:l}=jn(ft.Optimism);return{blockExplorerUrls:[n],chainId:y,chainName:u,nativeCurrency:{decimals:t,name:"Ethereum",symbol:ft.Ethereum},rpcUrls:l}}async function In(t){try{let{maxFeePerGas:y,maxPriorityFeePerGas:n,gasPrice:u}=await t.getFeeData(),l=await dt(t)(),e=u;if(!(y&&n))throw new $t("toolbox_evm_no_fee_data");return{[W.Average]:{gasPrice:e,l1GasPrice:l,maxFeePerGas:y,maxPriorityFeePerGas:n},[W.Fast]:{gasPrice:_(e,W.Fast),l1GasPrice:_(l||0n,W.Fast),maxFeePerGas:y,maxPriorityFeePerGas:_(n,W.Fast)},[W.Fastest]:{gasPrice:_(e,W.Fastest),l1GasPrice:_(l||0n,W.Fastest),maxFeePerGas:y,maxPriorityFeePerGas:_(n,W.Fastest)}}}catch(y){throw new $t("toolbox_evm_gas_estimation_error",{error:y.msg??y.toString()})}}async function Dt({provider:t,...y}){let n=ft.Optimism,u=await sn(n),l=t||await Q(n,u),e=_n(y).with({phrase:vt.string},({phrase:a})=>Vn.fromPhrase(a).connect(l)).with({signer:vt.any},({signer:a})=>a).otherwise(()=>{return}),o=j({provider:l,signer:e}),p=dt(l);return{...o,estimateGasPrices:In(l),estimateL1Gas:An(l),estimateL1GasCost:tn(l),estimateL2GasCost:nn(l),estimateTotalGasCost:Kn(l),getBalance:h(ft.Optimism).getBalance,getL1GasPrice:p,getNetworkParams:Fn}}var hn="0x420000000000000000000000000000000000000f";var Zt=N(()=>{P();Pt();E();r()});var On={};xt(On,{toChecksumAddress:()=>_t,isStateChangingCall:()=>Nt,isBrowserProvider:()=>s,getTokenAddress:()=>V,getEvmToolbox:()=>yn,getEstimateGasPrices:()=>x,getEIP1193SendTransaction:()=>S,getCreateContractTxObject:()=>Z,getCreateContract:()=>kt,getChecksumAddressFromAsset:()=>ht,evmValidateAddress:()=>Jt,createContract:()=>I,XLayerToolbox:()=>ct,UNIToolbox:()=>Mt,SONICToolbox:()=>g,OPToolbox:()=>Dt,MONADToolbox:()=>Rt,MEGAETHToolbox:()=>Bt,MAX_APPROVAL:()=>F,MATICToolbox:()=>wt,HYPEREVMToolbox:()=>bt,GNOToolbox:()=>Tt,ETHToolbox:()=>tt,ContractAddress:()=>Xt,CROToolbox:()=>mt,CORNToolbox:()=>pt,COREToolbox:()=>at,BotanixToolbox:()=>gt,BaseEVMToolbox:()=>j,BSCToolbox:()=>ot,BERAToolbox:()=>et,BASEToolbox:()=>lt,AVAXToolbox:()=>ut,AURORAToolbox:()=>yt,ARBToolbox:()=>nt});import{Chain as R}from"@swapkit/helpers";import{match as gn}from"ts-pattern";async function yn(t,y){let n={...y,provider:y?.provider||await Q(t)};return gn(t).returnType().with(R.Arbitrum,()=>nt(n)).with(R.Aurora,()=>yt(n)).with(R.Avalanche,()=>ut(n)).with(R.Base,()=>lt(n)).with(R.Berachain,()=>et(n)).with(R.BinanceSmartChain,()=>ot(n)).with(R.Botanix,()=>g(n)).with(R.Core,()=>at(n)).with(R.Corn,()=>pt(n)).with(R.Cronos,()=>mt(n)).with(R.Ethereum,()=>tt(n)).with(R.Gnosis,()=>Tt(n)).with(R.Hyperevm,()=>bt(n)).with(R.Optimism,()=>Dt(n)).with(R.Polygon,()=>wt(n)).with(R.Sonic,()=>g(n)).with(R.Unichain,()=>Mt(n)).with(R.XLayer,()=>ct(n)).with(R.Monad,()=>Rt(n)).with(R.MegaETH,()=>Bt(n)).exhaustive()}var un=N(()=>{E();Yt();Zt();r();Yt();Zt()});var ln;var en=N(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(ln||={})});var Pn={};xt(Pn,{toHexString:()=>K,toChecksumAddress:()=>_t,isStateChangingCall:()=>Nt,isBrowserProvider:()=>s,getTokenAddress:()=>V,getProvider:()=>Q,getNetworkParams:()=>Ht,getIsEIP1559Compatible:()=>qt,getEvmToolbox:()=>yn,getEvmApi:()=>h,getEstimateGasPrices:()=>x,getEIP1193SendTransaction:()=>S,getCreateContractTxObject:()=>Z,getCreateContract:()=>kt,getChecksumAddressFromAsset:()=>ht,evmValidateAddress:()=>Jt,createCustomEvmApi:()=>cn,createContract:()=>I,XLayerToolbox:()=>ct,UNIToolbox:()=>Mt,SONICToolbox:()=>g,OPToolbox:()=>Dt,MONADToolbox:()=>Rt,MEGAETHToolbox:()=>Bt,MAX_APPROVAL:()=>F,MATICToolbox:()=>wt,HYPEREVMToolbox:()=>bt,GNOToolbox:()=>Tt,EthNetwork:()=>ln,ETHToolbox:()=>tt,ContractAddress:()=>Xt,CROToolbox:()=>mt,CORNToolbox:()=>pt,COREToolbox:()=>at,BotanixToolbox:()=>gt,BaseEVMToolbox:()=>j,BSCToolbox:()=>ot,BERAToolbox:()=>et,BASEToolbox:()=>lt,AVAXToolbox:()=>ut,AURORAToolbox:()=>yt,ARBToolbox:()=>nt});var vn=N(()=>{P();E();un();en()});vn();export{K as toHexString,_t as toChecksumAddress,Nt as isStateChangingCall,s as isBrowserProvider,V as getTokenAddress,Q as getProvider,Ht as getNetworkParams,qt as getIsEIP1559Compatible,yn as getEvmToolbox,h as getEvmApi,x as getEstimateGasPrices,S as getEIP1193SendTransaction,Z as getCreateContractTxObject,kt as getCreateContract,ht as getChecksumAddressFromAsset,Jt as evmValidateAddress,cn as createCustomEvmApi,I as createContract,ct as XLayerToolbox,Mt as UNIToolbox,g as SONICToolbox,Dt as OPToolbox,Rt as MONADToolbox,Bt as MEGAETHToolbox,F as MAX_APPROVAL,wt as MATICToolbox,bt as HYPEREVMToolbox,Tt as GNOToolbox,ln as EthNetwork,tt as ETHToolbox,Xt as ContractAddress,mt as CROToolbox,pt as CORNToolbox,at as COREToolbox,gt as BotanixToolbox,j as BaseEVMToolbox,ot as BSCToolbox,et as BERAToolbox,lt as BASEToolbox,ut as AVAXToolbox,yt as AURORAToolbox,nt as ARBToolbox};
2
2
 
3
- //# debugId=DDDC979AB0257D5464756E2164756E21
3
+ //# debugId=C347C3318945912E64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map