@swapkit/toolboxes 4.0.24 → 4.0.25

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 (38) hide show
  1. package/dist/src/cosmos/index.cjs +2 -2
  2. package/dist/src/cosmos/index.cjs.map +4 -4
  3. package/dist/src/cosmos/index.js +2 -2
  4. package/dist/src/cosmos/index.js.map +4 -4
  5. package/dist/src/evm/index.cjs +2 -2
  6. package/dist/src/evm/index.cjs.map +2 -2
  7. package/dist/src/evm/index.js +1 -1
  8. package/dist/src/evm/index.js.map +1 -1
  9. package/dist/src/index.cjs +3 -3
  10. package/dist/src/index.cjs.map +5 -5
  11. package/dist/src/index.js +3 -3
  12. package/dist/src/index.js.map +5 -5
  13. package/dist/src/near/index.cjs +2 -2
  14. package/dist/src/near/index.cjs.map +2 -2
  15. package/dist/src/near/index.js +1 -1
  16. package/dist/src/near/index.js.map +1 -1
  17. package/dist/src/radix/index.js +1 -1
  18. package/dist/src/radix/index.js.map +1 -1
  19. package/dist/src/ripple/index.js +1 -1
  20. package/dist/src/ripple/index.js.map +1 -1
  21. package/dist/src/solana/index.js +1 -1
  22. package/dist/src/solana/index.js.map +1 -1
  23. package/dist/src/substrate/index.cjs +2 -2
  24. package/dist/src/substrate/index.cjs.map +2 -2
  25. package/dist/src/substrate/index.js +1 -1
  26. package/dist/src/substrate/index.js.map +1 -1
  27. package/dist/src/tron/index.cjs +2 -2
  28. package/dist/src/tron/index.cjs.map +2 -2
  29. package/dist/src/tron/index.js +1 -1
  30. package/dist/src/tron/index.js.map +1 -1
  31. package/dist/src/utxo/index.cjs +3 -3
  32. package/dist/src/utxo/index.cjs.map +2 -2
  33. package/dist/src/utxo/index.js +1 -1
  34. package/dist/src/utxo/index.js.map +1 -1
  35. package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
  36. package/dist/types/cosmos/toolbox/index.d.ts +2 -2
  37. package/dist/types/cosmos/toolbox/index.d.ts.map +1 -1
  38. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
