@swapkit/toolboxes 4.19.0 → 4.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/chunk-3pne8gaa.js +1 -0
  3. package/dist/chunk-44m22jy1.js +1 -0
  4. package/dist/chunk-4q573g5z.js +2 -0
  5. package/dist/chunk-54gntgt1.js +2 -0
  6. package/dist/chunk-ntbvmmch.js +2 -0
  7. package/dist/chunk-r2htb2ce.js +1 -0
  8. package/dist/src/aptos/index.js +1 -1
  9. package/dist/src/cardano/index.cjs +1 -1
  10. package/dist/src/cardano/index.js +1 -1
  11. package/dist/src/cosmos/index.cjs +1 -1
  12. package/dist/src/cosmos/index.js +1 -1
  13. package/dist/src/evm/index.cjs +1 -1
  14. package/dist/src/evm/index.js +1 -1
  15. package/dist/src/hypercore/index.cjs +1 -1
  16. package/dist/src/hypercore/index.js +1 -1
  17. package/dist/src/index.cjs +1 -1
  18. package/dist/src/index.js +1 -1
  19. package/dist/src/near/index.cjs +1 -1
  20. package/dist/src/near/index.js +1 -1
  21. package/dist/src/radix/index.cjs +1 -1
  22. package/dist/src/radix/index.js +1 -1
  23. package/dist/src/ripple/index.cjs +1 -1
  24. package/dist/src/ripple/index.js +1 -1
  25. package/dist/src/solana/index.js +1 -1
  26. package/dist/src/starknet/index.js +1 -1
  27. package/dist/src/stellar/index.js +1 -1
  28. package/dist/src/substrate/index.cjs +1 -1
  29. package/dist/src/substrate/index.js +1 -1
  30. package/dist/src/sui/index.js +1 -1
  31. package/dist/src/ton/index.cjs +1 -1
  32. package/dist/src/ton/index.js +1 -1
  33. package/dist/src/tron/index.cjs +1 -1
  34. package/dist/src/tron/index.js +1 -1
  35. package/dist/src/utxo/index.js +1 -1
  36. package/dist/types/cardano/toolbox.d.ts +1 -1
  37. package/dist/types/cosmos/toolbox/cosmos.d.ts +2 -3
  38. package/dist/types/evm/helpers.d.ts +11 -1
  39. package/dist/types/near/toolbox.d.ts +1 -2
  40. package/dist/types/radix/index.d.ts +2 -2
  41. package/dist/types/ripple/index.d.ts +4 -8
  42. package/dist/types/substrate/substrate.d.ts +1 -1
  43. package/dist/types/ton/toolbox.d.ts +1 -1
  44. package/package.json +4 -2
