@swapkit/toolboxes 4.14.5 → 4.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/utxo/index.cjs +1 -1
- package/dist/src/utxo/index.js +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utxo/hdWallet.d.ts +16 -5
- package/dist/types/utxo/hdWallet.d.ts.map +1 -1
- package/dist/types/utxo/helpers/xpubDerivation.d.ts +10 -0
- package/dist/types/utxo/helpers/xpubDerivation.d.ts.map +1 -0
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts +11 -2
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/index.d.ts +2 -1
- package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/utxo.d.ts +16 -2
- package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/zcash.d.ts +11 -2
- package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
- package/dist/types/utxo/types.d.ts +10 -3
- package/dist/types/utxo/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/src/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var qH=Object.create;var{getPrototypeOf:GH,defineProperty:so,getOwnPropertyNames:aT,getOwnPropertyDescriptor:lH}=Object,sT=Object.prototype.hasOwnProperty;function eT(n){return this[n]}var WH,BH,n0=(n,y,t)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?WH??=new WeakMap:BH??=new WeakMap,T=f.get(n);if(T)return T}t=n!=null?qH(GH(n)):{};let C=y||!n||!n.__esModule?so(t,"default",{value:n,enumerable:!0}):t;for(let H of aT(n))if(!sT.call(C,H))so(C,H,{get:eT.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Zn=(n)=>{var y=(dT??=new WeakMap).get(n),t;if(y)return y;if(y=so({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of aT(n))if(!sT.call(y,o))so(y,o,{get:eT.bind(n,o),enumerable:!(t=lH(n,o))||t.enumerable})}return dT.set(n,y),y},dT;var XH=(n)=>n;function MH(n,y){this[n]=XH.bind(null,y)}var Mn=(n,y)=>{for(var t in y)so(n,t,{get:y[t],enumerable:!0,configurable:!0,set:MH.bind(y,t)})};var u=(n,y)=>()=>(n&&(y=n(n=0)),y);function So(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return LH.test(y)}function o0({derivationPath:n,provider:y,...t}={}){let o,f=V.derivationPathToString(n||V.NetworkDerivationPath[V.Chain.Aptos],{allHardened:!0});async function T(){if(o)return o;return o=await Bo.match(t).with({phrase:Bo.P.string},async({phrase:W})=>{let{Ed25519Account:Q}=await import("@aptos-labs/ts-sdk");return Q.fromDerivationPath({mnemonic:W,path:f})}).with({signer:Bo.P.any},({signer:W})=>W).otherwise(()=>{return}),o}async function C(){let{Aptos:W,AptosConfig:Q}=await import("@aptos-labs/ts-sdk"),N=new Q({fullnode:y||V.getRPCUrlSync(V.Chain.Aptos)});return new W(N)}async function H(){return(await T())?.accountAddress.toString()||""}async function _(W){let Q=W||await H();if(!Q)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:N,chain:Z}=V.getChainConfig(V.Chain.Aptos);try{let z=await C(),X=await z.getAccountAPTAmount({accountAddress:Q}),U=[V.AssetValue.from({chain:Z,fromBaseDecimal:N,value:X.toString()})],q=await z.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Q}}}});for(let L of q){if(L.asset_type===Wo.COIN_TYPE||Number(L.amount)<=0)continue;let Y=L.asset_type;if(Y){let J=("metadata"in L&&typeof L.metadata==="object"&&L.metadata!==null?L.metadata:void 0)?.decimals??N;U.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Y}`,fromBaseDecimal:J,value:String(L.amount)}))}}return U}catch{return[V.AssetValue.from({chain:Z})]}}async function A(W){if(!W){let{baseDecimal:q}=V.getChainConfig(V.Chain.Aptos),L=y||V.getRPCUrlSync(V.Chain.Aptos),Y=await fetch(`${L}/estimate_gas_price`),{gas_estimate:D}=await Y.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:q,value:String(D)})}let Q=await T();if(!Q)throw new V.SwapKitError("toolbox_aptos_no_signer");let N=await G(W),Z=await C(),[z]=await Z.transaction.simulate.simple({signerPublicKey:Q.publicKey,transaction:N});if(!z)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let X=BigInt(z.gas_used)*BigInt(z.gas_unit_price),{baseDecimal:U}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:U,value:X.toString()})}async function G({recipient:W,assetValue:Q,maxGasAmount:N,sender:Z}){if(!So(W))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let z=Z||await H();if(!z)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:X}=await import("@aptos-labs/ts-sdk"),U=await C(),q=X.from(z);try{let L=Q.isGasAsset?Wo.TRANSFER:Wo.FUNGIBLE_STORE_TRANSFER,Y=Bo.match({address:Q?.address,isGasAsset:Q.isGasAsset}).with({isGasAsset:!0},()=>[X.from(W),Q.getBaseValue("bigint")]).with({address:Bo.P.string},({address:D})=>[X.from(D),X.from(W),Q.getBaseValue("bigint")]).otherwise(()=>null);if(!Y)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:L,functionArguments:Y,typeArguments:Q.isGasAsset?[]:[Wo.FUNGIBLE_ASSET_METADATA]},options:N?{maxGasAmount:N}:void 0,sender:q})}catch(L){if(L instanceof V.SwapKitError)throw L;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",L)}}async function M(W){let Q=await T();if(!Q)throw new V.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Q,transaction:W})}async function w({assetValue:W,maxGasAmount:Q,recipient:N}){let Z=await T();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!So(N))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let z=Z.accountAddress.toString(),X=await G({assetValue:W,maxGasAmount:Q,recipient:N,sender:z});return(await(await C()).signAndSubmitTransaction({signer:Z,transaction:X})).hash}catch(z){if(z instanceof V.SwapKitError)throw z;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",z)}}async function B({senderAuthenticator:W,transaction:Q}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:W,transaction:Q})).hash}catch(N){throw new V.SwapKitError("toolbox_aptos_broadcast_error",N)}}async function l(W){let Q=await M(W);return B({senderAuthenticator:Q,transaction:W})}return{broadcastTransaction:B,createTransaction:G,estimateTransactionFee:A,getAddress:H,getBalance:_,signAndBroadcastTransaction:l,signTransaction:M,transfer:w,validateAddress:So}}function y0({provider:n}){return async function({assetValue:t,recipient:o}){if(!So(o))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(t.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),t.getBaseValue("string")],function:Wo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let T=t.address;if(!T)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[T,f.from(o).toString(),t.getBaseValue("string")],function:Wo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Wo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Bo,Wo,LH;var f0=u(()=>{V=require("@swapkit/helpers"),Bo=require("ts-pattern"),Wo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},LH=/^[0-9a-fA-F]+$/});var uy={};Mn(uy,{validateAptosAddress:()=>So,getAptosToolbox:()=>o0,createAptosExtensionTransfer:()=>y0});module.exports=Zn(uy);var ky=u(()=>{f0()});function T0(){function n(){let y=Date.now(),t=df||y;return df=t,y>df?y:t+1}return QH+n().toString(36)}function xn(n){return async function(t,o=!0){let f=await t0.SwapKitApi.getChainBalance({address:t,chain:n,scamFilter:o}),{baseDecimal:T}=eo.getChainConfig(n),C=f.map(({identifier:_,value:A,decimal:G})=>{return new eo.AssetValue({decimal:G||T,identifier:_,value:A})});if(!C.some((_)=>_.isGasAsset))return[eo.AssetValue.from({chain:n}),...C];return C}}var eo,t0,QH,df=0;var hn=u(()=>{eo=require("@swapkit/helpers"),t0=require("@swapkit/helpers/api"),QH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function ny(n){return{getBalance:xn(n)}}function ZH(n){return n}var Iy=u(()=>{hn()});function H0(n){return new Xo.JsonRpcProvider(n)}async function ot(n,y){return H0(y||await g.getRPCUrl(n))}function oy(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function yt(n){let{explorerUrl:y,chainIdHex:t,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...JH({chain:n}),blockExplorerUrls:[y],chainId:t,rpcUrls:o}:void 0}}function ft(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function JH({chain:n}){let{name:y,nativeCurrency:t,baseDecimal:o}=g.getChainConfig(n);return nt.match(n).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:t,symbol:t}}))}async function tt(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let t={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(t)}function _0(n,y){let t=y!==void 0?`index ${y}: `:"",o=(f,T)=>{throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${t}${T}`}})};nt.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!YH(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!C0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!C0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function A0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:t})=>({name:y,type:t}))}function af(n){return n.charAt(0).toUpperCase()+n.slice(1)}function sf(n,y){if(n.isTuple()&&n.components){let t=af(n.name);return y[t]=n.components.map((o)=>({name:o.name,type:sf(o,y)})),t}if(n.isArray()){let t=n.arrayChildren;if(t?.isTuple()&&t.components){let o=af(n.name.replace(/s$/,""));return y[o]=t.components.map((f)=>({name:f.name,type:sf(f,y)})),`${o}[]`}return`${t?.type??"bytes"}[]`}return n.type}function ef(n,y){if(typeof n==="bigint")return n;if(y?.isTuple()&&typeof n?.toObject==="function"){let t=n.toObject(),o={};for(let[f,T]of(y.components??[]).entries())o[T.name]=ef(t[T.name]??n[f],T);return o}if(Array.isArray(n)){let t=y?.arrayChildren;return n.map((o)=>ef(o,t??void 0))}return n}function NH({chain:n,abi:y,data:t,to:o}){let T=new Xo.Interface(y).parseTransaction({data:t});if(!T)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=af(T.name);C[H]=T.fragment.inputs.map((w)=>({name:w.name,type:sf(w,C)}));let _={};for(let[w,B]of T.fragment.inputs.entries())_[B.name]=ef(T.args[w],B);let{chainId:A}=g.getChainConfig(n),G={chainId:Number(A),verifyingContract:Xo.getAddress(o)},M=A0(G);return{domain:G,message:_,primaryType:H,types:{EIP712Domain:M,...C}}}function Tt(n,y){if(!Array.isArray(n)||n.length===0)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[t,o]of n.entries())if(_0(o,t),y!==void 0&&o.chainId!==y)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${t}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var g,Xo,nt,C0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),YH=(n)=>{try{return typeof n==="string"&&!!Xo.getAddress(n)}catch{return!1}};var yy=u(()=>{g=require("@swapkit/helpers"),Xo=require("ethers"),nt=require("ts-pattern")});var U0;var w0=u(()=>{U0=[{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 uo({chain:n=x.Chain.Ethereum,provider:y,signer:t,isEIP1559Compatible:o=!0}){return{approve:RH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),approvedAmount:l0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:wt({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),createApprovalTx:kH({chain:n,provider:y,signer:t}),createContract:_t({chain:n,provider:y}),createContractTxObject:Mo({chain:n,provider:y}),createTransaction:Ct({chain:n,provider:y,signer:t}),createTransferTx:Ct({chain:n,provider:y,signer:t}),EIP1193SendTransaction:Io(y),estimateCall:W0({provider:y,signer:t}),estimateGasLimit:FH({chain:n,provider:y,signer:t}),estimateGasPrices:Lo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:IH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return t?t.getAddress():void 0},getBalance:ny(n).getBalance,getNetworkParams:yt(n),isApproved:xH({chain:n,provider:y}),sendTransaction:B0({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),signAuthorization:uH({signer:t}),signMessage:t?(f)=>t.signMessage(f):void 0,signTypedData:t?({domain:f,types:T,value:C})=>t.signTypedData(f,T,C):void 0,transfer:SH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),validateAddress:ty}}function ty(n){try{return Fn.getAddress(n),!0}catch{return!1}}function ko(n){return n instanceof Fn.BrowserProvider}function Ty(n,y,t){return new Fn.Contract(n,Fn.Interface.from(y),t)}function _t({provider:n}){return function(t,o){return new Fn.Contract(t,Fn.Interface.from(o),n)}}function At({abi:n,funcName:y}){let t=n.find((o)=>o.name===y);if(!t)throw new x.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return t.stateMutability&&zH.includes(t.stateMutability)}function q0(n){return Fn.getAddress(n)}function Io(n){return function({value:t,...o}){if(!ko(n))throw new x.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:T,maxFeePerGas:C,maxPriorityFeePerGas:H,..._}=o;return n.send("eth_sendTransaction",[{..._,value:oy(BigInt(t||0))}])}}function G0(n,y){let t=po(n,y);if(t)return Fn.getAddress(t.toLowerCase());throw new x.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function po({chain:n,symbol:y,ticker:t},o){try{let f=n===x.Chain.BinanceSmartChain&&y==="BNB"&&t==="BNB",T=n===x.Chain.Hyperevm&&y==="HYPE"&&t==="HYPE",C=n===o&&y===o&&t===o,H=OH.includes(n)&&y==="ETH"&&t==="ETH";if(C||f||T||H)return Ut[o];return Fn.getAddress(y.slice(t.length+1).replace(/^0X/,""))}catch{return null}}function Mo({provider:n}){return async({contractAddress:y,abi:t,funcName:o,funcParams:f=[],txOverrides:T})=>Ty(y,t,n).getFunction(o).populateTransaction(...f.concat(T).filter((C)=>typeof C<"u"))}function Lo({chain:n,provider:y,isEIP1559Compatible:t=!0}){return Ht.match(n).with(x.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:T}=await y.getFeeData();if(!f||T===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Average),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Average)},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(x.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new x.SwapKitError("toolbox_evm_no_fee_data");let T=f*12n/10n;return{[x.FeeOption.Average]:{gasPrice:T},[x.FeeOption.Fast]:{gasPrice:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{gasPrice:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:T,gasPrice:C}=await y.getFeeData();if(t){if(f===null||T===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:T},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest)}}}if(!C)throw new x.SwapKitError("toolbox_evm_no_gas_price");return{[x.FeeOption.Average]:{gasPrice:C},[x.FeeOption.Fast]:{gasPrice:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{gasPrice:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function wt({provider:n,isEIP1559Compatible:y,signer:t,chain:o}){return async function({callProvider:T,contractAddress:C,abi:H,funcName:_,funcParams:A=[],txOverrides:G={},feeOption:M=x.FeeOption.Fast}){let w=T||n;if(!C)throw new x.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=At({abi:H,funcName:_});if(B&&ko(w)&&t){let Q=Mo({chain:o,provider:w}),N=G?.from||await t?.getAddress(),Z=await Q({abi:H,contractAddress:C,funcName:_,funcParams:A,txOverrides:{...G,from:N}});return Io(w)(Z)}let l=Ty(C,H,w);if(B){if(!t)throw new x.SwapKitError("toolbox_evm_no_signer");let Q=G?.from||await t.getAddress();if(!Q)throw new x.SwapKitError("toolbox_evm_no_signer_address");let N=l.connect(t),Z=Lo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:z,maxPriorityFeePerGas:X,gasPrice:U}=(await Z())[M],q=await l.getFunction(_).estimateGas(...A,G),L=await N[_](...A,{...G,gasLimit:q,gasPrice:U,maxFeePerGas:z,maxPriorityFeePerGas:X,nonce:G?.nonce||await w.getTransactionCount(Q)});return typeof L?.hash==="string"?L?.hash:L}let W=await l[_]?.(...A);return typeof W?.hash==="string"?W?.hash:W}}function l0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:T}){return wt({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Fo.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[T,f]})}}function xH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:T,amount:C=fy}){let H=await l0({chain:y,provider:n})({assetAddress:o,from:T,spenderAddress:f});return x.SwapKitNumber.fromBigInt(H).gte(x.SwapKitNumber.fromBigInt(BigInt(C)))}}function RH({signer:n,isEIP1559Compatible:y=!0,provider:t,chain:o}){return async function({assetAddress:T,spenderAddress:C,feeOptionKey:H=x.FeeOption.Fast,amount:_,gasLimitFallback:A,from:G,nonce:M}){let w=[C,BigInt(_||fy)],B=await n?.getAddress()||G,l={abi:Fo.erc20ABI,contractAddress:T,funcName:"approve",funcParams:w,signer:n,txOverrides:{from:B}};if(ko(t)){let Q=Mo({chain:o,provider:t}),N=Io(t),Z=await Q(l);return N(Z)}return wt({chain:o,isEIP1559Compatible:y,provider:t,signer:n})({...l,feeOption:H,funcParams:w,txOverrides:{from:B,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function SH({signer:n,isEIP1559Compatible:y=!0,provider:t}){return async function({assetValue:f,memo:T,recipient:C,feeOptionKey:H=x.FeeOption.Fast,sender:_,...A}){let{hexlify:G,toUtf8Bytes:M}=await import("ethers"),w=f.getBaseValue("bigint"),B=f.chain,l=_||await n?.getAddress(),W=B0({chain:B,isEIP1559Compatible:y,provider:t,signer:n});if(!l)throw new x.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let U={...A,data:G(M(T||"")),feeOptionKey:H,from:l,to:C,value:w};return W(U)}if(!po(f,B))throw new x.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:N,maxPriorityFeePerGas:Z,gasPrice:z}=(await Lo({chain:B,isEIP1559Compatible:y,provider:t})())[H],X=await Ct({chain:B,provider:t,signer:n})({assetValue:f,data:G(M(T||"")),gasPrice:z,maxFeePerGas:N,maxPriorityFeePerGas:Z,memo:T,recipient:C,sender:l});return W(X)}}function W0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:T,funcParams:C=[],txOverrides:H}){if(!o)throw new x.SwapKitError("toolbox_evm_no_contract_address");let _=Ty(o,f,n);return y?_.connect(y).getFunction(T).estimateGas(...C,H):_.getFunction(T).estimateGas(...C,H)}}function FH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:T,data:C,sender:H,funcName:_,funcParams:A,txOverrides:G}){let M=o.bigIntValue,w=o.isGasAsset?null:po(o,o.chain);if(w&&_)return W0({provider:n,signer:y})({abi:Fo.erc20ABI,contractAddress:w,funcName:_,funcParams:A,txOverrides:G});let{hexlify:B,toUtf8Bytes:l}=await import("ethers");return n.estimateGas({data:C?C:T?B(l(T)):void 0,from:H,to:f,value:M})}}function uH({signer:n}){if(!n)return;return(y)=>tt(n,y)}function B0({provider:n,signer:y,isEIP1559Compatible:t=!0,chain:o}){return async function({feeOptionKey:T=x.FeeOption.Fast,...C}){let{from:H,to:_,data:A,value:G,...M}=C;if(!y)throw new x.SwapKitError("toolbox_evm_no_signer");if(!_)throw new x.SwapKitError("toolbox_evm_no_to_address");let w={...M,data:A||"0x",from:H,to:_,value:BigInt(G||0)};if(ko(n))return Io(n)(w);let B=H||await y.getAddress(),l=C.nonce||await n.getTransactionCount(B),W=(await n.getNetwork()).chainId,Q=Gt(w,t);if(Q==="eip7702")Tt(w.authorizations||[],W);let N=Ht.match(Q).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),Z={...w,chainId:W,nonce:l,type:N,...Q==="eip7702"&&{authorizationList:w.authorizations}},z=Lo({chain:o,isEIP1559Compatible:t,provider:n}),U=Q!=="legacy"&&!(w.maxFeePerGas&&w.maxPriorityFeePerGas)||!w.gasPrice?Object.entries((await z())[T]).reduce((L,[Y,D])=>({...L,[Y]:oy(BigInt(D))}),{}):{},q;try{q=oy(w.gasLimit||await n.estimateGas(Z)*11n/10n)}catch(L){throw new x.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:L})}try{let L={...Z,gasLimit:q,...U};try{return(await y.sendTransaction(L)).hash}catch{let Y=await y.signTransaction({...L,from:B});return(await n.broadcastTransaction(Y)).hash}}catch(L){throw new x.SwapKitError("toolbox_evm_error_sending_transaction",{error:L})}}}function Ct({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:T,data:C,sender:H,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:G,...M}){let w=o.getBaseValue("bigint"),B=o.chain,l=H||await y?.getAddress();if(!l)throw new x.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset(o)){let{hexlify:N,toUtf8Bytes:Z}=await import("ethers");return{...M,data:C||N(Z(f||"")),from:l,to:T,value:w}}let W=po(o,B);if(!W)throw new x.SwapKitError("toolbox_evm_no_contract_address");return Mo({chain:o.chain,provider:n})({abi:Fo.erc20ABI,contractAddress:W,funcName:"transfer",funcParams:[T,w],txOverrides:{from:l,gasPrice:G,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function kH({provider:n,signer:y,chain:t}){return async function({assetAddress:f,spenderAddress:T,amount:C,from:H}){let _=await y?.getAddress()||H,A=Mo({chain:t,provider:n}),G=["bigint","number"].includes(typeof C)?C:C||fy;return await A({abi:Fo.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[T,BigInt(G)],txOverrides:{from:_}})}}function IH({provider:n,isEIP1559Compatible:y=!0,chain:t}){return async function({feeOption:f=x.FeeOption.Fast,...T}){let H=await Lo({chain:t,isEIP1559Compatible:y,provider:n})(),_=await n.estimateGas(T),A=x.AssetValue.from({chain:t}),{gasPrice:G,maxFeePerGas:M,maxPriorityFeePerGas:w}=H[f];if(!y&&G)return A.set(x.SwapKitNumber.fromBigInt(G*_,A.decimal));if(M&&w){let B=(M+w)*_;return A.set(x.SwapKitNumber.fromBigInt(B,A.decimal))}throw new x.SwapKitError("toolbox_evm_no_gas_price")}}var x,Fo,Fn,Ht,fy,zH,DH,Ut,OH,py=(n)=>n.type===4||(n.authorizations?.length??0)>0,qt=(n)=>!py(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),Gt=(n,y=!0)=>{if(py(n))return"eip7702";if(qt(n)||y)return"eip1559";return"legacy"};var Py=u(()=>{Iy();yy();x=require("@swapkit/helpers"),Fo=require("@swapkit/helpers/contracts"),Fn=require("ethers"),Ht=require("ts-pattern"),fy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");zH=["payable","nonpayable"];DH=x.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),Ut={...DH,[x.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[x.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},OH=[x.Chain.Arbitrum,x.Chain.Aurora,x.Chain.Base,x.Chain.Optimism]});function $y(n){let y=qn(Tn.Chain.Ethereum)(n);async function t(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",T="aggregate",C=Tn.FeeOption.Fast){let H=await y.createContractTxObject({abi:U0,contractAddress:f,funcName:T,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:t}}function qn(n){return function({provider:t,...o}){let f=ft(n),T=Cy.match(o).with({phrase:Cy.P.string},({phrase:H})=>X0.HDNodeWallet.fromPhrase(H).connect(t)).with({signer:Cy.P.any},({signer:H})=>H).otherwise(()=>{return});return uo({chain:n,isEIP1559Compatible:f,provider:t,signer:T})}}var Tn,X0,Cy,Ey,vy,by,Vy,Ky,jy,cy,M0,iy,hy,my,ry,gy,dy,Hy,ay,sy,ey,nf;var lt=u(()=>{w0();yy();Py();Tn=require("@swapkit/helpers"),X0=require("ethers"),Cy=require("ts-pattern");Ey=qn(Tn.Chain.Adi),vy=qn(Tn.Chain.Arbitrum),by=qn(Tn.Chain.Aurora),Vy=qn(Tn.Chain.Avalanche),Ky=qn(Tn.Chain.Base),jy=qn(Tn.Chain.Berachain),cy=qn(Tn.Chain.BinanceSmartChain),M0=qn(Tn.Chain.Botanix),iy=qn(Tn.Chain.Core),hy=qn(Tn.Chain.Corn),my=qn(Tn.Chain.Cronos),ry=qn(Tn.Chain.Gnosis),gy=qn(Tn.Chain.Hyperevm),dy=qn(Tn.Chain.Polygon),Hy=qn(Tn.Chain.Sonic),ay=qn(Tn.Chain.Unichain),sy=qn(Tn.Chain.XLayer),ey=qn(Tn.Chain.Monad),nf=qn(Tn.Chain.MegaETH)});var L0;var Q0=u(()=>{L0=[{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 Wt(n){return new of.Contract(PH,L0,n)}function Z0(n){return async function(){let t=Wt(n);if(t&&"l1BaseFee"in t)return await t?.l1BaseFee();return}}function J0(n){return async function({from:t,to:o,nonce:f,...T}){let{Transaction:C}=await import("ethers");if(!o)throw new Cn.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...T,authorizationList:T.authorizationList,nonce:f?f:t?await n.getTransactionCount(t):0,to:o}).serialized}}function Y0(n){return async function(t){let o=Wt(n),f=await J0(n)(t);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function N0(n){return async function(t){let f=(await n.getFeeData()).gasPrice??0n,T=await n.estimateGas(t);return f*T}}function $H(n){return async function(t){let o=await Y0(n)(t)??0n,f=await N0(n)(t);return o+f}}function EH(n){return async function(t){let o=Wt(n),f=await J0(n)(t);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function vH(n){return async function(){try{let{maxFeePerGas:t,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),T=await Z0(n)(),C=f;if(!(t&&o))throw new Cn.SwapKitError("toolbox_evm_no_fee_data");return{[Cn.FeeOption.Average]:{gasPrice:C,l1GasPrice:T,maxFeePerGas:t,maxPriorityFeePerGas:o},[Cn.FeeOption.Fast]:{gasPrice:Cn.applyFeeMultiplierToBigInt(C,Cn.FeeOption.Fast),l1GasPrice:Cn.applyFeeMultiplierToBigInt(T||0n,Cn.FeeOption.Fast),maxFeePerGas:t,maxPriorityFeePerGas:Cn.applyFeeMultiplierToBigInt(o,Cn.FeeOption.Fast)},[Cn.FeeOption.Fastest]:{gasPrice:Cn.applyFeeMultiplierToBigInt(C,Cn.FeeOption.Fastest),l1GasPrice:Cn.applyFeeMultiplierToBigInt(T||0n,Cn.FeeOption.Fastest),maxFeePerGas:t,maxPriorityFeePerGas:Cn.applyFeeMultiplierToBigInt(o,Cn.FeeOption.Fastest)}}}catch(t){throw new Cn.SwapKitError("toolbox_evm_gas_estimation_error",{error:t.msg??t.toString()})}}}function yf({provider:n,...y}){let t=_y.match(y).with({phrase:_y.P.string},({phrase:T})=>of.HDNodeWallet.fromPhrase(T).connect(n)).with({signer:_y.P.any},({signer:T})=>T).otherwise(()=>{return}),o=uo({provider:n,signer:t}),f=Z0(n);return{...o,estimateGasPrices:vH(n),estimateL1Gas:EH(n),estimateL1GasCost:Y0(n),estimateL2GasCost:N0(n),estimateTotalGasCost:$H(n),getBalance:ny(Cn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Cn,of,_y,PH="0x420000000000000000000000000000000000000f";var Bt=u(()=>{Iy();Q0();Py();Cn=require("@swapkit/helpers"),of=require("ethers"),_y=require("ts-pattern")});var O0={};Mn(O0,{validateEVMAddress:()=>ty,toChecksumAddress:()=>q0,isStateChangingCall:()=>At,isEIP7702Transaction:()=>py,isEIP1559Transaction:()=>qt,isBrowserProvider:()=>ko,getTokenAddress:()=>po,getEvmToolboxAsync:()=>D0,getEvmToolbox:()=>Xt,getEstimateGasPrices:()=>Lo,getEVMTxType:()=>Gt,getEIP1193SendTransaction:()=>Io,getCreateContractTxObject:()=>Mo,getCreateContract:()=>_t,getChecksumAddressFromAsset:()=>G0,createContract:()=>Ty,XLayerToolbox:()=>sy,UNIToolbox:()=>ay,SONICToolbox:()=>Hy,OPToolbox:()=>yf,MONADToolbox:()=>ey,MEGAETHToolbox:()=>nf,MAX_APPROVAL:()=>fy,MATICToolbox:()=>dy,HYPEREVMToolbox:()=>gy,GNOToolbox:()=>ry,ETHToolbox:()=>$y,ContractAddress:()=>Ut,CROToolbox:()=>my,CORNToolbox:()=>hy,COREToolbox:()=>iy,BotanixToolbox:()=>M0,BaseEVMToolbox:()=>uo,BSCToolbox:()=>cy,BERAToolbox:()=>jy,BASEToolbox:()=>Ky,AVAXToolbox:()=>Vy,AURORAToolbox:()=>by,ARBToolbox:()=>vy,ADIToolbox:()=>Ey});function Xt(n,y){return z0.match(n).with(Un.Chain.Adi,()=>Ey(y)).with(Un.Chain.Arbitrum,()=>vy(y)).with(Un.Chain.Aurora,()=>by(y)).with(Un.Chain.Avalanche,()=>Vy(y)).with(Un.Chain.Base,()=>Ky(y)).with(Un.Chain.Berachain,()=>jy(y)).with(Un.Chain.BinanceSmartChain,()=>cy(y)).with(Un.Chain.Botanix,()=>Hy(y)).with(Un.Chain.Core,()=>iy(y)).with(Un.Chain.Corn,()=>hy(y)).with(Un.Chain.Cronos,()=>my(y)).with(Un.Chain.Ethereum,()=>$y(y)).with(Un.Chain.Gnosis,()=>ry(y)).with(Un.Chain.Hyperevm,()=>gy(y)).with(Un.Chain.Optimism,()=>yf(y)).with(Un.Chain.Polygon,()=>dy(y)).with(Un.Chain.Sonic,()=>Hy(y)).with(Un.Chain.Unichain,()=>ay(y)).with(Un.Chain.XLayer,()=>sy(y)).with(Un.Chain.Monad,()=>ey(y)).with(Un.Chain.MegaETH,()=>nf(y)).exhaustive()}async function D0(n,y){let t={...y,provider:y?.provider||await ot(n)};return Xt(n,t)}var Un,z0;var Mt=u(()=>{yy();lt();Bt();Un=require("@swapkit/helpers"),z0=require("ts-pattern");Py();lt();Bt()});var x0;var R0=u(()=>{((t)=>{t.Test="goerli";t.Main="homestead"})(x0||={})});var S0={};Mn(S0,{validateEVMAddress:()=>ty,validateAuthorizations:()=>Tt,validateAuthorization:()=>_0,toHexString:()=>oy,toChecksumAddress:()=>q0,signAuthorization:()=>tt,parseEIP712FromEVMTx:()=>NH,isStateChangingCall:()=>At,isEIP7702Transaction:()=>py,isEIP1559Transaction:()=>qt,isBrowserProvider:()=>ko,getTokenAddress:()=>po,getProviderSync:()=>H0,getProvider:()=>ot,getNetworkParams:()=>yt,getIsEIP1559Compatible:()=>ft,getEvmToolboxAsync:()=>D0,getEvmToolbox:()=>Xt,getEvmApi:()=>ny,getEstimateGasPrices:()=>Lo,getEVMTxType:()=>Gt,getEIP1193SendTransaction:()=>Io,getCreateContractTxObject:()=>Mo,getCreateContract:()=>_t,getChecksumAddressFromAsset:()=>G0,createCustomEvmApi:()=>ZH,createContract:()=>Ty,buildEIP712DomainType:()=>A0,XLayerToolbox:()=>sy,UNIToolbox:()=>ay,SONICToolbox:()=>Hy,OPToolbox:()=>yf,MONADToolbox:()=>ey,MEGAETHToolbox:()=>nf,MAX_APPROVAL:()=>fy,MATICToolbox:()=>dy,HYPEREVMToolbox:()=>gy,GNOToolbox:()=>ry,EthNetwork:()=>x0,ETHToolbox:()=>$y,ContractAddress:()=>Ut,CROToolbox:()=>my,CORNToolbox:()=>hy,COREToolbox:()=>iy,BotanixToolbox:()=>M0,BaseEVMToolbox:()=>uo,BSCToolbox:()=>cy,BERAToolbox:()=>jy,BASEToolbox:()=>Ky,AVAXToolbox:()=>Vy,AURORAToolbox:()=>by,ARBToolbox:()=>vy,ADIToolbox:()=>Ey});module.exports=Zn(S0);var Lt=u(()=>{Iy();yy();Mt();R0()});async function Zt(n,y){let t=await fetch(`${$0}${n}`,{...y,headers:{project_id:P0,...y?.headers}});if(!t.ok)throw Error(`Blockfrost API error: ${t.status} ${t.statusText}`);return t.json()}async function E0(n){try{return await Zt(`/addresses/${n}/utxos`)}catch{return[]}}async function VH(){return(await Zt("/blocks/latest")).slot}async function KH(){let n=await Zt("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Rn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Rn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Rn.default(n.min_fee_a),minFeeB:new Rn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Rn.default(15),priceMem:new Rn.default(n.price_mem),priceSteps:new Rn.default(n.price_step),stakeKeyDeposit:new Rn.default(2000000),utxoCostPerByte:new Rn.default(n.coins_per_utxo_size)}}async function u0(n){let y=await fetch(`${$0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:P0},method:"POST"});if(!y.ok){let t=await y.text();throw Error(`Transaction submission failed: ${t}`)}return y.json()}function jH(n,y){return n.map((t)=>{let o=t.amount.find((C)=>C.unit==="lovelace"),f=o?new Rn.default(o.quantity):new Rn.default(0),T=t.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Rn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:t.output_index,tokens:T,txId:t.tx_hash}})}async function cH(n){try{let y=await E0(n),t=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:_,quantity:A}=H;if(_==="lovelace")t+=BigInt(A);else{let G=o.get(_)||0n;o.set(_,G+BigInt(A))}}}let f=[],{baseDecimal:T}=Hn.getChainConfig(Hn.Chain.Cardano);if(t>0n)f.push(Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:T,value:t.toString()}));for(let[C,H]of o)f.push(Hn.AssetValue.from({asset:`${Hn.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[Hn.AssetValue.from({chain:Hn.Chain.Cardano})];return f}catch(y){let t=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${t}`),[Hn.AssetValue.from({chain:Hn.Chain.Cardano})]}}function v0(n){if(!n||typeof n!=="string")return!1;try{let y=k0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function iH(n,y=0,t=0){let o=await I0.mnemonicToSeed(n,""),T=(await p0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(Qt+1852).derive(Qt+1815).derive(Qt+y),C=T.derive(0).derive(t),H=C.toBip32PublicKey().toPublicKey().toBytes(),_=Nn.crypto.hash28(H),G=T.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Nn.crypto.hash28(G),w={hash:_,type:Nn.types.HashType.ADDRESS},B={hash:M,type:Nn.types.HashType.ADDRESS},W=new Nn.address.BaseAddress(bH,w,B).getBech32(),Q=C.toPrivateKey();return{getAddress:()=>W,publicKey:H,publicKeyHash:_,signTransaction:async(N)=>{try{let Z=await import("@stricahq/cbors"),z=Buffer.from(N,"hex"),X=Z.Decoder.decode(z),[U,q,L,Y]=X.value,D=Z.Encoder.encode(U),J=Nn.crypto.hash32(D),O=Q.sign(J),R=q instanceof Map?q:new Map,k=R.get(F0)||[];k.push([H,O]),R.set(F0,k);let v=[U,R,L,Y];return Z.Encoder.encode(v).toString("hex")}catch(Z){throw new Hn.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(Z)})}}}}function hH(n){let y,t,o;async function f(){if(!o)o=await KH();return o}async function T(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let B=n.index??0;return y=await iH(n.phrase,0,B),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(t)return t;let B=await T();if(!B)return"";if("getAddress"in B)return t=await B.getAddress(),t;return""}async function H(B){let l=B||await C();if(!l)throw new Hn.SwapKitError("core_wallet_connection_not_found");return cH(l)}async function _(B){if(B)try{let{tx:N}=await A(B),Z=N.getFee();return Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:6,value:Z.toString()})}catch{}let l=await f(),W=400,Q=l.minFeeB.plus(l.minFeeA.times(W));return Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:6,value:Q.toString()})}async function A({sender:B="",recipient:l,assetValue:W,memo:Q,pureLovelaceOnly:N=!1}){let Z=B||await C();if(!Z)throw new Hn.SwapKitError("core_wallet_connection_not_found");let[z,X,U]=await Promise.all([E0(Z),VH(),f()]),q=z.filter((on)=>N?on.amount.every((wn)=>wn.unit==="lovelace"):on.amount.some((wn)=>wn.unit==="lovelace")).sort((on,wn)=>{let Yn=on.amount.some((Xn)=>Xn.unit!=="lovelace"),Dn=wn.amount.some((Xn)=>Xn.unit!=="lovelace");if(Yn===Dn)return 0;return Yn?1:-1}),L=Nn.utils.getAddressFromString(Z),Y=Nn.utils.getAddressFromString(l),D=jH(q,L),J=new Rn.default(W.getBaseValue("string")),O=[{address:Y,amount:J,tokens:[]}],R;if(Q){let on=new Map;on.set("msg",[Q]),R={metadata:[{data:on,label:674}]}}let k={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},K=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:R,changeAddress:L,inputs:D,outputs:O,ttl:X+3600}),{payload:s}=K.buildTransaction();return{tx:K,unsignedTx:s}}async function G(B){let l=await T();if(!l||!("signTransaction"in l))throw new Hn.SwapKitError("core_wallet_connection_not_found");return l.signTransaction(B)}async function M({recipient:B,assetValue:l,memo:W}){let Q=await T();if(!Q||!("signTransaction"in Q))throw new Hn.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:N}=await A({assetValue:l,memo:W,recipient:B,sender:await C()}),Z=await G(N);return await u0(Z)}async function w(B){let l=await G(B);return await u0(l)}return{createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:H,signAndBroadcastTransaction:w,signTransaction:G,transfer:M,validateAddress:v0}}var k0,I0,p0,Nn,Hn,Rn,P0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",$0="https://cardano-mainnet.blockfrost.io/api/v0",bH,Qt=2147483648,F0=0;var b0=u(()=>{k0=require("@scure/base"),I0=require("@scure/bip39"),p0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),Hn=require("@swapkit/helpers"),Rn=n0(require("bignumber.js")),bH=Nn.types.NetworkId.MAINNET});var Jt={};Mn(Jt,{validateCardanoAddress:()=>v0,getCardanoToolbox:()=>hH});module.exports=Zn(Jt);var Yt=u(()=>{b0()});function Ay(n){return Vn.base64.encode(Uint8Array.from(Vn.bech32.fromWords(Vn.bech32.decode(n).words)))}function Uy(n,y="thor"){return Vn.bech32.encode(y,Vn.bech32.toWords(Vn.base64.decode(n)))}function mH(n){return Vn.base64.encode(n)}function rH(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new V0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Vn.base64.decode(n)}var Vn,V0;var Nt=u(()=>{Vn=require("@scure/base"),V0=require("@swapkit/helpers")});function mn(n){switch(n){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return c0;case E.Chain.Noble:return i0;default:return j0}}async function rn(n){let y=await import("@cosmjs/stargate"),t=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return t.connect({headers:o,url:n})}async function Qo(n,y,t={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,T=o.GasPrice??o.default?.GasPrice,C=typeof t==="string"?t:"0.0003uatom",H=typeof t==="string"?{}:t;return f.connectWithSigner(n,y,{gasPrice:T.fromString(C),...H})}async function Dt(n,y){let t=await import("@cosmjs/stargate");return(t.SigningStargateClient??t.default?.SigningStargateClient).offline(n,y)}async function Ot({sender:n,recipient:y,assetValue:t,memo:o="",feeRate:f,sequence:T,accountNumber:C}){let{chain:H,chainId:_}=t,A=await E.getRPCUrl(H),M=await(await rn(A)).getAccount(n);if(!M)throw new E.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let w=E.AssetValue.from({chain:H}),B=oo(w.symbol),l=mn(H),W=B&&f?{amount:[{amount:f.toString(),denom:B}],gas:l.gas}:l,Q={amount:[{amount:t.getBaseValue("string"),denom:oo(t.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:_,fee:W,memo:o,msgs:[{typeUrl:gH(H),value:Q}],sequence:T??M.sequence}}var E,zt="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",K0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",j0,c0,i0,oo=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return zt;case"uYUM":case"YUM":return K0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},wy=({symbol:n,chain:y})=>{if(y===E.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${E.Chain.Maya}.${n}`).toUpperCase();if(y===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${E.Chain.THORChain}.${n}`:n).toUpperCase();return oo(n,!1)},gH=(n)=>{switch(n){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:n})}},dH,xt=(n,y)=>{let t=dH[n.toLowerCase()];if(!t)return E.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:T}=t,C=o?{chain:o}:{asset:f};return E.AssetValue.from({...C,fromBaseDecimal:T,value:y})};var qy=u(()=>{E=require("@swapkit/helpers"),j0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},c0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},i0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};dH={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},[zt.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal}}});var h0={};Mn(h0,{$root:()=>F});var Ln,b,In,p,F;var m0=u(()=>{Ln=n0(require("protobufjs/minimal.js")),b=Ln.default.Reader,In=Ln.default.Writer,p=Ln.default.util,F=Ln.default.roots.default||(Ln.default.roots.default={});F.common=(()=>{let n={};return n.Asset=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Asset;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.chain=o.string();break;case 2:C.symbol=o.string();break;case 3:C.ticker=o.string();break;case 4:C.synth=o.bool();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!p.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!p.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!p.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Asset)return o;let f=new F.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.chain="",T.symbol="",T.ticker="",T.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))T.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))T.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))T.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))T.synth=o.synth;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=p.Long?p.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))F.common.Asset.encode(o.asset,f.uint32(10).fork()).ldelim();if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))f.uint32(18).string(o.amount);if(o.decimals!=null&&Object.hasOwnProperty.call(o,"decimals"))f.uint32(24).int64(o.decimals);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Coin;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.asset=F.common.Asset.decode(o,o.uint32());break;case 2:C.amount=o.string();break;case 3:C.decimals=o.int64();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=F.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!p.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!p.isInteger(o.decimals)&&!(o.decimals&&p.isInteger(o.decimals.low)&&p.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Coin)return o;let f=new F.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=F.common.Asset.fromObject(o.asset)}if(o.amount!=null)f.amount=String(o.amount);if(o.decimals!=null){if(p.Long)(f.decimals=p.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new p.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)if(T.asset=null,T.amount="",p.Long){let C=new p.Long(0,0,!1);T.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else T.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))T.asset=F.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))T.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")T.decimals=f.longs===String?String(o.decimals):o.decimals;else T.decimals=f.longs===String?p.Long.prototype.toString.call(o.decimals):f.longs===Number?new p.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.PubKeySet;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.secp256k1=o.string();break;case 2:C.ed25519=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!p.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!p.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.PubKeySet)return o;let f=new F.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.secp256k1="",T.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))T.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))T.ed25519=o.ed25519;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(t){if(this.coins=[],this.gas=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=p.emptyArray,y.prototype.gas=p.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let T=0;T<o.gas.length;++T)F.common.Coin.encode(o.gas[T],f.uint32(50).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(58).string(o.memo);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Tx;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.id=o.string();break;case 2:C.chain=o.string();break;case 3:C.fromAddress=o.string();break;case 4:C.toAddress=o.string();break;case 5:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(F.common.Coin.decode(o,o.uint32()));break;case 7:C.memo=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!p.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!p.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!p.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!p.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.gas!=null&&o.hasOwnProperty("gas")){if(!Array.isArray(o.gas))return"gas: array expected";for(let f=0;f<o.gas.length;++f){let T=F.common.Coin.verify(o.gas[f]);if(T)return"gas."+T}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!p.isString(o.memo))return"memo: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Tx)return o;let f=new F.common.Tx;if(o.id!=null)f.id=String(o.id);if(o.chain!=null)f.chain=String(o.chain);if(o.fromAddress!=null)f.fromAddress=String(o.fromAddress);if(o.toAddress!=null)f.toAddress=String(o.toAddress);if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.gas){if(!Array.isArray(o.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let T=0;T<o.gas.length;++T){if(typeof o.gas[T]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[T]=F.common.Coin.fromObject(o.gas[T])}}if(o.memo!=null)f.memo=String(o.memo);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[],T.gas=[];if(f.defaults)T.id="",T.chain="",T.fromAddress="",T.toAddress="",T.memo="";if(o.id!=null&&o.hasOwnProperty("id"))T.id=o.id;if(o.chain!=null&&o.hasOwnProperty("chain"))T.chain=o.chain;if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))T.fromAddress=o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))T.toAddress=o.toAddress;if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.gas?.length){T.gas=[];for(let C=0;C<o.gas.length;++C)T.gas[C]=F.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))T.memo=o.memo;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(t){if(this.coins=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.coins=p.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(10).fork()).ldelim();if(o.poolDeduct!=null&&Object.hasOwnProperty.call(o,"poolDeduct"))f.uint32(18).string(o.poolDeduct);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Fee;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.poolDeduct=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!p.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Fee)return o;let f=new F.common.Fee;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.poolDeduct!=null)f.poolDeduct=String(o.poolDeduct);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[];if(f.defaults)T.poolDeduct="";if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))T.poolDeduct=o.poolDeduct;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.ProtoUint;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.value=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!p.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.ProtoUint)return o;let f=new F.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.value="";if(o.value!=null&&o.hasOwnProperty("value"))T.value=o.value;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();F.types=(()=>{let n={};return n.MsgDeposit=(()=>{function y(t){if(this.coins=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.coins=p.emptyArray,y.prototype.memo="",y.prototype.signer=p.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(10).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(18).string(o.memo);if(o.signer!=null&&Object.hasOwnProperty.call(o,"signer"))f.uint32(26).bytes(o.signer);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.types.MsgDeposit;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.memo=o.string();break;case 3:C.signer=o.bytes();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!p.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||p.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof F.types.MsgDeposit)return o;let f=new F.types.MsgDeposit;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.memo!=null)f.memo=String(o.memo);if(o.signer!=null){if(typeof o.signer==="string")p.base64.decode(o.signer,f.signer=p.newBuffer(p.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[];if(f.defaults){if(T.memo="",f.bytes===String)T.signer="";else if(T.signer=[],f.bytes!==Array)T.signer=p.newBuffer(T.signer)}if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))T.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))T.signer=f.bytes===String?p.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(t){if(this.amount=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.fromAddress=p.newBuffer([]),y.prototype.toAddress=p.newBuffer([]),y.prototype.amount=p.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let T=0;T<o.amount.length;++T)F.cosmos.base.v1beta1.Coin.encode(o.amount[T],f.uint32(26).fork()).ldelim();return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.types.MsgSend;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.fromAddress=o.bytes();break;case 2:C.toAddress=o.bytes();break;case 3:if(!C.amount?.length)C.amount=[];C.amount.push(F.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||p.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||p.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let T=F.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(T)return"amount."+T}}return null},y.fromObject=function(o){if(o instanceof F.types.MsgSend)return o;let f=new F.types.MsgSend;if(o.fromAddress!=null){if(typeof o.fromAddress==="string")p.base64.decode(o.fromAddress,f.fromAddress=p.newBuffer(p.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")p.base64.decode(o.toAddress,f.toAddress=p.newBuffer(p.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let T=0;T<o.amount.length;++T){if(typeof o.amount[T]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[T]=F.cosmos.base.v1beta1.Coin.fromObject(o.amount[T])}}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.amount=[];if(f.defaults){if(f.bytes===String)T.fromAddress="";else if(T.fromAddress=[],f.bytes!==Array)T.fromAddress=p.newBuffer(T.fromAddress);if(f.bytes===String)T.toAddress="";else if(T.toAddress=[],f.bytes!==Array)T.toAddress=p.newBuffer(T.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))T.fromAddress=f.bytes===String?p.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))T.toAddress=f.bytes===String?p.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){T.amount=[];for(let C=0;C<o.amount.length;++C)T.amount[C]=F.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();F.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let t={};return t.Coin=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=In.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))C.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))C.uint32(18).string(T.amount);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.Coin;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.denom=T.string();break;case 2:_.amount=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!p.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!p.isString(T.amount))return"amount: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.Coin)return T;let C=new F.cosmos.base.v1beta1.Coin;if(T.denom!=null)C.denom=String(T.denom);if(T.amount!=null)C.amount=String(T.amount);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))H.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))H.amount=T.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.DecCoin=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=In.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))C.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))C.uint32(18).string(T.amount);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.DecCoin;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.denom=T.string();break;case 2:_.amount=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!p.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!p.isString(T.amount))return"amount: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.DecCoin)return T;let C=new F.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)C.denom=String(T.denom);if(T.amount!=null)C.amount=String(T.amount);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))H.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))H.amount=T.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.IntProto=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.int="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=In.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))C.uint32(10).string(T.int);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.IntProto;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.int=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.int!=null&&T.hasOwnProperty("int")){if(!p.isString(T.int))return"int: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.IntProto)return T;let C=new F.cosmos.base.v1beta1.IntProto;if(T.int!=null)C.int=String(T.int);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(T.int!=null&&T.hasOwnProperty("int"))H.int=T.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.DecProto=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.dec="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=In.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))C.uint32(10).string(T.dec);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.DecProto;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.dec=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.dec!=null&&T.hasOwnProperty("dec")){if(!p.isString(T.dec))return"dec: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.DecProto)return T;let C=new F.cosmos.base.v1beta1.DecProto;if(T.dec!=null)C.dec=String(T.dec);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(T.dec!=null&&T.hasOwnProperty("dec"))H.dec=T.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t})(),y})(),n})()});async function Zo(){let{$root:n}=await Promise.resolve().then(() => (m0(),h0)),y=await import("@cosmjs/proto-signing"),t=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new t([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function yo(n){let y=await import("@cosmjs/stargate"),t=y.AminoTypes??y.default?.AminoTypes,o=n===r0.Chain.THORChain?"thorchain":"mayachain";return new t({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...T})=>({...T,signer:Ay(f)}),toAmino:({signer:f,...T})=>({...T,signer:Uy(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:T,...C})=>({...C,fromAddress:Ay(f),toAddress:Ay(T)}),toAmino:({fromAddress:f,toAddress:T,...C})=>({...C,from_address:Uy(f),to_address:Uy(T)})}})}var r0;var Rt=u(()=>{Nt();r0=require("@swapkit/helpers")});function ut(n){let{assetValue:y,recipient:t,memo:o,sender:f,asSignable:T,asAminoMessage:C}=n;if(t)return d0({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,recipient:t,sender:f});return a0({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,sender:f})}async function d0({sender:n,recipient:y,assetValue:t,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let _=t.chain,A=await zn.getRPCUrl(_),G=await g0({rpcUrl:A,sender:n}),{chainId:M}=zn.getChainConfig(_),w=St({assetValue:t,recipient:y,sender:n}),B=f?await fo(T?w:to(w),_):w;return{accountNumber:H||G.accountNumber,chainId:M,fee:mn(_),memo:o,msgs:[B],sequence:C||G.sequence}}async function a0({sender:n,assetValue:y,memo:t="",asSignable:o=!0,asAminoMessage:f=!1,sequence:T,accountNumber:C}){let H=y.chain,_=await zn.getRPCUrl(H),A=await g0({rpcUrl:_,sender:n}),{chainId:G}=zn.getChainConfig(H),M=Ft({assetValue:y,memo:t,sender:n}),w=o?await fo(f?M:to(M),H):M;return{accountNumber:C||A.accountNumber,chainId:G,fee:mn(H),memo:t,msgs:[w],sequence:T||A.sequence}}function to(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let t=zn.AssetValue.from({asset:y.asset}),o=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),f=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:t.isSynthetic,ticker:t.ticker}}})}}}async function Gy({chain:n,memo:y,msgs:t}){let o=await Zo(),f=await yo(n),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:t.map((C)=>f.fromAmino(C))}};return o.encode(T)}var zn,aH,sH,St=({sender:n,recipient:y,assetValue:t})=>{return{type:`${t.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:t.getBaseValue("string"),denom:oo(t.symbol,!0)}],from_address:n,to_address:y}}},Ft=({sender:n,assetValue:y,memo:t=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:wy(y)}],memo:t,signer:n}}},ff=({sender:n,recipient:y,assetValue:t,memo:o})=>{return!y?Ft({assetValue:t,memo:o,sender:n}):St({assetValue:t,recipient:y,sender:n})},fo=async(n,y)=>{return(await yo(y)).fromAmino(n)},g0=async({rpcUrl:n,sender:y})=>{let o=await(await rn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var s0=u(()=>{qy();Rt();zn=require("@swapkit/helpers"),aH=mn(zn.Chain.THORChain).gas,sH=mn(zn.Chain.Maya).gas});var e0=()=>{};var nC=u(()=>{e0()});var kt=u(()=>{Nt();s0();Rt();nC()});async function Pt(n,y){try{let o=(await pt.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function It({phrase:n,prefix:y,...t}){let o="derivationPath"in t?t.derivationPath:`${I.DerivationPath[t.chain]}/${t.index}`;return await TC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[tC.stringToPath(o)],prefix:y})}async function eH({privateKey:n,prefix:y}){let t=await import("@cosmjs/proto-signing");return(t.DirectSecp256k1Wallet??t.default?.DirectSecp256k1Wallet).fromKey(n,y)}function CC(n){return async function({signature:t,message:o,address:f}){let T=await n(f);if(!T?.pubkey)throw new I.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,_=C.Secp256k1??C.default?.Secp256k1,A=H.fromFixedLength(To.base64.decode(t));return _.verifySignature(A,To.base64.decode(o),T.pubkey.value)}}function Wy({chain:n,...y}){let t=I.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=I.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:I.updateDerivationPath(I.NetworkDerivationPath[n],{index:o})),T;async function C(){if(T)return T;return T=await ly.match(y).with({phrase:ly.P.string},({phrase:B})=>It({derivationPath:f,phrase:B,prefix:t})).with({signer:ly.P.any},({signer:B})=>B).otherwise(()=>{return}),T}async function H(B){let l=await I.getRPCUrl(n);return(await rn(l)).getAccount(B)}async function _(){let B=await C(),[l]=await B?.getAccounts()||[];return l?.address}async function A(){let B=await C(),[l]=await B?.getAccounts()||[];if(!l?.pubkey)throw new I.SwapKitError("toolbox_cosmos_signer_not_defined");return To.base64.encode(l?.pubkey)}async function G(B){let l=await C(),W=await _(),Q=await I.getRPCUrl(n);if(!(l&&W))throw new I.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Qo(Q,l)).sign(W,B.msgs,B.fee,B.memo,{accountNumber:B.accountNumber,chainId:B.chainId,sequence:B.sequence})}async function M(B){let l=await C(),W=await _(),Q=await I.getRPCUrl(n);if(!(l&&W))throw new I.SwapKitError("toolbox_cosmos_signer_not_defined");let Z=await(await Qo(Q,l)).signAndBroadcast(W,B.msgs,B.fee,B.memo);if(Z.code!==0)throw new I.SwapKitError("core_swap_transaction_error",{code:Z.code,message:Z.rawLog});return Z.transactionHash}async function w({recipient:B,assetValue:l,memo:W="",feeRate:Q,feeOptionKey:N=I.FeeOption.Fast}){let Z=await C(),z=await _();if(!(Z&&z))throw new I.SwapKitError("toolbox_cosmos_signer_not_defined");let X=await I.getRPCUrl(n),U=I.AssetValue.from({chain:n}),q=wy(U),L=Q||y_((await yC(n,oC[n]))[N],q),Y=await Qo(X,Z),D=oo(l.symbol),J=[{amount:l.getBaseValue("string"),denom:D}],{transactionHash:O}=await Y.sendTokens(z,B,J,L,W);return O}return{createPrivateKeyFromPhrase:t_(f),createTransaction:Ot,fetchFeeRateFromSwapKit:Pt,getAccount:H,getAddress:_,getBalance:async(B,l)=>{let W=await fC(n)(B),Q=await Promise.all(W.filter(({denom:N})=>N&&!N.includes("IBC/")&&!([I.Chain.THORChain,I.Chain.Maya].includes(n)&&N.split("-").length>2)).map(({denom:N,amount:Z})=>{let z=[I.Chain.THORChain,I.Chain.Maya].includes(n)&&(N.includes("/")||N.includes("˜"))?`${n}.${N}`:N;return xt(z,Z)}));if(Q.length===0)return[I.AssetValue.from({chain:n})];return Q},getBalanceAsDenoms:fC(n),getFees:()=>yC(n,oC[n]),getPubKey:A,getSignerFromPhrase:({phrase:B,derivationPath:l})=>It({derivationPath:I.derivationPathToString(l),index:o,phrase:B,prefix:t}),getSignerFromPrivateKey:async(B)=>{let l=await import("@cosmjs/proto-signing");return(l.DirectSecp256k1Wallet??l.default?.DirectSecp256k1Wallet).fromKey(B,t)},signAndBroadcastTransaction:M,signTransaction:G,transfer:w,validateAddress:HC(n),verifySignature:CC(H)}}async function n_(n,y){try{let o=(await pt.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function o_({assetValue:{chain:n}}){return I.AssetValue.from({chain:n,value:f_(n)})}async function yC(n,y){let{chainId:t,baseDecimal:o}=I.getChainConfig(n),f=await Pt(t,y);return{average:I.SwapKitNumber.fromBigInt(BigInt(f),o),fast:I.SwapKitNumber.fromBigInt(BigInt(I.applyFeeMultiplier(f,I.FeeOption.Fast,!0)),o),fastest:I.SwapKitNumber.fromBigInt(BigInt(I.applyFeeMultiplier(f,I.FeeOption.Fastest,!0)),o)}}function y_(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function f_(n){return{[I.Chain.Cosmos]:0.007,[I.Chain.Kujira]:0.02,[I.Chain.Noble]:0.01,[I.Chain.THORChain]:0.02,[I.Chain.Maya]:0.02,[I.Chain.Harbor]:0.02}[n]||0}function HC(n){let y=I.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:T}=To.bech32.decode(o);return To.bech32.encode(f,T)===o.toLocaleLowerCase()}catch{return!1}}}function fC(n){return async function(t){let o=await I.getRPCUrl(n);return(await(await rn(o)).getAllBalances(t)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function t_(n){return async function(t){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,T=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,_=o.Bip39??o.default?.Bip39,A=new H(t),G=await _.mnemonicToSeed(A),{privkey:M}=C.derivePath(T.Secp256k1,G,f(n));return M}}var tC,TC,To,I,pt,ly,oC;var tf=u(()=>{qy();tC=require("@cosmjs/crypto"),TC=require("@cosmjs/proto-signing"),To=require("@scure/base"),I=require("@swapkit/helpers"),pt=require("@swapkit/helpers/api"),ly=require("ts-pattern");oC={[I.Chain.Cosmos]:1000,[I.Chain.Kujira]:1000,[I.Chain.Noble]:1000,[I.Chain.THORChain]:5000000,[I.Chain.Maya]:5000000,[I.Chain.Harbor]:5000000}});function T_({prefix:n,derivationPath:y}){return async function(o,f=0){let T=await import("@cosmjs/amino"),C=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),_=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[_(`${y}/${f}`)],prefix:n})}}function C_(n){return Co.base64.encode(n)}function H_(n){return async function({wallet:t,tx:o}){let{msgs:f,accountNumber:T,sequence:C,chainId:H,fee:_,memo:A}=typeof o==="string"?JSON.parse(o):o,G=(await t.getAccounts())?.[0]?.address||"",M=await yo(n),w=await Zo(),B=await Dt(t,{aminoTypes:M,registry:w}),l=[];for(let N of f){let Z=await fo(N,n);l.push(Z)}let{signatures:[W]}=await B.sign(G,l,_,A,{accountNumber:T,chainId:H,sequence:C});return{bodyBytes:await Gy({chain:n,memo:A,msgs:f.map(to)}),signature:C_(W)}}}function __({prefix:n,chain:y}){return async function(o,f,T,C,H){let _=await e.getRPCUrl(y),{encodeSecp256k1Pubkey:A,pubkeyToAddress:G}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:B}=JSON.parse(o),l=await _C(T,C),W=f.map((Z)=>[G(A(Co.base64.decode(Z.pubKey)),n),Co.base64.decode(Z.signature)]),Q=await rn(_),{transactionHash:N}=await Q.broadcastTx(M(l,w,B,H,new Map(W)));return N}}async function _C(n,y,t=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((T)=>f(Co.base64.decode(T))),y,t)}function A_(n){return Co.base64.decode(n)}async function U_({privateKey:n,message:y}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,o=await t.createSignature(Co.base64.decode(y),n);return Co.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function $t({chain:n,...y}){let{nodeUrl:t}=e.getChainConfig(n),{isStagenet:o}=e.SKConfig.get("envs"),f=n===e.Chain.THORChain,T=`${o?"s":""}${e.CosmosChainPrefixes[n]}`,C="index"in y?y.index||0:0,H="derivationPath"in y&&y.derivationPath?y.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[n],{index:C}),_=Wy({chain:n,...y}),A=mn(n);async function G(){let w,B=`${t}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:l}}=await e.RequestClient.get(B);if(!l||Number.isNaN(l)||l<0)throw new e.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:l.toString()});w=new e.SwapKitNumber(l)}catch{w=new e.SwapKitNumber({decimal:e.getChainConfig(n).baseDecimal,value:f?0.02:1})}return{[e.FeeOption.Average]:w,[e.FeeOption.Fast]:w,[e.FeeOption.Fastest]:w}}async function M({assetValue:w,memo:B="",recipient:l}){let W=await e.getRPCUrl(n),Q=await By.match(y).with({phrase:By.P.string},({phrase:O})=>_.getSignerFromPhrase({derivationPath:H,phrase:O})).with({signer:By.P.any},({signer:O})=>O).otherwise(()=>{return}),{TxRaw:N}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),Z=(await Q?.getAccounts())?.[0]?.address;if(!(Z&&Q))throw new e.SwapKitError("toolbox_cosmos_no_signer");let z="signAmino"in Q,X=await Zo(),U=await yo(n),q=await Qo(W,Q,{aminoTypes:U,registry:X}),L=ff({assetValue:w,memo:B,recipient:l,sender:Z});if(z){let O=await fo(L,n),{signatures:R,authInfoBytes:k}=await q.sign(Z,[O],A,B),v=N.encode({authInfoBytes:k,bodyBytes:await Gy({chain:n,memo:B,msgs:[L].map(to)}),signatures:R}).finish();return(await q.broadcastTx(v)).transactionHash}let Y=to(L),D=await fo(Y,n);return(await q.signAndBroadcast(Z,[D],A,B)).transactionHash}return{..._,broadcastMultisigTx:__({chain:n,prefix:T}),buildAminoMsg:ff,buildEncodedTxBody:Gy,convertToSignable:fo,createDefaultAminoTypes:()=>yo(n),createDefaultRegistry:Zo,createMultisig:_C,createTransaction:ut,deposit:M,getFees:G,importSignature:A_,parseAminoMessageForDirectSigning:to,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:B}=(await import("@cosmjs/amino")).default;return B(w,T)},secp256k1HdWalletFromMnemonic:T_({derivationPath:e.derivationPathToString(H),prefix:T}),signMultisigTx:H_(n),signWithPrivateKey:U_,transfer:M}}var Co,e,By;var Et=u(()=>{kt();qy();tf();Co=require("@scure/base"),e=require("@swapkit/helpers"),By=require("ts-pattern")});var Ho,w_=(n,y)=>{switch(n){case Ho.Chain.Cosmos:case Ho.Chain.Kujira:case Ho.Chain.Noble:return Wy({chain:n,...y});case Ho.Chain.Maya:case Ho.Chain.THORChain:return $t({chain:n,...y});default:throw new Ho.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var AC=u(()=>{tf();Et();Ho=require("@swapkit/helpers");tf();Et()});var Tf={};Mn(Tf,{verifySignature:()=>CC,transferMsgAmino:()=>St,toBase64:()=>mH,parseAminoMessageForDirectSigning:()=>to,getSignerFromPrivateKey:()=>eH,getSignerFromPhrase:()=>It,getMsgSendDenom:()=>oo,getFeeRateFromSwapKit:()=>n_,getDenomWithChain:()=>wy,getDefaultChainFee:()=>mn,getCosmosToolbox:()=>w_,getCosmosAddressValidator:()=>HC,getAssetFromDenom:()=>xt,fromBase64:()=>rH,fetchFeeRateFromSwapKit:()=>Pt,estimateTransactionFee:()=>o_,depositMsgAmino:()=>Ft,createTransaction:()=>ut,createThorchainToolbox:()=>$t,createStargateClient:()=>rn,createSigningStargateClient:()=>Qo,createOfflineStargateClient:()=>Dt,createDefaultRegistry:()=>Zo,createDefaultAminoTypes:()=>yo,createCosmosToolbox:()=>Wy,cosmosCreateTransaction:()=>Ot,convertToSignable:()=>fo,buildTransferTx:()=>d0,buildEncodedTxBody:()=>Gy,buildDepositTx:()=>a0,buildAminoMsg:()=>ff,bech32ToBase64:()=>Ay,base64ToBech32:()=>Uy,YUM_KUJIRA_FACTORY_DENOM:()=>K0,USK_KUJIRA_FACTORY_DENOM:()=>zt,THORCHAIN_GAS_VALUE:()=>aH,MAYA_GAS_VALUE:()=>sH,DEFAULT_NOBLE_FEE_MAINNET:()=>i0,DEFAULT_KUJI_FEE_MAINNET:()=>c0,DEFAULT_COSMOS_FEE_MAINNET:()=>j0});module.exports=Zn(Tf);var Cf=u(()=>{kt();AC();qy()});function q_({builder:n,grouping:y="na",orders:t}){return{builder:n,grouping:y,orders:t,type:"order"}}function G_({cancels:n}){return{cancels:n,type:"cancel"}}function l_({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function W_({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function B_({modifies:n}){return{modifies:n,type:"batchModify"}}function X_({asset:n,isCross:y,leverage:t}){return{asset:n,isCross:y,leverage:t,type:"updateLeverage"}}function M_({asset:n,isBuy:y,ntli:t}){return{asset:n,isBuy:y,ntli:t,type:"updateIsolatedMargin"}}function L_({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function Q_({time:n}){return{time:n,type:"scheduleCancel"}}function Z_({amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function J_({amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:_}){return{amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:_,type:"sendAsset"}}function Y_({agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f,type:"approveAgent"}}function N_({builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function z_({hyperliquidChain:n,isUndelegate:y,nonce:t,signatureChainId:o,validator:f,wei:T}){return{hyperliquidChain:n,isUndelegate:y,nonce:t,signatureChainId:o,type:"tokenDelegate",validator:f,wei:T}}function Sn(...n){let y=n.reduce((f,T)=>f+T.length,0),t=new Uint8Array(y),o=0;for(let f of n)t.set(f,o),o+=f.length;return t}function F_(n,y,t){if(t<y)return new Uint8Array([n+t]);if(t<=255)return new Uint8Array([n+y,t]);if(t<=65535)return new Uint8Array([n+y+1,t>>8,t&255]);return new Uint8Array([n+y+2,t>>>24&255,t>>>16&255,t>>>8&255,t&255])}function _o(n,y){let t=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)t[f]=Number(o&0xffn),o>>=8n;return t}function UC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return Sn(new Uint8Array([205]),_o(n,2));if(n<=0xffffffffn)return Sn(new Uint8Array([206]),_o(n,4));return Sn(new Uint8Array([207]),_o(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return Sn(new Uint8Array([209]),_o(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Sn(new Uint8Array([210]),_o(BigInt.asUintN(32,n),4));return Sn(new Uint8Array([211]),_o(BigInt.asUintN(64,n),8))}function GC(n){let y=S_.encode(n);if(y.length<32)return Sn(new Uint8Array([160+y.length]),y);return Sn(F_(217,0,y.length),y)}function u_(n){let y=n.map((o)=>vt(o)),t=n.length<16?new Uint8Array([144+n.length]):n.length<=65535?new Uint8Array([220,n.length>>8,n.length&255]):new Uint8Array([221,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Sn(t,...y)}function k_(n){let y=Object.entries(n).filter(([,o])=>typeof o<"u"),t=y.length<16?new Uint8Array([128+y.length]):y.length<=65535?new Uint8Array([222,y.length>>8,y.length&255]):new Uint8Array([223,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Sn(t,...y.flatMap(([o,f])=>[GC(o),vt(f)]))}function vt(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return GC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new Hf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return UC(BigInt(n))}if(typeof n==="bigint")return UC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Sn(y,n)}if(Array.isArray(n))return u_(n);if(typeof n==="object")return k_(n);throw new Hf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function I_(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new Hf.SwapKitError("helpers_invalid_params",{hexValue:n});let t=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)t[o/2]=Number.parseInt(y.slice(o,o+2),16);return t}function lC(n){return{domain:D_,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...O_.Agent]}}}function WC(n){let y=R_[n.type],t=x_[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:wC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||qC},primaryType:y,types:{[y]:t}}}function BC(n){let y=_f.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function XC(n,y,{expiresAfter:t,vaultAddress:o}={}){let f=vt(n),T=_o(BigInt(y),8),C=o?Sn(new Uint8Array([1]),I_(o.toLowerCase())):new Uint8Array([0]),H=typeof t==="number"?Sn(new Uint8Array([0]),_o(BigInt(t),8)):new Uint8Array;return _f.keccak256(Sn(f,T,C,H))}function MC(n){let y=n.hyperliquidChain||qC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var Hf,_f,wC="0x0000000000000000000000000000000000000000",D_,O_,qC="Mainnet",x_,R_,S_;var LC=u(()=>{Hf=require("@swapkit/helpers"),_f=require("ethers"),D_={chainId:1337,name:"Exchange",verifyingContract:wC,version:"1"},O_={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},x_={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},R_={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},S_=new TextEncoder});function Pn(n,y){if(!Kt(n))throw new a.SwapKitError(y,{address:n});return n.toLowerCase()}async function Jo(n){let y=await Af();return a.RequestClient.post(`${y}/info`,{json:n})}function V_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"clearinghouseState",user:Pn(y,"helpers_invalid_params")})}function K_({user:n}){return Jo({type:"spotClearinghouseState",user:Pn(n,"helpers_invalid_params")})}function j_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"openOrders",user:Pn(y,"helpers_invalid_params")})}function c_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"frontendOpenOrders",user:Pn(y,"helpers_invalid_params")})}function i_({oidOrCloid:n,user:y}){return Jo({oid:n,type:"orderStatus",user:Pn(y,"helpers_invalid_params")})}function h_({aggregateByTime:n,user:y}){return Jo({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:Pn(y,"helpers_invalid_params")})}function m_({aggregateByTime:n,endTime:y,startTime:t,user:o}){return Jo({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:t,type:"userFillsByTime",user:Pn(o,"helpers_invalid_params")})}function QC({coin:n,token:y,value:t,spotMeta:o}){if(!t||Number(t)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,T=p_[f]||YC,C=o?.tokens?.find((_)=>_.name===n||y!==void 0&&_.index===Number(y)),H=C?`${Kn}.${f}-${C.name}:${C.tokenId}`:`${Kn}.${f}`;return new a.AssetValue({decimal:T,identifier:H,value:t})}function r_(n){let y=new Map;for(let t of n){let o=t.toString({includeSynthProtocol:!0}),f=y.get(o);y.set(o,f?f.add(t):t)}if(![...y.values()].some((t)=>t.isGasAsset||t.ticker==="HYPE")){let t=a.AssetValue.from({chain:Kn,value:0});y.set(t.toString({includeSynthProtocol:!0}),t)}return[...y.values()]}async function Af(){try{return await a.getRPCUrl(Kn)}catch{let[n]=a.getChainConfig(Kn).rpcUrls;if(!n)throw new a.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:Kn});return n}}async function Vt(){return`${await Af()}/exchange`}function g_(n){let y=b_[n.type],{type:t,...o}=n,f=v_[t];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:E_,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function NC({action:n,expiresAfter:y,nonce:t,vaultAddress:o}){let f=t||Date.now(),T=o?Pn(o,"helpers_invalid_params"):void 0,C=await Vt(),H=XC(n,f,{expiresAfter:y,vaultAddress:T});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:lC(H),vaultAddress:T}}async function zC({action:n,nonce:y,signatureChainId:t}){let o=y||n.nonce||Date.now(),f=t||n.signatureChainId||"0xa4b1",T=MC({...n,nonce:o,signatureChainId:f});return{action:T,endpoint:await Vt(),nonce:o,typedData:WC(T)}}async function bt({assetValue:n,recipient:y,sender:t,signatureChainId:o,time:f}){let T=Pn(y,"core_transaction_invalid_recipient_address"),C=Pn(t,"core_transaction_invalid_sender_address"),H=await Vt(),_=n.getValue("string"),A=f||Date.now(),G=n.address;if(!G)throw new a.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:_,destination:T,hyperliquidChain:P_,signatureChainId:o||$_,time:A,token:G,type:"spotSend"};return{action:M,endpoint:H,nonce:A,typedData:g_(M)}}async function ZC(n){let y=await a.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new a.SwapKitError("core_transaction_failed",{response:y});return y}async function d_(n,y){let t=await Af(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((T)=>setTimeout(T,1000));try{let T=await a.RequestClient.post(`${t}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(T)?T.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function Kt(n){return n.startsWith("0x")&&ty(n)}function a_(n){let y=xn(Kn),t=n&&"index"in n?n.index||0:0,o=a.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[Kn],{index:t})),f,T=!1;function C(){if(T)return f;return f=Po.match(n).with({phrase:Po.P.string},({phrase:w})=>{return JC.HDNodeWallet.fromPhrase(w,void 0,o)}).with({signer:Po.P.not(Po.P.nullish)},({signer:w})=>w).otherwise(()=>{return}),T=!0,f}async function H(){let w=C();return w?await w.getAddress():""}async function _(w){let B=C();if(!B)throw new a.SwapKitError("toolbox_hypercore_no_signer");let l=await B.signTypedData(w.typedData.domain,w.typedData.types,w.typedData.message);return{action:w.action,endpoint:w.endpoint,nonce:w.nonce,signature:BC(l),..."expiresAfter"in w?{expiresAfter:w.expiresAfter}:{},..."vaultAddress"in w?{vaultAddress:w.vaultAddress}:{}}}async function A(w){let B=Pn(w,"helpers_invalid_params");try{let l=await Af(),[W,Q,N]=await Promise.all([a.RequestClient.post(`${l}/info`,{json:{type:"spotClearinghouseState",user:B}}),a.RequestClient.post(`${l}/info`,{json:{type:"clearinghouseState",user:B}}),a.RequestClient.post(`${l}/info`,{json:{type:"spotMeta"}})]),Z=(W.spotState?.balances||W.balances||[]).map(({coin:X,token:U,total:q})=>QC({coin:X,spotMeta:N,token:U,value:q})).filter((X)=>!!X),z=QC({coin:"USDC",spotMeta:N,value:Q.withdrawable||Q.marginSummary?.accountValue||Q.marginSummary?.totalRawUsd});return r_(z?[...Z,z]:Z)}catch{return y(B)}}async function G(w){let B=C();if(!B)throw new a.SwapKitError("toolbox_hypercore_no_signer");let l=w.sender||await B.getAddress(),W=await bt({...w,feeRate:0,sender:l}),Q=await _(W);return await ZC(Q),d_(l,W.nonce)}function M(){return a.AssetValue.from({chain:Kn,value:0})}return{broadcastTransaction:ZC,createL1ActionRequest:NC,createTransaction:bt,createUserSignedActionRequest:zC,estimateTransactionFee:M,getAddress:H,getBalance:A,getState:{clearinghouse:V_,frontendOpenOrders:c_,openOrders:j_,orderStatus:i_,spotClearinghouse:K_,userFills:h_,userFillsByTime:m_},signTransaction:_,transfer:G,validateAddress:Kt}}var a,JC,Po,Kn,YC,p_,P_="Mainnet",$_="0xa4b1",E_="0x0000000000000000000000000000000000000000",v_,b_;var DC=u(()=>{Lt();hn();LC();a=require("@swapkit/helpers"),JC=require("ethers"),Po=require("ts-pattern"),Kn=a.Chain.HyperCore,{baseDecimal:YC}=a.getChainConfig(Kn),p_={HYPE:YC,USDC:6,USDT:6},v_={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},b_={spotSend:"HyperliquidTransaction:SpotSend"}});var jt={};Mn(jt,{validateHyperCoreAddress:()=>Kt,getHyperCoreToolbox:()=>a_,createUserSignedActionRequest:()=>zC,createTransaction:()=>bt,createL1ActionRequest:()=>NC,buildUsdClassTransferAction:()=>Z_,buildUpdateLeverageAction:()=>X_,buildUpdateIsolatedMarginAction:()=>M_,buildTopUpIsolatedOnlyMarginAction:()=>L_,buildTokenDelegateAction:()=>z_,buildSendAssetAction:()=>J_,buildScheduleCancelAction:()=>Q_,buildOrderAction:()=>q_,buildModifyAction:()=>W_,buildCancelByCloidAction:()=>l_,buildCancelAction:()=>G_,buildBatchModifyAction:()=>B_,buildApproveBuilderFeeAction:()=>N_,buildApproveAgentAction:()=>Y_});module.exports=Zn(jt);var ct=u(()=>{DC()});async function RC(n){let y=r.AssetValue.from({address:n,chain:r.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let t=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(t);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function s_(n){let y=await gn(),{PublicKey:t}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new t(n),{baseDecimal:T}=r.getChainConfig(r.Chain.Solana),C=await y.getBalance(f),H=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:T,value:C||0})],_=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:A}of _.value){let G=A.data.parsed.info,M=G.mint,w=G.tokenAmount.amount;if(Number(w)===0)continue;let B=await RC(M),l=B?.symbol||"UNKNOWN",W=B?.decimals||G.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${l}-${M}`,fromBaseDecimal:W,value:w}))}return H}function ht(n){try{let y=new dn.PublicKey(n);return dn.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function e_(n){let y=n&&"index"in n?n.index||0:0,t=r.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Xy.match(n).with({phrase:Xy.P.string},({phrase:C})=>it({derivationPath:t,phrase:C})).with({signer:Xy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function T(){let C=await f();return C?.publicKey?xC(C.publicKey):""}return{broadcastTransaction:Uf(gn),createKeysForPath:it,createTransaction:mt(gn),createTransactionFromInstructions:fA,estimateTransactionFee:nA(gn),getAddress:T,getAddressFromPubKey:xC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:s_,getConnection:gn,getPubkeyFromAddress:(C)=>new dn.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await OC(gn,f)(C);return Uf(gn)(H)},signTransaction:OC(gn,f),transfer:tA(gn,f),validateAddress:ht}}function nA(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let C=await n(),_=(await mt(n)({assetValue:t,isProgramDerivedAddress:f,memo:o,recipient:y,sender:T})).compileMessage(),A=await C.getFeeForMessage(_);if(A.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:G}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:G,value:A.value})}}async function gn(){let{Connection:n}=await import("@solana/web3.js"),y=await r.getRPCUrl(r.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(t,o,f)=>{let T={};for(let[C,H]of Object.entries(o?.headers??{})){let _=C.toLowerCase();if(_!=="pragma"&&_!=="solana-client")T[C]=H}f(t,{...o,headers:T})}})}function oA(n){return async({assetValue:y,recipient:t,sender:o,isProgramDerivedAddress:f})=>{let T=await n(),C=new dn.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:_}=await import("@solana/web3.js");return new H().add(_.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new dn.PublicKey(t)}))}if(y.address)return yA({amount:y.getBaseValue("number"),connection:T,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:t,tokenAddress:y.address});return}}async function yA({tokenAddress:n,recipient:y,from:t,connection:o,amount:f,decimals:T,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:G}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),w=new M,B=new dn.PublicKey(n),l=await H(B,t),W=new dn.PublicKey(y),Q=await H(B,W,C),N=!1;try{await _(o,Q),N=!0}catch{}if(!N)w.add(A(t,Q,W,B));return w.add(G(l,B,Q,t,f,T)),w}function mt(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new dn.PublicKey(T);if(!(f||ht(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let _=await n(),A=await oA(n)({assetValue:t,isProgramDerivedAddress:f,recipient:y,sender:T});if(!A)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)A.add(C(o));let G=await _.getLatestBlockhash();return A.recentBlockhash=G.blockhash,A.feePayer=H,A}}async function fA({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),t=new y().add(...n);if(!t)throw new r.SwapKitError("core_transaction_invalid_sender_address");return t}function tA(n,y){return async({recipient:t,assetValue:o,memo:f,isProgramDerivedAddress:T})=>{let C=await y();if(!C)throw new r.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),_=await mt(n)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:t,sender:H});if("signTransaction"in C){let A=await C.signTransaction(_);return Uf(n)(A)}return _.sign(C),Uf(n)(_)}}function Uf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function OC(n,y){return async(t)=>{let o=await y();if(!o)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(t instanceof f)){let C=await(await n()).getLatestBlockhash();t.recentBlockhash=C.blockhash,t.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(t);return t.sign([o]),t}}async function it({phrase:n,derivationPath:y=r.DerivationPath.SOL}){let{HDKey:t}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),T=o(n),C=t.fromMasterSeed(T);return f.fromSeed(C.derive(y,!0).privateKey)}function xC(n){return n.toString()}var dn,r,Xy;var SC=u(()=>{hn();dn=require("@solana/web3.js"),r=require("@swapkit/helpers"),Xy=require("ts-pattern")});var rt={};Mn(rt,{validateSolanaAddress:()=>ht,getSolanaToolbox:()=>e_,fetchTokenMetaData:()=>RC,createKeysForPath:()=>it});module.exports=Zn(rt);var gt=u(()=>{SC()});function wf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function qf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:t}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:T,encode:C,CallData:H}=await import("starknet"),_=o(n),G=t.fromMasterSeed(_).derive(y);if(!G.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(G.privateKey).toString("hex")),w=f.starkCurve.grindKey(M),B=C.addHexPrefix(w),l=f.starkCurve.getStarkKey(B),W=H.compile([l,0]);return{address:T.calculateContractAddressFromHash(l,at,W,0),privateKey:B,publicKey:l}}async function st({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:t,RpcProvider:o}=await import("starknet"),{privateKey:f,address:T}=await qf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new t({address:T,provider:H,signer:f})}function uC(n){let y=c.Chain.Starknet,t=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:t})),f,T,C;async function H(){if(T)return T;let{RpcProvider:U}=await import("starknet"),q=await c.getRPCUrl(y);return T=new U({nodeUrl:q}),T}async function _(U){let q=await H(),L=U||await w();if(!L)return!1;try{return await q.getClassHashAt(L),!0}catch(Y){if(Y instanceof Error&&Y.message.includes("Contract not found"))return!1;let D=Y;if(D?.code===20||D?.code===19)return!1;throw Y}}async function A(){let{CallData:U,hash:q}=await import("starknet"),L=await H(),Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return Y.address;let J=U.compile([C,0]);if(q.calculateContractAddressFromHash(C,at,J,0).toLowerCase()!==Y.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let R={addressSalt:C,classHash:at,constructorCalldata:J},{transaction_hash:k}=await Y.deployAccount(R);return await L.waitForTransaction(k),k}async function G(){if(!await _()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await A()}}async function M(){if(f)return f;return f=await $n.match(n).with({phrase:$n.P.string},async({phrase:U})=>{let{Account:q,RpcProvider:L}=await import("starknet"),{privateKey:Y,address:D,publicKey:J}=await qf({derivationPath:o,phrase:U});C=J;let O=await c.getRPCUrl(c.Chain.Starknet),R=new L({nodeUrl:O});return new q({address:D,provider:R,signer:Y})}).with({address:$n.P.string,privateKey:$n.P.string},async({privateKey:U,address:q})=>{let{Account:L}=await import("starknet"),Y=await H();return new L({address:q,provider:Y,signer:U})}).with({signer:$n.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function w(){return(await M())?.address??""}async function B(U){let q=await H(),{uint256:L,CallData:Y}=await import("starknet"),D=[],J=[dt,FC];for(let O of J)try{let[R="0",k="0"]=await q.callContract({calldata:Y.compile({account:U}),contractAddress:O,entrypoint:"balanceOf"}),v=L.uint256ToBN({high:R,low:k});$n.match(O).with(dt,()=>{D.push(c.AssetValue.from({chain:y,value:v}))}).with(FC,()=>{if(v>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${O}`,value:v}))}).otherwise(()=>{})}catch{}return D}async function l({recipient:U,assetValue:q}){let{CallData:L,uint256:Y}=await import("starknet");if(!wf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let D=q.isGasAsset?dt:q.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:q});let J=Y.bnToUint256(q.getBaseValue("bigint"));return[{calldata:L.compile([U,J]),contractAddress:D,entrypoint:"transfer"}]}async function W({recipient:U,assetValue:q,sender:L}){let{baseDecimal:Y}=c.getChainConfig(c.Chain.Starknet),D=await M(),J=await $n.match({sender:L,signer:D}).with({sender:$n.P.string},async({sender:O})=>{let{Account:R}=await import("starknet"),k=await H();return new R({address:O,provider:k,signer:"0x0"})}).with({signer:$n.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await l({assetValue:q,recipient:U}),R=await J.estimateInvokeFee(O);if(R?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Y,value:R.overall_fee})}catch(O){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function Q({recipient:U,assetValue:q,memo:L}){let Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");await G();let D=await l({assetValue:q,memo:L,recipient:U});return(await Y.execute(D)).transaction_hash}async function N(U){let q=await M();if(!q)throw new c.SwapKitError("toolbox_starknet_no_signer");let L=await q.signMessage(U);return Array.isArray(L)?L:[L.r.toString(),L.s.toString()]}async function Z(U){let q=await M();if(!q)throw new c.SwapKitError("toolbox_starknet_no_signer");return await G(),(await q.execute(U)).transaction_hash}function z(U){return Z(U)}function X(U,q=!0){try{return xn(y)(U,q)}catch{return B(U)}}return{broadcastTransaction:Z,createKeysForPath:st,createTransaction:l,deployAccount:A,estimateTransactionFee:W,getAddress:w,getBalance:X,getProvider:H,isAccountDeployed:_,signAndBroadcastTransaction:z,signMessage:N,transfer:Q,validateAddress:wf}}var c,$n,dt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",FC="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",at="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var kC=u(()=>{hn();c=require("@swapkit/helpers"),$n=require("ts-pattern")});var Gf={};Mn(Gf,{validateStarknetAddress:()=>wf,starknetCreateKeysForPath:()=>st,getStarknetToolbox:()=>uC,deriveStarknetKeys:()=>qf});module.exports=Zn(Gf);var lf=u(()=>{kC()});async function PC(n,y,t,o=[],f){let T=await n.getCoins({coinType:t,cursor:f,owner:y}),C=[...o,...T.data];return T.hasNextPage?PC(n,y,t,C,T.nextCursor):C}function TA(n,y,t){let o=y.reduce((_,A)=>_+BigInt(A.balance),0n);if(o<t)throw new fn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:t.toString()});let{ids:f}=y.reduce((_,A)=>{if(_.total>=t)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),T=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(T,C);let[H]=n.splitCoins(T,[t]);return H}function $C(n){try{return pC.isValidSuiAddress(n)}catch{return!1}}function IC(n){return"signWithIntent"in n}function CA({provider:n,...y}={}){let t;async function o(){if(t)return t;return t=await My.match(y).with({phrase:My.P.string},async({phrase:l})=>{let{Ed25519Keypair:W}=await import("@mysten/sui/keypairs/ed25519");return W.deriveKeypair(l)}).with({signer:My.P.any},({signer:l})=>l).otherwise(()=>{return}),t}async function f(l=n){let{SuiClient:W,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new W({url:l||Q("mainnet")})}async function T(){return(await o())?.toSuiAddress()||""}function C(l){try{let W=fn.AssetValue.from({address:l,chain:fn.Chain.Sui});return{asset:W.toString(),decimals:W.decimal}}catch{}return null}async function H(l){let W=l||await T();if(!W)throw new fn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Q,chain:N}=fn.getChainConfig(fn.Chain.Sui);try{let Z=await f(),{totalBalance:z}=await Z.getBalance({owner:W}),X=[fn.AssetValue.from({chain:N,fromBaseDecimal:Q,value:z})],U=await Z.getAllBalances({owner:W});for(let{coinType:q,totalBalance:L}of U){if(q==="0x2::sui::SUI"||Number(L)<=0)continue;let Y=C(q);if(Y)X.push(fn.AssetValue.from({asset:Y.asset,fromBaseDecimal:Y.decimals,value:L}))}return X}catch{return[fn.AssetValue.from({chain:N})]}}async function _(l){let W=fn.AssetValue.from({chain:fn.Chain.Sui,value:"0.01"});if(!l)return W;try{let Q=await f(),{txBytes:N}=await A(l),{effects:{status:Z,gasUsed:z}}=await Q.dryRunTransactionBlock({transactionBlock:N});if(Z.status!=="success")return W;let X=Number(z.computationCost)+Number(z.storageCost)-Number(z.storageRebate);return fn.AssetValue.from({chain:fn.Chain.Sui,value:X.toString()})}catch{return W}}async function A({recipient:l,assetValue:W,gasBudget:Q,sender:N}){let{Transaction:Z}=await import("@mysten/sui/transactions"),z=N||await T();if(!z)throw new fn.SwapKitError("toolbox_sui_no_sender");try{let X=new Z;if(X.setSender(z),W.isGasAsset||W.symbol==="SUI"){let[L]=X.splitCoins(X.gas,[W.getBaseValue("string")]);X.transferObjects([L],l)}else{let L=W.address;if(!L)throw new fn.SwapKitError("toolbox_sui_missing_coin_type");let Y=await f(),D=W.getBaseValue("bigint"),J=await PC(Y,z,L);if(!J.length)throw new fn.SwapKitError("toolbox_sui_no_coins_found",{coinType:L});let O=TA(X,J,D);X.transferObjects([O],l)}if(Q)X.setGasBudget(Q);let U=await f(),q=await X.build({client:U});return{tx:X,txBytes:q}}catch(X){if(X instanceof fn.SwapKitError)throw X;throw new fn.SwapKitError("toolbox_sui_transaction_creation_error",{error:X})}}async function G(l){let W=await o();if(!W)throw new fn.SwapKitError("toolbox_sui_no_signer");if(l instanceof Uint8Array)return W.signTransaction(l);let{txBytes:Q}="tx"in l?l:await A(l);return W.signTransaction(Q)}async function M({assetValue:l,gasBudget:W,recipient:Q}){let N=await o();if(!N)throw new fn.SwapKitError("toolbox_sui_no_signer");let Z=N.toSuiAddress()||await T();if(!Z)throw new fn.SwapKitError("toolbox_sui_no_sender");let{txBytes:z}=await A({assetValue:l,gasBudget:W,recipient:Q,sender:Z}),X=await f();if(!IC(N)){let q=await N.signTransaction(z),{digest:L}=await X.executeTransactionBlock({signature:q.signature,transactionBlock:q.bytes});return L}let{digest:U}=await X.signAndExecuteTransaction({signer:N,transaction:z});return U}async function w(l){let W=await f(),{digest:Q}=await W.executeTransactionBlock({signature:l.signature,transactionBlock:l.bytes});return Q}async function B(l){let W=await o();if(!W)throw new fn.SwapKitError("toolbox_sui_no_signer");let Q=await f(),N;if(typeof l==="string")N=Uint8Array.from(Buffer.from(l,"base64"));else if(l instanceof Uint8Array)N=l;else N=await l.build({client:Q});if(!IC(W)){let z=await W.signTransaction(N),{digest:X}=await Q.executeTransactionBlock({signature:z.signature,transactionBlock:z.bytes});return X}let{digest:Z}=await Q.signAndExecuteTransaction({signer:W,transaction:N});return Z}return{broadcastTransaction:w,createTransaction:A,estimateTransactionFee:_,getAddress:T,getBalance:H,signAndBroadcastTransaction:B,signTransaction:G,transfer:M,validateAddress:$C}}var pC,fn,My;var EC=u(()=>{pC=require("@mysten/sui/utils"),fn=require("@swapkit/helpers"),My=require("ts-pattern")});var Wf={};Mn(Wf,{validateSuiAddress:()=>$C,getSuiToolbox:()=>CA});module.exports=Zn(Wf);var Bf=u(()=>{EC()});async function wA(){let n=Date.now();if(Xf&&n-bC<UA)return Xf;try{return Xf=await VC.getHttpEndpoint(),bC=n,Xf}catch{return Gn.getRPCUrl(Gn.Chain.Ton)}}function qA(n={}){let y,t,o;async function f(){if(!y){let X=n.provider??await wA();y=new h.TonClient({endpoint:X})}return y}async function T(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Yo.match(n).with({phrase:Yo.P.string},async({phrase:X})=>KC.mnemonicToWalletKey(X.split(" "))).with({signer:Yo.P.any},({signer:X})=>X).otherwise(()=>{return}),o}async function H(X){if(!t||X){let U=await C(),q=await f(),L=X||U;if(!L)throw new Gn.SwapKitError("core_wallet_connection_not_found");let Y=h.WalletContractV4.create({publicKey:L.publicKey,workchain:0});t=q.open(Y)}return t}let _=xn(Gn.Chain.Ton);async function A({assetValue:X,recipient:U,memo:q,sender:L}){if(X.isGasAsset){let s=q?z(q).toBoc().toString("base64"):void 0;return[{address:U,amount:X.getBaseValue("string"),payload:s}]}let Y=X.address;if(!Y)throw new Gn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:X.toString()}});let D=L??await T(),J=await N({jettonMasterAddress:Y,ownerAddress:D}),O=h.Address.parse(U),R=h.Address.parse(D),k=X.getBaseValue("bigint"),v=q?z(q):void 0,K=Z({destinationAddress:O,forwardPayload:v,jettonAmount:k,responseAddress:R});return[{address:J.toString(),amount:AA.toString(),payload:K.toBoc().toString("base64")}]}function G({sender:X,...U}){return A({...U,sender:X})}function M(X){return X.map((U)=>{let q=U.payload?h.Cell.fromBase64(U.payload):void 0,L=U.stateInit?h.loadStateInit(h.Cell.fromBase64(U.stateInit).asSlice()):void 0,Y=h.Address.parse(U.address),D=h.Address.isFriendly(U.address)?h.Address.parseFriendly(U.address).isBounceable:!0;return h.internal({body:q,bounce:D,init:L,to:Y,value:BigInt(U.amount)})})}async function w(X){let U=await C(),q=await H();if(!q||!U)throw new Gn.SwapKitError("core_wallet_connection_not_found");let L=await f(),{state:Y}=await L.getContractState(q.address),D=Y==="active",J=D?await q.getSeqno():0,O=q.createTransfer({messages:M(X),secretKey:U.secretKey,sendMode:vC,seqno:J}),R=h.external({body:O,init:D?void 0:q.init,to:q.address});return h.beginCell().store(h.storeMessage(R)).endCell()}async function B(X){return await(await f()).sendFile(X.toBoc()),X.hash().toString("hex")}async function l(X){let U=await w(X);return B(U)}async function W({assetValue:X,recipient:U,memo:q}){let L=await G({assetValue:X,memo:q,recipient:U});return l(L)}async function Q({sender:X,...U}){let{baseDecimal:q}=Gn.getChainConfig(Gn.Chain.Ton),L=await Yo.match(X).with(Yo.P.string,(J)=>{return h.Address.parseFriendly(J).address}).otherwise(async()=>{return(await H()).address});if(!L)throw new Gn.SwapKitError("toolbox_fee_estimation_failed",{chain:Gn.Chain.Ton});let Y=Gn.AssetValue.from({chain:Gn.Chain.Ton,value:"0.01"}),D=await f();try{let J=await G({sender:X,...U}),O=await C(),R=await H();if(!R||!O)return Y;let k=await R.getSeqno(),v=R.createTransfer({messages:M(J),secretKey:O.secretKey,sendMode:vC,seqno:k}),{source_fees:K}=await D.estimateExternalMessageFee(L,{body:v,ignoreSignature:!0,initCode:null,initData:null}),s=K.in_fwd_fee+K.storage_fee+K.gas_fee+K.fwd_fee;return Y.set(Gn.SwapKitNumber.fromBigInt(BigInt(s),q))}catch{return Y}}async function N({jettonMasterAddress:X,ownerAddress:U}){try{let q=await f(),L=h.Address.parse(X),Y=h.Address.parse(U);return await q.open(h.JettonMaster.create(L)).getWalletAddress(Y)}catch{throw new Gn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:X,ownerAddress:U}})}}function Z({jettonAmount:X,destinationAddress:U,responseAddress:q,forwardAmount:L=_A,forwardPayload:Y}){let D=h.beginCell().storeUint(HA,32).storeUint(0,64).storeCoins(X).storeAddress(U).storeAddress(q).storeBit(0).storeCoins(L);if(Y)D.storeBit(1).storeRef(Y);else D.storeBit(0);return D.endCell()}function z(X){return h.beginCell().storeUint(0,32).storeStringTail(X).endCell()}return{broadcastTransaction:B,createTransaction:G,estimateTransactionFee:Q,getAddress:T,getBalance:_,getJettonWalletAddress:N,sign:w,signAndBroadcastTransaction:l,transfer:W,validateAddress:jC}}function jC(n){try{return h.Address.parse(n),!0}catch{return!1}}var VC,Gn,KC,h,Yo,HA=260734629,_A,AA,vC,UA=60000,Xf,bC=0;var cC=u(()=>{hn();VC=require("@orbs-network/ton-access"),Gn=require("@swapkit/helpers"),KC=require("@ton/crypto"),h=require("@ton/ton"),Yo=require("ts-pattern"),_A=h.toNano("0.01"),AA=h.toNano("0.05"),vC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var Mf={};Mn(Mf,{validateTonAddress:()=>jC,getTONToolbox:()=>qA});module.exports=Zn(Mf);var Lf=u(()=>{cC()});function iC({deriveAddress:n,getBalance:y,getUtxos:t}){async function o(H){let{count:_,startIndex:A=0,change:G=!1}=H,M=[];for(let w=0;w<_;w++){let B=await n({change:G,index:A+w});if(B)M.push(B)}return M}async function f(H){let{gapLimit:_=20,change:A=!1}=H??{},G=[],M=0,w=0;while(M<_){let B=await n({change:A,index:w});if(!B)break;if((await y(B.address)).some((Q)=>Q.getValue("number")>0))G.push(B),M=0;else M++;w++}return G}async function T(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[..._,...A],M=await Promise.all(G.map(async(B)=>{let W=(await y(B.address)).reduce((Q,N)=>Q+N.getValue("number"),0);return{...B,balance:W}})),w=M.reduce((B,l)=>B+l.balance,0);return{addresses:M,total:w}}async function C(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[..._,...A];return(await Promise.all(G.map(async(w)=>{return(await t(w.address)).map((l)=>({...l,address:w.address,derivationIndex:w.index,isChange:w.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:T,getAggregatedUtxos:C,scanForAddresses:f}}async function GA({chain:n,txHash:y}){let t=`${Ly(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await j.RequestClient.post(t,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let T=await j.getRPCUrl(n);if(T){let C=JSON.stringify({id:T0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await j.RequestClient.post(T,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Ly(n){return`https://api.blockchair.com/${lA(n)}`}function hC(n){switch(n){case j.Chain.Bitcoin:return 5;case j.Chain.Dogecoin:return 1e4;case j.Chain.Litecoin:return 1;case j.Chain.Zcash:return 1;default:return 2}}function lA(n){switch(n){case j.Chain.BitcoinCash:return"bitcoin-cash";case j.Chain.Litecoin:return"litecoin";case j.Chain.Dash:return"dash";case j.Chain.Dogecoin:return"dogecoin";case j.Chain.Zcash:return"zcash";case j.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function WA(n){try{let{feePerKb:y}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),t=y/1000;return Math.max(t,hC(n))}catch{return hC(n)}}async function Qf(n,y){let t=await j.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!t||t.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return t.data}async function rC({address:n,chain:y,apiKey:t}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Qf(`${Ly(y)}/dashboards/address/${n}?transaction_details=true`,t))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function BA({address:n,chain:y,apiKey:t}){return(await rC({address:n,apiKey:t,chain:y}))?.address.balance||0}async function gC({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Qf(`${Ly(n)}/raw/transaction/${t}`,y))?.[t]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function MA({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Qf(`${Ly(n)}/dashboards/transaction/${t}`,y))?.[t];if(!f)throw new j.SwapKitError("toolbox_utxo_tx_not_found",{txHash:t});let{transaction:T,inputs:C,outputs:H}=f,_=C.map((G)=>G.spending_sequence),A=T.is_rbf===!0||_.some((G)=>G<XA);return{blockId:T.block_id,confirmed:T.block_id!==-1,fee:T.fee,inputs:C,isRBF:A,outputs:H,sequences:_,size:T.size,txid:T.hash,weight:T.weight}}async function LA({chain:n,address:y,apiKey:t,offset:o=0,limit:f=30}){return(await Qf(`${Ly(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,t)).map(({is_spent:_,script_hex:A,block_id:G,transaction_hash:M,index:w,value:B,spending_signature_hex:l})=>({hash:M,index:w,is_confirmed:G!==-1,is_spent:_,script_hex:A,txHex:l,value:B}))}function QA(n){return n.reduce((y,t)=>y+t.value,0)}function mC(n,y){let t=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let T of t)if(o.push(T),f+=T.value,f>=y)break;return o}return t}async function dC({chain:n,address:y,apiKey:t,targetValue:o,accumulativeValue:f=0,offset:T=0,limit:C=30}){if(!y)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await LA({address:y,apiKey:t,chain:n,limit:C,offset:T,targetValue:o}),A=H.length<C,G=H.filter(({is_spent:Q})=>!Q),M=QA(G),w=f+M,B=o&&w>=o;if(A||B)return mC(G,o);let l=await dC({accumulativeValue:w,address:y,apiKey:t,chain:n,limit:C,offset:T+C,targetValue:o}),W=[...G,...l];return mC(W,o)}catch(H){let _=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function ZA({address:n,chain:y,apiKey:t,fetchTxHex:o=!0,targetValue:f}){let T=await dC({address:n,apiKey:t,chain:y,targetValue:f}),C=[];for(let{hash:H,index:_,script_hex:A,value:G}of T){let M;if(o)M=await gC({apiKey:t,chain:y,txHash:H});C.push({address:n,hash:H,index:_,txHex:M,value:G,witnessUtxo:{script:Buffer.from(A,"hex"),value:G}})}return C}function Qn(n){let y=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(t)=>GA({chain:n,txHash:t}),getAddressData:(t)=>rC({address:t,apiKey:y,chain:n}),getBalance:(t)=>BA({address:t,apiKey:y,chain:n}),getRawTx:(t)=>gC({apiKey:y,chain:n,txHash:t}),getSuggestedTxFee:()=>WA(n),getTransactionDetails:(t)=>MA({apiKey:y,chain:n,txHash:t}),getUtxos:(t)=>ZA({...t,apiKey:y,chain:n})}}function JA(n){return n}function YA(){return function(y){switch(y){case j.Chain.Bitcoin:return No.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return No.NETWORKS.bitcoinCash;case j.Chain.Dash:return No.NETWORKS.dash;case j.Chain.Litecoin:return No.NETWORKS.litecoin;case j.Chain.Dogecoin:return No.NETWORKS.dogecoin;case j.Chain.Zcash:return No.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,No,XA=4294967294;var aC=u(()=>{hn();j=require("@swapkit/helpers"),No=require("@swapkit/utxo-signer")});function DA(n,y,t){return an.encodeCashAddr({hash:t,prefix:n,type:NA[y]})}function OA(n){let y=an.decodeCashAddr(n),t=zA[y.type];if(!t)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:t}}var an,NA,zA,et;var sC=u(()=>{an=require("@swapkit/utxo-signer"),NA={P2PKH:an.CashAddrType.P2PKH,P2SH:an.CashAddrType.P2SH},zA={[an.CashAddrType.P2PKH]:"P2PKH",[an.CashAddrType.P2SH]:"P2SH"};et={decode:OA,encode:DA}});function yT(n){try{return Zf(n),!0}catch{return!1}}function fT(n){return Zf(n)?.network}function sn(n){let y=Zf(n);if(y?.format==="legacy")return n;return SA(y)}function Qy(n){let y=Zf(n);return FA(y)}function Zf(n){try{let y=xA(n);if(y)return y}catch{}try{let y=RA(n);if(y)return y}catch{}throw new nT.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function xA(n){try{let y=y1.decode(n);if(y.length!==21)throw new nT.SwapKitError("toolbox_utxo_invalid_address",{address:n});let t=y[0],o=Array.prototype.slice.call(y,1);switch(t){case zo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case zo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case zo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case zo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case zo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case zo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function RA(n){if(n.indexOf(":")!==-1)try{return eC(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let t of y)try{return eC(`${t}:${n}`)}catch{}}return}function eC(n){try{let{hash:y,prefix:t,type:o}=et.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:t==="bitcoincash"?"mainnet":"testnet",type:o==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function SA(n){let y=zo.legacy[n.network][n.type],t=Buffer.alloc(1+n.hash.length);return t[0]=y,t.set(n.hash,1),y1.encode(t)}function FA(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",t=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return et.encode(y,t,o)}var n1,o1,nT,y1,oT,zo;var f1=u(()=>{sC();n1=require("@noble/hashes/sha2.js"),o1=require("@scure/base"),nT=require("@swapkit/helpers"),y1=o1.createBase58check(n1.sha256);((t)=>{t.Mainnet="mainnet";t.Testnet="testnet"})(oT||={});zo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function un(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return T1.Script.encode(["RETURN",y])}var t1,T1,uA=1000,Yf=10,Nf=2,C1=10,kA=41,IA=107,zf,Jf,Zy,$o=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new t1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},Do=({inputs:n,outputs:y,feeRate:t})=>{let o=n[0]&&"address"in n[0]&&n[0].address?$o(n[0].address):"P2PKH",T=(t?n.filter((A)=>A.value>=Jf["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(t)):n).reduce((A,G)=>A+Ao(G),0),C=y?.reduce((A,G)=>A+Jy(G),0)||Zy[o],H=Yf+T+C;return o==="P2WPKH"?Math.ceil(H+Nf/4):H},Ao=(n)=>{if("type"in n&&n.type)return Jf[n.type];if("address"in n&&n.address)return Jf[$o(n.address)];return kA+IA},Jy=(n,y)=>{if(n?.script)return C1+n.script.length+(n.script.length>=74?2:1);if(y)return Zy[y];if("address"in n&&n.address)return Zy[$o(n.address)];return Zy.P2PKH};var tT=u(()=>{t1=require("@swapkit/helpers"),T1=require("@swapkit/utxo-signer");((t)=>{t.P2PKH="P2PKH";t.P2WPKH="P2WPKH"})(zf||={});Jf={["P2PKH"]:148,["P2WPKH"]:68},Zy={["P2PKH"]:34,["P2WPKH"]:31}});function Yy(n){switch(n){case jn.Chain.Bitcoin:case jn.Chain.BitcoinCash:return 550;case jn.Chain.Dash:case jn.Chain.Litecoin:return 5500;case jn.Chain.Dogecoin:return 1e5;case jn.Chain.Zcash:return 546;default:throw new jn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function En({inputs:n,outputs:y,feeRate:t=1,chain:o=jn.Chain.Bitcoin,changeAddress:f=""}){let T=n[0]&&"address"in n[0]&&n[0].address?$o(n[0].address):"P2PKH",C=n.filter((l)=>Ao(l)*t<=l.value),_=T==="P2WPKH"?Math.ceil(Nf/4):0,A=Yf+_+y.reduce((l,W)=>l+Jy(W),0),G=y.reduce((l,W)=>l+W.value,0),M=A*t,w=0,B=[];for(let l of C){let W=Ao(l),Q=t*W;M+=Q,w+=l.value,B.push(l);let N=M+G;if(w<N)continue;let Z=w-N,z=t*Jy({address:f,value:0});if(Z>z){let X=z+M,U=w-(G+Math.ceil(X));if(U>Math.max(Ao({value:0})*t,Yy(o)))return{fee:Math.ceil(X),inputs:B,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:B,outputs:y}}return{fee:Math.ceil(t*Do({inputs:n,outputs:y}))}}var jn;var H1=u(()=>{tT();jn=require("@swapkit/helpers")});var Eo=u(()=>{aC();f1();H1();tT()});function Oo(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Uo(n){let y=Oo(n);return yT(y)&&fT(y)==="mainnet"}function vo(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let t=Df.Address(Df.ZCASH_NETWORK).decode(n);return t.type==="pkh"||t.type==="sh"}catch{return!1}}var Df;var Ny=u(()=>{Eo();Df=require("@swapkit/utxo-signer")});function HT({address:n,chain:y}){return CT.match(y).with(S.Chain.BitcoinCash,()=>Uo(n)).with(S.Chain.Zcash,()=>vo(n)).otherwise(()=>{try{return m.Address(kn(y)).decode(n),!0}catch{return!1}})}function kn(n){return CT.match(n).with(S.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(S.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(S.Chain.Dash,()=>m.NETWORKS.dash).with(S.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(S.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(S.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function pA({phrase:n,derivationPath:y,network:t,seed:o}){let f=o??xf.mnemonicToSeedSync(n),C=TT.HDKey.fromMasterSeed(f,t.bip32).derive(y);if(!C.privateKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function _1(n){return A1.secp256k1.getPublicKey(n,!0)}function _T({publicKey:n,chain:y,network:t}){if(y===S.Chain.BitcoinCash){let T=m.p2pkh(n,t);if(!T.hash)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return m.encodeCashAddr({hash:T.hash,prefix:m.CashAddrPrefix.MAINNET,type:m.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!zy.includes(y)?m.p2wpkh(n,t):m.p2pkh(n,t);if(!f.address)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function bo({phrase:n,derivationPath:y,chain:t,wif:o,seed:f}){let T=kn(t);if(o){let A=m.WIF(T).decode(o),G=_1(A);return{privateKey:A,publicKey:G}}if(!n)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||S.derivationPathToString(S.NetworkDerivationPath[t]),H=pA({derivationPath:C,network:T,phrase:n,seed:f}),_=_1(H);return{privateKey:H,publicKey:_}}function PA(n,y){return m.WIF(kn(y)).encode(n)}function $A({phrase:n,derivationPath:y,chain:t,seed:o}){let f=y.split("/");if(f.length<4)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let T=kn(t),C=o??xf.mnemonicToSeedSync(n),H=TT.HDKey.fromMasterSeed(C,T.bip32),_=f.slice(0,4).join("/");return H.derive(_)}function qo({inputs:n,outputs:y,chain:t,tx:o,sender:f,compiledMemo:T,enableRBF:C=!1}){let H=kn(t),_=!zy.includes(t),A=C?m.RBF_SEQUENCE:void 0,G=new Set;for(let M of n){let w=`${M.hash}:${M.index}`;if(G.has(w))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(w);let B=typeof M.hash==="string"?wo.hex.decode(M.hash):M.hash;if(_&&M.witnessUtxo)o.addInput({index:M.index,sequence:A,txid:B,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:wo.hex.decode(M.txHex),sequence:A,txid:B,...t===S.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let w="address"in M&&M.address?M.address:f;if(t===S.Chain.BitcoinCash)w=sn(w);if(M.script){if(T)o.addOutput({amount:0n,script:T})}else o.addOutputAddress(w,BigInt(M.value),H)}return{inputs:n,tx:o}}async function Vo(n){let y=await Qn(n).getSuggestedTxFee();return{[S.FeeOption.Average]:y,[S.FeeOption.Fast]:S.applyFeeMultiplier(y,S.FeeOption.Fast),[S.FeeOption.Fastest]:S.applyFeeMultiplier(y,S.FeeOption.Fastest)}}async function U1({assetValue:n,recipient:y,memo:t,sender:o,fetchTxHex:f=!1}){let T=n.chain,C=(await Vo(T))[S.FeeOption.Fastest],H=f||zy.includes(T),_=n.getBaseValue("number"),A=Math.ceil(_+C*5000);return{inputs:await Qn(T).getUtxos({address:o,fetchTxHex:H,targetValue:A}),outputs:[{address:y,value:_},...t?[{address:"",script:un(t),value:0}]:[]]}}async function w1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f,fetchTxHex:T=!1,enableRBF:C=!1}){let H=n.chain,_=t?un(t):null,A=await U1({assetValue:n,fetchTxHex:T,memo:t,recipient:y,sender:f}),{inputs:G,outputs:M}=En({...A,chain:H,feeRate:o});if(!(G&&M))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:B,tx:l}=qo({chain:H,compiledMemo:_,enableRBF:C,inputs:G,outputs:M,sender:f,tx:w});return{inputs:B,tx:l,utxos:A.inputs}}async function q1({assetValue:n,feeOptionKey:y=S.FeeOption.Fast,feeRate:t,memo:o,sender:f,recipient:T}){let C=n.chain,H=await U1({assetValue:n,memo:o,recipient:T,sender:f}),_=t?Math.floor(t):(await Vo(C))[y];return En({...H,chain:C,feeRate:_})}function EA(n){return async function({from:t,memo:o,feeRate:f,feeOptionKey:T=S.FeeOption.Fast,recipients:C=1}){let H=await Qn(n).getAddressData(t),_=f?Math.ceil(f):(await Vo(n))[T],A=H?.utxo.map((W)=>({...W,hash:"",type:"P2PKH"})).filter((W)=>W.value>Math.max(Yy(n),Ao(W)*_));if(!A?.length)return S.AssetValue.from({chain:n});let G=BigInt(A.reduce((W,Q)=>W+Q.value,0)),M=S.AssetValue.from({chain:n,value:G}),w=typeof C==="number"?Array.from({length:C},()=>({address:t,value:0})):C;if(o)w.push({address:t,script:un(o),value:0});let B=Do({inputs:A,outputs:w}),l=S.AssetValue.from({chain:n,value:BigInt(B*_)});return M.sub(l)}}function vA(n){return async function(t){let{fee:o}=await q1(t);return S.AssetValue.from({chain:n,value:S.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function bA({chain:n,phrase:y,derivationPath:t,seed:o}){let f=kn(n),{privateKey:T,publicKey:C}=bo({chain:n,derivationPath:t,phrase:y,seed:o}),H=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>_T({chain:n,network:f,publicKey:C}),privateKey:T,publicKey:C,signTransaction:(_)=>{return _.sign(T,H),_}}}function VA(n,y){return async function({memo:o,recipient:f,feeOptionKey:T,feeRate:C,assetValue:H,enableRBF:_=!1}){let A=y?.getAddress();if(!(y&&A))throw new S.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});S.warnOnce({condition:_&&!Of.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let G=_&&Of.includes(n),M=C||(await Vo(n))[T||S.FeeOption.Fast],{tx:w}=await w1({assetValue:H,enableRBF:G,feeRate:M,memo:o,recipient:f,sender:A});return y.signTransaction(w),w.finalize(),Qn(n).broadcastTx(wo.hex.encode(w.extract()))}}function AT(n){return(y)=>HT({address:y,chain:n})}function UT(n){let y=kn(n);return function(o){if(!o)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return _T({chain:n,network:y,publicKey:o.publicKey})}}function Go({chain:n,...y}){let t="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=t?xf.mnemonicToSeedSync(t):void 0,T=S.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[n],{index:o})),C=t?bA({chain:n,derivationPath:T,phrase:t,seed:f}):void 0,H="signer"in y?y.signer:void 0,_=t?bo({chain:n,derivationPath:T,phrase:t,seed:f}):void 0;function A(){if(C)return Promise.resolve(C.getAddress());if(H)return H.getAddress();return Promise.resolve(void 0)}let G=t?$A({chain:n,derivationPath:T,phrase:t,seed:f}):void 0;function M(){if(!G)return;return G.publicExtendedKey}function w({index:X,change:U=!1}){if(!G)return;if(!Number.isInteger(X)||X<0)throw RangeError(`index must be a non-negative integer, got: ${X}`);let q=kn(n),L=G.deriveChild(Number(U)).deriveChild(X);if(!L.publicKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let Y=_T({chain:n,network:q,publicKey:L.publicKey}),D=wo.hex.encode(L.publicKey);return{address:Y,change:U,index:X,pubkey:D}}async function B(X){if(!Of.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let U=await Qn(n).getTransactionDetails(X);return{canReplace:U.isRBF&&!U.confirmed,confirmed:U.confirmed,enabled:U.isRBF,fee:U.fee,sequences:U.sequences,supported:!0}}async function l({txid:X,newFeeRate:U,recipient:q,memo:L}){if(!Of.includes(n))throw new S.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let Y=await Qn(n).getTransactionDetails(X);if(!Y.isRBF)throw new S.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:X});if(Y.confirmed)throw new S.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:Y.blockId,txid:X});let D=Y.inputs.reduce((An,On)=>An+On.value,0),O=Y.outputs.find((An)=>An.recipient===q)?.value||0;if(O===0)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let R=await Promise.all(Y.inputs.map(async(An)=>{let On=await Qn(n).getRawTx(An.transaction_hash);return{hash:An.transaction_hash,index:An.index,txHex:On,value:An.value,witnessUtxo:void 0}})),k=L?un(L):null,v=Do({feeRate:U,inputs:R.map((An)=>({...An,type:"P2WPKH"})),outputs:[{address:q,value:O}]}),K=Math.ceil(v*U);if(K<=Y.fee)throw new S.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:K,originalFee:Y.fee});let s=K-Y.fee,on=O-s;if(on<=0)throw new S.SwapKitError("toolbox_utxo_rbf_insufficient_change");let wn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Yn=[{address:q,value:on},...L?[{address:"",script:un(L),value:0}]:[]],Dn=D-on-K,Xn=await A();if(Dn>Yy(n)&&Xn)Yn.push({address:Xn,value:Dn});return qo({chain:n,compiledMemo:k,inputs:R,outputs:Yn,sender:Xn||q,tx:wn}),{feeDelta:s,newFee:K,originalFee:Y.fee,tx:wn}}async function W({txid:X,newFeeRate:U,recipient:q,memo:L}){if(!C)throw new S.SwapKitError("toolbox_utxo_no_signer");let{tx:Y,originalFee:D,newFee:J}=await l({memo:L,newFeeRate:U,recipient:q,txid:X});C.signTransaction(Y),Y.finalize();let O=await Qn(n).broadcastTx(wo.hex.encode(Y.extract()));return{newFee:J,originalFee:D,txid:O}}function Q({index:X,change:U=!1}){if(!G)return;return G.deriveChild(Number(U)).deriveChild(X).privateKey||void 0}function N({tx:X,inputDerivations:U}){if(!G)throw new S.SwapKitError("toolbox_utxo_no_signer");let q=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let L=0;L<U.length;L++){let Y=U[L];if(!Y)continue;let{derivationIndex:D,isChange:J}=Y,O=Q({change:J,index:D});if(!O)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${L} at index ${D}`});X.signIdx(O,L,q)}return X}async function Z({utxos:X,recipient:U,assetValue:q,memo:L,feeRate:Y,feeOptionKey:D,changeAddress:J}){if(!G)throw new S.SwapKitError("toolbox_utxo_no_signer");let O=Y||(await Vo(n))[D||S.FeeOption.Fast],R=L?un(L):null,k=[{address:U,value:q.getBaseValue("number")}];if(R)k.push({address:"",script:R,value:0});let v=X.map(({hash:Xn,index:An,value:On,txHex:lo,witnessUtxo:Ro})=>({hash:Xn,index:An,txHex:lo,value:On,witnessUtxo:Ro?{script:Ro.script,value:Ro.value}:void 0})),{inputs:K,outputs:s}=En({chain:n,feeRate:O,inputs:v,outputs:k});if(!(K&&s))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:q,sender:"multiple addresses"});let on=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),wn=X[0]?.address,Yn=J||await A()||wn||U;qo({chain:n,compiledMemo:R,inputs:K,outputs:s,sender:Yn,tx:on});let Dn=K.map((Xn)=>{let An=X.find((On)=>On.hash===Xn.hash&&On.index===Xn.index);return An?{derivationIndex:An.derivationIndex,isChange:An.isChange}:{derivationIndex:0,isChange:!1}});return N({inputDerivations:Dn,tx:on}),on.finalize(),Qn(n).broadcastTx(wo.hex.encode(on.extract()))}function z({address:X,gapLimit:U=20}){if(!G)return;for(let q=0;q<U;q++){let L=w({change:!1,index:q}),Y=w({change:!0,index:q}),D=L?.address===X?!1:Y?.address===X;if(L?.address===X||Y?.address===X)return{change:D,index:q}}return}return{accumulative:En,broadcastTx:(X)=>Qn(n).broadcastTx(X),bumpFee:W,calculateTxSize:Do,createKeysForPath:(X)=>bo({...X,chain:n}),createReplacementTransaction:l,createTransaction:w1,deriveAddressAtIndex:w,derivePrivateKeyAtIndex:Q,estimateMaxSendableAmount:EA(n),estimateTransactionFee:vA(n),getAddress:A,getAddressFromKeys:UT(n),getBalance:xn(n),getExtendedPublicKey:M,getFeeRates:()=>Vo(n),getInputsOutputsFee:q1,getNetworkForChain:()=>kn(n),getPrivateKeyFromMnemonic:(X)=>PA(bo({...X,chain:n}).privateKey,n),isRBFEnabled:B,keys:_,resolveDerivationIndex:z,signAndBroadcastTransaction:async(X)=>{if(!C)throw new S.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(X),X.finalize(),await Qn(n).broadcastTx(wo.hex.encode(X.extract()))},signTransactionWithMultipleKeys:N,transfer:VA(n,C),transferFromMultipleAddresses:Z,validateAddress:AT(n)}}var A1,wo,TT,xf,S,m,CT,zy,Of;var Dy=u(()=>{hn();Eo();Ny();A1=require("@noble/curves/secp256k1.js"),wo=require("@scure/base"),TT=require("@scure/bip32"),xf=require("@scure/bip39"),S=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),CT=require("ts-pattern"),zy=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash],Of=[S.Chain.Bitcoin]});function Oy(n){return Oo(Qy(n))}function KA(n){let y=kn(cn);function t(f){return f.sign(n.privateKey,[Bn.BCHSigHash.ALL]),f}function o(){let f=Bn.p2pkh(n.publicKey,y);if(!f.hash)throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let T=Bn.encodeCashAddr({hash:f.hash,prefix:Bn.CashAddrPrefix.MAINNET,type:Bn.CashAddrType.P2PKH});return Promise.resolve(T.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:t}}function wT(n){let y="phrase"in n?n.phrase:void 0,t="index"in n?n.index||0:0,o=Wn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Wn.updateDerivationPath(Wn.NetworkDerivationPath[cn],{index:t})),f=y?bo({chain:cn,derivationPath:o,phrase:y}):void 0,T=f?KA(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(T?.getAddress())}let{getBalance:H,getFeeRates:_,broadcastTx:A,...G}=Go({chain:cn});function M(w,B=!0){return H(Oo(Qy(w)))}return{...G,broadcastTx:A,buildTx:cA,createTransaction:l1,getAddress:C,getAddressFromKeys:iA,getBalance:M,getFeeRates:_,stripPrefix:Oo,stripToCashAddress:Oy,transfer:jA({broadcastTx:A,getFeeRates:_,signer:T}),validateAddress:Uo}}async function l1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){if(!Uo(y))throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let T=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(cn).getUtxos({address:Oy(f),fetchTxHex:!0,targetValue:T}),H=t?un(t):null,_=[],A=sn(y);if(_.push({address:A,value:n.getBaseValue("number")}),H)_.push({script:H,value:0});let{inputs:G,outputs:M}=En({chain:cn,feeRate:o,inputs:C,outputs:_});if(!(G&&M))throw new Wn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Bn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),B=sn(f),{inputs:l,tx:W}=qo({chain:cn,compiledMemo:H,inputs:G,outputs:M.map((Q)=>("address"in Q)&&Q.address?{...Q,address:sn(Q.address)}:Q),sender:B,tx:w});return{inputs:l,tx:W,utxos:G}}function jA({broadcastTx:n,getFeeRates:y,signer:t}){return async function({recipient:f,assetValue:T,feeOptionKey:C=Wn.FeeOption.Fast,...H}){let _=await t?.getAddress();if(!(t&&_))throw new Wn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Wn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=H.feeRate||(await y())[C],{tx:G}=await l1({...H,assetValue:T,feeRate:A,recipient:f,sender:_}),M=await t.signTransaction(G);return M.finalize(),n(G1.hex.encode(M.extract()))}}async function cA({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){let T=Qy(y);if(!Uo(T))throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{address:T});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(cn).getUtxos({address:Oy(f),fetchTxHex:!0,targetValue:C}),_=Number(o.toFixed(0)),A=t?un(t):null,G=[];if(G.push({address:sn(y),value:n.getBaseValue("number")}),A)G.push({script:A,value:0});let{inputs:M,outputs:w}=En({chain:cn,feeRate:_,inputs:H,outputs:G});if(!(M&&w))throw new Wn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let B=new Bn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:l,tx:W}=qo({chain:cn,compiledMemo:A,inputs:M,outputs:w,sender:sn(f),tx:B});return{inputs:l,tx:W,utxos:H}}function iA(n){let y=Bn.NETWORKS.bitcoinCash,t=Bn.p2pkh(n.publicKey,y);if(!t.hash)throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Bn.encodeCashAddr({hash:t.hash,prefix:Bn.CashAddrPrefix.MAINNET,type:Bn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var G1,Wn,Bn,cn;var Rf=u(()=>{Eo();Dy();Ny();G1=require("@scure/base"),Wn=require("@swapkit/helpers"),Bn=require("@swapkit/utxo-signer"),cn=Wn.Chain.BitcoinCash});function B1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function mA(n){return hA.encode(n)}function rA({phrase:n,derivationPath:y}){let t=GT.mnemonicToSeedSync(n),f=qT.HDKey.fromMasterSeed(t).derive(y);if(!f.privateKey||!f.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:T,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:_}=_n.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(A.length+H.length);G.set(A,0),G.set(H,A.length);let M=mA(G);return{getAddress:()=>Promise.resolve(M),signTransaction:(w)=>{if(w instanceof tn.PCZT)return w.signAllInputs(T,C,tn.ZcashSigHash.ALL),w.finalizeAllInputs(),Promise.resolve(w.extract());return w.signAllInputs(T,C,tn.ZcashSigHash.ALL),Promise.resolve(w)}}}function gA({inputs:n,outputs:y,tx:t,sender:o,compiledMemo:f}){let T=B1();for(let C of n){let H=tn.Address(T).decode(o),_=tn.OutScript.encode(H);t.addInput({index:C.index,script:_,sequence:4294967295,txid:Sf.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,_=C.script;if(_&&!f)continue;if(_&&f)t.addOutput({amount:0n,script:f});else t.addOutputAddress(H,BigInt(C.value),T)}return{inputs:n,tx:t}}async function W1(n){let{assetValue:y,recipient:t,memo:o,feeRate:f,sender:T,fetchTxHex:C}=n,H=o?un(o):null,_=await Qn(_n.Chain.Zcash).getUtxos({address:T,fetchTxHex:C!==!1}),A=[{address:t,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:G,outputs:M}=En({chain:_n.Chain.Zcash,changeAddress:T,feeRate:f,inputs:_,outputs:A});if(!(G&&M))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let w=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:B,inputs:l}=gA({compiledMemo:H,inputs:G,outputs:M,sender:T,tx:w});return{inputs:l,outputs:M,tx:B}}function lT(n){let y=Ko.match(n).with({signer:Ko.P.not(Ko.P.nullish)},({signer:_})=>_).with({phrase:Ko.P.string},({phrase:_,derivationPath:A,index:G=0})=>{let M=A||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],w=_n.updateDerivationPath(M,{index:G}),B=_n.derivationPathToString(w);return rA({derivationPath:B,phrase:_})}).otherwise(()=>{return}),t=Go({chain:_n.Chain.Zcash,signer:y});async function o({recipient:_,assetValue:A,feeOptionKey:G=_n.FeeOption.Fast,...M}){let w=await y?.getAddress();if(!(y&&w))throw new _n.SwapKitError("toolbox_utxo_no_signer");let B=M.feeRate||(await t.getFeeRates())[G],{tx:l}=await W1({...M,assetValue:A,feeRate:B,recipient:_,sender:w}),Q=(await y.signTransaction(l)).toHex();return t.broadcastTx(Q)}function f({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let G=GT.mnemonicToSeedSync(_),w=qT.HDKey.fromMasterSeed(G).derive(A);if(!w.privateKey||!w.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:w.privateKey,publicKey:w.publicKey}}function T({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let G=f({derivationPath:A,phrase:_}),M=B1();return tn.WIF(M).encode(G.privateKey)}function C(_){return async function(G){if(!_)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await _.signTransaction(G)}}function H(_){return async function(G){if(!_)throw new _n.SwapKitError("toolbox_utxo_no_signer");let M=await _.signTransaction(G);return t.broadcastTx(M.toHex())}}return{...t,createKeysForPath:f,createTransaction:W1,getPrivateKeyFromMnemonic:T,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:vo}}var Sf,qT,GT,_n,tn,Ko,hA;var WT=u(()=>{Eo();Dy();Ny();Sf=require("@scure/base"),qT=require("@scure/bip32"),GT=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),Ko=require("ts-pattern");hA=Sf.createBase58check(tn.utils.sha256)});function dA(n,y){switch(n){case en.Chain.BitcoinCash:return wT(y||{});case en.Chain.Zcash:return lT(y);case en.Chain.Bitcoin:case en.Chain.Dogecoin:case en.Chain.Litecoin:case en.Chain.Dash:return Go({chain:n,...y});default:throw new en.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var en;var X1=u(()=>{Rf();Dy();WT();Rf();Ny();en=require("@swapkit/helpers")});var BT={};Mn(BT,{validateZcashAddress:()=>vo,validateUtxoAddress:()=>HT,validateBchAddress:()=>Uo,toLegacyAddress:()=>sn,toCashAddress:()=>Qy,stripToCashAddress:()=>Oy,stripPrefix:()=>Oo,nonSegwitChains:()=>zy,isValidAddress:()=>yT,getUtxoToolbox:()=>dA,getUtxoNetwork:()=>YA,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>AT,getScriptTypeForAddress:()=>$o,getOutputSize:()=>Jy,getNetworkForChain:()=>kn,getInputSize:()=>Ao,getDustThreshold:()=>Yy,detectAddressNetwork:()=>fT,createZcashToolbox:()=>lT,createUTXOToolbox:()=>Go,createHDWalletHelpers:()=>iC,createCustomUtxoApi:()=>JA,createBCHToolbox:()=>wT,compileMemo:()=>un,calculateTxSize:()=>Do,addressFromKeysGetter:()=>UT,addInputsAndOutputs:()=>qo,accumulative:()=>En,UtxoNetwork:()=>oT,UTXOScriptType:()=>zf,TX_OVERHEAD:()=>Yf,SEGWIT_MARKER_FLAG_WEIGHT:()=>Nf,OutputSizes:()=>Zy,OP_RETURN_OVERHEAD:()=>C1,MIN_TX_FEE:()=>uA,InputSizes:()=>Jf});module.exports=Zn(BT);var XT=u(()=>{Dy();Eo();X1();Rf();WT()});function xy(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function uf(n){let{parseSeedPhrase:y}=await import("near-seed-phrase"),{KeyPair:t}=await import("@near-js/crypto"),o=n.index||0,f=n.derivationPath?Ff.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=y(n.phrase,f),C=t.fromString(T);return Q1(C)}async function MT(n){let{KeyPair:y}=await import("@near-js/crypto"),t=y.fromString(n);return Q1(t)}function Q1(n){return new L1(n)}async function kf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Ff.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),T=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:T}}var M1,Ff,L1;var LT=u(()=>{M1=require("@near-js/signers"),Ff=require("@swapkit/helpers");L1=class L1 extends M1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function QT(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function ZT(n){return"contractId"in n&&"methodName"in n}function JT(n){return"actions"in n}function YT(n){return"newAccountId"in n}function NT(n){return"contractCode"in n}function zT(n){return"customEstimator"in n}function DT(n){let y=0;for(let t of n)switch(t.enum){case"transfer":y+=Number(Jn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Jn.CONTRACT_CALL);break;case"createAccount":y+=Number(Jn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Jn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Jn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Jn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Jn.STAKE);break;default:y+=Number(Jn.CONTRACT_CALL)}return y.toString()}function OT(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Jn.TOKEN_TRANSFER;if(n==="storage_deposit")return Jn.STORAGE_DEPOSIT;return Jn.CONTRACT_CALL}function aA(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function sA(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Jn;var xT=u(()=>{Jn={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 RT({account:n,contractId:y,viewMethods:t,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:t})}function eA(n){let y;async function t(){if(y)return y;return y=await jo.match(n).with({phrase:jo.P.string},async(J)=>{return await uf(J)}).with({signer:jo.P.any},({signer:J})=>J).otherwise(()=>{return}),y}async function o(){let J=await nn.getRPCUrl(nn.Chain.Near);return new Z1.JsonRpcProvider({url:J})}async function f(J){let{Account:O}=await import("@near-js/accounts"),R=await o(),k=await t(),v=J||await T();return new O(v,R,k)}async function T(){let J=await t();if(!J)throw new nn.SwapKitError("toolbox_near_no_signer");return await J.getAddress()}async function C(J){return(await X({changeMethods:[],contractId:J.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:J.accountId})}async function H(J){let R=[await w({args:{account_id:J.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await w({args:{amount:J.assetValue.getBaseValue("string"),memo:J.memo||null,receiver_id:J.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return U({actions:R,receiverId:J.contractId})}async function _(J){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:R,recipient:k,memo:v}=J,K=await T();if(!R.isGasAsset&&R.address){if(!await C({accountId:k,contractId:R.address}))return H({assetValue:R,contractId:R.address,memo:v,recipient:k})}let s=await A({...J,sender:K});return W(s)}async function A({recipient:J,assetValue:O,memo:R,attachedDeposit:k,sender:v,functionCall:K}){let s=await o();if(!xy(J))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:J});if(!xy(v))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:v});if(K)return M({...K,sender:v});if(!O.isGasAsset){let gT=O.address;if(!gT)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:R||null,receiver_id:J},attachedDeposit:k||"1",contractId:gT,gas:"250000000000000",methodName:"ft_transfer",sender:v})}let{publicKey:on,nonce:wn}=await kf(s,v),Yn=O.getBaseValue("bigint"),{actionCreators:Dn,createTransaction:Xn}=await import("@near-js/transactions"),{baseDecode:An}=await import("@near-js/utils"),On=[Dn.transfer(Yn)];if(R&&k)On.push(Dn.functionCall("memo",{memo:R},BigInt("250000000000000"),BigInt(k)));let lo=await s.block({finality:"final"}),Ro=An(lo.header.hash);return Xn(v,on,J,wn+1,On,Ro)}function G(J){let O=J.encode();return Buffer.from(O).toString("base64")}async function M({args:J,attachedDeposit:O,contractId:R,gas:k,methodName:v,sender:K}){let s=await o(),{publicKey:on,nonce:wn}=await kf(s,K),{createTransaction:Yn,actionCreators:Dn}=await import("@near-js/transactions"),{baseDecode:Xn}=await import("@near-js/utils"),An=await s.block({finality:"final"}),On=Xn(An.header.hash),lo=[Dn.functionCall(v,Buffer.from(JSON.stringify(J)),BigInt(k),BigInt(O))];return Yn(K,on,R,wn+1,lo,On)}async function w(J){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))}async function B(J){let O=await t();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let[R,k]=await O.signTransaction(J);return k}async function l(J){return(await(await o()).sendTransaction(J)).transaction.hash}async function W(J){let O=await t();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");try{let R=await B(J);return await l(R)}catch{return O.signAndSendTransactions?.({transactions:[J]})}}async function Q(J){let O=await t();if("assetValue"in J){let k=await N();try{let v=await nn.getRPCUrl(nn.Chain.Near),K=await fetch(v,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:s}}=await K.json(),{execution:on,send_sir:wn}=s.transaction_costs.action_receipt_creation_config,{execution:Yn,send_sir:Dn}=s.transaction_costs.action_creation_config.transfer_cost,Xn=BigInt(Dn)+BigInt(Yn),An=BigInt(wn)+BigInt(on),lo=(Xn+An)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:lo})}catch(v){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",v);let K=BigInt("115123062500"),s=BigInt("108059500000"),wn=(K+s)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:wn})}}let R=O?await f():void 0;return q(J,R)}async function N(){let J=await o();try{return await J.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function Z(J,O,R){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let v=await f(),{formatNearAmount:K}=await import("@near-js/utils"),{PublicKey:s}=await import("@near-js/crypto"),on=K(R)||"0";return(await v.createAccount(J,s.fromString(O),BigInt(on))).transaction.hash}async function z(J){let O=await t();try{if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:k,methodName:v,args:K,deposit:s}=J,on=await f(),wn=await q({args:K||{},contractId:k,methodName:v}),Yn=R.functionCall(v,K||{},wn.getBaseValue("bigint"),BigInt(s||"1"));return(await on.signAndSendTransaction({actions:[Yn],receiverId:k})).transaction_outcome.id}catch(R){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function X(J){let O=await f();return RT({account:O,changeMethods:J.changeMethods,contractId:J.contractId,viewMethods:J.viewMethods})}async function U(J){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");if(J.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:J.actions,receiverId:J.receiverId})).transaction.hash}async function q(J,O){let R=await jo.match(J).when(QT,()=>Jn.SIMPLE_TRANSFER).when(ZT,(v)=>OT(v.methodName)).when(JT,(v)=>DT(v.actions)).when(YT,()=>Jn.ACCOUNT_CREATION).when(NT,()=>Jn.CONTRACT_DEPLOYMENT).when(zT,(v)=>{if(!O)throw new nn.SwapKitError("toolbox_near_no_account");return v.customEstimator(O)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(R)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function L(J,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),q(J,O)}async function Y(){let J=await o();try{return(await J.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let J=await t();return J?(await J.getPublicKey()).toString():""}return{broadcastTransaction:l,callFunction:z,createAction:w,createContract:X,createContractFunctionCall:M,createSubAccount:Z,createTransaction:A,estimateGas:L,estimateGasLimit:q,estimateTransactionFee:Q,executeBatchTransaction:U,getAddress:T,getBalance:xn(nn.Chain.Near),getGasPrice:Y,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:uf,getSignerFromPrivateKey:MT,serializeTransaction:G,signAndBroadcastTransaction:W,signTransaction:B,transfer:_,validateAddress:xy}}var Z1,nn,jo;var ST=u(()=>{hn();LT();xT();Z1=require("@near-js/providers"),nn=require("@swapkit/helpers"),jo=require("ts-pattern")});var J1=u(()=>{ST()});var FT={};Mn(FT,{validateNearAddress:()=>xy,tgasToGas:()=>aA,isSimpleTransfer:()=>QT,isCustomEstimator:()=>zT,isContractDeployment:()=>NT,isContractCall:()=>ZT,isBatchTransaction:()=>JT,isAccountCreation:()=>YT,getNearToolbox:()=>eA,getNearSignerFromPrivateKey:()=>MT,getNearSignerFromPhrase:()=>uf,getFullAccessPublicKey:()=>kf,getContractMethodGas:()=>OT,gasToTGas:()=>sA,estimateBatchGas:()=>DT,createNearContract:()=>RT,GAS_COSTS:()=>Jn});module.exports=Zn(FT);var uT=u(()=>{LT();xT();ST();J1()});var kT={};Mn(kT,{validateRadixAddress:()=>z1,getRadixToolbox:()=>t5});module.exports=Zn(kT);function z1(n){return n.startsWith("account_rdx1")&&n.length===66}function n5({networkApi:n}){return async function(t){let o=await o5({address:t,networkApi:n}),f=await y5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[vn.AssetValue.from({chain:vn.Chain.Radix}),...f];return f}}async function o5({address:n,networkApi:y}){let t=!0,o,f=[],T=await f5(y);while(t){let C={address:n,at_ledger_state:{state_version:T},cursor:o,limit_per_page:100},H=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:C});if(f=f.concat(H.items),H.next_cursor)o=H.next_cursor;else t=!1}return f}async function y5({resources:n,networkApi:y}){let t=[],o=50,f=[];for(let T=0;T<n.length;T+=50)f.push(n.slice(T,T+50));for(let T of f){let C=T.map((A)=>A.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),_=new Map;for(let A of H)if(A.details!==void 0){let G=A.metadata?.items.find((w)=>w.key==="symbol"),M=G?.value.typed.type==="String"?G.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of T)if(A.aggregation_level==="Global"){let G=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=vn.AssetValue.from({asset:G.symbol!==vn.Chain.Radix?`${vn.Chain.Radix}.${G.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});t.push(M)}}return t}async function f5(n){return(await n.status.getCurrent()).ledger_state.state_version}function t5({dappConfig:n}={}){let y=n||vn.SKConfig.get("integrations").radix,t=N1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=Y1.GatewayApiClient.initialize(t.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:n5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:z1}}var Y1,N1,vn;var IT=u(()=>{Y1=require("@radixdlt/babylon-gateway-api-sdk"),N1=require("@radixdlt/radix-dapp-toolkit"),vn=require("@swapkit/helpers")});function If(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Ry(n){if(If(n))return n.toUpperCase();if(n.length<=3){let t=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${t}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new D1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function T5(n){if(!If(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let t=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(t)&&t.length>0)return t}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),t=y.length%2===0?y:`${y}0`,o=Buffer.from(t,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function co(n){if(If(n))return n.toUpperCase();if(n.length<=3)return n;return Ry(n)}var D1;var pf=u(()=>{D1=require("@swapkit/helpers")});async function C5(n,y){let t=co(n),o=$f.find((f)=>co(f.currency)===t&&f.issuer===y);if(o)return o;try{let f=await Pf.RequestClient.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){Pf.warnOnce({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function H5(n){return $f.filter((y)=>y.issuer===n)}function _5(n,y){let t=co(n);return $f.some((o)=>co(o.currency)===t&&o.issuer===y)}var Pf,$f;var O1=u(()=>{pf();Pf=require("@swapkit/helpers"),$f=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var pT={};Mn(pT,{validateRippleAddress:()=>vf,parseXrplTokenIdentifier:()=>S1,normalizeCurrency:()=>co,isKnownToken:()=>_5,isHexCurrency:()=>If,hexToCurrency:()=>T5,hashes:()=>u1.hashes,getXrplTokenInfo:()=>C5,getRippleToolbox:()=>U5,getKnownTokensByIssuer:()=>H5,formatXrplTokenIdentifier:()=>F1,currencyToHex:()=>Ry,XRPL_TOKEN_ERROR_CODES:()=>Ef,XRPL_KNOWN_TOKENS:()=>$f});module.exports=Zn(pT);function S1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!no.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function F1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function A5(n){if(n.isGasAsset)return no.xrpToDrops(n.getValue("string"));let y=S1(n.toString());if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function R1(n){let y=no.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(t)=>Promise.resolve(y.sign(t))}}function vf(n){return no.isValidAddress(n)}function U5(n={}){let y=io.match(n).with({phrase:io.P.string},({phrase:Z})=>R1(Z)).with({signer:io.P.any},({signer:Z})=>Z).otherwise(()=>{return}),t;async function o(){let Z=await i.getRPCUrl(i.Chain.Ripple);if(!Z)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let z=new no.Client(Z);return await z.connect(),z}async function f(){if(t){let Z=await t.catch(()=>null);if(Z?.isConnected())return Z}return t=o(),t}let T=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(Z)=>{let z=Z||await T(),{baseDecimal:X}=i.getChainConfig(i.Chain.Ripple),U=await f();try{let[q,L]=await Promise.all([U.request({account:z,command:"account_info"}),U.request({account:z,command:"account_lines"})]),Y=q.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:X,value:Y})];for(let J of L.result.lines){let O=F1(J.currency,J.account);if(Number.parseFloat(J.balance)!==0)D.push(i.AssetValue.from({asset:O,asyncTokenLookup:!1,value:J.balance}))}return D}catch(q){if(q.data?.error_code===x1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:z,error:q}})}},H=async()=>{let{baseDecimal:Z}=i.getChainConfig(i.Chain.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Z,value:U})};async function _(Z){let z=Z||await T(),X=await f();try{return(await X.request({account:z,command:"account_lines"})).result.lines.map((q)=>({account:q.account,authorized:q.authorized??!1,balance:q.balance,currency:q.currency,freeze:q.freeze??!1,freezePeer:q.freeze_peer??!1,limit:q.limit,limitPeer:q.limit_peer,noRipple:q.no_ripple??!1,noRipplePeer:q.no_ripple_peer??!1,peerAuthorized:q.peer_authorized??!1,qualityIn:q.quality_in??0,qualityOut:q.quality_out??0}))}catch(U){if(U.data?.error_code===x1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:z,error:U}})}}async function A({address:Z,currency:z,issuer:X}){let U=await _(Z),q=Ry(z);return U.some((L)=>{return Ry(L.currency)===q&&L.account===X})}async function G({currency:Z,issuer:z,limit:X,sender:U}){let q=U||await T();if(!vf(z))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:z}});let L=Number.parseFloat(X);if(Number.isNaN(L)||L<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:X}});let Y=await f(),D={Account:q,LimitAmount:{currency:Z,issuer:z,value:X},TransactionType:"TrustSet"};return Y.autofill(D)}async function M({assetValue:Z,recipient:z,memo:X,sender:U,destinationTag:q,extendBySeconds:L=150}){if(!vf(z))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Y=U||await T();if(Z.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:Z.toString()}});let D=A5(Z),J={Account:Y,Amount:D,Destination:z,TransactionType:"Payment",...q!==void 0&&{DestinationTag:q}};if(X)J.Memos=[{Memo:{MemoData:Buffer.from(X).toString("hex")}}];let R=await(await f()).autofill(J);if(R.LastLedgerSequence&&L>0)R.LastLedgerSequence+=Math.ceil(L/4);return R}function w(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(Z)}async function B(Z){let X=await(await f()).submitAndWait(Z),{result:U}=X;if(U.validated)return U.hash;let q=U.meta?.TransactionResult,L=io.match(q).with(Ef.tecNO_LINE,()=>"No trust line exists for this token").with(Ef.tecPATH_DRY,()=>"Payment path could not deliver funds").with(Ef.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...L?{reason:L}:{txResult:q}}})}let l=async(Z)=>{try{let z=await w(Z);return B(z.tx_blob)}catch(z){if(z instanceof i.SwapKitError)throw z;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:z}})}};async function W(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let z=await y.getAddress(),X=await M({...Z,sender:z}),U=await w(X);return B(U.tx_blob)}async function Q(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let z=await y.getAddress(),X=await G({...Z,sender:z}),U=await w(X);return B(U.tx_blob)}function N(){let Z=t;if(t=null,Z)Z.then((z)=>{if(z?.isConnected())return z.disconnect();return}).catch((z)=>{console.warn("XRPL Cleanup failed silently:",z)})}return{broadcastTransaction:B,createSigner:R1,createTransaction:M,disconnect:N,estimateTransactionFee:H,getAddress:T,getBalance:C,getTrustLines:_,hasTrustLine:A,setTrustLine:G,setTrustLineAndBroadcast:Q,signAndBroadcastTransaction:l,signTransaction:w,transfer:W,validateAddress:vf}}var i,io,no,u1,x1,Ef;var PT=u(()=>{pf();i=require("@swapkit/helpers"),io=require("ts-pattern"),no=require("xrpl");pf();O1();u1=require("xrpl"),x1={ACCOUNT_NOT_FOUND:19},Ef={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function $T(n,y){let t=0n,o=0n,f=y;while(f<n.length&&f-y<10){let T=n[f++];if(T===void 0)break;if(t|=BigInt(T&127)<<o,o+=7n,(T&128)===0)return[t,f]}throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed")}function Sy(n){let y=[],t=n<0n?n+2n**64n:n;while(t>=128n)y.push(Number(t&0x7fn)|128),t>>=7n;return y.push(Number(t)),y}function bf(n,y,t){let o=n.get(y);if(o)o.push(t);else n.set(y,[t])}function l5(n){let y=new Map,t=0;while(t<n.length){let[o,f]=$T(n,t);t=f;let T=Number(o>>3n),C=Number(o&7n);if(C===Vf){let[H,_]=$T(n,t);t=_,bf(y,T,{data:new Uint8Array(Sy(H)),wireType:Vf})}else if(C===Kf){let[H,_]=$T(n,t);t=_;let A=Number(H);if(A<0||t+A>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let G=n.slice(t,t+A);t+=A,bf(y,T,{data:G,wireType:Kf})}else if(C===k1){if(t+8>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+8);t+=8,bf(y,T,{data:H,wireType:k1})}else if(C===I1){if(t+4>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+4);t+=4,bf(y,T,{data:H,wireType:I1})}else throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function W5(n){let y=[];for(let[T,C]of[...n.entries()].sort(([H],[_])=>H-_))for(let{wireType:H,data:_}of C){let A=BigInt(T<<3|H);if(y.push(new Uint8Array(Sy(A))),H===Kf)y.push(new Uint8Array(Sy(BigInt(_.length))));y.push(_)}let t=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(t),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function P1(n,y){if(!n||n.length%2!==0)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let t=ho.hexToBytes(n),o=l5(t);if(y.expiration!==void 0)o.set(w5,[{data:new Uint8Array(Sy(BigInt(y.expiration))),wireType:Vf}]);if(y.data!==void 0)o.set(q5,[{data:ho.hexToBytes(y.data),wireType:Kf}]);if(y.fee_limit!==void 0)o.set(G5,[{data:new Uint8Array(Sy(BigInt(y.fee_limit))),wireType:Vf}]);let f=W5(o),T=ho.bytesToHex(f),C=ho.bytesToHex(p1.sha256(f));return{raw_data_hex:T,txID:C}}var p1,ho,xo,Vf=0,k1=1,Kf=2,I1=5,w5=8,q5=10,G5=18;var $1=u(()=>{p1=require("@noble/hashes/sha2.js"),ho=require("@noble/hashes/utils.js"),xo=require("@swapkit/helpers")});function bn(n){if(typeof n!=="string")return!1;try{let y=jf.decode(n);return y.length===21&&y[0]===b1}catch{return!1}}function V1(n){return pn.bytesToHex(jf.decode(n))}function X5(n){return jf.decode(n).slice(1)}function K1(n){let y=ET.secp256k1.getPublicKey(pn.hexToBytes(n),!1),t=E1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=b1,o.set(t,1),jf.encode(o)}function j1({txID:n,privateKey:y}){let t=ET.secp256k1.sign(pn.hexToBytes(n),pn.hexToBytes(y),{format:"recovered",prehash:!1}),o=t[0]??0,f=pn.bytesToHex(t.slice(1,33)),T=pn.bytesToHex(t.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+T+C}function mo({txID:n,raw_data_hex:y}){let t=pn.bytesToHex(vT.sha256(pn.hexToBytes(y)));if(n!==t)throw new bT.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:t,txID:n})}function M5(n){return`000000000000000000000000${pn.bytesToHex(X5(n))}`}function L5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=B5)throw new bT.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function ro(n){return n.map(({type:y,value:t})=>y==="address"?M5(t):L5(BigInt(t))).join("")}function c1(n){return pn.bytesToHex(new TextEncoder().encode(n))}var ET,vT,E1,pn,v1,bT,jf,b1=65,B5;var VT=u(()=>{ET=require("@noble/curves/secp256k1.js"),vT=require("@noble/hashes/sha2.js"),E1=require("@noble/hashes/sha3.js"),pn=require("@noble/hashes/utils.js"),v1=require("@scure/base"),bT=require("@swapkit/helpers"),jf=v1.createBase58check(vT.sha256),B5=2n**256n});function h1(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return i1}}function m1(){let n=new AbortController,y=setTimeout(()=>n.abort(),Y5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function go(n,y){let{signal:t,cleanup:o}=m1();try{let f=await fetch(`${h1()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:t});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function r1(n,y){let{signal:t,cleanup:o}=m1();try{let f=await fetch(`${y??h1()}${n}`,{headers:{"Content-Type":"application/json"},signal:t});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function g1(n){if(!bn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await r1(`/v1/accounts/${n}`,i1);if(!(y.success&&y.data)||y.data.length===0)return;let t;try{t=V1(n).toLowerCase()}catch{t=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===t);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof ln.SwapKitError)throw y;throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function d1({from:n,to:y,amount:t}){let f=await go("/wallet/createtransaction",{amount:t,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==t)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return mo(f),f}async function a1({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o,feeLimit:f,callValue:T=0}){let C=await go("/wallet/triggersmartcontract",{call_value:T,contract_address:y,fee_limit:f,function_selector:t,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let _=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==y||_?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return mo(C.transaction),C.transaction}function s1({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o}){return go("/wallet/triggerconstantcontract",{contract_address:y,function_selector:t,owner_address:n,parameter:o,visible:!0})}async function Fy(n){try{let{result:y,txid:t}=await go("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!t)throw new ln.SwapKitError("toolbox_tron_token_transfer_failed");return t}catch(y){throw new ln.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function cf(){let n={};try{let{chainParameter:y}=await r1("/wallet/getchainparameters");for(let t of y)n[t.key]=t.value}catch(y){ln.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??Q5,createAccountFee:n.getCreateAccountFee??Z5,energyFee:n.getEnergyFee??J5}}async function KT(n){try{let y=await go("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return ln.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jT(n){try{let y=await go("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function cT(n){try{let{energy_used:y}=await s1({...n,ownerAddress:n.sender});return y}catch(y){return ln.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function e1({assetAddress:n,owner:y,spender:t}){let o=ro([{type:"address",value:y},{type:"address",value:t}]),T=(await s1({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:t,parameter:o})).constant_result?.[0];if(!T)return 0n;try{return BigInt(`0x${T}`)}catch{return 0n}}var ln,i1="https://api.trongrid.io",Q5=1000,Z5=1e5,J5=420,Y5=30000;var nH=u(()=>{VT();ln=require("@swapkit/helpers")});function CH({phrase:n,derivationPath:y}){let t=fH.HDKey.fromMasterSeed(tH.mnemonicToSeedSync(n)).derive(y);if(!t.privateKey)throw new $.SwapKitError("toolbox_tron_no_signer");return yH.bytesToHex(t.privateKey)}function HH({phrase:n,derivationPath:y,index:t}){let o=y||$.derivationPathToString($.updateDerivationPath($.NetworkDerivationPath[$.Chain.Tron],{index:t||0}));return CH({derivationPath:o,phrase:n})}function x5({phrase:n,derivationPath:y}){let t=CH({derivationPath:y,phrase:n}),o=K1(t);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{mo(f);let T=j1({privateKey:t,txID:f.txID});return Promise.resolve({...f,signature:[T]})}}}function oH({transaction:n,memo:y,expiration:t,feeLimit:o}){let f={},T={};if(o!==void 0&&n.raw_data)f.fee_limit=o,T.fee_limit=o;if(y){let _=c1(y);f.data=_,T.data=_}if(t){let _=n.raw_data.expiration+t*1000;f.expiration=_,T.expiration=_}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=P1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...T},raw_data_hex:C,txID:H}}function _H(n={}){let y="index"in n?n.index||0:0,t=$.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[$.Chain.Tron],{index:y})),o,f=!1;function T(){if(f)return Promise.resolve(o);return o=ao.match(n).with({phrase:ao.P.string},({phrase:U})=>x5({derivationPath:t,phrase:U})).with({signer:ao.P.not(ao.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await T();if(!U)throw new $.SwapKitError("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let q=U||z5,L=await cf(),Y=q*L.energyFee,D=Math.ceil(Y*1.5);return Math.min(Math.max(D,1e7),150000000)}async function _({contractAddress:U,functionSelector:q,parameter:L,sender:Y,memo:D,expiration:J}){let O=await cT({contractAddress:U,functionSelector:q,parameter:L,sender:Y}),R=await H(O),k=await a1({contractAddress:U,feeLimit:R,functionSelector:q,ownerAddress:Y,parameter:L});return oH({expiration:J,feeLimit:R,memo:D,transaction:k})}async function A(U){if(!bn(U))return[$.AssetValue.from({chain:$.Chain.Tron})];try{let q=await g1(U);if(!q)return[$.AssetValue.from({chain:$.Chain.Tron})];let L=[$.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:6,value:String(q.balance)})],Y=q.trc20?.find((D)=>(iT in D));if(Y){let D=Y[iT];L.push($.AssetValue.from({asset:`TRON.USDT-${iT}`,fromBaseDecimal:6,value:D}))}return L}catch(q){return $.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${q instanceof Error?q.message:q}`}),[$.AssetValue.from({chain:$.Chain.Tron})]}}async function G({recipient:U,assetValue:q,memo:L,expiration:Y}){if(!bn(U))throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await T();if(!D)throw new $.SwapKitError("toolbox_tron_no_signer");try{let J=await C(),O=await W({assetValue:q,expiration:Y,memo:L,recipient:U,sender:J}),R=await D.signTransaction(O),k=await Fy(R);if(!k)throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(J){throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:J instanceof Error?J.message:String(J)})}}function M({requiredBandwidth:U,resources:q,feePerUnit:L}){let Y=Math.max(0,q.free+q.total-q.used);return U>Y?(U-Y)*L:0}async function w({recipient:U,senderAddress:q}){let[L,Y,D]=await Promise.all([cf(),jT(U),KT(q)]),J=Y?0:L.createAccountFee,O=M({feePerUnit:L.bandwidthFee,requiredBandwidth:N5,resources:D.bandwidth});return $.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:$.BaseDecimal.TRON,value:J+O})}async function B({assetValue:U,recipient:q,senderAddress:L}){let Y=U.address;if(!Y)throw new $.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[D,J,O,R]=await Promise.all([cf(),jT(q),KT(L),cT({contractAddress:Y,functionSelector:"transfer(address,uint256)",parameter:ro([{type:"address",value:q},{type:"uint256",value:U.getBaseValue("string")}]),sender:L})]),k=J?0:D.createAccountFee,v=M({feePerUnit:D.bandwidthFee,requiredBandwidth:D5,resources:O.bandwidth}),K=Math.max(0,O.energy.total-O.energy.used),s=R>K?(R-K)*D.energyFee:0;return $.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:$.BaseDecimal.TRON,value:k+v+s})}async function l({assetValue:U,recipient:q,sender:L}){let Y=await T();try{let D=L?L:Y?await C():void 0;if(!D)return U.isGasAsset?$.AssetValue.from({chain:$.Chain.Tron,value:0.1}):$.AssetValue.from({chain:$.Chain.Tron,value:15});return U.isGasAsset?w({recipient:q,senderAddress:D}):B({assetValue:U,recipient:q,senderAddress:D})}catch(D){throw $.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new $.SwapKitError("toolbox_fee_estimation_failed",{chain:$.Chain.Tron,error:D})}}async function W({recipient:U,assetValue:q,memo:L,sender:Y,expiration:D}){if(!bn(U)||!bn(Y))throw new $.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(q.isGasAsset){let O=await d1({amount:q.getBaseValue("number"),from:Y,to:U});return oH({expiration:D,memo:L,transaction:O})}let J=q.address;if(!J)throw new $.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:q.toString()});return _({contractAddress:J,expiration:D,functionSelector:"transfer(address,uint256)",memo:L,parameter:ro([{type:"address",value:U},{type:"uint256",value:q.getBaseValue("string")}]),sender:Y})}async function Q(U){mo(U);let q=await T();if(!q)throw new $.SwapKitError("toolbox_tron_no_signer");return q.signTransaction(U)}async function N(U){let q=await Q(U);return Fy(q)}function Z({assetAddress:U,spenderAddress:q,from:L}){return e1({assetAddress:U,owner:L,spender:q})}async function z({assetAddress:U,spenderAddress:q,from:L,amount:Y}){let D=await Z({assetAddress:U,from:L,spenderAddress:q});if(!Y)return D>0n;return D>=BigInt(Y)}async function X({assetAddress:U,spenderAddress:q,amount:L,from:Y}){if(!bn(U)||!bn(q))throw new $.SwapKitError("toolbox_tron_approve_failed");let D=await T();if(!D)throw new $.SwapKitError("toolbox_tron_no_signer");let J=Y||await C(),O=L!==void 0?BigInt(L).toString():O5;try{let R=await _({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:ro([{type:"address",value:q},{type:"uint256",value:O}]),sender:J}),k=await D.signTransaction(R),v=await Fy(k);if(!v)throw new $.SwapKitError("toolbox_tron_approve_failed");return v}catch(R){if(R instanceof $.SwapKitError)throw R;throw new $.SwapKitError("toolbox_tron_approve_failed",{error:R})}}return{approve:X,broadcastTransaction:Fy,createTransaction:W,estimateTransactionFee:l,getAddress:C,getApprovedAmount:Z,getBalance:A,getRpcUrl:()=>$.getRPCUrl($.Chain.Tron),isApproved:z,signAndBroadcastTransaction:N,signTransaction:Q,transfer:G,validateAddress:bn}}var yH,fH,tH,$,ao,TH,N5=268,z5=65000,D5=345,iT="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",O5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var AH=u(()=>{$1();nH();VT();yH=require("@noble/hashes/utils.js"),fH=require("@scure/bip32"),tH=require("@scure/bip39"),$=require("@swapkit/helpers"),ao=require("ts-pattern"),TH=bn});var hT={};Mn(hT,{validateTronAddress:()=>TH,getTronToolbox:()=>_H,getTronPrivateKeyFromMnemonic:()=>HH});module.exports=Zn(hT);var mT=u(()=>{AH()});function mf(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return R5.test(n)}async function S5(n){if(!mf(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function UH(n={}){let y,t=n.derivationPath||d.NetworkDerivationPath[d.Chain.Stellar],o=d.derivationPathToString(t.slice(0,3));async function f({phrase:W,path:Q}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:Z}=await import("@scure/bip39"),{Keypair:z}=await import("@stellar/stellar-sdk"),X=Z(W),q=N.fromMasterSeed(X).derive(Q,!0);return z.fromRawEd25519Seed(Buffer.from(q.privateKey))}async function T(){if(y)return y;let W=hf.match(n).with({phrase:hf.P.string},({phrase:Q})=>Q).otherwise(()=>{return});if(!W)throw new d.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:W}),y}async function C(){let{Horizon:W}=await import("@stellar/stellar-sdk"),Q=await d.getRPCUrl(d.Chain.Stellar);return new W.Server(Q)}async function H(){try{return(await T()).publicKey()}catch{return""}}async function _(W){let Q=W||await H();if(!Q)throw new d.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Q)).balances.map((z)=>{if(z.asset_type==="native")return d.AssetValue.from({chain:d.Chain.Stellar,value:z.balance});let X="asset_code"in z?z.asset_code:"",U="asset_issuer"in z?z.asset_issuer:"";return d.AssetValue.from({asset:`${d.Chain.Stellar}.${X}-${U}`,asyncTokenLookup:!1,value:z.balance})})}catch{return[d.AssetValue.from({chain:d.Chain.Stellar,value:0})]}}async function A({recipient:W,assetValue:Q,memo:N,sender:Z}){if(N){if(new TextEncoder().encode(N).length>28)throw new d.SwapKitError("helpers_invalid_memo_type")}if(!await S5(W))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let X=Z||await H();if(!X)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:U,Memo:q,Networks:L,Operation:Y,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),J=await C(),O=await J.fetchBaseFee(),R=await J.loadAccount(X),k=new D(R,{fee:String(O),networkPassphrase:L.PUBLIC});if(Q.isGasAsset)try{await J.loadAccount(W),k.addOperation(Y.payment({amount:Q.getValue("string"),asset:U.native(),destination:W}))}catch{k.addOperation(Y.createAccount({destination:W,startingBalance:Q.getValue("string")}))}else k.addOperation(Y.payment({amount:Q.getValue("string"),asset:new U(Q.symbol,Q.address),destination:W}));if(N)k.addMemo(q.text(N));return k.setTimeout(30).build()}async function G(W){let{TransactionBuilder:Q,Networks:N}=await import("@stellar/stellar-sdk"),Z=await T(),z=Q.fromXDR(W.toXDR(),N.PUBLIC);return z.sign(Z),z}async function M(W){try{let Q=await C(),{hash:N}=await Q.submitTransaction(W);return N}catch(Q){throw new d.SwapKitError("toolbox_stellar_broadcast_error",Q)}}async function w({recipient:W,assetValue:Q,memo:N}){let Z=await T(),z=Z.publicKey(),X=await A({assetValue:Q,memo:N,recipient:W,sender:z});X.sign(Z);try{return(await(await C()).submitTransaction(X)).hash}catch(U){if(U instanceof d.SwapKitError)throw U;throw new d.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function B(W){let Q=await G(W);return M(Q)}async function l(){let{baseDecimal:W}=d.getChainConfig(d.Chain.Stellar);try{let Z=(await(await C()).feeStats()).fee_charged.p50;return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:W,value:Z})}catch{return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:W,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:l,getAddress:H,getBalance:_,signAndBroadcastTransaction:B,signTransaction:G,transfer:w,validateAddress:mf}}var d,hf,R5;var wH=u(()=>{d=require("@swapkit/helpers"),hf=require("ts-pattern"),R5=/^G[A-Z2-7]{55}$/});var rf={};Mn(rf,{validateStellarAddress:()=>mf,getStellarToolbox:()=>UH});module.exports=Zn(rf);var gf=u(()=>{wH()});var k5={};Mn(k5,{getToolbox:()=>rT,getFeeEstimator:()=>u5,getAddressValidator:()=>F5});module.exports=Zn(k5);var P=require("@swapkit/helpers");async function F5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (ky(),uy)),{validateEVMAddress:t}=await Promise.resolve().then(() => (Lt(),S0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (Yt(),Jt)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Cf(),Tf)),{validateHyperCoreAddress:T}=await Promise.resolve().then(() => (ct(),jt)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (gt(),rt)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (lf(),Gf)),{validateSuiAddress:_}=await Promise.resolve().then(() => (Bf(),Wf)),{validateTonAddress:A}=await Promise.resolve().then(() => (Lf(),Mf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (XT(),BT)),{validateNearAddress:M}=await Promise.resolve().then(() => (uT(),FT)),{validateRadixAddress:w}=await Promise.resolve().then(() => (IT(),kT)),{validateRippleAddress:B}=await Promise.resolve().then(() => (PT(),pT)),{validateTronAddress:l}=await Promise.resolve().then(() => (mT(),hT)),{validateStellarAddress:W}=await Promise.resolve().then(() => (gf(),rf));return function({address:N,chain:Z}){return n(Z).with(...P.EVMChains,()=>t(N)).with(...P.UTXOChains,(X)=>{return G(X)(N)}).with(...P.CosmosChains,(X)=>{return f(X)(N)}).with(P.Chain.Aptos,()=>y(N)).with(P.Chain.Radix,()=>w(N)).with(P.Chain.HyperCore,()=>T(N)).with(P.Chain.Near,()=>M(N)).with(P.Chain.Ripple,()=>B(N)).with(P.Chain.Solana,()=>C(N)).with(P.Chain.Stellar,()=>W(N)).with(P.Chain.Starknet,()=>H(N)).with(P.Chain.Sui,()=>_(N)).with(P.Chain.Ton,()=>A(N)).with(P.Chain.Tron,()=>l(N)).with(P.Chain.Cardano,()=>o(N)).otherwise(()=>!1)}}function u5(n){return async function(t){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...P.EVMChains,async(f)=>{let T=await rT(f),C=await T.createTransaction(t),H="feeOptionKey"in t?t.feeOptionKey:P.FeeOption.Fast;return T.estimateTransactionFee({...C,feeOption:H})}).with(P.Chain.Bitcoin,P.Chain.BitcoinCash,P.Chain.Dogecoin,P.Chain.Dash,P.Chain.Litecoin,P.Chain.Solana,P.Chain.Ripple,P.Chain.Tron,P.Chain.Near,P.Chain.Cardano,P.Chain.HyperCore,async(f)=>{return(await rT(f)).estimateTransactionFee(t)}).with(P.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (ky(),uy));return f().estimateTransactionFee(t)}).with(P.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (lf(),Gf));return(await f()).estimateTransactionFee(t)}).with(P.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (gf(),rf));return f().estimateTransactionFee()}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Bf(),Wf));return f().estimateTransactionFee(t)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Lf(),Mf));return f().estimateTransactionFee(t)}).with(...P.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Cf(),Tf));return f(t)}).otherwise(async()=>P.AssetValue.from({chain:n}))}}async function rT(n,y){let{match:t}=await import("ts-pattern");return t(n).returnType().with(...P.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (Mt(),O0));return await o(n,y)}).with(...P.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (XT(),BT));return o(n,y)}).with(...P.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Cf(),Tf));return o(n,y)}).with(P.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (ky(),uy));return o(y)}).with(P.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (ct(),jt));return o(y)}).with(P.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (IT(),kT));return o(y)}).with(P.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (PT(),pT));return o(y)}).with(P.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (gt(),rt));return o(y)}).with(P.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (gf(),rf));return o(y)}).with(P.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (lf(),Gf));return o(y)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Bf(),Wf));return o(y)}).with(P.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (mT(),hT));return o(y)}).with(P.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (uT(),FT));return o(y)}).with(P.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (Yt(),Jt));return o(y)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Lf(),Mf));return o(y)}).otherwise(()=>{throw new P.SwapKitError("toolbox_not_supported",{chain:n})})}
|
|
1
|
+
var zH=Object.create;var{getPrototypeOf:DH,defineProperty:ty,getOwnPropertyNames:f0,getOwnPropertyDescriptor:OH}=Object,t0=Object.prototype.hasOwnProperty;function T0(n){return this[n]}var RH,xH,C0=(n,y,t)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?RH??=new WeakMap:xH??=new WeakMap,T=f.get(n);if(T)return T}t=n!=null?zH(DH(n)):{};let C=y||!n||!n.__esModule?ty(t,"default",{value:n,enumerable:!0}):t;for(let H of f0(n))if(!t0.call(C,H))ty(C,H,{get:T0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Jn=(n)=>{var y=(y0??=new WeakMap).get(n),t;if(y)return y;if(y=ty({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of f0(n))if(!t0.call(y,o))ty(y,o,{get:T0.bind(n,o),enumerable:!(t=OH(n,o))||t.enumerable})}return y0.set(n,y),y},y0;var SH=(n)=>n;function FH(n,y){this[n]=SH.bind(null,y)}var Mn=(n,y)=>{for(var t in y)ty(n,t,{get:y[t],enumerable:!0,configurable:!0,set:FH.bind(y,t)})};var p=(n,y)=>()=>(n&&(y=n(n=0)),y);function uo(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return pH.test(y)}function H0({derivationPath:n,provider:y,...t}={}){let o,f=V.derivationPathToString(n||V.NetworkDerivationPath[V.Chain.Aptos],{allHardened:!0});async function T(){if(o)return o;return o=await Qo.match(t).with({phrase:Qo.P.string},async({phrase:l})=>{let{Ed25519Account:L}=await import("@aptos-labs/ts-sdk");return L.fromDerivationPath({mnemonic:l,path:f})}).with({signer:Qo.P.any},({signer:l})=>l).otherwise(()=>{return}),o}async function C(){let{Aptos:l,AptosConfig:L}=await import("@aptos-labs/ts-sdk"),N=new L({fullnode:y||V.getRPCUrlSync(V.Chain.Aptos)});return new l(N)}async function H(){return(await T())?.accountAddress.toString()||""}async function A(l){let L=l||await H();if(!L)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:N,chain:J}=V.getChainConfig(V.Chain.Aptos);try{let O=await C(),Y=await O.getAccountAPTAmount({accountAddress:L}),q=[V.AssetValue.from({chain:J,fromBaseDecimal:N,value:Y.toString()})],M=await O.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:L}}}});for(let G of M){if(G.asset_type===Lo.COIN_TYPE||Number(G.amount)<=0)continue;let Z=G.asset_type;if(Z){let Q=("metadata"in G&&typeof G.metadata==="object"&&G.metadata!==null?G.metadata:void 0)?.decimals??N;q.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Z}`,fromBaseDecimal:Q,value:String(G.amount)}))}}return q}catch{return[V.AssetValue.from({chain:J})]}}async function _(l){if(!l){let{baseDecimal:M}=V.getChainConfig(V.Chain.Aptos),G=y||V.getRPCUrlSync(V.Chain.Aptos),Z=await fetch(`${G}/estimate_gas_price`),{gas_estimate:D}=await Z.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:M,value:String(D)})}let L=await T();if(!L)throw new V.SwapKitError("toolbox_aptos_no_signer");let N=await X(l),J=await C(),[O]=await J.transaction.simulate.simple({signerPublicKey:L.publicKey,transaction:N});if(!O)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let Y=BigInt(O.gas_used)*BigInt(O.gas_unit_price),{baseDecimal:q}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:q,value:Y.toString()})}async function X({recipient:l,assetValue:L,maxGasAmount:N,sender:J}){if(!uo(l))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let O=J||await H();if(!O)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:Y}=await import("@aptos-labs/ts-sdk"),q=await C(),M=Y.from(O);try{let G=L.isGasAsset?Lo.TRANSFER:Lo.FUNGIBLE_STORE_TRANSFER,Z=Qo.match({address:L?.address,isGasAsset:L.isGasAsset}).with({isGasAsset:!0},()=>[Y.from(l),L.getBaseValue("bigint")]).with({address:Qo.P.string},({address:D})=>[Y.from(D),Y.from(l),L.getBaseValue("bigint")]).otherwise(()=>null);if(!Z)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return q.transaction.build.simple({data:{function:G,functionArguments:Z,typeArguments:L.isGasAsset?[]:[Lo.FUNGIBLE_ASSET_METADATA]},options:N?{maxGasAmount:N}:void 0,sender:M})}catch(G){if(G instanceof V.SwapKitError)throw G;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",G)}}async function B(l){let L=await T();if(!L)throw new V.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:L,transaction:l})}async function U({assetValue:l,maxGasAmount:L,recipient:N}){let J=await T();if(!J)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!uo(N))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let O=J.accountAddress.toString(),Y=await X({assetValue:l,maxGasAmount:L,recipient:N,sender:O});return(await(await C()).signAndSubmitTransaction({signer:J,transaction:Y})).hash}catch(O){if(O instanceof V.SwapKitError)throw O;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",O)}}async function W({senderAuthenticator:l,transaction:L}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:l,transaction:L})).hash}catch(N){throw new V.SwapKitError("toolbox_aptos_broadcast_error",N)}}async function w(l){let L=await B(l);return W({senderAuthenticator:L,transaction:l})}return{broadcastTransaction:W,createTransaction:X,estimateTransactionFee:_,getAddress:H,getBalance:A,signAndBroadcastTransaction:w,signTransaction:B,transfer:U,validateAddress:uo}}function A0({provider:n}){return async function({assetValue:t,recipient:o}){if(!uo(o))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(t.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),t.getBaseValue("string")],function:Lo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let T=t.address;if(!T)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[T,f.from(o).toString(),t.getBaseValue("string")],function:Lo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Lo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Qo,Lo,pH;var _0=p(()=>{V=require("@swapkit/helpers"),Qo=require("ts-pattern"),Lo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},pH=/^[0-9a-fA-F]+$/});var by={};Mn(by,{validateAptosAddress:()=>uo,getAptosToolbox:()=>H0,createAptosExtensionTransfer:()=>A0});module.exports=Jn(by);var vy=p(()=>{_0()});function w0(){function n(){let y=Date.now(),t=tt||y;return tt=t,y>tt?y:t+1}return kH+n().toString(36)}function xn(n){return async function(t,o=!0){let f=await U0.SwapKitApi.getChainBalance({address:t,chain:n,scamFilter:o}),{baseDecimal:T}=Ty.getChainConfig(n),C=f.map(({identifier:A,value:_,decimal:X})=>{return new Ty.AssetValue({decimal:X||T,identifier:A,value:_})});if(!C.some((A)=>A.isGasAsset))return[Ty.AssetValue.from({chain:n}),...C];return C}}var Ty,U0,kH,tt=0;var dn=p(()=>{Ty=require("@swapkit/helpers"),U0=require("@swapkit/helpers/api"),kH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Cy(n){return{getBalance:xn(n)}}function uH(n){return n}var Vy=p(()=>{dn()});function l0(n){return new Zo.JsonRpcProvider(n)}async function _t(n,y){return l0(y||await g.getRPCUrl(n))}function Hy(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function Ut(n){let{explorerUrl:y,chainIdHex:t,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...PH({chain:n}),blockExplorerUrls:[y],chainId:t,rpcUrls:o}:void 0}}function wt(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function PH({chain:n}){let{name:y,nativeCurrency:t,baseDecimal:o}=g.getChainConfig(n);return At.match(n).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:t,symbol:t}}))}async function qt(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let t={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(t)}function G0(n,y){let t=y!==void 0?`index ${y}: `:"",o=(f,T)=>{throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${t}${T}`}})};At.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!IH(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!q0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!q0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function X0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:t})=>({name:y,type:t}))}function Tt(n){return n.charAt(0).toUpperCase()+n.slice(1)}function Ct(n,y){if(n.isTuple()&&n.components){let t=Tt(n.name);return y[t]=n.components.map((o)=>({name:o.name,type:Ct(o,y)})),t}if(n.isArray()){let t=n.arrayChildren;if(t?.isTuple()&&t.components){let o=Tt(n.name.replace(/s$/,""));return y[o]=t.components.map((f)=>({name:f.name,type:Ct(f,y)})),`${o}[]`}return`${t?.type??"bytes"}[]`}return n.type}function Ht(n,y){if(typeof n==="bigint")return n;if(y?.isTuple()&&typeof n?.toObject==="function"){let t=n.toObject(),o={};for(let[f,T]of(y.components??[]).entries())o[T.name]=Ht(t[T.name]??n[f],T);return o}if(Array.isArray(n)){let t=y?.arrayChildren;return n.map((o)=>Ht(o,t??void 0))}return n}function $H({chain:n,abi:y,data:t,to:o}){let T=new Zo.Interface(y).parseTransaction({data:t});if(!T)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=Tt(T.name);C[H]=T.fragment.inputs.map((U)=>({name:U.name,type:Ct(U,C)}));let A={};for(let[U,W]of T.fragment.inputs.entries())A[W.name]=Ht(T.args[U],W);let{chainId:_}=g.getChainConfig(n),X={chainId:Number(_),verifyingContract:Zo.getAddress(o)},B=X0(X);return{domain:X,message:A,primaryType:H,types:{EIP712Domain:B,...C}}}function lt(n,y){if(!Array.isArray(n)||n.length===0)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[t,o]of n.entries())if(G0(o,t),y!==void 0&&o.chainId!==y)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${t}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var g,Zo,At,q0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),IH=(n)=>{try{return typeof n==="string"&&!!Zo.getAddress(n)}catch{return!1}};var Ay=p(()=>{g=require("@swapkit/helpers"),Zo=require("ethers"),At=require("ts-pattern")});var W0;var B0=p(()=>{W0=[{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 Io({chain:n=R.Chain.Ethereum,provider:y,signer:t,isEIP1559Compatible:o=!0}){return{approve:KH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),approvedAmount:Q0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:Lt({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),createApprovalTx:hH({chain:n,provider:y,signer:t}),createContract:Wt({chain:n,provider:y}),createContractTxObject:Jo({chain:n,provider:y}),createTransaction:Gt({chain:n,provider:y,signer:t}),createTransferTx:Gt({chain:n,provider:y,signer:t}),EIP1193SendTransaction:Eo(y),estimateCall:Z0({provider:y,signer:t}),estimateGasLimit:cH({chain:n,provider:y,signer:t}),estimateGasPrices:Yo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:mH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return t?t.getAddress():void 0},getBalance:Cy(n).getBalance,getNetworkParams:Ut(n),isApproved:VH({chain:n,provider:y}),sendTransaction:J0({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),signAuthorization:iH({signer:t}),signMessage:t?(f)=>t.signMessage(f):void 0,signTypedData:t?({domain:f,types:T,value:C})=>t.signTypedData(f,T,C):void 0,transfer:jH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),validateAddress:Uy}}function Uy(n){try{return pn.getAddress(n),!0}catch{return!1}}function $o(n){return n instanceof pn.BrowserProvider}function wy(n,y,t){return new pn.Contract(n,pn.Interface.from(y),t)}function Wt({provider:n}){return function(t,o){return new pn.Contract(t,pn.Interface.from(o),n)}}function Bt({abi:n,funcName:y}){let t=n.find((o)=>o.name===y);if(!t)throw new R.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return t.stateMutability&&EH.includes(t.stateMutability)}function M0(n){return pn.getAddress(n)}function Eo(n){return function({value:t,...o}){if(!$o(n))throw new R.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:T,maxFeePerGas:C,maxPriorityFeePerGas:H,...A}=o;return n.send("eth_sendTransaction",[{...A,value:Hy(BigInt(t||0))}])}}function L0(n,y){let t=bo(n,y);if(t)return pn.getAddress(t.toLowerCase());throw new R.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function bo({chain:n,symbol:y,ticker:t},o){try{let f=n===R.Chain.BinanceSmartChain&&y==="BNB"&&t==="BNB",T=n===R.Chain.Hyperevm&&y==="HYPE"&&t==="HYPE",C=n===o&&y===o&&t===o,H=vH.includes(n)&&y==="ETH"&&t==="ETH";if(C||f||T||H)return Mt[o];return pn.getAddress(y.slice(t.length+1).replace(/^0X/,""))}catch{return null}}function Jo({provider:n}){return async({contractAddress:y,abi:t,funcName:o,funcParams:f=[],txOverrides:T})=>wy(y,t,n).getFunction(o).populateTransaction(...f.concat(T).filter((C)=>typeof C<"u"))}function Yo({chain:n,provider:y,isEIP1559Compatible:t=!0}){return Xt.match(n).with(R.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:T}=await y.getFeeData();if(!f||T===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Average),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Average)},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(R.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new R.SwapKitError("toolbox_evm_no_fee_data");let T=f*12n/10n;return{[R.FeeOption.Average]:{gasPrice:T},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:T,gasPrice:C}=await y.getFeeData();if(t){if(f===null||T===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:T},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fastest)}}}if(!C)throw new R.SwapKitError("toolbox_evm_no_gas_price");return{[R.FeeOption.Average]:{gasPrice:C},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function Lt({provider:n,isEIP1559Compatible:y,signer:t,chain:o}){return async function({callProvider:T,contractAddress:C,abi:H,funcName:A,funcParams:_=[],txOverrides:X={},feeOption:B=R.FeeOption.Fast}){let U=T||n;if(!C)throw new R.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let W=Bt({abi:H,funcName:A});if(W&&$o(U)&&t){let L=Jo({chain:o,provider:U}),N=X?.from||await t?.getAddress(),J=await L({abi:H,contractAddress:C,funcName:A,funcParams:_,txOverrides:{...X,from:N}});return Eo(U)(J)}let w=wy(C,H,U);if(W){if(!t)throw new R.SwapKitError("toolbox_evm_no_signer");let L=X?.from||await t.getAddress();if(!L)throw new R.SwapKitError("toolbox_evm_no_signer_address");let N=w.connect(t),J=Yo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:O,maxPriorityFeePerGas:Y,gasPrice:q}=(await J())[B],M=await w.getFunction(A).estimateGas(..._,X),G=await N[A](..._,{...X,gasLimit:M,gasPrice:q,maxFeePerGas:O,maxPriorityFeePerGas:Y,nonce:X?.nonce||await U.getTransactionCount(L)});return typeof G?.hash==="string"?G?.hash:G}let l=await w[A]?.(..._);return typeof l?.hash==="string"?l?.hash:l}}function Q0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:T}){return Lt({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Po.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[T,f]})}}function VH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:T,amount:C=_y}){let H=await Q0({chain:y,provider:n})({assetAddress:o,from:T,spenderAddress:f});return R.SwapKitNumber.fromBigInt(H).gte(R.SwapKitNumber.fromBigInt(BigInt(C)))}}function KH({signer:n,isEIP1559Compatible:y=!0,provider:t,chain:o}){return async function({assetAddress:T,spenderAddress:C,feeOptionKey:H=R.FeeOption.Fast,amount:A,gasLimitFallback:_,from:X,nonce:B}){let U=[C,BigInt(A||_y)],W=await n?.getAddress()||X,w={abi:Po.erc20ABI,contractAddress:T,funcName:"approve",funcParams:U,signer:n,txOverrides:{from:W}};if($o(t)){let L=Jo({chain:o,provider:t}),N=Eo(t),J=await L(w);return N(J)}return Lt({chain:o,isEIP1559Compatible:y,provider:t,signer:n})({...w,feeOption:H,funcParams:U,txOverrides:{from:W,gasLimit:_?BigInt(_.toString()):void 0,nonce:B}})}}function jH({signer:n,isEIP1559Compatible:y=!0,provider:t}){return async function({assetValue:f,memo:T,recipient:C,feeOptionKey:H=R.FeeOption.Fast,sender:A,..._}){let{hexlify:X,toUtf8Bytes:B}=await import("ethers"),U=f.getBaseValue("bigint"),W=f.chain,w=A||await n?.getAddress(),l=J0({chain:W,isEIP1559Compatible:y,provider:t,signer:n});if(!w)throw new R.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let q={..._,data:X(B(T||"")),feeOptionKey:H,from:w,to:C,value:U};return l(q)}if(!bo(f,W))throw new R.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:N,maxPriorityFeePerGas:J,gasPrice:O}=(await Yo({chain:W,isEIP1559Compatible:y,provider:t})())[H],Y=await Gt({chain:W,provider:t,signer:n})({assetValue:f,data:X(B(T||"")),gasPrice:O,maxFeePerGas:N,maxPriorityFeePerGas:J,memo:T,recipient:C,sender:w});return l(Y)}}function Z0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:T,funcParams:C=[],txOverrides:H}){if(!o)throw new R.SwapKitError("toolbox_evm_no_contract_address");let A=wy(o,f,n);return y?A.connect(y).getFunction(T).estimateGas(...C,H):A.getFunction(T).estimateGas(...C,H)}}function cH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:T,data:C,sender:H,funcName:A,funcParams:_,txOverrides:X}){let B=o.bigIntValue,U=o.isGasAsset?null:bo(o,o.chain);if(U&&A)return Z0({provider:n,signer:y})({abi:Po.erc20ABI,contractAddress:U,funcName:A,funcParams:_,txOverrides:X});let{hexlify:W,toUtf8Bytes:w}=await import("ethers");return n.estimateGas({data:C?C:T?W(w(T)):void 0,from:H,to:f,value:B})}}function iH({signer:n}){if(!n)return;return(y)=>qt(n,y)}function J0({provider:n,signer:y,isEIP1559Compatible:t=!0,chain:o}){return async function({feeOptionKey:T=R.FeeOption.Fast,...C}){let{from:H,to:A,data:_,value:X,...B}=C;if(!y)throw new R.SwapKitError("toolbox_evm_no_signer");if(!A)throw new R.SwapKitError("toolbox_evm_no_to_address");let U={...B,data:_||"0x",from:H,to:A,value:BigInt(X||0)};if($o(n))return Eo(n)(U);let W=H||await y.getAddress(),w=C.nonce||await n.getTransactionCount(W),l=(await n.getNetwork()).chainId,L=Zt(U,t);if(L==="eip7702")lt(U.authorizations||[],l);let N=Xt.match(L).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),J={...U,chainId:l,nonce:w,type:N,...L==="eip7702"&&{authorizationList:U.authorizations}},O=Yo({chain:o,isEIP1559Compatible:t,provider:n}),q=L!=="legacy"&&!(U.maxFeePerGas&&U.maxPriorityFeePerGas)||!U.gasPrice?Object.entries((await O())[T]).reduce((G,[Z,D])=>({...G,[Z]:Hy(BigInt(D))}),{}):{},M;try{M=Hy(U.gasLimit||await n.estimateGas(J)*11n/10n)}catch(G){throw new R.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:G})}try{let G={...J,gasLimit:M,...q};try{return(await y.sendTransaction(G)).hash}catch{let Z=await y.signTransaction({...G,from:W});return(await n.broadcastTransaction(Z)).hash}}catch(G){throw new R.SwapKitError("toolbox_evm_error_sending_transaction",{error:G})}}}function Gt({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:T,data:C,sender:H,maxFeePerGas:A,maxPriorityFeePerGas:_,gasPrice:X,...B}){let U=o.getBaseValue("bigint"),W=o.chain,w=H||await y?.getAddress();if(!w)throw new R.SwapKitError("toolbox_evm_no_from_address");if(R.isGasAsset(o)){let{hexlify:N,toUtf8Bytes:J}=await import("ethers");return{...B,data:C||N(J(f||"")),from:w,to:T,value:U}}let l=bo(o,W);if(!l)throw new R.SwapKitError("toolbox_evm_no_contract_address");return Jo({chain:o.chain,provider:n})({abi:Po.erc20ABI,contractAddress:l,funcName:"transfer",funcParams:[T,U],txOverrides:{from:w,gasPrice:X,maxFeePerGas:A,maxPriorityFeePerGas:_}})}}function hH({provider:n,signer:y,chain:t}){return async function({assetAddress:f,spenderAddress:T,amount:C,from:H}){let A=await y?.getAddress()||H,_=Jo({chain:t,provider:n}),X=["bigint","number"].includes(typeof C)?C:C||_y;return await _({abi:Po.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[T,BigInt(X)],txOverrides:{from:A}})}}function mH({provider:n,isEIP1559Compatible:y=!0,chain:t}){return async function({feeOption:f=R.FeeOption.Fast,...T}){let H=await Yo({chain:t,isEIP1559Compatible:y,provider:n})(),A=await n.estimateGas(T),_=R.AssetValue.from({chain:t}),{gasPrice:X,maxFeePerGas:B,maxPriorityFeePerGas:U}=H[f];if(!y&&X)return _.set(R.SwapKitNumber.fromBigInt(X*A,_.decimal));if(B&&U){let W=(B+U)*A;return _.set(R.SwapKitNumber.fromBigInt(W,_.decimal))}throw new R.SwapKitError("toolbox_evm_no_gas_price")}}var R,Po,pn,Xt,_y,EH,bH,Mt,vH,Ky=(n)=>n.type===4||(n.authorizations?.length??0)>0,Qt=(n)=>!Ky(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),Zt=(n,y=!0)=>{if(Ky(n))return"eip7702";if(Qt(n)||y)return"eip1559";return"legacy"};var jy=p(()=>{Vy();Ay();R=require("@swapkit/helpers"),Po=require("@swapkit/helpers/contracts"),pn=require("ethers"),Xt=require("ts-pattern"),_y=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");EH=["payable","nonpayable"];bH=R.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),Mt={...bH,[R.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[R.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},vH=[R.Chain.Arbitrum,R.Chain.Aurora,R.Chain.Base,R.Chain.Optimism]});function cy(n){let y=wn(Cn.Chain.Ethereum)(n);async function t(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",T="aggregate",C=Cn.FeeOption.Fast){let H=await y.createContractTxObject({abi:W0,contractAddress:f,funcName:T,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:t}}function wn(n){return function({provider:t,...o}){let f=wt(n),T=qy.match(o).with({phrase:qy.P.string},({phrase:H})=>Y0.HDNodeWallet.fromPhrase(H).connect(t)).with({signer:qy.P.any},({signer:H})=>H).otherwise(()=>{return});return Io({chain:n,isEIP1559Compatible:f,provider:t,signer:T})}}var Cn,Y0,qy,iy,hy,my,ry,gy,dy,ay,N0,sy,ey,nf,of,yf,ff,ly,tf,Tf,Cf,Hf;var Jt=p(()=>{B0();Ay();jy();Cn=require("@swapkit/helpers"),Y0=require("ethers"),qy=require("ts-pattern");iy=wn(Cn.Chain.Adi),hy=wn(Cn.Chain.Arbitrum),my=wn(Cn.Chain.Aurora),ry=wn(Cn.Chain.Avalanche),gy=wn(Cn.Chain.Base),dy=wn(Cn.Chain.Berachain),ay=wn(Cn.Chain.BinanceSmartChain),N0=wn(Cn.Chain.Botanix),sy=wn(Cn.Chain.Core),ey=wn(Cn.Chain.Corn),nf=wn(Cn.Chain.Cronos),of=wn(Cn.Chain.Gnosis),yf=wn(Cn.Chain.Hyperevm),ff=wn(Cn.Chain.Polygon),ly=wn(Cn.Chain.Sonic),tf=wn(Cn.Chain.Unichain),Tf=wn(Cn.Chain.XLayer),Cf=wn(Cn.Chain.Monad),Hf=wn(Cn.Chain.MegaETH)});var z0;var D0=p(()=>{z0=[{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 Yt(n){return new Af.Contract(gH,z0,n)}function O0(n){return async function(){let t=Yt(n);if(t&&"l1BaseFee"in t)return await t?.l1BaseFee();return}}function R0(n){return async function({from:t,to:o,nonce:f,...T}){let{Transaction:C}=await import("ethers");if(!o)throw new Hn.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...T,authorizationList:T.authorizationList,nonce:f?f:t?await n.getTransactionCount(t):0,to:o}).serialized}}function x0(n){return async function(t){let o=Yt(n),f=await R0(n)(t);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function S0(n){return async function(t){let f=(await n.getFeeData()).gasPrice??0n,T=await n.estimateGas(t);return f*T}}function dH(n){return async function(t){let o=await x0(n)(t)??0n,f=await S0(n)(t);return o+f}}function aH(n){return async function(t){let o=Yt(n),f=await R0(n)(t);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function sH(n){return async function(){try{let{maxFeePerGas:t,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),T=await O0(n)(),C=f;if(!(t&&o))throw new Hn.SwapKitError("toolbox_evm_no_fee_data");return{[Hn.FeeOption.Average]:{gasPrice:C,l1GasPrice:T,maxFeePerGas:t,maxPriorityFeePerGas:o},[Hn.FeeOption.Fast]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fast),l1GasPrice:Hn.applyFeeMultiplierToBigInt(T||0n,Hn.FeeOption.Fast),maxFeePerGas:t,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fast)},[Hn.FeeOption.Fastest]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fastest),l1GasPrice:Hn.applyFeeMultiplierToBigInt(T||0n,Hn.FeeOption.Fastest),maxFeePerGas:t,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fastest)}}}catch(t){throw new Hn.SwapKitError("toolbox_evm_gas_estimation_error",{error:t.msg??t.toString()})}}}function _f({provider:n,...y}){let t=Gy.match(y).with({phrase:Gy.P.string},({phrase:T})=>Af.HDNodeWallet.fromPhrase(T).connect(n)).with({signer:Gy.P.any},({signer:T})=>T).otherwise(()=>{return}),o=Io({provider:n,signer:t}),f=O0(n);return{...o,estimateGasPrices:sH(n),estimateL1Gas:aH(n),estimateL1GasCost:x0(n),estimateL2GasCost:S0(n),estimateTotalGasCost:dH(n),getBalance:Cy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,Af,Gy,gH="0x420000000000000000000000000000000000000f";var Nt=p(()=>{Vy();D0();jy();Hn=require("@swapkit/helpers"),Af=require("ethers"),Gy=require("ts-pattern")});var k0={};Mn(k0,{validateEVMAddress:()=>Uy,toChecksumAddress:()=>M0,isStateChangingCall:()=>Bt,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>Qt,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getEvmToolboxAsync:()=>p0,getEvmToolbox:()=>zt,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>Zt,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>Wt,getChecksumAddressFromAsset:()=>L0,createContract:()=>wy,XLayerToolbox:()=>Tf,UNIToolbox:()=>tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>_y,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,ETHToolbox:()=>cy,ContractAddress:()=>Mt,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>N0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});function zt(n,y){return F0.match(n).with(Un.Chain.Adi,()=>iy(y)).with(Un.Chain.Arbitrum,()=>hy(y)).with(Un.Chain.Aurora,()=>my(y)).with(Un.Chain.Avalanche,()=>ry(y)).with(Un.Chain.Base,()=>gy(y)).with(Un.Chain.Berachain,()=>dy(y)).with(Un.Chain.BinanceSmartChain,()=>ay(y)).with(Un.Chain.Botanix,()=>ly(y)).with(Un.Chain.Core,()=>sy(y)).with(Un.Chain.Corn,()=>ey(y)).with(Un.Chain.Cronos,()=>nf(y)).with(Un.Chain.Ethereum,()=>cy(y)).with(Un.Chain.Gnosis,()=>of(y)).with(Un.Chain.Hyperevm,()=>yf(y)).with(Un.Chain.Optimism,()=>_f(y)).with(Un.Chain.Polygon,()=>ff(y)).with(Un.Chain.Sonic,()=>ly(y)).with(Un.Chain.Unichain,()=>tf(y)).with(Un.Chain.XLayer,()=>Tf(y)).with(Un.Chain.Monad,()=>Cf(y)).with(Un.Chain.MegaETH,()=>Hf(y)).exhaustive()}async function p0(n,y){let t={...y,provider:y?.provider||await _t(n)};return zt(n,t)}var Un,F0;var Dt=p(()=>{Ay();Jt();Nt();Un=require("@swapkit/helpers"),F0=require("ts-pattern");jy();Jt();Nt()});var u0;var P0=p(()=>{((t)=>{t.Test="goerli";t.Main="homestead"})(u0||={})});var I0={};Mn(I0,{validateEVMAddress:()=>Uy,validateAuthorizations:()=>lt,validateAuthorization:()=>G0,toHexString:()=>Hy,toChecksumAddress:()=>M0,signAuthorization:()=>qt,parseEIP712FromEVMTx:()=>$H,isStateChangingCall:()=>Bt,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>Qt,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getProviderSync:()=>l0,getProvider:()=>_t,getNetworkParams:()=>Ut,getIsEIP1559Compatible:()=>wt,getEvmToolboxAsync:()=>p0,getEvmToolbox:()=>zt,getEvmApi:()=>Cy,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>Zt,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>Wt,getChecksumAddressFromAsset:()=>L0,createCustomEvmApi:()=>uH,createContract:()=>wy,buildEIP712DomainType:()=>X0,XLayerToolbox:()=>Tf,UNIToolbox:()=>tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>_y,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,EthNetwork:()=>u0,ETHToolbox:()=>cy,ContractAddress:()=>Mt,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>N0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});module.exports=Jn(I0);var Ot=p(()=>{Vy();Ay();Dt();P0()});async function xt(n,y){let t=await fetch(`${j0}${n}`,{...y,headers:{project_id:K0,...y?.headers}});if(!t.ok)throw Error(`Blockfrost API error: ${t.status} ${t.statusText}`);return t.json()}async function c0(n){try{return await xt(`/addresses/${n}/utxos`)}catch{return[]}}async function nA(){return(await xt("/blocks/latest")).slot}async function oA(){let n=await xt("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Sn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Sn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Sn.default(n.min_fee_a),minFeeB:new Sn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Sn.default(15),priceMem:new Sn.default(n.price_mem),priceSteps:new Sn.default(n.price_step),stakeKeyDeposit:new Sn.default(2000000),utxoCostPerByte:new Sn.default(n.coins_per_utxo_size)}}async function E0(n){let y=await fetch(`${j0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:K0},method:"POST"});if(!y.ok){let t=await y.text();throw Error(`Transaction submission failed: ${t}`)}return y.json()}function yA(n,y){return n.map((t)=>{let o=t.amount.find((C)=>C.unit==="lovelace"),f=o?new Sn.default(o.quantity):new Sn.default(0),T=t.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Sn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:t.output_index,tokens:T,txId:t.tx_hash}})}async function fA(n){try{let y=await c0(n),t=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:A,quantity:_}=H;if(A==="lovelace")t+=BigInt(_);else{let X=o.get(A)||0n;o.set(A,X+BigInt(_))}}}let f=[],{baseDecimal:T}=An.getChainConfig(An.Chain.Cardano);if(t>0n)f.push(An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:T,value:t.toString()}));for(let[C,H]of o)f.push(An.AssetValue.from({asset:`${An.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[An.AssetValue.from({chain:An.Chain.Cardano})];return f}catch(y){let t=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${t}`),[An.AssetValue.from({chain:An.Chain.Cardano})]}}function i0(n){if(!n||typeof n!=="string")return!1;try{let y=b0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function tA(n,y=0,t=0){let o=await v0.mnemonicToSeed(n,""),T=(await V0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(Rt+1852).derive(Rt+1815).derive(Rt+y),C=T.derive(0).derive(t),H=C.toBip32PublicKey().toPublicKey().toBytes(),A=Nn.crypto.hash28(H),X=T.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),B=Nn.crypto.hash28(X),U={hash:A,type:Nn.types.HashType.ADDRESS},W={hash:B,type:Nn.types.HashType.ADDRESS},l=new Nn.address.BaseAddress(eH,U,W).getBech32(),L=C.toPrivateKey();return{getAddress:()=>l,publicKey:H,publicKeyHash:A,signTransaction:async(N)=>{try{let J=await import("@stricahq/cbors"),O=Buffer.from(N,"hex"),Y=J.Decoder.decode(O),[q,M,G,Z]=Y.value,D=J.Encoder.encode(q),Q=Nn.crypto.hash32(D),z=L.sign(Q),x=M instanceof Map?M:new Map,k=x.get($0)||[];k.push([H,z]),x.set($0,k);let u=[q,x,G,Z];return J.Encoder.encode(u).toString("hex")}catch(J){throw new An.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(J)})}}}}function TA(n){let y,t,o;async function f(){if(!o)o=await oA();return o}async function T(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let W=n.index??0;return y=await tA(n.phrase,0,W),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(t)return t;let W=await T();if(!W)return"";if("getAddress"in W)return t=await W.getAddress(),t;return""}async function H(W){let w=W||await C();if(!w)throw new An.SwapKitError("core_wallet_connection_not_found");return fA(w)}async function A(W){if(W)try{let{tx:N}=await _(W),J=N.getFee();return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:J.toString()})}catch{}let w=await f(),l=400,L=w.minFeeB.plus(w.minFeeA.times(l));return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}async function _({sender:W="",recipient:w,assetValue:l,memo:L,pureLovelaceOnly:N=!1}){let J=W||await C();if(!J)throw new An.SwapKitError("core_wallet_connection_not_found");let[O,Y,q]=await Promise.all([c0(J),nA(),f()]),M=O.filter((Tn)=>N?Tn.amount.every((on)=>on.unit==="lovelace"):Tn.amount.some((on)=>on.unit==="lovelace")).sort((Tn,on)=>{let Zn=Tn.amount.some((On)=>On.unit!=="lovelace"),Bn=on.amount.some((On)=>On.unit!=="lovelace");if(Zn===Bn)return 0;return Zn?1:-1}),G=Nn.utils.getAddressFromString(J),Z=Nn.utils.getAddressFromString(w),D=yA(M,G),Q=new Sn.default(l.getBaseValue("string")),z=[{address:Z,amount:Q,tokens:[]}],x;if(L){let Tn=new Map;Tn.set("msg",[L]),x={metadata:[{data:Tn,label:674}]}}let k={...q,minFeeB:q.minFeeB.plus(q.minFeeA.times(4))},K=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:x,changeAddress:G,inputs:D,outputs:z,ttl:Y+3600}),{payload:e}=K.buildTransaction();return{tx:K,unsignedTx:e}}async function X(W){let w=await T();if(!w||!("signTransaction"in w))throw new An.SwapKitError("core_wallet_connection_not_found");return w.signTransaction(W)}async function B({recipient:W,assetValue:w,memo:l}){let L=await T();if(!L||!("signTransaction"in L))throw new An.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:N}=await _({assetValue:w,memo:l,recipient:W,sender:await C()}),J=await X(N);return await E0(J)}async function U(W){let w=await X(W);return await E0(w)}return{createTransaction:_,estimateTransactionFee:A,getAddress:C,getBalance:H,signAndBroadcastTransaction:U,signTransaction:X,transfer:B,validateAddress:i0}}var b0,v0,V0,Nn,An,Sn,K0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",j0="https://cardano-mainnet.blockfrost.io/api/v0",eH,Rt=2147483648,$0=0;var h0=p(()=>{b0=require("@scure/base"),v0=require("@scure/bip39"),V0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),An=require("@swapkit/helpers"),Sn=C0(require("bignumber.js")),eH=Nn.types.NetworkId.MAINNET});var St={};Mn(St,{validateCardanoAddress:()=>i0,getCardanoToolbox:()=>TA});module.exports=Jn(St);var Ft=p(()=>{h0()});function Xy(n){return hn.base64.encode(Uint8Array.from(hn.bech32.fromWords(hn.bech32.decode(n).words)))}function Wy(n,y="thor"){return hn.bech32.encode(y,hn.bech32.toWords(hn.base64.decode(n)))}function CA(n){return hn.base64.encode(n)}function HA(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new m0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hn.base64.decode(n)}var hn,m0;var pt=p(()=>{hn=require("@scure/base"),m0=require("@swapkit/helpers")});function an(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return d0;case b.Chain.Noble:return a0;default:return g0}}async function sn(n){let y=await import("@cosmjs/stargate"),t=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return t.connect({headers:o,url:n})}async function No(n,y,t={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,T=o.GasPrice??o.default?.GasPrice,C=typeof t==="string"?t:"0.0003uatom",H=typeof t==="string"?{}:t;return f.connectWithSigner(n,y,{gasPrice:T.fromString(C),...H})}async function ut(n,y){let t=await import("@cosmjs/stargate");return(t.SigningStargateClient??t.default?.SigningStargateClient).offline(n,y)}async function Pt({sender:n,recipient:y,assetValue:t,memo:o="",feeRate:f,sequence:T,accountNumber:C}){let{chain:H,chainId:A}=t,_=await b.getRPCUrl(H),B=await(await sn(_)).getAccount(n);if(!B)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let U=b.AssetValue.from({chain:H}),W=To(U.symbol),w=an(H),l=W&&f?{amount:[{amount:f.toString(),denom:W}],gas:w.gas}:w,L={amount:[{amount:t.getBaseValue("string"),denom:To(t.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??B.accountNumber,chainId:A,fee:l,memo:o,msgs:[{typeUrl:AA(H),value:L}],sequence:T??B.sequence}}var b,kt="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",r0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",g0,d0,a0,To=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return kt;case"uYUM":case"YUM":return r0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},By=({symbol:n,chain:y})=>{if(y===b.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${b.Chain.Maya}.${n}`).toUpperCase();if(y===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${b.Chain.THORChain}.${n}`:n).toUpperCase();return To(n,!1)},AA=(n)=>{switch(n){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},_A,It=(n,y)=>{let t=_A[n.toLowerCase()];if(!t)return b.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:T}=t,C=o?{chain:o}:{asset:f};return b.AssetValue.from({...C,fromBaseDecimal:T,value:y})};var My=p(()=>{b=require("@swapkit/helpers"),g0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},d0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},a0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};_A={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[kt.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var s0={};Mn(s0,{$root:()=>F});var Ln,v,un,I,F;var e0=p(()=>{Ln=C0(require("protobufjs/minimal.js")),v=Ln.default.Reader,un=Ln.default.Writer,I=Ln.default.util,F=Ln.default.roots.default||(Ln.default.roots.default={});F.common=(()=>{let n={};return n.Asset=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Asset;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.chain=o.string();break;case 2:C.symbol=o.string();break;case 3:C.ticker=o.string();break;case 4:C.synth=o.bool();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!I.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!I.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Asset)return o;let f=new F.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.chain="",T.symbol="",T.ticker="",T.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))T.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))T.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))T.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))T.synth=o.synth;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))F.common.Asset.encode(o.asset,f.uint32(10).fork()).ldelim();if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))f.uint32(18).string(o.amount);if(o.decimals!=null&&Object.hasOwnProperty.call(o,"decimals"))f.uint32(24).int64(o.decimals);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Coin;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.asset=F.common.Asset.decode(o,o.uint32());break;case 2:C.amount=o.string();break;case 3:C.decimals=o.int64();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=F.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!I.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!I.isInteger(o.decimals)&&!(o.decimals&&I.isInteger(o.decimals.low)&&I.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Coin)return o;let f=new F.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=F.common.Asset.fromObject(o.asset)}if(o.amount!=null)f.amount=String(o.amount);if(o.decimals!=null){if(I.Long)(f.decimals=I.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)if(T.asset=null,T.amount="",I.Long){let C=new I.Long(0,0,!1);T.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else T.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))T.asset=F.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))T.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")T.decimals=f.longs===String?String(o.decimals):o.decimals;else T.decimals=f.longs===String?I.Long.prototype.toString.call(o.decimals):f.longs===Number?new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.PubKeySet;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.secp256k1=o.string();break;case 2:C.ed25519=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!I.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!I.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.PubKeySet)return o;let f=new F.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.secp256k1="",T.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))T.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))T.ed25519=o.ed25519;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(t){if(this.coins=[],this.gas=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=I.emptyArray,y.prototype.gas=I.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let T=0;T<o.gas.length;++T)F.common.Coin.encode(o.gas[T],f.uint32(50).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(58).string(o.memo);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Tx;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.id=o.string();break;case 2:C.chain=o.string();break;case 3:C.fromAddress=o.string();break;case 4:C.toAddress=o.string();break;case 5:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(F.common.Coin.decode(o,o.uint32()));break;case 7:C.memo=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!I.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!I.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!I.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.gas!=null&&o.hasOwnProperty("gas")){if(!Array.isArray(o.gas))return"gas: array expected";for(let f=0;f<o.gas.length;++f){let T=F.common.Coin.verify(o.gas[f]);if(T)return"gas."+T}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Tx)return o;let f=new F.common.Tx;if(o.id!=null)f.id=String(o.id);if(o.chain!=null)f.chain=String(o.chain);if(o.fromAddress!=null)f.fromAddress=String(o.fromAddress);if(o.toAddress!=null)f.toAddress=String(o.toAddress);if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.gas){if(!Array.isArray(o.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let T=0;T<o.gas.length;++T){if(typeof o.gas[T]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[T]=F.common.Coin.fromObject(o.gas[T])}}if(o.memo!=null)f.memo=String(o.memo);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[],T.gas=[];if(f.defaults)T.id="",T.chain="",T.fromAddress="",T.toAddress="",T.memo="";if(o.id!=null&&o.hasOwnProperty("id"))T.id=o.id;if(o.chain!=null&&o.hasOwnProperty("chain"))T.chain=o.chain;if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))T.fromAddress=o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))T.toAddress=o.toAddress;if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.gas?.length){T.gas=[];for(let C=0;C<o.gas.length;++C)T.gas[C]=F.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))T.memo=o.memo;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(t){if(this.coins=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(10).fork()).ldelim();if(o.poolDeduct!=null&&Object.hasOwnProperty.call(o,"poolDeduct"))f.uint32(18).string(o.poolDeduct);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Fee;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.poolDeduct=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!I.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Fee)return o;let f=new F.common.Fee;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.poolDeduct!=null)f.poolDeduct=String(o.poolDeduct);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[];if(f.defaults)T.poolDeduct="";if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))T.poolDeduct=o.poolDeduct;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.ProtoUint;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.value=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!I.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.ProtoUint)return o;let f=new F.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.value="";if(o.value!=null&&o.hasOwnProperty("value"))T.value=o.value;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();F.types=(()=>{let n={};return n.MsgDeposit=(()=>{function y(t){if(this.coins=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.memo="",y.prototype.signer=I.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(10).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(18).string(o.memo);if(o.signer!=null&&Object.hasOwnProperty.call(o,"signer"))f.uint32(26).bytes(o.signer);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.types.MsgDeposit;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.memo=o.string();break;case 3:C.signer=o.bytes();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||I.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof F.types.MsgDeposit)return o;let f=new F.types.MsgDeposit;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.memo!=null)f.memo=String(o.memo);if(o.signer!=null){if(typeof o.signer==="string")I.base64.decode(o.signer,f.signer=I.newBuffer(I.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[];if(f.defaults){if(T.memo="",f.bytes===String)T.signer="";else if(T.signer=[],f.bytes!==Array)T.signer=I.newBuffer(T.signer)}if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))T.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))T.signer=f.bytes===String?I.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(t){if(this.amount=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.fromAddress=I.newBuffer([]),y.prototype.toAddress=I.newBuffer([]),y.prototype.amount=I.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let T=0;T<o.amount.length;++T)F.cosmos.base.v1beta1.Coin.encode(o.amount[T],f.uint32(26).fork()).ldelim();return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.types.MsgSend;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.fromAddress=o.bytes();break;case 2:C.toAddress=o.bytes();break;case 3:if(!C.amount?.length)C.amount=[];C.amount.push(F.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||I.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||I.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let T=F.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(T)return"amount."+T}}return null},y.fromObject=function(o){if(o instanceof F.types.MsgSend)return o;let f=new F.types.MsgSend;if(o.fromAddress!=null){if(typeof o.fromAddress==="string")I.base64.decode(o.fromAddress,f.fromAddress=I.newBuffer(I.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")I.base64.decode(o.toAddress,f.toAddress=I.newBuffer(I.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let T=0;T<o.amount.length;++T){if(typeof o.amount[T]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[T]=F.cosmos.base.v1beta1.Coin.fromObject(o.amount[T])}}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.amount=[];if(f.defaults){if(f.bytes===String)T.fromAddress="";else if(T.fromAddress=[],f.bytes!==Array)T.fromAddress=I.newBuffer(T.fromAddress);if(f.bytes===String)T.toAddress="";else if(T.toAddress=[],f.bytes!==Array)T.toAddress=I.newBuffer(T.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))T.fromAddress=f.bytes===String?I.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))T.toAddress=f.bytes===String?I.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){T.amount=[];for(let C=0;C<o.amount.length;++C)T.amount[C]=F.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();F.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let t={};return t.Coin=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=un.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))C.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))C.uint32(18).string(T.amount);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof v))T=v.create(T);let H=C===void 0?T.len:T.pos+C,A=new F.cosmos.base.v1beta1.Coin;while(T.pos<H){let _=T.uint32();switch(_>>>3){case 1:A.denom=T.string();break;case 2:A.amount=T.string();break;default:T.skipType(_&7);break}}return A},o.decodeDelimited=function(T){if(!(T instanceof v))T=new v(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!I.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!I.isString(T.amount))return"amount: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.Coin)return T;let C=new F.cosmos.base.v1beta1.Coin;if(T.denom!=null)C.denom=String(T.denom);if(T.amount!=null)C.amount=String(T.amount);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))H.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))H.amount=T.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.DecCoin=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=un.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))C.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))C.uint32(18).string(T.amount);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof v))T=v.create(T);let H=C===void 0?T.len:T.pos+C,A=new F.cosmos.base.v1beta1.DecCoin;while(T.pos<H){let _=T.uint32();switch(_>>>3){case 1:A.denom=T.string();break;case 2:A.amount=T.string();break;default:T.skipType(_&7);break}}return A},o.decodeDelimited=function(T){if(!(T instanceof v))T=new v(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!I.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!I.isString(T.amount))return"amount: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.DecCoin)return T;let C=new F.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)C.denom=String(T.denom);if(T.amount!=null)C.amount=String(T.amount);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))H.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))H.amount=T.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.IntProto=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.int="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=un.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))C.uint32(10).string(T.int);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof v))T=v.create(T);let H=C===void 0?T.len:T.pos+C,A=new F.cosmos.base.v1beta1.IntProto;while(T.pos<H){let _=T.uint32();switch(_>>>3){case 1:A.int=T.string();break;default:T.skipType(_&7);break}}return A},o.decodeDelimited=function(T){if(!(T instanceof v))T=new v(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.int!=null&&T.hasOwnProperty("int")){if(!I.isString(T.int))return"int: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.IntProto)return T;let C=new F.cosmos.base.v1beta1.IntProto;if(T.int!=null)C.int=String(T.int);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(T.int!=null&&T.hasOwnProperty("int"))H.int=T.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.DecProto=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.dec="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=un.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))C.uint32(10).string(T.dec);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof v))T=v.create(T);let H=C===void 0?T.len:T.pos+C,A=new F.cosmos.base.v1beta1.DecProto;while(T.pos<H){let _=T.uint32();switch(_>>>3){case 1:A.dec=T.string();break;default:T.skipType(_&7);break}}return A},o.decodeDelimited=function(T){if(!(T instanceof v))T=new v(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.dec!=null&&T.hasOwnProperty("dec")){if(!I.isString(T.dec))return"dec: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.DecProto)return T;let C=new F.cosmos.base.v1beta1.DecProto;if(T.dec!=null)C.dec=String(T.dec);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(T.dec!=null&&T.hasOwnProperty("dec"))H.dec=T.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t})(),y})(),n})()});async function zo(){let{$root:n}=await Promise.resolve().then(() => (e0(),s0)),y=await import("@cosmjs/proto-signing"),t=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new t([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Co(n){let y=await import("@cosmjs/stargate"),t=y.AminoTypes??y.default?.AminoTypes,o=n===nC.Chain.THORChain?"thorchain":"mayachain";return new t({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...T})=>({...T,signer:Xy(f)}),toAmino:({signer:f,...T})=>({...T,signer:Wy(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:T,...C})=>({...C,fromAddress:Xy(f),toAddress:Xy(T)}),toAmino:({fromAddress:f,toAddress:T,...C})=>({...C,from_address:Wy(f),to_address:Wy(T)})}})}var nC;var $t=p(()=>{pt();nC=require("@swapkit/helpers")});function vt(n){let{assetValue:y,recipient:t,memo:o,sender:f,asSignable:T,asAminoMessage:C}=n;if(t)return yC({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,recipient:t,sender:f});return fC({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,sender:f})}async function yC({sender:n,recipient:y,assetValue:t,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let A=t.chain,_=await zn.getRPCUrl(A),X=await oC({rpcUrl:_,sender:n}),{chainId:B}=zn.getChainConfig(A),U=Et({assetValue:t,recipient:y,sender:n}),W=f?await Ho(T?U:Ao(U),A):U;return{accountNumber:H||X.accountNumber,chainId:B,fee:an(A),memo:o,msgs:[W],sequence:C||X.sequence}}async function fC({sender:n,assetValue:y,memo:t="",asSignable:o=!0,asAminoMessage:f=!1,sequence:T,accountNumber:C}){let H=y.chain,A=await zn.getRPCUrl(H),_=await oC({rpcUrl:A,sender:n}),{chainId:X}=zn.getChainConfig(H),B=bt({assetValue:y,memo:t,sender:n}),U=o?await Ho(f?B:Ao(B),H):B;return{accountNumber:C||_.accountNumber,chainId:X,fee:an(H),memo:t,msgs:[U],sequence:T||_.sequence}}function Ao(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let t=zn.AssetValue.from({asset:y.asset}),o=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),f=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:t.isSynthetic,ticker:t.ticker}}})}}}async function Ly({chain:n,memo:y,msgs:t}){let o=await zo(),f=await Co(n),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:t.map((C)=>f.fromAmino(C))}};return o.encode(T)}var zn,UA,wA,Et=({sender:n,recipient:y,assetValue:t})=>{return{type:`${t.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:t.getBaseValue("string"),denom:To(t.symbol,!0)}],from_address:n,to_address:y}}},bt=({sender:n,assetValue:y,memo:t=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:By(y)}],memo:t,signer:n}}},Uf=({sender:n,recipient:y,assetValue:t,memo:o})=>{return!y?bt({assetValue:t,memo:o,sender:n}):Et({assetValue:t,recipient:y,sender:n})},Ho=async(n,y)=>{return(await Co(y)).fromAmino(n)},oC=async({rpcUrl:n,sender:y})=>{let o=await(await sn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var tC=p(()=>{My();$t();zn=require("@swapkit/helpers"),UA=an(zn.Chain.THORChain).gas,wA=an(zn.Chain.Maya).gas});var TC=()=>{};var CC=p(()=>{TC()});var Vt=p(()=>{pt();tC();$t();CC()});async function ct(n,y){try{let o=(await jt.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function Kt({phrase:n,prefix:y,...t}){let o="derivationPath"in t?t.derivationPath:`${P.DerivationPath[t.chain]}/${t.index}`;return await wC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[UC.stringToPath(o)],prefix:y})}async function qA({privateKey:n,prefix:y}){let t=await import("@cosmjs/proto-signing");return(t.DirectSecp256k1Wallet??t.default?.DirectSecp256k1Wallet).fromKey(n,y)}function qC(n){return async function({signature:t,message:o,address:f}){let T=await n(f);if(!T?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,A=C.Secp256k1??C.default?.Secp256k1,_=H.fromFixedLength(_o.base64.decode(t));return A.verifySignature(_,_o.base64.decode(o),T.pubkey.value)}}function Zy({chain:n,...y}){let t=P.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=P.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[n],{index:o})),T;async function C(){if(T)return T;return T=await Qy.match(y).with({phrase:Qy.P.string},({phrase:W})=>Kt({derivationPath:f,phrase:W,prefix:t})).with({signer:Qy.P.any},({signer:W})=>W).otherwise(()=>{return}),T}async function H(W){let w=await P.getRPCUrl(n);return(await sn(w)).getAccount(W)}async function A(){let W=await C(),[w]=await W?.getAccounts()||[];return w?.address}async function _(){let W=await C(),[w]=await W?.getAccounts()||[];if(!w?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return _o.base64.encode(w?.pubkey)}async function X(W){let w=await C(),l=await A(),L=await P.getRPCUrl(n);if(!(w&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await No(L,w)).sign(l,W.msgs,W.fee,W.memo,{accountNumber:W.accountNumber,chainId:W.chainId,sequence:W.sequence})}async function B(W){let w=await C(),l=await A(),L=await P.getRPCUrl(n);if(!(w&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await(await No(L,w)).signAndBroadcast(l,W.msgs,W.fee,W.memo);if(J.code!==0)throw new P.SwapKitError("core_swap_transaction_error",{code:J.code,message:J.rawLog});return J.transactionHash}async function U({recipient:W,assetValue:w,memo:l="",feeRate:L,feeOptionKey:N=P.FeeOption.Fast}){let J=await C(),O=await A();if(!(J&&O))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let Y=await P.getRPCUrl(n),q=P.AssetValue.from({chain:n}),M=By(q),G=L||XA((await AC(n,HC[n]))[N],M),Z=await No(Y,J),D=To(w.symbol),Q=[{amount:w.getBaseValue("string"),denom:D}],{transactionHash:z}=await Z.sendTokens(O,W,Q,G,l);return z}return{createPrivateKeyFromPhrase:BA(f),createTransaction:Pt,fetchFeeRateFromSwapKit:ct,getAccount:H,getAddress:A,getBalance:async(W,w)=>{let l=await _C(n)(W),L=await Promise.all(l.filter(({denom:N})=>N&&!N.includes("IBC/")&&!([P.Chain.THORChain,P.Chain.Maya].includes(n)&&N.split("-").length>2)).map(({denom:N,amount:J})=>{let O=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(N.includes("/")||N.includes("˜"))?`${n}.${N}`:N;return It(O,J)}));if(L.length===0)return[P.AssetValue.from({chain:n})];return L},getBalanceAsDenoms:_C(n),getFees:()=>AC(n,HC[n]),getPubKey:_,getSignerFromPhrase:({phrase:W,derivationPath:w})=>Kt({derivationPath:P.derivationPathToString(w),index:o,phrase:W,prefix:t}),getSignerFromPrivateKey:async(W)=>{let w=await import("@cosmjs/proto-signing");return(w.DirectSecp256k1Wallet??w.default?.DirectSecp256k1Wallet).fromKey(W,t)},signAndBroadcastTransaction:B,signTransaction:X,transfer:U,validateAddress:lC(n),verifySignature:qC(H)}}async function lA(n,y){try{let o=(await jt.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function GA({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:WA(n)})}async function AC(n,y){let{chainId:t,baseDecimal:o}=P.getChainConfig(n),f=await ct(t,y);return{average:P.SwapKitNumber.fromBigInt(BigInt(f),o),fast:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fast,!0)),o),fastest:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fastest,!0)),o)}}function XA(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function WA(n){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,[P.Chain.Harbor]:0.02}[n]||0}function lC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:T}=_o.bech32.decode(o);return _o.bech32.encode(f,T)===o.toLocaleLowerCase()}catch{return!1}}}function _C(n){return async function(t){let o=await P.getRPCUrl(n);return(await(await sn(o)).getAllBalances(t)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function BA(n){return async function(t){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,T=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,A=o.Bip39??o.default?.Bip39,_=new H(t),X=await A.mnemonicToSeed(_),{privkey:B}=C.derivePath(T.Secp256k1,X,f(n));return B}}var UC,wC,_o,P,jt,Qy,HC;var wf=p(()=>{My();UC=require("@cosmjs/crypto"),wC=require("@cosmjs/proto-signing"),_o=require("@scure/base"),P=require("@swapkit/helpers"),jt=require("@swapkit/helpers/api"),Qy=require("ts-pattern");HC={[P.Chain.Cosmos]:1000,[P.Chain.Kujira]:1000,[P.Chain.Noble]:1000,[P.Chain.THORChain]:5000000,[P.Chain.Maya]:5000000,[P.Chain.Harbor]:5000000}});function MA({prefix:n,derivationPath:y}){return async function(o,f=0){let T=await import("@cosmjs/amino"),C=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),A=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[A(`${y}/${f}`)],prefix:n})}}function LA(n){return Uo.base64.encode(n)}function QA(n){return async function({wallet:t,tx:o}){let{msgs:f,accountNumber:T,sequence:C,chainId:H,fee:A,memo:_}=typeof o==="string"?JSON.parse(o):o,X=(await t.getAccounts())?.[0]?.address||"",B=await Co(n),U=await zo(),W=await ut(t,{aminoTypes:B,registry:U}),w=[];for(let N of f){let J=await Ho(N,n);w.push(J)}let{signatures:[l]}=await W.sign(X,w,A,_,{accountNumber:T,chainId:H,sequence:C});return{bodyBytes:await Ly({chain:n,memo:_,msgs:f.map(Ao)}),signature:LA(l)}}}function ZA({prefix:n,chain:y}){return async function(o,f,T,C,H){let A=await s.getRPCUrl(y),{encodeSecp256k1Pubkey:_,pubkeyToAddress:X}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:U,fee:W}=JSON.parse(o),w=await GC(T,C),l=f.map((J)=>[X(_(Uo.base64.decode(J.pubKey)),n),Uo.base64.decode(J.signature)]),L=await sn(A),{transactionHash:N}=await L.broadcastTx(B(w,U,W,H,new Map(l)));return N}}async function GC(n,y,t=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((T)=>f(Uo.base64.decode(T))),y,t)}function JA(n){return Uo.base64.decode(n)}async function YA({privateKey:n,message:y}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,o=await t.createSignature(Uo.base64.decode(y),n);return Uo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function it({chain:n,...y}){let{nodeUrl:t}=s.getChainConfig(n),{isStagenet:o}=s.SKConfig.get("envs"),f=n===s.Chain.THORChain,T=`${o?"s":""}${s.CosmosChainPrefixes[n]}`,C="index"in y?y.index||0:0,H="derivationPath"in y&&y.derivationPath?y.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[n],{index:C}),A=Zy({chain:n,...y}),_=an(n);async function X(){let U,W=`${t}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:w}}=await s.RequestClient.get(W);if(!w||Number.isNaN(w)||w<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:w.toString()});U=new s.SwapKitNumber(w)}catch{U=new s.SwapKitNumber({decimal:s.getChainConfig(n).baseDecimal,value:f?0.02:1})}return{[s.FeeOption.Average]:U,[s.FeeOption.Fast]:U,[s.FeeOption.Fastest]:U}}async function B({assetValue:U,memo:W="",recipient:w}){let l=await s.getRPCUrl(n),L=await Jy.match(y).with({phrase:Jy.P.string},({phrase:z})=>A.getSignerFromPhrase({derivationPath:H,phrase:z})).with({signer:Jy.P.any},({signer:z})=>z).otherwise(()=>{return}),{TxRaw:N}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),J=(await L?.getAccounts())?.[0]?.address;if(!(J&&L))throw new s.SwapKitError("toolbox_cosmos_no_signer");let O="signAmino"in L,Y=await zo(),q=await Co(n),M=await No(l,L,{aminoTypes:q,registry:Y}),G=Uf({assetValue:U,memo:W,recipient:w,sender:J});if(O){let z=await Ho(G,n),{signatures:x,authInfoBytes:k}=await M.sign(J,[z],_,W),u=N.encode({authInfoBytes:k,bodyBytes:await Ly({chain:n,memo:W,msgs:[G].map(Ao)}),signatures:x}).finish();return(await M.broadcastTx(u)).transactionHash}let Z=Ao(G),D=await Ho(Z,n);return(await M.signAndBroadcast(J,[D],_,W)).transactionHash}return{...A,broadcastMultisigTx:ZA({chain:n,prefix:T}),buildAminoMsg:Uf,buildEncodedTxBody:Ly,convertToSignable:Ho,createDefaultAminoTypes:()=>Co(n),createDefaultRegistry:zo,createMultisig:GC,createTransaction:vt,deposit:B,getFees:X,importSignature:JA,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(U)=>{let{pubkeyToAddress:W}=(await import("@cosmjs/amino")).default;return W(U,T)},secp256k1HdWalletFromMnemonic:MA({derivationPath:s.derivationPathToString(H),prefix:T}),signMultisigTx:QA(n),signWithPrivateKey:YA,transfer:B}}var Uo,s,Jy;var ht=p(()=>{Vt();My();wf();Uo=require("@scure/base"),s=require("@swapkit/helpers"),Jy=require("ts-pattern")});var wo,NA=(n,y)=>{switch(n){case wo.Chain.Cosmos:case wo.Chain.Kujira:case wo.Chain.Noble:return Zy({chain:n,...y});case wo.Chain.Maya:case wo.Chain.THORChain:return it({chain:n,...y});default:throw new wo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var XC=p(()=>{wf();ht();wo=require("@swapkit/helpers");wf();ht()});var qf={};Mn(qf,{verifySignature:()=>qC,transferMsgAmino:()=>Et,toBase64:()=>CA,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>qA,getSignerFromPhrase:()=>Kt,getMsgSendDenom:()=>To,getFeeRateFromSwapKit:()=>lA,getDenomWithChain:()=>By,getDefaultChainFee:()=>an,getCosmosToolbox:()=>NA,getCosmosAddressValidator:()=>lC,getAssetFromDenom:()=>It,fromBase64:()=>HA,fetchFeeRateFromSwapKit:()=>ct,estimateTransactionFee:()=>GA,depositMsgAmino:()=>bt,createTransaction:()=>vt,createThorchainToolbox:()=>it,createStargateClient:()=>sn,createSigningStargateClient:()=>No,createOfflineStargateClient:()=>ut,createDefaultRegistry:()=>zo,createDefaultAminoTypes:()=>Co,createCosmosToolbox:()=>Zy,cosmosCreateTransaction:()=>Pt,convertToSignable:()=>Ho,buildTransferTx:()=>yC,buildEncodedTxBody:()=>Ly,buildDepositTx:()=>fC,buildAminoMsg:()=>Uf,bech32ToBase64:()=>Xy,base64ToBech32:()=>Wy,YUM_KUJIRA_FACTORY_DENOM:()=>r0,USK_KUJIRA_FACTORY_DENOM:()=>kt,THORCHAIN_GAS_VALUE:()=>UA,MAYA_GAS_VALUE:()=>wA,DEFAULT_NOBLE_FEE_MAINNET:()=>a0,DEFAULT_KUJI_FEE_MAINNET:()=>d0,DEFAULT_COSMOS_FEE_MAINNET:()=>g0});module.exports=Jn(qf);var lf=p(()=>{Vt();XC();My()});function zA({builder:n,grouping:y="na",orders:t}){return{builder:n,grouping:y,orders:t,type:"order"}}function DA({cancels:n}){return{cancels:n,type:"cancel"}}function OA({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function RA({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function xA({modifies:n}){return{modifies:n,type:"batchModify"}}function SA({asset:n,isCross:y,leverage:t}){return{asset:n,isCross:y,leverage:t,type:"updateLeverage"}}function FA({asset:n,isBuy:y,ntli:t}){return{asset:n,isBuy:y,ntli:t,type:"updateIsolatedMargin"}}function pA({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function kA({time:n}){return{time:n,type:"scheduleCancel"}}function uA({amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function PA({amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:A}){return{amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:A,type:"sendAsset"}}function IA({agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f,type:"approveAgent"}}function $A({builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function EA({hyperliquidChain:n,isUndelegate:y,nonce:t,signatureChainId:o,validator:f,wei:T}){return{hyperliquidChain:n,isUndelegate:y,nonce:t,signatureChainId:o,type:"tokenDelegate",validator:f,wei:T}}function Fn(...n){let y=n.reduce((f,T)=>f+T.length,0),t=new Uint8Array(y),o=0;for(let f of n)t.set(f,o),o+=f.length;return t}function cA(n,y,t){if(t<y)return new Uint8Array([n+t]);if(t<=255)return new Uint8Array([n+y,t]);if(t<=65535)return new Uint8Array([n+y+1,t>>8,t&255]);return new Uint8Array([n+y+2,t>>>24&255,t>>>16&255,t>>>8&255,t&255])}function qo(n,y){let t=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)t[f]=Number(o&0xffn),o>>=8n;return t}function WC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return Fn(new Uint8Array([205]),qo(n,2));if(n<=0xffffffffn)return Fn(new Uint8Array([206]),qo(n,4));return Fn(new Uint8Array([207]),qo(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return Fn(new Uint8Array([209]),qo(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Fn(new Uint8Array([210]),qo(BigInt.asUintN(32,n),4));return Fn(new Uint8Array([211]),qo(BigInt.asUintN(64,n),8))}function LC(n){let y=jA.encode(n);if(y.length<32)return Fn(new Uint8Array([160+y.length]),y);return Fn(cA(217,0,y.length),y)}function iA(n){let y=n.map((o)=>mt(o)),t=n.length<16?new Uint8Array([144+n.length]):n.length<=65535?new Uint8Array([220,n.length>>8,n.length&255]):new Uint8Array([221,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Fn(t,...y)}function hA(n){let y=Object.entries(n).filter(([,o])=>typeof o<"u"),t=y.length<16?new Uint8Array([128+y.length]):y.length<=65535?new Uint8Array([222,y.length>>8,y.length&255]):new Uint8Array([223,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Fn(t,...y.flatMap(([o,f])=>[LC(o),mt(f)]))}function mt(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return LC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new Gf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return WC(BigInt(n))}if(typeof n==="bigint")return WC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Fn(y,n)}if(Array.isArray(n))return iA(n);if(typeof n==="object")return hA(n);throw new Gf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function mA(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new Gf.SwapKitError("helpers_invalid_params",{hexValue:n});let t=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)t[o/2]=Number.parseInt(y.slice(o,o+2),16);return t}function QC(n){return{domain:bA,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...vA.Agent]}}}function ZC(n){let y=KA[n.type],t=VA[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:BC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||MC},primaryType:y,types:{[y]:t}}}function JC(n){let y=Xf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function YC(n,y,{expiresAfter:t,vaultAddress:o}={}){let f=mt(n),T=qo(BigInt(y),8),C=o?Fn(new Uint8Array([1]),mA(o.toLowerCase())):new Uint8Array([0]),H=typeof t==="number"?Fn(new Uint8Array([0]),qo(BigInt(t),8)):new Uint8Array;return Xf.keccak256(Fn(f,T,C,H))}function NC(n){let y=n.hyperliquidChain||MC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var Gf,Xf,BC="0x0000000000000000000000000000000000000000",bA,vA,MC="Mainnet",VA,KA,jA;var zC=p(()=>{Gf=require("@swapkit/helpers"),Xf=require("ethers"),bA={chainId:1337,name:"Exchange",verifyingContract:BC,version:"1"},vA={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},VA={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},KA={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},jA=new TextEncoder});function $n(n,y){if(!dt(n))throw new a.SwapKitError(y,{address:n});return n.toLowerCase()}async function Do(n){let y=await Wf();return a.RequestClient.post(`${y}/info`,{json:n})}function n_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function o_({user:n}){return Do({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function y_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function f_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function t_({oidOrCloid:n,user:y}){return Do({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function T_({aggregateByTime:n,user:y}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function C_({aggregateByTime:n,endTime:y,startTime:t,user:o}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:t,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function DC({coin:n,token:y,value:t,spotMeta:o}){if(!t||Number(t)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,T=rA[f]||xC,C=o?.tokens?.find((A)=>A.name===n||y!==void 0&&A.index===Number(y)),H=C?`${mn}.${f}-${C.name}:${C.tokenId}`:`${mn}.${f}`;return new a.AssetValue({decimal:T,identifier:H,value:t})}function H_(n){let y=new Map;for(let t of n){let o=t.toString({includeSynthProtocol:!0}),f=y.get(o);y.set(o,f?f.add(t):t)}if(![...y.values()].some((t)=>t.isGasAsset||t.ticker==="HYPE")){let t=a.AssetValue.from({chain:mn,value:0});y.set(t.toString({includeSynthProtocol:!0}),t)}return[...y.values()]}async function Wf(){try{return await a.getRPCUrl(mn)}catch{let[n]=a.getChainConfig(mn).rpcUrls;if(!n)throw new a.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:mn});return n}}async function gt(){return`${await Wf()}/exchange`}function A_(n){let y=eA[n.type],{type:t,...o}=n,f=sA[t];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:aA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function SC({action:n,expiresAfter:y,nonce:t,vaultAddress:o}){let f=t||Date.now(),T=o?$n(o,"helpers_invalid_params"):void 0,C=await gt(),H=YC(n,f,{expiresAfter:y,vaultAddress:T});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:QC(H),vaultAddress:T}}async function FC({action:n,nonce:y,signatureChainId:t}){let o=y||n.nonce||Date.now(),f=t||n.signatureChainId||"0xa4b1",T=NC({...n,nonce:o,signatureChainId:f});return{action:T,endpoint:await gt(),nonce:o,typedData:ZC(T)}}async function rt({assetValue:n,recipient:y,sender:t,signatureChainId:o,time:f}){let T=$n(y,"core_transaction_invalid_recipient_address"),C=$n(t,"core_transaction_invalid_sender_address"),H=await gt(),A=n.getValue("string"),_=f||Date.now(),X=n.address;if(!X)throw new a.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let B={amount:A,destination:T,hyperliquidChain:gA,signatureChainId:o||dA,time:_,token:X,type:"spotSend"};return{action:B,endpoint:H,nonce:_,typedData:A_(B)}}async function OC(n){let y=await a.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new a.SwapKitError("core_transaction_failed",{response:y});return y}async function __(n,y){let t=await Wf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((T)=>setTimeout(T,1000));try{let T=await a.RequestClient.post(`${t}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(T)?T.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function dt(n){return n.startsWith("0x")&&Uy(n)}function U_(n){let y=xn(mn),t=n&&"index"in n?n.index||0:0,o=a.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[mn],{index:t})),f,T=!1;function C(){if(T)return f;return f=vo.match(n).with({phrase:vo.P.string},({phrase:U})=>{return RC.HDNodeWallet.fromPhrase(U,void 0,o)}).with({signer:vo.P.not(vo.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),T=!0,f}async function H(){let U=C();return U?await U.getAddress():""}async function A(U){let W=C();if(!W)throw new a.SwapKitError("toolbox_hypercore_no_signer");let w=await W.signTypedData(U.typedData.domain,U.typedData.types,U.typedData.message);return{action:U.action,endpoint:U.endpoint,nonce:U.nonce,signature:JC(w),..."expiresAfter"in U?{expiresAfter:U.expiresAfter}:{},..."vaultAddress"in U?{vaultAddress:U.vaultAddress}:{}}}async function _(U){let W=$n(U,"helpers_invalid_params");try{let w=await Wf(),[l,L,N]=await Promise.all([a.RequestClient.post(`${w}/info`,{json:{type:"spotClearinghouseState",user:W}}),a.RequestClient.post(`${w}/info`,{json:{type:"clearinghouseState",user:W}}),a.RequestClient.post(`${w}/info`,{json:{type:"spotMeta"}})]),J=(l.spotState?.balances||l.balances||[]).map(({coin:Y,token:q,total:M})=>DC({coin:Y,spotMeta:N,token:q,value:M})).filter((Y)=>!!Y),O=DC({coin:"USDC",spotMeta:N,value:L.withdrawable||L.marginSummary?.accountValue||L.marginSummary?.totalRawUsd});return H_(O?[...J,O]:J)}catch{return y(W)}}async function X(U){let W=C();if(!W)throw new a.SwapKitError("toolbox_hypercore_no_signer");let w=U.sender||await W.getAddress(),l=await rt({...U,feeRate:0,sender:w}),L=await A(l);return await OC(L),__(w,l.nonce)}function B(){return a.AssetValue.from({chain:mn,value:0})}return{broadcastTransaction:OC,createL1ActionRequest:SC,createTransaction:rt,createUserSignedActionRequest:FC,estimateTransactionFee:B,getAddress:H,getBalance:_,getState:{clearinghouse:n_,frontendOpenOrders:f_,openOrders:y_,orderStatus:t_,spotClearinghouse:o_,userFills:T_,userFillsByTime:C_},signTransaction:A,transfer:X,validateAddress:dt}}var a,RC,vo,mn,xC,rA,gA="Mainnet",dA="0xa4b1",aA="0x0000000000000000000000000000000000000000",sA,eA;var pC=p(()=>{Ot();dn();zC();a=require("@swapkit/helpers"),RC=require("ethers"),vo=require("ts-pattern"),mn=a.Chain.HyperCore,{baseDecimal:xC}=a.getChainConfig(mn),rA={HYPE:xC,USDC:6,USDT:6},sA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},eA={spotSend:"HyperliquidTransaction:SpotSend"}});var at={};Mn(at,{validateHyperCoreAddress:()=>dt,getHyperCoreToolbox:()=>U_,createUserSignedActionRequest:()=>FC,createTransaction:()=>rt,createL1ActionRequest:()=>SC,buildUsdClassTransferAction:()=>uA,buildUpdateLeverageAction:()=>SA,buildUpdateIsolatedMarginAction:()=>FA,buildTopUpIsolatedOnlyMarginAction:()=>pA,buildTokenDelegateAction:()=>EA,buildSendAssetAction:()=>PA,buildScheduleCancelAction:()=>kA,buildOrderAction:()=>zA,buildModifyAction:()=>RA,buildCancelByCloidAction:()=>OA,buildCancelAction:()=>DA,buildBatchModifyAction:()=>xA,buildApproveBuilderFeeAction:()=>$A,buildApproveAgentAction:()=>IA});module.exports=Jn(at);var st=p(()=>{pC()});async function PC(n){let y=r.AssetValue.from({address:n,chain:r.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let t=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(t);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function w_(n){let y=await en(),{PublicKey:t}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new t(n),{baseDecimal:T}=r.getChainConfig(r.Chain.Solana),C=await y.getBalance(f),H=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:T,value:C||0})],A=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:_}of A.value){let X=_.data.parsed.info,B=X.mint,U=X.tokenAmount.amount;if(Number(U)===0)continue;let W=await PC(B),w=W?.symbol||"UNKNOWN",l=W?.decimals||X.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${w}-${B}`,fromBaseDecimal:l,value:U}))}return H}function nT(n){try{let y=new no.PublicKey(n);return no.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function q_(n){let y=n&&"index"in n?n.index||0:0,t=r.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Yy.match(n).with({phrase:Yy.P.string},({phrase:C})=>et({derivationPath:t,phrase:C})).with({signer:Yy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function T(){let C=await f();return C?.publicKey?uC(C.publicKey):""}return{broadcastTransaction:Bf(en),createKeysForPath:et,createTransaction:oT(en),createTransactionFromInstructions:W_,estimateTransactionFee:l_(en),getAddress:T,getAddressFromPubKey:uC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:w_,getConnection:en,getPubkeyFromAddress:(C)=>new no.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await kC(en,f)(C);return Bf(en)(H)},signTransaction:kC(en,f),transfer:B_(en,f),validateAddress:nT}}function l_(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let C=await n(),A=(await oT(n)({assetValue:t,isProgramDerivedAddress:f,memo:o,recipient:y,sender:T})).compileMessage(),_=await C.getFeeForMessage(A);if(_.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:X,value:_.value})}}async function en(){let{Connection:n}=await import("@solana/web3.js"),y=await r.getRPCUrl(r.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(t,o,f)=>{let T={};for(let[C,H]of Object.entries(o?.headers??{})){let A=C.toLowerCase();if(A!=="pragma"&&A!=="solana-client")T[C]=H}f(t,{...o,headers:T})}})}function G_(n){return async({assetValue:y,recipient:t,sender:o,isProgramDerivedAddress:f})=>{let T=await n(),C=new no.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:A}=await import("@solana/web3.js");return new H().add(A.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new no.PublicKey(t)}))}if(y.address)return X_({amount:y.getBaseValue("number"),connection:T,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:t,tokenAddress:y.address});return}}async function X_({tokenAddress:n,recipient:y,from:t,connection:o,amount:f,decimals:T,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:A,createAssociatedTokenAccountInstruction:_,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:B}=await import("@solana/web3.js"),U=new B,W=new no.PublicKey(n),w=await H(W,t),l=new no.PublicKey(y),L=await H(W,l,C),N=!1;try{await A(o,L),N=!0}catch{}if(!N)U.add(_(t,L,l,W));return U.add(X(w,W,L,t,f,T)),U}function oT(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new no.PublicKey(T);if(!(f||nT(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let A=await n(),_=await G_(n)({assetValue:t,isProgramDerivedAddress:f,recipient:y,sender:T});if(!_)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)_.add(C(o));let X=await A.getLatestBlockhash();return _.recentBlockhash=X.blockhash,_.feePayer=H,_}}async function W_({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),t=new y().add(...n);if(!t)throw new r.SwapKitError("core_transaction_invalid_sender_address");return t}function B_(n,y){return async({recipient:t,assetValue:o,memo:f,isProgramDerivedAddress:T})=>{let C=await y();if(!C)throw new r.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),A=await oT(n)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:t,sender:H});if("signTransaction"in C){let _=await C.signTransaction(A);return Bf(n)(_)}return A.sign(C),Bf(n)(A)}}function Bf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function kC(n,y){return async(t)=>{let o=await y();if(!o)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(t instanceof f)){let C=await(await n()).getLatestBlockhash();t.recentBlockhash=C.blockhash,t.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(t);return t.sign([o]),t}}async function et({phrase:n,derivationPath:y=r.DerivationPath.SOL}){let{HDKey:t}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),T=o(n),C=t.fromMasterSeed(T);return f.fromSeed(C.derive(y,!0).privateKey)}function uC(n){return n.toString()}var no,r,Yy;var IC=p(()=>{dn();no=require("@solana/web3.js"),r=require("@swapkit/helpers"),Yy=require("ts-pattern")});var yT={};Mn(yT,{validateSolanaAddress:()=>nT,getSolanaToolbox:()=>q_,fetchTokenMetaData:()=>PC,createKeysForPath:()=>et});module.exports=Jn(yT);var fT=p(()=>{IC()});function Mf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Lf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:t}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:T,encode:C,CallData:H}=await import("starknet"),A=o(n),X=t.fromMasterSeed(A).derive(y);if(!X.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let B=C.addHexPrefix(Buffer.from(X.privateKey).toString("hex")),U=f.starkCurve.grindKey(B),W=C.addHexPrefix(U),w=f.starkCurve.getStarkKey(W),l=H.compile([w,0]);return{address:T.calculateContractAddressFromHash(w,TT,l,0),privateKey:W,publicKey:w}}async function CT({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:t,RpcProvider:o}=await import("starknet"),{privateKey:f,address:T}=await Lf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new t({address:T,provider:H,signer:f})}function EC(n){let y=c.Chain.Starknet,t=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:t})),f,T,C;async function H(){if(T)return T;let{RpcProvider:q}=await import("starknet"),M=await c.getRPCUrl(y);return T=new q({nodeUrl:M}),T}async function A(q){let M=await H(),G=q||await U();if(!G)return!1;try{return await M.getClassHashAt(G),!0}catch(Z){if(Z instanceof Error&&Z.message.includes("Contract not found"))return!1;let D=Z;if(D?.code===20||D?.code===19)return!1;throw Z}}async function _(){let{CallData:q,hash:M}=await import("starknet"),G=await H(),Z=await B();if(!Z)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await A())return Z.address;let Q=q.compile([C,0]);if(M.calculateContractAddressFromHash(C,TT,Q,0).toLowerCase()!==Z.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let x={addressSalt:C,classHash:TT,constructorCalldata:Q},{transaction_hash:k}=await Z.deployAccount(x);return await G.waitForTransaction(k),k}async function X(){if(!await A()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await _()}}async function B(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:q})=>{let{Account:M,RpcProvider:G}=await import("starknet"),{privateKey:Z,address:D,publicKey:Q}=await Lf({derivationPath:o,phrase:q});C=Q;let z=await c.getRPCUrl(c.Chain.Starknet),x=new G({nodeUrl:z});return new M({address:D,provider:x,signer:Z})}).with({address:En.P.string,privateKey:En.P.string},async({privateKey:q,address:M})=>{let{Account:G}=await import("starknet"),Z=await H();return new G({address:M,provider:Z,signer:q})}).with({signer:En.P.instanceOf(Object)},({signer:q})=>q).otherwise(()=>{return}),f}async function U(){return(await B())?.address??""}async function W(q){let M=await H(),{uint256:G,CallData:Z}=await import("starknet"),D=[],Q=[tT,$C];for(let z of Q)try{let[x="0",k="0"]=await M.callContract({calldata:Z.compile({account:q}),contractAddress:z,entrypoint:"balanceOf"}),u=G.uint256ToBN({high:x,low:k});En.match(z).with(tT,()=>{D.push(c.AssetValue.from({chain:y,value:u}))}).with($C,()=>{if(u>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${z}`,value:u}))}).otherwise(()=>{})}catch{}return D}async function w({recipient:q,assetValue:M}){let{CallData:G,uint256:Z}=await import("starknet");if(!Mf(q))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:q});let D=M.isGasAsset?tT:M.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:M});let Q=Z.bnToUint256(M.getBaseValue("bigint"));return[{calldata:G.compile([q,Q]),contractAddress:D,entrypoint:"transfer"}]}async function l({recipient:q,assetValue:M,sender:G}){let{baseDecimal:Z}=c.getChainConfig(c.Chain.Starknet),D=await B(),Q=await En.match({sender:G,signer:D}).with({sender:En.P.string},async({sender:z})=>{let{Account:x}=await import("starknet"),k=await H();return new x({address:z,provider:k,signer:"0x0"})}).with({signer:En.P.nonNullable},({signer:z})=>z).otherwise((z)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:z}})});try{let z=await w({assetValue:M,recipient:q}),x=await Q.estimateInvokeFee(z);if(x?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Z,value:x.overall_fee})}catch(z){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",z)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function L({recipient:q,assetValue:M,memo:G}){let Z=await B();if(!Z)throw new c.SwapKitError("toolbox_starknet_no_signer");await X();let D=await w({assetValue:M,memo:G,recipient:q});return(await Z.execute(D)).transaction_hash}async function N(q){let M=await B();if(!M)throw new c.SwapKitError("toolbox_starknet_no_signer");let G=await M.signMessage(q);return Array.isArray(G)?G:[G.r.toString(),G.s.toString()]}async function J(q){let M=await B();if(!M)throw new c.SwapKitError("toolbox_starknet_no_signer");return await X(),(await M.execute(q)).transaction_hash}function O(q){return J(q)}function Y(q,M=!0){try{return xn(y)(q,M)}catch{return W(q)}}return{broadcastTransaction:J,createKeysForPath:CT,createTransaction:w,deployAccount:_,estimateTransactionFee:l,getAddress:U,getBalance:Y,getProvider:H,isAccountDeployed:A,signAndBroadcastTransaction:O,signMessage:N,transfer:L,validateAddress:Mf}}var c,En,tT="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",$C="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",TT="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var bC=p(()=>{dn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Qf={};Mn(Qf,{validateStarknetAddress:()=>Mf,starknetCreateKeysForPath:()=>CT,getStarknetToolbox:()=>EC,deriveStarknetKeys:()=>Lf});module.exports=Jn(Qf);var Zf=p(()=>{bC()});async function KC(n,y,t,o=[],f){let T=await n.getCoins({coinType:t,cursor:f,owner:y}),C=[...o,...T.data];return T.hasNextPage?KC(n,y,t,C,T.nextCursor):C}function M_(n,y,t){let o=y.reduce((A,_)=>A+BigInt(_.balance),0n);if(o<t)throw new yn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:t.toString()});let{ids:f}=y.reduce((A,_)=>{if(A.total>=t)return A;return{ids:[...A.ids,_.coinObjectId],total:A.total+BigInt(_.balance)}},{ids:[],total:0n}),T=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(T,C);let[H]=n.splitCoins(T,[t]);return H}function jC(n){try{return VC.isValidSuiAddress(n)}catch{return!1}}function vC(n){return"signWithIntent"in n}function L_({provider:n,...y}={}){let t;async function o(){if(t)return t;return t=await Ny.match(y).with({phrase:Ny.P.string},async({phrase:w})=>{let{Ed25519Keypair:l}=await import("@mysten/sui/keypairs/ed25519");return l.deriveKeypair(w)}).with({signer:Ny.P.any},({signer:w})=>w).otherwise(()=>{return}),t}async function f(w=n){let{SuiClient:l,getFullnodeUrl:L}=await import("@mysten/sui/client");return new l({url:w||L("mainnet")})}async function T(){return(await o())?.toSuiAddress()||""}function C(w){try{let l=yn.AssetValue.from({address:w,chain:yn.Chain.Sui});return{asset:l.toString(),decimals:l.decimal}}catch{}return null}async function H(w){let l=w||await T();if(!l)throw new yn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:L,chain:N}=yn.getChainConfig(yn.Chain.Sui);try{let J=await f(),{totalBalance:O}=await J.getBalance({owner:l}),Y=[yn.AssetValue.from({chain:N,fromBaseDecimal:L,value:O})],q=await J.getAllBalances({owner:l});for(let{coinType:M,totalBalance:G}of q){if(M==="0x2::sui::SUI"||Number(G)<=0)continue;let Z=C(M);if(Z)Y.push(yn.AssetValue.from({asset:Z.asset,fromBaseDecimal:Z.decimals,value:G}))}return Y}catch{return[yn.AssetValue.from({chain:N})]}}async function A(w){let l=yn.AssetValue.from({chain:yn.Chain.Sui,value:"0.01"});if(!w)return l;try{let L=await f(),{txBytes:N}=await _(w),{effects:{status:J,gasUsed:O}}=await L.dryRunTransactionBlock({transactionBlock:N});if(J.status!=="success")return l;let Y=Number(O.computationCost)+Number(O.storageCost)-Number(O.storageRebate);return yn.AssetValue.from({chain:yn.Chain.Sui,value:Y.toString()})}catch{return l}}async function _({recipient:w,assetValue:l,gasBudget:L,sender:N}){let{Transaction:J}=await import("@mysten/sui/transactions"),O=N||await T();if(!O)throw new yn.SwapKitError("toolbox_sui_no_sender");try{let Y=new J;if(Y.setSender(O),l.isGasAsset||l.symbol==="SUI"){let[G]=Y.splitCoins(Y.gas,[l.getBaseValue("string")]);Y.transferObjects([G],w)}else{let G=l.address;if(!G)throw new yn.SwapKitError("toolbox_sui_missing_coin_type");let Z=await f(),D=l.getBaseValue("bigint"),Q=await KC(Z,O,G);if(!Q.length)throw new yn.SwapKitError("toolbox_sui_no_coins_found",{coinType:G});let z=M_(Y,Q,D);Y.transferObjects([z],w)}if(L)Y.setGasBudget(L);let q=await f(),M=await Y.build({client:q});return{tx:Y,txBytes:M}}catch(Y){if(Y instanceof yn.SwapKitError)throw Y;throw new yn.SwapKitError("toolbox_sui_transaction_creation_error",{error:Y})}}async function X(w){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");if(w instanceof Uint8Array)return l.signTransaction(w);let{txBytes:L}="tx"in w?w:await _(w);return l.signTransaction(L)}async function B({assetValue:w,gasBudget:l,recipient:L}){let N=await o();if(!N)throw new yn.SwapKitError("toolbox_sui_no_signer");let J=N.toSuiAddress()||await T();if(!J)throw new yn.SwapKitError("toolbox_sui_no_sender");let{txBytes:O}=await _({assetValue:w,gasBudget:l,recipient:L,sender:J}),Y=await f();if(!vC(N)){let M=await N.signTransaction(O),{digest:G}=await Y.executeTransactionBlock({signature:M.signature,transactionBlock:M.bytes});return G}let{digest:q}=await Y.signAndExecuteTransaction({signer:N,transaction:O});return q}async function U(w){let l=await f(),{digest:L}=await l.executeTransactionBlock({signature:w.signature,transactionBlock:w.bytes});return L}async function W(w){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");let L=await f(),N;if(typeof w==="string")N=Uint8Array.from(Buffer.from(w,"base64"));else if(w instanceof Uint8Array)N=w;else N=await w.build({client:L});if(!vC(l)){let O=await l.signTransaction(N),{digest:Y}=await L.executeTransactionBlock({signature:O.signature,transactionBlock:O.bytes});return Y}let{digest:J}=await L.signAndExecuteTransaction({signer:l,transaction:N});return J}return{broadcastTransaction:U,createTransaction:_,estimateTransactionFee:A,getAddress:T,getBalance:H,signAndBroadcastTransaction:W,signTransaction:X,transfer:B,validateAddress:jC}}var VC,yn,Ny;var cC=p(()=>{VC=require("@mysten/sui/utils"),yn=require("@swapkit/helpers"),Ny=require("ts-pattern")});var Jf={};Mn(Jf,{validateSuiAddress:()=>jC,getSuiToolbox:()=>L_});module.exports=Jn(Jf);var Yf=p(()=>{cC()});async function N_(){let n=Date.now();if(Nf&&n-hC<Y_)return Nf;try{return Nf=await mC.getHttpEndpoint(),hC=n,Nf}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function z_(n={}){let y,t,o;async function f(){if(!y){let Y=n.provider??await N_();y=new h.TonClient({endpoint:Y})}return y}async function T(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Oo.match(n).with({phrase:Oo.P.string},async({phrase:Y})=>rC.mnemonicToWalletKey(Y.split(" "))).with({signer:Oo.P.any},({signer:Y})=>Y).otherwise(()=>{return}),o}async function H(Y){if(!t||Y){let q=await C(),M=await f(),G=Y||q;if(!G)throw new qn.SwapKitError("core_wallet_connection_not_found");let Z=h.WalletContractV4.create({publicKey:G.publicKey,workchain:0});t=M.open(Z)}return t}let A=xn(qn.Chain.Ton);async function _({assetValue:Y,recipient:q,memo:M,sender:G}){if(Y.isGasAsset){let e=M?O(M).toBoc().toString("base64"):void 0;return[{address:q,amount:Y.getBaseValue("string"),payload:e}]}let Z=Y.address;if(!Z)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:Y.toString()}});let D=G??await T(),Q=await N({jettonMasterAddress:Z,ownerAddress:D}),z=h.Address.parse(q),x=h.Address.parse(D),k=Y.getBaseValue("bigint"),u=M?O(M):void 0,K=J({destinationAddress:z,forwardPayload:u,jettonAmount:k,responseAddress:x});return[{address:Q.toString(),amount:J_.toString(),payload:K.toBoc().toString("base64")}]}function X({sender:Y,...q}){return _({...q,sender:Y})}function B(Y){return Y.map((q)=>{let M=q.payload?h.Cell.fromBase64(q.payload):void 0,G=q.stateInit?h.loadStateInit(h.Cell.fromBase64(q.stateInit).asSlice()):void 0,Z=h.Address.parse(q.address),D=h.Address.isFriendly(q.address)?h.Address.parseFriendly(q.address).isBounceable:!0;return h.internal({body:M,bounce:D,init:G,to:Z,value:BigInt(q.amount)})})}async function U(Y){let q=await C(),M=await H();if(!M||!q)throw new qn.SwapKitError("core_wallet_connection_not_found");let G=await f(),{state:Z}=await G.getContractState(M.address),D=Z==="active",Q=D?await M.getSeqno():0,z=M.createTransfer({messages:B(Y),secretKey:q.secretKey,sendMode:iC,seqno:Q}),x=h.external({body:z,init:D?void 0:M.init,to:M.address});return h.beginCell().store(h.storeMessage(x)).endCell()}async function W(Y){return await(await f()).sendFile(Y.toBoc()),Y.hash().toString("hex")}async function w(Y){let q=await U(Y);return W(q)}async function l({assetValue:Y,recipient:q,memo:M}){let G=await X({assetValue:Y,memo:M,recipient:q});return w(G)}async function L({sender:Y,...q}){let{baseDecimal:M}=qn.getChainConfig(qn.Chain.Ton),G=await Oo.match(Y).with(Oo.P.string,(Q)=>{return h.Address.parseFriendly(Q).address}).otherwise(async()=>{return(await H()).address});if(!G)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let Z=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),D=await f();try{let Q=await X({sender:Y,...q}),z=await C(),x=await H();if(!x||!z)return Z;let k=await x.getSeqno(),u=x.createTransfer({messages:B(Q),secretKey:z.secretKey,sendMode:iC,seqno:k}),{source_fees:K}=await D.estimateExternalMessageFee(G,{body:u,ignoreSignature:!0,initCode:null,initData:null}),e=K.in_fwd_fee+K.storage_fee+K.gas_fee+K.fwd_fee;return Z.set(qn.SwapKitNumber.fromBigInt(BigInt(e),M))}catch{return Z}}async function N({jettonMasterAddress:Y,ownerAddress:q}){try{let M=await f(),G=h.Address.parse(Y),Z=h.Address.parse(q);return await M.open(h.JettonMaster.create(G)).getWalletAddress(Z)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:Y,ownerAddress:q}})}}function J({jettonAmount:Y,destinationAddress:q,responseAddress:M,forwardAmount:G=Z_,forwardPayload:Z}){let D=h.beginCell().storeUint(Q_,32).storeUint(0,64).storeCoins(Y).storeAddress(q).storeAddress(M).storeBit(0).storeCoins(G);if(Z)D.storeBit(1).storeRef(Z);else D.storeBit(0);return D.endCell()}function O(Y){return h.beginCell().storeUint(0,32).storeStringTail(Y).endCell()}return{broadcastTransaction:W,createTransaction:X,estimateTransactionFee:L,getAddress:T,getBalance:A,getJettonWalletAddress:N,sign:U,signAndBroadcastTransaction:w,transfer:l,validateAddress:gC}}function gC(n){try{return h.Address.parse(n),!0}catch{return!1}}var mC,qn,rC,h,Oo,Q_=260734629,Z_,J_,iC,Y_=60000,Nf,hC=0;var dC=p(()=>{dn();mC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),rC=require("@ton/crypto"),h=require("@ton/ton"),Oo=require("ts-pattern"),Z_=h.toNano("0.01"),J_=h.toNano("0.05"),iC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var zf={};Mn(zf,{validateTonAddress:()=>gC,getTONToolbox:()=>z_});module.exports=Jn(zf);var Df=p(()=>{dC()});function bn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function lo({accountIndex:n,chain:y,derivationPath:t}){if(n!==void 0)bn("accountIndex",n);let o=[...t?.slice(0,3)??aC.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function Vo({accountIndex:n,change:y=!1,chain:t,derivationPath:o,index:f}){return bn("index",f),[...lo({accountIndex:n,chain:t,derivationPath:o}),Number(y),f]}function Ro(n){return n[2]??0}function sC({deriveAddress:n,getBalance:y,getUtxos:t}){async function o(H){let{accountIndex:A,count:_,startIndex:X=0,change:B=!1}=H;if(bn("count",_),_<1)throw RangeError("count must be at least 1");bn("startIndex",X);let U=[];for(let W=0;W<_;W++){let w=await n({accountIndex:A,change:B,index:X+W});if(w)U.push(w)}return U}async function f(H){let{gapLimit:A=20,change:_=!1}=H??{},X=[],B=0,U=0;while(B<A){let W=await n({change:_,index:U});if(!W)break;if((await y(W.address)).some((L)=>L.getValue("number")>0))X.push(W),B=0;else B++;U++}return X}async function T(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[...A,..._],B=await Promise.all(X.map(async(W)=>{let l=(await y(W.address)).reduce((L,N)=>L+N.getValue("number"),0);return{...W,balance:l}})),U=B.reduce((W,w)=>W+w.balance,0);return{addresses:B,total:U}}async function C(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[...A,..._];return(await Promise.all(X.map(async(U)=>{return(await t(U.address)).map((w)=>({...w,address:U.address,derivationIndex:U.index,isChange:U.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:T,getAggregatedUtxos:C,scanForAddresses:f}}var aC;var zy=p(()=>{aC=require("@swapkit/helpers")});async function D_({chain:n,txHash:y}){let t=`${Dy(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await j.RequestClient.post(t,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let T=await j.getRPCUrl(n);if(T){let C=JSON.stringify({id:w0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await j.RequestClient.post(T,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Dy(n){return`https://api.blockchair.com/${O_(n)}`}function eC(n){switch(n){case j.Chain.Bitcoin:return 5;case j.Chain.Dogecoin:return 1e4;case j.Chain.Litecoin:return 1;case j.Chain.Zcash:return 1;default:return 2}}function O_(n){switch(n){case j.Chain.BitcoinCash:return"bitcoin-cash";case j.Chain.Litecoin:return"litecoin";case j.Chain.Dash:return"dash";case j.Chain.Dogecoin:return"dogecoin";case j.Chain.Zcash:return"zcash";case j.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function R_(n){try{let{feePerKb:y}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),t=y/1000;return Math.max(t,eC(n))}catch{return eC(n)}}async function Of(n,y){let t=await j.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!t||t.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return t.data}async function o1({address:n,chain:y,apiKey:t}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Of(`${Dy(y)}/dashboards/address/${n}?transaction_details=true`,t))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function x_({address:n,chain:y,apiKey:t}){return(await o1({address:n,apiKey:t,chain:y}))?.address.balance||0}async function y1({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Of(`${Dy(n)}/raw/transaction/${t}`,y))?.[t]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function F_({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Of(`${Dy(n)}/dashboards/transaction/${t}`,y))?.[t];if(!f)throw new j.SwapKitError("toolbox_utxo_tx_not_found",{txHash:t});let{transaction:T,inputs:C,outputs:H}=f,A=C.map((X)=>X.spending_sequence),_=T.is_rbf===!0||A.some((X)=>X<S_);return{blockId:T.block_id,confirmed:T.block_id!==-1,fee:T.fee,inputs:C,isRBF:_,outputs:H,sequences:A,size:T.size,txid:T.hash,weight:T.weight}}async function p_({chain:n,address:y,apiKey:t,offset:o=0,limit:f=30}){return(await Of(`${Dy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,t)).map(({is_spent:A,script_hex:_,block_id:X,transaction_hash:B,index:U,value:W,spending_signature_hex:w})=>({hash:B,index:U,is_confirmed:X!==-1,is_spent:A,script_hex:_,txHex:w,value:W}))}function k_(n){return n.reduce((y,t)=>y+t.value,0)}function n1(n,y){let t=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let T of t)if(o.push(T),f+=T.value,f>=y)break;return o}return t}async function f1({chain:n,address:y,apiKey:t,targetValue:o,accumulativeValue:f=0,offset:T=0,limit:C=30}){if(!y)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await p_({address:y,apiKey:t,chain:n,limit:C,offset:T,targetValue:o}),_=H.length<C,X=H.filter(({is_spent:L})=>!L),B=k_(X),U=f+B,W=o&&U>=o;if(_||W)return n1(X,o);let w=await f1({accumulativeValue:U,address:y,apiKey:t,chain:n,limit:C,offset:T+C,targetValue:o}),l=[...X,...w];return n1(l,o)}catch(H){let A=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${A}`),[]}}async function u_({address:n,chain:y,apiKey:t,fetchTxHex:o=!0,targetValue:f}){let T=await f1({address:n,apiKey:t,chain:y,targetValue:f}),C=[];for(let{hash:H,index:A,script_hex:_,value:X}of T){let B;if(o)B=await y1({apiKey:t,chain:y,txHash:H});C.push({address:n,hash:H,index:A,txHex:B,value:X,witnessUtxo:{script:Buffer.from(_,"hex"),value:X}})}return C}function Qn(n){let y=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(t)=>D_({chain:n,txHash:t}),getAddressData:(t)=>o1({address:t,apiKey:y,chain:n}),getBalance:(t)=>x_({address:t,apiKey:y,chain:n}),getRawTx:(t)=>y1({apiKey:y,chain:n,txHash:t}),getSuggestedTxFee:()=>R_(n),getTransactionDetails:(t)=>F_({apiKey:y,chain:n,txHash:t}),getUtxos:(t)=>u_({...t,apiKey:y,chain:n})}}function P_(n){return n}function I_(){return function(y){switch(y){case j.Chain.Bitcoin:return xo.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return xo.NETWORKS.bitcoinCash;case j.Chain.Dash:return xo.NETWORKS.dash;case j.Chain.Litecoin:return xo.NETWORKS.litecoin;case j.Chain.Dogecoin:return xo.NETWORKS.dogecoin;case j.Chain.Zcash:return xo.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,xo,S_=4294967294;var t1=p(()=>{dn();j=require("@swapkit/helpers"),xo=require("@swapkit/utxo-signer")});function b_(n,y,t){return oo.encodeCashAddr({hash:t,prefix:n,type:$_[y]})}function v_(n){let y=oo.decodeCashAddr(n),t=E_[y.type];if(!t)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:t}}var oo,$_,E_,HT;var T1=p(()=>{oo=require("@swapkit/utxo-signer"),$_={P2PKH:oo.CashAddrType.P2PKH,P2SH:oo.CashAddrType.P2SH},E_={[oo.CashAddrType.P2PKH]:"P2PKH",[oo.CashAddrType.P2SH]:"P2SH"};HT={decode:v_,encode:b_}});function UT(n){try{return Rf(n),!0}catch{return!1}}function wT(n){return Rf(n)?.network}function yo(n){let y=Rf(n);if(y?.format==="legacy")return n;return j_(y)}function Oy(n){let y=Rf(n);return c_(y)}function Rf(n){try{let y=V_(n);if(y)return y}catch{}try{let y=K_(n);if(y)return y}catch{}throw new AT.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function V_(n){try{let y=_1.decode(n);if(y.length!==21)throw new AT.SwapKitError("toolbox_utxo_invalid_address",{address:n});let t=y[0],o=Array.prototype.slice.call(y,1);switch(t){case So.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case So.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case So.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case So.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case So.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case So.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function K_(n){if(n.indexOf(":")!==-1)try{return C1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let t of y)try{return C1(`${t}:${n}`)}catch{}}return}function C1(n){try{let{hash:y,prefix:t,type:o}=HT.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:t==="bitcoincash"?"mainnet":"testnet",type:o==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function j_(n){let y=So.legacy[n.network][n.type],t=Buffer.alloc(1+n.hash.length);return t[0]=y,t.set(n.hash,1),_1.encode(t)}function c_(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",t=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return HT.encode(y,t,o)}var H1,A1,AT,_1,_T,So;var U1=p(()=>{T1();H1=require("@noble/hashes/sha2.js"),A1=require("@scure/base"),AT=require("@swapkit/helpers"),_1=A1.createBase58check(H1.sha256);((t)=>{t.Mainnet="mainnet";t.Testnet="testnet"})(_T||={});So={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function kn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return q1.Script.encode(["RETURN",y])}var w1,q1,i_=1000,Sf=10,Ff=2,l1=10,h_=41,m_=107,pf,xf,Ry,Ko=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new w1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},Fo=({inputs:n,outputs:y,feeRate:t})=>{let o=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",T=(t?n.filter((_)=>_.value>=xf["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(t)):n).reduce((_,X)=>_+Go(X),0),C=y?.reduce((_,X)=>_+xy(X),0)||Ry[o],H=Sf+T+C;return o==="P2WPKH"?Math.ceil(H+Ff/4):H},Go=(n)=>{if("type"in n&&n.type)return xf[n.type];if("address"in n&&n.address)return xf[Ko(n.address)];return h_+m_},xy=(n,y)=>{if(n?.script)return l1+n.script.length+(n.script.length>=74?2:1);if(y)return Ry[y];if("address"in n&&n.address)return Ry[Ko(n.address)];return Ry.P2PKH};var qT=p(()=>{w1=require("@swapkit/helpers"),q1=require("@swapkit/utxo-signer");((t)=>{t.P2PKH="P2PKH";t.P2WPKH="P2WPKH"})(pf||={});xf={["P2PKH"]:148,["P2WPKH"]:68},Ry={["P2PKH"]:34,["P2WPKH"]:31}});function Sy(n){switch(n){case rn.Chain.Bitcoin:case rn.Chain.BitcoinCash:return 550;case rn.Chain.Dash:case rn.Chain.Litecoin:return 5500;case rn.Chain.Dogecoin:return 1e5;case rn.Chain.Zcash:return 546;default:throw new rn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:t=1,chain:o=rn.Chain.Bitcoin,changeAddress:f=""}){let T=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",C=n.filter((w)=>Go(w)*t<=w.value),A=T==="P2WPKH"?Math.ceil(Ff/4):0,_=Sf+A+y.reduce((w,l)=>w+xy(l),0),X=y.reduce((w,l)=>w+l.value,0),B=_*t,U=0,W=[];for(let w of C){let l=Go(w),L=t*l;B+=L,U+=w.value,W.push(w);let N=B+X;if(U<N)continue;let J=U-N,O=t*xy({address:f,value:0});if(J>O){let Y=O+B,q=U-(X+Math.ceil(Y));if(q>Math.max(Go({value:0})*t,Sy(o)))return{fee:Math.ceil(Y),inputs:W,outputs:y.concat({address:f,value:q})}}return{fee:Math.ceil(B),inputs:W,outputs:y}}return{fee:Math.ceil(t*Fo({inputs:n,outputs:y}))}}var rn;var G1=p(()=>{qT();rn=require("@swapkit/helpers")});var jo=p(()=>{t1();U1();G1();qT()});function po(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Xo(n){let y=po(n);return UT(y)&&wT(y)==="mainnet"}function co(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let t=kf.Address(kf.ZCASH_NETWORK).decode(n);return t.type==="pkh"||t.type==="sh"}catch{return!1}}var kf;var Fy=p(()=>{jo();kf=require("@swapkit/utxo-signer")});function XT({address:n,chain:y}){return GT.match(y).with(S.Chain.BitcoinCash,()=>Xo(n)).with(S.Chain.Zcash,()=>co(n)).otherwise(()=>{try{return m.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return GT.match(n).with(S.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(S.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(S.Chain.Dash,()=>m.NETWORKS.dash).with(S.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(S.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(S.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function r_({phrase:n,derivationPath:y,network:t,seed:o}){let f=o??Pf.mnemonicToSeedSync(n),C=lT.HDKey.fromMasterSeed(f,t.bip32).derive(y);if(!C.privateKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function X1(n){return W1.secp256k1.getPublicKey(n,!0)}function ky({publicKey:n,chain:y,network:t}){if(y===S.Chain.BitcoinCash){let T=m.p2pkh(n,t);if(!T.hash)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return m.encodeCashAddr({hash:T.hash,prefix:m.CashAddrPrefix.MAINNET,type:m.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!py.includes(y)?m.p2wpkh(n,t):m.p2pkh(n,t);if(!f.address)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function io({phrase:n,derivationPath:y,chain:t,wif:o,seed:f}){let T=Dn(t);if(o){let _=m.WIF(T).decode(o),X=X1(_);return{privateKey:_,publicKey:X}}if(!n)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||S.derivationPathToString(S.NetworkDerivationPath[t]),H=r_({derivationPath:C,network:T,phrase:n,seed:f}),A=X1(H);return{privateKey:H,publicKey:A}}function g_(n,y){return m.WIF(Dn(y)).encode(n)}function d_({phrase:n,derivationPath:y,chain:t,seed:o}){let f=y.split("/");if(f.length<4)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let T=Dn(t),C=o??Pf.mnemonicToSeedSync(n),H=lT.HDKey.fromMasterSeed(C,T.bip32),A=f.slice(0,4).join("/");return H.derive(A)}function Bo({inputs:n,outputs:y,chain:t,tx:o,sender:f,compiledMemo:T,enableRBF:C=!1}){let H=Dn(t),A=!py.includes(t),_=C?m.RBF_SEQUENCE:void 0,X=new Set;for(let B of n){let U=`${B.hash}:${B.index}`;if(X.has(U))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});X.add(U);let W=typeof B.hash==="string"?Wo.hex.decode(B.hash):B.hash;if(A&&B.witnessUtxo)o.addInput({index:B.index,sequence:_,txid:W,witnessUtxo:{amount:BigInt(B.witnessUtxo.value),script:B.witnessUtxo.script}});else if(B.txHex)o.addInput({index:B.index,nonWitnessUtxo:Wo.hex.decode(B.txHex),sequence:_,txid:W,...t===S.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let B of y){let U="address"in B&&B.address?B.address:f;if(t===S.Chain.BitcoinCash)U=yo(U);if(B.script){if(T)o.addOutput({amount:0n,script:T})}else o.addOutputAddress(U,BigInt(B.value),H)}return{inputs:n,tx:o}}async function ho(n){let y=await Qn(n).getSuggestedTxFee();return{[S.FeeOption.Average]:y,[S.FeeOption.Fast]:S.applyFeeMultiplier(y,S.FeeOption.Fast),[S.FeeOption.Fastest]:S.applyFeeMultiplier(y,S.FeeOption.Fastest)}}async function B1({assetValue:n,recipient:y,memo:t,sender:o,fetchTxHex:f=!1}){let T=n.chain,C=(await ho(T))[S.FeeOption.Fastest],H=f||py.includes(T),A=n.getBaseValue("number"),_=Math.ceil(A+C*5000);return{inputs:await Qn(T).getUtxos({address:o,fetchTxHex:H,targetValue:_}),outputs:[{address:y,value:A},...t?[{address:"",script:kn(t),value:0}]:[]]}}async function M1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f,fetchTxHex:T=!1,enableRBF:C=!1}){let H=n.chain,A=t?kn(t):null,_=await B1({assetValue:n,fetchTxHex:T,memo:t,recipient:y,sender:f}),{inputs:X,outputs:B}=vn({..._,chain:H,feeRate:o});if(!(X&&B))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let U=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:W,tx:w}=Bo({chain:H,compiledMemo:A,enableRBF:C,inputs:X,outputs:B,sender:f,tx:U});return{inputs:W,tx:w,utxos:_.inputs}}async function L1({assetValue:n,feeOptionKey:y=S.FeeOption.Fast,feeRate:t,memo:o,sender:f,recipient:T}){let C=n.chain,H=await B1({assetValue:n,memo:o,recipient:T,sender:f}),A=t?Math.floor(t):(await ho(C))[y];return vn({...H,chain:C,feeRate:A})}function a_(n){return async function({from:t,memo:o,feeRate:f,feeOptionKey:T=S.FeeOption.Fast,recipients:C=1}){let H=await Qn(n).getAddressData(t),A=f?Math.ceil(f):(await ho(n))[T],_=H?.utxo.map((l)=>({...l,hash:"",type:"P2PKH"})).filter((l)=>l.value>Math.max(Sy(n),Go(l)*A));if(!_?.length)return S.AssetValue.from({chain:n});let X=BigInt(_.reduce((l,L)=>l+L.value,0)),B=S.AssetValue.from({chain:n,value:X}),U=typeof C==="number"?Array.from({length:C},()=>({address:t,value:0})):C;if(o)U.push({address:t,script:kn(o),value:0});let W=Fo({inputs:_,outputs:U}),w=S.AssetValue.from({chain:n,value:BigInt(W*A)});return B.sub(w)}}function s_(n){return async function(t){let{fee:o}=await L1(t);return S.AssetValue.from({chain:n,value:S.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function e_({chain:n,phrase:y,derivationPath:t,seed:o}){let f=Dn(n),{privateKey:T,publicKey:C}=io({chain:n,derivationPath:t,phrase:y,seed:o}),H=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>ky({chain:n,network:f,publicKey:C}),privateKey:T,publicKey:C,signTransaction:(A)=>{return A.sign(T,H),A}}}function n5(n,y){return async function({memo:o,recipient:f,feeOptionKey:T,feeRate:C,assetValue:H,enableRBF:A=!1}){let _=y?.getAddress();if(!(y&&_))throw new S.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});S.warnOnce({condition:A&&!uf.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let X=A&&uf.includes(n),B=C||(await ho(n))[T||S.FeeOption.Fast],{tx:U}=await M1({assetValue:H,enableRBF:X,feeRate:B,memo:o,recipient:f,sender:_});return y.signTransaction(U),U.finalize(),Qn(n).broadcastTx(Wo.hex.encode(U.extract()))}}function WT(n){return(y)=>XT({address:y,chain:n})}function BT(n){let y=Dn(n);return function(o){if(!o)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return ky({chain:n,network:y,publicKey:o.publicKey})}}function Mo({chain:n,...y}){let t="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=t?Pf.mnemonicToSeedSync(t):void 0,T="derivationPath"in y&&y.derivationPath?y.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[n],{index:o}),C=S.derivationPathToString(T),H=t?e_({chain:n,derivationPath:C,phrase:t,seed:f}):void 0,A="signer"in y?y.signer:void 0,_=t?io({chain:n,derivationPath:C,phrase:t,seed:f}):void 0;function X(){if(H)return Promise.resolve(H.getAddress());if(A)return A.getAddress();return Promise.resolve(void 0)}function B(G){if(!t)return;let Z=lo({accountIndex:G,chain:n,derivationPath:T});return d_({chain:n,derivationPath:S.derivationPathToString(Z),phrase:t,seed:f})}let U=B();function W(){if(!U)return;return U.publicExtendedKey}function w({accountIndex:G}={}){let Z=G===void 0?U:B(G);if(!Z)return;let D=lo({accountIndex:G,chain:n,derivationPath:T});return{accountIndex:Ro(D),path:S.derivationPathToString(D),xpub:Z.publicExtendedKey}}function l({accountIndex:G,index:Z,change:D=!1}){let Q=G===void 0?U:B(G);if(!Q)return;let z=Vo({accountIndex:G,chain:n,change:D,derivationPath:T,index:Z}),x=Dn(n),k=Q.deriveChild(Number(D)).deriveChild(Z);if(!k.publicKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let u=ky({chain:n,network:x,publicKey:k.publicKey}),K=Wo.hex.encode(k.publicKey);return{accountIndex:Ro(z),address:u,change:D,index:Z,path:S.derivationPathToString(z),pubkey:K}}async function L(G){if(!uf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let Z=await Qn(n).getTransactionDetails(G);return{canReplace:Z.isRBF&&!Z.confirmed,confirmed:Z.confirmed,enabled:Z.isRBF,fee:Z.fee,sequences:Z.sequences,supported:!0}}async function N({txid:G,newFeeRate:Z,recipient:D,memo:Q}){if(!uf.includes(n))throw new S.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let z=await Qn(n).getTransactionDetails(G);if(!z.isRBF)throw new S.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:G});if(z.confirmed)throw new S.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:z.blockId,txid:G});let x=z.inputs.reduce((Gn,In)=>Gn+In.value,0),u=z.outputs.find((Gn)=>Gn.recipient===D)?.value||0;if(u===0)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let K=await Promise.all(z.inputs.map(async(Gn)=>{let In=await Qn(n).getRawTx(Gn.transaction_hash);return{hash:Gn.transaction_hash,index:Gn.index,txHex:In,value:Gn.value,witnessUtxo:void 0}})),e=Q?kn(Q):null,Tn=Fo({feeRate:Z,inputs:K.map((Gn)=>({...Gn,type:"P2WPKH"})),outputs:[{address:D,value:u}]}),on=Math.ceil(Tn*Z);if(on<=z.fee)throw new S.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:on,originalFee:z.fee});let Zn=on-z.fee,Bn=u-Zn;if(Bn<=0)throw new S.SwapKitError("toolbox_utxo_rbf_insufficient_change");let On=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),jn=[{address:D,value:Bn},...Q?[{address:"",script:kn(Q),value:0}]:[]],cn=x-Bn-on,Rn=await X();if(cn>Sy(n)&&Rn)jn.push({address:Rn,value:cn});return Bo({chain:n,compiledMemo:e,inputs:K,outputs:jn,sender:Rn||D,tx:On}),{feeDelta:Zn,newFee:on,originalFee:z.fee,tx:On}}async function J({txid:G,newFeeRate:Z,recipient:D,memo:Q}){if(!H)throw new S.SwapKitError("toolbox_utxo_no_signer");let{tx:z,originalFee:x,newFee:k}=await N({memo:Q,newFeeRate:Z,recipient:D,txid:G});H.signTransaction(z),z.finalize();let u=await Qn(n).broadcastTx(Wo.hex.encode(z.extract()));return{newFee:k,originalFee:x,txid:u}}function O({accountIndex:G,index:Z,change:D=!1}){bn("index",Z);let Q=G===void 0?U:B(G);if(!Q)return;return Q.deriveChild(Number(D)).deriveChild(Z).privateKey||void 0}function Y({tx:G,inputDerivations:Z}){if(!U)throw new S.SwapKitError("toolbox_utxo_no_signer");let D=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let Q=0;Q<Z.length;Q++){let z=Z[Q];if(!z)continue;let{derivationIndex:x,isChange:k}=z,u=O({change:k,index:x});if(!u)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${Q} at index ${x}`});G.signIdx(u,Q,D)}return G}async function q({utxos:G,recipient:Z,assetValue:D,memo:Q,feeRate:z,feeOptionKey:x,changeAddress:k}){if(!U)throw new S.SwapKitError("toolbox_utxo_no_signer");let u=z||(await ho(n))[x||S.FeeOption.Fast],K=Q?kn(Q):null,e=[{address:Z,value:D.getBaseValue("number")}];if(K)e.push({address:"",script:K,value:0});let Tn=G.map(({hash:Rn,index:Gn,value:In,txHex:NH,witnessUtxo:ft})=>({hash:Rn,index:Gn,txHex:NH,value:In,witnessUtxo:ft?{script:ft.script,value:ft.value}:void 0})),{inputs:on,outputs:Zn}=vn({chain:n,feeRate:u,inputs:Tn,outputs:e});if(!(on&&Zn))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:D,sender:"multiple addresses"});let Bn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),On=G[0]?.address,jn=k||await X()||On||Z;Bo({chain:n,compiledMemo:K,inputs:on,outputs:Zn,sender:jn,tx:Bn});let cn=on.map((Rn)=>{let Gn=G.find((In)=>In.hash===Rn.hash&&In.index===Rn.index);return Gn?{derivationIndex:Gn.derivationIndex,isChange:Gn.isChange}:{derivationIndex:0,isChange:!1}});return Y({inputDerivations:cn,tx:Bn}),Bn.finalize(),Qn(n).broadcastTx(Wo.hex.encode(Bn.extract()))}function M({address:G,gapLimit:Z=20}){if(!U)return;for(let D=0;D<Z;D++){let Q=l({change:!1,index:D}),z=l({change:!0,index:D}),x=Q?.address===G?!1:z?.address===G;if(Q?.address===G||z?.address===G)return{change:x,index:D}}return}return{accumulative:vn,broadcastTx:(G)=>Qn(n).broadcastTx(G),bumpFee:J,calculateTxSize:Fo,createKeysForPath:(G)=>io({...G,chain:n}),createReplacementTransaction:N,createTransaction:M1,deriveAddressAtIndex:l,derivePrivateKeyAtIndex:O,estimateMaxSendableAmount:a_(n),estimateTransactionFee:s_(n),getAddress:X,getAddressFromKeys:BT(n),getBalance:xn(n),getExtendedPublicKey:W,getExtendedPublicKeyInfo:w,getFeeRates:()=>ho(n),getInputsOutputsFee:L1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(G)=>g_(io({...G,chain:n}).privateKey,n),isRBFEnabled:L,keys:_,resolveDerivationIndex:M,signAndBroadcastTransaction:async(G)=>{if(!H)throw new S.SwapKitError("toolbox_utxo_no_signer");return H.signTransaction(G),G.finalize(),await Qn(n).broadcastTx(Wo.hex.encode(G.extract()))},signTransactionWithMultipleKeys:Y,transfer:n5(n,H),transferFromMultipleAddresses:q,validateAddress:WT(n)}}var W1,Wo,lT,Pf,S,m,GT,py,uf;var mo=p(()=>{dn();zy();jo();Fy();W1=require("@noble/curves/secp256k1.js"),Wo=require("@scure/base"),lT=require("@scure/bip32"),Pf=require("@scure/bip39"),S=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),GT=require("ts-pattern"),py=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash],uf=[S.Chain.Bitcoin]});function uy(n){return po(Oy(n))}function o5(n){let y=Dn(gn);function t(f){return f.sign(n.privateKey,[Wn.BCHSigHash.ALL]),f}function o(){let f=Wn.p2pkh(n.publicKey,y);if(!f.hash)throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let T=Wn.encodeCashAddr({hash:f.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH});return Promise.resolve(T.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:t}}function MT(n){let y="phrase"in n?n.phrase:void 0,t="index"in n?n.index||0:0,o=Xn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Xn.updateDerivationPath(Xn.NetworkDerivationPath[gn],{index:t})),f=y?io({chain:gn,derivationPath:o,phrase:y}):void 0,T=f?o5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(T?.getAddress())}let{getBalance:H,getFeeRates:A,broadcastTx:_,...X}=Mo({chain:gn});function B(U,W=!0){return H(po(Oy(U)))}return{...X,broadcastTx:_,buildTx:f5,createTransaction:Z1,getAddress:C,getAddressFromKeys:t5,getBalance:B,getFeeRates:A,stripPrefix:po,stripToCashAddress:uy,transfer:y5({broadcastTx:_,getFeeRates:A,signer:T}),validateAddress:Xo}}async function Z1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){if(!Xo(y))throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let T=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:T}),H=t?kn(t):null,A=[],_=yo(y);if(A.push({address:_,value:n.getBaseValue("number")}),H)A.push({script:H,value:0});let{inputs:X,outputs:B}=vn({chain:gn,feeRate:o,inputs:C,outputs:A});if(!(X&&B))throw new Xn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let U=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),W=yo(f),{inputs:w,tx:l}=Bo({chain:gn,compiledMemo:H,inputs:X,outputs:B.map((L)=>("address"in L)&&L.address?{...L,address:yo(L.address)}:L),sender:W,tx:U});return{inputs:w,tx:l,utxos:X}}function y5({broadcastTx:n,getFeeRates:y,signer:t}){return async function({recipient:f,assetValue:T,feeOptionKey:C=Xn.FeeOption.Fast,...H}){let A=await t?.getAddress();if(!(t&&A))throw new Xn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Xn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let _=H.feeRate||(await y())[C],{tx:X}=await Z1({...H,assetValue:T,feeRate:_,recipient:f,sender:A}),B=await t.signTransaction(X);return B.finalize(),n(Q1.hex.encode(B.extract()))}}async function f5({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){let T=Oy(y);if(!Xo(T))throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{address:T});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:C}),A=Number(o.toFixed(0)),_=t?kn(t):null,X=[];if(X.push({address:yo(y),value:n.getBaseValue("number")}),_)X.push({script:_,value:0});let{inputs:B,outputs:U}=vn({chain:gn,feeRate:A,inputs:H,outputs:X});if(!(B&&U))throw new Xn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let W=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:w,tx:l}=Bo({chain:gn,compiledMemo:_,inputs:B,outputs:U,sender:yo(f),tx:W});return{inputs:w,tx:l,utxos:H}}function t5(n){let y=Wn.NETWORKS.bitcoinCash,t=Wn.p2pkh(n.publicKey,y);if(!t.hash)throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Wn.encodeCashAddr({hash:t.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var Q1,Xn,Wn,gn;var If=p(()=>{jo();mo();Fy();Q1=require("@scure/base"),Xn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),gn=Xn.Chain.BitcoinCash});function Y1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function C5(n){return T5.encode(n)}function H5({phrase:n,derivationPath:y}){let t=QT.mnemonicToSeedSync(n),f=LT.HDKey.fromMasterSeed(t).derive(y);if(!f.privateKey||!f.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:T,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:A}=_n.SKConfig.get("envs"),_=A?new Uint8Array([29,37]):new Uint8Array([28,184]),X=new Uint8Array(_.length+H.length);X.set(_,0),X.set(H,_.length);let B=C5(X);return{getAddress:()=>Promise.resolve(B),signTransaction:(U)=>{if(U instanceof tn.PCZT)return U.signAllInputs(T,C,tn.ZcashSigHash.ALL),U.finalizeAllInputs(),Promise.resolve(U.extract());return U.signAllInputs(T,C,tn.ZcashSigHash.ALL),Promise.resolve(U)}}}function A5({inputs:n,outputs:y,tx:t,sender:o,compiledMemo:f}){let T=Y1();for(let C of n){let H=tn.Address(T).decode(o),A=tn.OutScript.encode(H);t.addInput({index:C.index,script:A,sequence:4294967295,txid:$f.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,A=C.script;if(A&&!f)continue;if(A&&f)t.addOutput({amount:0n,script:f});else t.addOutputAddress(H,BigInt(C.value),T)}return{inputs:n,tx:t}}async function J1(n){let{assetValue:y,recipient:t,memo:o,feeRate:f,sender:T,fetchTxHex:C}=n,H=o?kn(o):null,A=await Qn(_n.Chain.Zcash).getUtxos({address:T,fetchTxHex:C!==!1}),_=[{address:t,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:X,outputs:B}=vn({chain:_n.Chain.Zcash,changeAddress:T,feeRate:f,inputs:A,outputs:_});if(!(X&&B))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let U=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:W,inputs:w}=A5({compiledMemo:H,inputs:X,outputs:B,sender:T,tx:U});return{inputs:w,outputs:B,tx:W}}function ZT(n){let y=ro.match(n).with({signer:ro.P.not(ro.P.nullish)},({signer:A})=>A).with({phrase:ro.P.string},({phrase:A,derivationPath:_,index:X=0})=>{let B=_||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],U=_n.updateDerivationPath(B,{index:X}),W=_n.derivationPathToString(U);return H5({derivationPath:W,phrase:A})}).otherwise(()=>{return}),t=Mo({chain:_n.Chain.Zcash,signer:y});async function o({recipient:A,assetValue:_,feeOptionKey:X=_n.FeeOption.Fast,...B}){let U=await y?.getAddress();if(!(y&&U))throw new _n.SwapKitError("toolbox_utxo_no_signer");let W=B.feeRate||(await t.getFeeRates())[X],{tx:w}=await J1({...B,assetValue:_,feeRate:W,recipient:A,sender:U}),L=(await y.signTransaction(w)).toHex();return t.broadcastTx(L)}function f({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let X=QT.mnemonicToSeedSync(A),U=LT.HDKey.fromMasterSeed(X).derive(_);if(!U.privateKey||!U.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:U.privateKey,publicKey:U.publicKey}}function T({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let X=f({derivationPath:_,phrase:A}),B=Y1();return tn.WIF(B).encode(X.privateKey)}function C(A){return async function(X){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await A.signTransaction(X)}}function H(A){return async function(X){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");let B=await A.signTransaction(X);return t.broadcastTx(B.toHex())}}return{...t,createKeysForPath:f,createTransaction:J1,getPrivateKeyFromMnemonic:T,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:co}}var $f,LT,QT,_n,tn,ro,T5;var JT=p(()=>{jo();mo();Fy();$f=require("@scure/base"),LT=require("@scure/bip32"),QT=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),ro=require("ts-pattern");T5=$f.createBase58check(tn.utils.sha256)});function O1({xpub:n,chain:y,count:t,startIndex:o=0,accountIndex:f}){if(bn("count",t),t<1)throw RangeError("count must be at least 1");bn("startIndex",o);let T=Dn(y),C=z1.HDKey.fromExtendedKey(n,T.bip32),H=lo({accountIndex:f,chain:y}),A=Ro(H),_=[];for(let X of[!1,!0]){let B=C.deriveChild(Number(X));for(let U=0;U<t;U++){let W=o+U,w=B.deriveChild(W);if(!w.publicKey)continue;let l=Vo({accountIndex:f,chain:y,change:X,index:W});_.push({accountIndex:A,address:ky({chain:y,network:T,publicKey:w.publicKey}),change:X,index:W,path:D1.derivationPathToString(l),pubkey:N1.hex.encode(w.publicKey)})}}return _}var N1,z1,D1;var R1=p(()=>{zy();mo();N1=require("@scure/base"),z1=require("@scure/bip32"),D1=require("@swapkit/helpers")});function _5(n,y){switch(n){case fo.Chain.BitcoinCash:return MT(y||{});case fo.Chain.Zcash:return ZT(y);case fo.Chain.Bitcoin:case fo.Chain.Dogecoin:case fo.Chain.Litecoin:case fo.Chain.Dash:return Mo({chain:n,...y});default:throw new fo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var fo;var x1=p(()=>{If();mo();JT();zy();R1();If();Fy();fo=require("@swapkit/helpers")});var YT={};Mn(YT,{validateZcashAddress:()=>co,validateUtxoAddress:()=>XT,validateBchAddress:()=>Xo,toLegacyAddress:()=>yo,toCashAddress:()=>Oy,stripToCashAddress:()=>uy,stripPrefix:()=>po,nonSegwitChains:()=>py,isValidAddress:()=>UT,getUtxoToolbox:()=>_5,getUtxoNetwork:()=>I_,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>WT,getUTXOAddressPath:()=>Vo,getUTXOAccountPath:()=>lo,getUTXOAccountIndexFromPath:()=>Ro,getScriptTypeForAddress:()=>Ko,getOutputSize:()=>xy,getNetworkForChain:()=>Dn,getInputSize:()=>Go,getDustThreshold:()=>Sy,detectAddressNetwork:()=>wT,deriveAddressesFromXpub:()=>O1,createZcashToolbox:()=>ZT,createUTXOToolbox:()=>Mo,createHDWalletHelpers:()=>sC,createCustomUtxoApi:()=>P_,createBCHToolbox:()=>MT,compileMemo:()=>kn,calculateTxSize:()=>Fo,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>BT,addInputsAndOutputs:()=>Bo,accumulative:()=>vn,UtxoNetwork:()=>_T,UTXOScriptType:()=>pf,TX_OVERHEAD:()=>Sf,SEGWIT_MARKER_FLAG_WEIGHT:()=>Ff,OutputSizes:()=>Ry,OP_RETURN_OVERHEAD:()=>l1,MIN_TX_FEE:()=>i_,InputSizes:()=>xf});module.exports=Jn(YT);var NT=p(()=>{mo();zy();jo();x1();If();JT()});function Py(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function bf(n){let{parseSeedPhrase:y}=await import("near-seed-phrase"),{KeyPair:t}=await import("@near-js/crypto"),o=n.index||0,f=n.derivationPath?Ef.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=y(n.phrase,f),C=t.fromString(T);return p1(C)}async function zT(n){let{KeyPair:y}=await import("@near-js/crypto"),t=y.fromString(n);return p1(t)}function p1(n){return new F1(n)}async function vf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Ef.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),T=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:T}}var S1,Ef,F1;var DT=p(()=>{S1=require("@near-js/signers"),Ef=require("@swapkit/helpers");F1=class F1 extends S1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function OT(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function RT(n){return"contractId"in n&&"methodName"in n}function xT(n){return"actions"in n}function ST(n){return"newAccountId"in n}function FT(n){return"contractCode"in n}function pT(n){return"customEstimator"in n}function kT(n){let y=0;for(let t of n)switch(t.enum){case"transfer":y+=Number(Yn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Yn.CONTRACT_CALL);break;case"createAccount":y+=Number(Yn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Yn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Yn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Yn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Yn.STAKE);break;default:y+=Number(Yn.CONTRACT_CALL)}return y.toString()}function uT(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Yn.TOKEN_TRANSFER;if(n==="storage_deposit")return Yn.STORAGE_DEPOSIT;return Yn.CONTRACT_CALL}function U5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function w5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Yn;var PT=p(()=>{Yn={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 IT({account:n,contractId:y,viewMethods:t,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:t})}function q5(n){let y;async function t(){if(y)return y;return y=await go.match(n).with({phrase:go.P.string},async(Q)=>{return await bf(Q)}).with({signer:go.P.any},({signer:Q})=>Q).otherwise(()=>{return}),y}async function o(){let Q=await nn.getRPCUrl(nn.Chain.Near);return new k1.JsonRpcProvider({url:Q})}async function f(Q){let{Account:z}=await import("@near-js/accounts"),x=await o(),k=await t(),u=Q||await T();return new z(u,x,k)}async function T(){let Q=await t();if(!Q)throw new nn.SwapKitError("toolbox_near_no_signer");return await Q.getAddress()}async function C(Q){return(await Y({changeMethods:[],contractId:Q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Q.accountId})}async function H(Q){let x=[await U({args:{account_id:Q.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:Q.assetValue.getBaseValue("string"),memo:Q.memo||null,receiver_id:Q.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return q({actions:x,receiverId:Q.contractId})}async function A(Q){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:x,recipient:k,memo:u}=Q,K=await T();if(!x.isGasAsset&&x.address){if(!await C({accountId:k,contractId:x.address}))return H({assetValue:x,contractId:x.address,memo:u,recipient:k})}let e=await _({...Q,sender:K});return l(e)}async function _({recipient:Q,assetValue:z,memo:x,attachedDeposit:k,sender:u,functionCall:K}){let e=await o();if(!Py(Q))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:Q});if(!Py(u))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:u});if(K)return B({...K,sender:u});if(!z.isGasAsset){let In=z.address;if(!In)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return B({args:{amount:z.getBaseValue("string"),memo:x||null,receiver_id:Q},attachedDeposit:k||"1",contractId:In,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:Tn,nonce:on}=await vf(e,u),Zn=z.getBaseValue("bigint"),{actionCreators:Bn,createTransaction:On}=await import("@near-js/transactions"),{baseDecode:jn}=await import("@near-js/utils"),cn=[Bn.transfer(Zn)];if(x&&k)cn.push(Bn.functionCall("memo",{memo:x},BigInt("250000000000000"),BigInt(k)));let Rn=await e.block({finality:"final"}),Gn=jn(Rn.header.hash);return On(u,Tn,Q,on+1,cn,Gn)}function X(Q){let z=Q.encode();return Buffer.from(z).toString("base64")}async function B({args:Q,attachedDeposit:z,contractId:x,gas:k,methodName:u,sender:K}){let e=await o(),{publicKey:Tn,nonce:on}=await vf(e,K),{createTransaction:Zn,actionCreators:Bn}=await import("@near-js/transactions"),{baseDecode:On}=await import("@near-js/utils"),jn=await e.block({finality:"final"}),cn=On(jn.header.hash),Rn=[Bn.functionCall(u,Buffer.from(JSON.stringify(Q)),BigInt(k),BigInt(z))];return Zn(K,Tn,x,on+1,Rn,cn)}async function U(Q){let{actionCreators:z}=await import("@near-js/transactions");return z.functionCall(Q.methodName,Buffer.from(JSON.stringify(Q.args)),BigInt(Q.gas),BigInt(Q.attachedDeposit))}async function W(Q){let z=await t();if(!z)throw new nn.SwapKitError("toolbox_near_no_signer");let[x,k]=await z.signTransaction(Q);return k}async function w(Q){return(await(await o()).sendTransaction(Q)).transaction.hash}async function l(Q){let z=await t();if(!z)throw new nn.SwapKitError("toolbox_near_no_signer");try{let x=await W(Q);return await w(x)}catch{return z.signAndSendTransactions?.({transactions:[Q]})}}async function L(Q){let z=await t();if("assetValue"in Q){let k=await N();try{let u=await nn.getRPCUrl(nn.Chain.Near),K=await fetch(u,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:e}}=await K.json(),{execution:Tn,send_sir:on}=e.transaction_costs.action_receipt_creation_config,{execution:Zn,send_sir:Bn}=e.transaction_costs.action_creation_config.transfer_cost,On=BigInt(Bn)+BigInt(Zn),jn=BigInt(on)+BigInt(Tn),Rn=(On+jn)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:Rn})}catch(u){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",u);let K=BigInt("115123062500"),e=BigInt("108059500000"),on=(K+e)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:on})}}let x=z?await f():void 0;return M(Q,x)}async function N(){let Q=await o();try{return await Q.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function J(Q,z,x){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let u=await f(),{formatNearAmount:K}=await import("@near-js/utils"),{PublicKey:e}=await import("@near-js/crypto"),Tn=K(x)||"0";return(await u.createAccount(Q,e.fromString(z),BigInt(Tn))).transaction.hash}async function O(Q){let z=await t();try{if(!z)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:x}=await import("@near-js/transactions"),{contractId:k,methodName:u,args:K,deposit:e}=Q,Tn=await f(),on=await M({args:K||{},contractId:k,methodName:u}),Zn=x.functionCall(u,K||{},on.getBaseValue("bigint"),BigInt(e||"1"));return(await Tn.signAndSendTransaction({actions:[Zn],receiverId:k})).transaction_outcome.id}catch(x){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:x})}}async function Y(Q){let z=await f();return IT({account:z,changeMethods:Q.changeMethods,contractId:Q.contractId,viewMethods:Q.viewMethods})}async function q(Q){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");if(Q.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:Q.actions,receiverId:Q.receiverId})).transaction.hash}async function M(Q,z){let x=await go.match(Q).when(OT,()=>Yn.SIMPLE_TRANSFER).when(RT,(u)=>uT(u.methodName)).when(xT,(u)=>kT(u.actions)).when(ST,()=>Yn.ACCOUNT_CREATION).when(FT,()=>Yn.CONTRACT_DEPLOYMENT).when(pT,(u)=>{if(!z)throw new nn.SwapKitError("toolbox_near_no_account");return u.customEstimator(z)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(x)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function G(Q,z){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),M(Q,z)}async function Z(){let Q=await o();try{return(await Q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let Q=await t();return Q?(await Q.getPublicKey()).toString():""}return{broadcastTransaction:w,callFunction:O,createAction:U,createContract:Y,createContractFunctionCall:B,createSubAccount:J,createTransaction:_,estimateGas:G,estimateGasLimit:M,estimateTransactionFee:L,executeBatchTransaction:q,getAddress:T,getBalance:xn(nn.Chain.Near),getGasPrice:Z,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:bf,getSignerFromPrivateKey:zT,serializeTransaction:X,signAndBroadcastTransaction:l,signTransaction:W,transfer:A,validateAddress:Py}}var k1,nn,go;var $T=p(()=>{dn();DT();PT();k1=require("@near-js/providers"),nn=require("@swapkit/helpers"),go=require("ts-pattern")});var u1=p(()=>{$T()});var ET={};Mn(ET,{validateNearAddress:()=>Py,tgasToGas:()=>U5,isSimpleTransfer:()=>OT,isCustomEstimator:()=>pT,isContractDeployment:()=>FT,isContractCall:()=>RT,isBatchTransaction:()=>xT,isAccountCreation:()=>ST,getNearToolbox:()=>q5,getNearSignerFromPrivateKey:()=>zT,getNearSignerFromPhrase:()=>bf,getFullAccessPublicKey:()=>vf,getContractMethodGas:()=>uT,gasToTGas:()=>w5,estimateBatchGas:()=>kT,createNearContract:()=>IT,GAS_COSTS:()=>Yn});module.exports=Jn(ET);var bT=p(()=>{DT();PT();$T();u1()});var vT={};Mn(vT,{validateRadixAddress:()=>$1,getRadixToolbox:()=>B5});module.exports=Jn(vT);function $1(n){return n.startsWith("account_rdx1")&&n.length===66}function l5({networkApi:n}){return async function(t){let o=await G5({address:t,networkApi:n}),f=await X5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function G5({address:n,networkApi:y}){let t=!0,o,f=[],T=await W5(y);while(t){let C={address:n,at_ledger_state:{state_version:T},cursor:o,limit_per_page:100},H=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:C});if(f=f.concat(H.items),H.next_cursor)o=H.next_cursor;else t=!1}return f}async function X5({resources:n,networkApi:y}){let t=[],o=50,f=[];for(let T=0;T<n.length;T+=50)f.push(n.slice(T,T+50));for(let T of f){let C=T.map((_)=>_.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),A=new Map;for(let _ of H)if(_.details!==void 0){let X=_.metadata?.items.find((U)=>U.key==="symbol"),B=X?.value.typed.type==="String"?X.value.typed.value:"?";if(_.details.type==="FungibleResource")A.set(_.address,{decimals:_.details.divisibility,symbol:B})}for(let _ of T)if(_.aggregation_level==="Global"){let X=A.get(_.resource_address)||{decimals:0,symbol:"?"},B=Vn.AssetValue.from({asset:X.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${X.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});t.push(B)}}return t}async function W5(n){return(await n.status.getCurrent()).ledger_state.state_version}function B5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,t=I1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=P1.GatewayApiClient.initialize(t.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:l5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:$1}}var P1,I1,Vn;var VT=p(()=>{P1=require("@radixdlt/babylon-gateway-api-sdk"),I1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function Vf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Iy(n){if(Vf(n))return n.toUpperCase();if(n.length<=3){let t=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${t}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new E1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function M5(n){if(!Vf(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let t=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(t)&&t.length>0)return t}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),t=y.length%2===0?y:`${y}0`,o=Buffer.from(t,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function ao(n){if(Vf(n))return n.toUpperCase();if(n.length<=3)return n;return Iy(n)}var E1;var Kf=p(()=>{E1=require("@swapkit/helpers")});async function L5(n,y){let t=ao(n),o=cf.find((f)=>ao(f.currency)===t&&f.issuer===y);if(o)return o;try{let f=await jf.RequestClient.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){jf.warnOnce({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function Q5(n){return cf.filter((y)=>y.issuer===n)}function Z5(n,y){let t=ao(n);return cf.some((o)=>ao(o.currency)===t&&o.issuer===y)}var jf,cf;var b1=p(()=>{Kf();jf=require("@swapkit/helpers"),cf=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var KT={};Mn(KT,{validateRippleAddress:()=>mf,parseXrplTokenIdentifier:()=>K1,normalizeCurrency:()=>ao,isKnownToken:()=>Z5,isHexCurrency:()=>Vf,hexToCurrency:()=>M5,hashes:()=>c1.hashes,getXrplTokenInfo:()=>L5,getRippleToolbox:()=>Y5,getKnownTokensByIssuer:()=>Q5,formatXrplTokenIdentifier:()=>j1,currencyToHex:()=>Iy,XRPL_TOKEN_ERROR_CODES:()=>hf,XRPL_KNOWN_TOKENS:()=>cf});module.exports=Jn(KT);function K1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!to.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function j1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function J5(n){if(n.isGasAsset)return to.xrpToDrops(n.getValue("string"));let y=K1(n.toString());if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function V1(n){let y=to.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(t)=>Promise.resolve(y.sign(t))}}function mf(n){return to.isValidAddress(n)}function Y5(n={}){let y=so.match(n).with({phrase:so.P.string},({phrase:J})=>V1(J)).with({signer:so.P.any},({signer:J})=>J).otherwise(()=>{return}),t;async function o(){let J=await i.getRPCUrl(i.Chain.Ripple);if(!J)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let O=new to.Client(J);return await O.connect(),O}async function f(){if(t){let J=await t.catch(()=>null);if(J?.isConnected())return J}return t=o(),t}let T=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(J)=>{let O=J||await T(),{baseDecimal:Y}=i.getChainConfig(i.Chain.Ripple),q=await f();try{let[M,G]=await Promise.all([q.request({account:O,command:"account_info"}),q.request({account:O,command:"account_lines"})]),Z=M.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Y,value:Z})];for(let Q of G.result.lines){let z=j1(Q.currency,Q.account);if(Number.parseFloat(Q.balance)!==0)D.push(i.AssetValue.from({asset:z,asyncTokenLookup:!1,value:Q.balance}))}return D}catch(M){if(M.data?.error_code===v1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:O,error:M}})}},H=async()=>{let{baseDecimal:J}=i.getChainConfig(i.Chain.Ripple),q=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:q})};async function A(J){let O=J||await T(),Y=await f();try{return(await Y.request({account:O,command:"account_lines"})).result.lines.map((M)=>({account:M.account,authorized:M.authorized??!1,balance:M.balance,currency:M.currency,freeze:M.freeze??!1,freezePeer:M.freeze_peer??!1,limit:M.limit,limitPeer:M.limit_peer,noRipple:M.no_ripple??!1,noRipplePeer:M.no_ripple_peer??!1,peerAuthorized:M.peer_authorized??!1,qualityIn:M.quality_in??0,qualityOut:M.quality_out??0}))}catch(q){if(q.data?.error_code===v1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:O,error:q}})}}async function _({address:J,currency:O,issuer:Y}){let q=await A(J),M=Iy(O);return q.some((G)=>{return Iy(G.currency)===M&&G.account===Y})}async function X({currency:J,issuer:O,limit:Y,sender:q}){let M=q||await T();if(!mf(O))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:O}});let G=Number.parseFloat(Y);if(Number.isNaN(G)||G<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:Y}});let Z=await f(),D={Account:M,LimitAmount:{currency:J,issuer:O,value:Y},TransactionType:"TrustSet"};return Z.autofill(D)}async function B({assetValue:J,recipient:O,memo:Y,sender:q,destinationTag:M,extendBySeconds:G=150}){if(!mf(O))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Z=q||await T();if(J.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let D=J5(J),Q={Account:Z,Amount:D,Destination:O,TransactionType:"Payment",...M!==void 0&&{DestinationTag:M}};if(Y)Q.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];let x=await(await f()).autofill(Q);if(x.LastLedgerSequence&&G>0)x.LastLedgerSequence+=Math.ceil(G/4);return x}function U(J){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(J)}async function W(J){let Y=await(await f()).submitAndWait(J),{result:q}=Y;if(q.validated)return q.hash;let M=q.meta?.TransactionResult,G=so.match(M).with(hf.tecNO_LINE,()=>"No trust line exists for this token").with(hf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(hf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...G?{reason:G}:{txResult:M}}})}let w=async(J)=>{try{let O=await U(J);return W(O.tx_blob)}catch(O){if(O instanceof i.SwapKitError)throw O;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:O}})}};async function l(J){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let O=await y.getAddress(),Y=await B({...J,sender:O}),q=await U(Y);return W(q.tx_blob)}async function L(J){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let O=await y.getAddress(),Y=await X({...J,sender:O}),q=await U(Y);return W(q.tx_blob)}function N(){let J=t;if(t=null,J)J.then((O)=>{if(O?.isConnected())return O.disconnect();return}).catch((O)=>{console.warn("XRPL Cleanup failed silently:",O)})}return{broadcastTransaction:W,createSigner:V1,createTransaction:B,disconnect:N,estimateTransactionFee:H,getAddress:T,getBalance:C,getTrustLines:A,hasTrustLine:_,setTrustLine:X,setTrustLineAndBroadcast:L,signAndBroadcastTransaction:w,signTransaction:U,transfer:l,validateAddress:mf}}var i,so,to,c1,v1,hf;var jT=p(()=>{Kf();i=require("@swapkit/helpers"),so=require("ts-pattern"),to=require("xrpl");Kf();b1();c1=require("xrpl"),v1={ACCOUNT_NOT_FOUND:19},hf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function cT(n,y){let t=0n,o=0n,f=y;while(f<n.length&&f-y<10){let T=n[f++];if(T===void 0)break;if(t|=BigInt(T&127)<<o,o+=7n,(T&128)===0)return[t,f]}throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}function $y(n){let y=[],t=n<0n?n+2n**64n:n;while(t>=128n)y.push(Number(t&0x7fn)|128),t>>=7n;return y.push(Number(t)),y}function rf(n,y,t){let o=n.get(y);if(o)o.push(t);else n.set(y,[t])}function O5(n){let y=new Map,t=0;while(t<n.length){let[o,f]=cT(n,t);t=f;let T=Number(o>>3n),C=Number(o&7n);if(C===gf){let[H,A]=cT(n,t);t=A,rf(y,T,{data:new Uint8Array($y(H)),wireType:gf})}else if(C===df){let[H,A]=cT(n,t);t=A;let _=Number(H);if(_<0||t+_>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let X=n.slice(t,t+_);t+=_,rf(y,T,{data:X,wireType:df})}else if(C===i1){if(t+8>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+8);t+=8,rf(y,T,{data:H,wireType:i1})}else if(C===h1){if(t+4>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+4);t+=4,rf(y,T,{data:H,wireType:h1})}else throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function R5(n){let y=[];for(let[T,C]of[...n.entries()].sort(([H],[A])=>H-A))for(let{wireType:H,data:A}of C){let _=BigInt(T<<3|H);if(y.push(new Uint8Array($y(_))),H===df)y.push(new Uint8Array($y(BigInt(A.length))));y.push(A)}let t=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(t),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function r1(n,y){if(!n||n.length%2!==0)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let t=eo.hexToBytes(n),o=O5(t);if(y.expiration!==void 0)o.set(N5,[{data:new Uint8Array($y(BigInt(y.expiration))),wireType:gf}]);if(y.data!==void 0)o.set(z5,[{data:eo.hexToBytes(y.data),wireType:df}]);if(y.fee_limit!==void 0)o.set(D5,[{data:new Uint8Array($y(BigInt(y.fee_limit))),wireType:gf}]);let f=R5(o),T=eo.bytesToHex(f),C=eo.bytesToHex(m1.sha256(f));return{raw_data_hex:T,txID:C}}var m1,eo,ko,gf=0,i1=1,df=2,h1=5,N5=8,z5=10,D5=18;var g1=p(()=>{m1=require("@noble/hashes/sha2.js"),eo=require("@noble/hashes/utils.js"),ko=require("@swapkit/helpers")});function Kn(n){if(typeof n!=="string")return!1;try{let y=af.decode(n);return y.length===21&&y[0]===s1}catch{return!1}}function e1(n){return Pn.bytesToHex(af.decode(n))}function S5(n){return af.decode(n).slice(1)}function nH(n){let y=iT.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),t=d1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=s1,o.set(t,1),af.encode(o)}function oH({txID:n,privateKey:y}){let t=iT.secp256k1.sign(Pn.hexToBytes(n),Pn.hexToBytes(y),{format:"recovered",prehash:!1}),o=t[0]??0,f=Pn.bytesToHex(t.slice(1,33)),T=Pn.bytesToHex(t.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+T+C}function ny({txID:n,raw_data_hex:y}){let t=Pn.bytesToHex(hT.sha256(Pn.hexToBytes(y)));if(n!==t)throw new mT.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:t,txID:n})}function F5(n){return`000000000000000000000000${Pn.bytesToHex(S5(n))}`}function p5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=x5)throw new mT.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function oy(n){return n.map(({type:y,value:t})=>y==="address"?F5(t):p5(BigInt(t))).join("")}function yH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var iT,hT,d1,Pn,a1,mT,af,s1=65,x5;var rT=p(()=>{iT=require("@noble/curves/secp256k1.js"),hT=require("@noble/hashes/sha2.js"),d1=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),a1=require("@scure/base"),mT=require("@swapkit/helpers"),af=a1.createBase58check(hT.sha256),x5=2n**256n});function tH(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return fH}}function TH(){let n=new AbortController,y=setTimeout(()=>n.abort(),I5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function yy(n,y){let{signal:t,cleanup:o}=TH();try{let f=await fetch(`${tH()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:t});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function CH(n,y){let{signal:t,cleanup:o}=TH();try{let f=await fetch(`${y??tH()}${n}`,{headers:{"Content-Type":"application/json"},signal:t});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function HH(n){if(!Kn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await CH(`/v1/accounts/${n}`,fH);if(!(y.success&&y.data)||y.data.length===0)return;let t;try{t=e1(n).toLowerCase()}catch{t=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===t);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof ln.SwapKitError)throw y;throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function AH({from:n,to:y,amount:t}){let f=await yy("/wallet/createtransaction",{amount:t,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==t)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return ny(f),f}async function _H({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o,feeLimit:f,callValue:T=0}){let C=await yy("/wallet/triggersmartcontract",{call_value:T,contract_address:y,fee_limit:f,function_selector:t,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let A=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(A?.contract_address!==y||A?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return ny(C.transaction),C.transaction}function UH({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o}){return yy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:t,owner_address:n,parameter:o,visible:!0})}async function Ey(n){try{let{result:y,txid:t}=await yy("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!t)throw new ln.SwapKitError("toolbox_tron_token_transfer_failed");return t}catch(y){throw new ln.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function sf(){let n={};try{let{chainParameter:y}=await CH("/wallet/getchainparameters");for(let t of y)n[t.key]=t.value}catch(y){ln.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??k5,createAccountFee:n.getCreateAccountFee??u5,energyFee:n.getEnergyFee??P5}}async function gT(n){try{let y=await yy("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return ln.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function dT(n){try{let y=await yy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function aT(n){try{let{energy_used:y}=await UH({...n,ownerAddress:n.sender});return y}catch(y){return ln.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function wH({assetAddress:n,owner:y,spender:t}){let o=oy([{type:"address",value:y},{type:"address",value:t}]),T=(await UH({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:t,parameter:o})).constant_result?.[0];if(!T)return 0n;try{return BigInt(`0x${T}`)}catch{return 0n}}var ln,fH="https://api.trongrid.io",k5=1000,u5=1e5,P5=420,I5=30000;var qH=p(()=>{rT();ln=require("@swapkit/helpers")});function MH({phrase:n,derivationPath:y}){let t=XH.HDKey.fromMasterSeed(WH.mnemonicToSeedSync(n)).derive(y);if(!t.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return GH.bytesToHex(t.privateKey)}function LH({phrase:n,derivationPath:y,index:t}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:t||0}));return MH({derivationPath:o,phrase:n})}function V5({phrase:n,derivationPath:y}){let t=MH({derivationPath:y,phrase:n}),o=nH(t);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{ny(f);let T=oH({privateKey:t,txID:f.txID});return Promise.resolve({...f,signature:[T]})}}}function lH({transaction:n,memo:y,expiration:t,feeLimit:o}){let f={},T={};if(o!==void 0&&n.raw_data)f.fee_limit=o,T.fee_limit=o;if(y){let A=yH(y);f.data=A,T.data=A}if(t){let A=n.raw_data.expiration+t*1000;f.expiration=A,T.expiration=A}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=r1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...T},raw_data_hex:C,txID:H}}function QH(n={}){let y="index"in n?n.index||0:0,t=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:y})),o,f=!1;function T(){if(f)return Promise.resolve(o);return o=fy.match(n).with({phrase:fy.P.string},({phrase:q})=>V5({derivationPath:t,phrase:q})).with({signer:fy.P.not(fy.P.nullish)},({signer:q})=>q).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let q=await T();if(!q)throw new E.SwapKitError("toolbox_tron_no_signer");return q.getAddress()}async function H(q){let M=q||E5,G=await sf(),Z=M*G.energyFee,D=Math.ceil(Z*1.5);return Math.min(Math.max(D,1e7),150000000)}async function A({contractAddress:q,functionSelector:M,parameter:G,sender:Z,memo:D,expiration:Q}){let z=await aT({contractAddress:q,functionSelector:M,parameter:G,sender:Z}),x=await H(z),k=await _H({contractAddress:q,feeLimit:x,functionSelector:M,ownerAddress:Z,parameter:G});return lH({expiration:Q,feeLimit:x,memo:D,transaction:k})}async function _(q){if(!Kn(q))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let M=await HH(q);if(!M)return[E.AssetValue.from({chain:E.Chain.Tron})];let G=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(M.balance)})],Z=M.trc20?.find((D)=>(sT in D));if(Z){let D=Z[sT];G.push(E.AssetValue.from({asset:`TRON.USDT-${sT}`,fromBaseDecimal:6,value:D}))}return G}catch(M){return E.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${M instanceof Error?M.message:M}`}),[E.AssetValue.from({chain:E.Chain.Tron})]}}async function X({recipient:q,assetValue:M,memo:G,expiration:Z}){if(!Kn(q))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await T();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");try{let Q=await C(),z=await l({assetValue:M,expiration:Z,memo:G,recipient:q,sender:Q}),x=await D.signTransaction(z),k=await Ey(x);if(!k)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(Q){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:Q instanceof Error?Q.message:String(Q)})}}function B({requiredBandwidth:q,resources:M,feePerUnit:G}){let Z=Math.max(0,M.free+M.total-M.used);return q>Z?(q-Z)*G:0}async function U({recipient:q,senderAddress:M}){let[G,Z,D]=await Promise.all([sf(),dT(q),gT(M)]),Q=Z?0:G.createAccountFee,z=B({feePerUnit:G.bandwidthFee,requiredBandwidth:$5,resources:D.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:Q+z})}async function W({assetValue:q,recipient:M,senderAddress:G}){let Z=q.address;if(!Z)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:q.toString()});let[D,Q,z,x]=await Promise.all([sf(),dT(M),gT(G),aT({contractAddress:Z,functionSelector:"transfer(address,uint256)",parameter:oy([{type:"address",value:M},{type:"uint256",value:q.getBaseValue("string")}]),sender:G})]),k=Q?0:D.createAccountFee,u=B({feePerUnit:D.bandwidthFee,requiredBandwidth:b5,resources:z.bandwidth}),K=Math.max(0,z.energy.total-z.energy.used),e=x>K?(x-K)*D.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:k+u+e})}async function w({assetValue:q,recipient:M,sender:G}){let Z=await T();try{let D=G?G:Z?await C():void 0;if(!D)return q.isGasAsset?E.AssetValue.from({chain:E.Chain.Tron,value:0.1}):E.AssetValue.from({chain:E.Chain.Tron,value:15});return q.isGasAsset?U({recipient:M,senderAddress:D}):W({assetValue:q,recipient:M,senderAddress:D})}catch(D){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:D})}}async function l({recipient:q,assetValue:M,memo:G,sender:Z,expiration:D}){if(!Kn(q)||!Kn(Z))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(M.isGasAsset){let z=await AH({amount:M.getBaseValue("number"),from:Z,to:q});return lH({expiration:D,memo:G,transaction:z})}let Q=M.address;if(!Q)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:M.toString()});return A({contractAddress:Q,expiration:D,functionSelector:"transfer(address,uint256)",memo:G,parameter:oy([{type:"address",value:q},{type:"uint256",value:M.getBaseValue("string")}]),sender:Z})}async function L(q){ny(q);let M=await T();if(!M)throw new E.SwapKitError("toolbox_tron_no_signer");return M.signTransaction(q)}async function N(q){let M=await L(q);return Ey(M)}function J({assetAddress:q,spenderAddress:M,from:G}){return wH({assetAddress:q,owner:G,spender:M})}async function O({assetAddress:q,spenderAddress:M,from:G,amount:Z}){let D=await J({assetAddress:q,from:G,spenderAddress:M});if(!Z)return D>0n;return D>=BigInt(Z)}async function Y({assetAddress:q,spenderAddress:M,amount:G,from:Z}){if(!Kn(q)||!Kn(M))throw new E.SwapKitError("toolbox_tron_approve_failed");let D=await T();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");let Q=Z||await C(),z=G!==void 0?BigInt(G).toString():v5;try{let x=await A({contractAddress:q,functionSelector:"approve(address,uint256)",parameter:oy([{type:"address",value:M},{type:"uint256",value:z}]),sender:Q}),k=await D.signTransaction(x),u=await Ey(k);if(!u)throw new E.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof E.SwapKitError)throw x;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:Y,broadcastTransaction:Ey,createTransaction:l,estimateTransactionFee:w,getAddress:C,getApprovedAmount:J,getBalance:_,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:O,signAndBroadcastTransaction:N,signTransaction:L,transfer:X,validateAddress:Kn}}var GH,XH,WH,E,fy,BH,$5=268,E5=65000,b5=345,sT="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",v5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var ZH=p(()=>{g1();qH();rT();GH=require("@noble/hashes/utils.js"),XH=require("@scure/bip32"),WH=require("@scure/bip39"),E=require("@swapkit/helpers"),fy=require("ts-pattern"),BH=Kn});var eT={};Mn(eT,{validateTronAddress:()=>BH,getTronToolbox:()=>QH,getTronPrivateKeyFromMnemonic:()=>LH});module.exports=Jn(eT);var n0=p(()=>{ZH()});function nt(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return K5.test(n)}async function j5(n){if(!nt(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function JH(n={}){let y,t=n.derivationPath||d.NetworkDerivationPath[d.Chain.Stellar],o=d.derivationPathToString(t.slice(0,3));async function f({phrase:l,path:L}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:J}=await import("@scure/bip39"),{Keypair:O}=await import("@stellar/stellar-sdk"),Y=J(l),M=N.fromMasterSeed(Y).derive(L,!0);return O.fromRawEd25519Seed(Buffer.from(M.privateKey))}async function T(){if(y)return y;let l=ef.match(n).with({phrase:ef.P.string},({phrase:L})=>L).otherwise(()=>{return});if(!l)throw new d.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:l}),y}async function C(){let{Horizon:l}=await import("@stellar/stellar-sdk"),L=await d.getRPCUrl(d.Chain.Stellar);return new l.Server(L)}async function H(){try{return(await T()).publicKey()}catch{return""}}async function A(l){let L=l||await H();if(!L)throw new d.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(L)).balances.map((O)=>{if(O.asset_type==="native")return d.AssetValue.from({chain:d.Chain.Stellar,value:O.balance});let Y="asset_code"in O?O.asset_code:"",q="asset_issuer"in O?O.asset_issuer:"";return d.AssetValue.from({asset:`${d.Chain.Stellar}.${Y}-${q}`,asyncTokenLookup:!1,value:O.balance})})}catch{return[d.AssetValue.from({chain:d.Chain.Stellar,value:0})]}}async function _({recipient:l,assetValue:L,memo:N,sender:J}){if(N){if(new TextEncoder().encode(N).length>28)throw new d.SwapKitError("helpers_invalid_memo_type")}if(!await j5(l))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let Y=J||await H();if(!Y)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:q,Memo:M,Networks:G,Operation:Z,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),Q=await C(),z=await Q.fetchBaseFee(),x=await Q.loadAccount(Y),k=new D(x,{fee:String(z),networkPassphrase:G.PUBLIC});if(L.isGasAsset)try{await Q.loadAccount(l),k.addOperation(Z.payment({amount:L.getValue("string"),asset:q.native(),destination:l}))}catch{k.addOperation(Z.createAccount({destination:l,startingBalance:L.getValue("string")}))}else k.addOperation(Z.payment({amount:L.getValue("string"),asset:new q(L.symbol,L.address),destination:l}));if(N)k.addMemo(M.text(N));return k.setTimeout(30).build()}async function X(l){let{TransactionBuilder:L,Networks:N}=await import("@stellar/stellar-sdk"),J=await T(),O=L.fromXDR(l.toXDR(),N.PUBLIC);return O.sign(J),O}async function B(l){try{let L=await C(),{hash:N}=await L.submitTransaction(l);return N}catch(L){throw new d.SwapKitError("toolbox_stellar_broadcast_error",L)}}async function U({recipient:l,assetValue:L,memo:N}){let J=await T(),O=J.publicKey(),Y=await _({assetValue:L,memo:N,recipient:l,sender:O});Y.sign(J);try{return(await(await C()).submitTransaction(Y)).hash}catch(q){if(q instanceof d.SwapKitError)throw q;throw new d.SwapKitError("toolbox_stellar_transaction_failed",q)}}async function W(l){let L=await X(l);return B(L)}async function w(){let{baseDecimal:l}=d.getChainConfig(d.Chain.Stellar);try{let J=(await(await C()).feeStats()).fee_charged.p50;return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:l,value:J})}catch{return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:l,value:"100"})}}return{broadcastTransaction:B,createTransaction:_,estimateTransactionFee:w,getAddress:H,getBalance:A,signAndBroadcastTransaction:W,signTransaction:X,transfer:U,validateAddress:nt}}var d,ef,K5;var YH=p(()=>{d=require("@swapkit/helpers"),ef=require("ts-pattern"),K5=/^G[A-Z2-7]{55}$/});var ot={};Mn(ot,{validateStellarAddress:()=>nt,getStellarToolbox:()=>JH});module.exports=Jn(ot);var yt=p(()=>{YH()});var h5={};Mn(h5,{getToolbox:()=>o0,getFeeEstimator:()=>i5,getAddressValidator:()=>c5});module.exports=Jn(h5);var $=require("@swapkit/helpers");async function c5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (vy(),by)),{validateEVMAddress:t}=await Promise.resolve().then(() => (Ot(),I0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (Ft(),St)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (lf(),qf)),{validateHyperCoreAddress:T}=await Promise.resolve().then(() => (st(),at)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (fT(),yT)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Zf(),Qf)),{validateSuiAddress:A}=await Promise.resolve().then(() => (Yf(),Jf)),{validateTonAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{getUTXOAddressValidator:X}=await Promise.resolve().then(() => (NT(),YT)),{validateNearAddress:B}=await Promise.resolve().then(() => (bT(),ET)),{validateRadixAddress:U}=await Promise.resolve().then(() => (VT(),vT)),{validateRippleAddress:W}=await Promise.resolve().then(() => (jT(),KT)),{validateTronAddress:w}=await Promise.resolve().then(() => (n0(),eT)),{validateStellarAddress:l}=await Promise.resolve().then(() => (yt(),ot));return function({address:N,chain:J}){return n(J).with(...$.EVMChains,()=>t(N)).with(...$.UTXOChains,(Y)=>{return X(Y)(N)}).with(...$.CosmosChains,(Y)=>{return f(Y)(N)}).with($.Chain.Aptos,()=>y(N)).with($.Chain.Radix,()=>U(N)).with($.Chain.HyperCore,()=>T(N)).with($.Chain.Near,()=>B(N)).with($.Chain.Ripple,()=>W(N)).with($.Chain.Solana,()=>C(N)).with($.Chain.Stellar,()=>l(N)).with($.Chain.Starknet,()=>H(N)).with($.Chain.Sui,()=>A(N)).with($.Chain.Ton,()=>_(N)).with($.Chain.Tron,()=>w(N)).with($.Chain.Cardano,()=>o(N)).otherwise(()=>!1)}}function i5(n){return async function(t){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let T=await o0(f),C=await T.createTransaction(t),H="feeOptionKey"in t?t.feeOptionKey:$.FeeOption.Fast;return T.estimateTransactionFee({...C,feeOption:H})}).with($.Chain.Bitcoin,$.Chain.BitcoinCash,$.Chain.Dogecoin,$.Chain.Dash,$.Chain.Litecoin,$.Chain.Solana,$.Chain.Ripple,$.Chain.Tron,$.Chain.Near,$.Chain.Cardano,$.Chain.HyperCore,async(f)=>{return(await o0(f)).estimateTransactionFee(t)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (vy(),by));return f().estimateTransactionFee(t)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Zf(),Qf));return(await f()).estimateTransactionFee(t)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (yt(),ot));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Yf(),Jf));return f().estimateTransactionFee(t)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(t)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (lf(),qf));return f(t)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function o0(n,y){let{match:t}=await import("ts-pattern");return t(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (Dt(),k0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (NT(),YT));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (lf(),qf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (vy(),by));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (st(),at));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (VT(),vT));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (jT(),KT));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (fT(),yT));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (yt(),ot));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Zf(),Qf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Yf(),Jf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (n0(),eT));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (bT(),ET));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (Ft(),St));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}
|