- var yG=Object.create;var{getPrototypeOf:TG,defineProperty:NT,getOwnPropertyNames:J1,getOwnPropertyDescriptor:fG}=Object,Q1=Object.prototype.hasOwnProperty;var U=(T,f,X)=>{X=T!=null?yG(TG(T)):{};let y=f||!T||!T.__esModule?NT(X,"default",{value:T,enumerable:!0}):X;for(let L of J1(T))if(!Q1.call(y,L))NT(y,L,{get:()=>T[L],enumerable:!0});return y},B1=new WeakMap,Yy=(T)=>{var f=B1.get(T),X;if(f)return f;if(f=NT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")J1(T).map((y)=>!Q1.call(f,y)&&NT(f,y,{get:()=>T[y],enumerable:!(X=fG(T,y))||X.enumerable}));return B1.set(T,f),f};var Qy=(T,f)=>{for(var X in f)NT(T,X,{get:f[X],enumerable:!0,configurable:!0,set:(y)=>f[X]=()=>y})};var l=(T,f)=>()=>(T&&(f=T(T=0)),f);function YT(T){return Py.base64.encode(Uint8Array.from(Py.bech32.fromWords(Py.bech32.decode(T).words)))}function UT(T,f="thor"){return Py.bech32.encode(f,Py.bech32.toWords(Py.base64.decode(T)))}function GG(T){return tT.fromByteArray(T)}function LG(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new q1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return tT.toByteArray(T)}var Py,q1,tT;var lf=l(()=>{Py=require("@scure/base"),q1=require("@swapkit/helpers"),tT=require("base64-js")});function Iy(T){switch(T){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return M1;case E.Chain.Noble:return N1;default:return _1}}async function ky(T){let f=await import("@cosmjs/stargate"),X=f.StargateClient??f.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return X.connect({headers:y,url:T})}async function WT(T,f,X={}){let y=await import("@cosmjs/stargate"),L=y.SigningStargateClient??y.default?.SigningStargateClient,G=y.GasPrice??y.default?.GasPrice,x=typeof X==="string"?X:"0.0003uatom",Z=typeof X==="string"?{}:X;return L.connectWithSigner(T,f,{gasPrice:G.fromString(x),...Z})}async function Ff(T,f){let X=await import("@cosmjs/stargate");return(X.SigningStargateClient??X.default?.SigningStargateClient).offline(T,f)}async function Af({sender:T,recipient:f,assetValue:X,memo:y="",feeRate:L,sequence:G,accountNumber:x}){let{chain:Z,chainId:B}=X,J=await E.getRPCUrl(Z),q=await(await ky(J)).getAccount(T);if(!q)throw new E.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let z=E.AssetValue.from({chain:Z}),M=ly(z.symbol),_=Iy(Z),R=M&&L?{amount:[{amount:L.toString(),denom:M}],gas:_.gas}:_,D={amount:[{amount:X.getBaseValue("string"),denom:ly(X.symbol)}],fromAddress:T,toAddress:f};return{accountNumber:x??q.accountNumber,chainId:B,fee:R,memo:y,msgs:[{typeUrl:XG(Z),value:D}],sequence:G??q.sequence}}var E,vf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",z1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",_1,M1,N1,ly=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return vf;case"uYUM":case"YUM":return z1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},HT=({symbol:T,chain:f})=>{if(f===E.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${E.Chain.Maya}.${T}`).toUpperCase();if(f===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${E.Chain.THORChain}.${T}`:T).toUpperCase();return ly(T,!1)},XG=(T)=>{switch(T){case E.Chain.Maya:case E.Chain.THORChain:return"/types.MsgSend";case E.Chain.Cosmos:case E.Chain.Kujira:case E.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new E.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},xG,Sf=(T,f)=>{let X=xG[T.toLowerCase()];if(!X)return E.AssetValue.from({asset:T,fromBaseDecimal:8,value:f});let{chain:y,asset:L,decimals:G}=X,x=y?{chain:y}:{asset:L};return E.AssetValue.from({...x,fromBaseDecimal:G,value:f})};var RT=l(()=>{E=require("@swapkit/helpers"),_1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},M1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},N1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};xG={atom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},cacao:{chain:E.Chain.Maya,decimals:10},kuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},maya:{asset:`${E.Chain.Maya}.${E.Chain.Maya}`,decimals:4},rune:{chain:E.Chain.THORChain,decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},uatom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},ukuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},usdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},uusdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},[vf.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal}}});var Y1={};Qy(Y1,{$root:()=>C});var a,A,qy,k,C;var U1=l(()=>{a=U(require("protobufjs/minimal.js")),A=a.default.Reader,qy=a.default.Writer,k=a.default.util,C=a.default.roots.default||(a.default.roots.default={});C.common=(()=>{let T={};return T.Asset=(()=>{function f(X){if(X){for(let y=Object.keys(X),L=0;L<y.length;++L)if(X[y[L]]!=null)this[y[L]]=X[y[L]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))L.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))L.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))L.uint32(32).bool(y.synth);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,x=new C.common.Asset;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:x.chain=y.string();break;case 2:x.symbol=y.string();break;case 3:x.ticker=y.string();break;case 4:x.synth=y.bool();break;default:y.skipType(Z&7);break}}return x},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!k.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!k.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Asset)return y;let L=new C.common.Asset;if(y.chain!=null)L.chain=String(y.chain);if(y.symbol!=null)L.symbol=String(y.symbol);if(y.ticker!=null)L.ticker=String(y.ticker);if(y.synth!=null)L.synth=Boolean(y.synth);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))G.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))G.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))G.synth=y.synth;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(X){if(X){for(let y=Object.keys(X),L=0;L<y.length;++L)if(X[y[L]]!=null)this[y[L]]=X[y[L]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=k.Long?k.Long.fromBits(0,0,!1):0,f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))C.common.Asset.encode(y.asset,L.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))L.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))L.uint32(24).int64(y.decimals);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,x=new C.common.Coin;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:x.asset=C.common.Asset.decode(y,y.uint32());break;case 2:x.amount=y.string();break;case 3:x.decimals=y.int64();break;default:y.skipType(Z&7);break}}return x},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let L=C.common.Asset.verify(y.asset);if(L)return"asset."+L}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!k.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!k.isInteger(y.decimals)&&!(y.decimals&&k.isInteger(y.decimals.low)&&k.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Coin)return y;let L=new C.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");L.asset=C.common.Asset.fromObject(y.asset)}if(y.amount!=null)L.amount=String(y.amount);if(y.decimals!=null){if(k.Long)(L.decimals=k.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")L.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")L.decimals=y.decimals;else if(typeof y.decimals==="object")L.decimals=new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.defaults)if(G.asset=null,G.amount="",k.Long){let x=new k.Long(0,0,!1);G.decimals=L.longs===String?x.toString():L.longs===Number?x.toNumber():x}else G.decimals=L.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))G.asset=C.common.Asset.toObject(y.asset,L);if(y.amount!=null&&y.hasOwnProperty("amount"))G.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")G.decimals=L.longs===String?String(y.decimals):y.decimals;else G.decimals=L.longs===String?k.Long.prototype.toString.call(y.decimals):L.longs===Number?new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(X){if(X){for(let y=Object.keys(X),L=0;L<y.length;++L)if(X[y[L]]!=null)this[y[L]]=X[y[L]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))L.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))L.uint32(18).string(y.ed25519);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,x=new C.common.PubKeySet;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:x.secp256k1=y.string();break;case 2:x.ed25519=y.string();break;default:y.skipType(Z&7);break}}return x},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!k.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!k.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.PubKeySet)return y;let L=new C.common.PubKeySet;if(y.secp256k1!=null)L.secp256k1=String(y.secp256k1);if(y.ed25519!=null)L.ed25519=String(y.ed25519);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.defaults)G.secp256k1="",G.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))G.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))G.ed25519=y.ed25519;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(X){if(this.coins=[],this.gas=[],X){for(let y=Object.keys(X),L=0;L<y.length;++L)if(X[y[L]]!=null)this[y[L]]=X[y[L]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=k.emptyArray,f.prototype.gas=k.emptyArray,f.prototype.memo="",f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))L.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.uint32(34).string(y.toAddress);if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],L.uint32(42).fork()).ldelim();if(y.gas?.length)for(let G=0;G<y.gas.length;++G)C.common.Coin.encode(y.gas[G],L.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(58).string(y.memo);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,x=new C.common.Tx;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:x.id=y.string();break;case 2:x.chain=y.string();break;case 3:x.fromAddress=y.string();break;case 4:x.toAddress=y.string();break;case 5:if(!x.coins?.length)x.coins=[];x.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 6:if(!x.gas?.length)x.gas=[];x.gas.push(C.common.Coin.decode(y,y.uint32()));break;case 7:x.memo=y.string();break;default:y.skipType(Z&7);break}}return x},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!k.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!k.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!k.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let G=C.common.Coin.verify(y.coins[L]);if(G)return"coins."+G}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let L=0;L<y.gas.length;++L){let G=C.common.Coin.verify(y.gas[L]);if(G)return"gas."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Tx)return y;let L=new C.common.Tx;if(y.id!=null)L.id=String(y.id);if(y.chain!=null)L.chain=String(y.chain);if(y.fromAddress!=null)L.fromAddress=String(y.fromAddress);if(y.toAddress!=null)L.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");L.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");L.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");L.gas=[];for(let G=0;G<y.gas.length;++G){if(typeof y.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");L.gas[G]=C.common.Coin.fromObject(y.gas[G])}}if(y.memo!=null)L.memo=String(y.memo);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.arrays||L.defaults)G.coins=[],G.gas=[];if(L.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(y.id!=null&&y.hasOwnProperty("id"))G.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=y.toAddress;if(y.coins?.length){G.coins=[];for(let x=0;x<y.coins.length;++x)G.coins[x]=C.common.Coin.toObject(y.coins[x],L)}if(y.gas?.length){G.gas=[];for(let x=0;x<y.gas.length;++x)G.gas[x]=C.common.Coin.toObject(y.gas[x],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(X){if(this.coins=[],X){for(let y=Object.keys(X),L=0;L<y.length;++L)if(X[y[L]]!=null)this[y[L]]=X[y[L]]}}return f.prototype.coins=k.emptyArray,f.prototype.poolDeduct="",f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],L.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))L.uint32(18).string(y.poolDeduct);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,x=new C.common.Fee;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:if(!x.coins?.length)x.coins=[];x.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 2:x.poolDeduct=y.string();break;default:y.skipType(Z&7);break}}return x},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let G=C.common.Coin.verify(y.coins[L]);if(G)return"coins."+G}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!k.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Fee)return y;let L=new C.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");L.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");L.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.poolDeduct!=null)L.poolDeduct=String(y.poolDeduct);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.arrays||L.defaults)G.coins=[];if(L.defaults)G.poolDeduct="";if(y.coins?.length){G.coins=[];for(let x=0;x<y.coins.length;++x)G.coins[x]=C.common.Coin.toObject(y.coins[x],L)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))G.poolDeduct=y.poolDeduct;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(X){if(X){for(let y=Object.keys(X),L=0;L<y.length;++L)if(X[y[L]]!=null)this[y[L]]=X[y[L]]}}return f.prototype.value="",f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))L.uint32(10).string(y.value);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,x=new C.common.ProtoUint;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:x.value=y.string();break;default:y.skipType(Z&7);break}}return x},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!k.isString(y.value))return"value: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.ProtoUint)return y;let L=new C.common.ProtoUint;if(y.value!=null)L.value=String(y.value);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.defaults)G.value="";if(y.value!=null&&y.hasOwnProperty("value"))G.value=y.value;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T})();C.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(X){if(this.coins=[],X){for(let y=Object.keys(X),L=0;L<y.length;++L)if(X[y[L]]!=null)this[y[L]]=X[y[L]]}}return f.prototype.coins=k.emptyArray,f.prototype.memo="",f.prototype.signer=k.newBuffer([]),f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],L.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))L.uint32(26).bytes(y.signer);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,x=new C.types.MsgDeposit;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:if(!x.coins?.length)x.coins=[];x.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 2:x.memo=y.string();break;case 3:x.signer=y.bytes();break;default:y.skipType(Z&7);break}}return x},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let G=C.common.Coin.verify(y.coins[L]);if(G)return"coins."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||k.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function(y){if(y instanceof C.types.MsgDeposit)return y;let L=new C.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");L.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");L.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.memo!=null)L.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")k.base64.decode(y.signer,L.signer=k.newBuffer(k.base64.length(y.signer)),0);else if(y.signer.length)L.signer=y.signer}return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.arrays||L.defaults)G.coins=[];if(L.defaults){if(G.memo="",L.bytes===String)G.signer="";else if(G.signer=[],L.bytes!==Array)G.signer=k.newBuffer(G.signer)}if(y.coins?.length){G.coins=[];for(let x=0;x<y.coins.length;++x)G.coins[x]=C.common.Coin.toObject(y.coins[x],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))G.signer=L.bytes===String?k.base64.encode(y.signer,0,y.signer.length):L.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(X){if(this.amount=[],X){for(let y=Object.keys(X),L=0;L<y.length;++L)if(X[y[L]]!=null)this[y[L]]=X[y[L]]}}return f.prototype.fromAddress=k.newBuffer([]),f.prototype.toAddress=k.newBuffer([]),f.prototype.amount=k.emptyArray,f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let G=0;G<y.amount.length;++G)C.cosmos.base.v1beta1.Coin.encode(y.amount[G],L.uint32(26).fork()).ldelim();return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,x=new C.types.MsgSend;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:x.fromAddress=y.bytes();break;case 2:x.toAddress=y.bytes();break;case 3:if(!x.amount?.length)x.amount=[];x.amount.push(C.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(Z&7);break}}return x},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||k.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||k.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let L=0;L<y.amount.length;++L){let G=C.cosmos.base.v1beta1.Coin.verify(y.amount[L]);if(G)return"amount."+G}}return null},f.fromObject=function(y){if(y instanceof C.types.MsgSend)return y;let L=new C.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")k.base64.decode(y.fromAddress,L.fromAddress=k.newBuffer(k.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)L.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")k.base64.decode(y.toAddress,L.toAddress=k.newBuffer(k.base64.length(y.toAddress)),0);else if(y.toAddress.length)L.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");L.amount=[];for(let G=0;G<y.amount.length;++G){if(typeof y.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");L.amount[G]=C.cosmos.base.v1beta1.Coin.fromObject(y.amount[G])}}return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.arrays||L.defaults)G.amount=[];if(L.defaults){if(L.bytes===String)G.fromAddress="";else if(G.fromAddress=[],L.bytes!==Array)G.fromAddress=k.newBuffer(G.fromAddress);if(L.bytes===String)G.toAddress="";else if(G.toAddress=[],L.bytes!==Array)G.toAddress=k.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=L.bytes===String?k.base64.encode(y.fromAddress,0,y.fromAddress.length):L.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=L.bytes===String?k.base64.encode(y.toAddress,0,y.toAddress.length):L.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){G.amount=[];for(let x=0;x<y.amount.length;++x)G.amount[x]=C.cosmos.base.v1beta1.Coin.toObject(y.amount[x],L)}return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T})();C.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let X={};return X.Coin=(()=>{function y(L){if(L){for(let G=Object.keys(L),x=0;x<G.length;++x)if(L[G[x]]!=null)this[G[x]]=L[G[x]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,x){if(!x)x=qy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))x.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))x.uint32(18).string(G.amount);return x},y.encodeDelimited=function(G,x){return this.encode(G,x).ldelim()},y.decode=function(G,x){if(!(G instanceof A))G=A.create(G);let Z=x===void 0?G.len:G.pos+x,B=new C.cosmos.base.v1beta1.Coin;while(G.pos<Z){let J=G.uint32();switch(J>>>3){case 1:B.denom=G.string();break;case 2:B.amount=G.string();break;default:G.skipType(J&7);break}}return B},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!k.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!k.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.Coin)return G;let x=new C.cosmos.base.v1beta1.Coin;if(G.denom!=null)x.denom=String(G.denom);if(G.amount!=null)x.amount=String(G.amount);return x},y.toObject=function(G,x){if(!x)x={};let Z={};if(x.defaults)Z.denom="",Z.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))Z.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))Z.amount=G.amount;return Z},y.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),X.DecCoin=(()=>{function y(L){if(L){for(let G=Object.keys(L),x=0;x<G.length;++x)if(L[G[x]]!=null)this[G[x]]=L[G[x]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,x){if(!x)x=qy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))x.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))x.uint32(18).string(G.amount);return x},y.encodeDelimited=function(G,x){return this.encode(G,x).ldelim()},y.decode=function(G,x){if(!(G instanceof A))G=A.create(G);let Z=x===void 0?G.len:G.pos+x,B=new C.cosmos.base.v1beta1.DecCoin;while(G.pos<Z){let J=G.uint32();switch(J>>>3){case 1:B.denom=G.string();break;case 2:B.amount=G.string();break;default:G.skipType(J&7);break}}return B},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!k.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!k.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.DecCoin)return G;let x=new C.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)x.denom=String(G.denom);if(G.amount!=null)x.amount=String(G.amount);return x},y.toObject=function(G,x){if(!x)x={};let Z={};if(x.defaults)Z.denom="",Z.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))Z.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))Z.amount=G.amount;return Z},y.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),X.IntProto=(()=>{function y(L){if(L){for(let G=Object.keys(L),x=0;x<G.length;++x)if(L[G[x]]!=null)this[G[x]]=L[G[x]]}}return y.prototype.int="",y.create=function(G){return new y(G)},y.encode=function(G,x){if(!x)x=qy.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))x.uint32(10).string(G.int);return x},y.encodeDelimited=function(G,x){return this.encode(G,x).ldelim()},y.decode=function(G,x){if(!(G instanceof A))G=A.create(G);let Z=x===void 0?G.len:G.pos+x,B=new C.cosmos.base.v1beta1.IntProto;while(G.pos<Z){let J=G.uint32();switch(J>>>3){case 1:B.int=G.string();break;default:G.skipType(J&7);break}}return B},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!k.isString(G.int))return"int: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.IntProto)return G;let x=new C.cosmos.base.v1beta1.IntProto;if(G.int!=null)x.int=String(G.int);return x},y.toObject=function(G,x){if(!x)x={};let Z={};if(x.defaults)Z.int="";if(G.int!=null&&G.hasOwnProperty("int"))Z.int=G.int;return Z},y.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),X.DecProto=(()=>{function y(L){if(L){for(let G=Object.keys(L),x=0;x<G.length;++x)if(L[G[x]]!=null)this[G[x]]=L[G[x]]}}return y.prototype.dec="",y.create=function(G){return new y(G)},y.encode=function(G,x){if(!x)x=qy.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))x.uint32(10).string(G.dec);return x},y.encodeDelimited=function(G,x){return this.encode(G,x).ldelim()},y.decode=function(G,x){if(!(G instanceof A))G=A.create(G);let Z=x===void 0?G.len:G.pos+x,B=new C.cosmos.base.v1beta1.DecProto;while(G.pos<Z){let J=G.uint32();switch(J>>>3){case 1:B.dec=G.string();break;default:G.skipType(J&7);break}}return B},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!k.isString(G.dec))return"dec: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.DecProto)return G;let x=new C.cosmos.base.v1beta1.DecProto;if(G.dec!=null)x.dec=String(G.dec);return x},y.toObject=function(G,x){if(!x)x={};let Z={};if(x.defaults)Z.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))Z.dec=G.dec;return Z},y.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),X})(),f})(),T})()});async function py(){let{$root:T}=await Promise.resolve().then(() => (U1(),Y1)),f=await import("@cosmjs/proto-signing"),X=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),L=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new X([...L,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function vy(T){let f=await import("@cosmjs/stargate"),X=f.AminoTypes??f.default?.AminoTypes,y=T===H1.Chain.THORChain?"thorchain":"mayachain";return new X({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:L,...G})=>({...G,signer:YT(L)}),toAmino:({signer:L,...G})=>({...G,signer:UT(L)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:L,to_address:G,...x})=>({...x,fromAddress:YT(L),toAddress:YT(G)}),toAmino:({fromAddress:L,toAddress:G,...x})=>({...x,from_address:UT(L),to_address:UT(G)})}})}var H1;var Vf=l(()=>{H1=require("@swapkit/helpers");lf()});function uf(T){return function(X){let{assetValue:y,recipient:L,memo:G,sender:x,asSignable:Z,asAminoMessage:B}=X;if(L)return R1(T)({asAminoMessage:B,asSignable:Z,assetValue:y,memo:G,recipient:L,sender:x});return C1(T)({asAminoMessage:B,asSignable:Z,assetValue:y,memo:G,sender:x})}}function Ay(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let X=zy.AssetValue.from({asset:f.asset}),y=(X.isSynthetic?X.symbol.split("/")?.[1]:X.symbol)?.toUpperCase(),L=(X.isSynthetic?X.symbol.split("/")?.[0]:X.chain)?.toUpperCase();return{...f,asset:{chain:L,symbol:y,synth:X.isSynthetic,ticker:X.ticker}}})}}}async function CT({chain:T,memo:f,msgs:X}){let y=await py(),L=await vy(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:X.map((x)=>L.fromAmino(x))}};return y.encode(G)}var zy,ZG,BG,$f=({sender:T,recipient:f,assetValue:X})=>{return{type:`${X.chain===zy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:X.getBaseValue("string"),denom:ly(X.symbol,!0)}],from_address:T,to_address:f}}},Kf=({sender:T,assetValue:f,memo:X=""})=>{return{type:`${f.chain===zy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:HT(f)}],memo:X,signer:T}}},gT=({sender:T,recipient:f,assetValue:X,memo:y})=>{return!f?Kf({assetValue:X,memo:y,sender:T}):$f({assetValue:X,recipient:f,sender:T})},Fy=async(T,f)=>{return(await vy(f)).fromAmino(T)},W1=async({rpcUrl:T,sender:f})=>{let y=await(await ky(T)).getAccount(f);if(!y)throw new zy.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},R1=(T)=>async({sender:f,recipient:X,assetValue:y,memo:L="",asSignable:G=!0,asAminoMessage:x=!1,sequence:Z,accountNumber:B})=>{let J=await W1({rpcUrl:T,sender:f}),Q=y.chain,{chainId:q}=zy.getChainConfig(Q),z=$f({assetValue:y,recipient:X,sender:f}),M=G?await Fy(x?z:Ay(z),Q):z;return{accountNumber:B||J.accountNumber,chainId:q,fee:Iy(Q),memo:L,msgs:[M],sequence:Z||J.sequence}},C1=(T)=>async({sender:f,assetValue:X,memo:y="",asSignable:L=!0,asAminoMessage:G=!1,sequence:x,accountNumber:Z})=>{let B=await W1({rpcUrl:T,sender:f}),J=X.chain,{chainId:Q}=zy.getChainConfig(J),q=Kf({assetValue:X,memo:y,sender:f}),z=L?await Fy(G?q:Ay(q),J):q;return{accountNumber:Z||B.accountNumber,chainId:Q,fee:Iy(J),memo:y,msgs:[z],sequence:x||B.sequence}};var D1=l(()=>{zy=require("@swapkit/helpers");RT();Vf();ZG=Iy(zy.Chain.THORChain).gas,BG=Iy(zy.Chain.Maya).gas});var I1=()=>{};var k1=l(()=>{I1()});var bf=l(()=>{lf();D1();Vf();k1()});async function hf(T,f){try{let y=(await jf.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(X){return f}}async function nf({phrase:T,prefix:f,...X}){let y=await import("@cosmjs/proto-signing"),L=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),x=G.stringToPath??G.default?.stringToPath,Z="derivationPath"in X?X.derivationPath:`${P.DerivationPath[X.chain]}/${X.index}`;return L.fromMnemonic(T,{hdPaths:[x(Z)],prefix:f})}async function JG({privateKey:T,prefix:f}){let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(T,f)}function P1(T){return async function({signature:X,message:y,address:L}){let G=await T(L);if(!G?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let x=await import("@cosmjs/crypto"),Z=x.Secp256k1Signature??x.default?.Secp256k1Signature,B=x.Secp256k1??x.default?.Secp256k1,J=Z.fromFixedLength(Sy.base64.decode(X));return B.verifySignature(J,Sy.base64.decode(y),G.pubkey.value)}}async function IT({chain:T,...f}){let X=await P.getRPCUrl(T),y=P.CosmosChainPrefixes[T],L="index"in f?f.index||0:0,G=P.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[T],{index:L})),x=await DT.match(f).with({phrase:DT.P.string},({phrase:q})=>nf({derivationPath:G,phrase:q,prefix:y})).with({signer:DT.P.any},({signer:q})=>q).otherwise(()=>{return});async function Z(q){return(await ky(X)).getAccount(q)}async function B(){let[q]=await x?.getAccounts()||[];return q?.address}async function J(){let[q]=await x?.getAccounts()||[];if(!q?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return Sy.base64.encode(q?.pubkey)}async function Q({recipient:q,assetValue:z,memo:M="",feeRate:_,feeOptionKey:R=P.FeeOption.Fast}){let D=await B();if(!(x&&D))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let S=P.AssetValue.from({chain:T}),K=HT(S),d=_||MG((await E1(T,O1[T]))[R],K),t=await WT(X,x),Ty=[{amount:z.getBaseValue("string"),denom:ly(`u${z.symbol}`).toLowerCase()}],{transactionHash:e}=await t.sendTokens(D,q,Ty,d,M);return e}return{createPrivateKeyFromPhrase:YG(G),createTransaction:Af,fetchFeeRateFromSwapKit:hf,getAccount:Z,getAddress:B,getBalance:async(q,z)=>{let M=await w1(X)(q);return await Promise.all(M.filter(({denom:_})=>_&&!_.includes("IBC/")).map(({denom:_,amount:R})=>{let D=[P.Chain.THORChain,P.Chain.Maya].includes(T)&&(_.includes("/")||_.includes("˜"))?`${T}.${_}`:_;return Sf(D,R)}))},getBalanceAsDenoms:w1(X),getFees:()=>E1(T,O1[T]),getPubKey:J,getSignerFromPhrase:async({phrase:q,derivationPath:z})=>nf({derivationPath:P.derivationPathToString(z),index:L,phrase:q,prefix:y}),getSignerFromPrivateKey:async(q)=>{let z=await import("@cosmjs/proto-signing");return(z.DirectSecp256k1Wallet??z.default?.DirectSecp256k1Wallet).fromKey(q,y)},transfer:Q,validateAddress:v1(y),verifySignature:P1(Z)}}async function l1(T,f){try{let y=(await jf.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(X){return f}}function qG({address:T,chain:f,prefix:X}){let y=X||_G(f);if(!(y&&T))throw new P.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return v1(y)(T)}function zG({assetValue:{chain:T}}){return P.AssetValue.from({chain:T,value:NG(T)})}function _G(T){let{isStagenet:f}=P.SKConfig.get("envs"),X=T?[P.Chain.THORChain,P.Chain.Maya].includes(T)&&f:!1,y=T?P.CosmosChainPrefixes[T]:void 0;return X?`s${y}`:y}async function E1(T,f){let{chainId:X,baseDecimal:y}=P.getChainConfig(T),L=await hf(X,f);return{average:P.SwapKitNumber.fromBigInt(BigInt(L),y),fast:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(L,P.FeeOption.Fast,!0)),y),fastest:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(L,P.FeeOption.Fastest,!0)),y)}}function MG(T,f){return{amount:[{amount:T.getBaseValue("string"),denom:f}],gas:"200000"}}function NG(T){return{[P.Chain.Cosmos]:0.007,[P.Chain.Kujira]:0.02,[P.Chain.Noble]:0.01,[P.Chain.THORChain]:0.02,[P.Chain.Maya]:0.02}[T]||0}function v1(T){return function(X){if(!X.startsWith(T))return!1;try{let{prefix:y,words:L}=Sy.bech32.decode(X);return Sy.bech32.encode(y,L)===X.toLocaleLowerCase()}catch(y){return!1}}}function w1(T){return async function(X){return(await(await ky(T)).getAllBalances(X)).map((x)=>({...x,denom:x.denom.includes("/")?x.denom.toUpperCase():x.denom}))}}function YG(T){return async function(X){let y=await import("@cosmjs/crypto"),L=y.stringToPath??y.default?.stringToPath,G=y.Slip10Curve??y.default?.Slip10Curve,x=y.Slip10??y.default?.Slip10,Z=y.EnglishMnemonic??y.default?.EnglishMnemonic,B=y.Bip39??y.default?.Bip39,J=new Z(X),Q=await B.mnemonicToSeed(J),{privkey:q}=x.derivePath(G.Secp256k1,Q,L(T));return q}}var Sy,P,jf,DT,O1,QG;var iT=l(()=>{Sy=require("@scure/base"),P=require("@swapkit/helpers"),jf=require("@swapkit/helpers/api"),DT=require("ts-pattern");RT();O1={[P.Chain.Cosmos]:500,[P.Chain.Kujira]:1000,[P.Chain.Noble]:1000,[P.Chain.THORChain]:5000000,[P.Chain.Maya]:5000000};QG=l1});function UG({prefix:T,derivationPath:f}){return async function(y,L=0){let G=await import("@cosmjs/amino"),x=G.Secp256k1HdWallet??G.default?.Secp256k1HdWallet,Z=await import("@cosmjs/crypto"),B=Z.stringToPath??Z.default?.stringToPath;return x.fromMnemonic(y,{hdPaths:[B(`${f}/${L}`)],prefix:T})}}function HG(T){return Vy.base64.encode(T)}function WG(T){return async function({wallet:X,tx:y}){let{msgs:L,accountNumber:G,sequence:x,chainId:Z,fee:B,memo:J}=typeof y==="string"?JSON.parse(y):y,Q=(await X.getAccounts())?.[0]?.address||"",q=await vy(T),z=await py(),M=await Ff(X,{aminoTypes:q,registry:z}),_=[];for(let S of L){let K=await Fy(S,T);_.push(K)}let{signatures:[R]}=await M.sign(Q,_,B,J,{accountNumber:G,chainId:Z,sequence:x});return{bodyBytes:await CT({chain:T,memo:J,msgs:L.map(Ay)}),signature:HG(R)}}}function RG({prefix:T,rpcUrl:f}){return async function(y,L,G,x,Z){let{encodeSecp256k1Pubkey:B,pubkeyToAddress:J}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:Q}=(await import("@cosmjs/stargate")).default,{sequence:q,fee:z}=JSON.parse(y),M=await F1(G,x),_=L.map((S)=>[J(B(Vy.base64.decode(S.pubKey)),T),Vy.base64.decode(S.signature)]),R=await ky(f),{transactionHash:D}=await R.broadcastTx(Q(M,q,z,Z,new Map(_)));return D}}async function F1(T,f,X=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return y(T.map((G)=>L(Vy.base64.decode(G))),f,X)}function CG(T){return Vy.base64.decode(T)}async function DG({privateKey:T,message:f}){let{Secp256k1:X}=(await import("@cosmjs/crypto")).default,y=await X.createSignature(Vy.base64.decode(f),T);return Vy.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function pf({chain:T,...f}){let X=p.SKConfig.get("nodeUrls")[T],y=await p.getRPCUrl(T),{isStagenet:L}=p.SKConfig.get("envs"),G=T===p.Chain.THORChain,x=`${L?"s":""}${p.CosmosChainPrefixes[T]}`,Z="index"in f?f.index||0:0,B="derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[T],{index:Z}),J=await IT({chain:T,...f}),Q=await kT.match(f).with({phrase:kT.P.string},({phrase:_})=>J.getSignerFromPhrase({derivationPath:B,phrase:_})).with({signer:kT.P.any},({signer:_})=>_).otherwise(()=>{return}),q=Iy(T);async function z(){let _,R=`${X}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:D}}=await p.RequestClient.get(R);if(!D||Number.isNaN(D)||D<0)throw new p.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:D.toString()});_=new p.SwapKitNumber(D)}catch{_=new p.SwapKitNumber({decimal:p.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[p.FeeOption.Average]:_,[p.FeeOption.Fast]:_,[p.FeeOption.Fastest]:_}}async function M({assetValue:_,memo:R="",recipient:D}){let{TxRaw:S}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),K=(await Q?.getAccounts())?.[0]?.address;if(!(K&&Q))throw new p.SwapKitError("toolbox_cosmos_no_signer");let d="signAmino"in Q,t=await py(),Ty=await vy(T),e=await WT(y,Q,{aminoTypes:Ty,registry:t}),Ly=gT({assetValue:_,memo:R,recipient:D,sender:K});if(d){let I=await Fy(Ly,T),{signatures:O,authInfoBytes:F}=await e.sign(K,[I],q,R),V=S.encode({authInfoBytes:F,bodyBytes:await CT({chain:T,memo:R,msgs:[Ly].map(Ay)}),signatures:O}).finish();return(await e.broadcastTx(V)).transactionHash}let mT=Ay(Ly),N=await Fy(mT,T);return(await e.signAndBroadcast(K,[N],q,R)).transactionHash}return{...J,broadcastMultisigTx:RG({prefix:x,rpcUrl:y}),buildAminoMsg:gT,buildEncodedTxBody:CT,convertToSignable:Fy,createDefaultAminoTypes:()=>vy(T),createDefaultRegistry:py,createMultisig:F1,createTransaction:uf(y),deposit:M,getFees:z,importSignature:CG,parseAminoMessageForDirectSigning:Ay,pubkeyToAddress:async(_)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(_,x)},secp256k1HdWalletFromMnemonic:UG({derivationPath:p.derivationPathToString(B),prefix:x}),signMultisigTx:WG(T),signWithPrivateKey:DG,transfer:M}}var Vy,p,kT;var of=l(()=>{Vy=require("@scure/base"),p=require("@swapkit/helpers"),kT=require("ts-pattern");bf();RT();iT()});var $y,IG=(T,f)=>{switch(T){case $y.Chain.Cosmos:case $y.Chain.Kujira:case $y.Chain.Noble:return IT({chain:T,...f});case $y.Chain.Maya:case $y.Chain.THORChain:return pf({chain:T,...f});default:throw new $y.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var A1=l(()=>{$y=require("@swapkit/helpers");iT();of();iT();of()});var dT={};Qy(dT,{verifySignature:()=>P1,transferMsgAmino:()=>$f,toBase64:()=>GG,parseAminoMessageForDirectSigning:()=>Ay,getSignerFromPrivateKey:()=>JG,getSignerFromPhrase:()=>nf,getMsgSendDenom:()=>ly,getFeeRateFromThorswap:()=>QG,getFeeRateFromSwapKit:()=>l1,getDenomWithChain:()=>HT,getDefaultChainFee:()=>Iy,getCreateTransaction:()=>uf,getCosmosToolbox:()=>IG,getAssetFromDenom:()=>Sf,fromBase64:()=>LG,fetchFeeRateFromSwapKit:()=>hf,estimateTransactionFee:()=>zG,depositMsgAmino:()=>Kf,createThorchainToolbox:()=>pf,createStargateClient:()=>ky,createSigningStargateClient:()=>WT,createOfflineStargateClient:()=>Ff,createDefaultRegistry:()=>py,createDefaultAminoTypes:()=>vy,createCosmosToolbox:()=>IT,cosmosValidateAddress:()=>qG,cosmosCreateTransaction:()=>Af,convertToSignable:()=>Fy,buildTransferTx:()=>R1,buildEncodedTxBody:()=>CT,buildDepositTx:()=>C1,buildAminoMsg:()=>gT,bech32ToBase64:()=>YT,base64ToBech32:()=>UT,YUM_KUJIRA_FACTORY_DENOM:()=>z1,USK_KUJIRA_FACTORY_DENOM:()=>vf,THORCHAIN_GAS_VALUE:()=>ZG,MAYA_GAS_VALUE:()=>BG,DEFAULT_NOBLE_FEE_MAINNET:()=>N1,DEFAULT_KUJI_FEE_MAINNET:()=>M1,DEFAULT_COSMOS_FEE_MAINNET:()=>_1});module.exports=Yy(dT);var rT=l(()=>{bf();A1();RT()});function V1(){function T(){let f=Date.now(),X=mf||f;return mf=X,f>mf?f:X+1}return kG+T().toString(36)}function ay(T){return async function(X,y=!0){let L=await S1.SwapKitApi.getChainBalance({address:X,chain:T,scamFilter:y}),{baseDecimal:G}=aT.getChainConfig(T);return L.map(({identifier:x,value:Z,decimal:B})=>{return new aT.AssetValue({decimal:B||G,identifier:x,value:Z})})}}var aT,S1,kG,mf=0;var OT=l(()=>{aT=require("@swapkit/helpers"),S1=require("@swapkit/helpers/api"),kG=typeof process<"u"&&process.pid?process.pid.toString(36):""});function ET(T){let f=sT.SKConfig.get("apis")[T];if(f)return sT.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),f;return EG(T)}function OG(T){return T}function EG(T){return{getBalance:ay(T)}}var sT;var eT=l(()=>{sT=require("@swapkit/helpers");OT()});async function oy(T,f){let{JsonRpcProvider:X}=await import("ethers");return new X(f||await m.getRPCUrl(T))}function wT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function cf(T){let{blockExplorerUrl:f,chainId:X,rpcUrl:y}=m.getChainConfig(T);return()=>T===m.Chain.Ethereum?void 0:{...wG({chain:T}),blockExplorerUrls:[f],chainId:X,rpcUrls:[y]}}function tf(T){return![m.Chain.Arbitrum,m.Chain.BinanceSmartChain].includes(T)}function wG({chain:T}){let{baseDecimal:f}=m.getChainConfig(T);switch(T){case m.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:m.Chain.Ethereum}};case m.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:m.Chain.Ethereum}};case m.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:T}};case m.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:m.Chain.Ethereum}};case m.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}};case m.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}};case m.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}};case m.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:m.Chain.Ethereum}};case m.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:m.Chain.Polygon}};default:throw new m.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var m;var sy=l(()=>{m=require("@swapkit/helpers")});var $1;var K1=l(()=>{$1=[{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 yT({chain:T=Y.Chain.Ethereum,provider:f,signer:X,isEIP1559Compatible:y=!0}){return{approve:AG({chain:T,isEIP1559Compatible:y,provider:f,signer:X}),approvedAmount:n1({chain:T,provider:f}),broadcastTransaction:f.broadcastTransaction,call:sf({chain:T,isEIP1559Compatible:y,provider:f,signer:X}),createApprovalTx:KG({chain:T,provider:f,signer:X}),createContract:rf({chain:T,provider:f}),createContractTxObject:my({chain:T,provider:f}),createTransaction:gf({chain:T,provider:f,signer:X}),createTransferTx:gf({chain:T,provider:f,signer:X}),EIP1193SendTransaction:fT(f),estimateCall:j1({provider:f,signer:X}),estimateGasLimit:VG({chain:T,provider:f,signer:X}),estimateGasPrices:cy({chain:T,isEIP1559Compatible:y,provider:f}),estimateTransactionFee:uG({chain:T,isEIP1559Compatible:y,provider:f}),getAddress:()=>{return X?X.getAddress():void 0},isApproved:FG({chain:T,provider:f}),sendTransaction:h1({chain:T,isEIP1559Compatible:y,provider:f,signer:X}),signMessage:X?.signMessage,transfer:SG({chain:T,isEIP1559Compatible:y,provider:f,signer:X}),validateAddress:(L)=>df({address:L})}}function df({address:T}){try{return Xy.getAddress(T),!0}catch(f){return!1}}function TT(T){return T instanceof Xy.BrowserProvider}function lT(T,f,X){return new Xy.Contract(T,Xy.Interface.from(f),X)}function rf({provider:T}){return function(X,y){return new Xy.Contract(X,Xy.Interface.from(y),T)}}function af({abi:T,funcName:f}){let X=T.find((y)=>y.name===f);if(!X)throw new Y.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return X.stateMutability&&PG.includes(X.stateMutability)}function u1(T){return Xy.getAddress(T)}function fT(T){return function({value:X,...y}){if(!TT(T))throw new Y.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:L,gasPrice:G,maxFeePerGas:x,maxPriorityFeePerGas:Z,...B}=y;return T.send("eth_sendTransaction",[{...B,value:wT(BigInt(X||0))}])}}function b1(T,f){let X=GT(T,f);if(X)return Xy.getAddress(X.toLowerCase());throw new Y.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function GT({chain:T,symbol:f,ticker:X},y){try{let L=T===Y.Chain.BinanceSmartChain&&f==="BNB"&&X==="BNB",G=T===y&&f===y&&X===y,x=vG.includes(T)&&f==="ETH"&&X==="ETH";if(G||L||x)return lG[y];return Xy.getAddress(f.slice(X.length+1).replace(/^0X/,""))}catch(L){return null}}function my({provider:T}){return async({contractAddress:f,abi:X,funcName:y,funcParams:L=[],txOverrides:G})=>lT(f,X,T).getFunction(y).populateTransaction(...L.concat(G).filter((x)=>typeof x<"u"))}function cy({chain:T,provider:f,isEIP1559Compatible:X=!0}){if(T===Y.Chain.Arbitrum)return async function(){try{let{gasPrice:L}=await f.getFeeData();if(!L)throw new Y.SwapKitError("toolbox_evm_no_fee_data");return{[Y.FeeOption.Average]:{gasPrice:L},[Y.FeeOption.Fast]:{gasPrice:L},[Y.FeeOption.Fastest]:{gasPrice:L}}}catch(L){throw new Y.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}};return async function(){try{let{maxFeePerGas:L,maxPriorityFeePerGas:G,gasPrice:x}=await f.getFeeData();if(X){if(L===null||G===null)throw new Y.SwapKitError("toolbox_evm_no_fee_data");return{[Y.FeeOption.Average]:{maxFeePerGas:L,maxPriorityFeePerGas:G},[Y.FeeOption.Fast]:{maxFeePerGas:Y.applyFeeMultiplierToBigInt(L,Y.FeeOption.Fast),maxPriorityFeePerGas:Y.applyFeeMultiplierToBigInt(G,Y.FeeOption.Fast)},[Y.FeeOption.Fastest]:{maxFeePerGas:Y.applyFeeMultiplierToBigInt(L,Y.FeeOption.Fastest),maxPriorityFeePerGas:Y.applyFeeMultiplierToBigInt(G,Y.FeeOption.Fastest)}}}if(!x)throw new Y.SwapKitError("toolbox_evm_no_gas_price");return{[Y.FeeOption.Average]:{gasPrice:x},[Y.FeeOption.Fast]:{gasPrice:Y.applyFeeMultiplierToBigInt(x,Y.FeeOption.Fast)},[Y.FeeOption.Fastest]:{gasPrice:Y.applyFeeMultiplierToBigInt(x,Y.FeeOption.Fastest)}}}catch(L){throw new Y.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}}}function sf({provider:T,isEIP1559Compatible:f,signer:X,chain:y}){return async function({callProvider:G,contractAddress:x,abi:Z,funcName:B,funcParams:J=[],txOverrides:Q={},feeOption:q=Y.FeeOption.Fast}){let z=G||T;if(!x)throw new Y.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let M=af({abi:Z,funcName:B});if(M&&TT(z)&&X){let D=my({chain:y,provider:z}),S=Q?.from||await X?.getAddress(),K=await D({abi:Z,contractAddress:x,funcName:B,funcParams:J,txOverrides:{...Q,from:S}});return fT(z)(K)}let _=lT(x,Z,z);if(M){if(!X)throw new Y.SwapKitError("toolbox_evm_no_signer");let D=Q?.from||await X.getAddress();if(!D)throw new Y.SwapKitError("toolbox_evm_no_signer_address");let S=_.connect(X),K=cy({chain:y,isEIP1559Compatible:f,provider:T}),{maxFeePerGas:d,maxPriorityFeePerGas:t,gasPrice:Ty}=(await K())[q],e=await _.getFunction(B).estimateGas(...J,Q),Ly=await S[B](...J,{...Q,gasLimit:e,gasPrice:Ty,maxFeePerGas:d,maxPriorityFeePerGas:t,nonce:Q?.nonce||await z.getTransactionCount(D)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let R=await _[B]?.(...J);return typeof R?.hash==="string"?R?.hash:R}}function n1({provider:T,chain:f}){return function({assetAddress:y,spenderAddress:L,from:G}){return sf({chain:f,isEIP1559Compatible:!0,provider:T})({abi:ey.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[G,L]})}}function FG({provider:T,chain:f}){return async function({assetAddress:y,spenderAddress:L,from:G,amount:x=PT}){let Z=await n1({chain:f,provider:T})({assetAddress:y,from:G,spenderAddress:L});return Y.SwapKitNumber.fromBigInt(Z).gte(Y.SwapKitNumber.fromBigInt(BigInt(x)))}}function AG({signer:T,isEIP1559Compatible:f=!0,provider:X,chain:y}){return async function({assetAddress:G,spenderAddress:x,feeOptionKey:Z=Y.FeeOption.Fast,amount:B,gasLimitFallback:J,from:Q,nonce:q}){let z=[x,BigInt(B||PT)],M=await T?.getAddress()||Q,_={abi:ey.erc20ABI,contractAddress:G,funcName:"approve",funcParams:z,signer:T,txOverrides:{from:M}};if(TT(X)){let D=my({chain:y,provider:X}),S=fT(X),K=await D(_);return S(K)}return sf({chain:y,isEIP1559Compatible:f,provider:X,signer:T})({..._,feeOption:Z,funcParams:z,txOverrides:{from:M,gasLimit:J?BigInt(J.toString()):void 0,nonce:q}})}}function SG({signer:T,isEIP1559Compatible:f=!0,provider:X}){return async function({assetValue:L,memo:G,recipient:x,feeOptionKey:Z=Y.FeeOption.Fast,sender:B,...J}){let{hexlify:Q,toUtf8Bytes:q}=await import("ethers"),z=L.getBaseValue("bigint"),M=L.chain,_=B||await T?.getAddress(),R=h1({chain:M,isEIP1559Compatible:f,provider:X,signer:T});if(!_)throw new Y.SwapKitError("toolbox_evm_no_from_address");if(L.isGasAsset){let Ty={...J,data:Q(q(G||"")),feeOptionKey:Z,from:_,to:x,value:z};return R(Ty)}if(!GT(L,M))throw new Y.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:S,maxPriorityFeePerGas:K,gasPrice:d}=(await cy({chain:M,isEIP1559Compatible:f,provider:X})())[Z],t=await gf({chain:M,provider:X,signer:T})({assetValue:L,data:Q(q(G||"")),gasPrice:d,maxFeePerGas:S,maxPriorityFeePerGas:K,memo:G,recipient:x,sender:_});return R(t)}}function j1({provider:T,signer:f}){return function({contractAddress:y,abi:L,funcName:G,funcParams:x=[],txOverrides:Z}){if(!y)throw new Y.SwapKitError("toolbox_evm_no_contract_address");let B=lT(y,L,T);return f?B.connect(f).getFunction(G).estimateGas(...x,Z):B.getFunction(G).estimateGas(...x,Z)}}function VG({provider:T,signer:f}){return async function({assetValue:y,recipient:L,memo:G,data:x,sender:Z,funcName:B,funcParams:J,txOverrides:Q}){let q=y.bigIntValue,z=y.isGasAsset?null:GT(y,y.chain);if(z&&B)return j1({provider:T,signer:f})({abi:ey.erc20ABI,contractAddress:z,funcName:B,funcParams:J,txOverrides:Q});let{hexlify:M,toUtf8Bytes:_}=await import("ethers");return T.estimateGas({data:x?x:G?M(_(G)):void 0,from:Z,to:L,value:q})}}function h1({provider:T,signer:f,isEIP1559Compatible:X=!0,chain:y}){return async function({feeOptionKey:G=Y.FeeOption.Fast,...x}){let{from:Z,to:B,data:J,value:Q,...q}=x;if(!f)throw new Y.SwapKitError("toolbox_evm_no_signer");if(!B)throw new Y.SwapKitError("toolbox_evm_no_to_address");let z={...q,data:J||"0x",from:Z,to:B,value:BigInt(Q||0)};if(TT(T))return fT(T)(z);let M=Z||await f.getAddress(),_=x.nonce||await T.getTransactionCount(M),R=(await T.getNetwork()).chainId,D=$G(z)||X,S=cy({chain:y,isEIP1559Compatible:X,provider:T}),K=D&&!(z.maxFeePerGas&&z.maxPriorityFeePerGas)||!z.gasPrice?Object.entries((await S())[G]).reduce((t,[Ty,e])=>({...t,[Ty]:wT(BigInt(e))}),{}):{},d;try{d=wT(z.gasLimit||await T.estimateGas(z)*11n/10n)}catch(t){throw new Y.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:t})}try{let t={...z,chainId:R,gasLimit:d,nonce:_,type:D?2:0,...K};try{return(await f.sendTransaction(t)).hash}catch(Ty){let e=await f.signTransaction({...t,from:M});return(await T.broadcastTransaction(e)).hash}}catch(t){throw new Y.SwapKitError("toolbox_evm_error_sending_transaction",{error:t})}}}function gf({provider:T,signer:f}){return async function({assetValue:y,memo:L,recipient:G,data:x,sender:Z,maxFeePerGas:B,maxPriorityFeePerGas:J,gasPrice:Q,...q}){let z=y.getBaseValue("bigint"),M=y.chain,_=Z||await f?.getAddress();if(!_)throw new Y.SwapKitError("toolbox_evm_no_from_address");if(Y.isGasAsset(y)){let{hexlify:S,toUtf8Bytes:K}=await import("ethers");return{...q,data:x||S(K(L||"")),from:_,to:G,value:z}}let R=GT(y,M);if(!R)throw new Y.SwapKitError("toolbox_evm_no_contract_address");return my({chain:y.chain,provider:T})({abi:ey.erc20ABI,contractAddress:R,funcName:"transfer",funcParams:[G,z],txOverrides:{from:_,gasPrice:Q,maxFeePerGas:B,maxPriorityFeePerGas:J}})}}function KG({provider:T,signer:f,chain:X}){return async function({assetAddress:L,spenderAddress:G,amount:x,from:Z}){let B=await f?.getAddress()||Z,J=my({chain:X,provider:T}),Q=["bigint","number"].includes(typeof x)?x:x||PT;return await J({abi:ey.erc20ABI,contractAddress:L,funcName:"approve",funcParams:[G,BigInt(Q)],txOverrides:{from:B}})}}function uG({provider:T,isEIP1559Compatible:f=!0}){return async function({feeOption:y=Y.FeeOption.Fast,chain:L,...G}){let Z=await cy({chain:L,isEIP1559Compatible:f,provider:T})(),B=await T.estimateGas(G),J=Y.AssetValue.from({chain:L}),{gasPrice:Q,maxFeePerGas:q,maxPriorityFeePerGas:z}=Z[y];if(!f&&Q)return J.set(Y.SwapKitNumber.fromBigInt(Q*B,J.decimal));if(q&&z){let M=(q+z)*B;return J.set(Y.SwapKitNumber.fromBigInt(M,J.decimal))}throw new Y.SwapKitError("toolbox_evm_no_gas_price")}}var Y,ey,Xy,PT,PG,lG,vG,$G=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var yf=l(()=>{Y=require("@swapkit/helpers"),ey=require("@swapkit/helpers/contracts"),Xy=require("ethers");sy();PT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");PG=["payable","nonpayable"];lG={[Y.Chain.Arbitrum]:Y.ContractAddress.ARB,[Y.Chain.Aurora]:Y.ContractAddress.AURORA,[Y.Chain.Avalanche]:Y.ContractAddress.AVAX,[Y.Chain.Base]:Y.ContractAddress.BASE,[Y.Chain.Berachain]:Y.ContractAddress.BERA,[Y.Chain.BinanceSmartChain]:Y.ContractAddress.BSC,[Y.Chain.Ethereum]:Y.ContractAddress.ETH,[Y.Chain.Gnosis]:Y.ContractAddress.GNO,[Y.Chain.Optimism]:Y.ContractAddress.OP,[Y.Chain.Polygon]:Y.ContractAddress.MATIC},vG=[Y.Chain.Arbitrum,Y.Chain.Aurora,Y.Chain.Base,Y.Chain.Optimism]});async function Tf({provider:T,...f}){let X=await Oy(Gy.Chain.Ethereum)({provider:T,...f});async function y(L,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",x="aggregate",Z=Gy.FeeOption.Fast){let B=await X.createContractTxObject({abi:$1,contractAddress:G,funcName:x,funcParams:[L]});return X.sendTransaction({...B,feeOptionKey:Z})}return{...X,multicall:y}}function Oy(T){return async function({provider:X,...y}){let L=await Gy.getRPCUrl(T),G=X||await oy(T,L),x=tf(T),Z=vT.match(y).with({phrase:vT.P.string},({phrase:J})=>p1.HDNodeWallet.fromPhrase(J).connect(G)).with({signer:vT.P.any},({signer:J})=>J).otherwise(()=>{return});return{...yT({chain:T,isEIP1559Compatible:x,provider:G,signer:Z}),getBalance:ET(T).getBalance,getNetworkParams:cf(T)}}}var Gy,p1,vT,ff,Gf,Lf,Xf,xf,Zf,Bf,Jf;var ef=l(()=>{Gy=require("@swapkit/helpers"),p1=require("ethers"),vT=require("ts-pattern");eT();K1();sy();yf();ff=Oy(Gy.Chain.Arbitrum),Gf=Oy(Gy.Chain.Aurora),Lf=Oy(Gy.Chain.Avalanche),Xf=Oy(Gy.Chain.Base),xf=Oy(Gy.Chain.Berachain),Zf=Oy(Gy.Chain.BinanceSmartChain),Bf=Oy(Gy.Chain.Gnosis),Jf=Oy(Gy.Chain.Polygon)});var o1;var m1=l(()=>{o1=[{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 y0(T){return new Qf.Contract(bG,o1,T)}function c1(T){return function(){let X=y0(T);if(X&&"l1BaseFee"in X)return X?.l1BaseFee();return}}function t1(T){return async function({from:X,to:y,nonce:L,...G}){let{Transaction:x}=await import("ethers");if(!y)throw new n.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return x.from({...G,authorizationList:G.authorizationList,nonce:L?L:X?await T.getTransactionCount(X):0,to:y}).serialized}}function g1(T){return async function(X){let y=y0(T),L=await t1(T)(X);if(y&&"getL1Fee"in y)return y.getL1Fee(L)}}function i1(T){return async function(X){let y=await T.send("eth_gasPrice",[]),L=await T.estimateGas(X);return y.mul(L)}}function nG(T){return async function(X){let y=await g1(T)(X),L=await i1(T)(X);return y.add(L)}}function jG(T){return async function(X){let y=y0(T),L=await t1(T)(X);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(L)}}function hG(){let{baseDecimal:T,chainId:f,blockExplorerUrl:X,name:y,rpcUrl:L}=n.getChainConfig(n.Chain.Optimism);return{blockExplorerUrls:[X],chainId:f,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:n.Chain.Ethereum},rpcUrls:[L]}}async function pG(T){try{let{maxFeePerGas:f,maxPriorityFeePerGas:X,gasPrice:y}=await T.getFeeData(),L=c1(T)(),G=y;if(!(f&&X))throw new n.SwapKitError("toolbox_evm_no_fee_data");return{[n.FeeOption.Average]:{gasPrice:G,l1GasPrice:L,maxFeePerGas:f,maxPriorityFeePerGas:X},[n.FeeOption.Fast]:{gasPrice:n.applyFeeMultiplierToBigInt(G,n.FeeOption.Fast),l1GasPrice:n.applyFeeMultiplierToBigInt(L||0n,n.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:n.applyFeeMultiplierToBigInt(X,n.FeeOption.Fast)},[n.FeeOption.Fastest]:{gasPrice:n.applyFeeMultiplierToBigInt(G,n.FeeOption.Fastest),l1GasPrice:n.applyFeeMultiplierToBigInt(L||0n,n.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:n.applyFeeMultiplierToBigInt(X,n.FeeOption.Fastest)}}}catch(f){throw new n.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function qf({provider:T,...f}){let X=n.Chain.Optimism,y=await n.getRPCUrl(X),L=T||await oy(X,y),G=FT.match(f).with({phrase:FT.P.string},({phrase:B})=>Qf.HDNodeWallet.fromPhrase(B).connect(L)).with({signer:FT.P.any},({signer:B})=>B).otherwise(()=>{return}),x=yT({provider:L,signer:G}),Z=c1(L);return{...x,estimateGasPrices:pG(L),estimateL1Gas:jG(L),estimateL1GasCost:g1(L),estimateL2GasCost:i1(L),estimateTotalGasCost:nG(L),getBalance:ET(n.Chain.Optimism).getBalance,getL1GasPrice:Z,getNetworkParams:hG}}var n,Qf,FT,bG="0x420000000000000000000000000000000000000f";var T0=l(()=>{n=require("@swapkit/helpers"),Qf=require("ethers"),FT=require("ts-pattern");eT();m1();sy();yf()});var r1={};Qy(r1,{toChecksumAddress:()=>u1,isStateChangingCall:()=>af,isBrowserProvider:()=>TT,getTokenAddress:()=>GT,getEvmToolbox:()=>d1,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>fT,getCreateContractTxObject:()=>my,getCreateContract:()=>rf,getChecksumAddressFromAsset:()=>b1,evmValidateAddress:()=>df,createContract:()=>lT,OPToolbox:()=>qf,MAX_APPROVAL:()=>PT,MATICToolbox:()=>Jf,GNOToolbox:()=>Bf,ETHToolbox:()=>Tf,BaseEVMToolbox:()=>yT,BSCToolbox:()=>Zf,BERAToolbox:()=>xf,BASEToolbox:()=>Xf,AVAXToolbox:()=>Lf,AURORAToolbox:()=>Gf,ARBToolbox:()=>ff});async function d1(T,f){let X={...f,provider:f?.provider||await oy(T)};switch(T){case xy.Chain.Arbitrum:return ff(X);case xy.Chain.Aurora:return Gf(X);case xy.Chain.Avalanche:return Lf(X);case xy.Chain.Base:return Xf(X);case xy.Chain.Berachain:return xf(X);case xy.Chain.BinanceSmartChain:return Zf(X);case xy.Chain.Gnosis:return Bf(X);case xy.Chain.Optimism:return qf(X);case xy.Chain.Polygon:return Jf(X);case xy.Chain.Ethereum:return Tf(X);default:throw new xy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var xy;var f0=l(()=>{xy=require("@swapkit/helpers");sy();ef();T0();yf();ef();T0()});var a1;var s1=l(()=>{((X)=>{X.Test="goerli";X.Main="homestead"})(a1||={})});var e1={};Qy(e1,{toHexString:()=>wT,toChecksumAddress:()=>u1,isStateChangingCall:()=>af,isBrowserProvider:()=>TT,getTokenAddress:()=>GT,getProvider:()=>oy,getNetworkParams:()=>cf,getIsEIP1559Compatible:()=>tf,getEvmToolbox:()=>d1,getEvmApi:()=>ET,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>fT,getCreateContractTxObject:()=>my,getCreateContract:()=>rf,getChecksumAddressFromAsset:()=>b1,evmValidateAddress:()=>df,createCustomEvmApi:()=>OG,createContract:()=>lT,OPToolbox:()=>qf,MAX_APPROVAL:()=>PT,MATICToolbox:()=>Jf,GNOToolbox:()=>Bf,EthNetwork:()=>a1,ETHToolbox:()=>Tf,BaseEVMToolbox:()=>yT,BSCToolbox:()=>Zf,BERAToolbox:()=>xf,BASEToolbox:()=>Xf,AVAXToolbox:()=>Lf,AURORAToolbox:()=>Gf,ARBToolbox:()=>ff});module.exports=Yy(e1);var y5=l(()=>{eT();sy();f0();s1()});async function oG(T,f,X){try{let y=await T.query.system?.account?.(X);if(!y)return[f.set(0)];let{data:{free:L}}=y,G=ty.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function mG(T,f,X){try{let y=await T.query.flip?.account?.(X);if(!y)return[f.set(0)];let L=y.balance||y.data?.balance;if(!L||L.isEmpty)return[f.set(0)];let G=ty.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function T5(T,f){return function(y){let L=ty.AssetValue.from({chain:T});switch(T){case ty.Chain.Chainflip:return mG(f,L,y);default:return oG(f,L,y)}}}var ty;var f5=l(()=>{ty=require("@swapkit/helpers")});var cG,tG,gG,Ky;var G0=l(()=>{cG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},tG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},gG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},Ky={DOT:cG,FLIP:tG,GENERIC:gG}});function iG(T,f){switch(T){case g.Chain.Chainflip:return L5(f);case g.Chain.Polkadot:return G5(f);default:throw new g.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function LT(T){return"address"in T}async function X0(T,f){let{Keyring:X}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new X({ss58Format:f,type:"sr25519"}).addFromUri(T)}function T2(T,f){let X=xT.decodeAddress(T);return xT.encodeAddress(X,f)}function X5(T,f){return XT.isHex(T)?XT.hexToU8a(T):xT.decodeAddress(T,void 0,f)}function x5(T,f="ss58",X){if(f==="hex")return XT.u8aToHex(T);return xT.encodeAddress(T,X)}async function B0({generic:T,chain:f,...X}){let{ApiPromise:y,WsProvider:L}=await import("@polkadot/api"),G=await g.getRPCUrl(f),x=new L(G),Z=await y.create({provider:x}),B=g.AssetValue.from({chain:f}),J=T?Ky.GENERIC:Ky[f],Q=await AT.match(X).with({phrase:AT.P.string},({phrase:q})=>X0(q,Ky[f].prefix)).with({signer:AT.P.any},({signer:q})=>q).otherwise(()=>{return});return Z5({api:Z,chain:f,gasAsset:B,network:J,signer:Q})}var XT,xT,g,AT,G5=({generic:T=!1,...f}={})=>{return B0({chain:g.Chain.Polkadot,generic:T,...f})},L5=async({generic:T=!1,...f}={})=>{return{...await B0({chain:g.Chain.Chainflip,generic:T,...f})}},x0=(T,f)=>T.rpc.system.accountNextIndex(f),L0=(T,f)=>{try{let X=X5(T,f);return x5(X,"ss58",f),!0}catch(X){return!1}},Z0=(T,{recipient:f,assetValue:X})=>T.tx.balances?.transferAllowDeath?.(f,X.getBaseValue("number")),dG=async(T,f,{recipient:X,assetValue:y,sender:L})=>{let G=Z0(T,{assetValue:y,recipient:X});if(!G)throw new g.SwapKitError("toolbox_substrate_transfer_error");let x=LT(f),Z=x?f.address:L;if(!Z)throw new g.SwapKitError("core_transaction_invalid_sender_address");let B=await x0(T,Z);return(await G.signAndSend(x?f:Z,{nonce:B,signer:x?void 0:f})).toString()},rG=async(T,f,X,{recipient:y,assetValue:L,sender:G})=>{let x=Z0(T,{assetValue:L,recipient:y}),Z=LT(f)?f.address:G;if(!Z)return;let B=await x?.paymentInfo(Z,{nonce:await x0(T,Z)})||{partialFee:0};return X.set(g.SwapKitNumber.fromBigInt(BigInt(B.partialFee.toString()),X.decimal).getValue("string"))},aG=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},sG=async(T,f)=>{return await f.signAsync(T)},eG=(T,f,X)=>{if(X)return f.signAndSend(T,X);return f.signAndSend(T).toString()},y2=async({signer:T,address:f,tx:X,callback:y,api:L})=>{let G=await x0(L,f);if(y)X.signAndSend(f,{nonce:G,signer:T},y);return X.signAndSend(f,{nonce:G,signer:T}).toString()},Z5=({api:T,network:f,gasAsset:X,signer:y,chain:L})=>({api:T,broadcast:aG,convertAddress:T2,createKeyring:(G)=>X0(G,f.prefix),createTransaction:(G)=>Z0(T,G),decodeAddress:X5,encodeAddress:x5,estimateTransactionFee:(G)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return rG(T,y,X,G)},gasAsset:X,getAddress:(G)=>{let x=G||y;if(!x)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return LT(x)?x.address:void 0},getBalance:T5(L||g.Chain.Polkadot,T),network:f,sign:(G)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(LT(y))return sG(y,G);throw new g.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:x,address:Z})=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(LT(y))return eG(y,G,x);if(Z)return y2({address:Z,api:T,callback:x,signer:y,tx:G});throw new g.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return dG(T,y,G)},validateAddress:(G)=>L0(G,f.prefix)}),f2=({address:T,chain:f})=>{let{prefix:X}=f===g.Chain.Polkadot?Ky.DOT:Ky.FLIP;return L0(T,X)||L0(T,Ky.GENERIC.prefix)};var B5=l(()=>{XT=require("@polkadot/util"),xT=require("@polkadot/util-crypto"),g=require("@swapkit/helpers"),AT=require("ts-pattern");f5();G0()});var J0={};Qy(J0,{substrateValidateAddress:()=>f2,isKeyringPair:()=>LT,getSubstrateToolbox:()=>iG,createSubstrateToolbox:()=>B0,createKeyring:()=>X0,SubstrateNetwork:()=>Ky,PolkadotToolbox:()=>G5,ChainflipToolbox:()=>L5,BaseSubstrateToolbox:()=>Z5});module.exports=Yy(J0);var Q0=l(()=>{B5();G0()});async function G2({chain:T,txHash:f}){let X=`${zf(T)}/push/transaction`,y=JSON.stringify({data:f});try{let L=await $.RequestClient.post(X,{body:y,headers:{"Content-Type":"application/json"}});if(L.context.code!==200)throw new $.SwapKitError("toolbox_utxo_broadcast_failed",{error:L.context.error||"Transaction broadcast failed"});return L.data?.transaction_hash||f}catch(L){let G=await $.getRPCUrl(T);if(G){let x=JSON.stringify({id:V1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),Z=await $.RequestClient.post(G,{body:x,headers:{"Content-Type":"application/json"}});if(Z.error)throw new $.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.error?.message});if(Z.result.includes('"code":-26'))throw new $.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Z.result}throw L}}function zf(T){return`https://api.blockchair.com/${L2(T)}`}function J5(T){switch(T){case $.Chain.Bitcoin:return 5;case $.Chain.Dogecoin:return 1e4;case $.Chain.Litecoin:return 1;case $.Chain.Zcash:return 1;default:return 2}}function L2(T){switch(T){case $.Chain.BitcoinCash:return"bitcoin-cash";case $.Chain.Litecoin:return"litecoin";case $.Chain.Dash:return"dash";case $.Chain.Dogecoin:return"dogecoin";case $.Chain.Zcash:return"zcash";case $.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function X2(T){try{let{feePerKb:f}=await $.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),X=f/1000;return Math.max(X,J5(T))}catch(f){return J5(T)}}async function q0(T,f){let X=await $.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!X||X.context.code!==200)throw new $.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return X.data}async function _5({address:T,chain:f,apiKey:X}){if(!T)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await q0(`${zf(f)}/dashboards/address/${T}?transaction_details=true`,X))[T]}catch(y){return{address:{balance:0,transaction_count:0},utxo:[]}}}async function x2({address:T,chain:f,apiKey:X}){return(await _5({address:T,apiKey:X,chain:f}))?.address.balance||0}async function M5({chain:T,apiKey:f,txHash:X}){if(!X)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await q0(`${zf(T)}/raw/transaction/${X}`,f))?.[X]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function Z2({chain:T,address:f,apiKey:X,offset:y=0,limit:L=30}){return(await q0(`${zf(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${L}&offset=${y}`,X)).map(({is_spent:B,script_hex:J,block_id:Q,transaction_hash:q,index:z,value:M,spending_signature_hex:_})=>({hash:q,index:z,is_confirmed:Q!==-1,is_spent:B,script_hex:J,txHex:_,value:M}))}function B2(T){return T.reduce((f,X)=>f+X.value,0)}function Q5(T,f){let X=[...T].sort((y,L)=>L.value-y.value);if(f){let y=[],L=0;for(let G of X)if(y.push(G),L+=G.value,L>=f)break;return y}return X}async function N5({chain:T,address:f,apiKey:X,targetValue:y,accumulativeValue:L=0,offset:G=0,limit:x=30}){if(!f)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Z=await Z2({address:f,apiKey:X,chain:T,limit:x,offset:G,targetValue:y}),J=Z.length<x,Q=Z.filter(({is_spent:D})=>!D),q=B2(Q),z=L+q,M=y&&z>=y;if(J||M)return Q5(Q,y);let _=await N5({accumulativeValue:z,address:f,apiKey:X,chain:T,limit:x,offset:G+x,targetValue:y}),R=[...Q,..._];return Q5(R,y)}catch(Z){return console.error("Failed to fetch unspent UTXOs:",Z),[]}}async function J2({address:T,chain:f,apiKey:X,fetchTxHex:y=!0,targetValue:L}){let G=await N5({address:T,apiKey:X,chain:f,targetValue:L}),x=[];for(let{hash:Z,index:B,script_hex:J,value:Q}of G){let q;if(y)q=await M5({apiKey:X,chain:f,txHash:Z});x.push({address:T,hash:Z,index:B,txHex:q,value:Q,witnessUtxo:{script:Buffer.from(J,"hex"),value:Q}})}return x}function Q2(T){let f=$.SKConfig.get("apiKeys").blockchair||"";return $.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(X)=>G2({chain:T,txHash:X}),getAddressData:(X)=>_5({address:X,apiKey:f,chain:T}),getBalance:(X)=>x2({address:X,apiKey:f,chain:T}),getRawTx:(X)=>M5({apiKey:f,chain:T,txHash:X}),getSuggestedTxFee:()=>X2(T),getUtxos:(X)=>J2({...X,apiKey:f,chain:T})}}function q2(T){return T}function Zy(T){let f=$.SKConfig.get("apis")[T];if(f)return $.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return Q2(T)}function Uy(){return function(f){switch(f){case $.Chain.Bitcoin:return z5.networks.bitcoin;case $.Chain.BitcoinCash:return ZT.default.bitcoincash.main.toBitcoinJS();case $.Chain.Dash:return ZT.default.dash.main.toBitcoinJS();case $.Chain.Litecoin:return ZT.default.litecoin.main.toBitcoinJS();case $.Chain.Dogecoin:{let X={private:70615956,public:70617039},y=ZT.default.dogecoin.test;return y.versions.bip32=X,ZT.default.dogecoin.main.toBitcoinJS()}case $.Chain.Zcash:return q5.networks.zcash;default:throw new $.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var q5,$,z5,ZT;var Y5=l(()=>{q5=require("@bitgo/utxo-lib"),$=require("@swapkit/helpers"),z5=require("bitcoinjs-lib"),ZT=U(require("coininfo"));OT()});function Y0(T){try{return _f(T),!0}catch(f){return!1}}function U0(T){return _f(T)?.network}function BT(T){let f=_f(T);if(f?.format==="legacy")return T;return M2(f)}function ST(T){let f=_f(T);return N2(f)}function _f(T){try{let f=z2(T);if(f)return f}catch(f){}try{let f=_2(T);if(f)return f}catch(f){}throw new z0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function z2(T){try{let f=_0.default.decode(T);if(f.length!==21)throw new z0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let X=f[0],y=Array.prototype.slice.call(f,1);switch(X){case c.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case c.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case c.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case c.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case c.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case c.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch(f){return}}function _2(T){if(T.indexOf(":")!==-1)try{return U5(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let X of f)try{return U5(`${X}:${T}`)}catch(y){}}return}function U5(T){try{let{hash:f,prefix:X,type:y}=M0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:X==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(f){return}}function M2(T){let f=c.legacy[T.network][T.type],X=Buffer.alloc(1+T.hash.length);return X[0]=f,X.set(T.hash,1),_0.default.encode(X)}function N2(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",X=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return M0.default.encode(f,X,y)}var z0,_0,M0,N0,c;var H5=l(()=>{z0=require("@swapkit/helpers"),_0=U(require("bs58check")),M0=U(require("cashaddrjs"));((X)=>{X.Mainnet="mainnet";X.Testnet="testnet"})(N0||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Hy(T){let f=Buffer.from(T,"utf8");return Nf.script.compile([Nf.opcodes.OP_RETURN,f])}var W5,Nf,Y2=1000,Yf=10,R5=10,U2=41,H2=107,Uf,Mf,VT,$T=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new W5.SwapKitError("toolbox_utxo_invalid_address",{address:T})},JT=({inputs:T,outputs:f,feeRate:X})=>{let y=T[0]&&"address"in T[0]&&T[0].address?$T(T[0].address):"P2PKH",L=T.filter((x)=>x.value>=Mf["type"in x?x.type:"P2PKH"]*Math.ceil(X)).reduce((x,Z)=>x+uy(Z),0),G=f?.reduce((x,Z)=>x+KT(Z),0)||VT[y];return Yf+L+G},uy=(T)=>{if("type"in T)return Mf[T.type];if("address"in T&&T.address)return Mf[$T(T.address)];return U2+H2},KT=(T,f)=>{if(T?.script)return R5+T.script.length+(T.script.length>=74?2:1);if(f)return VT[f];return VT.P2PKH};var H0=l(()=>{W5=require("@swapkit/helpers"),Nf=require("bitcoinjs-lib");((X)=>{X.P2PKH="P2PKH";X.P2WPKH="P2WPKH"})(Uf||={});Mf={["P2PKH"]:148,["P2WPKH"]:68},VT={["P2PKH"]:34,["P2WPKH"]:31}});function Hf(T){switch(T){case Wy.Chain.Bitcoin:case Wy.Chain.BitcoinCash:return 550;case Wy.Chain.Dash:case Wy.Chain.Litecoin:return 5500;case Wy.Chain.Dogecoin:return 1e5;case Wy.Chain.Zcash:return 546;default:throw new Wy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Ry({inputs:T,outputs:f,feeRate:X=1,chain:y=Wy.Chain.Bitcoin,changeAddress:L=""}){let G=Math.ceil(X),x=T[0]&&"address"in T[0]&&T[0].address?$T(T[0].address):"P2PKH",Z=T.filter((M)=>uy(M)*G<=M.value),B=Yf+f.reduce((M,_)=>M+KT(_,x),0),J=f.reduce((M,_)=>M+_.value,0),Q=B*G,q=0,z=[];for(let M of Z){let _=uy(M),R=G*_;Q+=R,q+=M.value,z.push(M);let D=Q+J;if(q<D)continue;let S=q-D,K=G*KT({address:"",value:0},x);if(S>K){let d=K+Q,t=q-(J+d);if(t>Math.max(uy({})*G,Hf(y)))return{fee:d,inputs:z,outputs:f.concat({address:L,value:t})}}return{fee:Q,inputs:z,outputs:f}}return{fee:G*JT({feeRate:G,inputs:T,outputs:f})}}var Wy;var C5=l(()=>{Wy=require("@swapkit/helpers");H0()});var QT=l(()=>{Y5();H5();C5();H0()});function gy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function by(T){let f=gy(T);return Y0(f)&&U0(f)==="mainnet"}function qT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=Wf.networks.zcash;try{return Wf.address.toOutputScript(T,f),!0}catch{let X=D5.default.decode(T);if(X.length<21)return!1;let y=X[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}var Wf,D5;var uT=l(()=>{Wf=require("@bitgo/utxo-lib"),D5=U(require("bs58check"));QT()});function O5({inputs:T,outputs:f,chain:X,psbt:y,sender:L,compiledMemo:G}){for(let x of T){let Z=!!x.witnessUtxo&&!bT.includes(X)&&{witnessUtxo:x.witnessUtxo},B=bT.includes(X)&&{nonWitnessUtxo:x.txHex?Buffer.from(x.txHex,"hex"):void 0};y.addInput({hash:x.hash,index:x.index,...Z,...B})}for(let x of f){let Z="address"in x&&x.address?x.address:L,B=x.script;if(B&&!G)continue;let J=B?{script:G,value:0}:{address:Z,value:x.value};Cy.initEccLib(Rf.default),y.addOutput(J)}return{inputs:T,psbt:y}}async function E5({assetValue:T,recipient:f,memo:X,feeRate:y,sender:L,fetchTxHex:G=!1}){let x=T.chain,Z=X?await Hy(X):null,B=await l5({assetValue:T,fetchTxHex:G,memo:X,recipient:f,sender:L}),{inputs:J,outputs:Q}=Ry({...B,chain:x,feeRate:y});if(!(J&&Q))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:L});let q=await Uy(),z=new Cy.Psbt({network:q(x)});if(x===v.Chain.Dogecoin)z.setMaximumFeeRate(650000000);let{psbt:M,inputs:_}=await O5({chain:x,compiledMemo:Z,inputs:J,outputs:Q,psbt:z,sender:L});return{inputs:_,psbt:M,utxos:B.inputs}}async function w5(){let T=await Uy();return function({address:X,chain:y}){if(y===v.Chain.BitcoinCash)return by(X);if(y===v.Chain.Zcash)return qT(X);try{return Cy.initEccLib(Rf.default),Cy.address.toOutputScript(X,T(y)),!0}catch(L){return!1}}}async function W2({chain:T,phrase:f,derivationPath:X}){let y=(await nT(T))({derivationPath:X,phrase:f});async function L(x){return await x.signAllInputs(y),x}function G(){return R0(T)(y)}return{getAddress:G,signTransaction:L}}async function iy({chain:T,...f}){let X="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,L=v.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:y})),G=X?await W2({chain:T,derivationPath:L,phrase:X}):("signer"in f)?f.signer:void 0;function x(){return Promise.resolve(G?.getAddress())}let Z=await w5(),B=await nT(T);return{accumulative:Ry,broadcastTx:(J)=>Zy(T).broadcastTx(J),calculateTxSize:JT,createKeysForPath:B,createTransaction:E5,estimateMaxSendableAmount:R2(T),estimateTransactionFee:C2(T),getAddress:x,getAddressFromKeys:R0(T),getBalance:ay(T),getFeeRates:()=>jT(T),getInputsOutputsFee:P5,getPrivateKeyFromMnemonic:(J)=>{return B(J).toWIF()},transfer:D2(G),validateAddress:(J)=>Z({address:J,chain:T})}}async function P5({assetValue:T,feeOptionKey:f=v.FeeOption.Fast,feeRate:X,memo:y,sender:L,recipient:G}){let x=T.chain,Z=await l5({assetValue:T,memo:y,recipient:G,sender:L}),B=X?Math.floor(X):(await jT(x))[f];return Ry({...Z,chain:x,feeRate:B})}function R2(T){return async function({from:X,memo:y,feeRate:L,feeOptionKey:G=v.FeeOption.Fast,recipients:x=1}){let Z=await Zy(T).getAddressData(X),B=L?Math.ceil(L):(await jT(T))[G],J=Z?.utxo.map((_)=>({..._,hash:"",type:"P2PKH"})).filter((_)=>_.value>Math.max(Hf(T),uy(_)*B));if(!J?.length)return v.AssetValue.from({chain:T});let Q=v.AssetValue.from({chain:T,value:J.reduce((_,R)=>_+R.value,0)}),q=typeof x==="number"?Array.from({length:x},()=>({address:X,value:0})):x;if(y){let _=await Hy(y);q.push({address:X,script:_,value:0})}let M=JT({feeRate:B,inputs:J,outputs:q})*B;return Q.sub(M)}}function C2(T){return async(f)=>{let X=await P5(f);return v.AssetValue.from({chain:T,value:v.SwapKitNumber.fromBigInt(BigInt(X.fee),8).getValue("string")})}}async function nT(T){let f=await Uy();switch(T){case v.Chain.BitcoinCash:return function({phrase:y,derivationPath:L=`${v.DerivationPath.BCH}/0`,wif:G}){let x=f(T);if(G)return Cf.ECPair.fromWIF(G,x);if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return Cf.HDNode.fromSeedBuffer(Buffer.from(W0.mnemonicToSeedSync(y)),x).derivePath(L).keyPair};case v.Chain.Bitcoin:case v.Chain.Dogecoin:case v.Chain.Litecoin:case v.Chain.Zcash:case v.Chain.Dash:return function({phrase:y,wif:L,derivationPath:G}){if(!(L||y))throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let x=k5.ECPairFactory(Rf.default),Z=f(T);if(L)return x.fromWIF(L,Z);let B=W0.mnemonicToSeedSync(y),J=I5.HDKey.fromMasterSeed(B,Z).derive(G);if(!J.privateKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return x.fromPrivateKey(Buffer.from(J.privateKey),{network:Z})};default:throw new v.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function R0(T){let f=Uy();return function(y){if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let L=bT.includes(T)?Cy.payments.p2pkh:Cy.payments.p2wpkh,{address:G}=L({network:f(T),pubkey:y.publicKey});if(!G)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function D2(T){return async function({memo:X,recipient:y,feeOptionKey:L,feeRate:G,assetValue:x}){let Z=await T?.getAddress(),B=x.chain;if(!(T&&Z))throw new v.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let J=G||(await jT(B))[L||v.FeeOption.Fast],{psbt:Q}=await E5({assetValue:x,feeRate:J,memo:X,recipient:y,sender:Z}),q=await T.signTransaction(Q);return q.finalizeAllInputs(),Zy(B).broadcastTx(q.extractTransaction().toHex())}}async function jT(T){let f=await Zy(T).getSuggestedTxFee();return{[v.FeeOption.Average]:f,[v.FeeOption.Fast]:v.applyFeeMultiplier(f,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(f,v.FeeOption.Fastest)}}async function l5({assetValue:T,recipient:f,memo:X,sender:y,fetchTxHex:L=!1}){let G=T.chain,x=(await jT(G))[v.FeeOption.Fastest],Z=L||bT.includes(G),B=T.getBaseValue("number"),J=Math.ceil(B+x*5000);return{inputs:await Zy(G).getUtxos({address:y,fetchTxHex:Z,targetValue:J}),outputs:[{address:f,value:B},...X?[{address:"",script:await Hy(X),value:0}]:[]]}}var Rf,Cf,I5,W0,v,Cy,k5,bT;var hT=l(()=>{Rf=U(require("@bitcoinerlab/secp256k1")),Cf=require("@psf/bitcoincashjs-lib"),I5=require("@scure/bip32"),W0=require("@scure/bip39"),v=require("@swapkit/helpers"),Cy=require("bitcoinjs-lib"),k5=require("ecpair");OT();QT();uT();bT=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash]});function dy(T){return gy(ST(T))}function I2(T){function f({builder:y,utxos:L}){return L.forEach((G,x)=>{y.sign(x,T,void 0,65,G.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(dy(y))},signTransaction:f}}async function C0(T){let f="phrase"in T?T.phrase:void 0,X="index"in T?T.index||0:0,y=s.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[My],{index:X})),L=f?(await nT(My))({derivationPath:y,phrase:f}):void 0,G=L?I2(L):("signer"in T)?T.signer:void 0;function x(){return Promise.resolve(G?.getAddress())}let{getBalance:Z,getFeeRates:B,broadcastTx:J,...Q}=await iy({chain:My});function q(z,M=!0){return Z(gy(ST(z)))}return{...Q,broadcastTx:J,buildTx:O2,createTransaction:F5,getAddress:x,getAddressFromKeys:E2,getBalance:q,getFeeRates:B,stripPrefix:gy,stripToCashAddress:dy,transfer:k2({broadcastTx:J,getFeeRates:B,signer:G}),validateAddress:by}}async function F5({assetValue:T,recipient:f,memo:X,feeRate:y,sender:L}){if(!by(f))throw new s.SwapKitError("toolbox_utxo_invalid_address",{address:f});let G=Math.ceil(T.getBaseValue("number")+y*7500),x=await Zy(My).getUtxos({address:dy(L),fetchTxHex:!0,targetValue:G}),Z=X?await Hy(X):null,B=[];B.push({address:f,value:T.getBaseValue("number")});let{inputs:J,outputs:Q}=Ry({chain:My,feeRate:y,inputs:x,outputs:B});if(!(J&&Q))throw new s.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:L});let q=await Uy(),z=new zT.TransactionBuilder(q(My));await Promise.all(J.map(async(M)=>{let _=await Zy(My).getRawTx(M.hash);z.addInput(zT.Transaction.fromBuffer(Buffer.from(_,"hex")),M.index)}));for(let M of Q){let _="address"in M&&M.address?M.address:BT(L),R=await Uy(),D=zT.address.toOutputScript(BT(_),R(My));z.addOutput(D,M.value)}if(Z)z.addOutput(Z,0);return{builder:z,utxos:J}}function k2({broadcastTx:T,getFeeRates:f,signer:X}){return async function({recipient:L,assetValue:G,feeOptionKey:x=s.FeeOption.Fast,...Z}){let B=await X?.getAddress();if(!(X&&B))throw new s.SwapKitError("toolbox_utxo_no_signer");if(!L)throw new s.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let J=Z.feeRate||(await f())[x],{builder:Q,utxos:q}=await F5({...Z,assetValue:G,feeRate:J,recipient:L,sender:B}),M=(await X.signTransaction({builder:Q,utxos:q})).toHex();return T(M)}}async function O2({assetValue:T,recipient:f,memo:X,feeRate:y,sender:L,setSigHashType:G}){let x=ST(f);if(!by(x))throw new s.SwapKitError("toolbox_utxo_invalid_address",{address:x});let Z=Math.ceil(T.getBaseValue("number")+y*7500),B=await Zy(My).getUtxos({address:dy(L),fetchTxHex:!1,targetValue:Z}),J=Number(y.toFixed(0)),Q=X?await Hy(X):null,q=[];if(q.push({address:BT(f),value:T.getBaseValue("number")}),Q)q.push({script:Q,value:0});let{inputs:z,outputs:M}=Ry({chain:My,feeRate:J,inputs:B,outputs:q});if(!(z&&M))throw new s.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:L});let _=await Uy(),R=new v5.Psbt({network:_(My)});for(let{hash:D,index:S,witnessUtxo:K}of z)R.addInput({hash:D,index:S,sighashType:G?65:void 0,witnessUtxo:K});for(let D of M){let S="address"in D&&D.address?D.address:BT(L),K=D.script?Q?{script:Q,value:0}:void 0:{address:S,value:D.value};if(K)R.addOutput(K)}return{inputs:z,psbt:R,utxos:B}}function E2(T){let f=T.getAddress(0);return dy(f)}var zT,s,v5,My;var Df=l(()=>{zT=require("@psf/bitcoincashjs-lib"),s=require("@swapkit/helpers"),v5=require("bitcoinjs-lib");QT();hT();uT();My=s.Chain.BitcoinCash});function V5(){return Ny.networks.zcash}function $5(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
- `,pubKeyHash:28,scriptHash:28,wif:128}}function w2({phrase:T,derivationPath:f}){let X=I0.mnemonicToSeedSync(T),L=D0.HDKey.fromMasterSeed(X).derive(f);if(!L.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let G=$5(),x=Ny.ECPair.fromPrivateKey(Buffer.from(L.privateKey),{network:G}),Z=Ny.crypto.hash160(x.publicKey),{isStagenet:B}=r.SKConfig.get("envs"),J=B?Buffer.from([29,37]):Buffer.from([28,184]),Q=Buffer.concat([J,Z]),q=S5.default.encode(Q);return{getAddress:()=>Promise.resolve(q),signTransaction:(z)=>{let M=z.signAllInputs(x);return Promise.resolve(M)}}}function P2({inputs:T,outputs:f,psbt:X,sender:y,compiledMemo:L}){for(let G of T){let x=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},Z=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};X.addInput({hash:G.hash,index:G.index,...x,...Z})}for(let G of f){let x="address"in G&&G.address?G.address:y,Z=G.script;if(Z&&!L)continue;let B=Z?{script:L,value:0n}:{script:Ny.address.toOutputScript(x,V5()),value:BigInt(G.value)};X.addOutput(B)}return{inputs:T,psbt:X}}async function A5(T){let{assetValue:f,recipient:X,memo:y,feeRate:L,sender:G,fetchTxHex:x}=T,Z=y?Hy(y):null,B=await Zy(r.Chain.Zcash).getUtxos({address:G,fetchTxHex:x!==!1}),J=[{address:X,value:Number(f.getBaseValue("string"))},...Z?[{script:Z,value:0}]:[]],{inputs:Q,outputs:q}=Ry({chain:r.Chain.Zcash,changeAddress:G,feeRate:L,inputs:B,outputs:J});if(!(Q&&q))throw new r.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:G});let z=Ny.bitgo.createPsbtForNetwork({network:V5()},{version:455}),_=3268858036,R=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),D=Buffer.allocUnsafe(4);D.writeUInt32LE(_>>>0,0),z.addUnknownKeyValToGlobal({key:R,value:D});let{psbt:S,inputs:K}=await P2({compiledMemo:Z,inputs:Q,outputs:q,psbt:z,sender:G});return{inputs:K,outputs:q,psbt:S}}async function k0(T){let f=await _T.match(T).with({signer:_T.P.not(_T.P.nullish)},({signer:x})=>Promise.resolve(x)).with({phrase:_T.P.string},({phrase:x,derivationPath:Z,index:B=0})=>{let J=Z||r.NetworkDerivationPath[r.Chain.Zcash]||[44,133,0,0,0],Q=r.updateDerivationPath(J,{index:B}),q=r.derivationPathToString(Q);return w2({derivationPath:q,phrase:x})}).otherwise(()=>Promise.resolve(void 0)),X=await iy({chain:r.Chain.Zcash,signer:f});async function y({recipient:x,assetValue:Z,feeOptionKey:B=r.FeeOption.Fast,...J}){let Q=await f?.getAddress();if(!(f&&Q))throw new r.SwapKitError("toolbox_utxo_no_signer");let q=J.feeRate||(await X.getFeeRates())[B],{psbt:z}=await A5({...J,assetValue:Z,feeRate:q,recipient:x,sender:Q}),M=await f.signTransaction(z);return M.finalizeAllInputs(),X.broadcastTx(M.extractTransaction().toHex())}function L({phrase:x,derivationPath:Z="m/44'/133'/0'/0/0"}){let B=I0.mnemonicToSeedSync(x),Q=D0.HDKey.fromMasterSeed(B).derive(Z);if(!Q.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let q=$5();return Ny.ECPair.fromPrivateKey(Buffer.from(Q.privateKey),{network:q})}function G({phrase:x,derivationPath:Z="m/44'/133'/0'/0/0"}){return L({derivationPath:Z,phrase:x}).toWIF()}return{...X,createKeysForPath:L,createTransaction:A5,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:qT}}var Ny,D0,I0,r,S5,_T;var O0=l(()=>{Ny=require("@bitgo/utxo-lib"),D0=require("@scure/bip32"),I0=require("@scure/bip39"),r=require("@swapkit/helpers"),S5=U(require("bs58check")),_T=require("ts-pattern");QT();hT();uT()});async function l2(T,f){switch(T){case Ey.Chain.BitcoinCash:return await C0(f||{});case Ey.Chain.Zcash:return await k0(f);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await iy({chain:T,...f});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var K5=l(()=>{Ey=require("@swapkit/helpers");Df();hT();O0();Df();uT()});var E0={};Qy(E0,{validateZcashAddress:()=>qT,toLegacyAddress:()=>BT,toCashAddress:()=>ST,stripToCashAddress:()=>dy,stripPrefix:()=>gy,nonSegwitChains:()=>bT,isValidAddress:()=>Y0,getUtxoToolbox:()=>l2,getUtxoNetwork:()=>Uy,getUtxoApi:()=>Zy,getUTXOAddressValidator:()=>w5,getScriptTypeForAddress:()=>$T,getOutputSize:()=>KT,getInputSize:()=>uy,getDustThreshold:()=>Hf,getCreateKeysForPath:()=>nT,detectAddressNetwork:()=>U0,createZcashToolbox:()=>k0,createUTXOToolbox:()=>iy,createCustomUtxoApi:()=>q2,createBCHToolbox:()=>C0,compileMemo:()=>Hy,calculateTxSize:()=>JT,bchValidateAddress:()=>by,addressFromKeysGetter:()=>R0,addInputsAndOutputs:()=>O5,accumulative:()=>Ry,UtxoNetwork:()=>N0,UTXOScriptType:()=>Uf,TX_OVERHEAD:()=>Yf,OutputSizes:()=>VT,OP_RETURN_OVERHEAD:()=>R5,MIN_TX_FEE:()=>Y2,InputSizes:()=>Mf});module.exports=Yy(E0);var w0=l(()=>{QT();K5();Df();hT();O0()});async function v2(T){try{let f=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${T}`);if(!f.ok)return null;return await f.json()}catch{return null}}async function F2(T){let f=await ry(),{PublicKey:X}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),L=new X(T),G=[],x=await f.getBalance(L);if(x>0){let{baseDecimal:B}=u.getChainConfig(u.Chain.Solana);G.push(u.AssetValue.from({chain:u.Chain.Solana,fromBaseDecimal:B,value:x}))}let Z=await f.getParsedTokenAccountsByOwner(L,{programId:y});for(let{account:B}of Z.value){let J=B.data.parsed.info,Q=J.mint,q=J.tokenAmount.amount;if(Number(q)===0)continue;let z=await v2(Q),M=z?.symbol||"UNKNOWN",_=z?.decimals||J.tokenAmount.decimals;G.push(u.AssetValue.from({asset:`${u.Chain.Solana}.${M}-${Q}`,fromBaseDecimal:_,value:q}))}return G}async function v0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let X=new T(f);return T.isOnCurve(X.toBytes())}catch(X){return!1}}}async function A2(T){let f=T&&"index"in T?T.index||0:0,X=u.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:u.updateDerivationPath(u.NetworkDerivationPath[u.Chain.Solana],{index:f})),y=await pT.match(T).with({phrase:pT.P.string},({phrase:G})=>l0({derivationPath:X,phrase:G})).with({signer:pT.P.any},({signer:G})=>G).otherwise(()=>{return});function L(){return y?.publicKey?u5(y.publicKey):""}return{broadcastTransaction:P0(ry),createKeysForPath:l0,createTransaction:F0(ry),createTransactionFromInstructions:K2,estimateTransactionFee:S2(ry),getAddress:L,getAddressFromPubKey:u5,getAddressValidator:v0,getBalance:(G)=>{let x=G||L();if(!x)throw new u.SwapKitError("core_wallet_connection_not_found");return F2(x)},getConnection:ry,getPubkeyFromAddress:A0,signTransaction:b2(ry,y),transfer:u2(ry,y)}}function S2(T){return async({recipient:f,assetValue:X,memo:y,isProgramDerivedAddress:L,sender:G})=>{let x=await T(),B=(await F0(T)({assetValue:X,isProgramDerivedAddress:L,memo:y,recipient:f,sender:G})).compileMessage(),J=await x.getFeeForMessage(B);if(J.value===null)throw new u.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Q}=u.getChainConfig(u.Chain.Solana);return u.AssetValue.from({chain:u.Chain.Solana,fromBaseDecimal:Q,value:J.value})}}async function ry(){let{Connection:T}=await import("@solana/web3.js"),f=await u.getRPCUrl(u.Chain.Solana);return new T(f,"confirmed")}function V2(T){return async({assetValue:f,recipient:X,sender:y,isProgramDerivedAddress:L})=>{let G=await T(),x=await A0(y);if(f.isGasAsset){let{Transaction:Z,SystemProgram:B,PublicKey:J}=await import("@solana/web3.js");return new Z().add(B.transfer({fromPubkey:x,lamports:f.getBaseValue("number"),toPubkey:new J(X)}))}if(f.address)return $2({amount:f.getBaseValue("number"),connection:G,decimals:f.decimal,from:x,isProgramDerivedAddress:L,recipient:X,tokenAddress:f.address});return}}async function $2({tokenAddress:T,recipient:f,from:X,connection:y,amount:L,decimals:G,isProgramDerivedAddress:x}){let{getAssociatedTokenAddress:Z,getAccount:B,createAssociatedTokenAccountInstruction:J,createTransferCheckedInstruction:Q}=await import("@solana/spl-token"),{Transaction:q,PublicKey:z}=await import("@solana/web3.js"),M=new q,_=new z(T),R=await Z(_,X),D=new z(f),S=await Z(_,D,x),K=!1;try{await B(y,S),K=!0}catch(d){}if(!K)M.add(J(X,S,D,_));return M.add(Q(R,_,S,X,L,G)),M}function F0(T){return async({recipient:f,assetValue:X,memo:y,isProgramDerivedAddress:L,sender:G})=>{let{createMemoInstruction:x}=await import("@solana/spl-memo"),Z=await A0(G),B=await v0();if(!(L||B(f)))throw new u.SwapKitError("core_transaction_invalid_recipient_address");let J=await T(),Q=await V2(T)({assetValue:X,isProgramDerivedAddress:L,recipient:f,sender:G});if(!Q)throw new u.SwapKitError("core_transaction_invalid_sender_address");if(y)Q.add(x(y));let q=await J.getLatestBlockhash();return Q.recentBlockhash=q.blockhash,Q.feePayer=Z,Q}}async function K2({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),X=new f().add(...T);if(!X)throw new u.SwapKitError("core_transaction_invalid_sender_address");return X}function u2(T,f){return async({recipient:X,assetValue:y,memo:L,isProgramDerivedAddress:G})=>{if(!f)throw new u.SwapKitError("core_transaction_invalid_sender_address");let x=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),Z=await F0(T)({assetValue:y,isProgramDerivedAddress:G,memo:L,recipient:X,sender:x});if("signTransaction"in f){let B=await f.signTransaction(Z);return P0(T)(B)}return Z.sign(f),P0(T)(Z)}}function P0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function b2(T,f){return async(X)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new u.SwapKitError("toolbox_solana_no_signer");if(!(X instanceof y)){let G=await(await T()).getLatestBlockhash();X.recentBlockhash=G.blockhash,X.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(X);return await X.sign([f]),X}}async function l0({phrase:T,derivationPath:f=u.DerivationPath.SOL}){let{HDKey:X}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:L}=await import("@solana/web3.js"),G=y(T),x=X.fromMasterSeed(G);return L.fromSeed(x.derive(f,!0).privateKey)}function u5(T){return T.toString()}async function A0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var u,pT;var b5=l(()=>{u=require("@swapkit/helpers"),pT=require("ts-pattern")});var S0={};Qy(S0,{getSolanaToolbox:()=>A2,getSolanaAddressValidator:()=>v0,createKeysForPath:()=>l0});module.exports=Yy(S0);var V0=l(()=>{b5()});async function kf(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let X=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&X.test(f)}}}async function Of(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:X}=await import("near-api-js"),y=T.index||0,L=T.derivationPath?If.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=f(T.phrase,L),x=X.fromString(G);return h5(x)}async function $0(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),X=f.fromString(T);return h5(X)}function h5(T){return new j5(T)}async function Ef(T,f){let y=(await T.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((Z)=>Z.access_key.permission==="FullAccess");if(!y)throw new If.SwapKitError("toolbox_near_invalid_address");let{utils:L}=await import("near-api-js"),G=L.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:G}}var If,n5,j5;var K0=l(()=>{If=require("@swapkit/helpers"),n5=require("near-api-js");j5=class j5 extends n5.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function u0(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function b0(T){return"contractId"in T&&"methodName"in T}function n0(T){return"actions"in T}function j0(T){return"newAccountId"in T}function h0(T){return"contractCode"in T}function p0(T){return"customEstimator"in T}function o0(T){let f=0;for(let X of T)switch(X.enum){case"transfer":f+=Number(yy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(yy.CONTRACT_CALL);break;case"createAccount":f+=Number(yy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(yy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(yy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(yy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(yy.STAKE);break;default:f+=Number(yy.CONTRACT_CALL)}return f.toString()}function m0(T){if(T==="ft_transfer"||T==="ft_transfer_call")return yy.TOKEN_TRANSFER;if(T==="storage_deposit")return yy.STORAGE_DEPOSIT;return yy.CONTRACT_CALL}function n2(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function j2(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var yy;var c0=l(()=>{yy={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function wf({account:T,contractId:f,viewMethods:X,changeMethods:y}){let{Contract:L}=await import("near-api-js");return new L(T,f,{changeMethods:y,useLocalViewExecution:!0,viewMethods:X})}async function t0({contractId:T,account:f}){let X=(await import("bn.js")).default,y=await wf({account:f,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),L=async(G)=>{if(!await y.storage_balance_of({account_id:G})){let B=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:G},new X("100000000000000"),new X(B))}};return{balanceOf:(G)=>y.ft_balance_of({account_id:G}),contract:y,ensureStorage:L,metadata:()=>y.ft_metadata(),storageBalanceOf:(G)=>y.storage_balance_of({account_id:G}),storageDeposit:(G,x)=>y.storage_deposit({account_id:G},new X("100000000000000"),new X(x||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(G,x,Z)=>{return await L(G),y.ft_transfer({amount:x,memo:Z,receiver_id:G},new X("100000000000000"),new X("1"))},transferCall:async(G,x,Z,B)=>{return await L(G),y.ft_transfer_call({amount:x,memo:B,msg:Z,receiver_id:G},new X("100000000000000"),new X("1"))}}}async function h2(T){let{P:f,match:X}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),L=await X(T).with({phrase:f.string},async(N)=>{return await Of(N)}).with({signer:f.any},({signer:N})=>N).otherwise(()=>{return}),G=await o.getRPCUrl(o.Chain.Near),x=new y.JsonRpcProvider({url:G});async function Z(N){let{Account:W}=await import("near-api-js"),I=N||await B();return new W(I,x,L)}async function B(){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");return await L.getAddress()}async function J(N){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");let W=await Q({...N,sender:await B()});return R(await _(W))}async function Q(N){let{recipient:W,assetValue:I,memo:O,attachedDeposit:F,sender:V,functionCall:h}=N,i=await kf();if(!i(W))throw new o.SwapKitError("toolbox_near_invalid_address",{recipient:W});if(!i(V))throw new o.SwapKitError("toolbox_near_invalid_address",{signerId:V});if(h)return z({...h,sender:V});if(!I.isGasAsset){let hy=I.address;if(!hy)throw new o.SwapKitError("toolbox_near_missing_contract_address");return z({args:{amount:I.getBaseValue("string"),memo:O||null,receiver_id:W},attachedDeposit:F||"1",contractId:hy,gas:"250000000000000",methodName:"ft_transfer",sender:V})}let{publicKey:b,nonce:By}=await Ef(x,V),Jy=I.getBaseValue("bigint"),{transactions:fy,utils:Dy}=await import("near-api-js"),jy=[fy.transfer(Jy)];if(O&&F)jy.push(fy.functionCall("memo",{memo:O},BigInt("250000000000000"),BigInt(F)));let cT=await x.block({finality:"final"}),Pf=Dy.serialize.base_decode(cT.header.hash);return fy.createTransaction(V,b,W,By+1,jy,Pf)}async function q(N){let{SCHEMA:W}=await import("near-api-js/lib/transaction"),{utils:I}=await import("near-api-js"),O=I.serialize.serialize(W.Transaction,N);return Buffer.from(O).toString("base64")}async function z(N){let{sender:W}=N,{publicKey:I,nonce:O}=await Ef(x,W),{transactions:F,utils:V}=await import("near-api-js"),h=await x.block({finality:"final"}),i=V.serialize.base_decode(h.header.hash),b=[F.functionCall(N.methodName,Buffer.from(JSON.stringify(N.args)),BigInt(N.gas),BigInt(N.attachedDeposit))];return F.createTransaction(W,I,N.contractId,O+1,b,i)}async function M(N){let{transactions:W}=await import("near-api-js");return W.functionCall(N.methodName,Buffer.from(JSON.stringify(N.args)),BigInt(N.gas),BigInt(N.attachedDeposit))}async function _(N){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");let[W,I]=await L.signTransaction(N);return I}async function R(N){return(await x.sendTransaction(N)).transaction.hash}async function D(N){if("assetValue"in N){let F=BigInt("115123062500")+BigInt("108059500000"),V=await S(),h=F*BigInt(V.toString()),{baseDecimal:i}=o.getChainConfig(o.Chain.Near);return o.AssetValue.from({chain:o.Chain.Near,fromBaseDecimal:i,value:h.toString()})}let W=L?await Z():void 0;return Ly(N,W)}async function S(){try{return await x.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function K(N,W,I){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");let O=await Z(),{utils:F}=await import("near-api-js"),V=F.format.parseNearAmount(I)||"0";return(await O.createAccount(N,F.PublicKey.fromString(W),BigInt(V))).transaction.hash}async function d(N){try{if(!L)throw new o.SwapKitError("toolbox_near_no_signer");let{transactions:W}=await import("near-api-js"),{contractId:I,methodName:O,args:F,deposit:V}=N,h=await Z(),i=await Ly({args:F||{},contractId:I,methodName:O}),b=W.functionCall(O,F||{},i.getBaseValue("bigint"),BigInt(V||"1"));return(await h.signAndSendTransaction({actions:[b],receiverId:I})).transaction_outcome.id}catch(W){throw new o.SwapKitError("toolbox_near_transfer_failed",{error:W})}}async function t(N){let W=await Z();return wf({account:W,changeMethods:N.changeMethods,contractId:N.contractId,viewMethods:N.viewMethods})}async function Ty(N){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");if(N.actions.length===0)throw new o.SwapKitError("toolbox_near_empty_batch");return(await(await Z()).signAndSendTransaction({actions:N.actions,receiverId:N.receiverId})).transaction.hash}async function e(N){let W=await Z();return t0({account:W,contractId:N})}async function Ly(N,W){let{baseDecimal:I}=o.getChainConfig(o.Chain.Near),O=await X(N).when(u0,()=>yy.SIMPLE_TRANSFER).when(b0,(h)=>m0(h.methodName)).when(n0,(h)=>o0(h.actions)).when(j0,()=>yy.ACCOUNT_CREATION).when(h0,()=>yy.CONTRACT_DEPLOYMENT).when(p0,(h)=>{if(!W)throw new o.SwapKitError("toolbox_near_no_account");return h.customEstimator(W)}).otherwise(()=>{throw new o.SwapKitError("toolbox_near_invalid_gas_params")}),V=BigInt(O)*BigInt(1000000000000);return o.AssetValue.from({chain:o.Chain.Near,fromBaseDecimal:I,value:V})}async function mT(){try{return(await x.gasPrice(null)).gas_price||"100000000"}catch(N){return"100000000"}}return{broadcastTransaction:R,callFunction:d,createAction:M,createContract:t,createContractFunctionCall:z,createSubAccount:K,createTransaction:Q,estimateGas:Ly,estimateTransactionFee:D,executeBatchTransaction:Ty,getAddress:B,getBalance:ay(o.Chain.Near),getGasPrice:mT,getPublicKey:async()=>L?(await L.getPublicKey()).toString():"",getSignerFromPhrase:(N)=>Of(N),getSignerFromPrivateKey:$0,nep141:e,provider:x,serializeTransaction:q,signTransaction:_,transfer:J,validateAddress:await kf()}}var o;var g0=l(()=>{o=require("@swapkit/helpers");OT();K0();c0()});var p5=l(()=>{g0()});var i0={};Qy(i0,{tgasToGas:()=>n2,isSimpleTransfer:()=>u0,isCustomEstimator:()=>p0,isContractDeployment:()=>h0,isContractCall:()=>b0,isBatchTransaction:()=>n0,isAccountCreation:()=>j0,getValidateNearAddress:()=>kf,getNearToolbox:()=>h2,getNearSignerFromPrivateKey:()=>$0,getNearSignerFromPhrase:()=>Of,getFullAccessPublicKey:()=>Ef,getContractMethodGas:()=>m0,gasToTGas:()=>j2,estimateBatchGas:()=>o0,createNearContract:()=>wf,createNEP141Token:()=>t0,GAS_COSTS:()=>yy});module.exports=Yy(i0);var d0=l(()=>{K0();c0();g0();p5()});var a0={};Qy(a0,{rippleValidateAddress:()=>r0,hashes:()=>m5.hashes,getRippleToolbox:()=>o2});module.exports=Yy(a0);function o5(T){let f=ny.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(X)=>Promise.resolve(f.sign(X))}}function r0(T){return ny.isValidAddress(T)}var j,ny,m5,p2,o2=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?o5(T.phrase):void 0,X=await j.getRPCUrl(j.Chain.Ripple);if(!X)throw new j.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:j.Chain.Ripple}});let y=new ny.Client(X);await y.connect();let L=()=>{if(!f)throw new j.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},G=async(z)=>{let M=z||await L(),{baseDecimal:_}=j.getChainConfig(j.Chain.Ripple);try{let D=(await y.request({account:M,command:"account_info"})).result.account_data.Balance;return[j.AssetValue.from({chain:j.Chain.Ripple,fromBaseDecimal:_,value:D})]}catch(R){if(R.data.error_code===p2.ACCOUNT_NOT_FOUND)return[j.AssetValue.from({chain:j.Chain.Ripple,value:0})];throw new j.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:M,error:R}})}},x=async()=>{let M=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:_}=j.getChainConfig(j.Chain.Ripple);return j.AssetValue.from({chain:j.Chain.Ripple,fromBaseDecimal:_,value:j.SwapKitNumber.fromBigInt(BigInt(M),_)})},Z=async({assetValue:z,recipient:M,memo:_,sender:R})=>{if(!r0(M))throw new j.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=R||await L();if(!z.isGasAsset||z.chain!==j.Chain.Ripple)throw new j.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:z.toString()}});let S={Account:D,Amount:ny.xrpToDrops(z.getValue("string")),Destination:M,TransactionType:"Payment"};if(_)S.Memos=[{Memo:{MemoData:Buffer.from(_).toString("hex")}}];return await y.autofill(S)},B=(z)=>{if(!f)throw new j.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(z)},J=async(z)=>{let _=(await y.submitAndWait(z)).result;if(_.validated)return _.hash;throw new j.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:j.Chain.Ripple}})};return{broadcastTransaction:J,createSigner:o5,createTransaction:Z,disconnect:()=>y.disconnect(),estimateTransactionFee:x,getAddress:L,getBalance:G,signer:f,signTransaction:B,transfer:async(z)=>{if(!f)throw new j.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let M=await f.getAddress(),_=await Z({...z,sender:M}),R=await B(_);return J(R.tx_blob)},validateAddress:r0}};var s0=l(()=>{j=require("@swapkit/helpers"),ny=require("xrpl"),m5=require("xrpl"),p2={ACCOUNT_NOT_FOUND:19}});var e0={};Qy(e0,{radixValidateAddress:()=>c5,RadixToolbox:()=>i2});module.exports=Yy(e0);function c5(T){return T.startsWith("account_rdx1")&&T.length===66}function m2({networkApi:T}){return async function(X){let y=await c2({address:X,networkApi:T});return t2({networkApi:T,resources:y})}}async function c2({address:T,networkApi:f}){let X=!0,y,L=[],G=await g2(f);while(X){let x={address:T,at_ledger_state:{state_version:G},cursor:y,limit_per_page:100},Z=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:x});if(L=L.concat(Z.items),Z.next_cursor)y=Z.next_cursor;else X=!1}return L}async function t2({resources:T,networkApi:f}){let X=[],y=50,L=[];for(let G=0;G<T.length;G+=50)L.push(T.slice(G,G+50));for(let G of L){let x=G.map((J)=>J.resource_address),Z=await f.state.getEntityDetailsVaultAggregated(x),B=new Map;for(let J of Z)if(J.details!==void 0){let Q=J.metadata?.items.find((z)=>z.key==="symbol"),q=Q?.value.typed.type==="String"?Q.value.typed.value:"?";if(J.details.type==="FungibleResource")B.set(J.address,{decimals:J.details.divisibility,symbol:q})}for(let J of G)if(J.aggregation_level==="Global"){let Q=B.get(J.resource_address)||{decimals:0,symbol:"?"},q=wy.AssetValue.from({asset:Q.symbol!==wy.Chain.Radix?`${wy.Chain.Radix}.${Q.symbol}-${J.resource_address}`:"XRD.XRD",value:J.amount});X.push(q)}}return X}function g2(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var wy,i2=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:X}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||wy.SKConfig.get("integrations").radix,L=f({...y,networkId:y.network?.networkId||1}),G=X.initialize(L.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:m2({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new wy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c5}};var y1=l(()=>{wy=require("@swapkit/helpers")});var MT;var T1=l(()=>{MT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function g5(T){let f=await import("tronweb"),X=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${d2}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let L=await y.json();if(!(L.success&&L.data)||L.data.length===0)throw Error("Invalid response from TronGrid API");let G;try{G=X.address.toHex(T).toLowerCase()}catch{G=T.toLowerCase()}let x=L.data.find((Z)=>{return Z.address.toLowerCase()===G});if(!x)return;return{balance:x.balance,trc20:x.trc20||[]}}catch(y){throw new t5.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var t5,d2="https://api.trongrid.io";var i5=l(()=>{t5=require("@swapkit/helpers")});async function f1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(X)=>{return f.isAddress(X)}}async function r5({phrase:T,derivationPath:f,index:X}){let y=f||w.derivationPathToString(w.updateDerivationPath(w.NetworkDerivationPath[w.Chain.Tron],{index:X||0})),{HDKey:L}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),x=G(T),B=L.fromMasterSeed(x).derive(y);if(!B.privateKey)throw new w.SwapKitError("toolbox_tron_no_signer");return Buffer.from(B.privateKey).toString("hex")}async function yL({phrase:T,derivationPath:f,tronWeb:X}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),G=L(T),Z=y.fromMasterSeed(G).derive(f);if(!Z.privateKey)throw new w.SwapKitError("toolbox_tron_no_signer");let B=Buffer.from(Z.privateKey).toString("hex");X.setPrivateKey(B);let J=X?.address.fromPrivateKey(B);return{getAddress:()=>Promise.resolve(typeof J==="string"?J:""),signTransaction:async(Q)=>{return await X.trx.sign(Q,B)}}}var w,oT,r2=268,a2=13000,s2=345,d5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",e2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",a5=async(T={})=>{let f=await import("tronweb"),X=f.TronWeb??f.default?.TronWeb,y=await w.getRPCUrl(w.Chain.Tron),L=void 0,G=new X({fullHost:y,headers:void 0}),x="index"in T?T.index||0:0,Z=w.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:w.updateDerivationPath(w.NetworkDerivationPath[w.Chain.Tron],{index:x})),B=await oT.match(T).with({phrase:oT.P.string},async({phrase:N})=>yL({derivationPath:Z,phrase:N,tronWeb:G})).with({signer:oT.P.any},({signer:N})=>Promise.resolve(N)).otherwise(()=>Promise.resolve(void 0)),J=async()=>{if(!B)throw new w.SwapKitError("toolbox_tron_no_signer");return await B.getAddress()},Q=()=>{return 1e8},q=async()=>{try{let N=await G.trx.getChainParameters(),W={};for(let I of N)W[I.key]=I.value;return{bandwidthFee:W.getTransactionFee||1000,createAccountFee:W.getCreateAccountFee||1e5,energyFee:W.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},z=async(N)=>{try{let W=await G.trx.getAccount(N);return W&&Object.keys(W).length>0}catch{return!1}},M=async(N)=>{try{let W=await G.trx.getAccountResources(N);return{bandwidth:{free:W.freeNetLimit-W.freeNetUsed,total:W.NetLimit||0,used:W.NetUsed||0},energy:{total:W.EnergyLimit||0,used:W.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},_=async(N,W)=>{try{let I=G.contract(MT,W);if(!I.methods?.balanceOf)return 0n;let[O]=await I.methods.balanceOf(N).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(I){return console.warn(`balanceOf() failed for ${W}:`,I),0n}},R=async(N,W)=>{try{G.setAddress(W);let I=G.contract(MT,N),[O,F]=await Promise.all([I.symbol().call().catch(()=>"UNKNOWN"),I.decimals().call().catch(()=>"18")]);return{decimals:Number(F??18),symbol:O??"UNKNOWN"}}catch(I){return w.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${N}: ${I instanceof Error?I.message:I}`}),null}},D=async(N,W=!0)=>{let I=[w.AssetValue.from({chain:w.Chain.Tron})];try{let O=await g5(N);if(O){let F=[];F.push(w.AssetValue.from({chain:w.Chain.Tron,fromBaseDecimal:6,value:O.balance}));for(let V of O.trc20){let[h,i]=Object.entries(V)[0]||[];if(!(h&&i))continue;let b=await R(h,N);if(!b)continue;F.push(w.AssetValue.from({asset:`TRON.${b.symbol}-${h}`,fromBaseDecimal:b.decimals,value:BigInt(i||0)}))}return F}return I}catch(O){w.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${O instanceof Error?O.message:O}`});let F=[],V=await G.trx.getBalance(N);if(V&&Number(V)>0)F.push(w.AssetValue.from({chain:w.Chain.Tron,fromBaseDecimal:6,value:V}));let h=await _(N,d5);if(h)F.push(w.AssetValue.from({asset:`TRON.USDT-${d5}`,fromBaseDecimal:6,value:h}));return F}},S=async({recipient:N,assetValue:W,memo:I})=>{if(!B)throw new w.SwapKitError("toolbox_tron_no_signer");let O=await J();if(G.setAddress(O),W.isGasAsset){let b=await G.transactionBuilder.sendTrx(N,W.getBaseValue("number"),O);if(I){let fy=await G.transactionBuilder.addUpdateData(b,I,"utf8"),Dy=await B.signTransaction(fy),{txid:jy}=await G.trx.sendRawTransaction(Dy);return jy}let By=await B.signTransaction(b),{txid:Jy}=await G.trx.sendRawTransaction(By);return Jy}let V=await d({assetValue:W,memo:I,recipient:N,sender:O}),h=await B.signTransaction(V),{txid:i}=await G.trx.sendRawTransaction(h);if(!i)throw new w.SwapKitError("toolbox_tron_token_transfer_failed");return i},K=async({assetValue:N,recipient:W,sender:I})=>{let O=N.isGasAsset;try{let F=I?I:B?await J():void 0;if(!F)return O?w.AssetValue.from({chain:w.Chain.Tron,fromBaseDecimal:0,value:0.1}):w.AssetValue.from({chain:w.Chain.Tron,fromBaseDecimal:0,value:15});let V=await q(),i=await z(W)?0:V.createAccountFee,b=await M(F);if(O){let hy=r2,x1=b.bandwidth.free+(b.bandwidth.total-b.bandwidth.used),Z1=0;if(hy>x1)Z1=(hy-x1)*V.bandwidthFee;let e5=i+Z1;return w.AssetValue.from({chain:w.Chain.Tron,fromBaseDecimal:w.BaseDecimal.TRON,value:e5})}let By=s2,Jy=a2,fy=b.bandwidth.free+(b.bandwidth.total-b.bandwidth.used),Dy=b.energy.total-b.energy.used,jy=0;if(By>fy)jy=(By-fy)*V.bandwidthFee;let cT=0;if(Jy>Dy)cT=(Jy-Dy)*V.energyFee;let Pf=i+jy+cT;return w.AssetValue.from({chain:w.Chain.Tron,fromBaseDecimal:w.BaseDecimal.TRON,value:Pf})}catch(F){throw w.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${F instanceof Error?F.message:F}`}),new w.SwapKitError("toolbox_tron_fee_estimation_failed",{error:F})}},d=async(N)=>{let{recipient:W,assetValue:I,memo:O,sender:F,expiration:V}=N;if(I.isGasAsset){let b=await G.transactionBuilder.sendTrx(W,I.getBaseValue("number"),F);if(O)return G.transactionBuilder.addUpdateData(b,O,"utf8");if(V)G.transactionBuilder.extendExpiration(b,V);return b}G.setAddress(F);let i=I.address;if(!i)throw new w.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:I.toString()});try{let By=[{type:"address",value:W},{type:"uint256",value:I.getBaseValue("string")}],Jy={callValue:0,feeLimit:Q()},fy=await G.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",Jy,By,F);if(O)return G.transactionBuilder.addUpdateData(fy.transaction,O,"utf8");if(V)G.transactionBuilder.extendExpiration(fy.transaction,V);return fy.transaction}catch(b){throw new w.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:b instanceof Error?b.message:String(b)})}},t=async(N)=>{if(!B)throw new w.SwapKitError("toolbox_tron_no_signer");return await B.signTransaction(N)},Ty=async(N)=>{let{txid:W}=await G.trx.sendRawTransaction(N);return W},e=async({assetAddress:N,spenderAddress:W,from:I})=>{try{let O=G.contract(MT,N);if(!O.methods?.allowance)throw new w.SwapKitError("toolbox_tron_invalid_token_contract");let[F]=await O.methods.allowance(I,W).call();return F?typeof F==="bigint"?F:BigInt(F):0n}catch(O){throw new w.SwapKitError("toolbox_tron_allowance_check_failed",{error:O})}};return{approve:async({assetAddress:N,spenderAddress:W,amount:I,from:O})=>{if(!B)throw new w.SwapKitError("toolbox_tron_no_signer");let F=O||await J(),V=I!==void 0?BigInt(I).toString():e2,h="approve(address,uint256)",i=[{type:"address",value:W},{type:"uint256",value:V}],By={callValue:0,feeLimit:Q()};try{let{transaction:Jy}=await G.transactionBuilder.triggerSmartContract(N,h,By,i,F),fy=await B.signTransaction(Jy),{txid:Dy}=await G.trx.sendRawTransaction(fy);if(!Dy)throw new w.SwapKitError("toolbox_tron_approve_failed");return Dy}catch(Jy){throw new w.SwapKitError("toolbox_tron_approve_failed",{error:Jy})}},broadcastTransaction:Ty,createTransaction:d,estimateTransactionFee:K,getAddress:J,getApprovedAmount:e,getBalance:D,isApproved:async({assetAddress:N,spenderAddress:W,from:I,amount:O})=>{let F=await e({assetAddress:N,from:I,spenderAddress:W});if(!O)return F>0n;let V=BigInt(O);return F>=V},signTransaction:t,transfer:S,tronWeb:G,validateAddress:await f1()}};var s5=l(()=>{w=require("@swapkit/helpers"),oT=require("ts-pattern");T1();i5()});var G1={};Qy(G1,{trc20ABI:()=>MT,getTronPrivateKeyFromMnemonic:()=>r5,getTronAddressValidator:()=>f1,createTronToolbox:()=>a5});module.exports=Yy(G1);var L1=l(()=>{T1();s5()});var GL={};Qy(GL,{getToolbox:()=>X1,getFeeEstimator:()=>fL,getAddressValidator:()=>TL});module.exports=Yy(GL);var H=require("@swapkit/helpers");async function TL(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (rT(),dT)),{evmValidateAddress:X}=await Promise.resolve().then(() => (y5(),e1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (Q0(),J0)),{getUTXOAddressValidator:L}=await Promise.resolve().then(() => (w0(),E0)),{getSolanaAddressValidator:G}=await Promise.resolve().then(() => (V0(),S0)),{getValidateNearAddress:x}=await Promise.resolve().then(() => (d0(),i0)),{rippleValidateAddress:Z}=await Promise.resolve().then(() => (s0(),a0)),{radixValidateAddress:B}=await Promise.resolve().then(() => (y1(),e0)),{getTronAddressValidator:J}=await Promise.resolve().then(() => (L1(),G1)),Q=await G(),q=await L(),z=await J(),M=await x();return function({address:R,chain:D}){return T(D).with(...H.EVMChains,()=>X({address:R})).with(...H.UTXOChains,()=>q({address:R,chain:D})).with(H.Chain.Cosmos,H.Chain.Kujira,H.Chain.Noble,H.Chain.Maya,H.Chain.THORChain,()=>f({address:R,chain:D})).with(H.Chain.Chainflip,H.Chain.Polkadot,()=>y({address:R,chain:D})).with(H.Chain.Radix,()=>B(R)).with(H.Chain.Near,()=>M(R)).with(H.Chain.Ripple,()=>Z(R)).with(H.Chain.Solana,()=>Q(R)).with(H.Chain.Tron,()=>z(R)).otherwise(()=>!1)}}function fL(T){return async function(X){let{match:y}=await import("ts-pattern");return y(T).returnType().with(H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Avalanche,H.Chain.Base,H.Chain.Berachain,H.Chain.BinanceSmartChain,H.Chain.Ethereum,H.Chain.Gnosis,H.Chain.Optimism,H.Chain.Polygon,async(L)=>{let G=await X1(L),x=await G.createTransaction(X);return G.estimateTransactionFee({...x,chain:L,feeOption:X.feeOptionKey||H.FeeOption.Fast})}).with(H.Chain.Bitcoin,H.Chain.BitcoinCash,H.Chain.Dogecoin,H.Chain.Dash,H.Chain.Litecoin,H.Chain.Polkadot,H.Chain.Solana,H.Chain.Ripple,H.Chain.Tron,H.Chain.Near,async(L)=>{return(await X1(L)).estimateTransactionFee(X)}).with(H.Chain.THORChain,H.Chain.Maya,H.Chain.Kujira,H.Chain.Noble,H.Chain.Cosmos,async()=>{let{estimateTransactionFee:L}=await Promise.resolve().then(() => (rT(),dT));return L(X)}).otherwise(async()=>H.AssetValue.from({chain:T}))}}async function X1(T,f){let{match:X}=await import("ts-pattern");return X(T).returnType().with(H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Avalanche,H.Chain.Base,H.Chain.Berachain,H.Chain.BinanceSmartChain,H.Chain.Ethereum,H.Chain.Gnosis,H.Chain.Optimism,H.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (f0(),r1));return await y(T,f)}).with(H.Chain.Litecoin,H.Chain.Dash,H.Chain.Dogecoin,H.Chain.BitcoinCash,H.Chain.Bitcoin,H.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (w0(),E0));return await y(T,f)}).with(H.Chain.Cosmos,H.Chain.Kujira,H.Chain.Noble,H.Chain.Maya,H.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (rT(),dT));return await y(T,f)}).with(H.Chain.Chainflip,H.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Q0(),J0));return await y(T,f)}).with(H.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (y1(),e0));return await y(f)}).with(H.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (s0(),a0));return await y(f)}).with(H.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (V0(),S0));return await y(f)}).with(H.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (L1(),G1));return await y(f)}).with(H.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (d0(),i0));return await y(f)}).otherwise(()=>{throw new H.SwapKitError("toolbox_not_supported",{chain:T})})}
1
+ var yG=Object.create;var{getPrototypeOf:TG,defineProperty:NT,getOwnPropertyNames:J1,getOwnPropertyDescriptor:fG}=Object,Q1=Object.prototype.hasOwnProperty;var U=(T,f,x)=>{x=T!=null?yG(TG(T)):{};let y=f||!T||!T.__esModule?NT(x,"default",{value:T,enumerable:!0}):x;for(let L of J1(T))if(!Q1.call(y,L))NT(y,L,{get:()=>T[L],enumerable:!0});return y},B1=new WeakMap,Yy=(T)=>{var f=B1.get(T),x;if(f)return f;if(f=NT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")J1(T).map((y)=>!Q1.call(f,y)&&NT(f,y,{get:()=>T[y],enumerable:!(x=fG(T,y))||x.enumerable}));return B1.set(T,f),f};var Qy=(T,f)=>{for(var x in f)NT(T,x,{get:f[x],enumerable:!0,configurable:!0,set:(y)=>f[x]=()=>y})};var l=(T,f)=>()=>(T&&(f=T(T=0)),f);function YT(T){return Py.base64.encode(Uint8Array.from(Py.bech32.fromWords(Py.bech32.decode(T).words)))}function UT(T,f="thor"){return Py.bech32.encode(f,Py.bech32.toWords(Py.base64.decode(T)))}function GG(T){return tT.fromByteArray(T)}function LG(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new q1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return tT.toByteArray(T)}var Py,q1,tT;var lf=l(()=>{Py=require("@scure/base"),q1=require("@swapkit/helpers"),tT=require("base64-js")});function Iy(T){switch(T){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return M1;case E.Chain.Noble:return N1;default:return _1}}async function ky(T){let f=await import("@cosmjs/stargate"),x=f.StargateClient??f.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return x.connect({headers:y,url:T})}async function WT(T,f,x={}){let y=await import("@cosmjs/stargate"),L=y.SigningStargateClient??y.default?.SigningStargateClient,G=y.GasPrice??y.default?.GasPrice,X=typeof x==="string"?x:"0.0003uatom",Z=typeof x==="string"?{}:x;return L.connectWithSigner(T,f,{gasPrice:G.fromString(X),...Z})}async function Ff(T,f){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,f)}async function Af({sender:T,recipient:f,assetValue:x,memo:y="",feeRate:L,sequence:G,accountNumber:X}){let{chain:Z,chainId:B}=x,J=await E.getRPCUrl(Z),q=await(await ky(J)).getAccount(T);if(!q)throw new E.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let z=E.AssetValue.from({chain:Z}),M=ly(z.symbol),_=Iy(Z),R=M&&L?{amount:[{amount:L.toString(),denom:M}],gas:_.gas}:_,D={amount:[{amount:x.getBaseValue("string"),denom:ly(x.symbol)}],fromAddress:T,toAddress:f};return{accountNumber:X??q.accountNumber,chainId:B,fee:R,memo:y,msgs:[{typeUrl:xG(Z),value:D}],sequence:G??q.sequence}}var E,vf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",z1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",_1,M1,N1,ly=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return vf;case"uYUM":case"YUM":return z1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},HT=({symbol:T,chain:f})=>{if(f===E.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${E.Chain.Maya}.${T}`).toUpperCase();if(f===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${E.Chain.THORChain}.${T}`:T).toUpperCase();return ly(T,!1)},xG=(T)=>{switch(T){case E.Chain.Maya:case E.Chain.THORChain:return"/types.MsgSend";case E.Chain.Cosmos:case E.Chain.Kujira:case E.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new E.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},XG,Sf=(T,f)=>{let x=XG[T.toLowerCase()];if(!x)return E.AssetValue.from({asset:T,fromBaseDecimal:8,value:f});let{chain:y,asset:L,decimals:G}=x,X=y?{chain:y}:{asset:L};return E.AssetValue.from({...X,fromBaseDecimal:G,value:f})};var RT=l(()=>{E=require("@swapkit/helpers"),_1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},M1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},N1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};XG={atom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},cacao:{chain:E.Chain.Maya,decimals:10},kuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},maya:{asset:`${E.Chain.Maya}.${E.Chain.Maya}`,decimals:4},rune:{chain:E.Chain.THORChain,decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},uatom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},ukuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},usdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},uusdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},[vf.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal}}});var Y1={};Qy(Y1,{$root:()=>C});var a,A,qy,k,C;var U1=l(()=>{a=U(require("protobufjs/minimal.js")),A=a.default.Reader,qy=a.default.Writer,k=a.default.util,C=a.default.roots.default||(a.default.roots.default={});C.common=(()=>{let T={};return T.Asset=(()=>{function f(x){if(x){for(let y=Object.keys(x),L=0;L<y.length;++L)if(x[y[L]]!=null)this[y[L]]=x[y[L]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))L.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))L.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))L.uint32(32).bool(y.synth);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,X=new C.common.Asset;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:X.chain=y.string();break;case 2:X.symbol=y.string();break;case 3:X.ticker=y.string();break;case 4:X.synth=y.bool();break;default:y.skipType(Z&7);break}}return X},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!k.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!k.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Asset)return y;let L=new C.common.Asset;if(y.chain!=null)L.chain=String(y.chain);if(y.symbol!=null)L.symbol=String(y.symbol);if(y.ticker!=null)L.ticker=String(y.ticker);if(y.synth!=null)L.synth=Boolean(y.synth);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))G.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))G.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))G.synth=y.synth;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(x){if(x){for(let y=Object.keys(x),L=0;L<y.length;++L)if(x[y[L]]!=null)this[y[L]]=x[y[L]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=k.Long?k.Long.fromBits(0,0,!1):0,f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))C.common.Asset.encode(y.asset,L.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))L.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))L.uint32(24).int64(y.decimals);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,X=new C.common.Coin;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:X.asset=C.common.Asset.decode(y,y.uint32());break;case 2:X.amount=y.string();break;case 3:X.decimals=y.int64();break;default:y.skipType(Z&7);break}}return X},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let L=C.common.Asset.verify(y.asset);if(L)return"asset."+L}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!k.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!k.isInteger(y.decimals)&&!(y.decimals&&k.isInteger(y.decimals.low)&&k.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Coin)return y;let L=new C.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");L.asset=C.common.Asset.fromObject(y.asset)}if(y.amount!=null)L.amount=String(y.amount);if(y.decimals!=null){if(k.Long)(L.decimals=k.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")L.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")L.decimals=y.decimals;else if(typeof y.decimals==="object")L.decimals=new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.defaults)if(G.asset=null,G.amount="",k.Long){let X=new k.Long(0,0,!1);G.decimals=L.longs===String?X.toString():L.longs===Number?X.toNumber():X}else G.decimals=L.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))G.asset=C.common.Asset.toObject(y.asset,L);if(y.amount!=null&&y.hasOwnProperty("amount"))G.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")G.decimals=L.longs===String?String(y.decimals):y.decimals;else G.decimals=L.longs===String?k.Long.prototype.toString.call(y.decimals):L.longs===Number?new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(x){if(x){for(let y=Object.keys(x),L=0;L<y.length;++L)if(x[y[L]]!=null)this[y[L]]=x[y[L]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))L.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))L.uint32(18).string(y.ed25519);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,X=new C.common.PubKeySet;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:X.secp256k1=y.string();break;case 2:X.ed25519=y.string();break;default:y.skipType(Z&7);break}}return X},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!k.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!k.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.PubKeySet)return y;let L=new C.common.PubKeySet;if(y.secp256k1!=null)L.secp256k1=String(y.secp256k1);if(y.ed25519!=null)L.ed25519=String(y.ed25519);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.defaults)G.secp256k1="",G.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))G.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))G.ed25519=y.ed25519;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),L=0;L<y.length;++L)if(x[y[L]]!=null)this[y[L]]=x[y[L]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=k.emptyArray,f.prototype.gas=k.emptyArray,f.prototype.memo="",f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))L.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.uint32(34).string(y.toAddress);if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],L.uint32(42).fork()).ldelim();if(y.gas?.length)for(let G=0;G<y.gas.length;++G)C.common.Coin.encode(y.gas[G],L.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(58).string(y.memo);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,X=new C.common.Tx;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:X.id=y.string();break;case 2:X.chain=y.string();break;case 3:X.fromAddress=y.string();break;case 4:X.toAddress=y.string();break;case 5:if(!X.coins?.length)X.coins=[];X.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 6:if(!X.gas?.length)X.gas=[];X.gas.push(C.common.Coin.decode(y,y.uint32()));break;case 7:X.memo=y.string();break;default:y.skipType(Z&7);break}}return X},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!k.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!k.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!k.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let G=C.common.Coin.verify(y.coins[L]);if(G)return"coins."+G}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let L=0;L<y.gas.length;++L){let G=C.common.Coin.verify(y.gas[L]);if(G)return"gas."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Tx)return y;let L=new C.common.Tx;if(y.id!=null)L.id=String(y.id);if(y.chain!=null)L.chain=String(y.chain);if(y.fromAddress!=null)L.fromAddress=String(y.fromAddress);if(y.toAddress!=null)L.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");L.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");L.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");L.gas=[];for(let G=0;G<y.gas.length;++G){if(typeof y.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");L.gas[G]=C.common.Coin.fromObject(y.gas[G])}}if(y.memo!=null)L.memo=String(y.memo);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.arrays||L.defaults)G.coins=[],G.gas=[];if(L.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(y.id!=null&&y.hasOwnProperty("id"))G.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=y.toAddress;if(y.coins?.length){G.coins=[];for(let X=0;X<y.coins.length;++X)G.coins[X]=C.common.Coin.toObject(y.coins[X],L)}if(y.gas?.length){G.gas=[];for(let X=0;X<y.gas.length;++X)G.gas[X]=C.common.Coin.toObject(y.gas[X],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(x){if(this.coins=[],x){for(let y=Object.keys(x),L=0;L<y.length;++L)if(x[y[L]]!=null)this[y[L]]=x[y[L]]}}return f.prototype.coins=k.emptyArray,f.prototype.poolDeduct="",f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],L.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))L.uint32(18).string(y.poolDeduct);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,X=new C.common.Fee;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:if(!X.coins?.length)X.coins=[];X.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 2:X.poolDeduct=y.string();break;default:y.skipType(Z&7);break}}return X},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let G=C.common.Coin.verify(y.coins[L]);if(G)return"coins."+G}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!k.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.Fee)return y;let L=new C.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");L.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");L.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.poolDeduct!=null)L.poolDeduct=String(y.poolDeduct);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.arrays||L.defaults)G.coins=[];if(L.defaults)G.poolDeduct="";if(y.coins?.length){G.coins=[];for(let X=0;X<y.coins.length;++X)G.coins[X]=C.common.Coin.toObject(y.coins[X],L)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))G.poolDeduct=y.poolDeduct;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(x){if(x){for(let y=Object.keys(x),L=0;L<y.length;++L)if(x[y[L]]!=null)this[y[L]]=x[y[L]]}}return f.prototype.value="",f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))L.uint32(10).string(y.value);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,X=new C.common.ProtoUint;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:X.value=y.string();break;default:y.skipType(Z&7);break}}return X},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!k.isString(y.value))return"value: string expected"}return null},f.fromObject=function(y){if(y instanceof C.common.ProtoUint)return y;let L=new C.common.ProtoUint;if(y.value!=null)L.value=String(y.value);return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.defaults)G.value="";if(y.value!=null&&y.hasOwnProperty("value"))G.value=y.value;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T})();C.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(x){if(this.coins=[],x){for(let y=Object.keys(x),L=0;L<y.length;++L)if(x[y[L]]!=null)this[y[L]]=x[y[L]]}}return f.prototype.coins=k.emptyArray,f.prototype.memo="",f.prototype.signer=k.newBuffer([]),f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)C.common.Coin.encode(y.coins[G],L.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))L.uint32(26).bytes(y.signer);return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,X=new C.types.MsgDeposit;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:if(!X.coins?.length)X.coins=[];X.coins.push(C.common.Coin.decode(y,y.uint32()));break;case 2:X.memo=y.string();break;case 3:X.signer=y.bytes();break;default:y.skipType(Z&7);break}}return X},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let G=C.common.Coin.verify(y.coins[L]);if(G)return"coins."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||k.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function(y){if(y instanceof C.types.MsgDeposit)return y;let L=new C.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");L.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");L.coins[G]=C.common.Coin.fromObject(y.coins[G])}}if(y.memo!=null)L.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")k.base64.decode(y.signer,L.signer=k.newBuffer(k.base64.length(y.signer)),0);else if(y.signer.length)L.signer=y.signer}return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.arrays||L.defaults)G.coins=[];if(L.defaults){if(G.memo="",L.bytes===String)G.signer="";else if(G.signer=[],L.bytes!==Array)G.signer=k.newBuffer(G.signer)}if(y.coins?.length){G.coins=[];for(let X=0;X<y.coins.length;++X)G.coins[X]=C.common.Coin.toObject(y.coins[X],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))G.signer=L.bytes===String?k.base64.encode(y.signer,0,y.signer.length):L.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(x){if(this.amount=[],x){for(let y=Object.keys(x),L=0;L<y.length;++L)if(x[y[L]]!=null)this[y[L]]=x[y[L]]}}return f.prototype.fromAddress=k.newBuffer([]),f.prototype.toAddress=k.newBuffer([]),f.prototype.amount=k.emptyArray,f.create=function(y){return new f(y)},f.encode=function(y,L){if(!L)L=qy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let G=0;G<y.amount.length;++G)C.cosmos.base.v1beta1.Coin.encode(y.amount[G],L.uint32(26).fork()).ldelim();return L},f.encodeDelimited=function(y,L){return this.encode(y,L).ldelim()},f.decode=function(y,L){if(!(y instanceof A))y=A.create(y);let G=L===void 0?y.len:y.pos+L,X=new C.types.MsgSend;while(y.pos<G){let Z=y.uint32();switch(Z>>>3){case 1:X.fromAddress=y.bytes();break;case 2:X.toAddress=y.bytes();break;case 3:if(!X.amount?.length)X.amount=[];X.amount.push(C.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(Z&7);break}}return X},f.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||k.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||k.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let L=0;L<y.amount.length;++L){let G=C.cosmos.base.v1beta1.Coin.verify(y.amount[L]);if(G)return"amount."+G}}return null},f.fromObject=function(y){if(y instanceof C.types.MsgSend)return y;let L=new C.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")k.base64.decode(y.fromAddress,L.fromAddress=k.newBuffer(k.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)L.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")k.base64.decode(y.toAddress,L.toAddress=k.newBuffer(k.base64.length(y.toAddress)),0);else if(y.toAddress.length)L.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");L.amount=[];for(let G=0;G<y.amount.length;++G){if(typeof y.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");L.amount[G]=C.cosmos.base.v1beta1.Coin.fromObject(y.amount[G])}}return L},f.toObject=function(y,L){if(!L)L={};let G={};if(L.arrays||L.defaults)G.amount=[];if(L.defaults){if(L.bytes===String)G.fromAddress="";else if(G.fromAddress=[],L.bytes!==Array)G.fromAddress=k.newBuffer(G.fromAddress);if(L.bytes===String)G.toAddress="";else if(G.toAddress=[],L.bytes!==Array)G.toAddress=k.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=L.bytes===String?k.base64.encode(y.fromAddress,0,y.fromAddress.length):L.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=L.bytes===String?k.base64.encode(y.toAddress,0,y.toAddress.length):L.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){G.amount=[];for(let X=0;X<y.amount.length;++X)G.amount[X]=C.cosmos.base.v1beta1.Coin.toObject(y.amount[X],L)}return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T})();C.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(L){if(L){for(let G=Object.keys(L),X=0;X<G.length;++X)if(L[G[X]]!=null)this[G[X]]=L[G[X]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,X){if(!X)X=qy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))X.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))X.uint32(18).string(G.amount);return X},y.encodeDelimited=function(G,X){return this.encode(G,X).ldelim()},y.decode=function(G,X){if(!(G instanceof A))G=A.create(G);let Z=X===void 0?G.len:G.pos+X,B=new C.cosmos.base.v1beta1.Coin;while(G.pos<Z){let J=G.uint32();switch(J>>>3){case 1:B.denom=G.string();break;case 2:B.amount=G.string();break;default:G.skipType(J&7);break}}return B},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!k.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!k.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.Coin)return G;let X=new C.cosmos.base.v1beta1.Coin;if(G.denom!=null)X.denom=String(G.denom);if(G.amount!=null)X.amount=String(G.amount);return X},y.toObject=function(G,X){if(!X)X={};let Z={};if(X.defaults)Z.denom="",Z.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))Z.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))Z.amount=G.amount;return Z},y.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(L){if(L){for(let G=Object.keys(L),X=0;X<G.length;++X)if(L[G[X]]!=null)this[G[X]]=L[G[X]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,X){if(!X)X=qy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))X.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))X.uint32(18).string(G.amount);return X},y.encodeDelimited=function(G,X){return this.encode(G,X).ldelim()},y.decode=function(G,X){if(!(G instanceof A))G=A.create(G);let Z=X===void 0?G.len:G.pos+X,B=new C.cosmos.base.v1beta1.DecCoin;while(G.pos<Z){let J=G.uint32();switch(J>>>3){case 1:B.denom=G.string();break;case 2:B.amount=G.string();break;default:G.skipType(J&7);break}}return B},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!k.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!k.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.DecCoin)return G;let X=new C.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)X.denom=String(G.denom);if(G.amount!=null)X.amount=String(G.amount);return X},y.toObject=function(G,X){if(!X)X={};let Z={};if(X.defaults)Z.denom="",Z.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))Z.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))Z.amount=G.amount;return Z},y.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(L){if(L){for(let G=Object.keys(L),X=0;X<G.length;++X)if(L[G[X]]!=null)this[G[X]]=L[G[X]]}}return y.prototype.int="",y.create=function(G){return new y(G)},y.encode=function(G,X){if(!X)X=qy.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))X.uint32(10).string(G.int);return X},y.encodeDelimited=function(G,X){return this.encode(G,X).ldelim()},y.decode=function(G,X){if(!(G instanceof A))G=A.create(G);let Z=X===void 0?G.len:G.pos+X,B=new C.cosmos.base.v1beta1.IntProto;while(G.pos<Z){let J=G.uint32();switch(J>>>3){case 1:B.int=G.string();break;default:G.skipType(J&7);break}}return B},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!k.isString(G.int))return"int: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.IntProto)return G;let X=new C.cosmos.base.v1beta1.IntProto;if(G.int!=null)X.int=String(G.int);return X},y.toObject=function(G,X){if(!X)X={};let Z={};if(X.defaults)Z.int="";if(G.int!=null&&G.hasOwnProperty("int"))Z.int=G.int;return Z},y.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(L){if(L){for(let G=Object.keys(L),X=0;X<G.length;++X)if(L[G[X]]!=null)this[G[X]]=L[G[X]]}}return y.prototype.dec="",y.create=function(G){return new y(G)},y.encode=function(G,X){if(!X)X=qy.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))X.uint32(10).string(G.dec);return X},y.encodeDelimited=function(G,X){return this.encode(G,X).ldelim()},y.decode=function(G,X){if(!(G instanceof A))G=A.create(G);let Z=X===void 0?G.len:G.pos+X,B=new C.cosmos.base.v1beta1.DecProto;while(G.pos<Z){let J=G.uint32();switch(J>>>3){case 1:B.dec=G.string();break;default:G.skipType(J&7);break}}return B},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!k.isString(G.dec))return"dec: string expected"}return null},y.fromObject=function(G){if(G instanceof C.cosmos.base.v1beta1.DecProto)return G;let X=new C.cosmos.base.v1beta1.DecProto;if(G.dec!=null)X.dec=String(G.dec);return X},y.toObject=function(G,X){if(!X)X={};let Z={};if(X.defaults)Z.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))Z.dec=G.dec;return Z},y.prototype.toJSON=function(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),x})(),f})(),T})()});async function py(){let{$root:T}=await Promise.resolve().then(() => (U1(),Y1)),f=await import("@cosmjs/proto-signing"),x=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),L=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...L,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function vy(T){let f=await import("@cosmjs/stargate"),x=f.AminoTypes??f.default?.AminoTypes,y=T===H1.Chain.THORChain?"thorchain":"mayachain";return new x({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:L,...G})=>({...G,signer:YT(L)}),toAmino:({signer:L,...G})=>({...G,signer:UT(L)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:L,to_address:G,...X})=>({...X,fromAddress:YT(L),toAddress:YT(G)}),toAmino:({fromAddress:L,toAddress:G,...X})=>({...X,from_address:UT(L),to_address:UT(G)})}})}var H1;var Vf=l(()=>{lf();H1=require("@swapkit/helpers")});function uf(T){return function(x){let{assetValue:y,recipient:L,memo:G,sender:X,asSignable:Z,asAminoMessage:B}=x;if(L)return R1(T)({asAminoMessage:B,asSignable:Z,assetValue:y,memo:G,recipient:L,sender:X});return C1(T)({asAminoMessage:B,asSignable:Z,assetValue:y,memo:G,sender:X})}}function Ay(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let x=zy.AssetValue.from({asset:f.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),L=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...f,asset:{chain:L,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function CT({chain:T,memo:f,msgs:x}){let y=await py(),L=await vy(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:x.map((X)=>L.fromAmino(X))}};return y.encode(G)}var zy,ZG,BG,$f=({sender:T,recipient:f,assetValue:x})=>{return{type:`${x.chain===zy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:ly(x.symbol,!0)}],from_address:T,to_address:f}}},Kf=({sender:T,assetValue:f,memo:x=""})=>{return{type:`${f.chain===zy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:HT(f)}],memo:x,signer:T}}},gT=({sender:T,recipient:f,assetValue:x,memo:y})=>{return!f?Kf({assetValue:x,memo:y,sender:T}):$f({assetValue:x,recipient:f,sender:T})},Fy=async(T,f)=>{return(await vy(f)).fromAmino(T)},W1=async({rpcUrl:T,sender:f})=>{let y=await(await ky(T)).getAccount(f);if(!y)throw new zy.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},R1=(T)=>async({sender:f,recipient:x,assetValue:y,memo:L="",asSignable:G=!0,asAminoMessage:X=!1,sequence:Z,accountNumber:B})=>{let J=await W1({rpcUrl:T,sender:f}),Q=y.chain,{chainId:q}=zy.getChainConfig(Q),z=$f({assetValue:y,recipient:x,sender:f}),M=G?await Fy(X?z:Ay(z),Q):z;return{accountNumber:B||J.accountNumber,chainId:q,fee:Iy(Q),memo:L,msgs:[M],sequence:Z||J.sequence}},C1=(T)=>async({sender:f,assetValue:x,memo:y="",asSignable:L=!0,asAminoMessage:G=!1,sequence:X,accountNumber:Z})=>{let B=await W1({rpcUrl:T,sender:f}),J=x.chain,{chainId:Q}=zy.getChainConfig(J),q=Kf({assetValue:x,memo:y,sender:f}),z=L?await Fy(G?q:Ay(q),J):q;return{accountNumber:Z||B.accountNumber,chainId:Q,fee:Iy(J),memo:y,msgs:[z],sequence:X||B.sequence}};var D1=l(()=>{RT();Vf();zy=require("@swapkit/helpers"),ZG=Iy(zy.Chain.THORChain).gas,BG=Iy(zy.Chain.Maya).gas});var I1=()=>{};var k1=l(()=>{I1()});var bf=l(()=>{lf();D1();Vf();k1()});async function hf(T,f){try{let y=(await jf.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(x){return f}}async function nf({phrase:T,prefix:f,...x}){let y=await import("@cosmjs/proto-signing"),L=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),X=G.stringToPath??G.default?.stringToPath,Z="derivationPath"in x?x.derivationPath:`${w.DerivationPath[x.chain]}/${x.index}`;return L.fromMnemonic(T,{hdPaths:[X(Z)],prefix:f})}async function JG({privateKey:T,prefix:f}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,f)}function P1(T){return async function({signature:x,message:y,address:L}){let G=await T(L);if(!G?.pubkey)throw new w.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let X=await import("@cosmjs/crypto"),Z=X.Secp256k1Signature??X.default?.Secp256k1Signature,B=X.Secp256k1??X.default?.Secp256k1,J=Z.fromFixedLength(Sy.base64.decode(x));return B.verifySignature(J,Sy.base64.decode(y),G.pubkey.value)}}async function IT({chain:T,...f}){let x=await w.getRPCUrl(T),y=w.CosmosChainPrefixes[T],L="index"in f?f.index||0:0,G=w.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:w.updateDerivationPath(w.NetworkDerivationPath[T],{index:L})),X=await DT.match(f).with({phrase:DT.P.string},({phrase:q})=>nf({derivationPath:G,phrase:q,prefix:y})).with({signer:DT.P.any},({signer:q})=>q).otherwise(()=>{return});async function Z(q){return(await ky(x)).getAccount(q)}async function B(){let[q]=await X?.getAccounts()||[];return q?.address}async function J(){let[q]=await X?.getAccounts()||[];if(!q?.pubkey)throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");return Sy.base64.encode(q?.pubkey)}async function Q({recipient:q,assetValue:z,memo:M="",feeRate:_,feeOptionKey:R=w.FeeOption.Fast}){let D=await B();if(!(X&&D))throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");let S=w.AssetValue.from({chain:T}),K=HT(S),d=_||MG((await E1(T,O1[T]))[R],K),t=await WT(x,X),Ty=[{amount:z.getBaseValue("string"),denom:ly(`u${z.symbol}`).toLowerCase()}],{transactionHash:e}=await t.sendTokens(D,q,Ty,d,M);return e}return{createPrivateKeyFromPhrase:YG(G),createTransaction:Af,fetchFeeRateFromSwapKit:hf,getAccount:Z,getAddress:B,getBalance:async(q,z)=>{let M=await w1(x)(q);return await Promise.all(M.filter(({denom:_})=>_&&!_.includes("IBC/")).map(({denom:_,amount:R})=>{let D=[w.Chain.THORChain,w.Chain.Maya].includes(T)&&(_.includes("/")||_.includes("˜"))?`${T}.${_}`:_;return Sf(D,R)}))},getBalanceAsDenoms:w1(x),getFees:()=>E1(T,O1[T]),getPubKey:J,getSignerFromPhrase:async({phrase:q,derivationPath:z})=>nf({derivationPath:w.derivationPathToString(z),index:L,phrase:q,prefix:y}),getSignerFromPrivateKey:async(q)=>{let z=await import("@cosmjs/proto-signing");return(z.DirectSecp256k1Wallet??z.default?.DirectSecp256k1Wallet).fromKey(q,y)},transfer:Q,validateAddress:v1(y),verifySignature:P1(Z)}}async function l1(T,f){try{let y=(await jf.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(x){return f}}function qG({address:T,chain:f,prefix:x}){let y=x||_G(f);if(!(y&&T))throw new w.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return v1(y)(T)}function zG({assetValue:{chain:T}}){return w.AssetValue.from({chain:T,value:NG(T)})}function _G(T){let{isStagenet:f}=w.SKConfig.get("envs"),x=T?[w.Chain.THORChain,w.Chain.Maya].includes(T)&&f:!1,y=T?w.CosmosChainPrefixes[T]:void 0;return x?`s${y}`:y}async function E1(T,f){let{chainId:x,baseDecimal:y}=w.getChainConfig(T),L=await hf(x,f);return{average:w.SwapKitNumber.fromBigInt(BigInt(L),y),fast:w.SwapKitNumber.fromBigInt(BigInt(w.applyFeeMultiplier(L,w.FeeOption.Fast,!0)),y),fastest:w.SwapKitNumber.fromBigInt(BigInt(w.applyFeeMultiplier(L,w.FeeOption.Fastest,!0)),y)}}function MG(T,f){return{amount:[{amount:T.getBaseValue("string"),denom:f}],gas:"200000"}}function NG(T){return{[w.Chain.Cosmos]:0.007,[w.Chain.Kujira]:0.02,[w.Chain.Noble]:0.01,[w.Chain.THORChain]:0.02,[w.Chain.Maya]:0.02,[w.Chain.Harbor]:0.02}[T]||0}function v1(T){return function(x){if(!x.startsWith(T))return!1;try{let{prefix:y,words:L}=Sy.bech32.decode(x);return Sy.bech32.encode(y,L)===x.toLocaleLowerCase()}catch(y){return!1}}}function w1(T){return async function(x){return(await(await ky(T)).getAllBalances(x)).map((X)=>({...X,denom:X.denom.includes("/")?X.denom.toUpperCase():X.denom}))}}function YG(T){return async function(x){let y=await import("@cosmjs/crypto"),L=y.stringToPath??y.default?.stringToPath,G=y.Slip10Curve??y.default?.Slip10Curve,X=y.Slip10??y.default?.Slip10,Z=y.EnglishMnemonic??y.default?.EnglishMnemonic,B=y.Bip39??y.default?.Bip39,J=new Z(x),Q=await B.mnemonicToSeed(J),{privkey:q}=X.derivePath(G.Secp256k1,Q,L(T));return q}}var Sy,w,jf,DT,O1,QG;var iT=l(()=>{RT();Sy=require("@scure/base"),w=require("@swapkit/helpers"),jf=require("@swapkit/helpers/api"),DT=require("ts-pattern");O1={[w.Chain.Cosmos]:500,[w.Chain.Kujira]:1000,[w.Chain.Noble]:1000,[w.Chain.THORChain]:5000000,[w.Chain.Maya]:5000000,[w.Chain.Harbor]:5000000};QG=l1});function UG({prefix:T,derivationPath:f}){return async function(y,L=0){let G=await import("@cosmjs/amino"),X=G.Secp256k1HdWallet??G.default?.Secp256k1HdWallet,Z=await import("@cosmjs/crypto"),B=Z.stringToPath??Z.default?.stringToPath;return X.fromMnemonic(y,{hdPaths:[B(`${f}/${L}`)],prefix:T})}}function HG(T){return Vy.base64.encode(T)}function WG(T){return async function({wallet:x,tx:y}){let{msgs:L,accountNumber:G,sequence:X,chainId:Z,fee:B,memo:J}=typeof y==="string"?JSON.parse(y):y,Q=(await x.getAccounts())?.[0]?.address||"",q=await vy(T),z=await py(),M=await Ff(x,{aminoTypes:q,registry:z}),_=[];for(let S of L){let K=await Fy(S,T);_.push(K)}let{signatures:[R]}=await M.sign(Q,_,B,J,{accountNumber:G,chainId:Z,sequence:X});return{bodyBytes:await CT({chain:T,memo:J,msgs:L.map(Ay)}),signature:HG(R)}}}function RG({prefix:T,rpcUrl:f}){return async function(y,L,G,X,Z){let{encodeSecp256k1Pubkey:B,pubkeyToAddress:J}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:Q}=(await import("@cosmjs/stargate")).default,{sequence:q,fee:z}=JSON.parse(y),M=await F1(G,X),_=L.map((S)=>[J(B(Vy.base64.decode(S.pubKey)),T),Vy.base64.decode(S.signature)]),R=await ky(f),{transactionHash:D}=await R.broadcastTx(Q(M,q,z,Z,new Map(_)));return D}}async function F1(T,f,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return y(T.map((G)=>L(Vy.base64.decode(G))),f,x)}function CG(T){return Vy.base64.decode(T)}async function DG({privateKey:T,message:f}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature(Vy.base64.decode(f),T);return Vy.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function pf({chain:T,...f}){let x=p.SKConfig.get("nodeUrls")[T],y=await p.getRPCUrl(T),{isStagenet:L}=p.SKConfig.get("envs"),G=T===p.Chain.THORChain,X=`${L?"s":""}${p.CosmosChainPrefixes[T]}`,Z="index"in f?f.index||0:0,B="derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[T],{index:Z}),J=await IT({chain:T,...f}),Q=await kT.match(f).with({phrase:kT.P.string},({phrase:_})=>J.getSignerFromPhrase({derivationPath:B,phrase:_})).with({signer:kT.P.any},({signer:_})=>_).otherwise(()=>{return}),q=Iy(T);async function z(){let _,R=`${x}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:D}}=await p.RequestClient.get(R);if(!D||Number.isNaN(D)||D<0)throw new p.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:D.toString()});_=new p.SwapKitNumber(D)}catch{_=new p.SwapKitNumber({decimal:p.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[p.FeeOption.Average]:_,[p.FeeOption.Fast]:_,[p.FeeOption.Fastest]:_}}async function M({assetValue:_,memo:R="",recipient:D}){let{TxRaw:S}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),K=(await Q?.getAccounts())?.[0]?.address;if(!(K&&Q))throw new p.SwapKitError("toolbox_cosmos_no_signer");let d="signAmino"in Q,t=await py(),Ty=await vy(T),e=await WT(y,Q,{aminoTypes:Ty,registry:t}),Ly=gT({assetValue:_,memo:R,recipient:D,sender:K});if(d){let I=await Fy(Ly,T),{signatures:O,authInfoBytes:F}=await e.sign(K,[I],q,R),V=S.encode({authInfoBytes:F,bodyBytes:await CT({chain:T,memo:R,msgs:[Ly].map(Ay)}),signatures:O}).finish();return(await e.broadcastTx(V)).transactionHash}let mT=Ay(Ly),N=await Fy(mT,T);return(await e.signAndBroadcast(K,[N],q,R)).transactionHash}return{...J,broadcastMultisigTx:RG({prefix:X,rpcUrl:y}),buildAminoMsg:gT,buildEncodedTxBody:CT,convertToSignable:Fy,createDefaultAminoTypes:()=>vy(T),createDefaultRegistry:py,createMultisig:F1,createTransaction:uf(y),deposit:M,getFees:z,importSignature:CG,parseAminoMessageForDirectSigning:Ay,pubkeyToAddress:async(_)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(_,X)},secp256k1HdWalletFromMnemonic:UG({derivationPath:p.derivationPathToString(B),prefix:X}),signMultisigTx:WG(T),signWithPrivateKey:DG,transfer:M}}var Vy,p,kT;var of=l(()=>{bf();RT();iT();Vy=require("@scure/base"),p=require("@swapkit/helpers"),kT=require("ts-pattern")});var $y,IG=(T,f)=>{switch(T){case $y.Chain.Cosmos:case $y.Chain.Kujira:case $y.Chain.Noble:return IT({chain:T,...f});case $y.Chain.Maya:case $y.Chain.THORChain:return pf({chain:T,...f});default:throw new $y.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var A1=l(()=>{iT();of();$y=require("@swapkit/helpers");iT();of()});var dT={};Qy(dT,{verifySignature:()=>P1,transferMsgAmino:()=>$f,toBase64:()=>GG,parseAminoMessageForDirectSigning:()=>Ay,getSignerFromPrivateKey:()=>JG,getSignerFromPhrase:()=>nf,getMsgSendDenom:()=>ly,getFeeRateFromThorswap:()=>QG,getFeeRateFromSwapKit:()=>l1,getDenomWithChain:()=>HT,getDefaultChainFee:()=>Iy,getCreateTransaction:()=>uf,getCosmosToolbox:()=>IG,getAssetFromDenom:()=>Sf,fromBase64:()=>LG,fetchFeeRateFromSwapKit:()=>hf,estimateTransactionFee:()=>zG,depositMsgAmino:()=>Kf,createThorchainToolbox:()=>pf,createStargateClient:()=>ky,createSigningStargateClient:()=>WT,createOfflineStargateClient:()=>Ff,createDefaultRegistry:()=>py,createDefaultAminoTypes:()=>vy,createCosmosToolbox:()=>IT,cosmosValidateAddress:()=>qG,cosmosCreateTransaction:()=>Af,convertToSignable:()=>Fy,buildTransferTx:()=>R1,buildEncodedTxBody:()=>CT,buildDepositTx:()=>C1,buildAminoMsg:()=>gT,bech32ToBase64:()=>YT,base64ToBech32:()=>UT,YUM_KUJIRA_FACTORY_DENOM:()=>z1,USK_KUJIRA_FACTORY_DENOM:()=>vf,THORCHAIN_GAS_VALUE:()=>ZG,MAYA_GAS_VALUE:()=>BG,DEFAULT_NOBLE_FEE_MAINNET:()=>N1,DEFAULT_KUJI_FEE_MAINNET:()=>M1,DEFAULT_COSMOS_FEE_MAINNET:()=>_1});module.exports=Yy(dT);var rT=l(()=>{bf();A1();RT()});function V1(){function T(){let f=Date.now(),x=mf||f;return mf=x,f>mf?f:x+1}return kG+T().toString(36)}function ay(T){return async function(x,y=!0){let L=await S1.SwapKitApi.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:G}=aT.getChainConfig(T);return L.map(({identifier:X,value:Z,decimal:B})=>{return new aT.AssetValue({decimal:B||G,identifier:X,value:Z})})}}var aT,S1,kG,mf=0;var OT=l(()=>{aT=require("@swapkit/helpers"),S1=require("@swapkit/helpers/api"),kG=typeof process<"u"&&process.pid?process.pid.toString(36):""});function ET(T){let f=sT.SKConfig.get("apis")[T];if(f)return sT.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),f;return EG(T)}function OG(T){return T}function EG(T){return{getBalance:ay(T)}}var sT;var eT=l(()=>{OT();sT=require("@swapkit/helpers")});async function oy(T,f){let{JsonRpcProvider:x}=await import("ethers");return new x(f||await m.getRPCUrl(T))}function wT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function cf(T){let{blockExplorerUrl:f,chainId:x,rpcUrl:y}=m.getChainConfig(T);return()=>T===m.Chain.Ethereum?void 0:{...wG({chain:T}),blockExplorerUrls:[f],chainId:x,rpcUrls:[y]}}function tf(T){return![m.Chain.Arbitrum,m.Chain.BinanceSmartChain].includes(T)}function wG({chain:T}){let{baseDecimal:f}=m.getChainConfig(T);switch(T){case m.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:m.Chain.Ethereum}};case m.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:m.Chain.Ethereum}};case m.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:T}};case m.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:m.Chain.Ethereum}};case m.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}};case m.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}};case m.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}};case m.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:m.Chain.Ethereum}};case m.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:m.Chain.Polygon}};default:throw new m.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var m;var sy=l(()=>{m=require("@swapkit/helpers")});var $1;var K1=l(()=>{$1=[{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 yT({chain:T=Y.Chain.Ethereum,provider:f,signer:x,isEIP1559Compatible:y=!0}){return{approve:AG({chain:T,isEIP1559Compatible:y,provider:f,signer:x}),approvedAmount:n1({chain:T,provider:f}),broadcastTransaction:f.broadcastTransaction,call:sf({chain:T,isEIP1559Compatible:y,provider:f,signer:x}),createApprovalTx:KG({chain:T,provider:f,signer:x}),createContract:rf({chain:T,provider:f}),createContractTxObject:my({chain:T,provider:f}),createTransaction:gf({chain:T,provider:f,signer:x}),createTransferTx:gf({chain:T,provider:f,signer:x}),EIP1193SendTransaction:fT(f),estimateCall:j1({provider:f,signer:x}),estimateGasLimit:VG({chain:T,provider:f,signer:x}),estimateGasPrices:cy({chain:T,isEIP1559Compatible:y,provider:f}),estimateTransactionFee:uG({chain:T,isEIP1559Compatible:y,provider:f}),getAddress:()=>{return x?x.getAddress():void 0},isApproved:FG({chain:T,provider:f}),sendTransaction:h1({chain:T,isEIP1559Compatible:y,provider:f,signer:x}),signMessage:x?.signMessage,transfer:SG({chain:T,isEIP1559Compatible:y,provider:f,signer:x}),validateAddress:(L)=>df({address:L})}}function df({address:T}){try{return xy.getAddress(T),!0}catch(f){return!1}}function TT(T){return T instanceof xy.BrowserProvider}function lT(T,f,x){return new xy.Contract(T,xy.Interface.from(f),x)}function rf({provider:T}){return function(x,y){return new xy.Contract(x,xy.Interface.from(y),T)}}function af({abi:T,funcName:f}){let x=T.find((y)=>y.name===f);if(!x)throw new Y.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return x.stateMutability&&PG.includes(x.stateMutability)}function u1(T){return xy.getAddress(T)}function fT(T){return function({value:x,...y}){if(!TT(T))throw new Y.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:L,gasPrice:G,maxFeePerGas:X,maxPriorityFeePerGas:Z,...B}=y;return T.send("eth_sendTransaction",[{...B,value:wT(BigInt(x||0))}])}}function b1(T,f){let x=GT(T,f);if(x)return xy.getAddress(x.toLowerCase());throw new Y.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function GT({chain:T,symbol:f,ticker:x},y){try{let L=T===Y.Chain.BinanceSmartChain&&f==="BNB"&&x==="BNB",G=T===y&&f===y&&x===y,X=vG.includes(T)&&f==="ETH"&&x==="ETH";if(G||L||X)return lG[y];return xy.getAddress(f.slice(x.length+1).replace(/^0X/,""))}catch(L){return null}}function my({provider:T}){return async({contractAddress:f,abi:x,funcName:y,funcParams:L=[],txOverrides:G})=>lT(f,x,T).getFunction(y).populateTransaction(...L.concat(G).filter((X)=>typeof X<"u"))}function cy({chain:T,provider:f,isEIP1559Compatible:x=!0}){if(T===Y.Chain.Arbitrum)return async function(){try{let{gasPrice:L}=await f.getFeeData();if(!L)throw new Y.SwapKitError("toolbox_evm_no_fee_data");return{[Y.FeeOption.Average]:{gasPrice:L},[Y.FeeOption.Fast]:{gasPrice:L},[Y.FeeOption.Fastest]:{gasPrice:L}}}catch(L){throw new Y.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}};return async function(){try{let{maxFeePerGas:L,maxPriorityFeePerGas:G,gasPrice:X}=await f.getFeeData();if(x){if(L===null||G===null)throw new Y.SwapKitError("toolbox_evm_no_fee_data");return{[Y.FeeOption.Average]:{maxFeePerGas:L,maxPriorityFeePerGas:G},[Y.FeeOption.Fast]:{maxFeePerGas:Y.applyFeeMultiplierToBigInt(L,Y.FeeOption.Fast),maxPriorityFeePerGas:Y.applyFeeMultiplierToBigInt(G,Y.FeeOption.Fast)},[Y.FeeOption.Fastest]:{maxFeePerGas:Y.applyFeeMultiplierToBigInt(L,Y.FeeOption.Fastest),maxPriorityFeePerGas:Y.applyFeeMultiplierToBigInt(G,Y.FeeOption.Fastest)}}}if(!X)throw new Y.SwapKitError("toolbox_evm_no_gas_price");return{[Y.FeeOption.Average]:{gasPrice:X},[Y.FeeOption.Fast]:{gasPrice:Y.applyFeeMultiplierToBigInt(X,Y.FeeOption.Fast)},[Y.FeeOption.Fastest]:{gasPrice:Y.applyFeeMultiplierToBigInt(X,Y.FeeOption.Fastest)}}}catch(L){throw new Y.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}}}function sf({provider:T,isEIP1559Compatible:f,signer:x,chain:y}){return async function({callProvider:G,contractAddress:X,abi:Z,funcName:B,funcParams:J=[],txOverrides:Q={},feeOption:q=Y.FeeOption.Fast}){let z=G||T;if(!X)throw new Y.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let M=af({abi:Z,funcName:B});if(M&&TT(z)&&x){let D=my({chain:y,provider:z}),S=Q?.from||await x?.getAddress(),K=await D({abi:Z,contractAddress:X,funcName:B,funcParams:J,txOverrides:{...Q,from:S}});return fT(z)(K)}let _=lT(X,Z,z);if(M){if(!x)throw new Y.SwapKitError("toolbox_evm_no_signer");let D=Q?.from||await x.getAddress();if(!D)throw new Y.SwapKitError("toolbox_evm_no_signer_address");let S=_.connect(x),K=cy({chain:y,isEIP1559Compatible:f,provider:T}),{maxFeePerGas:d,maxPriorityFeePerGas:t,gasPrice:Ty}=(await K())[q],e=await _.getFunction(B).estimateGas(...J,Q),Ly=await S[B](...J,{...Q,gasLimit:e,gasPrice:Ty,maxFeePerGas:d,maxPriorityFeePerGas:t,nonce:Q?.nonce||await z.getTransactionCount(D)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let R=await _[B]?.(...J);return typeof R?.hash==="string"?R?.hash:R}}function n1({provider:T,chain:f}){return function({assetAddress:y,spenderAddress:L,from:G}){return sf({chain:f,isEIP1559Compatible:!0,provider:T})({abi:ey.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[G,L]})}}function FG({provider:T,chain:f}){return async function({assetAddress:y,spenderAddress:L,from:G,amount:X=PT}){let Z=await n1({chain:f,provider:T})({assetAddress:y,from:G,spenderAddress:L});return Y.SwapKitNumber.fromBigInt(Z).gte(Y.SwapKitNumber.fromBigInt(BigInt(X)))}}function AG({signer:T,isEIP1559Compatible:f=!0,provider:x,chain:y}){return async function({assetAddress:G,spenderAddress:X,feeOptionKey:Z=Y.FeeOption.Fast,amount:B,gasLimitFallback:J,from:Q,nonce:q}){let z=[X,BigInt(B||PT)],M=await T?.getAddress()||Q,_={abi:ey.erc20ABI,contractAddress:G,funcName:"approve",funcParams:z,signer:T,txOverrides:{from:M}};if(TT(x)){let D=my({chain:y,provider:x}),S=fT(x),K=await D(_);return S(K)}return sf({chain:y,isEIP1559Compatible:f,provider:x,signer:T})({..._,feeOption:Z,funcParams:z,txOverrides:{from:M,gasLimit:J?BigInt(J.toString()):void 0,nonce:q}})}}function SG({signer:T,isEIP1559Compatible:f=!0,provider:x}){return async function({assetValue:L,memo:G,recipient:X,feeOptionKey:Z=Y.FeeOption.Fast,sender:B,...J}){let{hexlify:Q,toUtf8Bytes:q}=await import("ethers"),z=L.getBaseValue("bigint"),M=L.chain,_=B||await T?.getAddress(),R=h1({chain:M,isEIP1559Compatible:f,provider:x,signer:T});if(!_)throw new Y.SwapKitError("toolbox_evm_no_from_address");if(L.isGasAsset){let Ty={...J,data:Q(q(G||"")),feeOptionKey:Z,from:_,to:X,value:z};return R(Ty)}if(!GT(L,M))throw new Y.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:S,maxPriorityFeePerGas:K,gasPrice:d}=(await cy({chain:M,isEIP1559Compatible:f,provider:x})())[Z],t=await gf({chain:M,provider:x,signer:T})({assetValue:L,data:Q(q(G||"")),gasPrice:d,maxFeePerGas:S,maxPriorityFeePerGas:K,memo:G,recipient:X,sender:_});return R(t)}}function j1({provider:T,signer:f}){return function({contractAddress:y,abi:L,funcName:G,funcParams:X=[],txOverrides:Z}){if(!y)throw new Y.SwapKitError("toolbox_evm_no_contract_address");let B=lT(y,L,T);return f?B.connect(f).getFunction(G).estimateGas(...X,Z):B.getFunction(G).estimateGas(...X,Z)}}function VG({provider:T,signer:f}){return async function({assetValue:y,recipient:L,memo:G,data:X,sender:Z,funcName:B,funcParams:J,txOverrides:Q}){let q=y.bigIntValue,z=y.isGasAsset?null:GT(y,y.chain);if(z&&B)return j1({provider:T,signer:f})({abi:ey.erc20ABI,contractAddress:z,funcName:B,funcParams:J,txOverrides:Q});let{hexlify:M,toUtf8Bytes:_}=await import("ethers");return T.estimateGas({data:X?X:G?M(_(G)):void 0,from:Z,to:L,value:q})}}function h1({provider:T,signer:f,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:G=Y.FeeOption.Fast,...X}){let{from:Z,to:B,data:J,value:Q,...q}=X;if(!f)throw new Y.SwapKitError("toolbox_evm_no_signer");if(!B)throw new Y.SwapKitError("toolbox_evm_no_to_address");let z={...q,data:J||"0x",from:Z,to:B,value:BigInt(Q||0)};if(TT(T))return fT(T)(z);let M=Z||await f.getAddress(),_=X.nonce||await T.getTransactionCount(M),R=(await T.getNetwork()).chainId,D=$G(z)||x,S=cy({chain:y,isEIP1559Compatible:x,provider:T}),K=D&&!(z.maxFeePerGas&&z.maxPriorityFeePerGas)||!z.gasPrice?Object.entries((await S())[G]).reduce((t,[Ty,e])=>({...t,[Ty]:wT(BigInt(e))}),{}):{},d;try{d=wT(z.gasLimit||await T.estimateGas(z)*11n/10n)}catch(t){throw new Y.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:t})}try{let t={...z,chainId:R,gasLimit:d,nonce:_,type:D?2:0,...K};try{return(await f.sendTransaction(t)).hash}catch(Ty){let e=await f.signTransaction({...t,from:M});return(await T.broadcastTransaction(e)).hash}}catch(t){throw new Y.SwapKitError("toolbox_evm_error_sending_transaction",{error:t})}}}function gf({provider:T,signer:f}){return async function({assetValue:y,memo:L,recipient:G,data:X,sender:Z,maxFeePerGas:B,maxPriorityFeePerGas:J,gasPrice:Q,...q}){let z=y.getBaseValue("bigint"),M=y.chain,_=Z||await f?.getAddress();if(!_)throw new Y.SwapKitError("toolbox_evm_no_from_address");if(Y.isGasAsset(y)){let{hexlify:S,toUtf8Bytes:K}=await import("ethers");return{...q,data:X||S(K(L||"")),from:_,to:G,value:z}}let R=GT(y,M);if(!R)throw new Y.SwapKitError("toolbox_evm_no_contract_address");return my({chain:y.chain,provider:T})({abi:ey.erc20ABI,contractAddress:R,funcName:"transfer",funcParams:[G,z],txOverrides:{from:_,gasPrice:Q,maxFeePerGas:B,maxPriorityFeePerGas:J}})}}function KG({provider:T,signer:f,chain:x}){return async function({assetAddress:L,spenderAddress:G,amount:X,from:Z}){let B=await f?.getAddress()||Z,J=my({chain:x,provider:T}),Q=["bigint","number"].includes(typeof X)?X:X||PT;return await J({abi:ey.erc20ABI,contractAddress:L,funcName:"approve",funcParams:[G,BigInt(Q)],txOverrides:{from:B}})}}function uG({provider:T,isEIP1559Compatible:f=!0}){return async function({feeOption:y=Y.FeeOption.Fast,chain:L,...G}){let Z=await cy({chain:L,isEIP1559Compatible:f,provider:T})(),B=await T.estimateGas(G),J=Y.AssetValue.from({chain:L}),{gasPrice:Q,maxFeePerGas:q,maxPriorityFeePerGas:z}=Z[y];if(!f&&Q)return J.set(Y.SwapKitNumber.fromBigInt(Q*B,J.decimal));if(q&&z){let M=(q+z)*B;return J.set(Y.SwapKitNumber.fromBigInt(M,J.decimal))}throw new Y.SwapKitError("toolbox_evm_no_gas_price")}}var Y,ey,xy,PT,PG,lG,vG,$G=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var yf=l(()=>{sy();Y=require("@swapkit/helpers"),ey=require("@swapkit/helpers/contracts"),xy=require("ethers"),PT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");PG=["payable","nonpayable"];lG={[Y.Chain.Arbitrum]:Y.ContractAddress.ARB,[Y.Chain.Aurora]:Y.ContractAddress.AURORA,[Y.Chain.Avalanche]:Y.ContractAddress.AVAX,[Y.Chain.Base]:Y.ContractAddress.BASE,[Y.Chain.Berachain]:Y.ContractAddress.BERA,[Y.Chain.BinanceSmartChain]:Y.ContractAddress.BSC,[Y.Chain.Ethereum]:Y.ContractAddress.ETH,[Y.Chain.Gnosis]:Y.ContractAddress.GNO,[Y.Chain.Optimism]:Y.ContractAddress.OP,[Y.Chain.Polygon]:Y.ContractAddress.MATIC},vG=[Y.Chain.Arbitrum,Y.Chain.Aurora,Y.Chain.Base,Y.Chain.Optimism]});async function Tf({provider:T,...f}){let x=await Oy(Gy.Chain.Ethereum)({provider:T,...f});async function y(L,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",X="aggregate",Z=Gy.FeeOption.Fast){let B=await x.createContractTxObject({abi:$1,contractAddress:G,funcName:X,funcParams:[L]});return x.sendTransaction({...B,feeOptionKey:Z})}return{...x,multicall:y}}function Oy(T){return async function({provider:x,...y}){let L=await Gy.getRPCUrl(T),G=x||await oy(T,L),X=tf(T),Z=vT.match(y).with({phrase:vT.P.string},({phrase:J})=>p1.HDNodeWallet.fromPhrase(J).connect(G)).with({signer:vT.P.any},({signer:J})=>J).otherwise(()=>{return});return{...yT({chain:T,isEIP1559Compatible:X,provider:G,signer:Z}),getBalance:ET(T).getBalance,getNetworkParams:cf(T)}}}var Gy,p1,vT,ff,Gf,Lf,xf,Xf,Zf,Bf,Jf;var ef=l(()=>{eT();K1();sy();yf();Gy=require("@swapkit/helpers"),p1=require("ethers"),vT=require("ts-pattern");ff=Oy(Gy.Chain.Arbitrum),Gf=Oy(Gy.Chain.Aurora),Lf=Oy(Gy.Chain.Avalanche),xf=Oy(Gy.Chain.Base),Xf=Oy(Gy.Chain.Berachain),Zf=Oy(Gy.Chain.BinanceSmartChain),Bf=Oy(Gy.Chain.Gnosis),Jf=Oy(Gy.Chain.Polygon)});var o1;var m1=l(()=>{o1=[{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 y0(T){return new Qf.Contract(bG,o1,T)}function c1(T){return function(){let x=y0(T);if(x&&"l1BaseFee"in x)return x?.l1BaseFee();return}}function t1(T){return async function({from:x,to:y,nonce:L,...G}){let{Transaction:X}=await import("ethers");if(!y)throw new n.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return X.from({...G,authorizationList:G.authorizationList,nonce:L?L:x?await T.getTransactionCount(x):0,to:y}).serialized}}function g1(T){return async function(x){let y=y0(T),L=await t1(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(L)}}function i1(T){return async function(x){let y=await T.send("eth_gasPrice",[]),L=await T.estimateGas(x);return y.mul(L)}}function nG(T){return async function(x){let y=await g1(T)(x),L=await i1(T)(x);return y.add(L)}}function jG(T){return async function(x){let y=y0(T),L=await t1(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(L)}}function hG(){let{baseDecimal:T,chainId:f,blockExplorerUrl:x,name:y,rpcUrl:L}=n.getChainConfig(n.Chain.Optimism);return{blockExplorerUrls:[x],chainId:f,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:n.Chain.Ethereum},rpcUrls:[L]}}async function pG(T){try{let{maxFeePerGas:f,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),L=c1(T)(),G=y;if(!(f&&x))throw new n.SwapKitError("toolbox_evm_no_fee_data");return{[n.FeeOption.Average]:{gasPrice:G,l1GasPrice:L,maxFeePerGas:f,maxPriorityFeePerGas:x},[n.FeeOption.Fast]:{gasPrice:n.applyFeeMultiplierToBigInt(G,n.FeeOption.Fast),l1GasPrice:n.applyFeeMultiplierToBigInt(L||0n,n.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:n.applyFeeMultiplierToBigInt(x,n.FeeOption.Fast)},[n.FeeOption.Fastest]:{gasPrice:n.applyFeeMultiplierToBigInt(G,n.FeeOption.Fastest),l1GasPrice:n.applyFeeMultiplierToBigInt(L||0n,n.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:n.applyFeeMultiplierToBigInt(x,n.FeeOption.Fastest)}}}catch(f){throw new n.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function qf({provider:T,...f}){let x=n.Chain.Optimism,y=await n.getRPCUrl(x),L=T||await oy(x,y),G=FT.match(f).with({phrase:FT.P.string},({phrase:B})=>Qf.HDNodeWallet.fromPhrase(B).connect(L)).with({signer:FT.P.any},({signer:B})=>B).otherwise(()=>{return}),X=yT({provider:L,signer:G}),Z=c1(L);return{...X,estimateGasPrices:pG(L),estimateL1Gas:jG(L),estimateL1GasCost:g1(L),estimateL2GasCost:i1(L),estimateTotalGasCost:nG(L),getBalance:ET(n.Chain.Optimism).getBalance,getL1GasPrice:Z,getNetworkParams:hG}}var n,Qf,FT,bG="0x420000000000000000000000000000000000000f";var T0=l(()=>{eT();m1();sy();yf();n=require("@swapkit/helpers"),Qf=require("ethers"),FT=require("ts-pattern")});var r1={};Qy(r1,{toChecksumAddress:()=>u1,isStateChangingCall:()=>af,isBrowserProvider:()=>TT,getTokenAddress:()=>GT,getEvmToolbox:()=>d1,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>fT,getCreateContractTxObject:()=>my,getCreateContract:()=>rf,getChecksumAddressFromAsset:()=>b1,evmValidateAddress:()=>df,createContract:()=>lT,OPToolbox:()=>qf,MAX_APPROVAL:()=>PT,MATICToolbox:()=>Jf,GNOToolbox:()=>Bf,ETHToolbox:()=>Tf,BaseEVMToolbox:()=>yT,BSCToolbox:()=>Zf,BERAToolbox:()=>Xf,BASEToolbox:()=>xf,AVAXToolbox:()=>Lf,AURORAToolbox:()=>Gf,ARBToolbox:()=>ff});async function d1(T,f){let x={...f,provider:f?.provider||await oy(T)};switch(T){case Xy.Chain.Arbitrum:return ff(x);case Xy.Chain.Aurora:return Gf(x);case Xy.Chain.Avalanche:return Lf(x);case Xy.Chain.Base:return xf(x);case Xy.Chain.Berachain:return Xf(x);case Xy.Chain.BinanceSmartChain:return Zf(x);case Xy.Chain.Gnosis:return Bf(x);case Xy.Chain.Optimism:return qf(x);case Xy.Chain.Polygon:return Jf(x);case Xy.Chain.Ethereum:return Tf(x);default:throw new Xy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Xy;var f0=l(()=>{sy();ef();T0();Xy=require("@swapkit/helpers");yf();ef();T0()});var a1;var s1=l(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(a1||={})});var e1={};Qy(e1,{toHexString:()=>wT,toChecksumAddress:()=>u1,isStateChangingCall:()=>af,isBrowserProvider:()=>TT,getTokenAddress:()=>GT,getProvider:()=>oy,getNetworkParams:()=>cf,getIsEIP1559Compatible:()=>tf,getEvmToolbox:()=>d1,getEvmApi:()=>ET,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>fT,getCreateContractTxObject:()=>my,getCreateContract:()=>rf,getChecksumAddressFromAsset:()=>b1,evmValidateAddress:()=>df,createCustomEvmApi:()=>OG,createContract:()=>lT,OPToolbox:()=>qf,MAX_APPROVAL:()=>PT,MATICToolbox:()=>Jf,GNOToolbox:()=>Bf,EthNetwork:()=>a1,ETHToolbox:()=>Tf,BaseEVMToolbox:()=>yT,BSCToolbox:()=>Zf,BERAToolbox:()=>Xf,BASEToolbox:()=>xf,AVAXToolbox:()=>Lf,AURORAToolbox:()=>Gf,ARBToolbox:()=>ff});module.exports=Yy(e1);var y5=l(()=>{eT();sy();f0();s1()});async function oG(T,f,x){try{let y=await T.query.system?.account?.(x);if(!y)return[f.set(0)];let{data:{free:L}}=y,G=ty.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function mG(T,f,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[f.set(0)];let L=y.balance||y.data?.balance;if(!L||L.isEmpty)return[f.set(0)];let G=ty.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function T5(T,f){return function(y){let L=ty.AssetValue.from({chain:T});switch(T){case ty.Chain.Chainflip:return mG(f,L,y);default:return oG(f,L,y)}}}var ty;var f5=l(()=>{ty=require("@swapkit/helpers")});var cG,tG,gG,Ky;var G0=l(()=>{cG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},tG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},gG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},Ky={DOT:cG,FLIP:tG,GENERIC:gG}});function iG(T,f){switch(T){case g.Chain.Chainflip:return L5(f);case g.Chain.Polkadot:return G5(f);default:throw new g.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function LT(T){return"address"in T}async function x0(T,f){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({ss58Format:f,type:"sr25519"}).addFromUri(T)}function T2(T,f){let x=XT.decodeAddress(T);return XT.encodeAddress(x,f)}function x5(T,f){return xT.isHex(T)?xT.hexToU8a(T):XT.decodeAddress(T,void 0,f)}function X5(T,f="ss58",x){if(f==="hex")return xT.u8aToHex(T);return XT.encodeAddress(T,x)}async function B0({generic:T,chain:f,...x}){let{ApiPromise:y,WsProvider:L}=await import("@polkadot/api"),G=await g.getRPCUrl(f),X=new L(G),Z=await y.create({provider:X}),B=g.AssetValue.from({chain:f}),J=T?Ky.GENERIC:Ky[f],Q=await AT.match(x).with({phrase:AT.P.string},({phrase:q})=>x0(q,Ky[f].prefix)).with({signer:AT.P.any},({signer:q})=>q).otherwise(()=>{return});return Z5({api:Z,chain:f,gasAsset:B,network:J,signer:Q})}var xT,XT,g,AT,G5=({generic:T=!1,...f}={})=>{return B0({chain:g.Chain.Polkadot,generic:T,...f})},L5=async({generic:T=!1,...f}={})=>{return{...await B0({chain:g.Chain.Chainflip,generic:T,...f})}},X0=(T,f)=>T.rpc.system.accountNextIndex(f),L0=(T,f)=>{try{let x=x5(T,f);return X5(x,"ss58",f),!0}catch(x){return!1}},Z0=(T,{recipient:f,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(f,x.getBaseValue("number")),dG=async(T,f,{recipient:x,assetValue:y,sender:L})=>{let G=Z0(T,{assetValue:y,recipient:x});if(!G)throw new g.SwapKitError("toolbox_substrate_transfer_error");let X=LT(f),Z=X?f.address:L;if(!Z)throw new g.SwapKitError("core_transaction_invalid_sender_address");let B=await X0(T,Z);return(await G.signAndSend(X?f:Z,{nonce:B,signer:X?void 0:f})).toString()},rG=async(T,f,x,{recipient:y,assetValue:L,sender:G})=>{let X=Z0(T,{assetValue:L,recipient:y}),Z=LT(f)?f.address:G;if(!Z)return;let B=await X?.paymentInfo(Z,{nonce:await X0(T,Z)})||{partialFee:0};return x.set(g.SwapKitNumber.fromBigInt(BigInt(B.partialFee.toString()),x.decimal).getValue("string"))},aG=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},sG=async(T,f)=>{return await f.signAsync(T)},eG=(T,f,x)=>{if(x)return f.signAndSend(T,x);return f.signAndSend(T).toString()},y2=async({signer:T,address:f,tx:x,callback:y,api:L})=>{let G=await X0(L,f);if(y)x.signAndSend(f,{nonce:G,signer:T},y);return x.signAndSend(f,{nonce:G,signer:T}).toString()},Z5=({api:T,network:f,gasAsset:x,signer:y,chain:L})=>({api:T,broadcast:aG,convertAddress:T2,createKeyring:(G)=>x0(G,f.prefix),createTransaction:(G)=>Z0(T,G),decodeAddress:x5,encodeAddress:X5,estimateTransactionFee:(G)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return rG(T,y,x,G)},gasAsset:x,getAddress:(G)=>{let X=G||y;if(!X)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return LT(X)?X.address:void 0},getBalance:T5(L||g.Chain.Polkadot,T),network:f,sign:(G)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(LT(y))return sG(y,G);throw new g.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:X,address:Z})=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(LT(y))return eG(y,G,X);if(Z)return y2({address:Z,api:T,callback:X,signer:y,tx:G});throw new g.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return dG(T,y,G)},validateAddress:(G)=>L0(G,f.prefix)}),f2=({address:T,chain:f})=>{let{prefix:x}=f===g.Chain.Polkadot?Ky.DOT:Ky.FLIP;return L0(T,x)||L0(T,Ky.GENERIC.prefix)};var B5=l(()=>{f5();G0();xT=require("@polkadot/util"),XT=require("@polkadot/util-crypto"),g=require("@swapkit/helpers"),AT=require("ts-pattern")});var J0={};Qy(J0,{substrateValidateAddress:()=>f2,isKeyringPair:()=>LT,getSubstrateToolbox:()=>iG,createSubstrateToolbox:()=>B0,createKeyring:()=>x0,SubstrateNetwork:()=>Ky,PolkadotToolbox:()=>G5,ChainflipToolbox:()=>L5,BaseSubstrateToolbox:()=>Z5});module.exports=Yy(J0);var Q0=l(()=>{B5();G0()});async function G2({chain:T,txHash:f}){let x=`${zf(T)}/push/transaction`,y=JSON.stringify({data:f});try{let L=await $.RequestClient.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(L.context.code!==200)throw new $.SwapKitError("toolbox_utxo_broadcast_failed",{error:L.context.error||"Transaction broadcast failed"});return L.data?.transaction_hash||f}catch(L){let G=await $.getRPCUrl(T);if(G){let X=JSON.stringify({id:V1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),Z=await $.RequestClient.post(G,{body:X,headers:{"Content-Type":"application/json"}});if(Z.error)throw new $.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.error?.message});if(Z.result.includes('"code":-26'))throw new $.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Z.result}throw L}}function zf(T){return`https://api.blockchair.com/${L2(T)}`}function J5(T){switch(T){case $.Chain.Bitcoin:return 5;case $.Chain.Dogecoin:return 1e4;case $.Chain.Litecoin:return 1;case $.Chain.Zcash:return 1;default:return 2}}function L2(T){switch(T){case $.Chain.BitcoinCash:return"bitcoin-cash";case $.Chain.Litecoin:return"litecoin";case $.Chain.Dash:return"dash";case $.Chain.Dogecoin:return"dogecoin";case $.Chain.Zcash:return"zcash";case $.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function x2(T){try{let{feePerKb:f}=await $.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=f/1000;return Math.max(x,J5(T))}catch(f){return J5(T)}}async function q0(T,f){let x=await $.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!x||x.context.code!==200)throw new $.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function _5({address:T,chain:f,apiKey:x}){if(!T)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await q0(`${zf(f)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch(y){return{address:{balance:0,transaction_count:0},utxo:[]}}}async function X2({address:T,chain:f,apiKey:x}){return(await _5({address:T,apiKey:x,chain:f}))?.address.balance||0}async function M5({chain:T,apiKey:f,txHash:x}){if(!x)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await q0(`${zf(T)}/raw/transaction/${x}`,f))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function Z2({chain:T,address:f,apiKey:x,offset:y=0,limit:L=30}){return(await q0(`${zf(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${L}&offset=${y}`,x)).map(({is_spent:B,script_hex:J,block_id:Q,transaction_hash:q,index:z,value:M,spending_signature_hex:_})=>({hash:q,index:z,is_confirmed:Q!==-1,is_spent:B,script_hex:J,txHex:_,value:M}))}function B2(T){return T.reduce((f,x)=>f+x.value,0)}function Q5(T,f){let x=[...T].sort((y,L)=>L.value-y.value);if(f){let y=[],L=0;for(let G of x)if(y.push(G),L+=G.value,L>=f)break;return y}return x}async function N5({chain:T,address:f,apiKey:x,targetValue:y,accumulativeValue:L=0,offset:G=0,limit:X=30}){if(!f)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Z=await Z2({address:f,apiKey:x,chain:T,limit:X,offset:G,targetValue:y}),J=Z.length<X,Q=Z.filter(({is_spent:D})=>!D),q=B2(Q),z=L+q,M=y&&z>=y;if(J||M)return Q5(Q,y);let _=await N5({accumulativeValue:z,address:f,apiKey:x,chain:T,limit:X,offset:G+X,targetValue:y}),R=[...Q,..._];return Q5(R,y)}catch(Z){return console.error("Failed to fetch unspent UTXOs:",Z),[]}}async function J2({address:T,chain:f,apiKey:x,fetchTxHex:y=!0,targetValue:L}){let G=await N5({address:T,apiKey:x,chain:f,targetValue:L}),X=[];for(let{hash:Z,index:B,script_hex:J,value:Q}of G){let q;if(y)q=await M5({apiKey:x,chain:f,txHash:Z});X.push({address:T,hash:Z,index:B,txHex:q,value:Q,witnessUtxo:{script:Buffer.from(J,"hex"),value:Q}})}return X}function Q2(T){let f=$.SKConfig.get("apiKeys").blockchair||"";return $.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>G2({chain:T,txHash:x}),getAddressData:(x)=>_5({address:x,apiKey:f,chain:T}),getBalance:(x)=>X2({address:x,apiKey:f,chain:T}),getRawTx:(x)=>M5({apiKey:f,chain:T,txHash:x}),getSuggestedTxFee:()=>x2(T),getUtxos:(x)=>J2({...x,apiKey:f,chain:T})}}function q2(T){return T}function Zy(T){let f=$.SKConfig.get("apis")[T];if(f)return $.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return Q2(T)}function Uy(){return function(f){switch(f){case $.Chain.Bitcoin:return z5.networks.bitcoin;case $.Chain.BitcoinCash:return ZT.default.bitcoincash.main.toBitcoinJS();case $.Chain.Dash:return ZT.default.dash.main.toBitcoinJS();case $.Chain.Litecoin:return ZT.default.litecoin.main.toBitcoinJS();case $.Chain.Dogecoin:{let x={private:70615956,public:70617039},y=ZT.default.dogecoin.test;return y.versions.bip32=x,ZT.default.dogecoin.main.toBitcoinJS()}case $.Chain.Zcash:return q5.networks.zcash;default:throw new $.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var q5,$,z5,ZT;var Y5=l(()=>{OT();q5=require("@bitgo/utxo-lib"),$=require("@swapkit/helpers"),z5=require("bitcoinjs-lib"),ZT=U(require("coininfo"))});function Y0(T){try{return _f(T),!0}catch(f){return!1}}function U0(T){return _f(T)?.network}function BT(T){let f=_f(T);if(f?.format==="legacy")return T;return M2(f)}function ST(T){let f=_f(T);return N2(f)}function _f(T){try{let f=z2(T);if(f)return f}catch(f){}try{let f=_2(T);if(f)return f}catch(f){}throw new z0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function z2(T){try{let f=_0.default.decode(T);if(f.length!==21)throw new z0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let x=f[0],y=Array.prototype.slice.call(f,1);switch(x){case c.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case c.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case c.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case c.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case c.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case c.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch(f){return}}function _2(T){if(T.indexOf(":")!==-1)try{return U5(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let x of f)try{return U5(`${x}:${T}`)}catch(y){}}return}function U5(T){try{let{hash:f,prefix:x,type:y}=M0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(f){return}}function M2(T){let f=c.legacy[T.network][T.type],x=Buffer.alloc(1+T.hash.length);return x[0]=f,x.set(T.hash,1),_0.default.encode(x)}function N2(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",x=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return M0.default.encode(f,x,y)}var z0,_0,M0,N0,c;var H5=l(()=>{z0=require("@swapkit/helpers"),_0=U(require("bs58check")),M0=U(require("cashaddrjs"));((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(N0||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Hy(T){let f=Buffer.from(T,"utf8");return Nf.script.compile([Nf.opcodes.OP_RETURN,f])}var W5,Nf,Y2=1000,Yf=10,R5=10,U2=41,H2=107,Uf,Mf,VT,$T=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new W5.SwapKitError("toolbox_utxo_invalid_address",{address:T})},JT=({inputs:T,outputs:f,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?$T(T[0].address):"P2PKH",L=T.filter((X)=>X.value>=Mf["type"in X?X.type:"P2PKH"]*Math.ceil(x)).reduce((X,Z)=>X+uy(Z),0),G=f?.reduce((X,Z)=>X+KT(Z),0)||VT[y];return Yf+L+G},uy=(T)=>{if("type"in T)return Mf[T.type];if("address"in T&&T.address)return Mf[$T(T.address)];return U2+H2},KT=(T,f)=>{if(T?.script)return R5+T.script.length+(T.script.length>=74?2:1);if(f)return VT[f];return VT.P2PKH};var H0=l(()=>{W5=require("@swapkit/helpers"),Nf=require("bitcoinjs-lib");((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(Uf||={});Mf={["P2PKH"]:148,["P2WPKH"]:68},VT={["P2PKH"]:34,["P2WPKH"]:31}});function Hf(T){switch(T){case Wy.Chain.Bitcoin:case Wy.Chain.BitcoinCash:return 550;case Wy.Chain.Dash:case Wy.Chain.Litecoin:return 5500;case Wy.Chain.Dogecoin:return 1e5;case Wy.Chain.Zcash:return 546;default:throw new Wy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Ry({inputs:T,outputs:f,feeRate:x=1,chain:y=Wy.Chain.Bitcoin,changeAddress:L=""}){let G=Math.ceil(x),X=T[0]&&"address"in T[0]&&T[0].address?$T(T[0].address):"P2PKH",Z=T.filter((M)=>uy(M)*G<=M.value),B=Yf+f.reduce((M,_)=>M+KT(_,X),0),J=f.reduce((M,_)=>M+_.value,0),Q=B*G,q=0,z=[];for(let M of Z){let _=uy(M),R=G*_;Q+=R,q+=M.value,z.push(M);let D=Q+J;if(q<D)continue;let S=q-D,K=G*KT({address:"",value:0},X);if(S>K){let d=K+Q,t=q-(J+d);if(t>Math.max(uy({})*G,Hf(y)))return{fee:d,inputs:z,outputs:f.concat({address:L,value:t})}}return{fee:Q,inputs:z,outputs:f}}return{fee:G*JT({feeRate:G,inputs:T,outputs:f})}}var Wy;var C5=l(()=>{H0();Wy=require("@swapkit/helpers")});var QT=l(()=>{Y5();H5();C5();H0()});function gy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function by(T){let f=gy(T);return Y0(f)&&U0(f)==="mainnet"}function qT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=Wf.networks.zcash;try{return Wf.address.toOutputScript(T,f),!0}catch{let x=D5.default.decode(T);if(x.length<21)return!1;let y=x[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}var Wf,D5;var uT=l(()=>{QT();Wf=require("@bitgo/utxo-lib"),D5=U(require("bs58check"))});function O5({inputs:T,outputs:f,chain:x,psbt:y,sender:L,compiledMemo:G}){for(let X of T){let Z=!!X.witnessUtxo&&!bT.includes(x)&&{witnessUtxo:X.witnessUtxo},B=bT.includes(x)&&{nonWitnessUtxo:X.txHex?Buffer.from(X.txHex,"hex"):void 0};y.addInput({hash:X.hash,index:X.index,...Z,...B})}for(let X of f){let Z="address"in X&&X.address?X.address:L,B=X.script;if(B&&!G)continue;let J=B?{script:G,value:0}:{address:Z,value:X.value};Cy.initEccLib(Rf.default),y.addOutput(J)}return{inputs:T,psbt:y}}async function E5({assetValue:T,recipient:f,memo:x,feeRate:y,sender:L,fetchTxHex:G=!1}){let X=T.chain,Z=x?await Hy(x):null,B=await l5({assetValue:T,fetchTxHex:G,memo:x,recipient:f,sender:L}),{inputs:J,outputs:Q}=Ry({...B,chain:X,feeRate:y});if(!(J&&Q))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:L});let q=await Uy(),z=new Cy.Psbt({network:q(X)});if(X===v.Chain.Dogecoin)z.setMaximumFeeRate(650000000);let{psbt:M,inputs:_}=await O5({chain:X,compiledMemo:Z,inputs:J,outputs:Q,psbt:z,sender:L});return{inputs:_,psbt:M,utxos:B.inputs}}async function w5(){let T=await Uy();return function({address:x,chain:y}){if(y===v.Chain.BitcoinCash)return by(x);if(y===v.Chain.Zcash)return qT(x);try{return Cy.initEccLib(Rf.default),Cy.address.toOutputScript(x,T(y)),!0}catch(L){return!1}}}async function W2({chain:T,phrase:f,derivationPath:x}){let y=(await nT(T))({derivationPath:x,phrase:f});async function L(X){return await X.signAllInputs(y),X}function G(){return R0(T)(y)}return{getAddress:G,signTransaction:L}}async function iy({chain:T,...f}){let x="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,L=v.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:y})),G=x?await W2({chain:T,derivationPath:L,phrase:x}):("signer"in f)?f.signer:void 0;function X(){return Promise.resolve(G?.getAddress())}let Z=await w5(),B=await nT(T);return{accumulative:Ry,broadcastTx:(J)=>Zy(T).broadcastTx(J),calculateTxSize:JT,createKeysForPath:B,createTransaction:E5,estimateMaxSendableAmount:R2(T),estimateTransactionFee:C2(T),getAddress:X,getAddressFromKeys:R0(T),getBalance:ay(T),getFeeRates:()=>jT(T),getInputsOutputsFee:P5,getPrivateKeyFromMnemonic:(J)=>{return B(J).toWIF()},transfer:D2(G),validateAddress:(J)=>Z({address:J,chain:T})}}async function P5({assetValue:T,feeOptionKey:f=v.FeeOption.Fast,feeRate:x,memo:y,sender:L,recipient:G}){let X=T.chain,Z=await l5({assetValue:T,memo:y,recipient:G,sender:L}),B=x?Math.floor(x):(await jT(X))[f];return Ry({...Z,chain:X,feeRate:B})}function R2(T){return async function({from:x,memo:y,feeRate:L,feeOptionKey:G=v.FeeOption.Fast,recipients:X=1}){let Z=await Zy(T).getAddressData(x),B=L?Math.ceil(L):(await jT(T))[G],J=Z?.utxo.map((_)=>({..._,hash:"",type:"P2PKH"})).filter((_)=>_.value>Math.max(Hf(T),uy(_)*B));if(!J?.length)return v.AssetValue.from({chain:T});let Q=v.AssetValue.from({chain:T,value:J.reduce((_,R)=>_+R.value,0)}),q=typeof X==="number"?Array.from({length:X},()=>({address:x,value:0})):X;if(y){let _=await Hy(y);q.push({address:x,script:_,value:0})}let M=JT({feeRate:B,inputs:J,outputs:q})*B;return Q.sub(M)}}function C2(T){return async(f)=>{let x=await P5(f);return v.AssetValue.from({chain:T,value:v.SwapKitNumber.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function nT(T){let f=await Uy();switch(T){case v.Chain.BitcoinCash:return function({phrase:y,derivationPath:L=`${v.DerivationPath.BCH}/0`,wif:G}){let X=f(T);if(G)return Cf.ECPair.fromWIF(G,X);if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return Cf.HDNode.fromSeedBuffer(Buffer.from(W0.mnemonicToSeedSync(y)),X).derivePath(L).keyPair};case v.Chain.Bitcoin:case v.Chain.Dogecoin:case v.Chain.Litecoin:case v.Chain.Zcash:case v.Chain.Dash:return function({phrase:y,wif:L,derivationPath:G}){if(!(L||y))throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let X=k5.ECPairFactory(Rf.default),Z=f(T);if(L)return X.fromWIF(L,Z);let B=W0.mnemonicToSeedSync(y),J=I5.HDKey.fromMasterSeed(B,Z).derive(G);if(!J.privateKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return X.fromPrivateKey(Buffer.from(J.privateKey),{network:Z})};default:throw new v.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function R0(T){let f=Uy();return function(y){if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let L=bT.includes(T)?Cy.payments.p2pkh:Cy.payments.p2wpkh,{address:G}=L({network:f(T),pubkey:y.publicKey});if(!G)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function D2(T){return async function({memo:x,recipient:y,feeOptionKey:L,feeRate:G,assetValue:X}){let Z=await T?.getAddress(),B=X.chain;if(!(T&&Z))throw new v.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let J=G||(await jT(B))[L||v.FeeOption.Fast],{psbt:Q}=await E5({assetValue:X,feeRate:J,memo:x,recipient:y,sender:Z}),q=await T.signTransaction(Q);return q.finalizeAllInputs(),Zy(B).broadcastTx(q.extractTransaction().toHex())}}async function jT(T){let f=await Zy(T).getSuggestedTxFee();return{[v.FeeOption.Average]:f,[v.FeeOption.Fast]:v.applyFeeMultiplier(f,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(f,v.FeeOption.Fastest)}}async function l5({assetValue:T,recipient:f,memo:x,sender:y,fetchTxHex:L=!1}){let G=T.chain,X=(await jT(G))[v.FeeOption.Fastest],Z=L||bT.includes(G),B=T.getBaseValue("number"),J=Math.ceil(B+X*5000);return{inputs:await Zy(G).getUtxos({address:y,fetchTxHex:Z,targetValue:J}),outputs:[{address:f,value:B},...x?[{address:"",script:await Hy(x),value:0}]:[]]}}var Rf,Cf,I5,W0,v,Cy,k5,bT;var hT=l(()=>{OT();QT();uT();Rf=U(require("@bitcoinerlab/secp256k1")),Cf=require("@psf/bitcoincashjs-lib"),I5=require("@scure/bip32"),W0=require("@scure/bip39"),v=require("@swapkit/helpers"),Cy=require("bitcoinjs-lib"),k5=require("ecpair"),bT=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash]});function dy(T){return gy(ST(T))}function I2(T){function f({builder:y,utxos:L}){return L.forEach((G,X)=>{y.sign(X,T,void 0,65,G.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(dy(y))},signTransaction:f}}async function C0(T){let f="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=s.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[My],{index:x})),L=f?(await nT(My))({derivationPath:y,phrase:f}):void 0,G=L?I2(L):("signer"in T)?T.signer:void 0;function X(){return Promise.resolve(G?.getAddress())}let{getBalance:Z,getFeeRates:B,broadcastTx:J,...Q}=await iy({chain:My});function q(z,M=!0){return Z(gy(ST(z)))}return{...Q,broadcastTx:J,buildTx:O2,createTransaction:F5,getAddress:X,getAddressFromKeys:E2,getBalance:q,getFeeRates:B,stripPrefix:gy,stripToCashAddress:dy,transfer:k2({broadcastTx:J,getFeeRates:B,signer:G}),validateAddress:by}}async function F5({assetValue:T,recipient:f,memo:x,feeRate:y,sender:L}){if(!by(f))throw new s.SwapKitError("toolbox_utxo_invalid_address",{address:f});let G=Math.ceil(T.getBaseValue("number")+y*7500),X=await Zy(My).getUtxos({address:dy(L),fetchTxHex:!0,targetValue:G}),Z=x?await Hy(x):null,B=[];B.push({address:f,value:T.getBaseValue("number")});let{inputs:J,outputs:Q}=Ry({chain:My,feeRate:y,inputs:X,outputs:B});if(!(J&&Q))throw new s.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:L});let q=await Uy(),z=new zT.TransactionBuilder(q(My));await Promise.all(J.map(async(M)=>{let _=await Zy(My).getRawTx(M.hash);z.addInput(zT.Transaction.fromBuffer(Buffer.from(_,"hex")),M.index)}));for(let M of Q){let _="address"in M&&M.address?M.address:BT(L),R=await Uy(),D=zT.address.toOutputScript(BT(_),R(My));z.addOutput(D,M.value)}if(Z)z.addOutput(Z,0);return{builder:z,utxos:J}}function k2({broadcastTx:T,getFeeRates:f,signer:x}){return async function({recipient:L,assetValue:G,feeOptionKey:X=s.FeeOption.Fast,...Z}){let B=await x?.getAddress();if(!(x&&B))throw new s.SwapKitError("toolbox_utxo_no_signer");if(!L)throw new s.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let J=Z.feeRate||(await f())[X],{builder:Q,utxos:q}=await F5({...Z,assetValue:G,feeRate:J,recipient:L,sender:B}),M=(await x.signTransaction({builder:Q,utxos:q})).toHex();return T(M)}}async function O2({assetValue:T,recipient:f,memo:x,feeRate:y,sender:L,setSigHashType:G}){let X=ST(f);if(!by(X))throw new s.SwapKitError("toolbox_utxo_invalid_address",{address:X});let Z=Math.ceil(T.getBaseValue("number")+y*7500),B=await Zy(My).getUtxos({address:dy(L),fetchTxHex:!1,targetValue:Z}),J=Number(y.toFixed(0)),Q=x?await Hy(x):null,q=[];if(q.push({address:BT(f),value:T.getBaseValue("number")}),Q)q.push({script:Q,value:0});let{inputs:z,outputs:M}=Ry({chain:My,feeRate:J,inputs:B,outputs:q});if(!(z&&M))throw new s.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:L});let _=await Uy(),R=new v5.Psbt({network:_(My)});for(let{hash:D,index:S,witnessUtxo:K}of z)R.addInput({hash:D,index:S,sighashType:G?65:void 0,witnessUtxo:K});for(let D of M){let S="address"in D&&D.address?D.address:BT(L),K=D.script?Q?{script:Q,value:0}:void 0:{address:S,value:D.value};if(K)R.addOutput(K)}return{inputs:z,psbt:R,utxos:B}}function E2(T){let f=T.getAddress(0);return dy(f)}var zT,s,v5,My;var Df=l(()=>{QT();hT();uT();zT=require("@psf/bitcoincashjs-lib"),s=require("@swapkit/helpers"),v5=require("bitcoinjs-lib"),My=s.Chain.BitcoinCash});function V5(){return Ny.networks.zcash}function $5(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
+ `,pubKeyHash:28,scriptHash:28,wif:128}}function w2({phrase:T,derivationPath:f}){let x=I0.mnemonicToSeedSync(T),L=D0.HDKey.fromMasterSeed(x).derive(f);if(!L.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let G=$5(),X=Ny.ECPair.fromPrivateKey(Buffer.from(L.privateKey),{network:G}),Z=Ny.crypto.hash160(X.publicKey),{isStagenet:B}=r.SKConfig.get("envs"),J=B?Buffer.from([29,37]):Buffer.from([28,184]),Q=Buffer.concat([J,Z]),q=S5.default.encode(Q);return{getAddress:()=>Promise.resolve(q),signTransaction:(z)=>{let M=z.signAllInputs(X);return Promise.resolve(M)}}}function P2({inputs:T,outputs:f,psbt:x,sender:y,compiledMemo:L}){for(let G of T){let X=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},Z=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};x.addInput({hash:G.hash,index:G.index,...X,...Z})}for(let G of f){let X="address"in G&&G.address?G.address:y,Z=G.script;if(Z&&!L)continue;let B=Z?{script:L,value:0n}:{script:Ny.address.toOutputScript(X,V5()),value:BigInt(G.value)};x.addOutput(B)}return{inputs:T,psbt:x}}async function A5(T){let{assetValue:f,recipient:x,memo:y,feeRate:L,sender:G,fetchTxHex:X}=T,Z=y?Hy(y):null,B=await Zy(r.Chain.Zcash).getUtxos({address:G,fetchTxHex:X!==!1}),J=[{address:x,value:Number(f.getBaseValue("string"))},...Z?[{script:Z,value:0}]:[]],{inputs:Q,outputs:q}=Ry({chain:r.Chain.Zcash,changeAddress:G,feeRate:L,inputs:B,outputs:J});if(!(Q&&q))throw new r.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:G});let z=Ny.bitgo.createPsbtForNetwork({network:V5()},{version:455}),_=3268858036,R=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),D=Buffer.allocUnsafe(4);D.writeUInt32LE(_>>>0,0),z.addUnknownKeyValToGlobal({key:R,value:D});let{psbt:S,inputs:K}=await P2({compiledMemo:Z,inputs:Q,outputs:q,psbt:z,sender:G});return{inputs:K,outputs:q,psbt:S}}async function k0(T){let f=await _T.match(T).with({signer:_T.P.not(_T.P.nullish)},({signer:X})=>Promise.resolve(X)).with({phrase:_T.P.string},({phrase:X,derivationPath:Z,index:B=0})=>{let J=Z||r.NetworkDerivationPath[r.Chain.Zcash]||[44,133,0,0,0],Q=r.updateDerivationPath(J,{index:B}),q=r.derivationPathToString(Q);return w2({derivationPath:q,phrase:X})}).otherwise(()=>Promise.resolve(void 0)),x=await iy({chain:r.Chain.Zcash,signer:f});async function y({recipient:X,assetValue:Z,feeOptionKey:B=r.FeeOption.Fast,...J}){let Q=await f?.getAddress();if(!(f&&Q))throw new r.SwapKitError("toolbox_utxo_no_signer");let q=J.feeRate||(await x.getFeeRates())[B],{psbt:z}=await A5({...J,assetValue:Z,feeRate:q,recipient:X,sender:Q}),M=await f.signTransaction(z);return M.finalizeAllInputs(),x.broadcastTx(M.extractTransaction().toHex())}function L({phrase:X,derivationPath:Z="m/44'/133'/0'/0/0"}){let B=I0.mnemonicToSeedSync(X),Q=D0.HDKey.fromMasterSeed(B).derive(Z);if(!Q.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let q=$5();return Ny.ECPair.fromPrivateKey(Buffer.from(Q.privateKey),{network:q})}function G({phrase:X,derivationPath:Z="m/44'/133'/0'/0/0"}){return L({derivationPath:Z,phrase:X}).toWIF()}return{...x,createKeysForPath:L,createTransaction:A5,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:qT}}var Ny,D0,I0,r,S5,_T;var O0=l(()=>{QT();hT();uT();Ny=require("@bitgo/utxo-lib"),D0=require("@scure/bip32"),I0=require("@scure/bip39"),r=require("@swapkit/helpers"),S5=U(require("bs58check")),_T=require("ts-pattern")});async function l2(T,f){switch(T){case Ey.Chain.BitcoinCash:return await C0(f||{});case Ey.Chain.Zcash:return await k0(f);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await iy({chain:T,...f});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var K5=l(()=>{Df();hT();O0();Df();uT();Ey=require("@swapkit/helpers")});var E0={};Qy(E0,{validateZcashAddress:()=>qT,toLegacyAddress:()=>BT,toCashAddress:()=>ST,stripToCashAddress:()=>dy,stripPrefix:()=>gy,nonSegwitChains:()=>bT,isValidAddress:()=>Y0,getUtxoToolbox:()=>l2,getUtxoNetwork:()=>Uy,getUtxoApi:()=>Zy,getUTXOAddressValidator:()=>w5,getScriptTypeForAddress:()=>$T,getOutputSize:()=>KT,getInputSize:()=>uy,getDustThreshold:()=>Hf,getCreateKeysForPath:()=>nT,detectAddressNetwork:()=>U0,createZcashToolbox:()=>k0,createUTXOToolbox:()=>iy,createCustomUtxoApi:()=>q2,createBCHToolbox:()=>C0,compileMemo:()=>Hy,calculateTxSize:()=>JT,bchValidateAddress:()=>by,addressFromKeysGetter:()=>R0,addInputsAndOutputs:()=>O5,accumulative:()=>Ry,UtxoNetwork:()=>N0,UTXOScriptType:()=>Uf,TX_OVERHEAD:()=>Yf,OutputSizes:()=>VT,OP_RETURN_OVERHEAD:()=>R5,MIN_TX_FEE:()=>Y2,InputSizes:()=>Mf});module.exports=Yy(E0);var w0=l(()=>{QT();K5();Df();hT();O0()});async function v2(T){try{let f=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${T}`);if(!f.ok)return null;return await f.json()}catch{return null}}async function F2(T){let f=await ry(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),L=new x(T),G=[],X=await f.getBalance(L);if(X>0){let{baseDecimal:B}=u.getChainConfig(u.Chain.Solana);G.push(u.AssetValue.from({chain:u.Chain.Solana,fromBaseDecimal:B,value:X}))}let Z=await f.getParsedTokenAccountsByOwner(L,{programId:y});for(let{account:B}of Z.value){let J=B.data.parsed.info,Q=J.mint,q=J.tokenAmount.amount;if(Number(q)===0)continue;let z=await v2(Q),M=z?.symbol||"UNKNOWN",_=z?.decimals||J.tokenAmount.decimals;G.push(u.AssetValue.from({asset:`${u.Chain.Solana}.${M}-${Q}`,fromBaseDecimal:_,value:q}))}return G}async function v0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let x=new T(f);return T.isOnCurve(x.toBytes())}catch(x){return!1}}}async function A2(T){let f=T&&"index"in T?T.index||0:0,x=u.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:u.updateDerivationPath(u.NetworkDerivationPath[u.Chain.Solana],{index:f})),y=await pT.match(T).with({phrase:pT.P.string},({phrase:G})=>l0({derivationPath:x,phrase:G})).with({signer:pT.P.any},({signer:G})=>G).otherwise(()=>{return});function L(){return y?.publicKey?u5(y.publicKey):""}return{broadcastTransaction:P0(ry),createKeysForPath:l0,createTransaction:F0(ry),createTransactionFromInstructions:K2,estimateTransactionFee:S2(ry),getAddress:L,getAddressFromPubKey:u5,getAddressValidator:v0,getBalance:(G)=>{let X=G||L();if(!X)throw new u.SwapKitError("core_wallet_connection_not_found");return F2(X)},getConnection:ry,getPubkeyFromAddress:A0,signTransaction:b2(ry,y),transfer:u2(ry,y)}}function S2(T){return async({recipient:f,assetValue:x,memo:y,isProgramDerivedAddress:L,sender:G})=>{let X=await T(),B=(await F0(T)({assetValue:x,isProgramDerivedAddress:L,memo:y,recipient:f,sender:G})).compileMessage(),J=await X.getFeeForMessage(B);if(J.value===null)throw new u.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Q}=u.getChainConfig(u.Chain.Solana);return u.AssetValue.from({chain:u.Chain.Solana,fromBaseDecimal:Q,value:J.value})}}async function ry(){let{Connection:T}=await import("@solana/web3.js"),f=await u.getRPCUrl(u.Chain.Solana);return new T(f,"confirmed")}function V2(T){return async({assetValue:f,recipient:x,sender:y,isProgramDerivedAddress:L})=>{let G=await T(),X=await A0(y);if(f.isGasAsset){let{Transaction:Z,SystemProgram:B,PublicKey:J}=await import("@solana/web3.js");return new Z().add(B.transfer({fromPubkey:X,lamports:f.getBaseValue("number"),toPubkey:new J(x)}))}if(f.address)return $2({amount:f.getBaseValue("number"),connection:G,decimals:f.decimal,from:X,isProgramDerivedAddress:L,recipient:x,tokenAddress:f.address});return}}async function $2({tokenAddress:T,recipient:f,from:x,connection:y,amount:L,decimals:G,isProgramDerivedAddress:X}){let{getAssociatedTokenAddress:Z,getAccount:B,createAssociatedTokenAccountInstruction:J,createTransferCheckedInstruction:Q}=await import("@solana/spl-token"),{Transaction:q,PublicKey:z}=await import("@solana/web3.js"),M=new q,_=new z(T),R=await Z(_,x),D=new z(f),S=await Z(_,D,X),K=!1;try{await B(y,S),K=!0}catch(d){}if(!K)M.add(J(x,S,D,_));return M.add(Q(R,_,S,x,L,G)),M}function F0(T){return async({recipient:f,assetValue:x,memo:y,isProgramDerivedAddress:L,sender:G})=>{let{createMemoInstruction:X}=await import("@solana/spl-memo"),Z=await A0(G),B=await v0();if(!(L||B(f)))throw new u.SwapKitError("core_transaction_invalid_recipient_address");let J=await T(),Q=await V2(T)({assetValue:x,isProgramDerivedAddress:L,recipient:f,sender:G});if(!Q)throw new u.SwapKitError("core_transaction_invalid_sender_address");if(y)Q.add(X(y));let q=await J.getLatestBlockhash();return Q.recentBlockhash=q.blockhash,Q.feePayer=Z,Q}}async function K2({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),x=new f().add(...T);if(!x)throw new u.SwapKitError("core_transaction_invalid_sender_address");return x}function u2(T,f){return async({recipient:x,assetValue:y,memo:L,isProgramDerivedAddress:G})=>{if(!f)throw new u.SwapKitError("core_transaction_invalid_sender_address");let X=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),Z=await F0(T)({assetValue:y,isProgramDerivedAddress:G,memo:L,recipient:x,sender:X});if("signTransaction"in f){let B=await f.signTransaction(Z);return P0(T)(B)}return Z.sign(f),P0(T)(Z)}}function P0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function b2(T,f){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new u.SwapKitError("toolbox_solana_no_signer");if(!(x instanceof y)){let G=await(await T()).getLatestBlockhash();x.recentBlockhash=G.blockhash,x.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(x);return await x.sign([f]),x}}async function l0({phrase:T,derivationPath:f=u.DerivationPath.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:L}=await import("@solana/web3.js"),G=y(T),X=x.fromMasterSeed(G);return L.fromSeed(X.derive(f,!0).privateKey)}function u5(T){return T.toString()}async function A0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var u,pT;var b5=l(()=>{u=require("@swapkit/helpers"),pT=require("ts-pattern")});var S0={};Qy(S0,{getSolanaToolbox:()=>A2,getSolanaAddressValidator:()=>v0,createKeysForPath:()=>l0});module.exports=Yy(S0);var V0=l(()=>{b5()});async function kf(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let x=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&x.test(f)}}}async function Of(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:x}=await import("near-api-js"),y=T.index||0,L=T.derivationPath?If.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=f(T.phrase,L),X=x.fromString(G);return h5(X)}async function $0(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),x=f.fromString(T);return h5(x)}function h5(T){return new j5(T)}async function Ef(T,f){let y=(await T.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((Z)=>Z.access_key.permission==="FullAccess");if(!y)throw new If.SwapKitError("toolbox_near_invalid_address");let{utils:L}=await import("near-api-js"),G=L.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:G}}var If,n5,j5;var K0=l(()=>{If=require("@swapkit/helpers"),n5=require("near-api-js");j5=class j5 extends n5.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function u0(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function b0(T){return"contractId"in T&&"methodName"in T}function n0(T){return"actions"in T}function j0(T){return"newAccountId"in T}function h0(T){return"contractCode"in T}function p0(T){return"customEstimator"in T}function o0(T){let f=0;for(let x of T)switch(x.enum){case"transfer":f+=Number(yy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(yy.CONTRACT_CALL);break;case"createAccount":f+=Number(yy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(yy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(yy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(yy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(yy.STAKE);break;default:f+=Number(yy.CONTRACT_CALL)}return f.toString()}function m0(T){if(T==="ft_transfer"||T==="ft_transfer_call")return yy.TOKEN_TRANSFER;if(T==="storage_deposit")return yy.STORAGE_DEPOSIT;return yy.CONTRACT_CALL}function n2(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function j2(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var yy;var c0=l(()=>{yy={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function wf({account:T,contractId:f,viewMethods:x,changeMethods:y}){let{Contract:L}=await import("near-api-js");return new L(T,f,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}async function t0({contractId:T,account:f}){let x=(await import("bn.js")).default,y=await wf({account:f,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),L=async(G)=>{if(!await y.storage_balance_of({account_id:G})){let B=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:G},new x("100000000000000"),new x(B))}};return{balanceOf:(G)=>y.ft_balance_of({account_id:G}),contract:y,ensureStorage:L,metadata:()=>y.ft_metadata(),storageBalanceOf:(G)=>y.storage_balance_of({account_id:G}),storageDeposit:(G,X)=>y.storage_deposit({account_id:G},new x("100000000000000"),new x(X||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(G,X,Z)=>{return await L(G),y.ft_transfer({amount:X,memo:Z,receiver_id:G},new x("100000000000000"),new x("1"))},transferCall:async(G,X,Z,B)=>{return await L(G),y.ft_transfer_call({amount:X,memo:B,msg:Z,receiver_id:G},new x("100000000000000"),new x("1"))}}}async function h2(T){let{P:f,match:x}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),L=await x(T).with({phrase:f.string},async(N)=>{return await Of(N)}).with({signer:f.any},({signer:N})=>N).otherwise(()=>{return}),G=await o.getRPCUrl(o.Chain.Near),X=new y.JsonRpcProvider({url:G});async function Z(N){let{Account:W}=await import("near-api-js"),I=N||await B();return new W(I,X,L)}async function B(){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");return await L.getAddress()}async function J(N){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");let W=await Q({...N,sender:await B()});return R(await _(W))}async function Q(N){let{recipient:W,assetValue:I,memo:O,attachedDeposit:F,sender:V,functionCall:h}=N,i=await kf();if(!i(W))throw new o.SwapKitError("toolbox_near_invalid_address",{recipient:W});if(!i(V))throw new o.SwapKitError("toolbox_near_invalid_address",{signerId:V});if(h)return z({...h,sender:V});if(!I.isGasAsset){let hy=I.address;if(!hy)throw new o.SwapKitError("toolbox_near_missing_contract_address");return z({args:{amount:I.getBaseValue("string"),memo:O||null,receiver_id:W},attachedDeposit:F||"1",contractId:hy,gas:"250000000000000",methodName:"ft_transfer",sender:V})}let{publicKey:b,nonce:By}=await Ef(X,V),Jy=I.getBaseValue("bigint"),{transactions:fy,utils:Dy}=await import("near-api-js"),jy=[fy.transfer(Jy)];if(O&&F)jy.push(fy.functionCall("memo",{memo:O},BigInt("250000000000000"),BigInt(F)));let cT=await X.block({finality:"final"}),Pf=Dy.serialize.base_decode(cT.header.hash);return fy.createTransaction(V,b,W,By+1,jy,Pf)}async function q(N){let{SCHEMA:W}=await import("near-api-js/lib/transaction"),{utils:I}=await import("near-api-js"),O=I.serialize.serialize(W.Transaction,N);return Buffer.from(O).toString("base64")}async function z(N){let{sender:W}=N,{publicKey:I,nonce:O}=await Ef(X,W),{transactions:F,utils:V}=await import("near-api-js"),h=await X.block({finality:"final"}),i=V.serialize.base_decode(h.header.hash),b=[F.functionCall(N.methodName,Buffer.from(JSON.stringify(N.args)),BigInt(N.gas),BigInt(N.attachedDeposit))];return F.createTransaction(W,I,N.contractId,O+1,b,i)}async function M(N){let{transactions:W}=await import("near-api-js");return W.functionCall(N.methodName,Buffer.from(JSON.stringify(N.args)),BigInt(N.gas),BigInt(N.attachedDeposit))}async function _(N){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");let[W,I]=await L.signTransaction(N);return I}async function R(N){return(await X.sendTransaction(N)).transaction.hash}async function D(N){if("assetValue"in N){let F=BigInt("115123062500")+BigInt("108059500000"),V=await S(),h=F*BigInt(V.toString()),{baseDecimal:i}=o.getChainConfig(o.Chain.Near);return o.AssetValue.from({chain:o.Chain.Near,fromBaseDecimal:i,value:h.toString()})}let W=L?await Z():void 0;return Ly(N,W)}async function S(){try{return await X.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function K(N,W,I){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");let O=await Z(),{utils:F}=await import("near-api-js"),V=F.format.parseNearAmount(I)||"0";return(await O.createAccount(N,F.PublicKey.fromString(W),BigInt(V))).transaction.hash}async function d(N){try{if(!L)throw new o.SwapKitError("toolbox_near_no_signer");let{transactions:W}=await import("near-api-js"),{contractId:I,methodName:O,args:F,deposit:V}=N,h=await Z(),i=await Ly({args:F||{},contractId:I,methodName:O}),b=W.functionCall(O,F||{},i.getBaseValue("bigint"),BigInt(V||"1"));return(await h.signAndSendTransaction({actions:[b],receiverId:I})).transaction_outcome.id}catch(W){throw new o.SwapKitError("toolbox_near_transfer_failed",{error:W})}}async function t(N){let W=await Z();return wf({account:W,changeMethods:N.changeMethods,contractId:N.contractId,viewMethods:N.viewMethods})}async function Ty(N){if(!L)throw new o.SwapKitError("toolbox_near_no_signer");if(N.actions.length===0)throw new o.SwapKitError("toolbox_near_empty_batch");return(await(await Z()).signAndSendTransaction({actions:N.actions,receiverId:N.receiverId})).transaction.hash}async function e(N){let W=await Z();return t0({account:W,contractId:N})}async function Ly(N,W){let{baseDecimal:I}=o.getChainConfig(o.Chain.Near),O=await x(N).when(u0,()=>yy.SIMPLE_TRANSFER).when(b0,(h)=>m0(h.methodName)).when(n0,(h)=>o0(h.actions)).when(j0,()=>yy.ACCOUNT_CREATION).when(h0,()=>yy.CONTRACT_DEPLOYMENT).when(p0,(h)=>{if(!W)throw new o.SwapKitError("toolbox_near_no_account");return h.customEstimator(W)}).otherwise(()=>{throw new o.SwapKitError("toolbox_near_invalid_gas_params")}),V=BigInt(O)*BigInt(1000000000000);return o.AssetValue.from({chain:o.Chain.Near,fromBaseDecimal:I,value:V})}async function mT(){try{return(await X.gasPrice(null)).gas_price||"100000000"}catch(N){return"100000000"}}return{broadcastTransaction:R,callFunction:d,createAction:M,createContract:t,createContractFunctionCall:z,createSubAccount:K,createTransaction:Q,estimateGas:Ly,estimateTransactionFee:D,executeBatchTransaction:Ty,getAddress:B,getBalance:ay(o.Chain.Near),getGasPrice:mT,getPublicKey:async()=>L?(await L.getPublicKey()).toString():"",getSignerFromPhrase:(N)=>Of(N),getSignerFromPrivateKey:$0,nep141:e,provider:X,serializeTransaction:q,signTransaction:_,transfer:J,validateAddress:await kf()}}var o;var g0=l(()=>{OT();K0();c0();o=require("@swapkit/helpers")});var p5=l(()=>{g0()});var i0={};Qy(i0,{tgasToGas:()=>n2,isSimpleTransfer:()=>u0,isCustomEstimator:()=>p0,isContractDeployment:()=>h0,isContractCall:()=>b0,isBatchTransaction:()=>n0,isAccountCreation:()=>j0,getValidateNearAddress:()=>kf,getNearToolbox:()=>h2,getNearSignerFromPrivateKey:()=>$0,getNearSignerFromPhrase:()=>Of,getFullAccessPublicKey:()=>Ef,getContractMethodGas:()=>m0,gasToTGas:()=>j2,estimateBatchGas:()=>o0,createNearContract:()=>wf,createNEP141Token:()=>t0,GAS_COSTS:()=>yy});module.exports=Yy(i0);var d0=l(()=>{K0();c0();g0();p5()});var a0={};Qy(a0,{rippleValidateAddress:()=>r0,hashes:()=>m5.hashes,getRippleToolbox:()=>o2});module.exports=Yy(a0);function o5(T){let f=ny.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(x)=>Promise.resolve(f.sign(x))}}function r0(T){return ny.isValidAddress(T)}var j,ny,m5,p2,o2=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?o5(T.phrase):void 0,x=await j.getRPCUrl(j.Chain.Ripple);if(!x)throw new j.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:j.Chain.Ripple}});let y=new ny.Client(x);await y.connect();let L=()=>{if(!f)throw new j.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},G=async(z)=>{let M=z||await L(),{baseDecimal:_}=j.getChainConfig(j.Chain.Ripple);try{let D=(await y.request({account:M,command:"account_info"})).result.account_data.Balance;return[j.AssetValue.from({chain:j.Chain.Ripple,fromBaseDecimal:_,value:D})]}catch(R){if(R.data.error_code===p2.ACCOUNT_NOT_FOUND)return[j.AssetValue.from({chain:j.Chain.Ripple,value:0})];throw new j.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:M,error:R}})}},X=async()=>{let M=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:_}=j.getChainConfig(j.Chain.Ripple);return j.AssetValue.from({chain:j.Chain.Ripple,fromBaseDecimal:_,value:j.SwapKitNumber.fromBigInt(BigInt(M),_)})},Z=async({assetValue:z,recipient:M,memo:_,sender:R})=>{if(!r0(M))throw new j.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=R||await L();if(!z.isGasAsset||z.chain!==j.Chain.Ripple)throw new j.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:z.toString()}});let S={Account:D,Amount:ny.xrpToDrops(z.getValue("string")),Destination:M,TransactionType:"Payment"};if(_)S.Memos=[{Memo:{MemoData:Buffer.from(_).toString("hex")}}];return await y.autofill(S)},B=(z)=>{if(!f)throw new j.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(z)},J=async(z)=>{let _=(await y.submitAndWait(z)).result;if(_.validated)return _.hash;throw new j.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:j.Chain.Ripple}})};return{broadcastTransaction:J,createSigner:o5,createTransaction:Z,disconnect:()=>y.disconnect(),estimateTransactionFee:X,getAddress:L,getBalance:G,signer:f,signTransaction:B,transfer:async(z)=>{if(!f)throw new j.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let M=await f.getAddress(),_=await Z({...z,sender:M}),R=await B(_);return J(R.tx_blob)},validateAddress:r0}};var s0=l(()=>{j=require("@swapkit/helpers"),ny=require("xrpl"),m5=require("xrpl"),p2={ACCOUNT_NOT_FOUND:19}});var e0={};Qy(e0,{radixValidateAddress:()=>c5,RadixToolbox:()=>i2});module.exports=Yy(e0);function c5(T){return T.startsWith("account_rdx1")&&T.length===66}function m2({networkApi:T}){return async function(x){let y=await c2({address:x,networkApi:T});return t2({networkApi:T,resources:y})}}async function c2({address:T,networkApi:f}){let x=!0,y,L=[],G=await g2(f);while(x){let X={address:T,at_ledger_state:{state_version:G},cursor:y,limit_per_page:100},Z=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:X});if(L=L.concat(Z.items),Z.next_cursor)y=Z.next_cursor;else x=!1}return L}async function t2({resources:T,networkApi:f}){let x=[],y=50,L=[];for(let G=0;G<T.length;G+=50)L.push(T.slice(G,G+50));for(let G of L){let X=G.map((J)=>J.resource_address),Z=await f.state.getEntityDetailsVaultAggregated(X),B=new Map;for(let J of Z)if(J.details!==void 0){let Q=J.metadata?.items.find((z)=>z.key==="symbol"),q=Q?.value.typed.type==="String"?Q.value.typed.value:"?";if(J.details.type==="FungibleResource")B.set(J.address,{decimals:J.details.divisibility,symbol:q})}for(let J of G)if(J.aggregation_level==="Global"){let Q=B.get(J.resource_address)||{decimals:0,symbol:"?"},q=wy.AssetValue.from({asset:Q.symbol!==wy.Chain.Radix?`${wy.Chain.Radix}.${Q.symbol}-${J.resource_address}`:"XRD.XRD",value:J.amount});x.push(q)}}return x}function g2(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var wy,i2=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||wy.SKConfig.get("integrations").radix,L=f({...y,networkId:y.network?.networkId||1}),G=x.initialize(L.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:m2({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new wy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c5}};var y1=l(()=>{wy=require("@swapkit/helpers")});var MT;var T1=l(()=>{MT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function g5(T){let f=await import("tronweb"),x=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${d2}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let L=await y.json();if(!(L.success&&L.data)||L.data.length===0)throw Error("Invalid response from TronGrid API");let G;try{G=x.address.toHex(T).toLowerCase()}catch{G=T.toLowerCase()}let X=L.data.find((Z)=>{return Z.address.toLowerCase()===G});if(!X)return;return{balance:X.balance,trc20:X.trc20||[]}}catch(y){throw new t5.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var t5,d2="https://api.trongrid.io";var i5=l(()=>{t5=require("@swapkit/helpers")});async function f1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(x)=>{return f.isAddress(x)}}async function r5({phrase:T,derivationPath:f,index:x}){let y=f||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:x||0})),{HDKey:L}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),X=G(T),B=L.fromMasterSeed(X).derive(y);if(!B.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(B.privateKey).toString("hex")}async function yL({phrase:T,derivationPath:f,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),G=L(T),Z=y.fromMasterSeed(G).derive(f);if(!Z.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let B=Buffer.from(Z.privateKey).toString("hex");x.setPrivateKey(B);let J=x?.address.fromPrivateKey(B);return{getAddress:()=>Promise.resolve(typeof J==="string"?J:""),signTransaction:async(Q)=>{return await x.trx.sign(Q,B)}}}var P,oT,r2=268,a2=13000,s2=345,d5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",e2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",a5=async(T={})=>{let f=await import("tronweb"),x=f.TronWeb??f.default?.TronWeb,y=await P.getRPCUrl(P.Chain.Tron),L=void 0,G=new x({fullHost:y,headers:void 0}),X="index"in T?T.index||0:0,Z=P.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:X})),B=await oT.match(T).with({phrase:oT.P.string},async({phrase:N})=>yL({derivationPath:Z,phrase:N,tronWeb:G})).with({signer:oT.P.any},({signer:N})=>Promise.resolve(N)).otherwise(()=>Promise.resolve(void 0)),J=async()=>{if(!B)throw new P.SwapKitError("toolbox_tron_no_signer");return await B.getAddress()},Q=()=>{return 1e8},q=async()=>{try{let N=await G.trx.getChainParameters(),W={};for(let I of N)W[I.key]=I.value;return{bandwidthFee:W.getTransactionFee||1000,createAccountFee:W.getCreateAccountFee||1e5,energyFee:W.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},z=async(N)=>{try{let W=await G.trx.getAccount(N);return W&&Object.keys(W).length>0}catch{return!1}},M=async(N)=>{try{let W=await G.trx.getAccountResources(N);return{bandwidth:{free:W.freeNetLimit-W.freeNetUsed,total:W.NetLimit||0,used:W.NetUsed||0},energy:{total:W.EnergyLimit||0,used:W.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},_=async(N,W)=>{try{let I=G.contract(MT,W);if(!I.methods?.balanceOf)return 0n;let[O]=await I.methods.balanceOf(N).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(I){return console.warn(`balanceOf() failed for ${W}:`,I),0n}},R=async(N,W)=>{try{G.setAddress(W);let I=G.contract(MT,N),[O,F]=await Promise.all([I.symbol().call().catch(()=>"UNKNOWN"),I.decimals().call().catch(()=>"18")]);return{decimals:Number(F??18),symbol:O??"UNKNOWN"}}catch(I){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${N}: ${I instanceof Error?I.message:I}`}),null}},D=async(N,W=!0)=>{let I=[P.AssetValue.from({chain:P.Chain.Tron})];try{let O=await g5(N);if(O){let F=[];F.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:O.balance}));for(let V of O.trc20){let[h,i]=Object.entries(V)[0]||[];if(!(h&&i))continue;let b=await R(h,N);if(!b)continue;F.push(P.AssetValue.from({asset:`TRON.${b.symbol}-${h}`,fromBaseDecimal:b.decimals,value:BigInt(i||0)}))}return F}return I}catch(O){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${O instanceof Error?O.message:O}`});let F=[],V=await G.trx.getBalance(N);if(V&&Number(V)>0)F.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:V}));let h=await _(N,d5);if(h)F.push(P.AssetValue.from({asset:`TRON.USDT-${d5}`,fromBaseDecimal:6,value:h}));return F}},S=async({recipient:N,assetValue:W,memo:I})=>{if(!B)throw new P.SwapKitError("toolbox_tron_no_signer");let O=await J();if(G.setAddress(O),W.isGasAsset){let b=await G.transactionBuilder.sendTrx(N,W.getBaseValue("number"),O);if(I){let fy=await G.transactionBuilder.addUpdateData(b,I,"utf8"),Dy=await B.signTransaction(fy),{txid:jy}=await G.trx.sendRawTransaction(Dy);return jy}let By=await B.signTransaction(b),{txid:Jy}=await G.trx.sendRawTransaction(By);return Jy}let V=await d({assetValue:W,memo:I,recipient:N,sender:O}),h=await B.signTransaction(V),{txid:i}=await G.trx.sendRawTransaction(h);if(!i)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return i},K=async({assetValue:N,recipient:W,sender:I})=>{let O=N.isGasAsset;try{let F=I?I:B?await J():void 0;if(!F)return O?P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:0.1}):P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:15});let V=await q(),i=await z(W)?0:V.createAccountFee,b=await M(F);if(O){let hy=r2,X1=b.bandwidth.free+(b.bandwidth.total-b.bandwidth.used),Z1=0;if(hy>X1)Z1=(hy-X1)*V.bandwidthFee;let e5=i+Z1;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:e5})}let By=s2,Jy=a2,fy=b.bandwidth.free+(b.bandwidth.total-b.bandwidth.used),Dy=b.energy.total-b.energy.used,jy=0;if(By>fy)jy=(By-fy)*V.bandwidthFee;let cT=0;if(Jy>Dy)cT=(Jy-Dy)*V.energyFee;let Pf=i+jy+cT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:Pf})}catch(F){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${F instanceof Error?F.message:F}`}),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:F})}},d=async(N)=>{let{recipient:W,assetValue:I,memo:O,sender:F,expiration:V}=N;if(I.isGasAsset){let b=await G.transactionBuilder.sendTrx(W,I.getBaseValue("number"),F);if(O)return G.transactionBuilder.addUpdateData(b,O,"utf8");if(V)G.transactionBuilder.extendExpiration(b,V);return b}G.setAddress(F);let i=I.address;if(!i)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:I.toString()});try{let By=[{type:"address",value:W},{type:"uint256",value:I.getBaseValue("string")}],Jy={callValue:0,feeLimit:Q()},fy=await G.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",Jy,By,F);if(O)return G.transactionBuilder.addUpdateData(fy.transaction,O,"utf8");if(V)G.transactionBuilder.extendExpiration(fy.transaction,V);return fy.transaction}catch(b){throw new P.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:b instanceof Error?b.message:String(b)})}},t=async(N)=>{if(!B)throw new P.SwapKitError("toolbox_tron_no_signer");return await B.signTransaction(N)},Ty=async(N)=>{let{txid:W}=await G.trx.sendRawTransaction(N);return W},e=async({assetAddress:N,spenderAddress:W,from:I})=>{try{let O=G.contract(MT,N);if(!O.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let[F]=await O.methods.allowance(I,W).call();return F?typeof F==="bigint"?F:BigInt(F):0n}catch(O){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:O})}};return{approve:async({assetAddress:N,spenderAddress:W,amount:I,from:O})=>{if(!B)throw new P.SwapKitError("toolbox_tron_no_signer");let F=O||await J(),V=I!==void 0?BigInt(I).toString():e2,h="approve(address,uint256)",i=[{type:"address",value:W},{type:"uint256",value:V}],By={callValue:0,feeLimit:Q()};try{let{transaction:Jy}=await G.transactionBuilder.triggerSmartContract(N,h,By,i,F),fy=await B.signTransaction(Jy),{txid:Dy}=await G.trx.sendRawTransaction(fy);if(!Dy)throw new P.SwapKitError("toolbox_tron_approve_failed");return Dy}catch(Jy){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:Jy})}},broadcastTransaction:Ty,createTransaction:d,estimateTransactionFee:K,getAddress:J,getApprovedAmount:e,getBalance:D,isApproved:async({assetAddress:N,spenderAddress:W,from:I,amount:O})=>{let F=await e({assetAddress:N,from:I,spenderAddress:W});if(!O)return F>0n;let V=BigInt(O);return F>=V},signTransaction:t,transfer:S,tronWeb:G,validateAddress:await f1()}};var s5=l(()=>{T1();i5();P=require("@swapkit/helpers"),oT=require("ts-pattern")});var G1={};Qy(G1,{trc20ABI:()=>MT,getTronPrivateKeyFromMnemonic:()=>r5,getTronAddressValidator:()=>f1,createTronToolbox:()=>a5});module.exports=Yy(G1);var L1=l(()=>{T1();s5()});var GL={};Qy(GL,{getToolbox:()=>x1,getFeeEstimator:()=>fL,getAddressValidator:()=>TL});module.exports=Yy(GL);var H=require("@swapkit/helpers");async function TL(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (rT(),dT)),{evmValidateAddress:x}=await Promise.resolve().then(() => (y5(),e1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (Q0(),J0)),{getUTXOAddressValidator:L}=await Promise.resolve().then(() => (w0(),E0)),{getSolanaAddressValidator:G}=await Promise.resolve().then(() => (V0(),S0)),{getValidateNearAddress:X}=await Promise.resolve().then(() => (d0(),i0)),{rippleValidateAddress:Z}=await Promise.resolve().then(() => (s0(),a0)),{radixValidateAddress:B}=await Promise.resolve().then(() => (y1(),e0)),{getTronAddressValidator:J}=await Promise.resolve().then(() => (L1(),G1)),Q=await G(),q=await L(),z=await J(),M=await X();return function({address:R,chain:D}){return T(D).with(...H.EVMChains,()=>x({address:R})).with(...H.UTXOChains,()=>q({address:R,chain:D})).with(H.Chain.Cosmos,H.Chain.Kujira,H.Chain.Noble,H.Chain.Maya,H.Chain.THORChain,()=>f({address:R,chain:D})).with(H.Chain.Chainflip,H.Chain.Polkadot,()=>y({address:R,chain:D})).with(H.Chain.Radix,()=>B(R)).with(H.Chain.Near,()=>M(R)).with(H.Chain.Ripple,()=>Z(R)).with(H.Chain.Solana,()=>Q(R)).with(H.Chain.Tron,()=>z(R)).otherwise(()=>!1)}}function fL(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Avalanche,H.Chain.Base,H.Chain.Berachain,H.Chain.BinanceSmartChain,H.Chain.Ethereum,H.Chain.Gnosis,H.Chain.Optimism,H.Chain.Polygon,async(L)=>{let G=await x1(L),X=await G.createTransaction(x);return G.estimateTransactionFee({...X,chain:L,feeOption:x.feeOptionKey||H.FeeOption.Fast})}).with(H.Chain.Bitcoin,H.Chain.BitcoinCash,H.Chain.Dogecoin,H.Chain.Dash,H.Chain.Litecoin,H.Chain.Polkadot,H.Chain.Solana,H.Chain.Ripple,H.Chain.Tron,H.Chain.Near,async(L)=>{return(await x1(L)).estimateTransactionFee(x)}).with(H.Chain.THORChain,H.Chain.Maya,H.Chain.Kujira,H.Chain.Noble,H.Chain.Cosmos,async()=>{let{estimateTransactionFee:L}=await Promise.resolve().then(() => (rT(),dT));return L(x)}).otherwise(async()=>H.AssetValue.from({chain:T}))}}async function x1(T,f){let{match:x}=await import("ts-pattern");return x(T).returnType().with(H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Avalanche,H.Chain.Base,H.Chain.Berachain,H.Chain.BinanceSmartChain,H.Chain.Ethereum,H.Chain.Gnosis,H.Chain.Optimism,H.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (f0(),r1));return await y(T,f)}).with(H.Chain.Litecoin,H.Chain.Dash,H.Chain.Dogecoin,H.Chain.BitcoinCash,H.Chain.Bitcoin,H.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (w0(),E0));return await y(T,f)}).with(H.Chain.Cosmos,H.Chain.Kujira,H.Chain.Noble,H.Chain.Maya,H.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (rT(),dT));return await y(T,f)}).with(H.Chain.Chainflip,H.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Q0(),J0));return await y(T,f)}).with(H.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (y1(),e0));return await y(f)}).with(H.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (s0(),a0));return await y(f)}).with(H.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (V0(),S0));return await y(f)}).with(H.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (L1(),G1));return await y(f)}).with(H.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (d0(),i0));return await y(f)}).otherwise(()=>{throw new H.SwapKitError("toolbox_not_supported",{chain:T})})}
3
3
 
4
- //# debugId=223C19CAB1B6A2D864756E2164756E21
4
+ //# debugId=016AC36222550F0E64756E2164756E21
5
5
  //# sourceMappingURL=index.cjs.map