@@ -1 +1 @@
1
- var Q0=Object.defineProperty;var X0=(H)=>H;function Y0(H,v){this[H]=X0.bind(null,v)}var Rf=(H,v)=>{for(var _ in v)Q0(H,_,{get:v[_],enumerable:!0,configurable:!0,set:Y0.bind(v,_)})};var C=(H,v)=>()=>(H&&(v=H(H=0)),v);var F=((H)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(H,{get:(v,_)=>(typeof require<"u"?require:v)[_]}):H)(function(H){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+H+'" is not supported')});import{base64 as xf,bech32 as Tf}from"@scure/base";import{SwapKitError as q0}from"@swapkit/helpers";function m(H){return xf.encode(Uint8Array.from(Tf.fromWords(Tf.decode(H).words)))}function t(H,v="thor"){return Tf.encode(v,Tf.toWords(xf.decode(H)))}function J0(H){return xf.encode(H)}function N0(H){if(!H.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new q0("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return xf.decode(H)}var yf=()=>{};import{AssetValue as Wf,Chain as Q,getChainConfig as P,getRPCUrl as O0,SwapKitError as Vf}from"@swapkit/helpers";function u(H){switch(H){case Q.Maya:return{amount:[],gas:"10000000000"};case Q.THORChain:return{amount:[],gas:"500000000"};case Q.Kujira:return uf;case Q.Noble:return Mf;default:return Pf}}async function M(H){let v=await import("@cosmjs/stargate"),_=v.StargateClient??v.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return _.connect({headers:f,url:H})}async function c(H,v,_={}){let f=await import("@cosmjs/stargate"),x=f.SigningStargateClient??f.default?.SigningStargateClient,T=f.GasPrice??f.default?.GasPrice,B=typeof _==="string"?_:"0.0003uatom",L=typeof _==="string"?{}:_;return x.connectWithSigner(H,v,{gasPrice:T.fromString(B),...L})}async function Gf(H,v){let _=await import("@cosmjs/stargate");return(_.SigningStargateClient??_.default?.SigningStargateClient).offline(H,v)}async function Zf({sender:H,recipient:v,assetValue:_,memo:f="",feeRate:x,sequence:T,accountNumber:B}){let{chain:L,chainId:I}=_,Y=await O0(L),J=await(await M(Y)).getAccount(H);if(!J)throw new Vf("toolbox_cosmos_account_not_found",{sender:H});let k=Wf.from({chain:L}),Z=h(k.symbol),X=u(L),N=Z&&x?{amount:[{amount:x.toString(),denom:Z}],gas:X.gas}:X,A={amount:[{amount:_.getBaseValue("string"),denom:h(_.symbol)}],fromAddress:H,toAddress:v};return{accountNumber:B??Number(J.accountNumber),chainId:I,fee:N,memo:f,msgs:[{typeUrl:F0(L),value:A}],sequence:T??J.sequence}}var zf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Df="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Pf,uf,Mf,h=(H,v=!1)=>{if(v)return H.toLowerCase();switch(H){case"uUSK":case"USK":return zf;case"uYUM":case"YUM":return Df;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return H}},g=({symbol:H,chain:v})=>{if(v===Q.Maya)return(H.toUpperCase()!=="CACAO"?H:`${Q.Maya}.${H}`).toUpperCase();if(v===Q.THORChain)return(["RUNE","TCY","RUJI"].includes(H.toUpperCase())?`${Q.THORChain}.${H}`:H).toUpperCase();return h(H,!1)},F0=(H)=>{switch(H){case Q.Maya:case Q.THORChain:return"/types.MsgSend";case Q.Cosmos:case Q.Kujira:case Q.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new Vf("toolbox_cosmos_not_supported",{chain:H})}},K0,If=(H,v)=>{let _=K0[H.toLowerCase()];if(!_)return Wf.from({asset:H,fromBaseDecimal:8,value:v});let{chain:f,asset:x,decimals:T}=_,B=f?{chain:f}:{asset:x};return Wf.from({...B,fromBaseDecimal:T,value:v})};var a=C(()=>{Pf={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},uf={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Mf={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};K0={atom:{chain:Q.Cosmos,decimals:P(Q.Cosmos).baseDecimal},cacao:{chain:Q.Maya,decimals:10},kuji:{chain:Q.Kujira,decimals:P(Q.Kujira).baseDecimal},maya:{asset:`${Q.Maya}.${Q.Maya}`,decimals:4},rune:{chain:Q.THORChain,decimals:P(Q.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:P(Q.THORChain).baseDecimal},uatom:{chain:Q.Cosmos,decimals:P(Q.Cosmos).baseDecimal},ukuji:{chain:Q.Kujira,decimals:P(Q.Kujira).baseDecimal},usdc:{chain:Q.Noble,decimals:P(Q.Noble).baseDecimal},uusdc:{chain:Q.Noble,decimals:P(Q.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:P(Q.THORChain).baseDecimal},[zf.toLowerCase()]:{asset:`${Q.Kujira}.USK`,decimals:P(Q.Kujira).baseDecimal}}});var wf={};Rf(wf,{$root:()=>y});import K from"protobufjs/minimal.js";var z,R,W,y;var hf=C(()=>{z=K.Reader,R=K.Writer,W=K.util,y=K.roots.default||(K.roots.default={});y.common=(()=>{let H={};return H.Asset=(()=>{function v(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return v.prototype.chain="",v.prototype.symbol="",v.prototype.ticker="",v.prototype.synth=!1,v.create=function(f){return new v(f)},v.encode=function(f,x){if(!x)x=R.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))x.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))x.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))x.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))x.uint32(32).bool(f.synth);return x},v.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},v.decode=function(f,x){if(!(f instanceof z))f=z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Asset;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.chain=f.string();break;case 2:B.symbol=f.string();break;case 3:B.ticker=f.string();break;case 4:B.synth=f.bool();break;default:f.skipType(L&7);break}}return B},v.decodeDelimited=function(f){if(!(f instanceof z))f=new z(f);return this.decode(f,f.uint32())},v.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!W.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!W.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!W.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},v.fromObject=function(f){if(f instanceof y.common.Asset)return f;let x=new y.common.Asset;if(f.chain!=null)x.chain=String(f.chain);if(f.symbol!=null)x.symbol=String(f.symbol);if(f.ticker!=null)x.ticker=String(f.ticker);if(f.synth!=null)x.synth=Boolean(f.synth);return x},v.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.chain="",T.symbol="",T.ticker="",T.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))T.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))T.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))T.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))T.synth=f.synth;return T},v.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},v})(),H.Coin=(()=>{function v(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return v.prototype.asset=null,v.prototype.amount="",v.prototype.decimals=W.Long?W.Long.fromBits(0,0,!1):0,v.create=function(f){return new v(f)},v.encode=function(f,x){if(!x)x=R.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))y.common.Asset.encode(f.asset,x.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))x.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))x.uint32(24).int64(f.decimals);return x},v.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},v.decode=function(f,x){if(!(f instanceof z))f=z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Coin;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.asset=y.common.Asset.decode(f,f.uint32());break;case 2:B.amount=f.string();break;case 3:B.decimals=f.int64();break;default:f.skipType(L&7);break}}return B},v.decodeDelimited=function(f){if(!(f instanceof z))f=new z(f);return this.decode(f,f.uint32())},v.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let x=y.common.Asset.verify(f.asset);if(x)return"asset."+x}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!W.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!W.isInteger(f.decimals)&&!(f.decimals&&W.isInteger(f.decimals.low)&&W.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},v.fromObject=function(f){if(f instanceof y.common.Coin)return f;let x=new y.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=y.common.Asset.fromObject(f.asset)}if(f.amount!=null)x.amount=String(f.amount);if(f.decimals!=null){if(W.Long)(x.decimals=W.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")x.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")x.decimals=f.decimals;else if(typeof f.decimals==="object")x.decimals=new W.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return x},v.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)if(T.asset=null,T.amount="",W.Long){let B=new W.Long(0,0,!1);T.decimals=x.longs===String?B.toString():x.longs===Number?B.toNumber():B}else T.decimals=x.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))T.asset=y.common.Asset.toObject(f.asset,x);if(f.amount!=null&&f.hasOwnProperty("amount"))T.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")T.decimals=x.longs===String?String(f.decimals):f.decimals;else T.decimals=x.longs===String?W.Long.prototype.toString.call(f.decimals):x.longs===Number?new W.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return T},v.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},v})(),H.PubKeySet=(()=>{function v(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return v.prototype.secp256k1="",v.prototype.ed25519="",v.create=function(f){return new v(f)},v.encode=function(f,x){if(!x)x=R.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))x.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))x.uint32(18).string(f.ed25519);return x},v.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},v.decode=function(f,x){if(!(f instanceof z))f=z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.PubKeySet;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.secp256k1=f.string();break;case 2:B.ed25519=f.string();break;default:f.skipType(L&7);break}}return B},v.decodeDelimited=function(f){if(!(f instanceof z))f=new z(f);return this.decode(f,f.uint32())},v.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!W.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!W.isString(f.ed25519))return"ed25519: string expected"}return null},v.fromObject=function(f){if(f instanceof y.common.PubKeySet)return f;let x=new y.common.PubKeySet;if(f.secp256k1!=null)x.secp256k1=String(f.secp256k1);if(f.ed25519!=null)x.ed25519=String(f.ed25519);return x},v.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.secp256k1="",T.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))T.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))T.ed25519=f.ed25519;return T},v.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},v})(),H.Tx=(()=>{function v(_){if(this.coins=[],this.gas=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return v.prototype.id="",v.prototype.chain="",v.prototype.fromAddress="",v.prototype.toAddress="",v.prototype.coins=W.emptyArray,v.prototype.gas=W.emptyArray,v.prototype.memo="",v.create=function(f){return new v(f)},v.encode=function(f,x){if(!x)x=R.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))x.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))x.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))x.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))x.uint32(34).string(f.toAddress);if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(42).fork()).ldelim();if(f.gas?.length)for(let T=0;T<f.gas.length;++T)y.common.Coin.encode(f.gas[T],x.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))x.uint32(58).string(f.memo);return x},v.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},v.decode=function(f,x){if(!(f instanceof z))f=z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Tx;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.id=f.string();break;case 2:B.chain=f.string();break;case 3:B.fromAddress=f.string();break;case 4:B.toAddress=f.string();break;case 5:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 6:if(!B.gas?.length)B.gas=[];B.gas.push(y.common.Coin.decode(f,f.uint32()));break;case 7:B.memo=f.string();break;default:f.skipType(L&7);break}}return B},v.decodeDelimited=function(f){if(!(f instanceof z))f=new z(f);return this.decode(f,f.uint32())},v.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!W.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!W.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!W.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!W.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let x=0;x<f.coins.length;++x){let T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let x=0;x<f.gas.length;++x){let T=y.common.Coin.verify(f.gas[x]);if(T)return"gas."+T}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!W.isString(f.memo))return"memo: string expected"}return null},v.fromObject=function(f){if(f instanceof y.common.Tx)return f;let x=new y.common.Tx;if(f.id!=null)x.id=String(f.id);if(f.chain!=null)x.chain=String(f.chain);if(f.fromAddress!=null)x.fromAddress=String(f.fromAddress);if(f.toAddress!=null)x.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let T=0;T<f.gas.length;++T){if(typeof f.gas[T]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[T]=y.common.Coin.fromObject(f.gas[T])}}if(f.memo!=null)x.memo=String(f.memo);return x},v.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[],T.gas=[];if(x.defaults)T.id="",T.chain="",T.fromAddress="",T.toAddress="",T.memo="";if(f.id!=null&&f.hasOwnProperty("id"))T.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))T.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))T.toAddress=f.toAddress;if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.gas?.length){T.gas=[];for(let B=0;B<f.gas.length;++B)T.gas[B]=y.common.Coin.toObject(f.gas[B],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;return T},v.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},v})(),H.Fee=(()=>{function v(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return v.prototype.coins=W.emptyArray,v.prototype.poolDeduct="",v.create=function(f){return new v(f)},v.encode=function(f,x){if(!x)x=R.create();if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))x.uint32(18).string(f.poolDeduct);return x},v.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},v.decode=function(f,x){if(!(f instanceof z))f=z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Fee;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:B.poolDeduct=f.string();break;default:f.skipType(L&7);break}}return B},v.decodeDelimited=function(f){if(!(f instanceof z))f=new z(f);return this.decode(f,f.uint32())},v.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let x=0;x<f.coins.length;++x){let T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!W.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},v.fromObject=function(f){if(f instanceof y.common.Fee)return f;let x=new y.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.poolDeduct!=null)x.poolDeduct=String(f.poolDeduct);return x},v.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[];if(x.defaults)T.poolDeduct="";if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))T.poolDeduct=f.poolDeduct;return T},v.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},v})(),H.ProtoUint=(()=>{function v(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return v.prototype.value="",v.create=function(f){return new v(f)},v.encode=function(f,x){if(!x)x=R.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))x.uint32(10).string(f.value);return x},v.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},v.decode=function(f,x){if(!(f instanceof z))f=z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.ProtoUint;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.value=f.string();break;default:f.skipType(L&7);break}}return B},v.decodeDelimited=function(f){if(!(f instanceof z))f=new z(f);return this.decode(f,f.uint32())},v.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!W.isString(f.value))return"value: string expected"}return null},v.fromObject=function(f){if(f instanceof y.common.ProtoUint)return f;let x=new y.common.ProtoUint;if(f.value!=null)x.value=String(f.value);return x},v.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.value="";if(f.value!=null&&f.hasOwnProperty("value"))T.value=f.value;return T},v.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},v})(),H})();y.types=(()=>{let H={};return H.MsgDeposit=(()=>{function v(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return v.prototype.coins=W.emptyArray,v.prototype.memo="",v.prototype.signer=W.newBuffer([]),v.create=function(f){return new v(f)},v.encode=function(f,x){if(!x)x=R.create();if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))x.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))x.uint32(26).bytes(f.signer);return x},v.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},v.decode=function(f,x){if(!(f instanceof z))f=z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.types.MsgDeposit;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:B.memo=f.string();break;case 3:B.signer=f.bytes();break;default:f.skipType(L&7);break}}return B},v.decodeDelimited=function(f){if(!(f instanceof z))f=new z(f);return this.decode(f,f.uint32())},v.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let x=0;x<f.coins.length;++x){let T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!W.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||W.isString(f.signer)))return"signer: buffer expected"}return null},v.fromObject=function(f){if(f instanceof y.types.MsgDeposit)return f;let x=new y.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.memo!=null)x.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")W.base64.decode(f.signer,x.signer=W.newBuffer(W.base64.length(f.signer)),0);else if(f.signer.length)x.signer=f.signer}return x},v.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[];if(x.defaults){if(T.memo="",x.bytes===String)T.signer="";else if(T.signer=[],x.bytes!==Array)T.signer=W.newBuffer(T.signer)}if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))T.signer=x.bytes===String?W.base64.encode(f.signer,0,f.signer.length):x.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return T},v.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},v})(),H.MsgSend=(()=>{function v(_){if(this.amount=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return v.prototype.fromAddress=W.newBuffer([]),v.prototype.toAddress=W.newBuffer([]),v.prototype.amount=W.emptyArray,v.create=function(f){return new v(f)},v.encode=function(f,x){if(!x)x=R.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))x.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))x.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let T=0;T<f.amount.length;++T)y.cosmos.base.v1beta1.Coin.encode(f.amount[T],x.uint32(26).fork()).ldelim();return x},v.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},v.decode=function(f,x){if(!(f instanceof z))f=z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.types.MsgSend;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.fromAddress=f.bytes();break;case 2:B.toAddress=f.bytes();break;case 3:if(!B.amount?.length)B.amount=[];B.amount.push(y.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(L&7);break}}return B},v.decodeDelimited=function(f){if(!(f instanceof z))f=new z(f);return this.decode(f,f.uint32())},v.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||W.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||W.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let x=0;x<f.amount.length;++x){let T=y.cosmos.base.v1beta1.Coin.verify(f.amount[x]);if(T)return"amount."+T}}return null},v.fromObject=function(f){if(f instanceof y.types.MsgSend)return f;let x=new y.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")W.base64.decode(f.fromAddress,x.fromAddress=W.newBuffer(W.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)x.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")W.base64.decode(f.toAddress,x.toAddress=W.newBuffer(W.base64.length(f.toAddress)),0);else if(f.toAddress.length)x.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let T=0;T<f.amount.length;++T){if(typeof f.amount[T]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[T]=y.cosmos.base.v1beta1.Coin.fromObject(f.amount[T])}}return x},v.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.amount=[];if(x.defaults){if(x.bytes===String)T.fromAddress="";else if(T.fromAddress=[],x.bytes!==Array)T.fromAddress=W.newBuffer(T.fromAddress);if(x.bytes===String)T.toAddress="";else if(T.toAddress=[],x.bytes!==Array)T.toAddress=W.newBuffer(T.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=x.bytes===String?W.base64.encode(f.fromAddress,0,f.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))T.toAddress=x.bytes===String?W.base64.encode(f.toAddress,0,f.toAddress.length):x.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){T.amount=[];for(let B=0;B<f.amount.length;++B)T.amount[B]=y.cosmos.base.v1beta1.Coin.toObject(f.amount[B],x)}return T},v.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},v})(),H})();y.cosmos=(()=>{let H={};return H.base=(()=>{let v={};return v.v1beta1=(()=>{let _={};return _.Coin=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))B.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))B.uint32(18).string(T.amount);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof z))T=z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.Coin;while(T.pos<L){let Y=T.uint32();switch(Y>>>3){case 1:I.denom=T.string();break;case 2:I.amount=T.string();break;default:T.skipType(Y&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof z))T=new z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!W.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!W.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.Coin)return T;let B=new y.cosmos.base.v1beta1.Coin;if(T.denom!=null)B.denom=String(T.denom);if(T.amount!=null)B.amount=String(T.amount);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.denom="",L.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))L.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))L.amount=T.amount;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},f})(),_.DecCoin=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))B.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))B.uint32(18).string(T.amount);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof z))T=z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.DecCoin;while(T.pos<L){let Y=T.uint32();switch(Y>>>3){case 1:I.denom=T.string();break;case 2:I.amount=T.string();break;default:T.skipType(Y&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof z))T=new z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!W.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!W.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecCoin)return T;let B=new y.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)B.denom=String(T.denom);if(T.amount!=null)B.amount=String(T.amount);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.denom="",L.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))L.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))L.amount=T.amount;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},f})(),_.IntProto=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.int="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))B.uint32(10).string(T.int);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof z))T=z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.IntProto;while(T.pos<L){let Y=T.uint32();switch(Y>>>3){case 1:I.int=T.string();break;default:T.skipType(Y&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof z))T=new z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.int!=null&&T.hasOwnProperty("int")){if(!W.isString(T.int))return"int: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.IntProto)return T;let B=new y.cosmos.base.v1beta1.IntProto;if(T.int!=null)B.int=String(T.int);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.int="";if(T.int!=null&&T.hasOwnProperty("int"))L.int=T.int;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},f})(),_.DecProto=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.dec="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))B.uint32(10).string(T.dec);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof z))T=z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.DecProto;while(T.pos<L){let Y=T.uint32();switch(Y>>>3){case 1:I.dec=T.string();break;default:T.skipType(Y&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof z))T=new z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.dec!=null&&T.hasOwnProperty("dec")){if(!W.isString(T.dec))return"dec: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecProto)return T;let B=new y.cosmos.base.v1beta1.DecProto;if(T.dec!=null)B.dec=String(T.dec);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.dec="";if(T.dec!=null&&T.hasOwnProperty("dec"))L.dec=T.dec;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,K.util.toJSONOptions)},f})(),_})(),v})(),H})()});import{Chain as E0}from"@swapkit/helpers";async function j(){let{$root:H}=await Promise.resolve().then(() => (hf(),wf)),v=await import("@cosmjs/proto-signing"),_=v.Registry??v.default?.Registry,f=await import("@cosmjs/stargate"),x=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new _([...x,["/types.MsgSend",H.types.MsgSend],["/types.MsgDeposit",H.types.MsgDeposit]])}async function l(H){let v=await import("@cosmjs/stargate"),_=v.AminoTypes??v.default?.AminoTypes,f=H===E0.THORChain?"thorchain":"mayachain";return new _({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:x,...T})=>({...T,signer:m(x)}),toAmino:({signer:x,...T})=>({...T,signer:t(x)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:x,to_address:T,...B})=>({...B,fromAddress:m(x),toAddress:m(T)}),toAmino:({fromAddress:x,toAddress:T,...B})=>({...B,from_address:t(x),to_address:t(T)})}})}var Qf=C(()=>{yf()});import{AssetValue as A0,Chain as vf,getChainConfig as lf,getRPCUrl as $f,SwapKitError as U0}from"@swapkit/helpers";function qf(H){let{assetValue:v,recipient:_,memo:f,sender:x,asSignable:T,asAminoMessage:B}=H;if(_)return pf({asAminoMessage:B,asSignable:T,assetValue:v,memo:f,recipient:_,sender:x});return cf({asAminoMessage:B,asSignable:T,assetValue:v,memo:f,sender:x})}async function pf({sender:H,recipient:v,assetValue:_,memo:f="",asSignable:x=!0,asAminoMessage:T=!1,sequence:B,accountNumber:L}){let I=_.chain,Y=await $f(I),E=await nf({rpcUrl:Y,sender:H}),{chainId:J}=lf(I),k=Xf({assetValue:_,recipient:v,sender:H}),Z=x?await $(T?k:n(k),I):k;return{accountNumber:L||Number(E.accountNumber),chainId:J,fee:u(I),memo:f,msgs:[Z],sequence:B||E.sequence}}async function cf({sender:H,assetValue:v,memo:_="",asSignable:f=!0,asAminoMessage:x=!1,sequence:T,accountNumber:B}){let L=v.chain,I=await $f(L),Y=await nf({rpcUrl:I,sender:H}),{chainId:E}=lf(L),J=Yf({assetValue:v,memo:_,sender:H}),k=f?await $(x?J:n(J),L):J;return{accountNumber:B||Number(Y.accountNumber),chainId:E,fee:u(L),memo:_,msgs:[k],sequence:T||Y.sequence}}function n(H){if(H.type==="thorchain/MsgSend"||H.type==="mayachain/MsgSend")return H;return{...H,value:{...H.value,coins:H.value.coins.map((v)=>{let _=A0.from({asset:v.asset}),f=(_.isSynthetic?_.symbol.split("/")?.[1]:_.symbol)?.toUpperCase(),x=(_.isSynthetic?_.symbol.split("/")?.[0]:_.chain)?.toUpperCase();return{...v,asset:{chain:x,symbol:f,synth:_.isSynthetic,ticker:_.ticker}}})}}}async function r({chain:H,memo:v,msgs:_}){let f=await j(),x=await l(H),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:v,messages:_.map((B)=>x.fromAmino(B))}};return f.encode(T)}var k0,S0,Xf=({sender:H,recipient:v,assetValue:_})=>{return{type:`${_.chain===vf.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:_.getBaseValue("string"),denom:h(_.symbol,!0)}],from_address:H,to_address:v}}},Yf=({sender:H,assetValue:v,memo:_=""})=>{return{type:`${v.chain===vf.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:v.getBaseValue("string"),asset:g(v)}],memo:_,signer:H}}},Bf=({sender:H,recipient:v,assetValue:_,memo:f})=>{return!v?Yf({assetValue:_,memo:f,sender:H}):Xf({assetValue:_,recipient:v,sender:H})},$=async(H,v)=>{return(await l(v)).fromAmino(H)},nf=async({rpcUrl:H,sender:v})=>{let f=await(await M(H)).getAccount(v);if(!f)throw new U0("toolbox_cosmos_account_not_found",{sender:v});return f};var jf=C(()=>{a();Qf();k0=u(vf.THORChain).gas,S0=u(vf.Maya).gas});var bf=()=>{};var df=C(()=>{bf()});var Jf=C(()=>{yf();jf();Qf();df()});import{stringToPath as C0}from"@cosmjs/crypto";import{DirectSecp256k1HdWallet as R0}from"@cosmjs/proto-signing";import{base64 as Ff,bech32 as Nf}from"@scure/base";import{AssetValue as Kf,applyFeeMultiplier as of,Chain as U,CosmosChainPrefixes as sf,DerivationPath as V0,derivationPathToString as mf,FeeOption as Ef,getChainConfig as D0,getRPCUrl as s,NetworkDerivationPath as P0,SwapKitError as d,SwapKitNumber as Of,updateDerivationPath as u0}from"@swapkit/helpers";import{SwapKitApi as ef}from"@swapkit/helpers/api";import{match as M0,P as tf}from"ts-pattern";async function Uf(H,v){try{let f=(await ef.getGasRate()).find((x)=>x.chainId===H)?.value;return f?Number.parseFloat(f):v}catch{return v}}async function Af({phrase:H,prefix:v,..._}){let f="derivationPath"in _?_.derivationPath:`${V0[_.chain]}/${_.index}`;return await R0.fromMnemonic(H,{hdPaths:[C0(f)],prefix:v})}async function w0({privateKey:H,prefix:v}){let _=await import("@cosmjs/proto-signing");return(_.DirectSecp256k1Wallet??_.default?.DirectSecp256k1Wallet).fromKey(H,v)}function f0(H){return async function({signature:_,message:f,address:x}){let T=await H(x);if(!T?.pubkey)throw new d("toolbox_cosmos_verify_signature_no_pubkey");let B=await import("@cosmjs/crypto"),L=B.Secp256k1Signature??B.default?.Secp256k1Signature,I=B.Secp256k1??B.default?.Secp256k1,Y=L.fromFixedLength(Ff.decode(_));return I.verifySignature(Y,Ff.decode(f),T.pubkey.value)}}function e({chain:H,...v}){let _=sf[H],f="index"in v?v.index||0:0,x=mf("derivationPath"in v&&v.derivationPath?v.derivationPath:u0(P0[H],{index:f})),T;async function B(){if(T)return T;return T=await M0(v).with({phrase:tf.string},({phrase:Z})=>Af({derivationPath:x,phrase:Z,prefix:_})).with({signer:tf.any},({signer:Z})=>Z).otherwise(()=>{return}),T}async function L(Z){let X=await s(H);return(await M(X)).getAccount(Z)}async function I(){let Z=await B(),[X]=await Z?.getAccounts()||[];return X?.address}async function Y(){let Z=await B(),[X]=await Z?.getAccounts()||[];if(!X?.pubkey)throw new d("toolbox_cosmos_signer_not_defined");return Ff.encode(X?.pubkey)}async function E(Z){let X=await B(),N=await I(),A=await s(H);if(!(X&&N))throw new d("toolbox_cosmos_signer_not_defined");return await(await c(A,X)).sign(N,Z.msgs,Z.fee,Z.memo,{accountNumber:BigInt(Z.accountNumber),chainId:Z.chainId,sequence:Z.sequence})}async function J(Z){let X=await B(),N=await I(),A=await s(H);if(!(X&&N))throw new d("toolbox_cosmos_signer_not_defined");let G=await(await c(A,X)).signAndBroadcast(N,Z.msgs,Z.fee,Z.memo);if(G.code!==0)throw new d("core_swap_transaction_error",{code:G.code,message:G.rawLog});return G.transactionHash}async function k({recipient:Z,assetValue:X,memo:N="",feeRate:A,feeOptionKey:O=Ef.Fast}){let G=await B(),q=await I();if(!(G&&q))throw new d("toolbox_cosmos_signer_not_defined");let S=await s(H),V=Kf.from({chain:H}),w=g(V),p=A||$0((await af(H,gf[H]))[O],w),D=await c(S,G),Hf=h(X.symbol),o=[{amount:X.getBaseValue("string"),denom:Hf}],{transactionHash:Lf}=await D.sendTokens(q,Z,o,p,N);return Lf}return{createPrivateKeyFromPhrase:p0(x),createTransaction:Zf,fetchFeeRateFromSwapKit:Uf,getAccount:L,getAddress:I,getBalance:async(Z,X)=>{let N=await rf(H)(Z),A=await Promise.all(N.filter(({denom:O})=>O&&!O.includes("IBC/")&&!([U.THORChain,U.Maya].includes(H)&&O.split("-").length>2)).map(({denom:O,amount:G})=>{let q=[U.THORChain,U.Maya].includes(H)&&(O.includes("/")||O.includes("˜"))?`${H}.${O}`:O;return If(q,G)}));if(A.length===0)return[Kf.from({chain:H})];return A},getBalanceAsDenoms:rf(H),getFees:()=>af(H,gf[H]),getPubKey:Y,getSignerFromPhrase:({phrase:Z,derivationPath:X})=>Af({derivationPath:mf(X),index:f,phrase:Z,prefix:_}),getSignerFromPrivateKey:async(Z)=>{let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(Z,_)},signAndBroadcastTransaction:J,signTransaction:E,transfer:k,validateAddress:T0(H),verifySignature:f0(L)}}async function h0(H,v){try{let f=(await ef.getGasRate()).find((x)=>x.chainId===H)?.value;return f?Number.parseFloat(f):v}catch{return v}}function l0({assetValue:{chain:H}}){return Kf.from({chain:H,value:n0(H)})}async function af(H,v){let{chainId:_,baseDecimal:f}=D0(H),x=await Uf(_,v);return{average:Of.fromBigInt(BigInt(x),f),fast:Of.fromBigInt(BigInt(of(x,Ef.Fast,!0)),f),fastest:Of.fromBigInt(BigInt(of(x,Ef.Fastest,!0)),f)}}function $0(H,v){return{amount:[{amount:H.getBaseValue("string"),denom:v}],gas:"200000"}}function n0(H){return{[U.Cosmos]:0.007,[U.Kujira]:0.02,[U.Noble]:0.01,[U.THORChain]:0.02,[U.Maya]:0.02,[U.Harbor]:0.02}[H]||0}function T0(H){let v=sf[H];return function(f){if(!f.startsWith(v))return!1;try{let{prefix:x,words:T}=Nf.decode(f);return Nf.encode(x,T)===f.toLocaleLowerCase()}catch{return!1}}}function rf(H){return async function(_){let f=await s(H);return(await(await M(f)).getAllBalances(_)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function p0(H){return async function(_){let f=await import("@cosmjs/crypto"),x=f.stringToPath??f.default?.stringToPath,T=f.Slip10Curve??f.default?.Slip10Curve,B=f.Slip10??f.default?.Slip10,L=f.EnglishMnemonic??f.default?.EnglishMnemonic,I=f.Bip39??f.default?.Bip39,Y=new L(_),E=await I.mnemonicToSeed(Y),{privkey:J}=B.derivePath(T.Secp256k1,E,x(H));return J}}var gf;var _f=C(()=>{a();gf={[U.Cosmos]:1000,[U.Kujira]:1000,[U.Noble]:1000,[U.THORChain]:5000000,[U.Maya]:5000000,[U.Harbor]:5000000}});import{base64 as b}from"@scure/base";import{Chain as c0,CosmosChainPrefixes as j0,derivationPathToString as b0,FeeOption as kf,getChainConfig as d0,getRPCUrl as H0,NetworkDerivationPath as i0,RequestClient as o0,SKConfig as x0,SwapKitError as i,SwapKitNumber as v0,updateDerivationPath as m0}from"@swapkit/helpers";import{match as B0,P as _0}from"ts-pattern";function t0({prefix:H,derivationPath:v}){return async function(f,x=0){let T=await import("@cosmjs/amino"),B=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,L=await import("@cosmjs/crypto"),I=L.stringToPath??L.default?.stringToPath;return B.fromMnemonic(f,{hdPaths:[I(`${v}/${x}`)],prefix:H})}}function g0(H){return b.encode(H)}function a0(H){return async function({wallet:_,tx:f}){let{msgs:x,accountNumber:T,sequence:B,chainId:L,fee:I,memo:Y}=typeof f==="string"?JSON.parse(f):f,E=(await _.getAccounts())?.[0]?.address||"",J=await l(H),k=await j(),Z=await Gf(_,{aminoTypes:J,registry:k}),X=[];for(let O of x){let G=await $(O,H);X.push(G)}let{signatures:[N]}=await Z.sign(E,X,I,Y,{accountNumber:BigInt(T),chainId:L,sequence:B});return{bodyBytes:await r({chain:H,memo:Y,msgs:x.map(n)}),signature:g0(N)}}}function r0({prefix:H,chain:v}){return async function(f,x,T,B,L){let I=await H0(v),{encodeSecp256k1Pubkey:Y,pubkeyToAddress:E}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:J}=(await import("@cosmjs/stargate")).default,{sequence:k,fee:Z}=JSON.parse(f),X=await L0(T,B),N=x.map((G)=>[E(Y(b.decode(G.pubKey)),H),b.decode(G.signature)]),A=await M(I),{transactionHash:O}=await A.broadcastTx(J(X,k,Z,L,new Map(N)));return O}}async function L0(H,v,_=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return f(H.map((T)=>x(b.decode(T))),v,_)}function s0(H){return b.decode(H)}async function e0({privateKey:H,message:v}){let{Secp256k1:_}=(await import("@cosmjs/crypto")).default,f=await _.createSignature(b.decode(v),H);return b.encode(Buffer.concat([f.r(32),f.s(32)]))}function Sf({chain:H,...v}){let{isStagenet:_}=x0.get("envs"),f=x0.get("thornodeUrls"),x=H===c0.Maya,T=B0({isMayachain:x,isStagenet:_}).with({isMayachain:!0},({isStagenet:G})=>G?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:G})=>G?f.THOR_STAGENET:f.THOR),B=`${_?"s":""}${j0[H]}`,L="index"in v?v.index||0:0,I="derivationPath"in v&&v.derivationPath?v.derivationPath:m0(i0[H],{index:L}),Y=e({chain:H,...v}),E=u(H),J;function k(){return J??=B0(v).with({phrase:_0.string},({phrase:G})=>Y.getSignerFromPhrase({derivationPath:I,phrase:G})).with({signer:_0.any},({signer:G})=>Promise.resolve(G)).otherwise(()=>Promise.resolve(void 0)),J}async function Z(){let G=await H0(H),q=await k();if(!q)throw new i("toolbox_cosmos_no_signer");let S=await j(),V=await l(H),w=await c(G,q,{aminoTypes:V,registry:S});return{signer:q,signingClient:w}}async function X({fee:G,memo:q,msgs:S}){let{signer:V,signingClient:w}=await Z(),p=(await V.getAccounts())?.[0]?.address;if(!p)throw new i("toolbox_cosmos_signer_not_defined");let D=await w.signAndBroadcast(p,S,G,q);if(D.code!==0)throw new i("core_swap_transaction_error",{code:D.code,message:D.rawLog});return D.transactionHash}async function N(){let G,q=`${T}/${x?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:S}}=await o0.get(q);if(!S||Number.isNaN(S)||S<0)throw new i("toolbox_cosmos_invalid_fee",{nativeFee:S.toString()});G=new v0(S)}catch{G=new v0({decimal:d0(H).baseDecimal,value:x?1:0.02})}return{[kf.Average]:G,[kf.Fast]:G,[kf.Fastest]:G}}async function A({assetValue:G,memo:q="",recipient:S}){let{TxRaw:V}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:w,signingClient:p}=await Z(),D=(await w.getAccounts())?.[0]?.address;if(!D)throw new i("toolbox_cosmos_no_signer");let Hf="signAmino"in w,o=Bf({assetValue:G,memo:q,recipient:S,sender:D});if(Hf){let z0=await $(o,H),{signatures:G0,authInfoBytes:Z0}=await p.sign(D,[z0],E,q),I0=V.encode({authInfoBytes:Z0,bodyBytes:await r({chain:H,memo:q,msgs:[o].map(n)}),signatures:G0}).finish();return(await p.broadcastTx(I0)).transactionHash}let Lf=n(o),W0=await $(Lf,H);return X({fee:E,memo:q,msgs:[W0]})}async function O(G){let{signer:q,signingClient:S}=await Z(),V=(await q.getAccounts())?.[0]?.address;if(!V)throw new i("toolbox_cosmos_signer_not_defined");return S.sign(V,G.msgs,G.fee,G.memo,{accountNumber:BigInt(G.accountNumber),chainId:G.chainId,sequence:G.sequence})}return{...Y,broadcastMultisigTx:r0({chain:H,prefix:B}),buildAminoMsg:Bf,buildEncodedTxBody:r,convertToSignable:$,createDefaultAminoTypes:()=>l(H),createDefaultRegistry:j,createMultisig:L0,createTransaction:qf,deposit:A,getFees:N,importSignature:s0,parseAminoMessageForDirectSigning:n,pubkeyToAddress:async(G)=>{let{pubkeyToAddress:q}=(await import("@cosmjs/amino")).default;return q(G,B)},secp256k1HdWalletFromMnemonic:t0({derivationPath:b0(I),prefix:B}),signAndBroadcastTransaction:X,signMultisigTx:a0(H),signTransaction:O,signWithPrivateKey:e0,transfer:A}}var Cf=C(()=>{Jf();a();_f()});import{Chain as ff,SwapKitError as f6}from"@swapkit/helpers";var T6=(H,v)=>{switch(H){case ff.Cosmos:case ff.Kujira:case ff.Noble:return e({chain:H,...v});case ff.Maya:case ff.THORChain:return Sf({chain:H,...v});default:throw new f6("toolbox_cosmos_not_supported",{chain:H})}};var y0=C(()=>{_f();Cf();_f();Cf()});var v6={};Rf(v6,{verifySignature:()=>f0,transferMsgAmino:()=>Xf,toBase64:()=>J0,parseAminoMessageForDirectSigning:()=>n,getSignerFromPrivateKey:()=>w0,getSignerFromPhrase:()=>Af,getMsgSendDenom:()=>h,getFeeRateFromSwapKit:()=>h0,getDenomWithChain:()=>g,getDefaultChainFee:()=>u,getCosmosToolbox:()=>T6,getCosmosAddressValidator:()=>T0,getAssetFromDenom:()=>If,fromBase64:()=>N0,fetchFeeRateFromSwapKit:()=>Uf,estimateTransactionFee:()=>l0,depositMsgAmino:()=>Yf,createTransaction:()=>qf,createThorchainToolbox:()=>Sf,createStargateClient:()=>M,createSigningStargateClient:()=>c,createOfflineStargateClient:()=>Gf,createDefaultRegistry:()=>j,createDefaultAminoTypes:()=>l,createCosmosToolbox:()=>e,cosmosCreateTransaction:()=>Zf,convertToSignable:()=>$,buildTransferTx:()=>pf,buildEncodedTxBody:()=>r,buildDepositTx:()=>cf,buildAminoMsg:()=>Bf,bech32ToBase64:()=>m,base64ToBech32:()=>t,YUM_KUJIRA_FACTORY_DENOM:()=>Df,USK_KUJIRA_FACTORY_DENOM:()=>zf,THORCHAIN_GAS_VALUE:()=>k0,MAYA_GAS_VALUE:()=>S0,DEFAULT_NOBLE_FEE_MAINNET:()=>Mf,DEFAULT_KUJI_FEE_MAINNET:()=>uf,DEFAULT_COSMOS_FEE_MAINNET:()=>Pf});var B6=C(()=>{Jf();y0();a()});B6();export{f0 as verifySignature,Xf as transferMsgAmino,J0 as toBase64,n as parseAminoMessageForDirectSigning,w0 as getSignerFromPrivateKey,Af as getSignerFromPhrase,h as getMsgSendDenom,h0 as getFeeRateFromSwapKit,g as getDenomWithChain,u as getDefaultChainFee,T6 as getCosmosToolbox,T0 as getCosmosAddressValidator,If as getAssetFromDenom,N0 as fromBase64,Uf as fetchFeeRateFromSwapKit,l0 as estimateTransactionFee,Yf as depositMsgAmino,qf as createTransaction,Sf as createThorchainToolbox,M as createStargateClient,c as createSigningStargateClient,Gf as createOfflineStargateClient,j as createDefaultRegistry,l as createDefaultAminoTypes,e as createCosmosToolbox,Zf as cosmosCreateTransaction,$ as convertToSignable,pf as buildTransferTx,r as buildEncodedTxBody,cf as buildDepositTx,Bf as buildAminoMsg,m as bech32ToBase64,t as base64ToBech32,Df as YUM_KUJIRA_FACTORY_DENOM,zf as USK_KUJIRA_FACTORY_DENOM,k0 as THORCHAIN_GAS_VALUE,S0 as MAYA_GAS_VALUE,Mf as DEFAULT_NOBLE_FEE_MAINNET,uf as DEFAULT_KUJI_FEE_MAINNET,Pf as DEFAULT_COSMOS_FEE_MAINNET};
1
+ import{ea as i}from"../../chunk-ntbvmmch.js";import{base64 as N,bech32 as A}from"@scure/base";import{SwapKitError as Ko}from"@swapkit/helpers";function O(o){return N.encode(Uint8Array.from(A.fromWords(A.decode(o).words)))}function U(o,t="thor"){return A.encode(t,A.toWords(N.decode(o)))}function st(o){return N.encode(o)}function Pt(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Ko("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return N.decode(o)}import{AssetValue as Vo,Chain as b,getChainConfig as mo,getRPCUrl as eo,SwapKitError as ho}from"@swapkit/helpers";import{AssetValue as g,Chain as x,getChainConfig as C,getRPCUrl as lo,SwapKitError as yo}from"@swapkit/helpers";var wo="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Ao="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",No={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Oo={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Uo={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};function P(o){switch(o){case x.Maya:return{amount:[],gas:"10000000000"};case x.THORChain:return{amount:[],gas:"500000000"};case x.Kujira:return Oo;case x.Noble:return Uo;default:return No}}var z=(o,t=!1)=>{if(t)return o.toLowerCase();switch(o){case"uUSK":case"USK":return wo;case"uYUM":case"YUM":return Ao;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return o}},E=({symbol:o,chain:t})=>{if(t===x.Maya)return(o.toUpperCase()!=="CACAO"?o:`${x.Maya}.${o}`).toUpperCase();if(t===x.THORChain)return(["RUNE","TCY","RUJI"].includes(o.toUpperCase())?`${x.THORChain}.${o}`:o).toUpperCase();return z(o,!1)};async function j(o){let t=await import("@cosmjs/stargate"),p=t.StargateClient??t.default?.StargateClient,r=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return p.connect({headers:r,url:o})}async function X(o,t,p={}){let r=await import("@cosmjs/stargate"),f=r.SigningStargateClient??r.default?.SigningStargateClient,c=r.GasPrice??r.default?.GasPrice,n=typeof p==="string"?p:"0.0003uatom",T=typeof p==="string"?{}:p;return f.connectWithSigner(o,t,{gasPrice:c.fromString(n),...T})}async function To(o,t){let p=await import("@cosmjs/stargate");return(p.SigningStargateClient??p.default?.SigningStargateClient).offline(o,t)}var Eo=(o)=>{switch(o){case x.Maya:case x.THORChain:return"/types.MsgSend";case x.Cosmos:case x.Kujira:case x.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new yo("toolbox_cosmos_not_supported",{chain:o})}};async function xo({sender:o,recipient:t,assetValue:p,memo:r="",feeRate:f,sequence:c,accountNumber:n}){let{chain:T,chainId:m}=p,d=await lo(T),k=await(await j(d)).getAccount(o);if(!k)throw new yo("toolbox_cosmos_account_not_found",{sender:o});let R=g.from({chain:T}),w=z(R.symbol),u=P(T),v=w&&f?{amount:[{amount:f.toString(),denom:w}],gas:u.gas}:u,B={amount:[{amount:p.getBaseValue("string"),denom:z(p.symbol)}],fromAddress:o,toAddress:t};return{accountNumber:n??Number(k.accountNumber),chainId:m,fee:v,memo:r,msgs:[{typeUrl:Eo(T),value:B}],sequence:c??k.sequence}}var bo={atom:{chain:x.Cosmos,decimals:C(x.Cosmos).baseDecimal},cacao:{chain:x.Maya,decimals:10},kuji:{chain:x.Kujira,decimals:C(x.Kujira).baseDecimal},maya:{asset:`${x.Maya}.${x.Maya}`,decimals:4},rune:{chain:x.THORChain,decimals:C(x.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:C(x.THORChain).baseDecimal},uatom:{chain:x.Cosmos,decimals:C(x.Cosmos).baseDecimal},ukuji:{chain:x.Kujira,decimals:C(x.Kujira).baseDecimal},usdc:{chain:x.Noble,decimals:C(x.Noble).baseDecimal},uusdc:{chain:x.Noble,decimals:C(x.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:C(x.THORChain).baseDecimal},[wo.toLowerCase()]:{asset:`${x.Kujira}.USK`,decimals:C(x.Kujira).baseDecimal}},uo=(o,t)=>{let p=bo[o.toLowerCase()];if(!p)return g.from({asset:o,fromBaseDecimal:8,value:t});let{chain:r,asset:f,decimals:c}=p,n=r?{chain:r}:{asset:f};return g.from({...n,fromBaseDecimal:c,value:t})};import{Chain as Mo}from"@swapkit/helpers";async function J(){let{$root:o}=await import("../../chunk-3pne8gaa.js"),t=await import("@cosmjs/proto-signing"),p=await import("@cosmjs/stargate"),r=t.Registry??t.default?.Registry,f=p.defaultRegistryTypes??p.default?.defaultRegistryTypes;return new r([...f,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function D(o){let t=await import("@cosmjs/stargate"),p=t.AminoTypes??t.default?.AminoTypes,r=o===Mo.THORChain?"thorchain":"mayachain";return new p({"/types.MsgDeposit":{aminoType:`${r}/MsgDeposit`,fromAmino:({signer:f,...c})=>({...c,signer:O(f)}),toAmino:({signer:f,...c})=>({...c,signer:U(f)})},"/types.MsgSend":{aminoType:`${r}/MsgSend`,fromAmino:({from_address:f,to_address:c,...n})=>({...n,fromAddress:O(f),toAddress:O(c)}),toAmino:({fromAddress:f,toAddress:c,...n})=>({...n,from_address:U(f),to_address:U(c)})}})}var Yt=P(b.THORChain).gas,Ft=P(b.Maya).gas,io=({sender:o,recipient:t,assetValue:p})=>{return{type:`${p.chain===b.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:p.getBaseValue("string"),denom:z(p.symbol,!0)}],from_address:o,to_address:t}}},ko=({sender:o,assetValue:t,memo:p=""})=>{return{type:`${t.chain===b.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:t.getBaseValue("string"),asset:E(t)}],memo:p,signer:o}}},oo=({sender:o,recipient:t,assetValue:p,memo:r})=>{return!t?ko({assetValue:p,memo:r,sender:o}):io({assetValue:p,recipient:t,sender:o})},G=async(o,t)=>{return(await D(t)).fromAmino(o)},vo=async({rpcUrl:o,sender:t})=>{let r=await(await j(o)).getAccount(t);if(!r)throw new ho("toolbox_cosmos_account_not_found",{sender:t});return r};function Wo(o){let{assetValue:t,recipient:p,memo:r,sender:f,asSignable:c,asAminoMessage:n}=o;if(p)return ao({asAminoMessage:n,asSignable:c,assetValue:t,memo:r,recipient:p,sender:f});return go({asAminoMessage:n,asSignable:c,assetValue:t,memo:r,sender:f})}async function ao({sender:o,recipient:t,assetValue:p,memo:r="",asSignable:f=!0,asAminoMessage:c=!1,sequence:n,accountNumber:T}){let m=p.chain,d=await eo(m),H=await vo({rpcUrl:d,sender:o}),{chainId:k}=mo(m),R=io({assetValue:p,recipient:t,sender:o}),w=f?await G(c?R:Z(R),m):R;return{accountNumber:T||Number(H.accountNumber),chainId:k,fee:P(m),memo:r,msgs:[w],sequence:n||H.sequence}}async function go({sender:o,assetValue:t,memo:p="",asSignable:r=!0,asAminoMessage:f=!1,sequence:c,accountNumber:n}){let T=t.chain,m=await eo(T),d=await vo({rpcUrl:m,sender:o}),{chainId:H}=mo(T),k=ko({assetValue:t,memo:p,sender:o}),R=r?await G(f?k:Z(k),T):k;return{accountNumber:n||Number(d.accountNumber),chainId:H,fee:P(T),memo:p,msgs:[R],sequence:c||d.sequence}}function Z(o){if(o.type==="thorchain/MsgSend"||o.type==="mayachain/MsgSend")return o;return{...o,value:{...o.value,coins:o.value.coins.map((t)=>{let p=Vo.from({asset:t.asset}),r=(p.isSynthetic?p.symbol.split("/")?.[1]:p.symbol)?.toUpperCase(),f=(p.isSynthetic?p.symbol.split("/")?.[0]:p.chain)?.toUpperCase();return{...t,asset:{chain:f,symbol:r,synth:p.isSynthetic,ticker:p.ticker}}})}}}async function M({chain:o,memo:t,msgs:p}){let r=await J(),f=await D(o),c={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:t,messages:p.map((n)=>f.fromAmino(n))}};return r.encode(c)}import{Chain as l,SwapKitError as _t}from"@swapkit/helpers";import{base64 as po,bech32 as to}from"@scure/base";import{AssetValue as fo,applyFeeMultiplier as Ho,Chain as I,CosmosChainPrefixes as Co,DerivationPath as ot,derivationPathToString as Bo,FeeOption as co,getChainConfig as tt,getRPCUrl as K,NetworkDerivationPath as rt,SwapKitError as Y,SwapKitNumber as ro,updateDerivationPath as pt}from"@swapkit/helpers";import{SwapKitApi as so}from"@swapkit/helpers/api";import{match as ft,P as Io}from"ts-pattern";async function Po(o,t){try{let r=(await so.getGasRate()).find((f)=>f.chainId===o)?.value;return r?Number.parseFloat(r):t}catch{return t}}async function Ro({phrase:o,prefix:t,...p}){let r=await import("@cosmjs/proto-signing"),f=await import("@cosmjs/crypto"),c=r.DirectSecp256k1HdWallet??r.default?.DirectSecp256k1HdWallet,n=f.stringToPath??f.default?.stringToPath,T="derivationPath"in p?p.derivationPath:`${ot[p.chain]}/${p.index}`;return await c.fromMnemonic(o,{hdPaths:[n(T)],prefix:t})}async function at({privateKey:o,prefix:t}){let p=await import("@cosmjs/proto-signing");return(p.DirectSecp256k1Wallet??p.default?.DirectSecp256k1Wallet).fromKey(o,t)}var _o={[I.Cosmos]:1000,[I.Kujira]:1000,[I.Noble]:1000,[I.THORChain]:5000000,[I.Maya]:5000000,[I.Harbor]:5000000};function ct(o){return async function({signature:p,message:r,address:f}){let c=await o(f);if(!c?.pubkey)throw new Y("toolbox_cosmos_verify_signature_no_pubkey");let n=await import("@cosmjs/crypto"),T=n.Secp256k1Signature??n.default?.Secp256k1Signature,m=n.Secp256k1??n.default?.Secp256k1,d=T.fromFixedLength(po.decode(p));return m.verifySignature(d,po.decode(r),c.pubkey.value)}}function V({chain:o,...t}){let p=Co[o],r="index"in t?t.index||0:0,f=Bo("derivationPath"in t&&t.derivationPath?t.derivationPath:pt(rt[o],{index:r})),c;async function n(){if(c)return c;return c=await ft(t).with({phrase:Io.string},({phrase:w})=>Ro({derivationPath:f,phrase:w,prefix:p})).with({signer:Io.any},({signer:w})=>w).otherwise(()=>{return}),c}async function T(w){let u=await K(o);return(await j(u)).getAccount(w)}async function m(){let w=await n(),[u]=await w?.getAccounts()||[];return u?.address}async function d(){let w=await n(),[u]=await w?.getAccounts()||[];if(!u?.pubkey)throw new Y("toolbox_cosmos_signer_not_defined");return po.encode(u?.pubkey)}async function H(w){let u=await n(),v=await m(),B=await K(o);if(!(u&&v))throw new Y("toolbox_cosmos_signer_not_defined");return await(await X(B,u)).sign(v,w.msgs,w.fee,w.memo,{accountNumber:BigInt(w.accountNumber),chainId:w.chainId,sequence:w.sequence})}async function k(w){let u=await n(),v=await m(),B=await K(o);if(!(u&&v))throw new Y("toolbox_cosmos_signer_not_defined");let y=await(await X(B,u)).signAndBroadcast(v,w.msgs,w.fee,w.memo);if(y.code!==0)throw new Y("core_swap_transaction_error",{code:y.code,message:y.rawLog});return y.transactionHash}async function R({recipient:w,assetValue:u,memo:v="",feeRate:B,feeOptionKey:W=co.Fast}){let y=await n(),e=await m();if(!(y&&e))throw new Y("toolbox_cosmos_signer_not_defined");let _=await K(o),$=fo.from({chain:o}),s=E($),S=B||nt((await $o(o,_o[o]))[W],s),L=await X(_,y),h=z(u.symbol),q=[{amount:u.getBaseValue("string"),denom:h}],{transactionHash:a}=await L.sendTokens(e,w,q,S,v);return a}return{createPrivateKeyFromPhrase:Tt(f),createTransaction:xo,fetchFeeRateFromSwapKit:Po,getAccount:T,getAddress:m,getBalance:async(w,u)=>{let v=await Lo(o)(w),B=await Promise.all(v.filter(({denom:W})=>W&&!W.includes("IBC/")&&!([I.THORChain,I.Maya].includes(o)&&W.split("-").length>2)).map(({denom:W,amount:y})=>{let e=[I.THORChain,I.Maya].includes(o)&&(W.includes("/")||W.includes("˜"))?`${o}.${W}`:W;return uo(e,y)}));if(B.length===0)return[fo.from({chain:o})];return B},getBalanceAsDenoms:Lo(o),getFees:()=>$o(o,_o[o]),getPubKey:d,getSignerFromPhrase:({phrase:w,derivationPath:u})=>Ro({derivationPath:Bo(u),index:r,phrase:w,prefix:p}),getSignerFromPrivateKey:async(w)=>{let u=await import("@cosmjs/proto-signing");return(u.DirectSecp256k1Wallet??u.default?.DirectSecp256k1Wallet).fromKey(w,p)},signAndBroadcastTransaction:k,signTransaction:H,transfer:R,validateAddress:wt(o),verifySignature:ct(T)}}async function gt(o,t){try{let r=(await so.getGasRate()).find((f)=>f.chainId===o)?.value;return r?Number.parseFloat(r):t}catch{return t}}function or({assetValue:{chain:o}}){return fo.from({chain:o,value:yt(o)})}async function $o(o,t){let{chainId:p,baseDecimal:r}=tt(o),f=await Po(p,t);return{average:ro.fromBigInt(BigInt(f),r),fast:ro.fromBigInt(BigInt(Ho(f,co.Fast,!0)),r),fastest:ro.fromBigInt(BigInt(Ho(f,co.Fastest,!0)),r)}}function nt(o,t){return{amount:[{amount:o.getBaseValue("string"),denom:t}],gas:"200000"}}function yt(o){return{[I.Cosmos]:0.007,[I.Kujira]:0.02,[I.Noble]:0.01,[I.THORChain]:0.02,[I.Maya]:0.02,[I.Harbor]:0.02}[o]||0}function wt(o){let t=Co[o];return function(r){if(!r.startsWith(t))return!1;try{let{prefix:f,words:c}=to.decode(r);return to.encode(f,c)===r.toLocaleLowerCase()}catch{return!1}}}function Lo(o){return async function(p){let r=await K(o);return(await(await j(r)).getAllBalances(p)).map((T)=>({...T,denom:T.denom.includes("/")?T.denom.toUpperCase():T.denom}))}}function Tt(o){return async function(p){let r=await import("@cosmjs/crypto"),f=r.stringToPath??r.default?.stringToPath,c=r.Slip10Curve??r.default?.Slip10Curve,n=r.Slip10??r.default?.Slip10,T=r.EnglishMnemonic??r.default?.EnglishMnemonic,m=r.Bip39??r.default?.Bip39,d=new T(p),H=await m.mnemonicToSeed(d),{privkey:k}=n.derivePath(c.Secp256k1,H,f(o));return k}}import{base64 as Q}from"@scure/base";import{Chain as xt,CosmosChainPrefixes as ut,derivationPathToString as mt,FeeOption as no,getChainConfig as et,getRPCUrl as Go,NetworkDerivationPath as it,RequestClient as dt,SKConfig as jo,SwapKitError as F,SwapKitNumber as So,updateDerivationPath as kt}from"@swapkit/helpers";import{match as zo,P as Do}from"ts-pattern";function vt({prefix:o,derivationPath:t}){return async function(r,f=0){let c=await import("@cosmjs/amino"),n=c.Secp256k1HdWallet??c.default?.Secp256k1HdWallet,T=await import("@cosmjs/crypto"),m=T.stringToPath??T.default?.stringToPath;return n.fromMnemonic(r,{hdPaths:[m(`${t}/${f}`)],prefix:o})}}function Wt(o){return Q.encode(o)}function Ht(o){return async function({wallet:p,tx:r}){let{msgs:f,accountNumber:c,sequence:n,chainId:T,fee:m,memo:d}=typeof r==="string"?JSON.parse(r):r,H=(await p.getAccounts())?.[0]?.address||"",k=await D(o),R=await J(),w=await To(p,{aminoTypes:k,registry:R}),u=[];for(let W of f){let y=await G(W,o);u.push(y)}let{signatures:[v]}=await w.sign(H,u,m,d,{accountNumber:BigInt(c),chainId:T,sequence:n});return{bodyBytes:await M({chain:o,memo:d,msgs:f.map(Z)}),signature:Wt(v)}}}function Bt({prefix:o,chain:t}){return async function(r,f,c,n,T){let m=await Go(t),{encodeSecp256k1Pubkey:d,pubkeyToAddress:H}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:k}=(await import("@cosmjs/stargate")).default,{sequence:R,fee:w}=JSON.parse(r),u=await Zo(c,n),v=f.map((y)=>[H(d(Q.decode(y.pubKey)),o),Q.decode(y.signature)]),B=await j(m),{transactionHash:W}=await B.broadcastTx(k(u,R,w,T,new Map(v)));return W}}async function Zo(o,t,p=!0){let{createMultisigThresholdPubkey:r,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return r(o.map((c)=>f(Q.decode(c))),t,p)}function It(o){return Q.decode(o)}async function Rt({privateKey:o,message:t}){let{Secp256k1:p}=(await import("@cosmjs/crypto")).default,r=await p.createSignature(Q.decode(t),o);return Q.encode(Buffer.concat([r.r(32),r.s(32)]))}function Qo({chain:o,...t}){let{isStagenet:p}=jo.get("envs"),r=jo.get("thornodeUrls"),f=o===xt.Maya,c=zo({isMayachain:f,isStagenet:p}).with({isMayachain:!0},({isStagenet:y})=>y?r.MAYA_STAGENET:r.MAYA).otherwise(({isStagenet:y})=>y?r.THOR_STAGENET:r.THOR),n=`${p?"s":""}${ut[o]}`,T="index"in t?t.index||0:0,m="derivationPath"in t&&t.derivationPath?t.derivationPath:kt(it[o],{index:T}),d=V({chain:o,...t}),H=P(o),k;function R(){return k??=zo(t).with({phrase:Do.string},({phrase:y})=>d.getSignerFromPhrase({derivationPath:m,phrase:y})).with({signer:Do.any},({signer:y})=>Promise.resolve(y)).otherwise(()=>Promise.resolve(void 0)),k}async function w(){let y=await Go(o),e=await R();if(!e)throw new F("toolbox_cosmos_no_signer");let _=await J(),$=await D(o),s=await X(y,e,{aminoTypes:$,registry:_});return{signer:e,signingClient:s}}async function u({fee:y,memo:e,msgs:_}){let{signer:$,signingClient:s}=await w(),S=(await $.getAccounts())?.[0]?.address;if(!S)throw new F("toolbox_cosmos_signer_not_defined");let L=await s.signAndBroadcast(S,_,y,e);if(L.code!==0)throw new F("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function v(){let y,e=`${c}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:_}}=await dt.get(e);if(!_||Number.isNaN(_)||_<0)throw new F("toolbox_cosmos_invalid_fee",{nativeFee:_.toString()});y=new So(_)}catch{y=new So({decimal:et(o).baseDecimal,value:f?1:0.02})}return{[no.Average]:y,[no.Fast]:y,[no.Fastest]:y}}async function B({assetValue:y,memo:e="",recipient:_}){let{TxRaw:$}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:s,signingClient:S}=await w(),L=(await s.getAccounts())?.[0]?.address;if(!L)throw new F("toolbox_cosmos_no_signer");let h="signAmino"in s,q=oo({assetValue:y,memo:e,recipient:_,sender:L});if(h){let Jo=await G(q,o),{signatures:Yo,authInfoBytes:Fo}=await S.sign(L,[Jo],H,e),qo=$.encode({authInfoBytes:Fo,bodyBytes:await M({chain:o,memo:e,msgs:[q].map(Z)}),signatures:Yo}).finish();return(await S.broadcastTx(qo)).transactionHash}let a=Z(q),Xo=await G(a,o);return u({fee:H,memo:e,msgs:[Xo]})}async function W(y){let{signer:e,signingClient:_}=await w(),$=(await e.getAccounts())?.[0]?.address;if(!$)throw new F("toolbox_cosmos_signer_not_defined");return _.sign($,y.msgs,y.fee,y.memo,{accountNumber:BigInt(y.accountNumber),chainId:y.chainId,sequence:y.sequence})}return{...d,broadcastMultisigTx:Bt({chain:o,prefix:n}),buildAminoMsg:oo,buildEncodedTxBody:M,convertToSignable:G,createDefaultAminoTypes:()=>D(o),createDefaultRegistry:J,createMultisig:Zo,createTransaction:Wo,deposit:B,getFees:v,importSignature:It,parseAminoMessageForDirectSigning:Z,pubkeyToAddress:async(y)=>{let{pubkeyToAddress:e}=(await import("@cosmjs/amino")).default;return e(y,n)},secp256k1HdWalletFromMnemonic:vt({derivationPath:mt(m),prefix:n}),signAndBroadcastTransaction:u,signMultisigTx:Ht(o),signTransaction:W,signWithPrivateKey:Rt,transfer:B}}var mr=(o,t)=>{switch(o){case l.Cosmos:case l.Kujira:case l.Noble:return V({chain:o,...t});case l.Maya:case l.THORChain:return Qo({chain:o,...t});default:throw new _t("toolbox_cosmos_not_supported",{chain:o})}};export{ct as verifySignature,io as transferMsgAmino,st as toBase64,Z as parseAminoMessageForDirectSigning,at as getSignerFromPrivateKey,Ro as getSignerFromPhrase,z as getMsgSendDenom,gt as getFeeRateFromSwapKit,E as getDenomWithChain,P as getDefaultChainFee,mr as getCosmosToolbox,wt as getCosmosAddressValidator,uo as getAssetFromDenom,Pt as fromBase64,Po as fetchFeeRateFromSwapKit,or as estimateTransactionFee,ko as depositMsgAmino,Wo as createTransaction,Qo as createThorchainToolbox,j as createStargateClient,X as createSigningStargateClient,To as createOfflineStargateClient,J as createDefaultRegistry,D as createDefaultAminoTypes,V as createCosmosToolbox,xo as cosmosCreateTransaction,G as convertToSignable,ao as buildTransferTx,M as buildEncodedTxBody,go as buildDepositTx,oo as buildAminoMsg,O as bech32ToBase64,U as base64ToBech32,Ao as YUM_KUJIRA_FACTORY_DENOM,wo as USK_KUJIRA_FACTORY_DENOM,Yt as THORCHAIN_GAS_VALUE,Ft as MAYA_GAS_VALUE,Uo as DEFAULT_NOBLE_FEE_MAINNET,Oo as DEFAULT_KUJI_FEE_MAINNET,No as DEFAULT_COSMOS_FEE_MAINNET};
@@ -1 +1 @@
1
- var Qo=Object.create;var{getPrototypeOf:Zo,defineProperty:F,getOwnPropertyNames:gt,getOwnPropertyDescriptor:$o}=Object,ht=Object.prototype.hasOwnProperty;function vt(t){return this[t]}var Jo,zo,nn=(t,o,n)=>{var y=t!=null&&typeof t==="object";if(y){var u=o?Jo??=new WeakMap:zo??=new WeakMap,l=u.get(t);if(l)return l}n=t!=null?Qo(Zo(t)):{};let b=o||!t||!t.__esModule?F(n,"default",{value:t,enumerable:!0}):n;for(let M of gt(t))if(!ht.call(b,M))F(b,M,{get:vt.bind(t,M),enumerable:!0});if(y)u.set(t,b);return b},ko=(t)=>{var o=(et??=new WeakMap).get(t),n;if(o)return o;if(o=F({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var y of gt(t))if(!ht.call(o,y))F(o,y,{get:vt.bind(t,y),enumerable:!(n=$o(t,y))||n.enumerable})}return et.set(t,o),o},et;var Eo=(t)=>t;function No(t,o){this[t]=Eo.bind(null,o)}var at=(t,o)=>{for(var n in o)F(t,n,{get:o[n],enumerable:!0,configurable:!0,set:No.bind(o,n)})};var J=(t,o)=>()=>(t&&(o=t(t=0)),o);function un(){function t(){let o=Date.now(),n=Wt||o;return Wt=n,o>Wt?o:n+1}return _o+t().toString(36)}function it(t){return async function(n,y=!0){let u=await dt.SwapKitApi.getChainBalance({address:n,chain:t,scamFilter:y}),{baseDecimal:l}=O.getChainConfig(t),b=u.map(({identifier:x,value:L,decimal:R})=>{return new O.AssetValue({decimal:R||l,identifier:x,value:L})});if(!b.some((x)=>x.isGasAsset))return[O.AssetValue.from({chain:t}),...b];return b}}var O,dt,_o,Wt=0;var rt=J(()=>{O=require("@swapkit/helpers"),dt=require("@swapkit/helpers/api"),_o=typeof process<"u"&&process.pid?process.pid.toString(36):""});function C(t){return{getBalance:it(t)}}function jo(t){return t}var d=J(()=>{rt()});function oo(t){return new z.JsonRpcProvider(t)}async function Jt(t,o){return oo(o||await D.getRPCUrl(t))}function I(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function zt(t){let{explorerUrl:o,chainIdHex:n,rpcUrls:y}=D.getChainConfig(t);return function(){return t!==D.Chain.Ethereum?{...So({chain:t}),blockExplorerUrls:[o],chainId:n,rpcUrls:y}:void 0}}function kt(t){return![D.Chain.Adi,D.Chain.Arbitrum,D.Chain.BinanceSmartChain].includes(t)}function So({chain:t}){let{name:o,nativeCurrency:n,baseDecimal:y}=D.getChainConfig(t);return $t.match(t).with(D.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:D.Chain.Ethereum}})).with(D.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:D.Chain.Ethereum}})).with(D.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:t}})).with(D.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:D.Chain.Ethereum}})).with(D.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(D.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(D.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(D.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(D.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:D.Chain.Ethereum}})).with(D.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:D.Chain.Polygon}})).otherwise(()=>({chainName:o,nativeCurrency:{decimals:y,name:n,symbol:n}}))}async function Et(t,o){if(!("authorize"in t))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let n={...o,nonce:o.nonce!==void 0?BigInt(o.nonce):void 0};return await t.authorize(n)}function no(t,o){let n=o!==void 0?`index ${o}: `:"",y=(u,l)=>{throw new D.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:u,message:`${n}${l}`}})};$t.match(t).when(({chainId:u})=>typeof u!=="bigint",()=>y("chainId","chainId must be a bigint")).when(({address:u})=>!Ao(u),()=>y("address","address must be a valid checksummed address")).when(({nonce:u})=>typeof u!=="bigint"||u<0n,()=>y("nonce","nonce must be a non-negative bigint")).when(({signature:u})=>!u,()=>y("signature","signature is required")).when(({signature:u})=>typeof u?.yParity!=="number"||![0,1].includes(u.yParity),()=>y("signature.yParity","yParity must be 0 or 1")).when(({signature:u})=>!to(u?.r),()=>y("signature.r","r must be a 32-byte hex string")).when(({signature:u})=>!to(u?.s),()=>y("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function yo(t){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:o})=>t[o]!=null).map(({key:o,type:n})=>({name:o,type:n}))}function Yt(t){return t.charAt(0).toUpperCase()+t.slice(1)}function Qt(t,o){if(t.isTuple()&&t.components){let n=Yt(t.name);return o[n]=t.components.map((y)=>({name:y.name,type:Qt(y,o)})),n}if(t.isArray()){let n=t.arrayChildren;if(n?.isTuple()&&n.components){let y=Yt(t.name.replace(/s$/,""));return o[y]=n.components.map((u)=>({name:u.name,type:Qt(u,o)})),`${y}[]`}return`${n?.type??"bytes"}[]`}return t.type}function Zt(t,o){if(typeof t==="bigint")return t;if(o?.isTuple()&&typeof t?.toObject==="function"){let n=t.toObject(),y={};for(let[u,l]of(o.components??[]).entries())y[l.name]=Zt(n[l.name]??t[u],l);return y}if(Array.isArray(t)){let n=o?.arrayChildren;return t.map((y)=>Zt(y,n??void 0))}return t}function mo({chain:t,abi:o,data:n,to:y}){let l=new z.Interface(o).parseTransaction({data:n});if(!l)throw new D.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let b={},M=Yt(l.name);b[M]=l.fragment.inputs.map((w)=>({name:w.name,type:Qt(w,b)}));let x={};for(let[w,q]of l.fragment.inputs.entries())x[q.name]=Zt(l.args[w],q);let{chainId:L}=D.getChainConfig(t),R={chainId:Number(L),verifyingContract:z.getAddress(y)},U=yo(R);return{domain:R,message:x,primaryType:M,types:{EIP712Domain:U,...b}}}function Nt(t,o){if(!Array.isArray(t)||t.length===0)throw new D.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[n,y]of t.entries())if(no(y,n),o!==void 0&&y.chainId!==o)throw new D.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${n}: authorization chainId (${y.chainId}) does not match transaction chainId (${o})`}})}var D,z,$t,to=(t)=>typeof t==="string"&&/^0x[a-fA-F0-9]{64}$/.test(t),Ao=(t)=>{try{return typeof t==="string"&&!!z.getAddress(t)}catch{return!1}};var P=J(()=>{D=require("@swapkit/helpers"),z=require("ethers"),$t=require("ts-pattern")});var uo;var To=J(()=>{uo=[{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 j({chain:t=T.Chain.Ethereum,provider:o,signer:n,isEIP1559Compatible:y=!0}){return{approve:Io({chain:t,isEIP1559Compatible:y,provider:o,signer:n}),approvedAmount:Mo({chain:t,provider:o}),broadcastTransaction:o.broadcastTransaction,call:Ft({chain:t,isEIP1559Compatible:y,provider:o,signer:n}),createApprovalTx:co({chain:t,provider:o,signer:n}),createContract:At({chain:t,provider:o}),createContractTxObject:k({chain:t,provider:o}),createTransaction:_t({chain:t,provider:o,signer:n}),createTransferTx:_t({chain:t,provider:o,signer:n}),EIP1193SendTransaction:A(o),estimateCall:xo({provider:o,signer:n}),estimateGasLimit:po({chain:t,provider:o,signer:n}),estimateGasPrices:E({chain:t,isEIP1559Compatible:y,provider:o}),estimateTransactionFee:eo({chain:t,isEIP1559Compatible:y,provider:o}),getAddress:()=>{return n?n.getAddress():void 0},getBalance:C(t).getBalance,getNetworkParams:zt(t),isApproved:Co({chain:t,provider:o}),sendTransaction:wo({chain:t,isEIP1559Compatible:y,provider:o,signer:n}),signAuthorization:so({signer:n}),signMessage:n?(u)=>n.signMessage(u):void 0,signTypedData:n?({domain:u,types:l,value:b})=>n.signTypedData(u,l,b):void 0,transfer:Po({chain:t,isEIP1559Compatible:y,provider:o,signer:n}),validateAddress:St}}function St(t){try{return Q.getAddress(t),!0}catch{return!1}}function S(t){return t instanceof Q.BrowserProvider}function s(t,o,n){return new Q.Contract(t,Q.Interface.from(o),n)}function At({provider:t}){return function(n,y){return new Q.Contract(n,Q.Interface.from(y),t)}}function mt({abi:t,funcName:o}){let n=t.find((y)=>y.name===o);if(!n)throw new T.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:o});return n.stateMutability&&Ko.includes(n.stateMutability)}function lo(t){return Q.getAddress(t)}function A(t){return function({value:n,...y}){if(!S(t))throw new T.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:u,gasPrice:l,maxFeePerGas:b,maxPriorityFeePerGas:M,...x}=y;return t.send("eth_sendTransaction",[{...x,value:I(BigInt(n||0))}])}}function bo(t,o){let n=m(t,o);if(n)return Q.getAddress(n.toLowerCase());throw new T.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function m({chain:t,symbol:o,ticker:n},y){try{let u=t===T.Chain.BinanceSmartChain&&o==="BNB"&&n==="BNB",l=t===T.Chain.Hyperevm&&o==="HYPE"&&n==="HYPE",b=t===y&&o===y&&n===y,M=Oo.includes(t)&&o==="ETH"&&n==="ETH";if(b||u||l||M)return Kt[y];return Q.getAddress(o.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function k({provider:t}){return async({contractAddress:o,abi:n,funcName:y,funcParams:u=[],txOverrides:l})=>s(o,n,t).getFunction(y).populateTransaction(...u.concat(l).filter((b)=>typeof b<"u"))}function E({chain:t,provider:o,isEIP1559Compatible:n=!0}){return jt.match(t).with(T.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:u,maxPriorityFeePerGas:l}=await o.getFeeData();if(!u||l===null)throw new T.SwapKitError("toolbox_evm_no_fee_data");return{[T.FeeOption.Average]:{maxFeePerGas:T.applyFeeMultiplierToBigInt(u,T.FeeOption.Average),maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Average)},[T.FeeOption.Fast]:{maxFeePerGas:T.applyFeeMultiplierToBigInt(u,T.FeeOption.Fast),maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Fast)},[T.FeeOption.Fastest]:{maxFeePerGas:T.applyFeeMultiplierToBigInt(u,T.FeeOption.Fastest),maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Fastest)}}}catch(u){throw new T.SwapKitError("toolbox_evm_gas_estimation_error",{error:u.msg??u.toString()})}}}).with(T.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:u}=await o.getFeeData();if(!u)throw new T.SwapKitError("toolbox_evm_no_fee_data");let l=u*12n/10n;return{[T.FeeOption.Average]:{gasPrice:l},[T.FeeOption.Fast]:{gasPrice:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Fast)},[T.FeeOption.Fastest]:{gasPrice:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Fastest)}}}catch(u){throw new T.SwapKitError("toolbox_evm_gas_estimation_error",{error:u.msg??u.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:u,maxPriorityFeePerGas:l,gasPrice:b}=await o.getFeeData();if(n){if(u===null||l===null)throw new T.SwapKitError("toolbox_evm_no_fee_data");return{[T.FeeOption.Average]:{maxFeePerGas:u,maxPriorityFeePerGas:l},[T.FeeOption.Fast]:{maxFeePerGas:T.applyFeeMultiplierToBigInt(u,T.FeeOption.Fast),maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Fast)},[T.FeeOption.Fastest]:{maxFeePerGas:T.applyFeeMultiplierToBigInt(u,T.FeeOption.Fastest),maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Fastest)}}}if(!b)throw new T.SwapKitError("toolbox_evm_no_gas_price");return{[T.FeeOption.Average]:{gasPrice:b},[T.FeeOption.Fast]:{gasPrice:T.applyFeeMultiplierToBigInt(b,T.FeeOption.Fast)},[T.FeeOption.Fastest]:{gasPrice:T.applyFeeMultiplierToBigInt(b,T.FeeOption.Fastest)}}}catch(u){throw new T.SwapKitError("toolbox_evm_gas_estimation_error",{error:u.msg??u.toString()})}}})}function Ft({provider:t,isEIP1559Compatible:o,signer:n,chain:y}){return async function({callProvider:l,contractAddress:b,abi:M,funcName:x,funcParams:L=[],txOverrides:R={},feeOption:U=T.FeeOption.Fast}){let w=l||t;if(!b)throw new T.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let q=mt({abi:M,funcName:x});if(q&&S(w)&&n){let W=k({chain:y,provider:w}),$=R?.from||await n?.getAddress(),Z=await W({abi:M,contractAddress:b,funcName:x,funcParams:L,txOverrides:{...R,from:$}});return A(w)(Z)}let V=s(b,M,w);if(q){if(!n)throw new T.SwapKitError("toolbox_evm_no_signer");let W=R?.from||await n.getAddress();if(!W)throw new T.SwapKitError("toolbox_evm_no_signer_address");let $=V.connect(n),Z=E({chain:y,isEIP1559Compatible:o,provider:t}),{maxFeePerGas:N,maxPriorityFeePerGas:h,gasPrice:K}=(await Z())[U],v=await V.getFunction(x).estimateGas(...L,R),Y=await $[x](...L,{...R,gasLimit:v,gasPrice:K,maxFeePerGas:N,maxPriorityFeePerGas:h,nonce:R?.nonce||await w.getTransactionCount(W)});return typeof Y?.hash==="string"?Y?.hash:Y}let X=await V[x]?.(...L);return typeof X?.hash==="string"?X?.hash:X}}function Mo({provider:t,chain:o}){return function({assetAddress:y,spenderAddress:u,from:l}){return Ft({chain:o,isEIP1559Compatible:!0,provider:t})({abi:_.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[l,u]})}}function Co({provider:t,chain:o}){return async function({assetAddress:y,spenderAddress:u,from:l,amount:b=p}){let M=await Mo({chain:o,provider:t})({assetAddress:y,from:l,spenderAddress:u});return T.SwapKitNumber.fromBigInt(M).gte(T.SwapKitNumber.fromBigInt(BigInt(b)))}}function Io({signer:t,isEIP1559Compatible:o=!0,provider:n,chain:y}){return async function({assetAddress:l,spenderAddress:b,feeOptionKey:M=T.FeeOption.Fast,amount:x,gasLimitFallback:L,from:R,nonce:U}){let w=[b,BigInt(x||p)],q=await t?.getAddress()||R,V={abi:_.erc20ABI,contractAddress:l,funcName:"approve",funcParams:w,signer:t,txOverrides:{from:q}};if(S(n)){let W=k({chain:y,provider:n}),$=A(n),Z=await W(V);return $(Z)}return Ft({chain:y,isEIP1559Compatible:o,provider:n,signer:t})({...V,feeOption:M,funcParams:w,txOverrides:{from:q,gasLimit:L?BigInt(L.toString()):void 0,nonce:U}})}}function Po({signer:t,isEIP1559Compatible:o=!0,provider:n}){return async function({assetValue:u,memo:l,recipient:b,feeOptionKey:M=T.FeeOption.Fast,sender:x,...L}){let{hexlify:R,toUtf8Bytes:U}=await import("ethers"),w=u.getBaseValue("bigint"),q=u.chain,V=x||await t?.getAddress(),X=wo({chain:q,isEIP1559Compatible:o,provider:n,signer:t});if(!V)throw new T.SwapKitError("toolbox_evm_no_from_address");if(u.isGasAsset){let K={...L,data:R(U(l||"")),feeOptionKey:M,from:V,to:b,value:w};return X(K)}if(!m(u,q))throw new T.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:$,maxPriorityFeePerGas:Z,gasPrice:N}=(await E({chain:q,isEIP1559Compatible:o,provider:n})())[M],h=await _t({chain:q,provider:n,signer:t})({assetValue:u,data:R(U(l||"")),gasPrice:N,maxFeePerGas:$,maxPriorityFeePerGas:Z,memo:l,recipient:b,sender:V});return X(h)}}function xo({provider:t,signer:o}){return function({contractAddress:y,abi:u,funcName:l,funcParams:b=[],txOverrides:M}){if(!y)throw new T.SwapKitError("toolbox_evm_no_contract_address");let x=s(y,u,t);return o?x.connect(o).getFunction(l).estimateGas(...b,M):x.getFunction(l).estimateGas(...b,M)}}function po({provider:t,signer:o}){return async function({assetValue:y,recipient:u,memo:l,data:b,sender:M,funcName:x,funcParams:L,txOverrides:R}){let U=y.bigIntValue,w=y.isGasAsset?null:m(y,y.chain);if(w&&x)return xo({provider:t,signer:o})({abi:_.erc20ABI,contractAddress:w,funcName:x,funcParams:L,txOverrides:R});let{hexlify:q,toUtf8Bytes:V}=await import("ethers");return t.estimateGas({data:b?b:l?q(V(l)):void 0,from:M,to:u,value:U})}}function so({signer:t}){if(!t)return;return(o)=>Et(t,o)}function wo({provider:t,signer:o,isEIP1559Compatible:n=!0,chain:y}){return async function({feeOptionKey:l=T.FeeOption.Fast,...b}){let{from:M,to:x,data:L,value:R,...U}=b;if(!o)throw new T.SwapKitError("toolbox_evm_no_signer");if(!x)throw new T.SwapKitError("toolbox_evm_no_to_address");let w={...U,data:L||"0x",from:M,to:x,value:BigInt(R||0)};if(S(t))return A(t)(w);let q=M||await o.getAddress(),V=b.nonce||await t.getTransactionCount(q),X=(await t.getNetwork()).chainId,W=Ct(w,n);if(W==="eip7702")Nt(w.authorizations||[],X);let $=jt.match(W).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),Z={...w,chainId:X,nonce:V,type:$,...W==="eip7702"&&{authorizationList:w.authorizations}},N=E({chain:y,isEIP1559Compatible:n,provider:t}),K=W!=="legacy"&&!(w.maxFeePerGas&&w.maxPriorityFeePerGas)||!w.gasPrice?Object.entries((await N())[l]).reduce((Y,[a,ct])=>({...Y,[a]:I(BigInt(ct))}),{}):{},v;try{v=I(w.gasLimit||await t.estimateGas(Z)*11n/10n)}catch(Y){throw new T.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:Y})}try{let Y={...Z,gasLimit:v,...K};try{return(await o.sendTransaction(Y)).hash}catch{let a=await o.signTransaction({...Y,from:q});return(await t.broadcastTransaction(a)).hash}}catch(Y){throw new T.SwapKitError("toolbox_evm_error_sending_transaction",{error:Y})}}}function _t({provider:t,signer:o}){return async function({assetValue:y,memo:u,recipient:l,data:b,sender:M,maxFeePerGas:x,maxPriorityFeePerGas:L,gasPrice:R,...U}){let w=y.getBaseValue("bigint"),q=y.chain,V=M||await o?.getAddress();if(!V)throw new T.SwapKitError("toolbox_evm_no_from_address");if(T.isGasAsset(y)){let{hexlify:$,toUtf8Bytes:Z}=await import("ethers");return{...U,data:b||$(Z(u||"")),from:V,to:l,value:w}}let X=m(y,q);if(!X)throw new T.SwapKitError("toolbox_evm_no_contract_address");return k({chain:y.chain,provider:t})({abi:_.erc20ABI,contractAddress:X,funcName:"transfer",funcParams:[l,w],txOverrides:{from:V,gasPrice:R,maxFeePerGas:x,maxPriorityFeePerGas:L}})}}function co({provider:t,signer:o,chain:n}){return async function({assetAddress:u,spenderAddress:l,amount:b,from:M}){let x=await o?.getAddress()||M,L=k({chain:n,provider:t}),R=["bigint","number"].includes(typeof b)?b:b||p;return await L({abi:_.erc20ABI,contractAddress:u,funcName:"approve",funcParams:[l,BigInt(R)],txOverrides:{from:x}})}}function eo({provider:t,isEIP1559Compatible:o=!0,chain:n}){return async function({feeOption:u=T.FeeOption.Fast,...l}){let M=await E({chain:n,isEIP1559Compatible:o,provider:t})(),x=await t.estimateGas(l),L=T.AssetValue.from({chain:n}),{gasPrice:R,maxFeePerGas:U,maxPriorityFeePerGas:w}=M[u];if(!o&&R)return L.set(T.SwapKitNumber.fromBigInt(R*x,L.decimal));if(U&&w){let q=(U+w)*x;return L.set(T.SwapKitNumber.fromBigInt(q,L.decimal))}throw new T.SwapKitError("toolbox_evm_no_gas_price")}}var T,_,Q,jt,p,Ko,Fo,Kt,Oo,i=(t)=>t.type===4||(t.authorizations?.length??0)>0,Ot=(t)=>!i(t)&&(t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas),Ct=(t,o=!0)=>{if(i(t))return"eip7702";if(Ot(t)||o)return"eip1559";return"legacy"};var r=J(()=>{d();P();T=require("@swapkit/helpers"),_=require("@swapkit/helpers/contracts"),Q=require("ethers"),jt=require("ts-pattern"),p=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Ko=["payable","nonpayable"];Fo=T.EVMChains.reduce((t,o)=>{return t[o]="0x0000000000000000000000000000000000000000",t},{}),Kt={...Fo,[T.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[T.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},Oo=[T.Chain.Arbitrum,T.Chain.Aurora,T.Chain.Base,T.Chain.Optimism]});function tt(t){let o=H(B.Chain.Ethereum)(t);async function n(y,u="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",b=B.FeeOption.Fast){let M=await o.createContractTxObject({abi:uo,contractAddress:u,funcName:l,funcParams:[y]});return o.sendTransaction({...M,feeOptionKey:b})}return{...o,multicall:n}}function H(t){return function({provider:n,...y}){let u=kt(t),l=c.match(y).with({phrase:c.P.string},({phrase:M})=>Do.HDNodeWallet.fromPhrase(M).connect(n)).with({signer:c.P.any},({signer:M})=>M).otherwise(()=>{return});return j({chain:t,isEIP1559Compatible:u,provider:n,signer:l})}}var B,Do,c,ot,nt,yt,ut,Tt,lt,bt,Ro,Mt,xt,wt,Dt,Rt,Lt,Bt,ft,Gt,qt,e,Ht,Ut;var It=J(()=>{To();P();r();B=require("@swapkit/helpers"),Do=require("ethers"),c=require("ts-pattern");ot=H(B.Chain.Adi),nt=H(B.Chain.Arbitrum),yt=H(B.Chain.Aurora),ut=H(B.Chain.Avalanche),Tt=H(B.Chain.Base),lt=H(B.Chain.Berachain),bt=H(B.Chain.BinanceSmartChain),Ro=H(B.Chain.Botanix),Mt=H(B.Chain.Core),xt=H(B.Chain.Corn),wt=H(B.Chain.Cronos),Dt=H(B.Chain.Gnosis),Rt=H(B.Chain.Hyperevm),Lt=H(B.Chain.Linea),Bt=H(B.Chain.Polygon),ft=H(B.Chain.MegaETH),Gt=H(B.Chain.Monad),qt=H(B.Chain.Plasma),e=H(B.Chain.Sonic),Ht=H(B.Chain.Unichain),Ut=H(B.Chain.XLayer)});var Lo;var Bo=J(()=>{Lo=[{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 Pt(t){return new Vt.Contract(ho,Lo,t)}function fo(t){return async function(){let n=Pt(t);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function Go(t){return async function({from:n,to:y,nonce:u,...l}){let{Transaction:b}=await import("ethers");if(!y)throw new G.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return b.from({...l,authorizationList:l.authorizationList,nonce:u?u:n?await t.getTransactionCount(n):0,to:y}).serialized}}function qo(t){return async function(n){let y=Pt(t),u=await Go(t)(n);if(y&&"getL1Fee"in y)return y.getL1Fee(u)}}function Ho(t){return async function(n){let u=(await t.getFeeData()).gasPrice??0n,l=await t.estimateGas(n);return u*l}}function vo(t){return async function(n){let y=await qo(t)(n)??0n,u=await Ho(t)(n);return y+u}}function ao(t){return async function(n){let y=Pt(t),u=await Go(t)(n);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(u)}}function io(t){return async function(){try{let{maxFeePerGas:n,maxPriorityFeePerGas:y,gasPrice:u}=await t.getFeeData(),l=await fo(t)(),b=u;if(!(n&&y))throw new G.SwapKitError("toolbox_evm_no_fee_data");return{[G.FeeOption.Average]:{gasPrice:b,l1GasPrice:l,maxFeePerGas:n,maxPriorityFeePerGas:y},[G.FeeOption.Fast]:{gasPrice:G.applyFeeMultiplierToBigInt(b,G.FeeOption.Fast),l1GasPrice:G.applyFeeMultiplierToBigInt(l||0n,G.FeeOption.Fast),maxFeePerGas:n,maxPriorityFeePerGas:G.applyFeeMultiplierToBigInt(y,G.FeeOption.Fast)},[G.FeeOption.Fastest]:{gasPrice:G.applyFeeMultiplierToBigInt(b,G.FeeOption.Fastest),l1GasPrice:G.applyFeeMultiplierToBigInt(l||0n,G.FeeOption.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:G.applyFeeMultiplierToBigInt(y,G.FeeOption.Fastest)}}}catch(n){throw new G.SwapKitError("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}}function Xt({provider:t,...o}){let n=g.match(o).with({phrase:g.P.string},({phrase:l})=>Vt.HDNodeWallet.fromPhrase(l).connect(t)).with({signer:g.P.any},({signer:l})=>l).otherwise(()=>{return}),y=j({provider:t,signer:n}),u=fo(t);return{...y,estimateGasPrices:io(t),estimateL1Gas:ao(t),estimateL1GasCost:qo(t),estimateL2GasCost:Ho(t),estimateTotalGasCost:vo(t),getBalance:C(G.Chain.Optimism).getBalance,getL1GasPrice:u}}var G,Vt,g,ho="0x420000000000000000000000000000000000000f";var pt=J(()=>{d();Bo();r();G=require("@swapkit/helpers"),Vt=require("ethers"),g=require("ts-pattern")});var ro={};at(ro,{validateEVMAddress:()=>St,toChecksumAddress:()=>lo,isStateChangingCall:()=>mt,isEIP7702Transaction:()=>i,isEIP1559Transaction:()=>Ot,isBrowserProvider:()=>S,getTokenAddress:()=>m,getEvmToolboxAsync:()=>Vo,getEvmToolbox:()=>st,getEstimateGasPrices:()=>E,getEVMTxType:()=>Ct,getEIP1193SendTransaction:()=>A,getCreateContractTxObject:()=>k,getCreateContract:()=>At,getChecksumAddressFromAsset:()=>bo,createContract:()=>s,XLayerToolbox:()=>Ut,UNIToolbox:()=>Ht,SONICToolbox:()=>e,PLASMAToolbox:()=>qt,OPToolbox:()=>Xt,MONADToolbox:()=>Gt,MEGAETHToolbox:()=>ft,MAX_APPROVAL:()=>p,MATICToolbox:()=>Bt,LINEAToolbox:()=>Lt,HYPEREVMToolbox:()=>Rt,GNOToolbox:()=>Dt,ETHToolbox:()=>tt,ContractAddress:()=>Kt,CROToolbox:()=>wt,CORNToolbox:()=>xt,COREToolbox:()=>Mt,BotanixToolbox:()=>Ro,BaseEVMToolbox:()=>j,BSCToolbox:()=>bt,BERAToolbox:()=>lt,BASEToolbox:()=>Tt,AVAXToolbox:()=>ut,AURORAToolbox:()=>yt,ARBToolbox:()=>nt,ADIToolbox:()=>ot});function st(t,o){return Uo.match(t).with(f.Chain.Adi,()=>ot(o)).with(f.Chain.Arbitrum,()=>nt(o)).with(f.Chain.Aurora,()=>yt(o)).with(f.Chain.Avalanche,()=>ut(o)).with(f.Chain.Base,()=>Tt(o)).with(f.Chain.Berachain,()=>lt(o)).with(f.Chain.BinanceSmartChain,()=>bt(o)).with(f.Chain.Botanix,()=>e(o)).with(f.Chain.Core,()=>Mt(o)).with(f.Chain.Corn,()=>xt(o)).with(f.Chain.Cronos,()=>wt(o)).with(f.Chain.Ethereum,()=>tt(o)).with(f.Chain.Gnosis,()=>Dt(o)).with(f.Chain.Hyperevm,()=>Rt(o)).with(f.Chain.Linea,()=>Lt(o)).with(f.Chain.MegaETH,()=>ft(o)).with(f.Chain.Monad,()=>Gt(o)).with(f.Chain.Optimism,()=>Xt(o)).with(f.Chain.Plasma,()=>qt(o)).with(f.Chain.Polygon,()=>Bt(o)).with(f.Chain.Sonic,()=>e(o)).with(f.Chain.Unichain,()=>Ht(o)).with(f.Chain.XLayer,()=>Ut(o)).exhaustive()}async function Vo(t,o){let n={...o,provider:o?.provider||await Jt(t)};return st(t,n)}var f,Uo;var Xo=J(()=>{P();It();pt();f=require("@swapkit/helpers"),Uo=require("ts-pattern");r();It();pt()});var Wo;var Yo=J(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(Wo||={})});var tn={};at(tn,{validateEVMAddress:()=>St,validateAuthorizations:()=>Nt,validateAuthorization:()=>no,toHexString:()=>I,toChecksumAddress:()=>lo,signAuthorization:()=>Et,parseEIP712FromEVMTx:()=>mo,isStateChangingCall:()=>mt,isEIP7702Transaction:()=>i,isEIP1559Transaction:()=>Ot,isBrowserProvider:()=>S,getTokenAddress:()=>m,getProviderSync:()=>oo,getProvider:()=>Jt,getNetworkParams:()=>zt,getIsEIP1559Compatible:()=>kt,getEvmToolboxAsync:()=>Vo,getEvmToolbox:()=>st,getEvmApi:()=>C,getEstimateGasPrices:()=>E,getEVMTxType:()=>Ct,getEIP1193SendTransaction:()=>A,getCreateContractTxObject:()=>k,getCreateContract:()=>At,getChecksumAddressFromAsset:()=>bo,createCustomEvmApi:()=>jo,createContract:()=>s,buildEIP712DomainType:()=>yo,XLayerToolbox:()=>Ut,UNIToolbox:()=>Ht,SONICToolbox:()=>e,PLASMAToolbox:()=>qt,OPToolbox:()=>Xt,MONADToolbox:()=>Gt,MEGAETHToolbox:()=>ft,MAX_APPROVAL:()=>p,MATICToolbox:()=>Bt,LINEAToolbox:()=>Lt,HYPEREVMToolbox:()=>Rt,GNOToolbox:()=>Dt,EthNetwork:()=>Wo,ETHToolbox:()=>tt,ContractAddress:()=>Kt,CROToolbox:()=>wt,CORNToolbox:()=>xt,COREToolbox:()=>Mt,BotanixToolbox:()=>Ro,BaseEVMToolbox:()=>j,BSCToolbox:()=>bt,BERAToolbox:()=>lt,BASEToolbox:()=>Tt,AVAXToolbox:()=>ut,AURORAToolbox:()=>yt,ARBToolbox:()=>nt,ADIToolbox:()=>ot});module.exports=ko(tn);var on=J(()=>{d();P();Xo();Yo()});on();
1
+ var zy=Object.create;var{getPrototypeOf:Jy,defineProperty:E,getOwnPropertyNames:ht,getOwnPropertyDescriptor:oy}=Object,st=Object.prototype.hasOwnProperty;function et(t){return this[t]}var _y,jy,uu=(t,y,u)=>{var n=t!=null&&typeof t==="object";if(n){var T=y?_y??=new WeakMap:jy??=new WeakMap,b=T.get(t);if(b)return b}u=t!=null?zy(Jy(t)):{};let M=y||!t||!t.__esModule?E(u,"default",{value:t,enumerable:!0}):u;for(let D of ht(t))if(!st.call(M,D))E(M,D,{get:et.bind(t,D),enumerable:!0});if(n)T.set(t,M);return M},ky=(t)=>{var y=(vt??=new WeakMap).get(t),u;if(y)return y;if(y=E({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var n of ht(t))if(!st.call(y,n))E(y,n,{get:et.bind(t,n),enumerable:!(u=oy(t,n))||u.enumerable})}return vt.set(t,y),y},vt;var Ny=(t)=>t;function Sy(t,y){this[t]=Ny.bind(null,y)}var dt=(t,y)=>{for(var u in y)E(t,u,{get:y[u],enumerable:!0,configurable:!0,set:Sy.bind(y,u)})};var j=(t,y)=>()=>(t&&(y=t(t=0)),y);function Tu(){function t(){let y=Date.now(),u=$t||y;return $t=u,y>$t?y:u+1}return Vy+t().toString(36)}function at(t){return async function(u,n=!0){let T=await it.SwapKitApi.getChainBalance({address:u,chain:t,scamFilter:n}),{baseDecimal:b}=I.getChainConfig(t),M=T.map(({identifier:R,value:B,decimal:G})=>{return new I.AssetValue({decimal:G||b,identifier:R,value:B})});if(!M.some((R)=>R.isGasAsset))return[I.AssetValue.from({chain:t}),...M];return M}}var I,it,Vy,$t=0;var rt=j(()=>{I=require("@swapkit/helpers"),it=require("@swapkit/helpers/api"),Vy=typeof process<"u"&&process.pid?process.pid.toString(36):""});function P(t){return{getBalance:at(t)}}function xy(t){return t}var i=j(()=>{rt()});function yy(t){return new z.JsonRpcProvider(t)}async function Ky(t,y){return yy(y||await L.getRPCUrl(t))}function _t(t){let y=L.SKConfig.get("rpcUrls")[t]?.filter(Boolean)??[];if(y.length===0)throw new L.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:t});let{chainId:u}=L.getChainConfig(t),n=z.Network.from(Number(u)),[T]=y;if(y.length===1)return new z.JsonRpcProvider(T,n,{staticNetwork:n});return new z.FallbackProvider(y.map((b,M)=>({priority:M+1,provider:new z.JsonRpcProvider(b,n,{staticNetwork:n}),stallTimeout:2000})),n,{quorum:1})}function C(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function jt(t){let{explorerUrl:y,chainIdHex:u,rpcUrls:n}=L.getChainConfig(t);return function(){return t!==L.Chain.Ethereum?{...Fy({chain:t}),blockExplorerUrls:[y],chainId:u,rpcUrls:n}:void 0}}function kt(t){return![L.Chain.Adi,L.Chain.Arbitrum,L.Chain.BinanceSmartChain].includes(t)}function Fy({chain:t}){let{name:y,nativeCurrency:u,baseDecimal:n}=L.getChainConfig(t);return ot.match(t).with(L.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:L.Chain.Ethereum}})).with(L.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:L.Chain.Ethereum}})).with(L.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:t}})).with(L.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:L.Chain.Ethereum}})).with(L.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}})).with(L.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:n,name:"OKB",symbol:"OKB"}})).with(L.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}})).with(L.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}})).with(L.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:L.Chain.Ethereum}})).with(L.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:L.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:n,name:u,symbol:u}}))}async function Nt(t,y){if(!("authorize"in t))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let u={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await t.authorize(u)}function uy(t,y){let u=y!==void 0?`index ${y}: `:"",n=(T,b)=>{throw new L.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:T,message:`${u}${b}`}})};ot.match(t).when(({chainId:T})=>typeof T!=="bigint",()=>n("chainId","chainId must be a bigint")).when(({address:T})=>!Ay(T),()=>n("address","address must be a valid checksummed address")).when(({nonce:T})=>typeof T!=="bigint"||T<0n,()=>n("nonce","nonce must be a non-negative bigint")).when(({signature:T})=>!T,()=>n("signature","signature is required")).when(({signature:T})=>typeof T?.yParity!=="number"||![0,1].includes(T.yParity),()=>n("signature.yParity","yParity must be 0 or 1")).when(({signature:T})=>!ty(T?.r),()=>n("signature.r","r must be a 32-byte hex string")).when(({signature:T})=>!ty(T?.s),()=>n("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function ny(t){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>t[y]!=null).map(({key:y,type:u})=>({name:y,type:u}))}function ft(t){return t.charAt(0).toUpperCase()+t.slice(1)}function zt(t,y){if(t.isTuple()&&t.components){let u=ft(t.name);return y[u]=t.components.map((n)=>({name:n.name,type:zt(n,y)})),u}if(t.isArray()){let u=t.arrayChildren;if(u?.isTuple()&&u.components){let n=ft(t.name.replace(/s$/,""));return y[n]=u.components.map((T)=>({name:T.name,type:zt(T,y)})),`${n}[]`}return`${u?.type??"bytes"}[]`}return t.type}function Jt(t,y){if(typeof t==="bigint")return t;if(y?.isTuple()&&typeof t?.toObject==="function"){let u=t.toObject(),n={};for(let[T,b]of(y.components??[]).entries())n[b.name]=Jt(u[b.name]??t[T],b);return n}if(Array.isArray(t)){let u=y?.arrayChildren;return t.map((n)=>Jt(n,u??void 0))}return t}function Oy({chain:t,abi:y,data:u,to:n}){let b=new z.Interface(y).parseTransaction({data:u});if(!b)throw new L.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let M={},D=ft(b.name);M[D]=b.fragment.inputs.map((q)=>({name:q.name,type:zt(q,M)}));let R={};for(let[q,U]of b.fragment.inputs.entries())R[U.name]=Jt(b.args[q],U);let{chainId:B}=L.getChainConfig(t),G={chainId:Number(B),verifyingContract:z.getAddress(n)},X=ny(G);return{domain:G,message:R,primaryType:D,types:{EIP712Domain:X,...M}}}function St(t,y){if(!Array.isArray(t)||t.length===0)throw new L.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[u,n]of t.entries())if(uy(n,u),y!==void 0&&n.chainId!==y)throw new L.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${u}: authorization chainId (${n.chainId}) does not match transaction chainId (${y})`}})}var L,z,ot,ty=(t)=>typeof t==="string"&&/^0x[a-fA-F0-9]{64}$/.test(t),Ay=(t)=>{try{return typeof t==="string"&&!!z.getAddress(t)}catch{return!1}};var m=j(()=>{L=require("@swapkit/helpers"),z=require("ethers"),ot=require("ts-pattern")});var Ty;var ly=j(()=>{Ty=[{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 x({chain:t=l.Chain.Ethereum,provider:y,signer:u,isEIP1559Compatible:n=!0}){return{approve:my({chain:t,isEIP1559Compatible:n,provider:y,signer:u}),approvedAmount:Dy({chain:t,provider:y}),broadcastTransaction:y.broadcastTransaction,call:Et({chain:t,isEIP1559Compatible:n,provider:y,signer:u}),createApprovalTx:vy({chain:t,provider:y,signer:u}),createContract:Ft({chain:t,provider:y}),createContractTxObject:k({chain:t,provider:y}),createTransaction:Vt({chain:t,provider:y,signer:u}),createTransferTx:Vt({chain:t,provider:y,signer:u}),EIP1193SendTransaction:F(y),estimateCall:Ly({provider:y,signer:u}),estimateGasLimit:gy({chain:t,provider:y,signer:u}),estimateGasPrices:N({chain:t,isEIP1559Compatible:n,provider:y}),estimateTransactionFee:hy({chain:t,isEIP1559Compatible:n,provider:y}),getAddress:()=>{return u?u.getAddress():void 0},getBalance:P(t).getBalance,getNetworkParams:jt(t),isApproved:Cy({chain:t,provider:y}),sendTransaction:Ry({chain:t,isEIP1559Compatible:n,provider:y,signer:u}),signAuthorization:cy({signer:u}),signMessage:u?(T)=>u.signMessage(T):void 0,signTypedData:u?({domain:T,types:b,value:M})=>u.signTypedData(T,b,M):void 0,transfer:py({chain:t,isEIP1559Compatible:n,provider:y,signer:u}),validateAddress:Kt}}function Kt(t){try{return J.getAddress(t),!0}catch{return!1}}function K(t){return t instanceof J.BrowserProvider}function g(t,y,u){return new J.Contract(t,J.Interface.from(y),u)}function Ft({provider:t}){return function(u,n){return new J.Contract(u,J.Interface.from(n),t)}}function At({abi:t,funcName:y}){let u=t.find((n)=>n.name===y);if(!u)throw new l.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return u.stateMutability&&Ey.includes(u.stateMutability)}function by(t){return J.getAddress(t)}function F(t){return function({value:u,...n}){if(!K(t))throw new l.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:T,gasPrice:b,maxFeePerGas:M,maxPriorityFeePerGas:D,...R}=n;return t.send("eth_sendTransaction",[{...R,value:C(BigInt(u||0))}])}}function My(t,y){let u=A(t,y);if(u)return J.getAddress(u.toLowerCase());throw new l.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function A({chain:t,symbol:y,ticker:u},n){try{let T=t===l.Chain.BinanceSmartChain&&y==="BNB"&&u==="BNB",b=t===l.Chain.Hyperevm&&y==="HYPE"&&u==="HYPE",M=t===n&&y===n&&u===n,D=Py.includes(t)&&y==="ETH"&&u==="ETH";if(M||T||b||D)return Ot[n];return J.getAddress(y.slice(u.length+1).replace(/^0X/,""))}catch{return null}}function k({provider:t}){return async({contractAddress:y,abi:u,funcName:n,funcParams:T=[],txOverrides:b})=>g(y,u,t).getFunction(n).populateTransaction(...T.concat(b).filter((M)=>typeof M<"u"))}function N({chain:t,provider:y,isEIP1559Compatible:u=!0}){return xt.match(t).with(l.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:T,maxPriorityFeePerGas:b}=await y.getFeeData();if(!T||b===null)throw new l.SwapKitError("toolbox_evm_no_fee_data");return{[l.FeeOption.Average]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Average),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(b,l.FeeOption.Average)},[l.FeeOption.Fast]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Fast),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(b,l.FeeOption.Fast)},[l.FeeOption.Fastest]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Fastest),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(b,l.FeeOption.Fastest)}}}catch(T){throw new l.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).with(l.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:T}=await y.getFeeData();if(!T)throw new l.SwapKitError("toolbox_evm_no_fee_data");let b=T*12n/10n;return{[l.FeeOption.Average]:{gasPrice:b},[l.FeeOption.Fast]:{gasPrice:l.applyFeeMultiplierToBigInt(b,l.FeeOption.Fast)},[l.FeeOption.Fastest]:{gasPrice:l.applyFeeMultiplierToBigInt(b,l.FeeOption.Fastest)}}}catch(T){throw new l.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:b,gasPrice:M}=await y.getFeeData();if(u){if(T===null||b===null)throw new l.SwapKitError("toolbox_evm_no_fee_data");return{[l.FeeOption.Average]:{maxFeePerGas:T,maxPriorityFeePerGas:b},[l.FeeOption.Fast]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Fast),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(b,l.FeeOption.Fast)},[l.FeeOption.Fastest]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Fastest),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(b,l.FeeOption.Fastest)}}}if(!M)throw new l.SwapKitError("toolbox_evm_no_gas_price");return{[l.FeeOption.Average]:{gasPrice:M},[l.FeeOption.Fast]:{gasPrice:l.applyFeeMultiplierToBigInt(M,l.FeeOption.Fast)},[l.FeeOption.Fastest]:{gasPrice:l.applyFeeMultiplierToBigInt(M,l.FeeOption.Fastest)}}}catch(T){throw new l.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}})}function Et({provider:t,isEIP1559Compatible:y,signer:u,chain:n}){return async function({callProvider:b,contractAddress:M,abi:D,funcName:R,funcParams:B=[],txOverrides:G={},feeOption:X=l.FeeOption.Fast}){let q=b||t;if(!M)throw new l.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let U=At({abi:D,funcName:R});if(U&&K(q)&&u){let $=k({chain:n,provider:q}),_=G?.from||await u?.getAddress(),o=await $({abi:D,contractAddress:M,funcName:R,funcParams:B,txOverrides:{...G,from:_}});return F(q)(o)}let Y=g(M,D,q);if(U){if(!u)throw new l.SwapKitError("toolbox_evm_no_signer");let $=G?.from||await u.getAddress();if(!$)throw new l.SwapKitError("toolbox_evm_no_signer_address");let _=Y.connect(u),o=N({chain:n,isEIP1559Compatible:y,provider:t}),{maxFeePerGas:S,maxPriorityFeePerGas:s,gasPrice:O}=(await o())[X],e=await Y.getFunction(R).estimateGas(...B,G),f=await _[R](...B,{...G,gasLimit:e,gasPrice:O,maxFeePerGas:S,maxPriorityFeePerGas:s,nonce:G?.nonce||await q.getTransactionCount($)});return typeof f?.hash==="string"?f?.hash:f}let Z=await Y[R]?.(...B);return typeof Z?.hash==="string"?Z?.hash:Z}}function Dy({provider:t,chain:y}){return function({assetAddress:n,spenderAddress:T,from:b}){return Et({chain:y,isEIP1559Compatible:!0,provider:t})({abi:V.erc20ABI,contractAddress:n,funcName:"allowance",funcParams:[b,T]})}}function Cy({provider:t,chain:y}){return async function({assetAddress:n,spenderAddress:T,from:b,amount:M=p}){let D=await Dy({chain:y,provider:t})({assetAddress:n,from:b,spenderAddress:T});return l.SwapKitNumber.fromBigInt(D).gte(l.SwapKitNumber.fromBigInt(BigInt(M)))}}function my({signer:t,isEIP1559Compatible:y=!0,provider:u,chain:n}){return async function({assetAddress:b,spenderAddress:M,feeOptionKey:D=l.FeeOption.Fast,amount:R,gasLimitFallback:B,from:G,nonce:X}){let q=[M,BigInt(R||p)],U=await t?.getAddress()||G,Y={abi:V.erc20ABI,contractAddress:b,funcName:"approve",funcParams:q,signer:t,txOverrides:{from:U}};if(K(u)){let $=k({chain:n,provider:u}),_=F(u),o=await $(Y);return _(o)}return Et({chain:n,isEIP1559Compatible:y,provider:u,signer:t})({...Y,feeOption:D,funcParams:q,txOverrides:{from:U,gasLimit:B?BigInt(B.toString()):void 0,nonce:X}})}}function py({signer:t,isEIP1559Compatible:y=!0,provider:u}){return async function({assetValue:T,memo:b,recipient:M,feeOptionKey:D=l.FeeOption.Fast,sender:R,...B}){let{hexlify:G,toUtf8Bytes:X}=await import("ethers"),q=T.getBaseValue("bigint"),U=T.chain,Y=R||await t?.getAddress(),Z=Ry({chain:U,isEIP1559Compatible:y,provider:u,signer:t});if(!Y)throw new l.SwapKitError("toolbox_evm_no_from_address");if(T.isGasAsset){let O={...B,data:G(X(b||"")),feeOptionKey:D,from:Y,to:M,value:q};return Z(O)}if(!A(T,U))throw new l.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:_,maxPriorityFeePerGas:o,gasPrice:S}=(await N({chain:U,isEIP1559Compatible:y,provider:u})())[D],s=await Vt({chain:U,provider:u,signer:t})({assetValue:T,data:G(X(b||"")),gasPrice:S,maxFeePerGas:_,maxPriorityFeePerGas:o,memo:b,recipient:M,sender:Y});return Z(s)}}function Ly({provider:t,signer:y}){return function({contractAddress:n,abi:T,funcName:b,funcParams:M=[],txOverrides:D}){if(!n)throw new l.SwapKitError("toolbox_evm_no_contract_address");let R=g(n,T,t);return y?R.connect(y).getFunction(b).estimateGas(...M,D):R.getFunction(b).estimateGas(...M,D)}}function gy({provider:t,signer:y}){return async function({assetValue:n,recipient:T,memo:b,data:M,sender:D,funcName:R,funcParams:B,txOverrides:G}){let X=n.bigIntValue,q=n.isGasAsset?null:A(n,n.chain);if(q&&R)return Ly({provider:t,signer:y})({abi:V.erc20ABI,contractAddress:q,funcName:R,funcParams:B,txOverrides:G});let{hexlify:U,toUtf8Bytes:Y}=await import("ethers");return t.estimateGas({data:M?M:b?U(Y(b)):void 0,from:D,to:T,value:X})}}function cy({signer:t}){if(!t)return;return(y)=>Nt(t,y)}function Ry({provider:t,signer:y,isEIP1559Compatible:u=!0,chain:n}){return async function({feeOptionKey:b=l.FeeOption.Fast,...M}){let{from:D,to:R,data:B,value:G,...X}=M;if(!y)throw new l.SwapKitError("toolbox_evm_no_signer");if(!R)throw new l.SwapKitError("toolbox_evm_no_to_address");let q={...X,data:B||"0x",from:D,to:R,value:BigInt(G||0)};if(K(t))return F(t)(q);let U=D||await y.getAddress(),Y=M.nonce||await t.getTransactionCount(U),Z=(await t.getNetwork()).chainId,$=Pt(q,u);if($==="eip7702")St(q.authorizations||[],Z);let _=xt.match($).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),o={...q,chainId:Z,nonce:Y,type:_,...$==="eip7702"&&{authorizationList:q.authorizations}},S=N({chain:n,isEIP1559Compatible:u,provider:t}),O=$!=="legacy"&&!(q.maxFeePerGas&&q.maxPriorityFeePerGas)||!q.gasPrice?Object.entries((await S())[b]).reduce((f,[d,ct])=>({...f,[d]:C(BigInt(ct))}),{}):{},e;try{e=C(q.gasLimit||await t.estimateGas(o)*11n/10n)}catch(f){throw new l.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:f})}try{let f={...o,gasLimit:e,...O};try{return(await y.sendTransaction(f)).hash}catch{let d=await y.signTransaction({...f,from:U});return(await t.broadcastTransaction(d)).hash}}catch(f){throw new l.SwapKitError("toolbox_evm_error_sending_transaction",{error:f})}}}function Vt({provider:t,signer:y}){return async function({assetValue:n,memo:T,recipient:b,data:M,sender:D,maxFeePerGas:R,maxPriorityFeePerGas:B,gasPrice:G,...X}){let q=n.getBaseValue("bigint"),U=n.chain,Y=D||await y?.getAddress();if(!Y)throw new l.SwapKitError("toolbox_evm_no_from_address");if(l.isGasAsset(n)){let{hexlify:_,toUtf8Bytes:o}=await import("ethers");return{...X,data:M||_(o(T||"")),from:Y,to:b,value:q}}let Z=A(n,U);if(!Z)throw new l.SwapKitError("toolbox_evm_no_contract_address");return k({chain:n.chain,provider:t})({abi:V.erc20ABI,contractAddress:Z,funcName:"transfer",funcParams:[b,q],txOverrides:{from:Y,gasPrice:G,maxFeePerGas:R,maxPriorityFeePerGas:B}})}}function vy({provider:t,signer:y,chain:u}){return async function({assetAddress:T,spenderAddress:b,amount:M,from:D}){let R=await y?.getAddress()||D,B=k({chain:u,provider:t}),G=["bigint","number"].includes(typeof M)?M:M||p;return await B({abi:V.erc20ABI,contractAddress:T,funcName:"approve",funcParams:[b,BigInt(G)],txOverrides:{from:R}})}}function hy({provider:t,isEIP1559Compatible:y=!0,chain:u}){return async function({feeOption:T=l.FeeOption.Fast,...b}){let D=await N({chain:u,isEIP1559Compatible:y,provider:t})(),R=await t.estimateGas(b),B=l.AssetValue.from({chain:u}),{gasPrice:G,maxFeePerGas:X,maxPriorityFeePerGas:q}=D[T];if(!y&&G)return B.set(l.SwapKitNumber.fromBigInt(G*R,B.decimal));if(X&&q){let U=(X+q)*R;return B.set(l.SwapKitNumber.fromBigInt(U,B.decimal))}throw new l.SwapKitError("toolbox_evm_no_gas_price")}}var l,V,J,xt,p,Ey,Iy,Ot,Py,a=(t)=>t.type===4||(t.authorizations?.length??0)>0,It=(t)=>!a(t)&&(t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas),Pt=(t,y=!0)=>{if(a(t))return"eip7702";if(It(t)||y)return"eip1559";return"legacy"};var r=j(()=>{i();m();l=require("@swapkit/helpers"),V=require("@swapkit/helpers/contracts"),J=require("ethers"),xt=require("ts-pattern"),p=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Ey=["payable","nonpayable"];Iy=l.EVMChains.reduce((t,y)=>{return t[y]="0x0000000000000000000000000000000000000000",t},{}),Ot={...Iy,[l.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[l.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},Py=[l.Chain.Arbitrum,l.Chain.Aurora,l.Chain.Base,l.Chain.Optimism]});function tt(t){let y=Q(w.Chain.Ethereum)(t);async function u(n,T="0x5ba1e12693dc8f9c48aad8770482f4739beed696",b="aggregate",M=w.FeeOption.Fast){let D=await y.createContractTxObject({abi:Ty,contractAddress:T,funcName:b,funcParams:[n]});return y.sendTransaction({...D,feeOptionKey:M})}return{...y,multicall:u}}function Q(t){return function({provider:u,...n}){let T=kt(t),b=c.match(n).with({phrase:c.P.string},({phrase:D})=>qy.HDNodeWallet.fromPhrase(D).connect(u)).with({signer:c.P.any},({signer:D})=>D).otherwise(()=>{return});return x({chain:t,isEIP1559Compatible:T,provider:u,signer:b})}}var w,qy,c,yt,ut,nt,Tt,lt,bt,Mt,Gy,Dt,Lt,Rt,qt,Gt,Bt,wt,Ht,Wt,Ut,v,Qt,Xt;var Ct=j(()=>{ly();m();r();w=require("@swapkit/helpers"),qy=require("ethers"),c=require("ts-pattern");yt=Q(w.Chain.Adi),ut=Q(w.Chain.Arbitrum),nt=Q(w.Chain.Aurora),Tt=Q(w.Chain.Avalanche),lt=Q(w.Chain.Base),bt=Q(w.Chain.Berachain),Mt=Q(w.Chain.BinanceSmartChain),Gy=Q(w.Chain.Botanix),Dt=Q(w.Chain.Core),Lt=Q(w.Chain.Corn),Rt=Q(w.Chain.Cronos),qt=Q(w.Chain.Gnosis),Gt=Q(w.Chain.Hyperevm),Bt=Q(w.Chain.Linea),wt=Q(w.Chain.Polygon),Ht=Q(w.Chain.MegaETH),Wt=Q(w.Chain.Monad),Ut=Q(w.Chain.Plasma),v=Q(w.Chain.Sonic),Qt=Q(w.Chain.Unichain),Xt=Q(w.Chain.XLayer)});var By;var wy=j(()=>{By=[{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 mt(t){return new Yt.Contract(ey,By,t)}function Hy(t){return async function(){let u=mt(t);if(u&&"l1BaseFee"in u)return await u?.l1BaseFee();return}}function Wy(t){return async function({from:u,to:n,nonce:T,...b}){let{Transaction:M}=await import("ethers");if(!n)throw new W.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return M.from({...b,authorizationList:b.authorizationList,nonce:T?T:u?await t.getTransactionCount(u):0,to:n}).serialized}}function Uy(t){return async function(u){let n=mt(t),T=await Wy(t)(u);if(n&&"getL1Fee"in n)return n.getL1Fee(T)}}function Qy(t){return async function(u){let T=(await t.getFeeData()).gasPrice??0n,b=await t.estimateGas(u);return T*b}}function dy(t){return async function(u){let n=await Uy(t)(u)??0n,T=await Qy(t)(u);return n+T}}function iy(t){return async function(u){let n=mt(t),T=await Wy(t)(u);if(n&&"getL1GasUsed"in n)return n.getL1GasUsed(T)}}function ay(t){return async function(){try{let{maxFeePerGas:u,maxPriorityFeePerGas:n,gasPrice:T}=await t.getFeeData(),b=await Hy(t)(),M=T;if(!(u&&n))throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{gasPrice:M,l1GasPrice:b,maxFeePerGas:u,maxPriorityFeePerGas:n},[W.FeeOption.Fast]:{gasPrice:W.applyFeeMultiplierToBigInt(M,W.FeeOption.Fast),l1GasPrice:W.applyFeeMultiplierToBigInt(b||0n,W.FeeOption.Fast),maxFeePerGas:u,maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(n,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{gasPrice:W.applyFeeMultiplierToBigInt(M,W.FeeOption.Fastest),l1GasPrice:W.applyFeeMultiplierToBigInt(b||0n,W.FeeOption.Fastest),maxFeePerGas:u,maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(n,W.FeeOption.Fastest)}}}catch(u){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:u.msg??u.toString()})}}}function Zt({provider:t,...y}){let u=h.match(y).with({phrase:h.P.string},({phrase:b})=>Yt.HDNodeWallet.fromPhrase(b).connect(t)).with({signer:h.P.any},({signer:b})=>b).otherwise(()=>{return}),n=x({provider:t,signer:u}),T=Hy(t);return{...n,estimateGasPrices:ay(t),estimateL1Gas:iy(t),estimateL1GasCost:Uy(t),estimateL2GasCost:Qy(t),estimateTotalGasCost:dy(t),getBalance:P(W.Chain.Optimism).getBalance,getL1GasPrice:T}}var W,Yt,h,ey="0x420000000000000000000000000000000000000f";var pt=j(()=>{i();wy();r();W=require("@swapkit/helpers"),Yt=require("ethers"),h=require("ts-pattern")});var ry={};dt(ry,{validateEVMAddress:()=>Kt,toChecksumAddress:()=>by,isStateChangingCall:()=>At,isEIP7702Transaction:()=>a,isEIP1559Transaction:()=>It,isBrowserProvider:()=>K,getTokenAddress:()=>A,getEvmToolboxAsync:()=>Yy,getEvmToolbox:()=>gt,getEstimateGasPrices:()=>N,getEVMTxType:()=>Pt,getEIP1193SendTransaction:()=>F,getCreateContractTxObject:()=>k,getCreateContract:()=>Ft,getChecksumAddressFromAsset:()=>My,createContract:()=>g,XLayerToolbox:()=>Xt,UNIToolbox:()=>Qt,SONICToolbox:()=>v,PLASMAToolbox:()=>Ut,OPToolbox:()=>Zt,MONADToolbox:()=>Wt,MEGAETHToolbox:()=>Ht,MAX_APPROVAL:()=>p,MATICToolbox:()=>wt,LINEAToolbox:()=>Bt,HYPEREVMToolbox:()=>Gt,GNOToolbox:()=>qt,ETHToolbox:()=>tt,ContractAddress:()=>Ot,CROToolbox:()=>Rt,CORNToolbox:()=>Lt,COREToolbox:()=>Dt,BotanixToolbox:()=>Gy,BaseEVMToolbox:()=>x,BSCToolbox:()=>Mt,BERAToolbox:()=>bt,BASEToolbox:()=>lt,AVAXToolbox:()=>Tt,AURORAToolbox:()=>nt,ARBToolbox:()=>ut,ADIToolbox:()=>yt});function gt(t,y){return Xy.match(t).with(H.Chain.Adi,()=>yt(y)).with(H.Chain.Arbitrum,()=>ut(y)).with(H.Chain.Aurora,()=>nt(y)).with(H.Chain.Avalanche,()=>Tt(y)).with(H.Chain.Base,()=>lt(y)).with(H.Chain.Berachain,()=>bt(y)).with(H.Chain.BinanceSmartChain,()=>Mt(y)).with(H.Chain.Botanix,()=>v(y)).with(H.Chain.Core,()=>Dt(y)).with(H.Chain.Corn,()=>Lt(y)).with(H.Chain.Cronos,()=>Rt(y)).with(H.Chain.Ethereum,()=>tt(y)).with(H.Chain.Gnosis,()=>qt(y)).with(H.Chain.Hyperevm,()=>Gt(y)).with(H.Chain.Linea,()=>Bt(y)).with(H.Chain.MegaETH,()=>Ht(y)).with(H.Chain.Monad,()=>Wt(y)).with(H.Chain.Optimism,()=>Zt(y)).with(H.Chain.Plasma,()=>Ut(y)).with(H.Chain.Polygon,()=>wt(y)).with(H.Chain.Sonic,()=>v(y)).with(H.Chain.Unichain,()=>Qt(y)).with(H.Chain.XLayer,()=>Xt(y)).exhaustive()}async function Yy(t,y){let u={...y,provider:y?.provider||_t(t)};return gt(t,u)}var H,Xy;var Zy=j(()=>{m();Ct();pt();H=require("@swapkit/helpers"),Xy=require("ts-pattern");r();Ct();pt()});var $y;var fy=j(()=>{((u)=>{u.Test="goerli";u.Main="homestead"})($y||={})});var tu={};dt(tu,{validateEVMAddress:()=>Kt,validateAuthorizations:()=>St,validateAuthorization:()=>uy,toHexString:()=>C,toChecksumAddress:()=>by,signAuthorization:()=>Nt,parseEIP712FromEVMTx:()=>Oy,isStateChangingCall:()=>At,isEIP7702Transaction:()=>a,isEIP1559Transaction:()=>It,isBrowserProvider:()=>K,getTokenAddress:()=>A,getProviderSync:()=>yy,getProvider:()=>Ky,getNetworkParams:()=>jt,getIsEIP1559Compatible:()=>kt,getFallbackProvider:()=>_t,getEvmToolboxAsync:()=>Yy,getEvmToolbox:()=>gt,getEvmApi:()=>P,getEstimateGasPrices:()=>N,getEVMTxType:()=>Pt,getEIP1193SendTransaction:()=>F,getCreateContractTxObject:()=>k,getCreateContract:()=>Ft,getChecksumAddressFromAsset:()=>My,createCustomEvmApi:()=>xy,createContract:()=>g,buildEIP712DomainType:()=>ny,XLayerToolbox:()=>Xt,UNIToolbox:()=>Qt,SONICToolbox:()=>v,PLASMAToolbox:()=>Ut,OPToolbox:()=>Zt,MONADToolbox:()=>Wt,MEGAETHToolbox:()=>Ht,MAX_APPROVAL:()=>p,MATICToolbox:()=>wt,LINEAToolbox:()=>Bt,HYPEREVMToolbox:()=>Gt,GNOToolbox:()=>qt,EthNetwork:()=>$y,ETHToolbox:()=>tt,ContractAddress:()=>Ot,CROToolbox:()=>Rt,CORNToolbox:()=>Lt,COREToolbox:()=>Dt,BotanixToolbox:()=>Gy,BaseEVMToolbox:()=>x,BSCToolbox:()=>Mt,BERAToolbox:()=>bt,BASEToolbox:()=>lt,AVAXToolbox:()=>Tt,AURORAToolbox:()=>nt,ARBToolbox:()=>ut,ADIToolbox:()=>yt});module.exports=ky(tu);var yu=j(()=>{i();m();Zy();fy()});yu();
@@ -1 +1 @@
1
- var $o=Object.defineProperty;var Jo=(t)=>t;function zo(t,o){this[t]=Jo.bind(null,o)}var gt=(t,o)=>{for(var n in o)$o(t,n,{get:o[n],enumerable:!0,configurable:!0,set:zo.bind(o,n)})};var J=(t,o)=>()=>(t&&(o=t(t=0)),o);var v=((t)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(o,n)=>(typeof require<"u"?require:o)[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 ht,getChainConfig as ko}from"@swapkit/helpers";import{SwapKitApi as Eo}from"@swapkit/helpers/api";function Un(){function t(){let o=Date.now(),n=Yt||o;return Yt=n,o>Yt?o:n+1}return No+t().toString(36)}function vt(t){return async function(n,y=!0){let u=await Eo.getChainBalance({address:n,chain:t,scamFilter:y}),{baseDecimal:T}=ko(t),l=u.map(({identifier:M,value:R,decimal:D})=>{return new ht({decimal:D||T,identifier:M,value:R})});if(!l.some((M)=>M.isGasAsset))return[ht.from({chain:t}),...l];return l}}var No,Yt=0;var at=J(()=>{No=typeof process<"u"&&process.pid?process.pid.toString(36):""});function O(t){return{getBalance:vt(t)}}function _o(t){return t}var a=J(()=>{at()});import{Chain as G,getChainConfig as Jt,getRPCUrl as jo,SwapKitError as d}from"@swapkit/helpers";import{getAddress as it,Interface as So,JsonRpcProvider as Ao}from"ethers";import{match as rt}from"ts-pattern";function to(t){return new Ao(t)}async function zt(t,o){return to(o||await jo(t))}function C(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function kt(t){let{explorerUrl:o,chainIdHex:n,rpcUrls:y}=Jt(t);return function(){return t!==G.Ethereum?{...mo({chain:t}),blockExplorerUrls:[o],chainId:n,rpcUrls:y}:void 0}}function Et(t){return![G.Adi,G.Arbitrum,G.BinanceSmartChain].includes(t)}function mo({chain:t}){let{name:o,nativeCurrency:n,baseDecimal:y}=Jt(t);return rt(t).with(G.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:G.Ethereum}})).with(G.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:G.Ethereum}})).with(G.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:t}})).with(G.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:G.Ethereum}})).with(G.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(G.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(G.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(G.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(G.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:G.Ethereum}})).with(G.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:G.Polygon}})).otherwise(()=>({chainName:o,nativeCurrency:{decimals:y,name:n,symbol:n}}))}async function Nt(t,o){if(!("authorize"in t))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let n={...o,nonce:o.nonce!==void 0?BigInt(o.nonce):void 0};return await t.authorize(n)}function oo(t,o){let n=o!==void 0?`index ${o}: `:"",y=(u,T)=>{throw new d({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:u,message:`${n}${T}`}})};rt(t).when(({chainId:u})=>typeof u!=="bigint",()=>y("chainId","chainId must be a bigint")).when(({address:u})=>!Ko(u),()=>y("address","address must be a valid checksummed address")).when(({nonce:u})=>typeof u!=="bigint"||u<0n,()=>y("nonce","nonce must be a non-negative bigint")).when(({signature:u})=>!u,()=>y("signature","signature is required")).when(({signature:u})=>typeof u?.yParity!=="number"||![0,1].includes(u.yParity),()=>y("signature.yParity","yParity must be 0 or 1")).when(({signature:u})=>!dt(u?.r),()=>y("signature.r","r must be a 32-byte hex string")).when(({signature:u})=>!dt(u?.s),()=>y("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function no(t){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:o})=>t[o]!=null).map(({key:o,type:n})=>({name:o,type:n}))}function Qt(t){return t.charAt(0).toUpperCase()+t.slice(1)}function Zt(t,o){if(t.isTuple()&&t.components){let n=Qt(t.name);return o[n]=t.components.map((y)=>({name:y.name,type:Zt(y,o)})),n}if(t.isArray()){let n=t.arrayChildren;if(n?.isTuple()&&n.components){let y=Qt(t.name.replace(/s$/,""));return o[y]=n.components.map((u)=>({name:u.name,type:Zt(u,o)})),`${y}[]`}return`${n?.type??"bytes"}[]`}return t.type}function $t(t,o){if(typeof t==="bigint")return t;if(o?.isTuple()&&typeof t?.toObject==="function"){let n=t.toObject(),y={};for(let[u,T]of(o.components??[]).entries())y[T.name]=$t(n[T.name]??t[u],T);return y}if(Array.isArray(t)){let n=o?.arrayChildren;return t.map((y)=>$t(y,n??void 0))}return t}function Fo({chain:t,abi:o,data:n,to:y}){let T=new So(o).parseTransaction({data:n});if(!T)throw new d({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let l={},b=Qt(T.name);l[b]=T.fragment.inputs.map((x)=>({name:x.name,type:Zt(x,l)}));let M={};for(let[x,f]of T.fragment.inputs.entries())M[f.name]=$t(T.args[x],f);let{chainId:R}=Jt(t),D={chainId:Number(R),verifyingContract:it(y)},U=no(D);return{domain:D,message:M,primaryType:b,types:{EIP712Domain:U,...l}}}function _t(t,o){if(!Array.isArray(t)||t.length===0)throw new d({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[n,y]of t.entries())if(oo(y,n),o!==void 0&&y.chainId!==o)throw new d({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${n}: authorization chainId (${y.chainId}) does not match transaction chainId (${o})`}})}var dt=(t)=>typeof t==="string"&&/^0x[a-fA-F0-9]{64}$/.test(t),Ko=(t)=>{try{return typeof t==="string"&&!!it(t)}catch{return!1}};var I=()=>{};var yo;var uo=J(()=>{yo=[{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 Oo,applyFeeMultiplierToBigInt as W,Chain as z,EVMChains as Co,FeeOption as w,isGasAsset as Io,SwapKitError as L,SwapKitNumber as i}from"@swapkit/helpers";import{erc20ABI as P}from"@swapkit/helpers/contracts";import{BrowserProvider as Po,Contract as To,getAddress as r,Interface as lo}from"ethers";import{match as bo}from"ts-pattern";function j({chain:t=z.Ethereum,provider:o,signer:n,isEIP1559Compatible:y=!0}){return{approve:go({chain:t,isEIP1559Compatible:y,provider:o,signer:n}),approvedAmount:wo({chain:t,provider:o}),broadcastTransaction:o.broadcastTransaction,call:Ft({chain:t,isEIP1559Compatible:y,provider:o,signer:n}),createApprovalTx:io({chain:t,provider:o,signer:n}),createContract:At({chain:t,provider:o}),createContractTxObject:E({chain:t,provider:o}),createTransaction:jt({chain:t,provider:o,signer:n}),createTransferTx:jt({chain:t,provider:o,signer:n}),EIP1193SendTransaction:A(o),estimateCall:Do({provider:o,signer:n}),estimateGasLimit:vo({chain:t,provider:o,signer:n}),estimateGasPrices:N({chain:t,isEIP1559Compatible:y,provider:o}),estimateTransactionFee:ro({chain:t,isEIP1559Compatible:y,provider:o}),getAddress:()=>{return n?n.getAddress():void 0},getBalance:O(t).getBalance,getNetworkParams:kt(t),isApproved:eo({chain:t,provider:o}),sendTransaction:Ro({chain:t,isEIP1559Compatible:y,provider:o,signer:n}),signAuthorization:ao({signer:n}),signMessage:n?(u)=>n.signMessage(u):void 0,signTypedData:n?({domain:u,types:T,value:l})=>n.signTypedData(u,T,l):void 0,transfer:ho({chain:t,isEIP1559Compatible:y,provider:o,signer:n}),validateAddress:St}}function St(t){try{return r(t),!0}catch{return!1}}function S(t){return t instanceof Po}function s(t,o,n){return new To(t,lo.from(o),n)}function At({provider:t}){return function(n,y){return new To(n,lo.from(y),t)}}function mt({abi:t,funcName:o}){let n=t.find((y)=>y.name===o);if(!n)throw new L("toolbox_evm_no_abi_fragment",{funcName:o});return n.stateMutability&&po.includes(n.stateMutability)}function Mo(t){return r(t)}function A(t){return function({value:n,...y}){if(!S(t))throw new L("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:u,gasPrice:T,maxFeePerGas:l,maxPriorityFeePerGas:b,...M}=y;return t.send("eth_sendTransaction",[{...M,value:C(BigInt(n||0))}])}}function xo(t,o){let n=m(t,o);if(n)return r(n.toLowerCase());throw new L("toolbox_evm_invalid_gas_asset_address")}function m({chain:t,symbol:o,ticker:n},y){try{let u=t===z.BinanceSmartChain&&o==="BNB"&&n==="BNB",T=t===z.Hyperevm&&o==="HYPE"&&n==="HYPE",l=t===y&&o===y&&n===y,b=co.includes(t)&&o==="ETH"&&n==="ETH";if(l||u||T||b)return Kt[y];return r(o.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function E({provider:t}){return async({contractAddress:o,abi:n,funcName:y,funcParams:u=[],txOverrides:T})=>s(o,n,t).getFunction(y).populateTransaction(...u.concat(T).filter((l)=>typeof l<"u"))}function N({chain:t,provider:o,isEIP1559Compatible:n=!0}){return bo(t).with(z.Gnosis,()=>{return async function(){try{let{gasPrice:u,maxPriorityFeePerGas:T}=await o.getFeeData();if(!u||T===null)throw new L("toolbox_evm_no_fee_data");return{[w.Average]:{maxFeePerGas:W(u,w.Average),maxPriorityFeePerGas:W(T,w.Average)},[w.Fast]:{maxFeePerGas:W(u,w.Fast),maxPriorityFeePerGas:W(T,w.Fast)},[w.Fastest]:{maxFeePerGas:W(u,w.Fastest),maxPriorityFeePerGas:W(T,w.Fastest)}}}catch(u){throw new L("toolbox_evm_gas_estimation_error",{error:u.msg??u.toString()})}}}).with(z.Arbitrum,()=>{return async function(){try{let{gasPrice:u}=await o.getFeeData();if(!u)throw new L("toolbox_evm_no_fee_data");let T=u*12n/10n;return{[w.Average]:{gasPrice:T},[w.Fast]:{gasPrice:W(T,w.Fast)},[w.Fastest]:{gasPrice:W(T,w.Fastest)}}}catch(u){throw new L("toolbox_evm_gas_estimation_error",{error:u.msg??u.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:u,maxPriorityFeePerGas:T,gasPrice:l}=await o.getFeeData();if(n){if(u===null||T===null)throw new L("toolbox_evm_no_fee_data");return{[w.Average]:{maxFeePerGas:u,maxPriorityFeePerGas:T},[w.Fast]:{maxFeePerGas:W(u,w.Fast),maxPriorityFeePerGas:W(T,w.Fast)},[w.Fastest]:{maxFeePerGas:W(u,w.Fastest),maxPriorityFeePerGas:W(T,w.Fastest)}}}if(!l)throw new L("toolbox_evm_no_gas_price");return{[w.Average]:{gasPrice:l},[w.Fast]:{gasPrice:W(l,w.Fast)},[w.Fastest]:{gasPrice:W(l,w.Fastest)}}}catch(u){throw new L("toolbox_evm_gas_estimation_error",{error:u.msg??u.toString()})}}})}function Ft({provider:t,isEIP1559Compatible:o,signer:n,chain:y}){return async function({callProvider:T,contractAddress:l,abi:b,funcName:M,funcParams:R=[],txOverrides:D={},feeOption:U=w.Fast}){let x=T||t;if(!l)throw new L("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let f=mt({abi:b,funcName:M});if(f&&S(x)&&n){let Y=E({chain:y,provider:x}),$=D?.from||await n?.getAddress(),Z=await Y({abi:b,contractAddress:l,funcName:M,funcParams:R,txOverrides:{...D,from:$}});return A(x)(Z)}let V=s(l,b,x);if(f){if(!n)throw new L("toolbox_evm_no_signer");let Y=D?.from||await n.getAddress();if(!Y)throw new L("toolbox_evm_no_signer_address");let $=V.connect(n),Z=N({chain:y,isEIP1559Compatible:o,provider:t}),{maxFeePerGas:_,maxPriorityFeePerGas:e,gasPrice:F}=(await Z())[U],g=await V.getFunction(M).estimateGas(...R,D),Q=await $[M](...R,{...D,gasLimit:g,gasPrice:F,maxFeePerGas:_,maxPriorityFeePerGas:e,nonce:D?.nonce||await x.getTransactionCount(Y)});return typeof Q?.hash==="string"?Q?.hash:Q}let X=await V[M]?.(...R);return typeof X?.hash==="string"?X?.hash:X}}function wo({provider:t,chain:o}){return function({assetAddress:y,spenderAddress:u,from:T}){return Ft({chain:o,isEIP1559Compatible:!0,provider:t})({abi:P,contractAddress:y,funcName:"allowance",funcParams:[T,u]})}}function eo({provider:t,chain:o}){return async function({assetAddress:y,spenderAddress:u,from:T,amount:l=p}){let b=await wo({chain:o,provider:t})({assetAddress:y,from:T,spenderAddress:u});return i.fromBigInt(b).gte(i.fromBigInt(BigInt(l)))}}function go({signer:t,isEIP1559Compatible:o=!0,provider:n,chain:y}){return async function({assetAddress:T,spenderAddress:l,feeOptionKey:b=w.Fast,amount:M,gasLimitFallback:R,from:D,nonce:U}){let x=[l,BigInt(M||p)],f=await t?.getAddress()||D,V={abi:P,contractAddress:T,funcName:"approve",funcParams:x,signer:t,txOverrides:{from:f}};if(S(n)){let Y=E({chain:y,provider:n}),$=A(n),Z=await Y(V);return $(Z)}return Ft({chain:y,isEIP1559Compatible:o,provider:n,signer:t})({...V,feeOption:b,funcParams:x,txOverrides:{from:f,gasLimit:R?BigInt(R.toString()):void 0,nonce:U}})}}function ho({signer:t,isEIP1559Compatible:o=!0,provider:n}){return async function({assetValue:u,memo:T,recipient:l,feeOptionKey:b=w.Fast,sender:M,...R}){let{hexlify:D,toUtf8Bytes:U}=await import("ethers"),x=u.getBaseValue("bigint"),f=u.chain,V=M||await t?.getAddress(),X=Ro({chain:f,isEIP1559Compatible:o,provider:n,signer:t});if(!V)throw new L("toolbox_evm_no_from_address");if(u.isGasAsset){let F={...R,data:D(U(T||"")),feeOptionKey:b,from:V,to:l,value:x};return X(F)}if(!m(u,f))throw new L("toolbox_evm_no_contract_address");let{maxFeePerGas:$,maxPriorityFeePerGas:Z,gasPrice:_}=(await N({chain:f,isEIP1559Compatible:o,provider:n})())[b],e=await jt({chain:f,provider:n,signer:t})({assetValue:u,data:D(U(T||"")),gasPrice:_,maxFeePerGas:$,maxPriorityFeePerGas:Z,memo:T,recipient:l,sender:V});return X(e)}}function Do({provider:t,signer:o}){return function({contractAddress:y,abi:u,funcName:T,funcParams:l=[],txOverrides:b}){if(!y)throw new L("toolbox_evm_no_contract_address");let M=s(y,u,t);return o?M.connect(o).getFunction(T).estimateGas(...l,b):M.getFunction(T).estimateGas(...l,b)}}function vo({provider:t,signer:o}){return async function({assetValue:y,recipient:u,memo:T,data:l,sender:b,funcName:M,funcParams:R,txOverrides:D}){let U=y.bigIntValue,x=y.isGasAsset?null:m(y,y.chain);if(x&&M)return Do({provider:t,signer:o})({abi:P,contractAddress:x,funcName:M,funcParams:R,txOverrides:D});let{hexlify:f,toUtf8Bytes:V}=await import("ethers");return t.estimateGas({data:l?l:T?f(V(T)):void 0,from:b,to:u,value:U})}}function ao({signer:t}){if(!t)return;return(o)=>Nt(t,o)}function Ro({provider:t,signer:o,isEIP1559Compatible:n=!0,chain:y}){return async function({feeOptionKey:T=w.Fast,...l}){let{from:b,to:M,data:R,value:D,...U}=l;if(!o)throw new L("toolbox_evm_no_signer");if(!M)throw new L("toolbox_evm_no_to_address");let x={...U,data:R||"0x",from:b,to:M,value:BigInt(D||0)};if(S(t))return A(t)(x);let f=b||await o.getAddress(),V=l.nonce||await t.getTransactionCount(f),X=(await t.getNetwork()).chainId,Y=Ct(x,n);if(Y==="eip7702")_t(x.authorizations||[],X);let $=bo(Y).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),Z={...x,chainId:X,nonce:V,type:$,...Y==="eip7702"&&{authorizationList:x.authorizations}},_=N({chain:y,isEIP1559Compatible:n,provider:t}),F=Y!=="legacy"&&!(x.maxFeePerGas&&x.maxPriorityFeePerGas)||!x.gasPrice?Object.entries((await _())[T]).reduce((Q,[h,et])=>({...Q,[h]:C(BigInt(et))}),{}):{},g;try{g=C(x.gasLimit||await t.estimateGas(Z)*11n/10n)}catch(Q){throw new L("toolbox_evm_error_estimating_gas_limit",{error:Q})}try{let Q={...Z,gasLimit:g,...F};try{return(await o.sendTransaction(Q)).hash}catch{let h=await o.signTransaction({...Q,from:f});return(await t.broadcastTransaction(h)).hash}}catch(Q){throw new L("toolbox_evm_error_sending_transaction",{error:Q})}}}function jt({provider:t,signer:o}){return async function({assetValue:y,memo:u,recipient:T,data:l,sender:b,maxFeePerGas:M,maxPriorityFeePerGas:R,gasPrice:D,...U}){let x=y.getBaseValue("bigint"),f=y.chain,V=b||await o?.getAddress();if(!V)throw new L("toolbox_evm_no_from_address");if(Io(y)){let{hexlify:$,toUtf8Bytes:Z}=await import("ethers");return{...U,data:l||$(Z(u||"")),from:V,to:T,value:x}}let X=m(y,f);if(!X)throw new L("toolbox_evm_no_contract_address");return E({chain:y.chain,provider:t})({abi:P,contractAddress:X,funcName:"transfer",funcParams:[T,x],txOverrides:{from:V,gasPrice:D,maxFeePerGas:M,maxPriorityFeePerGas:R}})}}function io({provider:t,signer:o,chain:n}){return async function({assetAddress:u,spenderAddress:T,amount:l,from:b}){let M=await o?.getAddress()||b,R=E({chain:n,provider:t}),D=["bigint","number"].includes(typeof l)?l:l||p;return await R({abi:P,contractAddress:u,funcName:"approve",funcParams:[T,BigInt(D)],txOverrides:{from:M}})}}function ro({provider:t,isEIP1559Compatible:o=!0,chain:n}){return async function({feeOption:u=w.Fast,...T}){let b=await N({chain:n,isEIP1559Compatible:o,provider:t})(),M=await t.estimateGas(T),R=Oo.from({chain:n}),{gasPrice:D,maxFeePerGas:U,maxPriorityFeePerGas:x}=b[u];if(!o&&D)return R.set(i.fromBigInt(D*M,R.decimal));if(U&&x){let f=(U+x)*M;return R.set(i.fromBigInt(f,R.decimal))}throw new L("toolbox_evm_no_gas_price")}}var p,po,so,Kt,co,tt=(t)=>t.type===4||(t.authorizations?.length??0)>0,Ot=(t)=>!tt(t)&&(t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas),Ct=(t,o=!0)=>{if(tt(t))return"eip7702";if(Ot(t)||o)return"eip1559";return"legacy"};var ot=J(()=>{a();I();p=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");po=["payable","nonpayable"];so=Co.reduce((t,o)=>{return t[o]="0x0000000000000000000000000000000000000000",t},{}),Kt={...so,[z.Optimism]:"0x4200000000000000000000000000000000000042",[z.Polygon]:"0x0000000000000000000000000000000000001010"},co=[z.Arbitrum,z.Aurora,z.Base,z.Optimism]});import{Chain as q,FeeOption as tn}from"@swapkit/helpers";import{HDNodeWallet as on}from"ethers";import{match as nn,P as Lo}from"ts-pattern";function nt(t){let o=H(q.Ethereum)(t);async function n(y,u="0x5ba1e12693dc8f9c48aad8770482f4739beed696",T="aggregate",l=tn.Fast){let b=await o.createContractTxObject({abi:yo,contractAddress:u,funcName:T,funcParams:[y]});return o.sendTransaction({...b,feeOptionKey:l})}return{...o,multicall:n}}function H(t){return function({provider:n,...y}){let u=Et(t),T=nn(y).with({phrase:Lo.string},({phrase:b})=>on.fromPhrase(b).connect(n)).with({signer:Lo.any},({signer:b})=>b).otherwise(()=>{return});return j({chain:t,isEIP1559Compatible:u,provider:n,signer:T})}}var yt,ut,Tt,lt,bt,Mt,xt,Bo,wt,Dt,Rt,Lt,Bt,ft,Gt,qt,Ht,Ut,c,Vt,Xt;var It=J(()=>{uo();I();ot();yt=H(q.Adi),ut=H(q.Arbitrum),Tt=H(q.Aurora),lt=H(q.Avalanche),bt=H(q.Base),Mt=H(q.Berachain),xt=H(q.BinanceSmartChain),Bo=H(q.Botanix),wt=H(q.Core),Dt=H(q.Corn),Rt=H(q.Cronos),Lt=H(q.Gnosis),Bt=H(q.Hyperevm),ft=H(q.Linea),Gt=H(q.Polygon),qt=H(q.MegaETH),Ht=H(q.Monad),Ut=H(q.Plasma),c=H(q.Sonic),Vt=H(q.Unichain),Xt=H(q.XLayer)});var fo;var Go=J(()=>{fo=[{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 K,Chain as un,FeeOption as k,SwapKitError as Pt}from"@swapkit/helpers";import{Contract as Tn,HDNodeWallet as ln}from"ethers";import{match as bn,P as qo}from"ts-pattern";function pt(t){return new Tn(Mn,fo,t)}function Ho(t){return async function(){let n=pt(t);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function Uo(t){return async function({from:n,to:y,nonce:u,...T}){let{Transaction:l}=await import("ethers");if(!y)throw new Pt("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...T,authorizationList:T.authorizationList,nonce:u?u:n?await t.getTransactionCount(n):0,to:y}).serialized}}function Vo(t){return async function(n){let y=pt(t),u=await Uo(t)(n);if(y&&"getL1Fee"in y)return y.getL1Fee(u)}}function Xo(t){return async function(n){let u=(await t.getFeeData()).gasPrice??0n,T=await t.estimateGas(n);return u*T}}function xn(t){return async function(n){let y=await Vo(t)(n)??0n,u=await Xo(t)(n);return y+u}}function wn(t){return async function(n){let y=pt(t),u=await Uo(t)(n);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(u)}}function Dn(t){return async function(){try{let{maxFeePerGas:n,maxPriorityFeePerGas:y,gasPrice:u}=await t.getFeeData(),T=await Ho(t)(),l=u;if(!(n&&y))throw new Pt("toolbox_evm_no_fee_data");return{[k.Average]:{gasPrice:l,l1GasPrice:T,maxFeePerGas:n,maxPriorityFeePerGas:y},[k.Fast]:{gasPrice:K(l,k.Fast),l1GasPrice:K(T||0n,k.Fast),maxFeePerGas:n,maxPriorityFeePerGas:K(y,k.Fast)},[k.Fastest]:{gasPrice:K(l,k.Fastest),l1GasPrice:K(T||0n,k.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:K(y,k.Fastest)}}}catch(n){throw new Pt("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}}function Wt({provider:t,...o}){let n=bn(o).with({phrase:qo.string},({phrase:T})=>ln.fromPhrase(T).connect(t)).with({signer:qo.any},({signer:T})=>T).otherwise(()=>{return}),y=j({provider:t,signer:n}),u=Ho(t);return{...y,estimateGasPrices:Dn(t),estimateL1Gas:wn(t),estimateL1GasCost:Vo(t),estimateL2GasCost:Xo(t),estimateTotalGasCost:xn(t),getBalance:O(un.Optimism).getBalance,getL1GasPrice:u}}var Mn="0x420000000000000000000000000000000000000f";var st=J(()=>{a();Go();ot()});var Ln={};gt(Ln,{validateEVMAddress:()=>St,toChecksumAddress:()=>Mo,isStateChangingCall:()=>mt,isEIP7702Transaction:()=>tt,isEIP1559Transaction:()=>Ot,isBrowserProvider:()=>S,getTokenAddress:()=>m,getEvmToolboxAsync:()=>Wo,getEvmToolbox:()=>ct,getEstimateGasPrices:()=>N,getEVMTxType:()=>Ct,getEIP1193SendTransaction:()=>A,getCreateContractTxObject:()=>E,getCreateContract:()=>At,getChecksumAddressFromAsset:()=>xo,createContract:()=>s,XLayerToolbox:()=>Xt,UNIToolbox:()=>Vt,SONICToolbox:()=>c,PLASMAToolbox:()=>Ut,OPToolbox:()=>Wt,MONADToolbox:()=>Ht,MEGAETHToolbox:()=>qt,MAX_APPROVAL:()=>p,MATICToolbox:()=>Gt,LINEAToolbox:()=>ft,HYPEREVMToolbox:()=>Bt,GNOToolbox:()=>Lt,ETHToolbox:()=>nt,ContractAddress:()=>Kt,CROToolbox:()=>Rt,CORNToolbox:()=>Dt,COREToolbox:()=>wt,BotanixToolbox:()=>Bo,BaseEVMToolbox:()=>j,BSCToolbox:()=>xt,BERAToolbox:()=>Mt,BASEToolbox:()=>bt,AVAXToolbox:()=>lt,AURORAToolbox:()=>Tt,ARBToolbox:()=>ut,ADIToolbox:()=>yt});import{Chain as B}from"@swapkit/helpers";import{match as Rn}from"ts-pattern";function ct(t,o){return Rn(t).with(B.Adi,()=>yt(o)).with(B.Arbitrum,()=>ut(o)).with(B.Aurora,()=>Tt(o)).with(B.Avalanche,()=>lt(o)).with(B.Base,()=>bt(o)).with(B.Berachain,()=>Mt(o)).with(B.BinanceSmartChain,()=>xt(o)).with(B.Botanix,()=>c(o)).with(B.Core,()=>wt(o)).with(B.Corn,()=>Dt(o)).with(B.Cronos,()=>Rt(o)).with(B.Ethereum,()=>nt(o)).with(B.Gnosis,()=>Lt(o)).with(B.Hyperevm,()=>Bt(o)).with(B.Linea,()=>ft(o)).with(B.MegaETH,()=>qt(o)).with(B.Monad,()=>Ht(o)).with(B.Optimism,()=>Wt(o)).with(B.Plasma,()=>Ut(o)).with(B.Polygon,()=>Gt(o)).with(B.Sonic,()=>c(o)).with(B.Unichain,()=>Vt(o)).with(B.XLayer,()=>Xt(o)).exhaustive()}async function Wo(t,o){let n={...o,provider:o?.provider||await zt(t)};return ct(t,n)}var Yo=J(()=>{I();It();st();ot();It();st()});var Qo;var Zo=J(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(Qo||={})});var Bn={};gt(Bn,{validateEVMAddress:()=>St,validateAuthorizations:()=>_t,validateAuthorization:()=>oo,toHexString:()=>C,toChecksumAddress:()=>Mo,signAuthorization:()=>Nt,parseEIP712FromEVMTx:()=>Fo,isStateChangingCall:()=>mt,isEIP7702Transaction:()=>tt,isEIP1559Transaction:()=>Ot,isBrowserProvider:()=>S,getTokenAddress:()=>m,getProviderSync:()=>to,getProvider:()=>zt,getNetworkParams:()=>kt,getIsEIP1559Compatible:()=>Et,getEvmToolboxAsync:()=>Wo,getEvmToolbox:()=>ct,getEvmApi:()=>O,getEstimateGasPrices:()=>N,getEVMTxType:()=>Ct,getEIP1193SendTransaction:()=>A,getCreateContractTxObject:()=>E,getCreateContract:()=>At,getChecksumAddressFromAsset:()=>xo,createCustomEvmApi:()=>_o,createContract:()=>s,buildEIP712DomainType:()=>no,XLayerToolbox:()=>Xt,UNIToolbox:()=>Vt,SONICToolbox:()=>c,PLASMAToolbox:()=>Ut,OPToolbox:()=>Wt,MONADToolbox:()=>Ht,MEGAETHToolbox:()=>qt,MAX_APPROVAL:()=>p,MATICToolbox:()=>Gt,LINEAToolbox:()=>ft,HYPEREVMToolbox:()=>Bt,GNOToolbox:()=>Lt,EthNetwork:()=>Qo,ETHToolbox:()=>nt,ContractAddress:()=>Kt,CROToolbox:()=>Rt,CORNToolbox:()=>Dt,COREToolbox:()=>wt,BotanixToolbox:()=>Bo,BaseEVMToolbox:()=>j,BSCToolbox:()=>xt,BERAToolbox:()=>Mt,BASEToolbox:()=>bt,AVAXToolbox:()=>lt,AURORAToolbox:()=>Tt,ARBToolbox:()=>ut,ADIToolbox:()=>yt});var fn=J(()=>{a();I();Yo();Zo()});fn();export{St as validateEVMAddress,_t as validateAuthorizations,oo as validateAuthorization,C as toHexString,Mo as toChecksumAddress,Nt as signAuthorization,Fo as parseEIP712FromEVMTx,mt as isStateChangingCall,tt as isEIP7702Transaction,Ot as isEIP1559Transaction,S as isBrowserProvider,m as getTokenAddress,to as getProviderSync,zt as getProvider,kt as getNetworkParams,Et as getIsEIP1559Compatible,Wo as getEvmToolboxAsync,ct as getEvmToolbox,O as getEvmApi,N as getEstimateGasPrices,Ct as getEVMTxType,A as getEIP1193SendTransaction,E as getCreateContractTxObject,At as getCreateContract,xo as getChecksumAddressFromAsset,_o as createCustomEvmApi,s as createContract,no as buildEIP712DomainType,Xt as XLayerToolbox,Vt as UNIToolbox,c as SONICToolbox,Ut as PLASMAToolbox,Wt as OPToolbox,Ht as MONADToolbox,qt as MEGAETHToolbox,p as MAX_APPROVAL,Gt as MATICToolbox,ft as LINEAToolbox,Bt as HYPEREVMToolbox,Lt as GNOToolbox,Qo as EthNetwork,nt as ETHToolbox,Kt as ContractAddress,Rt as CROToolbox,Dt as CORNToolbox,wt as COREToolbox,Bo as BotanixToolbox,j as BaseEVMToolbox,xt as BSCToolbox,Mt as BERAToolbox,bt as BASEToolbox,lt as AVAXToolbox,Tt as AURORAToolbox,ut as ARBToolbox,yt as ADIToolbox};
1
+ import{a as ba}from"../../chunk-44m22jy1.js";import{$ as _,A as z,B as A,C as B,D as C,E as D,F as E,G as F,H as G,I as H,J as I,K as J,L as K,M as L,N as M,O as N,P as O,Q as P,R as Q,S as R,T as S,U as T,V as U,W as V,X as W,Y as X,Z as Y,_ as Z,aa as $,b as a,ba as aa,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u,w as v,x as w,y as x,z as y}from"../../chunk-4q573g5z.js";import"../../chunk-54gntgt1.js";import"../../chunk-ntbvmmch.js";export{p as validateEVMAddress,m as validateAuthorizations,j as validateAuthorization,f as toHexString,u as toChecksumAddress,i as signAuthorization,l as parseEIP712FromEVMTx,t as isStateChangingCall,B as isEIP7702Transaction,C as isEIP1559Transaction,q as isBrowserProvider,y as getTokenAddress,c as getProviderSync,d as getProvider,g as getNetworkParams,h as getIsEIP1559Compatible,e as getFallbackProvider,aa as getEvmToolboxAsync,$ as getEvmToolbox,a as getEvmApi,A as getEstimateGasPrices,D as getEVMTxType,v as getEIP1193SendTransaction,z as getCreateContractTxObject,s as getCreateContract,w as getChecksumAddressFromAsset,b as createCustomEvmApi,r as createContract,k as buildEIP712DomainType,Z as XLayerToolbox,Y as UNIToolbox,X as SONICToolbox,W as PLASMAToolbox,_ as OPToolbox,V as MONADToolbox,U as MEGAETHToolbox,n as MAX_APPROVAL,T as MATICToolbox,S as LINEAToolbox,R as HYPEREVMToolbox,Q as GNOToolbox,ba as EthNetwork,E as ETHToolbox,x as ContractAddress,P as CROToolbox,O as CORNToolbox,N as COREToolbox,M as BotanixToolbox,o as BaseEVMToolbox,L as BSCToolbox,K as BERAToolbox,J as BASEToolbox,I as AVAXToolbox,H as AURORAToolbox,G as ARBToolbox,F as ADIToolbox};