@swapkit/toolboxes 4.16.0 → 4.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var I5=Object.create;var{getPrototypeOf:P5,defineProperty:Un,getOwnPropertyNames:AC,getOwnPropertyDescriptor:p5}=Object,qC=Object.prototype.hasOwnProperty;function GC(y){return this[y]}var t5,E5,U0=(y,n,o)=>{var f=y!=null&&typeof y==="object";if(f){var T=n?t5??=new WeakMap:E5??=new WeakMap,C=T.get(y);if(C)return C}o=y!=null?I5(P5(y)):{};let H=n||!y||!y.__esModule?Un(o,"default",{value:y,enumerable:!0}):o;for(let U of AC(y))if(!qC.call(H,U))Un(H,U,{get:GC.bind(y,U),enumerable:!0});if(f)T.set(y,H);return H},wy=(y)=>{var n=(_C??=new WeakMap).get(y),o;if(n)return n;if(n=Un({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of AC(y))if(!qC.call(n,f))Un(n,f,{get:GC.bind(y,f),enumerable:!(o=p5(y,f))||o.enumerable})}return _C.set(y,n),n},_C;var V5=(y)=>y;function b5(y,n){this[y]=V5.bind(null,n)}var By=(y,n)=>{for(var o in n)Un(y,o,{get:n[o],enumerable:!0,configurable:!0,set:b5.bind(n,o)})};var p=(y,n)=>()=>(y&&(n=y(y=0)),n);function Ef(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let n=y.slice(2);if(n.length===0||n.length>64)return!1;return v5.test(n)}function WC({derivationPath:y,provider:n,...o}={}){let f,T=h.derivationPathToString(y||h.NetworkDerivationPath[h.Chain.Aptos],{allHardened:!0});async function C(){if(f)return f;return f=await Nf.match(o).with({phrase:Nf.P.string},async({phrase:X})=>{let{Ed25519Account:Y}=await import("@aptos-labs/ts-sdk");return Y.fromDerivationPath({mnemonic:X,path:T})}).with({signer:Nf.P.any},({signer:X})=>X).otherwise(()=>{return}),f}async function H(){let{Aptos:X,AptosConfig:Y}=await import("@aptos-labs/ts-sdk"),w=new Y({fullnode:n||h.getRPCUrlSync(h.Chain.Aptos)});return new X(w)}async function U(){return(await C())?.accountAddress.toString()||""}async function _(X){let Y=X||await U();if(!Y)throw new h.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:w,chain:L}=h.getChainConfig(h.Chain.Aptos);try{let O=await H(),N=await O.getAccountAPTAmount({accountAddress:Y}),z=[h.AssetValue.from({chain:L,fromBaseDecimal:w,value:N.toString()})],J=await O.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Y}}}});for(let M of J){if(M.asset_type===zf.COIN_TYPE||Number(M.amount)<=0)continue;let D=M.asset_type;if(D){let R=("metadata"in M&&typeof M.metadata==="object"&&M.metadata!==null?M.metadata:void 0)?.decimals??w;z.push(h.AssetValue.from({asset:`${h.Chain.Aptos}.APT-${D}`,fromBaseDecimal:R,value:String(M.amount)}))}}return z}catch{return[h.AssetValue.from({chain:L})]}}async function A(X){if(!X){let{baseDecimal:J}=h.getChainConfig(h.Chain.Aptos),M=n||h.getRPCUrlSync(h.Chain.Aptos),D=await fetch(`${M}/estimate_gas_price`),{gas_estimate:S}=await D.json();return h.AssetValue.from({chain:h.Chain.Aptos,fromBaseDecimal:J,value:String(S)})}let Y=await C();if(!Y)throw new h.SwapKitError("toolbox_aptos_no_signer");let w=await Q(X),L=await H(),[O]=await L.transaction.simulate.simple({signerPublicKey:Y.publicKey,transaction:w});if(!O)throw new h.SwapKitError("toolbox_aptos_transaction_creation_error");let N=BigInt(O.gas_used)*BigInt(O.gas_unit_price),{baseDecimal:z}=h.getChainConfig(h.Chain.Aptos);return h.AssetValue.from({chain:h.Chain.Aptos,fromBaseDecimal:z,value:N.toString()})}async function Q({recipient:X,assetValue:Y,maxGasAmount:w,sender:L}){if(!Ef(X))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let O=L||await U();if(!O)throw new h.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:N}=await import("@aptos-labs/ts-sdk"),z=await H(),J=N.from(O);try{let M=Y.isGasAsset?zf.TRANSFER:zf.FUNGIBLE_STORE_TRANSFER,D=Nf.match({address:Y?.address,isGasAsset:Y.isGasAsset}).with({isGasAsset:!0},()=>[N.from(X),Y.getBaseValue("bigint")]).with({address:Nf.P.string},({address:S})=>[N.from(S),N.from(X),Y.getBaseValue("bigint")]).otherwise(()=>null);if(!D)throw new h.SwapKitError("toolbox_aptos_missing_asset_type");return z.transaction.build.simple({data:{function:M,functionArguments:D,typeArguments:Y.isGasAsset?[]:[zf.FUNGIBLE_ASSET_METADATA]},options:w?{maxGasAmount:w}:void 0,sender:J})}catch(M){if(M instanceof h.SwapKitError)throw M;throw new h.SwapKitError("toolbox_aptos_transaction_creation_error",M)}}async function Z(X){let Y=await C();if(!Y)throw new h.SwapKitError("toolbox_aptos_no_signer");return(await H()).transaction.sign({signer:Y,transaction:X})}async function G({assetValue:X,maxGasAmount:Y,recipient:w}){let L=await C();if(!L)throw new h.SwapKitError("toolbox_aptos_no_signer");if(!Ef(w))throw new h.SwapKitError("core_transaction_invalid_recipient_address");try{let O=L.accountAddress.toString(),N=await Q({assetValue:X,maxGasAmount:Y,recipient:w,sender:O});return(await(await H()).signAndSubmitTransaction({signer:L,transaction:N})).hash}catch(O){if(O instanceof h.SwapKitError)throw O;throw new h.SwapKitError("toolbox_aptos_transaction_creation_error",O)}}async function q({senderAuthenticator:X,transaction:Y}){try{return(await(await H()).transaction.submit.simple({senderAuthenticator:X,transaction:Y})).hash}catch(w){throw new h.SwapKitError("toolbox_aptos_broadcast_error",w)}}async function W(X){let Y=await Z(X);return q({senderAuthenticator:Y,transaction:X})}return{broadcastTransaction:q,createTransaction:Q,estimateTransactionFee:A,getAddress:U,getBalance:_,signAndBroadcastTransaction:W,signTransaction:Z,transfer:G,validateAddress:Ef}}function XC({provider:y}){return async function({assetValue:o,recipient:f}){if(!Ef(f))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:T}=await import("@aptos-labs/ts-sdk");if(o.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[T.from(f).toString(),o.getBaseValue("string")],function:zf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let C=o.address;if(!C)throw new h.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[C,T.from(f).toString(),o.getBaseValue("string")],function:zf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[zf.FUNGIBLE_ASSET_METADATA]})).hash}}var h,Nf,zf,v5;var QC=p(()=>{h=require("@swapkit/helpers"),Nf=require("ts-pattern"),zf={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"},v5=/^[0-9a-fA-F]+$/});var Kn={};By(Kn,{validateAptosAddress:()=>Ef,getAptosToolbox:()=>WC,createAptosExtensionTransfer:()=>XC});module.exports=wy(Kn);var hn=p(()=>{QC()});function ZC(){function y(){let n=Date.now(),o=_0||n;return _0=o,n>_0?n:o+1}return u5+y().toString(36)}function ly(y){return async function(o,f=!0){let T=await JC.SwapKitApi.getChainBalance({address:o,chain:y,scamFilter:f}),{baseDecimal:C}=_n.getChainConfig(y),H=T.map(({identifier:_,value:A,decimal:Q})=>{return new _n.AssetValue({decimal:Q||C,identifier:_,value:A})});if(!H.some((_)=>_.isGasAsset))return[_n.AssetValue.from({chain:y}),...H];return H}}var _n,JC,u5,_0=0;var sy=p(()=>{_n=require("@swapkit/helpers"),JC=require("@swapkit/helpers/api"),u5=typeof process<"u"&&process.pid?process.pid.toString(36):""});function An(y){return{getBalance:ly(y)}}function j5(y){return y}var mn=p(()=>{sy()});function MC(y){return new Of.JsonRpcProvider(y)}async function X0(y,n){return MC(n||await s.getRPCUrl(y))}function qn(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function Q0(y){let{explorerUrl:n,chainIdHex:o,rpcUrls:f}=s.getChainConfig(y);return function(){return y!==s.Chain.Ethereum?{...K5({chain:y}),blockExplorerUrls:[n],chainId:o,rpcUrls:f}:void 0}}function J0(y){return![s.Chain.Adi,s.Chain.Arbitrum,s.Chain.BinanceSmartChain].includes(y)}function K5({chain:y}){let{name:n,nativeCurrency:o,baseDecimal:f}=s.getChainConfig(y);return W0.match(y).with(s.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:s.Chain.Ethereum}})).with(s.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:s.Chain.Ethereum}})).with(s.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(s.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:s.Chain.Ethereum}})).with(s.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(s.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(s.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(s.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(s.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:s.Chain.Ethereum}})).with(s.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:s.Chain.Polygon}})).otherwise(()=>({chainName:n,nativeCurrency:{decimals:f,name:o,symbol:o}}))}async function Z0(y,n){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let o={...n,nonce:n.nonce!==void 0?BigInt(n.nonce):void 0};return await y.authorize(o)}function YC(y,n){let o=n!==void 0?`index ${n}: `:"",f=(T,C)=>{throw new s.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:T,message:`${o}${C}`}})};W0.match(y).when(({chainId:T})=>typeof T!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:T})=>!h5(T),()=>f("address","address must be a valid checksummed address")).when(({nonce:T})=>typeof T!=="bigint"||T<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:T})=>!T,()=>f("signature","signature is required")).when(({signature:T})=>typeof T?.yParity!=="number"||![0,1].includes(T.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:T})=>!LC(T?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:T})=>!LC(T?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function BC(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:n})=>y[n]!=null).map(({key:n,type:o})=>({name:n,type:o}))}function A0(y){return y.charAt(0).toUpperCase()+y.slice(1)}function q0(y,n){if(y.isTuple()&&y.components){let o=A0(y.name);return n[o]=y.components.map((f)=>({name:f.name,type:q0(f,n)})),o}if(y.isArray()){let o=y.arrayChildren;if(o?.isTuple()&&o.components){let f=A0(y.name.replace(/s$/,""));return n[f]=o.components.map((T)=>({name:T.name,type:q0(T,n)})),`${f}[]`}return`${o?.type??"bytes"}[]`}return y.type}function G0(y,n){if(typeof y==="bigint")return y;if(n?.isTuple()&&typeof y?.toObject==="function"){let o=y.toObject(),f={};for(let[T,C]of(n.components??[]).entries())f[C.name]=G0(o[C.name]??y[T],C);return f}if(Array.isArray(y)){let o=n?.arrayChildren;return y.map((f)=>G0(f,o??void 0))}return y}function m5({chain:y,abi:n,data:o,to:f}){let C=new Of.Interface(n).parseTransaction({data:o});if(!C)throw new s.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let H={},U=A0(C.name);H[U]=C.fragment.inputs.map((G)=>({name:G.name,type:q0(G,H)}));let _={};for(let[G,q]of C.fragment.inputs.entries())_[q.name]=G0(C.args[G],q);let{chainId:A}=s.getChainConfig(y),Q={chainId:Number(A),verifyingContract:Of.getAddress(f)},Z=BC(Q);return{domain:Q,message:_,primaryType:U,types:{EIP712Domain:Z,...H}}}function L0(y,n){if(!Array.isArray(y)||y.length===0)throw new s.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[o,f]of y.entries())if(YC(f,o),n!==void 0&&f.chainId!==n)throw new s.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${o}: authorization chainId (${f.chainId}) does not match transaction chainId (${n})`}})}var s,Of,W0,LC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),h5=(y)=>{try{return typeof y==="string"&&!!Of.getAddress(y)}catch{return!1}};var Gn=p(()=>{s=require("@swapkit/helpers"),Of=require("ethers"),W0=require("ts-pattern")});var zC;var NC=p(()=>{zC=[{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 bf({chain:y=l.Chain.Ethereum,provider:n,signer:o,isEIP1559Compatible:f=!0}){return{approve:r5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),approvedAmount:DC({chain:y,provider:n}),broadcastTransaction:n.broadcastTransaction,call:O0({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),createApprovalTx:yU({chain:y,provider:n,signer:o}),createContract:B0({chain:y,provider:n}),createContractTxObject:wf({chain:y,provider:n}),createTransaction:M0({chain:y,provider:n,signer:o}),createTransferTx:M0({chain:y,provider:n,signer:o}),EIP1193SendTransaction:uf(n),estimateCall:RC({provider:n,signer:o}),estimateGasLimit:s5({chain:y,provider:n,signer:o}),estimateGasPrices:Df({chain:y,isEIP1559Compatible:f,provider:n}),estimateTransactionFee:fU({chain:y,isEIP1559Compatible:f,provider:n}),getAddress:()=>{return o?o.getAddress():void 0},getBalance:An(y).getBalance,getNetworkParams:Q0(y),isApproved:d5({chain:y,provider:n}),sendTransaction:kC({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),signAuthorization:e5({signer:o}),signMessage:o?(T)=>o.signMessage(T):void 0,signTypedData:o?({domain:T,types:C,value:H})=>o.signTypedData(T,C,H):void 0,transfer:a5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),validateAddress:Xn}}function Xn(y){try{return Iy.getAddress(y),!0}catch{return!1}}function vf(y){return y instanceof Iy.BrowserProvider}function Qn(y,n,o){return new Iy.Contract(y,Iy.Interface.from(n),o)}function B0({provider:y}){return function(o,f){return new Iy.Contract(o,Iy.Interface.from(f),y)}}function z0({abi:y,funcName:n}){let o=y.find((f)=>f.name===n);if(!o)throw new l.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return o.stateMutability&&c5.includes(o.stateMutability)}function OC(y){return Iy.getAddress(y)}function uf(y){return function({value:o,...f}){if(!vf(y))throw new l.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:T,gasPrice:C,maxFeePerGas:H,maxPriorityFeePerGas:U,..._}=f;return y.send("eth_sendTransaction",[{..._,value:qn(BigInt(o||0))}])}}function wC(y,n){let o=jf(y,n);if(o)return Iy.getAddress(o.toLowerCase());throw new l.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function jf({chain:y,symbol:n,ticker:o},f){try{let T=y===l.Chain.BinanceSmartChain&&n==="BNB"&&o==="BNB",C=y===l.Chain.Hyperevm&&n==="HYPE"&&o==="HYPE",H=y===f&&n===f&&o===f,U=i5.includes(y)&&n==="ETH"&&o==="ETH";if(H||T||C||U)return N0[f];return Iy.getAddress(n.slice(o.length+1).replace(/^0X/,""))}catch{return null}}function wf({provider:y}){return async({contractAddress:n,abi:o,funcName:f,funcParams:T=[],txOverrides:C})=>Qn(n,o,y).getFunction(f).populateTransaction(...T.concat(C).filter((H)=>typeof H<"u"))}function Df({chain:y,provider:n,isEIP1559Compatible:o=!0}){return Y0.match(y).with(l.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:T,maxPriorityFeePerGas:C}=await n.getFeeData();if(!T||C===null)throw new l.SwapKitError("toolbox_evm_no_fee_data");return{[l.FeeOption.Average]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Average),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(C,l.FeeOption.Average)},[l.FeeOption.Fast]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Fast),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(C,l.FeeOption.Fast)},[l.FeeOption.Fastest]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Fastest),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(C,l.FeeOption.Fastest)}}}catch(T){throw new l.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).with(l.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:T}=await n.getFeeData();if(!T)throw new l.SwapKitError("toolbox_evm_no_fee_data");let C=T*12n/10n;return{[l.FeeOption.Average]:{gasPrice:C},[l.FeeOption.Fast]:{gasPrice:l.applyFeeMultiplierToBigInt(C,l.FeeOption.Fast)},[l.FeeOption.Fastest]:{gasPrice:l.applyFeeMultiplierToBigInt(C,l.FeeOption.Fastest)}}}catch(T){throw new l.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:C,gasPrice:H}=await n.getFeeData();if(o){if(T===null||C===null)throw new l.SwapKitError("toolbox_evm_no_fee_data");return{[l.FeeOption.Average]:{maxFeePerGas:T,maxPriorityFeePerGas:C},[l.FeeOption.Fast]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Fast),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(C,l.FeeOption.Fast)},[l.FeeOption.Fastest]:{maxFeePerGas:l.applyFeeMultiplierToBigInt(T,l.FeeOption.Fastest),maxPriorityFeePerGas:l.applyFeeMultiplierToBigInt(C,l.FeeOption.Fastest)}}}if(!H)throw new l.SwapKitError("toolbox_evm_no_gas_price");return{[l.FeeOption.Average]:{gasPrice:H},[l.FeeOption.Fast]:{gasPrice:l.applyFeeMultiplierToBigInt(H,l.FeeOption.Fast)},[l.FeeOption.Fastest]:{gasPrice:l.applyFeeMultiplierToBigInt(H,l.FeeOption.Fastest)}}}catch(T){throw new l.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}})}function O0({provider:y,isEIP1559Compatible:n,signer:o,chain:f}){return async function({callProvider:C,contractAddress:H,abi:U,funcName:_,funcParams:A=[],txOverrides:Q={},feeOption:Z=l.FeeOption.Fast}){let G=C||y;if(!H)throw new l.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let q=z0({abi:U,funcName:_});if(q&&vf(G)&&o){let Y=wf({chain:f,provider:G}),w=Q?.from||await o?.getAddress(),L=await Y({abi:U,contractAddress:H,funcName:_,funcParams:A,txOverrides:{...Q,from:w}});return uf(G)(L)}let W=Qn(H,U,G);if(q){if(!o)throw new l.SwapKitError("toolbox_evm_no_signer");let Y=Q?.from||await o.getAddress();if(!Y)throw new l.SwapKitError("toolbox_evm_no_signer_address");let w=W.connect(o),L=Df({chain:f,isEIP1559Compatible:n,provider:y}),{maxFeePerGas:O,maxPriorityFeePerGas:N,gasPrice:z}=(await L())[Z],J=await W.getFunction(_).estimateGas(...A,Q),M=await w[_](...A,{...Q,gasLimit:J,gasPrice:z,maxFeePerGas:O,maxPriorityFeePerGas:N,nonce:Q?.nonce||await G.getTransactionCount(Y)});return typeof M?.hash==="string"?M?.hash:M}let X=await W[_]?.(...A);return typeof X?.hash==="string"?X?.hash:X}}function DC({provider:y,chain:n}){return function({assetAddress:f,spenderAddress:T,from:C}){return O0({chain:n,isEIP1559Compatible:!0,provider:y})({abi:Vf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[C,T]})}}function d5({provider:y,chain:n}){return async function({assetAddress:f,spenderAddress:T,from:C,amount:H=Wn}){let U=await DC({chain:n,provider:y})({assetAddress:f,from:C,spenderAddress:T});return l.SwapKitNumber.fromBigInt(U).gte(l.SwapKitNumber.fromBigInt(BigInt(H)))}}function r5({signer:y,isEIP1559Compatible:n=!0,provider:o,chain:f}){return async function({assetAddress:C,spenderAddress:H,feeOptionKey:U=l.FeeOption.Fast,amount:_,gasLimitFallback:A,from:Q,nonce:Z}){let G=[H,BigInt(_||Wn)],q=await y?.getAddress()||Q,W={abi:Vf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:G,signer:y,txOverrides:{from:q}};if(vf(o)){let Y=wf({chain:f,provider:o}),w=uf(o),L=await Y(W);return w(L)}return O0({chain:f,isEIP1559Compatible:n,provider:o,signer:y})({...W,feeOption:U,funcParams:G,txOverrides:{from:q,gasLimit:A?BigInt(A.toString()):void 0,nonce:Z}})}}function a5({signer:y,isEIP1559Compatible:n=!0,provider:o}){return async function({assetValue:T,memo:C,recipient:H,feeOptionKey:U=l.FeeOption.Fast,sender:_,...A}){let{hexlify:Q,toUtf8Bytes:Z}=await import("ethers"),G=T.getBaseValue("bigint"),q=T.chain,W=_||await y?.getAddress(),X=kC({chain:q,isEIP1559Compatible:n,provider:o,signer:y});if(!W)throw new l.SwapKitError("toolbox_evm_no_from_address");if(T.isGasAsset){let z={...A,data:Q(Z(C||"")),feeOptionKey:U,from:W,to:H,value:G};return X(z)}if(!jf(T,q))throw new l.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:w,maxPriorityFeePerGas:L,gasPrice:O}=(await Df({chain:q,isEIP1559Compatible:n,provider:o})())[U],N=await M0({chain:q,provider:o,signer:y})({assetValue:T,data:Q(Z(C||"")),gasPrice:O,maxFeePerGas:w,maxPriorityFeePerGas:L,memo:C,recipient:H,sender:W});return X(N)}}function RC({provider:y,signer:n}){return function({contractAddress:f,abi:T,funcName:C,funcParams:H=[],txOverrides:U}){if(!f)throw new l.SwapKitError("toolbox_evm_no_contract_address");let _=Qn(f,T,y);return n?_.connect(n).getFunction(C).estimateGas(...H,U):_.getFunction(C).estimateGas(...H,U)}}function s5({provider:y,signer:n}){return async function({assetValue:f,recipient:T,memo:C,data:H,sender:U,funcName:_,funcParams:A,txOverrides:Q}){let Z=f.bigIntValue,G=f.isGasAsset?null:jf(f,f.chain);if(G&&_)return RC({provider:y,signer:n})({abi:Vf.erc20ABI,contractAddress:G,funcName:_,funcParams:A,txOverrides:Q});let{hexlify:q,toUtf8Bytes:W}=await import("ethers");return y.estimateGas({data:H?H:C?q(W(C)):void 0,from:U,to:T,value:Z})}}function e5({signer:y}){if(!y)return;return(n)=>Z0(y,n)}function kC({provider:y,signer:n,isEIP1559Compatible:o=!0,chain:f}){return async function({feeOptionKey:C=l.FeeOption.Fast,...H}){let{from:U,to:_,data:A,value:Q,...Z}=H;if(!n)throw new l.SwapKitError("toolbox_evm_no_signer");if(!_)throw new l.SwapKitError("toolbox_evm_no_to_address");let G={...Z,data:A||"0x",from:U,to:_,value:BigInt(Q||0)};if(vf(y))return uf(y)(G);let q=U||await n.getAddress(),W=H.nonce||await y.getTransactionCount(q),X=(await y.getNetwork()).chainId,Y=D0(G,o);if(Y==="eip7702")L0(G.authorizations||[],X);let w=Y0.match(Y).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...G,chainId:X,nonce:W,type:w,...Y==="eip7702"&&{authorizationList:G.authorizations}},O=Df({chain:f,isEIP1559Compatible:o,provider:y}),z=Y!=="legacy"&&!(G.maxFeePerGas&&G.maxPriorityFeePerGas)||!G.gasPrice?Object.entries((await O())[C]).reduce((M,[D,S])=>({...M,[D]:qn(BigInt(S))}),{}):{},J;try{J=qn(G.gasLimit||await y.estimateGas(L)*11n/10n)}catch(M){throw new l.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:M})}try{let M={...L,gasLimit:J,...z};try{return(await n.sendTransaction(M)).hash}catch{let D=await n.signTransaction({...M,from:q});return(await y.broadcastTransaction(D)).hash}}catch(M){throw new l.SwapKitError("toolbox_evm_error_sending_transaction",{error:M})}}}function M0({provider:y,signer:n}){return async function({assetValue:f,memo:T,recipient:C,data:H,sender:U,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:Q,...Z}){let G=f.getBaseValue("bigint"),q=f.chain,W=U||await n?.getAddress();if(!W)throw new l.SwapKitError("toolbox_evm_no_from_address");if(l.isGasAsset(f)){let{hexlify:w,toUtf8Bytes:L}=await import("ethers");return{...Z,data:H||w(L(T||"")),from:W,to:C,value:G}}let X=jf(f,q);if(!X)throw new l.SwapKitError("toolbox_evm_no_contract_address");return wf({chain:f.chain,provider:y})({abi:Vf.erc20ABI,contractAddress:X,funcName:"transfer",funcParams:[C,G],txOverrides:{from:W,gasPrice:Q,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function yU({provider:y,signer:n,chain:o}){return async function({assetAddress:T,spenderAddress:C,amount:H,from:U}){let _=await n?.getAddress()||U,A=wf({chain:o,provider:y}),Q=["bigint","number"].includes(typeof H)?H:H||Wn;return await A({abi:Vf.erc20ABI,contractAddress:T,funcName:"approve",funcParams:[C,BigInt(Q)],txOverrides:{from:_}})}}function fU({provider:y,isEIP1559Compatible:n=!0,chain:o}){return async function({feeOption:T=l.FeeOption.Fast,...C}){let U=await Df({chain:o,isEIP1559Compatible:n,provider:y})(),_=await y.estimateGas(C),A=l.AssetValue.from({chain:o}),{gasPrice:Q,maxFeePerGas:Z,maxPriorityFeePerGas:G}=U[T];if(!n&&Q)return A.set(l.SwapKitNumber.fromBigInt(Q*_,A.decimal));if(Z&&G){let q=(Z+G)*_;return A.set(l.SwapKitNumber.fromBigInt(q,A.decimal))}throw new l.SwapKitError("toolbox_evm_no_gas_price")}}var l,Vf,Iy,Y0,Wn,c5,g5,N0,i5,cn=(y)=>y.type===4||(y.authorizations?.length??0)>0,w0=(y)=>!cn(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),D0=(y,n=!0)=>{if(cn(y))return"eip7702";if(w0(y)||n)return"eip1559";return"legacy"};var gn=p(()=>{mn();Gn();l=require("@swapkit/helpers"),Vf=require("@swapkit/helpers/contracts"),Iy=require("ethers"),Y0=require("ts-pattern"),Wn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");c5=["payable","nonpayable"];g5=l.EVMChains.reduce((y,n)=>{return y[n]="0x0000000000000000000000000000000000000000",y},{}),N0={...g5,[l.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[l.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},i5=[l.Chain.Arbitrum,l.Chain.Aurora,l.Chain.Base,l.Chain.Optimism]});function dn(y){let n=Qy(_y.Chain.Ethereum)(y);async function o(f,T="0x5ba1e12693dc8f9c48aad8770482f4739beed696",C="aggregate",H=_y.FeeOption.Fast){let U=await n.createContractTxObject({abi:zC,contractAddress:T,funcName:C,funcParams:[f]});return n.sendTransaction({...U,feeOptionKey:H})}return{...n,multicall:o}}function Qy(y){return function({provider:o,...f}){let T=J0(y),C=Jn.match(f).with({phrase:Jn.P.string},({phrase:U})=>SC.HDNodeWallet.fromPhrase(U).connect(o)).with({signer:Jn.P.any},({signer:U})=>U).otherwise(()=>{return});return bf({chain:y,isEIP1559Compatible:T,provider:o,signer:C})}}var _y,SC,Jn,rn,an,sn,en,yT,fT,nT,FC,TT,oT,CT,HT,UT,_T,Zn,AT,qT,GT,WT;var R0=p(()=>{NC();Gn();gn();_y=require("@swapkit/helpers"),SC=require("ethers"),Jn=require("ts-pattern");rn=Qy(_y.Chain.Adi),an=Qy(_y.Chain.Arbitrum),sn=Qy(_y.Chain.Aurora),en=Qy(_y.Chain.Avalanche),yT=Qy(_y.Chain.Base),fT=Qy(_y.Chain.Berachain),nT=Qy(_y.Chain.BinanceSmartChain),FC=Qy(_y.Chain.Botanix),TT=Qy(_y.Chain.Core),oT=Qy(_y.Chain.Corn),CT=Qy(_y.Chain.Cronos),HT=Qy(_y.Chain.Gnosis),UT=Qy(_y.Chain.Hyperevm),_T=Qy(_y.Chain.Polygon),Zn=Qy(_y.Chain.Sonic),AT=Qy(_y.Chain.Unichain),qT=Qy(_y.Chain.XLayer),GT=Qy(_y.Chain.Monad),WT=Qy(_y.Chain.MegaETH)});var lC;var xC=p(()=>{lC=[{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 k0(y){return new XT.Contract(TU,lC,y)}function $C(y){return async function(){let o=k0(y);if(o&&"l1BaseFee"in o)return await o?.l1BaseFee();return}}function IC(y){return async function({from:o,to:f,nonce:T,...C}){let{Transaction:H}=await import("ethers");if(!f)throw new Ay.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return H.from({...C,authorizationList:C.authorizationList,nonce:T?T:o?await y.getTransactionCount(o):0,to:f}).serialized}}function PC(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1Fee"in f)return f.getL1Fee(T)}}function pC(y){return async function(o){let T=(await y.getFeeData()).gasPrice??0n,C=await y.estimateGas(o);return T*C}}function oU(y){return async function(o){let f=await PC(y)(o)??0n,T=await pC(y)(o);return f+T}}function CU(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(T)}}function HU(y){return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:T}=await y.getFeeData(),C=await $C(y)(),H=T;if(!(o&&f))throw new Ay.SwapKitError("toolbox_evm_no_fee_data");return{[Ay.FeeOption.Average]:{gasPrice:H,l1GasPrice:C,maxFeePerGas:o,maxPriorityFeePerGas:f},[Ay.FeeOption.Fast]:{gasPrice:Ay.applyFeeMultiplierToBigInt(H,Ay.FeeOption.Fast),l1GasPrice:Ay.applyFeeMultiplierToBigInt(C||0n,Ay.FeeOption.Fast),maxFeePerGas:o,maxPriorityFeePerGas:Ay.applyFeeMultiplierToBigInt(f,Ay.FeeOption.Fast)},[Ay.FeeOption.Fastest]:{gasPrice:Ay.applyFeeMultiplierToBigInt(H,Ay.FeeOption.Fastest),l1GasPrice:Ay.applyFeeMultiplierToBigInt(C||0n,Ay.FeeOption.Fastest),maxFeePerGas:o,maxPriorityFeePerGas:Ay.applyFeeMultiplierToBigInt(f,Ay.FeeOption.Fastest)}}}catch(o){throw new Ay.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function QT({provider:y,...n}){let o=Ln.match(n).with({phrase:Ln.P.string},({phrase:C})=>XT.HDNodeWallet.fromPhrase(C).connect(y)).with({signer:Ln.P.any},({signer:C})=>C).otherwise(()=>{return}),f=bf({provider:y,signer:o}),T=$C(y);return{...f,estimateGasPrices:HU(y),estimateL1Gas:CU(y),estimateL1GasCost:PC(y),estimateL2GasCost:pC(y),estimateTotalGasCost:oU(y),getBalance:An(Ay.Chain.Optimism).getBalance,getL1GasPrice:T}}var Ay,XT,Ln,TU="0x420000000000000000000000000000000000000f";var S0=p(()=>{mn();xC();gn();Ay=require("@swapkit/helpers"),XT=require("ethers"),Ln=require("ts-pattern")});var VC={};By(VC,{validateEVMAddress:()=>Xn,toChecksumAddress:()=>OC,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>vf,getTokenAddress:()=>jf,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>F0,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>uf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createContract:()=>Qn,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Zn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>WT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>FC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});function F0(y,n){return tC.match(y).with(Wy.Chain.Adi,()=>rn(n)).with(Wy.Chain.Arbitrum,()=>an(n)).with(Wy.Chain.Aurora,()=>sn(n)).with(Wy.Chain.Avalanche,()=>en(n)).with(Wy.Chain.Base,()=>yT(n)).with(Wy.Chain.Berachain,()=>fT(n)).with(Wy.Chain.BinanceSmartChain,()=>nT(n)).with(Wy.Chain.Botanix,()=>Zn(n)).with(Wy.Chain.Core,()=>TT(n)).with(Wy.Chain.Corn,()=>oT(n)).with(Wy.Chain.Cronos,()=>CT(n)).with(Wy.Chain.Ethereum,()=>dn(n)).with(Wy.Chain.Gnosis,()=>HT(n)).with(Wy.Chain.Hyperevm,()=>UT(n)).with(Wy.Chain.Optimism,()=>QT(n)).with(Wy.Chain.Polygon,()=>_T(n)).with(Wy.Chain.Sonic,()=>Zn(n)).with(Wy.Chain.Unichain,()=>AT(n)).with(Wy.Chain.XLayer,()=>qT(n)).with(Wy.Chain.Monad,()=>GT(n)).with(Wy.Chain.MegaETH,()=>WT(n)).exhaustive()}async function EC(y,n){let o={...n,provider:n?.provider||await X0(y)};return F0(y,o)}var Wy,tC;var l0=p(()=>{Gn();R0();S0();Wy=require("@swapkit/helpers"),tC=require("ts-pattern");gn();R0();S0()});var bC;var vC=p(()=>{((o)=>{o.Test="goerli";o.Main="homestead"})(bC||={})});var uC={};By(uC,{validateEVMAddress:()=>Xn,validateAuthorizations:()=>L0,validateAuthorization:()=>YC,toHexString:()=>qn,toChecksumAddress:()=>OC,signAuthorization:()=>Z0,parseEIP712FromEVMTx:()=>m5,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>vf,getTokenAddress:()=>jf,getProviderSync:()=>MC,getProvider:()=>X0,getNetworkParams:()=>Q0,getIsEIP1559Compatible:()=>J0,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>F0,getEvmApi:()=>An,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>uf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createCustomEvmApi:()=>j5,createContract:()=>Qn,buildEIP712DomainType:()=>BC,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Zn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>WT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,EthNetwork:()=>bC,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>FC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});module.exports=wy(uC);var x0=p(()=>{mn();Gn();l0();vC()});async function I0(y,n){let o=await fetch(`${iC}${y}`,{...n,headers:{project_id:gC,...n?.headers}});if(!o.ok)throw Error(`Blockfrost API error: ${o.status} ${o.statusText}`);return o.json()}async function dC(y){try{return await I0(`/addresses/${y}/utxos`)}catch{return[]}}async function _U(){return(await I0("/blocks/latest")).slot}async function AU(){let y=await I0("/epochs/latest/parameters"),n={PlutusScriptV1:y.cost_models.PlutusV1?Object.values(y.cost_models.PlutusV1):[],PlutusScriptV2:y.cost_models.PlutusV2?Object.values(y.cost_models.PlutusV2):[],PlutusScriptV3:y.cost_models.PlutusV3?Object.values(y.cost_models.PlutusV3):[]};return{collateralPercent:new Py.default(y.collateral_percent),languageView:n,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new Py.default(y.min_fee_a),minFeeB:new Py.default(y.min_fee_b),minFeeRefScriptCostPerByte:new Py.default(15),priceMem:new Py.default(y.price_mem),priceSteps:new Py.default(y.price_step),stakeKeyDeposit:new Py.default(2000000),utxoCostPerByte:new Py.default(y.coins_per_utxo_size)}}async function KC(y){let n=await fetch(`${iC}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:gC},method:"POST"});if(!n.ok){let o=await n.text();throw Error(`Transaction submission failed: ${o}`)}return n.json()}function qU(y,n){return y.map((o)=>{let f=o.amount.find((H)=>H.unit==="lovelace"),T=f?new Py.default(f.quantity):new Py.default(0),C=o.amount.filter((H)=>H.unit!=="lovelace").map((H)=>({amount:new Py.default(H.quantity),assetName:H.unit.slice(56),policyId:H.unit.slice(0,56)}));return{address:n,amount:T,index:o.output_index,tokens:C,txId:o.tx_hash}})}async function GU(y){try{let n=await dC(y),o=0n,f=new Map;for(let H of n){if(!H.amount||!Array.isArray(H.amount))continue;for(let U of H.amount){let{unit:_,quantity:A}=U;if(_==="lovelace")o+=BigInt(A);else{let Q=f.get(_)||0n;f.set(_,Q+BigInt(A))}}}let T=[],{baseDecimal:C}=qy.getChainConfig(qy.Chain.Cardano);if(o>0n)T.push(qy.AssetValue.from({chain:qy.Chain.Cardano,fromBaseDecimal:C,value:o.toString()}));for(let[H,U]of f)T.push(qy.AssetValue.from({asset:`${qy.Chain.Cardano}.${H}`,value:U.toString()}));if(T.length===0)return[qy.AssetValue.from({chain:qy.Chain.Cardano})];return T}catch(n){let o=n instanceof Error?n.message:String(n);return console.error(`Cardano balance fetch error: ${o}`),[qy.AssetValue.from({chain:qy.Chain.Cardano})]}}function rC(y){if(!y||typeof y!=="string")return!1;try{let n=hC.bech32.decode(y,120);return n.prefix==="addr"||n.prefix==="addr_test"}catch{return!1}}async function WU(y,n=0,o=0){let f=await mC.mnemonicToSeed(y,""),C=(await cC.Bip32PrivateKey.fromEntropy(Buffer.from(f.slice(0,64)))).derive($0+1852).derive($0+1815).derive($0+n),H=C.derive(0).derive(o),U=H.toBip32PublicKey().toPublicKey().toBytes(),_=Ry.crypto.hash28(U),Q=C.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),Z=Ry.crypto.hash28(Q),G={hash:_,type:Ry.types.HashType.ADDRESS},q={hash:Z,type:Ry.types.HashType.ADDRESS},X=new Ry.address.BaseAddress(UU,G,q).getBech32(),Y=H.toPrivateKey();return{getAddress:()=>X,publicKey:U,publicKeyHash:_,signTransaction:async(w)=>{try{let L=await import("@stricahq/cbors"),O=Buffer.from(w,"hex"),N=L.Decoder.decode(O),[z,J,M,D]=N.value,S=L.Encoder.encode(z),R=Ry.crypto.hash32(S),k=Y.sign(R),$=J instanceof Map?J:new Map,B=$.get(jC)||[];B.push([U,k]),$.set(jC,B);let F=[z,$,M,D];return L.Encoder.encode(F).toString("hex")}catch(L){throw new qy.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function XU(y){let n,o,f;async function T(){if(!f)f=await AU();return f}async function C(){if(n!==void 0)return n;if(y&&"phrase"in y&&y.phrase){let q=y.index??0;return n=await WU(y.phrase,0,q),n}if(y&&"signer"in y&&y.signer)return n=y.signer,n;return}async function H(){if(o)return o;let q=await C();if(!q)return"";if("getAddress"in q)return o=await q.getAddress(),o;return""}async function U(q){let W=q||await H();if(!W)throw new qy.SwapKitError("core_wallet_connection_not_found");return GU(W)}async function _(q){if(q)try{let{tx:w}=await A(q),L=w.getFee();return qy.AssetValue.from({chain:qy.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let W=await T(),X=400,Y=W.minFeeB.plus(W.minFeeA.times(X));return qy.AssetValue.from({chain:qy.Chain.Cardano,fromBaseDecimal:6,value:Y.toString()})}async function A({sender:q="",recipient:W,assetValue:X,memo:Y,pureLovelaceOnly:w=!1}){let L=q||await H();if(!L)throw new qy.SwapKitError("core_wallet_connection_not_found");let[O,N,z]=await Promise.all([dC(L),_U(),T()]),J=O.filter((V)=>w?V.amount.every((m)=>m.unit==="lovelace"):V.amount.some((m)=>m.unit==="lovelace")).sort((V,m)=>{let Ty=V.amount.some((Uy)=>Uy.unit!=="lovelace"),Ly=m.amount.some((Uy)=>Uy.unit!=="lovelace");if(Ty===Ly)return 0;return Ty?1:-1}),M=Ry.utils.getAddressFromString(L),D=Ry.utils.getAddressFromString(W),S=qU(J,M),R=new Py.default(X.getBaseValue("string")),k=[{address:D,amount:R,tokens:[]}],$;if(Y){let V=new Map;V.set("msg",[Y]),$={metadata:[{data:V,label:674}]}}let B={...z,minFeeB:z.minFeeB.plus(z.minFeeA.times(4))},I=new Ry.Transaction({protocolParams:B}).paymentTransaction({auxiliaryData:$,changeAddress:M,inputs:S,outputs:k,ttl:N+3600}),{payload:j}=I.buildTransaction();return{tx:I,unsignedTx:j}}async function Q(q){let W=await C();if(!W||!("signTransaction"in W))throw new qy.SwapKitError("core_wallet_connection_not_found");return W.signTransaction(q)}async function Z({recipient:q,assetValue:W,memo:X}){let Y=await C();if(!Y||!("signTransaction"in Y))throw new qy.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:w}=await A({assetValue:W,memo:X,recipient:q,sender:await H()}),L=await Q(w);return await KC(L)}async function G(q){let W=await Q(q);return await KC(W)}return{createTransaction:A,estimateTransactionFee:_,getAddress:H,getBalance:U,signAndBroadcastTransaction:G,signTransaction:Q,transfer:Z,validateAddress:rC}}var hC,mC,cC,Ry,qy,Py,gC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",iC="https://cardano-mainnet.blockfrost.io/api/v0",UU,$0=2147483648,jC=0;var aC=p(()=>{hC=require("@scure/base"),mC=require("@scure/bip39"),cC=require("@stricahq/bip32ed25519"),Ry=require("@stricahq/typhonjs"),qy=require("@swapkit/helpers"),Py=U0(require("bignumber.js")),UU=Ry.types.NetworkId.MAINNET});var P0={};By(P0,{validateCardanoAddress:()=>rC,getCardanoToolbox:()=>XU});module.exports=wy(P0);var p0=p(()=>{aC()});function Mn(y){return iy.base64.encode(Uint8Array.from(iy.bech32.fromWords(iy.bech32.decode(y).words)))}function Yn(y,n="thor"){return iy.bech32.encode(n,iy.bech32.toWords(iy.base64.decode(y)))}function QU(y){return iy.base64.encode(y)}function JU(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new sC.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iy.base64.decode(y)}var iy,sC;var t0=p(()=>{iy=require("@scure/base"),sC=require("@swapkit/helpers")});function ey(y){switch(y){case u.Chain.Maya:return{amount:[],gas:"10000000000"};case u.Chain.THORChain:return{amount:[],gas:"500000000"};case u.Chain.Kujira:return f1;case u.Chain.Noble:return n1;default:return y1}}async function yf(y){let n=await import("@cosmjs/stargate"),o=n.StargateClient??n.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return o.connect({headers:f,url:y})}async function Rf(y,n,o={}){let f=await import("@cosmjs/stargate"),T=f.SigningStargateClient??f.default?.SigningStargateClient,C=f.GasPrice??f.default?.GasPrice,H=typeof o==="string"?o:"0.0003uatom",U=typeof o==="string"?{}:o;return T.connectWithSigner(y,n,{gasPrice:C.fromString(H),...U})}async function V0(y,n){let o=await import("@cosmjs/stargate");return(o.SigningStargateClient??o.default?.SigningStargateClient).offline(y,n)}async function b0({sender:y,recipient:n,assetValue:o,memo:f="",feeRate:T,sequence:C,accountNumber:H}){let{chain:U,chainId:_}=o,A=await u.getRPCUrl(U),Z=await(await yf(A)).getAccount(y);if(!Z)throw new u.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let G=u.AssetValue.from({chain:U}),q=Uf(G.symbol),W=ey(U),X=q&&T?{amount:[{amount:T.toString(),denom:q}],gas:W.gas}:W,Y={amount:[{amount:o.getBaseValue("string"),denom:Uf(o.symbol)}],fromAddress:y,toAddress:n};return{accountNumber:H??Number(Z.accountNumber),chainId:_,fee:X,memo:f,msgs:[{typeUrl:ZU(U),value:Y}],sequence:C??Z.sequence}}var u,E0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",eC="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",y1,f1,n1,Uf=(y,n=!1)=>{if(n)return y.toLowerCase();switch(y){case"uUSK":case"USK":return E0;case"uYUM":case"YUM":return eC;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},Bn=({symbol:y,chain:n})=>{if(n===u.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${u.Chain.Maya}.${y}`).toUpperCase();if(n===u.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${u.Chain.THORChain}.${y}`:y).toUpperCase();return Uf(y,!1)},ZU=(y)=>{switch(y){case u.Chain.Maya:case u.Chain.THORChain:return"/types.MsgSend";case u.Chain.Cosmos:case u.Chain.Kujira:case u.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new u.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},LU,v0=(y,n)=>{let o=LU[y.toLowerCase()];if(!o)return u.AssetValue.from({asset:y,fromBaseDecimal:8,value:n});let{chain:f,asset:T,decimals:C}=o,H=f?{chain:f}:{asset:T};return u.AssetValue.from({...H,fromBaseDecimal:C,value:n})};var zn=p(()=>{u=require("@swapkit/helpers"),y1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},f1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},n1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};LU={atom:{chain:u.Chain.Cosmos,decimals:u.getChainConfig(u.Chain.Cosmos).baseDecimal},cacao:{chain:u.Chain.Maya,decimals:10},kuji:{chain:u.Chain.Kujira,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal},maya:{asset:`${u.Chain.Maya}.${u.Chain.Maya}`,decimals:4},rune:{chain:u.Chain.THORChain,decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},uatom:{chain:u.Chain.Cosmos,decimals:u.getChainConfig(u.Chain.Cosmos).baseDecimal},ukuji:{chain:u.Chain.Kujira,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal},usdc:{chain:u.Chain.Noble,decimals:u.getChainConfig(u.Chain.Noble).baseDecimal},uusdc:{chain:u.Chain.Noble,decimals:u.getChainConfig(u.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},[E0.toLowerCase()]:{asset:`${u.Chain.Kujira}.USK`,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal}}});var T1={};By(T1,{$root:()=>P});var zy,K,ty,b,P;var o1=p(()=>{zy=U0(require("protobufjs/minimal.js")),K=zy.default.Reader,ty=zy.default.Writer,b=zy.default.util,P=zy.default.roots.default||(zy.default.roots.default={});P.common=(()=>{let y={};return y.Asset=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))T.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))T.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))T.uint32(32).bool(f.synth);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.Asset;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.chain=f.string();break;case 2:H.symbol=f.string();break;case 3:H.ticker=f.string();break;case 4:H.synth=f.bool();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!b.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!b.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!b.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(f){if(f instanceof P.common.Asset)return f;let T=new P.common.Asset;if(f.chain!=null)T.chain=String(f.chain);if(f.symbol!=null)T.symbol=String(f.symbol);if(f.ticker!=null)T.ticker=String(f.ticker);if(f.synth!=null)T.synth=Boolean(f.synth);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.chain="",C.symbol="",C.ticker="",C.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))C.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))C.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))C.synth=f.synth;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.Coin=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=b.Long?b.Long.fromBits(0,0,!1):0,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))P.common.Asset.encode(f.asset,T.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))T.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))T.uint32(24).int64(f.decimals);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.Coin;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.asset=P.common.Asset.decode(f,f.uint32());break;case 2:H.amount=f.string();break;case 3:H.decimals=f.int64();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let T=P.common.Asset.verify(f.asset);if(T)return"asset."+T}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!b.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!b.isInteger(f.decimals)&&!(f.decimals&&b.isInteger(f.decimals.low)&&b.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(f){if(f instanceof P.common.Coin)return f;let T=new P.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");T.asset=P.common.Asset.fromObject(f.asset)}if(f.amount!=null)T.amount=String(f.amount);if(f.decimals!=null){if(b.Long)(T.decimals=b.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")T.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")T.decimals=f.decimals;else if(typeof f.decimals==="object")T.decimals=new b.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)if(C.asset=null,C.amount="",b.Long){let H=new b.Long(0,0,!1);C.decimals=T.longs===String?H.toString():T.longs===Number?H.toNumber():H}else C.decimals=T.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))C.asset=P.common.Asset.toObject(f.asset,T);if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")C.decimals=T.longs===String?String(f.decimals):f.decimals;else C.decimals=T.longs===String?b.Long.prototype.toString.call(f.decimals):T.longs===Number?new b.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.PubKeySet=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))T.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))T.uint32(18).string(f.ed25519);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.PubKeySet;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.secp256k1=f.string();break;case 2:H.ed25519=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!b.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!b.isString(f.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(f){if(f instanceof P.common.PubKeySet)return f;let T=new P.common.PubKeySet;if(f.secp256k1!=null)T.secp256k1=String(f.secp256k1);if(f.ed25519!=null)T.ed25519=String(f.ed25519);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.secp256k1="",C.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))C.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))C.ed25519=f.ed25519;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.Tx=(()=>{function n(o){if(this.coins=[],this.gas=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=b.emptyArray,n.prototype.gas=b.emptyArray,n.prototype.memo="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))T.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(34).string(f.toAddress);if(f.coins?.length)for(let C=0;C<f.coins.length;++C)P.common.Coin.encode(f.coins[C],T.uint32(42).fork()).ldelim();if(f.gas?.length)for(let C=0;C<f.gas.length;++C)P.common.Coin.encode(f.gas[C],T.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(58).string(f.memo);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.Tx;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.id=f.string();break;case 2:H.chain=f.string();break;case 3:H.fromAddress=f.string();break;case 4:H.toAddress=f.string();break;case 5:if(!H.coins?.length)H.coins=[];H.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 6:if(!H.gas?.length)H.gas=[];H.gas.push(P.common.Coin.decode(f,f.uint32()));break;case 7:H.memo=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!b.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!b.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!b.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!b.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=P.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let T=0;T<f.gas.length;++T){let C=P.common.Coin.verify(f.gas[T]);if(C)return"gas."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!b.isString(f.memo))return"memo: string expected"}return null},n.fromObject=function(f){if(f instanceof P.common.Tx)return f;let T=new P.common.Tx;if(f.id!=null)T.id=String(f.id);if(f.chain!=null)T.chain=String(f.chain);if(f.fromAddress!=null)T.fromAddress=String(f.fromAddress);if(f.toAddress!=null)T.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Tx.coins: object expected");T.coins[C]=P.common.Coin.fromObject(f.coins[C])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");T.gas=[];for(let C=0;C<f.gas.length;++C){if(typeof f.gas[C]!=="object")throw TypeError(".common.Tx.gas: object expected");T.gas[C]=P.common.Coin.fromObject(f.gas[C])}}if(f.memo!=null)T.memo=String(f.memo);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[],C.gas=[];if(T.defaults)C.id="",C.chain="",C.fromAddress="",C.toAddress="",C.memo="";if(f.id!=null&&f.hasOwnProperty("id"))C.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=f.toAddress;if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=P.common.Coin.toObject(f.coins[H],T)}if(f.gas?.length){C.gas=[];for(let H=0;H<f.gas.length;++H)C.gas[H]=P.common.Coin.toObject(f.gas[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.Fee=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=b.emptyArray,n.prototype.poolDeduct="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)P.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))T.uint32(18).string(f.poolDeduct);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.Fee;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 2:H.poolDeduct=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=P.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!b.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(f){if(f instanceof P.common.Fee)return f;let T=new P.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Fee.coins: object expected");T.coins[C]=P.common.Coin.fromObject(f.coins[C])}}if(f.poolDeduct!=null)T.poolDeduct=String(f.poolDeduct);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults)C.poolDeduct="";if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=P.common.Coin.toObject(f.coins[H],T)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))C.poolDeduct=f.poolDeduct;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.ProtoUint=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.value="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))T.uint32(10).string(f.value);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.ProtoUint;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.value=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!b.isString(f.value))return"value: string expected"}return null},n.fromObject=function(f){if(f instanceof P.common.ProtoUint)return f;let T=new P.common.ProtoUint;if(f.value!=null)T.value=String(f.value);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.value="";if(f.value!=null&&f.hasOwnProperty("value"))C.value=f.value;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y})();P.types=(()=>{let y={};return y.MsgDeposit=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=b.emptyArray,n.prototype.memo="",n.prototype.signer=b.newBuffer([]),n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)P.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))T.uint32(26).bytes(f.signer);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.types.MsgDeposit;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 2:H.memo=f.string();break;case 3:H.signer=f.bytes();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=P.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!b.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||b.isString(f.signer)))return"signer: buffer expected"}return null},n.fromObject=function(f){if(f instanceof P.types.MsgDeposit)return f;let T=new P.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");T.coins[C]=P.common.Coin.fromObject(f.coins[C])}}if(f.memo!=null)T.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")b.base64.decode(f.signer,T.signer=b.newBuffer(b.base64.length(f.signer)),0);else if(f.signer.length)T.signer=f.signer}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults){if(C.memo="",T.bytes===String)C.signer="";else if(C.signer=[],T.bytes!==Array)C.signer=b.newBuffer(C.signer)}if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=P.common.Coin.toObject(f.coins[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))C.signer=T.bytes===String?b.base64.encode(f.signer,0,f.signer.length):T.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.MsgSend=(()=>{function n(o){if(this.amount=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.fromAddress=b.newBuffer([]),n.prototype.toAddress=b.newBuffer([]),n.prototype.amount=b.emptyArray,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let C=0;C<f.amount.length;++C)P.cosmos.base.v1beta1.Coin.encode(f.amount[C],T.uint32(26).fork()).ldelim();return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.types.MsgSend;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.fromAddress=f.bytes();break;case 2:H.toAddress=f.bytes();break;case 3:if(!H.amount?.length)H.amount=[];H.amount.push(P.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||b.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||b.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let T=0;T<f.amount.length;++T){let C=P.cosmos.base.v1beta1.Coin.verify(f.amount[T]);if(C)return"amount."+C}}return null},n.fromObject=function(f){if(f instanceof P.types.MsgSend)return f;let T=new P.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")b.base64.decode(f.fromAddress,T.fromAddress=b.newBuffer(b.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)T.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")b.base64.decode(f.toAddress,T.toAddress=b.newBuffer(b.base64.length(f.toAddress)),0);else if(f.toAddress.length)T.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");T.amount=[];for(let C=0;C<f.amount.length;++C){if(typeof f.amount[C]!=="object")throw TypeError(".types.MsgSend.amount: object expected");T.amount[C]=P.cosmos.base.v1beta1.Coin.fromObject(f.amount[C])}}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.amount=[];if(T.defaults){if(T.bytes===String)C.fromAddress="";else if(C.fromAddress=[],T.bytes!==Array)C.fromAddress=b.newBuffer(C.fromAddress);if(T.bytes===String)C.toAddress="";else if(C.toAddress=[],T.bytes!==Array)C.toAddress=b.newBuffer(C.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=T.bytes===String?b.base64.encode(f.fromAddress,0,f.fromAddress.length):T.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=T.bytes===String?b.base64.encode(f.toAddress,0,f.toAddress.length):T.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){C.amount=[];for(let H=0;H<f.amount.length;++H)C.amount[H]=P.cosmos.base.v1beta1.Coin.toObject(f.amount[H],T)}return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y})();P.cosmos=(()=>{let y={};return y.base=(()=>{let n={};return n.v1beta1=(()=>{let o={};return o.Coin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=ty.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof K))C=K.create(C);let U=H===void 0?C.len:C.pos+H,_=new P.cosmos.base.v1beta1.Coin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof K))C=new K(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!b.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!b.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof P.cosmos.base.v1beta1.Coin)return C;let H=new P.cosmos.base.v1beta1.Coin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},f})(),o.DecCoin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=ty.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof K))C=K.create(C);let U=H===void 0?C.len:C.pos+H,_=new P.cosmos.base.v1beta1.DecCoin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof K))C=new K(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!b.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!b.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof P.cosmos.base.v1beta1.DecCoin)return C;let H=new P.cosmos.base.v1beta1.DecCoin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},f})(),o.IntProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.int="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=ty.create();if(C.int!=null&&Object.hasOwnProperty.call(C,"int"))H.uint32(10).string(C.int);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof K))C=K.create(C);let U=H===void 0?C.len:C.pos+H,_=new P.cosmos.base.v1beta1.IntProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.int=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof K))C=new K(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.int!=null&&C.hasOwnProperty("int")){if(!b.isString(C.int))return"int: string expected"}return null},f.fromObject=function(C){if(C instanceof P.cosmos.base.v1beta1.IntProto)return C;let H=new P.cosmos.base.v1beta1.IntProto;if(C.int!=null)H.int=String(C.int);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.int="";if(C.int!=null&&C.hasOwnProperty("int"))U.int=C.int;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},f})(),o.DecProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.dec="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=ty.create();if(C.dec!=null&&Object.hasOwnProperty.call(C,"dec"))H.uint32(10).string(C.dec);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof K))C=K.create(C);let U=H===void 0?C.len:C.pos+H,_=new P.cosmos.base.v1beta1.DecProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.dec=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof K))C=new K(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.dec!=null&&C.hasOwnProperty("dec")){if(!b.isString(C.dec))return"dec: string expected"}return null},f.fromObject=function(C){if(C instanceof P.cosmos.base.v1beta1.DecProto)return C;let H=new P.cosmos.base.v1beta1.DecProto;if(C.dec!=null)H.dec=String(C.dec);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.dec="";if(C.dec!=null&&C.hasOwnProperty("dec"))U.dec=C.dec;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},f})(),o})(),n})(),y})()});async function kf(){let{$root:y}=await Promise.resolve().then(() => (o1(),T1)),n=await import("@cosmjs/proto-signing"),o=n.Registry??n.default?.Registry,f=await import("@cosmjs/stargate"),T=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new o([...T,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function _f(y){let n=await import("@cosmjs/stargate"),o=n.AminoTypes??n.default?.AminoTypes,f=y===C1.Chain.THORChain?"thorchain":"mayachain";return new o({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:T,...C})=>({...C,signer:Mn(T)}),toAmino:({signer:T,...C})=>({...C,signer:Yn(T)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:T,to_address:C,...H})=>({...H,fromAddress:Mn(T),toAddress:Mn(C)}),toAmino:({fromAddress:T,toAddress:C,...H})=>({...H,from_address:Yn(T),to_address:Yn(C)})}})}var C1;var u0=p(()=>{t0();C1=require("@swapkit/helpers")});function h0(y){let{assetValue:n,recipient:o,memo:f,sender:T,asSignable:C,asAminoMessage:H}=y;if(o)return U1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,recipient:o,sender:T});return _1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,sender:T})}async function U1({sender:y,recipient:n,assetValue:o,memo:f="",asSignable:T=!0,asAminoMessage:C=!1,sequence:H,accountNumber:U}){let _=o.chain,A=await ky.getRPCUrl(_),Q=await H1({rpcUrl:A,sender:y}),{chainId:Z}=ky.getChainConfig(_),G=j0({assetValue:o,recipient:n,sender:y}),q=T?await Af(C?G:qf(G),_):G;return{accountNumber:U||Number(Q.accountNumber),chainId:Z,fee:ey(_),memo:f,msgs:[q],sequence:H||Q.sequence}}async function _1({sender:y,assetValue:n,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let U=n.chain,_=await ky.getRPCUrl(U),A=await H1({rpcUrl:_,sender:y}),{chainId:Q}=ky.getChainConfig(U),Z=K0({assetValue:n,memo:o,sender:y}),G=f?await Af(T?Z:qf(Z),U):Z;return{accountNumber:H||Number(A.accountNumber),chainId:Q,fee:ey(U),memo:o,msgs:[G],sequence:C||A.sequence}}function qf(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((n)=>{let o=ky.AssetValue.from({asset:n.asset}),f=(o.isSynthetic?o.symbol.split("/")?.[1]:o.symbol)?.toUpperCase(),T=(o.isSynthetic?o.symbol.split("/")?.[0]:o.chain)?.toUpperCase();return{...n,asset:{chain:T,symbol:f,synth:o.isSynthetic,ticker:o.ticker}}})}}}async function Nn({chain:y,memo:n,msgs:o}){let f=await kf(),T=await _f(y),C={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:o.map((H)=>T.fromAmino(H))}};return f.encode(C)}var ky,MU,YU,j0=({sender:y,recipient:n,assetValue:o})=>{return{type:`${o.chain===ky.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:o.getBaseValue("string"),denom:Uf(o.symbol,!0)}],from_address:y,to_address:n}}},K0=({sender:y,assetValue:n,memo:o=""})=>{return{type:`${n.chain===ky.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:Bn(n)}],memo:o,signer:y}}},JT=({sender:y,recipient:n,assetValue:o,memo:f})=>{return!n?K0({assetValue:o,memo:f,sender:y}):j0({assetValue:o,recipient:n,sender:y})},Af=async(y,n)=>{return(await _f(n)).fromAmino(y)},H1=async({rpcUrl:y,sender:n})=>{let f=await(await yf(y)).getAccount(n);if(!f)throw new ky.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return f};var A1=p(()=>{zn();u0();ky=require("@swapkit/helpers"),MU=ey(ky.Chain.THORChain).gas,YU=ey(ky.Chain.Maya).gas});var q1=()=>{};var G1=p(()=>{q1()});var m0=p(()=>{t0();A1();u0();G1()});async function i0(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}async function c0({phrase:y,prefix:n,...o}){let f="derivationPath"in o?o.derivationPath:`${t.DerivationPath[o.chain]}/${o.index}`;return await Z1.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[J1.stringToPath(f)],prefix:n})}async function BU({privateKey:y,prefix:n}){let o=await import("@cosmjs/proto-signing");return(o.DirectSecp256k1Wallet??o.default?.DirectSecp256k1Wallet).fromKey(y,n)}function L1(y){return async function({signature:o,message:f,address:T}){let C=await y(T);if(!C?.pubkey)throw new t.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let H=await import("@cosmjs/crypto"),U=H.Secp256k1Signature??H.default?.Secp256k1Signature,_=H.Secp256k1??H.default?.Secp256k1,A=U.fromFixedLength(Gf.base64.decode(o));return _.verifySignature(A,Gf.base64.decode(f),C.pubkey.value)}}function wn({chain:y,...n}){let o=t.CosmosChainPrefixes[y],f="index"in n?n.index||0:0,T=t.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:t.updateDerivationPath(t.NetworkDerivationPath[y],{index:f})),C;async function H(){if(C)return C;return C=await On.match(n).with({phrase:On.P.string},({phrase:q})=>c0({derivationPath:T,phrase:q,prefix:o})).with({signer:On.P.any},({signer:q})=>q).otherwise(()=>{return}),C}async function U(q){let W=await t.getRPCUrl(y);return(await yf(W)).getAccount(q)}async function _(){let q=await H(),[W]=await q?.getAccounts()||[];return W?.address}async function A(){let q=await H(),[W]=await q?.getAccounts()||[];if(!W?.pubkey)throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");return Gf.base64.encode(W?.pubkey)}async function Q(q){let W=await H(),X=await _(),Y=await t.getRPCUrl(y);if(!(W&&X))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Rf(Y,W)).sign(X,q.msgs,q.fee,q.memo,{accountNumber:BigInt(q.accountNumber),chainId:q.chainId,sequence:q.sequence})}async function Z(q){let W=await H(),X=await _(),Y=await t.getRPCUrl(y);if(!(W&&X))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await Rf(Y,W)).signAndBroadcast(X,q.msgs,q.fee,q.memo);if(L.code!==0)throw new t.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function G({recipient:q,assetValue:W,memo:X="",feeRate:Y,feeOptionKey:w=t.FeeOption.Fast}){let L=await H(),O=await _();if(!(L&&O))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await t.getRPCUrl(y),z=t.AssetValue.from({chain:y}),J=Bn(z),M=Y||OU((await X1(y,W1[y]))[w],J),D=await Rf(N,L),S=Uf(W.symbol),R=[{amount:W.getBaseValue("string"),denom:S}],{transactionHash:k}=await D.sendTokens(O,q,R,M,X);return k}return{createPrivateKeyFromPhrase:DU(T),createTransaction:b0,fetchFeeRateFromSwapKit:i0,getAccount:U,getAddress:_,getBalance:async(q,W)=>{let X=await Q1(y)(q),Y=await Promise.all(X.filter(({denom:w})=>w&&!w.includes("IBC/")&&!([t.Chain.THORChain,t.Chain.Maya].includes(y)&&w.split("-").length>2)).map(({denom:w,amount:L})=>{let O=[t.Chain.THORChain,t.Chain.Maya].includes(y)&&(w.includes("/")||w.includes("˜"))?`${y}.${w}`:w;return v0(O,L)}));if(Y.length===0)return[t.AssetValue.from({chain:y})];return Y},getBalanceAsDenoms:Q1(y),getFees:()=>X1(y,W1[y]),getPubKey:A,getSignerFromPhrase:({phrase:q,derivationPath:W})=>c0({derivationPath:t.derivationPathToString(W),index:f,phrase:q,prefix:o}),getSignerFromPrivateKey:async(q)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(q,o)},signAndBroadcastTransaction:Z,signTransaction:Q,transfer:G,validateAddress:M1(y),verifySignature:L1(U)}}async function zU(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}function NU({assetValue:{chain:y}}){return t.AssetValue.from({chain:y,value:wU(y)})}async function X1(y,n){let{chainId:o,baseDecimal:f}=t.getChainConfig(y),T=await i0(o,n);return{average:t.SwapKitNumber.fromBigInt(BigInt(T),f),fast:t.SwapKitNumber.fromBigInt(BigInt(t.applyFeeMultiplier(T,t.FeeOption.Fast,!0)),f),fastest:t.SwapKitNumber.fromBigInt(BigInt(t.applyFeeMultiplier(T,t.FeeOption.Fastest,!0)),f)}}function OU(y,n){return{amount:[{amount:y.getBaseValue("string"),denom:n}],gas:"200000"}}function wU(y){return{[t.Chain.Cosmos]:0.007,[t.Chain.Kujira]:0.02,[t.Chain.Noble]:0.01,[t.Chain.THORChain]:0.02,[t.Chain.Maya]:0.02,[t.Chain.Harbor]:0.02}[y]||0}function M1(y){let n=t.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(n))return!1;try{let{prefix:T,words:C}=Gf.bech32.decode(f);return Gf.bech32.encode(T,C)===f.toLocaleLowerCase()}catch{return!1}}}function Q1(y){return async function(o){let f=await t.getRPCUrl(y);return(await(await yf(f)).getAllBalances(o)).map((U)=>({...U,denom:U.denom.includes("/")?U.denom.toUpperCase():U.denom}))}}function DU(y){return async function(o){let f=await import("@cosmjs/crypto"),T=f.stringToPath??f.default?.stringToPath,C=f.Slip10Curve??f.default?.Slip10Curve,H=f.Slip10??f.default?.Slip10,U=f.EnglishMnemonic??f.default?.EnglishMnemonic,_=f.Bip39??f.default?.Bip39,A=new U(o),Q=await _.mnemonicToSeed(A),{privkey:Z}=H.derivePath(C.Secp256k1,Q,T(y));return Z}}var J1,Z1,Gf,t,g0,On,W1;var ZT=p(()=>{zn();J1=require("@cosmjs/crypto"),Z1=require("@cosmjs/proto-signing"),Gf=require("@scure/base"),t=require("@swapkit/helpers"),g0=require("@swapkit/helpers/api"),On=require("ts-pattern");W1={[t.Chain.Cosmos]:1000,[t.Chain.Kujira]:1000,[t.Chain.Noble]:1000,[t.Chain.THORChain]:5000000,[t.Chain.Maya]:5000000,[t.Chain.Harbor]:5000000}});function RU({prefix:y,derivationPath:n}){return async function(f,T=0){let C=await import("@cosmjs/amino"),H=C.Secp256k1HdWallet??C.default?.Secp256k1HdWallet,U=await import("@cosmjs/crypto"),_=U.stringToPath??U.default?.stringToPath;return H.fromMnemonic(f,{hdPaths:[_(`${n}/${T}`)],prefix:y})}}function kU(y){return Wf.base64.encode(y)}function SU(y){return async function({wallet:o,tx:f}){let{msgs:T,accountNumber:C,sequence:H,chainId:U,fee:_,memo:A}=typeof f==="string"?JSON.parse(f):f,Q=(await o.getAccounts())?.[0]?.address||"",Z=await _f(y),G=await kf(),q=await V0(o,{aminoTypes:Z,registry:G}),W=[];for(let w of T){let L=await Af(w,y);W.push(L)}let{signatures:[X]}=await q.sign(Q,W,_,A,{accountNumber:BigInt(C),chainId:U,sequence:H});return{bodyBytes:await Nn({chain:y,memo:A,msgs:T.map(qf)}),signature:kU(X)}}}function FU({prefix:y,chain:n}){return async function(f,T,C,H,U){let _=await e.getRPCUrl(n),{encodeSecp256k1Pubkey:A,pubkeyToAddress:Q}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:Z}=(await import("@cosmjs/stargate")).default,{sequence:G,fee:q}=JSON.parse(f),W=await Y1(C,H),X=T.map((L)=>[Q(A(Wf.base64.decode(L.pubKey)),y),Wf.base64.decode(L.signature)]),Y=await yf(_),{transactionHash:w}=await Y.broadcastTx(Z(W,G,q,U,new Map(X)));return w}}async function Y1(y,n,o=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:T}=(await import("@cosmjs/amino")).default;return f(y.map((C)=>T(Wf.base64.decode(C))),n,o)}function lU(y){return Wf.base64.decode(y)}async function xU({privateKey:y,message:n}){let{Secp256k1:o}=(await import("@cosmjs/crypto")).default,f=await o.createSignature(Wf.base64.decode(n),y);return Wf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function d0({chain:y,...n}){let{isStagenet:o}=e.SKConfig.get("envs"),f=e.SKConfig.get("thornodeUrls"),T=y===e.Chain.Maya,C=Kf.match({isMayachain:T,isStagenet:o}).with({isMayachain:!0},({isStagenet:L})=>L?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:L})=>L?f.THOR_STAGENET:f.THOR),H=`${o?"s":""}${e.CosmosChainPrefixes[y]}`,U="index"in n?n.index||0:0,_="derivationPath"in n&&n.derivationPath?n.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[y],{index:U}),A=wn({chain:y,...n}),Q=ey(y),Z;function G(){return Z??=Kf.match(n).with({phrase:Kf.P.string},({phrase:L})=>A.getSignerFromPhrase({derivationPath:_,phrase:L})).with({signer:Kf.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),Z}async function q(){let L=await e.getRPCUrl(y),O=await G();if(!O)throw new e.SwapKitError("toolbox_cosmos_no_signer");let N=await kf(),z=await _f(y),J=await Rf(L,O,{aminoTypes:z,registry:N});return{signer:O,signingClient:J}}async function W({fee:L,memo:O,msgs:N}){let{signer:z,signingClient:J}=await q(),M=(await z.getAccounts())?.[0]?.address;if(!M)throw new e.SwapKitError("toolbox_cosmos_signer_not_defined");let D=await J.signAndBroadcast(M,N,L,O);if(D.code!==0)throw new e.SwapKitError("core_swap_transaction_error",{code:D.code,message:D.rawLog});return D.transactionHash}async function X(){let L,O=`${C}/${T?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:N}}=await e.RequestClient.get(O);if(!N||Number.isNaN(N)||N<0)throw new e.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:N.toString()});L=new e.SwapKitNumber(N)}catch{L=new e.SwapKitNumber({decimal:e.getChainConfig(y).baseDecimal,value:T?1:0.02})}return{[e.FeeOption.Average]:L,[e.FeeOption.Fast]:L,[e.FeeOption.Fastest]:L}}async function Y({assetValue:L,memo:O="",recipient:N}){let{TxRaw:z}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:J,signingClient:M}=await q(),D=(await J.getAccounts())?.[0]?.address;if(!D)throw new e.SwapKitError("toolbox_cosmos_no_signer");let S="signAmino"in J,R=JT({assetValue:L,memo:O,recipient:N,sender:D});if(S){let B=await Af(R,y),{signatures:F,authInfoBytes:I}=await M.sign(D,[B],Q,O),j=z.encode({authInfoBytes:I,bodyBytes:await Nn({chain:y,memo:O,msgs:[R].map(qf)}),signatures:F}).finish();return(await M.broadcastTx(j)).transactionHash}let k=qf(R),$=await Af(k,y);return W({fee:Q,memo:O,msgs:[$]})}async function w(L){let{signer:O,signingClient:N}=await q(),z=(await O.getAccounts())?.[0]?.address;if(!z)throw new e.SwapKitError("toolbox_cosmos_signer_not_defined");return N.sign(z,L.msgs,L.fee,L.memo,{accountNumber:BigInt(L.accountNumber),chainId:L.chainId,sequence:L.sequence})}return{...A,broadcastMultisigTx:FU({chain:y,prefix:H}),buildAminoMsg:JT,buildEncodedTxBody:Nn,convertToSignable:Af,createDefaultAminoTypes:()=>_f(y),createDefaultRegistry:kf,createMultisig:Y1,createTransaction:h0,deposit:Y,getFees:X,importSignature:lU,parseAminoMessageForDirectSigning:qf,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:O}=(await import("@cosmjs/amino")).default;return O(L,H)},secp256k1HdWalletFromMnemonic:RU({derivationPath:e.derivationPathToString(_),prefix:H}),signAndBroadcastTransaction:W,signMultisigTx:SU(y),signTransaction:w,signWithPrivateKey:xU,transfer:Y}}var Wf,e,Kf;var r0=p(()=>{m0();zn();ZT();Wf=require("@scure/base"),e=require("@swapkit/helpers"),Kf=require("ts-pattern")});var Xf,$U=(y,n)=>{switch(y){case Xf.Chain.Cosmos:case Xf.Chain.Kujira:case Xf.Chain.Noble:return wn({chain:y,...n});case Xf.Chain.Maya:case Xf.Chain.THORChain:return d0({chain:y,...n});default:throw new Xf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var B1=p(()=>{ZT();r0();Xf=require("@swapkit/helpers");ZT();r0()});var LT={};By(LT,{verifySignature:()=>L1,transferMsgAmino:()=>j0,toBase64:()=>QU,parseAminoMessageForDirectSigning:()=>qf,getSignerFromPrivateKey:()=>BU,getSignerFromPhrase:()=>c0,getMsgSendDenom:()=>Uf,getFeeRateFromSwapKit:()=>zU,getDenomWithChain:()=>Bn,getDefaultChainFee:()=>ey,getCosmosToolbox:()=>$U,getCosmosAddressValidator:()=>M1,getAssetFromDenom:()=>v0,fromBase64:()=>JU,fetchFeeRateFromSwapKit:()=>i0,estimateTransactionFee:()=>NU,depositMsgAmino:()=>K0,createTransaction:()=>h0,createThorchainToolbox:()=>d0,createStargateClient:()=>yf,createSigningStargateClient:()=>Rf,createOfflineStargateClient:()=>V0,createDefaultRegistry:()=>kf,createDefaultAminoTypes:()=>_f,createCosmosToolbox:()=>wn,cosmosCreateTransaction:()=>b0,convertToSignable:()=>Af,buildTransferTx:()=>U1,buildEncodedTxBody:()=>Nn,buildDepositTx:()=>_1,buildAminoMsg:()=>JT,bech32ToBase64:()=>Mn,base64ToBech32:()=>Yn,YUM_KUJIRA_FACTORY_DENOM:()=>eC,USK_KUJIRA_FACTORY_DENOM:()=>E0,THORCHAIN_GAS_VALUE:()=>MU,MAYA_GAS_VALUE:()=>YU,DEFAULT_NOBLE_FEE_MAINNET:()=>n1,DEFAULT_KUJI_FEE_MAINNET:()=>f1,DEFAULT_COSMOS_FEE_MAINNET:()=>y1});module.exports=wy(LT);var MT=p(()=>{m0();B1();zn()});function IU({builder:y,grouping:n="na",orders:o}){return{builder:y,grouping:n,orders:o,type:"order"}}function PU({cancels:y}){return{cancels:y,type:"cancel"}}function pU({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function tU({oid:y,order:n}){return{oid:y,order:n,type:"modify"}}function EU({modifies:y}){return{modifies:y,type:"batchModify"}}function VU({asset:y,isCross:n,leverage:o}){return{asset:y,isCross:n,leverage:o,type:"updateLeverage"}}function bU({asset:y,isBuy:n,ntli:o}){return{asset:y,isBuy:n,ntli:o,type:"updateIsolatedMargin"}}function vU({asset:y,leverage:n}){return{asset:y,leverage:n,type:"topUpIsolatedOnlyMargin"}}function uU({time:y}){return{time:y,type:"scheduleCancel"}}function jU({amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T}){return{amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T,type:"usdClassTransfer"}}function KU({amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_}){return{amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_,type:"sendAsset"}}function hU({agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T}){return{agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T,type:"approveAgent"}}function mU({builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T}){return{builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T,type:"approveBuilderFee"}}function cU({hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,validator:T,wei:C}){return{hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,type:"tokenDelegate",validator:T,wei:C}}function xy(...y){let n=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(n),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function sU(y,n,o){if(o<n)return new Uint8Array([y+o]);if(o<=255)return new Uint8Array([y+n,o]);if(o<=65535)return new Uint8Array([y+n+1,o>>8,o&255]);return new Uint8Array([y+n+2,o>>>24&255,o>>>16&255,o>>>8&255,o&255])}function Qf(y,n){let o=new Uint8Array(n),f=y;for(let T=n-1;T>=0;T-=1)o[T]=Number(f&0xffn),f>>=8n;return o}function z1(y){if(y>=0n){if(y<=0x7fn)return new Uint8Array([Number(y)]);if(y<=0xffn)return new Uint8Array([204,Number(y)]);if(y<=0xffffn)return xy(new Uint8Array([205]),Qf(y,2));if(y<=0xffffffffn)return xy(new Uint8Array([206]),Qf(y,4));return xy(new Uint8Array([207]),Qf(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return xy(new Uint8Array([209]),Qf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return xy(new Uint8Array([210]),Qf(BigInt.asUintN(32,y),4));return xy(new Uint8Array([211]),Qf(BigInt.asUintN(64,y),8))}function w1(y){let n=aU.encode(y);if(n.length<32)return xy(new Uint8Array([160+n.length]),n);return xy(sU(217,0,n.length),n)}function eU(y){let n=y.map((f)=>a0(f)),o=y.length<16?new Uint8Array([144+y.length]):y.length<=65535?new Uint8Array([220,y.length>>8,y.length&255]):new Uint8Array([221,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return xy(o,...n)}function y2(y){let n=Object.entries(y).filter(([,f])=>typeof f<"u"),o=n.length<16?new Uint8Array([128+n.length]):n.length<=65535?new Uint8Array([222,n.length>>8,n.length&255]):new Uint8Array([223,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return xy(o,...n.flatMap(([f,T])=>[w1(f),a0(T)]))}function a0(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return w1(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new YT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return z1(BigInt(y))}if(typeof y==="bigint")return z1(y);if(y instanceof Uint8Array){let n=y.length<=255?new Uint8Array([196,y.length]):y.length<=65535?new Uint8Array([197,y.length>>8,y.length&255]):new Uint8Array([198,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return xy(n,y)}if(Array.isArray(y))return eU(y);if(typeof y==="object")return y2(y);throw new YT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function f2(y){let n=y.startsWith("0x")?y.slice(2):y;if(n.length%2!==0||/[^a-fA-F0-9]/u.test(n))throw new YT.SwapKitError("helpers_invalid_params",{hexValue:y});let o=new Uint8Array(n.length/2);for(let f=0;f<n.length;f+=2)o[f/2]=Number.parseInt(n.slice(f,f+2),16);return o}function D1(y){return{domain:gU,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...iU.Agent]}}}function R1(y){let n=rU[y.type],o=dU[y.type],{type:f,...T}=y;return{domain:{chainId:Number.parseInt(T.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:N1,version:"1"},message:{...T,hyperliquidChain:T.hyperliquidChain||O1},primaryType:n,types:{[n]:o}}}function k1(y){let n=BT.Signature.from(y);return{r:n.r,s:n.s,v:n.v}}function S1(y,n,{expiresAfter:o,vaultAddress:f}={}){let T=a0(y),C=Qf(BigInt(n),8),H=f?xy(new Uint8Array([1]),f2(f.toLowerCase())):new Uint8Array([0]),U=typeof o==="number"?xy(new Uint8Array([0]),Qf(BigInt(o),8)):new Uint8Array;return BT.keccak256(xy(T,C,H,U))}function F1(y){let n=y.hyperliquidChain||O1;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:n};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:n};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:n};case"tokenDelegate":return{...y,hyperliquidChain:n,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:n};default:return y}}var YT,BT,N1="0x0000000000000000000000000000000000000000",gU,iU,O1="Mainnet",dU,rU,aU;var l1=p(()=>{YT=require("@swapkit/helpers"),BT=require("ethers"),gU={chainId:1337,name:"Exchange",verifyingContract:N1,version:"1"},iU={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},dU={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"}]},rU={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},aU=new TextEncoder});function by(y,n){if(!yo(y))throw new fy.SwapKitError(n,{address:y});return y.toLowerCase()}async function Sf(y){let n=await zT();return fy.RequestClient.post(`${n}/info`,{json:y})}function _2({dex:y,user:n}){return Sf({...y?{dex:y}:{},type:"clearinghouseState",user:by(n,"helpers_invalid_params")})}function A2({user:y}){return Sf({type:"spotClearinghouseState",user:by(y,"helpers_invalid_params")})}function q2({dex:y,user:n}){return Sf({...y?{dex:y}:{},type:"openOrders",user:by(n,"helpers_invalid_params")})}function G2({dex:y,user:n}){return Sf({...y?{dex:y}:{},type:"frontendOpenOrders",user:by(n,"helpers_invalid_params")})}function W2({oidOrCloid:y,user:n}){return Sf({oid:y,type:"orderStatus",user:by(n,"helpers_invalid_params")})}function X2({aggregateByTime:y,user:n}){return Sf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:by(n,"helpers_invalid_params")})}function Q2({aggregateByTime:y,endTime:n,startTime:o,user:f}){return Sf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof n==="number"?{endTime:n}:{},startTime:o,type:"userFillsByTime",user:by(f,"helpers_invalid_params")})}function x1({coin:y,token:n,value:o,spotMeta:f}){if(!o||Number(o)<=0)return null;let T=y?.toUpperCase()||`TOKEN-${n||"UNKNOWN"}`,C=n2[T]||P1,H=f?.tokens?.find((_)=>_.name===y||n!==void 0&&_.index===Number(n)),U=H?`${dy}.${T}-${H.name}:${H.tokenId}`:`${dy}.${T}`;return new fy.AssetValue({decimal:C,identifier:U,value:o})}function J2(y){let n=new Map;for(let o of y){let f=o.toString({includeSynthProtocol:!0}),T=n.get(f);n.set(f,T?T.add(o):o)}if(![...n.values()].some((o)=>o.isGasAsset||o.ticker==="HYPE")){let o=fy.AssetValue.from({chain:dy,value:0});n.set(o.toString({includeSynthProtocol:!0}),o)}return[...n.values()]}async function zT(){try{return await fy.getRPCUrl(dy)}catch{let[y]=fy.getChainConfig(dy).rpcUrls;if(!y)throw new fy.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:dy});return y}}async function e0(){return`${await zT()}/exchange`}function Z2(y){let n=U2[y.type],{type:o,...f}=y,T=H2[o];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:C2,version:"1"},message:f,primaryType:n,types:{[n]:T}}}async function p1({action:y,expiresAfter:n,nonce:o,vaultAddress:f}){let T=o||Date.now(),C=f?by(f,"helpers_invalid_params"):void 0,H=await e0(),U=S1(y,T,{expiresAfter:n,vaultAddress:C});return{action:y,endpoint:H,expiresAfter:n,nonce:T,typedData:D1(U),vaultAddress:C}}async function t1({action:y,nonce:n,signatureChainId:o}){let f=n||y.nonce||Date.now(),T=o||y.signatureChainId||"0xa4b1",C=F1({...y,nonce:f,signatureChainId:T});return{action:C,endpoint:await e0(),nonce:f,typedData:R1(C)}}async function s0({assetValue:y,recipient:n,sender:o,signatureChainId:f,time:T}){let C=by(n,"core_transaction_invalid_recipient_address"),H=by(o,"core_transaction_invalid_sender_address"),U=await e0(),_=y.getValue("string"),A=T||Date.now(),Q=y.address;if(!Q)throw new fy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:H});let Z={amount:_,destination:C,hyperliquidChain:T2,signatureChainId:f||o2,time:A,token:Q,type:"spotSend"};return{action:Z,endpoint:U,nonce:A,typedData:Z2(Z)}}async function $1(y){let n=await fy.RequestClient.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(n.status!=="ok")throw new fy.SwapKitError("core_transaction_failed",{response:n});return n}async function L2(y,n){let o=await zT(),f=n-5000;for(let T=0;T<5;T++){if(T>0)await new Promise((C)=>setTimeout(C,1000));try{let C=await fy.RequestClient.post(`${o}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),H=Array.isArray(C)?C.find((U)=>U.time&&U.time>=n&&(U.delta?.type==="spotTransfer"||U.delta?.type==="internalTransfer")):void 0;if(H?.hash)return H.hash}catch{}}return""}function yo(y){return y.startsWith("0x")&&Xn(y)}function M2(y){let n=ly(dy),o=y&&"index"in y?y.index||0:0,f=fy.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:fy.updateDerivationPath(fy.NetworkDerivationPath[dy],{index:o})),T,C=!1;function H(){if(C)return T;return T=hf.match(y).with({phrase:hf.P.string},({phrase:G})=>{return I1.HDNodeWallet.fromPhrase(G,void 0,f)}).with({signer:hf.P.not(hf.P.nullish)},({signer:G})=>G).otherwise(()=>{return}),C=!0,T}async function U(){let G=H();return G?await G.getAddress():""}async function _(G){let q=H();if(!q)throw new fy.SwapKitError("toolbox_hypercore_no_signer");let W=await q.signTypedData(G.typedData.domain,G.typedData.types,G.typedData.message);return{action:G.action,endpoint:G.endpoint,nonce:G.nonce,signature:k1(W),..."expiresAfter"in G?{expiresAfter:G.expiresAfter}:{},..."vaultAddress"in G?{vaultAddress:G.vaultAddress}:{}}}async function A(G){let q=by(G,"helpers_invalid_params");try{let W=await zT(),[X,Y,w]=await Promise.all([fy.RequestClient.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:q}}),fy.RequestClient.post(`${W}/info`,{json:{type:"clearinghouseState",user:q}}),fy.RequestClient.post(`${W}/info`,{json:{type:"spotMeta"}})]),L=(X.spotState?.balances||X.balances||[]).map(({coin:N,token:z,total:J})=>x1({coin:N,spotMeta:w,token:z,value:J})).filter((N)=>!!N),O=x1({coin:"USDC",spotMeta:w,value:Y.withdrawable||Y.marginSummary?.accountValue||Y.marginSummary?.totalRawUsd});return J2(O?[...L,O]:L)}catch{return n(q)}}async function Q(G){let q=H();if(!q)throw new fy.SwapKitError("toolbox_hypercore_no_signer");let W=G.sender||await q.getAddress(),X=await s0({...G,feeRate:0,sender:W}),Y=await _(X);return await $1(Y),L2(W,X.nonce)}function Z(){return fy.AssetValue.from({chain:dy,value:0})}return{broadcastTransaction:$1,createL1ActionRequest:p1,createTransaction:s0,createUserSignedActionRequest:t1,estimateTransactionFee:Z,getAddress:U,getBalance:A,getState:{clearinghouse:_2,frontendOpenOrders:G2,openOrders:q2,orderStatus:W2,spotClearinghouse:A2,userFills:X2,userFillsByTime:Q2},signTransaction:_,transfer:Q,validateAddress:yo}}var fy,I1,hf,dy,P1,n2,T2="Mainnet",o2="0xa4b1",C2="0x0000000000000000000000000000000000000000",H2,U2;var E1=p(()=>{x0();sy();l1();fy=require("@swapkit/helpers"),I1=require("ethers"),hf=require("ts-pattern"),dy=fy.Chain.HyperCore,{baseDecimal:P1}=fy.getChainConfig(dy),n2={HYPE:P1,USDC:6,USDT:6},H2={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},U2={spotSend:"HyperliquidTransaction:SpotSend"}});var fo={};By(fo,{validateHyperCoreAddress:()=>yo,getHyperCoreToolbox:()=>M2,createUserSignedActionRequest:()=>t1,createTransaction:()=>s0,createL1ActionRequest:()=>p1,buildUsdClassTransferAction:()=>jU,buildUpdateLeverageAction:()=>VU,buildUpdateIsolatedMarginAction:()=>bU,buildTopUpIsolatedOnlyMarginAction:()=>vU,buildTokenDelegateAction:()=>cU,buildSendAssetAction:()=>KU,buildScheduleCancelAction:()=>uU,buildOrderAction:()=>IU,buildModifyAction:()=>tU,buildCancelByCloidAction:()=>pU,buildCancelAction:()=>PU,buildBatchModifyAction:()=>EU,buildApproveBuilderFeeAction:()=>mU,buildApproveAgentAction:()=>hU});module.exports=wy(fo);var no=p(()=>{E1()});async function v1(y){let n=a.AssetValue.from({address:y,chain:a.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:y,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let o=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(o);if(!f.ok)return null;let T=await f.json();if(!Array.isArray(T)||T.length===0)return null;return T.find((H)=>H.id===y)||null}catch{return null}}async function Y2(y){let n=await ff(),{PublicKey:o}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),T=new o(y),{baseDecimal:C}=a.getChainConfig(a.Chain.Solana),H=await n.getBalance(T),U=[a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:C,value:H||0})],_=await n.getParsedTokenAccountsByOwner(T,{programId:f});for(let{account:A}of _.value){let Q=A.data.parsed.info,Z=Q.mint,G=Q.tokenAmount.amount;if(Number(G)===0)continue;let q=await v1(Z),W=q?.symbol||"UNKNOWN",X=q?.decimals||Q.tokenAmount.decimals;U.push(a.AssetValue.from({asset:`${a.Chain.Solana}.${W}-${Z}`,fromBaseDecimal:X,value:G}))}return U}function oo(y){try{let n=new nf.PublicKey(y);return nf.PublicKey.isOnCurve(n.toBytes())}catch{return!1}}function B2(y){let n=y&&"index"in y?y.index||0:0,o=a.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[a.Chain.Solana],{index:n})),f;async function T(){if(f)return f;return f=await Dn.match(y).with({phrase:Dn.P.string},({phrase:H})=>To({derivationPath:o,phrase:H})).with({signer:Dn.P.any},({signer:H})=>H).otherwise(()=>{return}),f}async function C(){let H=await T();return H?.publicKey?b1(H.publicKey):""}return{broadcastTransaction:NT(ff),createKeysForPath:To,createTransaction:Co(ff),createTransactionFromInstructions:w2,estimateTransactionFee:z2(ff),getAddress:C,getAddressFromPubKey:b1,getBalance:ly(a.Chain.Solana),getBalanceFromRPC:Y2,getConnection:ff,getPubkeyFromAddress:(H)=>new nf.PublicKey(H),signAndBroadcastTransaction:async(H)=>{let U=await V1(ff,T)(H);return NT(ff)(U)},signTransaction:V1(ff,T),transfer:D2(ff,T),validateAddress:oo}}function z2(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let H=await y(),_=(await Co(y)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:n,sender:C})).compileMessage(),A=await H.getFeeForMessage(_);if(A.value===null)throw new a.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Q}=a.getChainConfig(a.Chain.Solana);return a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:Q,value:A.value})}}async function ff(){let{Connection:y}=await import("@solana/web3.js"),n=await a.getRPCUrl(a.Chain.Solana);return new y(n,{commitment:"confirmed",fetchMiddleware:(o,f,T)=>{let C={};for(let[H,U]of Object.entries(f?.headers??{})){let _=H.toLowerCase();if(_!=="pragma"&&_!=="solana-client")C[H]=U}T(o,{...f,headers:C})}})}function N2(y){return async({assetValue:n,recipient:o,sender:f,isProgramDerivedAddress:T})=>{let C=await y(),H=new nf.PublicKey(f);if(n.isGasAsset){let{Transaction:U,SystemProgram:_}=await import("@solana/web3.js");return new U().add(_.transfer({fromPubkey:H,lamports:n.getBaseValue("number"),toPubkey:new nf.PublicKey(o)}))}if(n.address)return O2({amount:n.getBaseValue("number"),connection:C,decimals:n.decimal,from:H,isProgramDerivedAddress:T,recipient:o,tokenAddress:n.address});return}}async function O2({tokenAddress:y,recipient:n,from:o,connection:f,amount:T,decimals:C,isProgramDerivedAddress:H}){let{getAssociatedTokenAddress:U,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:Q}=await import("@solana/spl-token"),{Transaction:Z}=await import("@solana/web3.js"),G=new Z,q=new nf.PublicKey(y),W=await U(q,o),X=new nf.PublicKey(n),Y=await U(q,X,H),w=!1;try{await _(f,Y),w=!0}catch{}if(!w)G.add(A(o,Y,X,q));return G.add(Q(W,q,Y,o,T,C)),G}function Co(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let{createMemoInstruction:H}=await import("@solana/spl-memo"),U=new nf.PublicKey(C);if(!(T||oo(n)))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let _=await y(),A=await N2(y)({assetValue:o,isProgramDerivedAddress:T,recipient:n,sender:C});if(!A)throw new a.SwapKitError("core_transaction_invalid_sender_address");if(f)A.add(H(f));let Q=await _.getLatestBlockhash();return A.recentBlockhash=Q.blockhash,A.feePayer=U,A}}async function w2({instructions:y}){let{Transaction:n}=await import("@solana/web3.js"),o=new n().add(...y);if(!o)throw new a.SwapKitError("core_transaction_invalid_sender_address");return o}function D2(y,n){return async({recipient:o,assetValue:f,memo:T,isProgramDerivedAddress:C})=>{let H=await n();if(!H)throw new a.SwapKitError("core_transaction_invalid_sender_address");let U=H.publicKey?.toString()??(await H.connect()).publicKey.toString(),_=await Co(y)({assetValue:f,isProgramDerivedAddress:C,memo:T,recipient:o,sender:U});if("signTransaction"in H){let A=await H.signTransaction(_);return NT(y)(A)}return _.sign(H),NT(y)(_)}}function NT(y){return async(n)=>{return(await y()).sendRawTransaction(n.serialize())}}function V1(y,n){return async(o)=>{let f=await n();if(!f)throw new a.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:T}=await import("@solana/web3.js");if(!(o instanceof T)){let H=await(await y()).getLatestBlockhash();o.recentBlockhash=H.blockhash,o.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(o);return o.sign([f]),o}}async function To({phrase:y,derivationPath:n=a.DerivationPath.SOL}){let{HDKey:o}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:T}=await import("@solana/web3.js"),C=f(y),H=o.fromMasterSeed(C);return T.fromSeed(H.derive(n,!0).privateKey)}function b1(y){return y.toString()}var nf,a,Dn;var u1=p(()=>{sy();nf=require("@solana/web3.js"),a=require("@swapkit/helpers"),Dn=require("ts-pattern")});var Ho={};By(Ho,{validateSolanaAddress:()=>oo,getSolanaToolbox:()=>B2,fetchTokenMetaData:()=>v1,createKeysForPath:()=>To});module.exports=wy(Ho);var Uo=p(()=>{u1()});function OT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function wT({phrase:y,derivationPath:n=g.DerivationPath.STRK}){let{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:T,hash:C,encode:H,CallData:U}=await import("starknet"),_=f(y),Q=o.fromMasterSeed(_).derive(n);if(!Q.privateKey)throw new g.SwapKitError("toolbox_starknet_no_signer");let Z=H.addHexPrefix(Buffer.from(Q.privateKey).toString("hex")),G=T.starkCurve.grindKey(Z),q=H.addHexPrefix(G),W=T.starkCurve.getStarkKey(q),X=U.compile([W,0]);return{address:C.calculateContractAddressFromHash(W,Ao,X,0),privateKey:q,publicKey:W}}async function qo({phrase:y,derivationPath:n=g.DerivationPath.STRK}){let{Account:o,RpcProvider:f}=await import("starknet"),{privateKey:T,address:C}=await wT({derivationPath:n,phrase:y}),H=await g.getRPCUrl(g.Chain.Starknet),U=new f({nodeUrl:H});return new o({address:C,provider:U,signer:T})}function K1(y){let n=g.Chain.Starknet,o=y&&"index"in y?y.index||0:0,f=g.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[n],{index:o})),T,C,H;async function U(){if(C)return C;let{RpcProvider:z}=await import("starknet"),J=await g.getRPCUrl(n);return C=new z({nodeUrl:J}),C}async function _(z){let J=await U(),M=z||await G();if(!M)return!1;try{return await J.getClassHashAt(M),!0}catch(D){if(D instanceof Error&&D.message.includes("Contract not found"))return!1;let S=D;if(S?.code===20||S?.code===19)return!1;throw D}}async function A(){let{CallData:z,hash:J}=await import("starknet"),M=await U(),D=await Z();if(!D)throw new g.SwapKitError("toolbox_starknet_no_signer");if(!H)throw new g.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return D.address;let R=z.compile([H,0]);if(J.calculateContractAddressFromHash(H,Ao,R,0).toLowerCase()!==D.address.toLowerCase())throw new g.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let $={addressSalt:H,classHash:Ao,constructorCalldata:R},{transaction_hash:B}=await D.deployAccount($);return await M.waitForTransaction(B),B}async function Q(){if(!await _()){if(!H)throw new g.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 Z(){if(T)return T;return T=await vy.match(y).with({phrase:vy.P.string},async({phrase:z})=>{let{Account:J,RpcProvider:M}=await import("starknet"),{privateKey:D,address:S,publicKey:R}=await wT({derivationPath:f,phrase:z});H=R;let k=await g.getRPCUrl(g.Chain.Starknet),$=new M({nodeUrl:k});return new J({address:S,provider:$,signer:D})}).with({address:vy.P.string,privateKey:vy.P.string},async({privateKey:z,address:J})=>{let{Account:M}=await import("starknet"),D=await U();return new M({address:J,provider:D,signer:z})}).with({signer:vy.P.instanceOf(Object)},({signer:z})=>z).otherwise(()=>{return}),T}async function G(){return(await Z())?.address??""}async function q(z){let J=await U(),{uint256:M,CallData:D}=await import("starknet"),S=[],R=[_o,j1];for(let k of R)try{let[$="0",B="0"]=await J.callContract({calldata:D.compile({account:z}),contractAddress:k,entrypoint:"balanceOf"}),F=M.uint256ToBN({high:$,low:B});vy.match(k).with(_o,()=>{S.push(g.AssetValue.from({chain:n,value:F}))}).with(j1,()=>{if(F>0n)S.push(g.AssetValue.from({asset:`${n}.ETH-${k}`,value:F}))}).otherwise(()=>{})}catch{}return S}async function W({recipient:z,assetValue:J}){let{CallData:M,uint256:D}=await import("starknet");if(!OT(z))throw new g.SwapKitError("core_transaction_invalid_recipient_address",{address:z});let S=J.isGasAsset?_o:J.address;if(!S)throw new g.SwapKitError("toolbox_starknet_invalid_address",{address:S,assetValue:J});let R=D.bnToUint256(J.getBaseValue("bigint"));return[{calldata:M.compile([z,R]),contractAddress:S,entrypoint:"transfer"}]}async function X({recipient:z,assetValue:J,sender:M}){let{baseDecimal:D}=g.getChainConfig(g.Chain.Starknet),S=await Z(),R=await vy.match({sender:M,signer:S}).with({sender:vy.P.string},async({sender:k})=>{let{Account:$}=await import("starknet"),B=await U();return new $({address:k,provider:B,signer:"0x0"})}).with({signer:vy.P.nonNullable},({signer:k})=>k).otherwise((k)=>{throw new g.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:k}})});try{let k=await W({assetValue:J,recipient:z}),$=await R.estimateInvokeFee(k);if($?.overall_fee)return g.AssetValue.from({chain:n,fromBaseDecimal:D,value:$.overall_fee})}catch(k){throw new g.SwapKitError("toolbox_starknet_fee_estimation_failed",k)}return g.AssetValue.from({chain:n,value:"0.00001"})}async function Y({recipient:z,assetValue:J,memo:M}){let D=await Z();if(!D)throw new g.SwapKitError("toolbox_starknet_no_signer");await Q();let S=await W({assetValue:J,memo:M,recipient:z});return(await D.execute(S)).transaction_hash}async function w(z){let J=await Z();if(!J)throw new g.SwapKitError("toolbox_starknet_no_signer");let M=await J.signMessage(z);return Array.isArray(M)?M:[M.r.toString(),M.s.toString()]}async function L(z){let J=await Z();if(!J)throw new g.SwapKitError("toolbox_starknet_no_signer");return await Q(),(await J.execute(z)).transaction_hash}function O(z){return L(z)}function N(z,J=!0){try{return ly(n)(z,J)}catch{return q(z)}}return{broadcastTransaction:L,createKeysForPath:qo,createTransaction:W,deployAccount:A,estimateTransactionFee:X,getAddress:G,getBalance:N,getProvider:U,isAccountDeployed:_,signAndBroadcastTransaction:O,signMessage:w,transfer:Y,validateAddress:OT}}var g,vy,_o="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",j1="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ao="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var h1=p(()=>{sy();g=require("@swapkit/helpers"),vy=require("ts-pattern")});var DT={};By(DT,{validateStarknetAddress:()=>OT,starknetCreateKeysForPath:()=>qo,getStarknetToolbox:()=>K1,deriveStarknetKeys:()=>wT});module.exports=wy(DT);var RT=p(()=>{h1()});async function g1(y,n,o,f=[],T){let C=await y.getCoins({coinType:o,cursor:T,owner:n}),H=[...f,...C.data];return C.hasNextPage?g1(y,n,o,H,C.nextCursor):H}function R2(y,n,o){let f=n.reduce((_,A)=>_+BigInt(A.balance),0n);if(f<o)throw new Cy.SwapKitError("toolbox_sui_insufficient_balance",{available:f.toString(),required:o.toString()});let{ids:T}=n.reduce((_,A)=>{if(_.total>=o)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),C=T[0],H=T.slice(1);if(H.length>0)y.mergeCoins(C,H);let[U]=y.splitCoins(C,[o]);return U}function i1(y){try{return c1.isValidSuiAddress(y)}catch{return!1}}function m1(y){return"signWithIntent"in y}function k2({provider:y,...n}={}){let o;async function f(){if(o)return o;return o=await Rn.match(n).with({phrase:Rn.P.string},async({phrase:W})=>{let{Ed25519Keypair:X}=await import("@mysten/sui/keypairs/ed25519");return X.deriveKeypair(W)}).with({signer:Rn.P.any},({signer:W})=>W).otherwise(()=>{return}),o}async function T(W=y){let{SuiClient:X,getFullnodeUrl:Y}=await import("@mysten/sui/client");return new X({url:W||Y("mainnet")})}async function C(){return(await f())?.toSuiAddress()||""}function H(W){try{let X=Cy.AssetValue.from({address:W,chain:Cy.Chain.Sui});return{asset:X.toString(),decimals:X.decimal}}catch{}return null}async function U(W){let X=W||await C();if(!X)throw new Cy.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Y,chain:w}=Cy.getChainConfig(Cy.Chain.Sui);try{let L=await T(),{totalBalance:O}=await L.getBalance({owner:X}),N=[Cy.AssetValue.from({chain:w,fromBaseDecimal:Y,value:O})],z=await L.getAllBalances({owner:X});for(let{coinType:J,totalBalance:M}of z){if(J==="0x2::sui::SUI"||Number(M)<=0)continue;let D=H(J);if(D)N.push(Cy.AssetValue.from({asset:D.asset,fromBaseDecimal:D.decimals,value:M}))}return N}catch{return[Cy.AssetValue.from({chain:w})]}}async function _(W){let X=Cy.AssetValue.from({chain:Cy.Chain.Sui,value:"0.01"});if(!W)return X;try{let Y=await T(),{txBytes:w}=await A(W),{effects:{status:L,gasUsed:O}}=await Y.dryRunTransactionBlock({transactionBlock:w});if(L.status!=="success")return X;let N=Number(O.computationCost)+Number(O.storageCost)-Number(O.storageRebate);return Cy.AssetValue.from({chain:Cy.Chain.Sui,value:N.toString()})}catch{return X}}async function A({recipient:W,assetValue:X,gasBudget:Y,sender:w}){let{Transaction:L}=await import("@mysten/sui/transactions"),O=w||await C();if(!O)throw new Cy.SwapKitError("toolbox_sui_no_sender");try{let N=new L;if(N.setSender(O),X.isGasAsset||X.symbol==="SUI"){let[M]=N.splitCoins(N.gas,[X.getBaseValue("string")]);N.transferObjects([M],W)}else{let M=X.address;if(!M)throw new Cy.SwapKitError("toolbox_sui_missing_coin_type");let D=await T(),S=X.getBaseValue("bigint"),R=await g1(D,O,M);if(!R.length)throw new Cy.SwapKitError("toolbox_sui_no_coins_found",{coinType:M});let k=R2(N,R,S);N.transferObjects([k],W)}if(Y)N.setGasBudget(Y);let z=await T(),J=await N.build({client:z});return{tx:N,txBytes:J}}catch(N){if(N instanceof Cy.SwapKitError)throw N;throw new Cy.SwapKitError("toolbox_sui_transaction_creation_error",{error:N})}}async function Q(W){let X=await f();if(!X)throw new Cy.SwapKitError("toolbox_sui_no_signer");if(W instanceof Uint8Array)return X.signTransaction(W);let{txBytes:Y}="tx"in W?W:await A(W);return X.signTransaction(Y)}async function Z({assetValue:W,gasBudget:X,recipient:Y}){let w=await f();if(!w)throw new Cy.SwapKitError("toolbox_sui_no_signer");let L=w.toSuiAddress()||await C();if(!L)throw new Cy.SwapKitError("toolbox_sui_no_sender");let{txBytes:O}=await A({assetValue:W,gasBudget:X,recipient:Y,sender:L}),N=await T();if(!m1(w)){let J=await w.signTransaction(O),{digest:M}=await N.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return M}let{digest:z}=await N.signAndExecuteTransaction({signer:w,transaction:O});return z}async function G(W){let X=await T(),{digest:Y}=await X.executeTransactionBlock({signature:W.signature,transactionBlock:W.bytes});return Y}async function q(W){let X=await f();if(!X)throw new Cy.SwapKitError("toolbox_sui_no_signer");let Y=await T(),w;if(typeof W==="string")w=Uint8Array.from(Buffer.from(W,"base64"));else if(W instanceof Uint8Array)w=W;else w=await W.build({client:Y});if(!m1(X)){let O=await X.signTransaction(w),{digest:N}=await Y.executeTransactionBlock({signature:O.signature,transactionBlock:O.bytes});return N}let{digest:L}=await Y.signAndExecuteTransaction({signer:X,transaction:w});return L}return{broadcastTransaction:G,createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:U,signAndBroadcastTransaction:q,signTransaction:Q,transfer:Z,validateAddress:i1}}var c1,Cy,Rn;var d1=p(()=>{c1=require("@mysten/sui/utils"),Cy=require("@swapkit/helpers"),Rn=require("ts-pattern")});var kT={};By(kT,{validateSuiAddress:()=>i1,getSuiToolbox:()=>k2});module.exports=wy(kT);var ST=p(()=>{d1()});async function $2(){let y=Date.now();if(FT&&y-a1<x2)return FT;try{return FT=await s1.getHttpEndpoint(),a1=y,FT}catch{return Jy.getRPCUrl(Jy.Chain.Ton)}}function I2(y={}){let n,o,f;async function T(){if(!n){let N=y.provider??await $2();n=new d.TonClient({endpoint:N})}return n}async function C(){return(await U()).address.toString()}async function H(){if(f)return f;return f=await Ff.match(y).with({phrase:Ff.P.string},async({phrase:N})=>e1.mnemonicToWalletKey(N.split(" "))).with({signer:Ff.P.any},({signer:N})=>N).otherwise(()=>{return}),f}async function U(N){if(!o||N){let z=await H(),J=await T(),M=N||z;if(!M)throw new Jy.SwapKitError("core_wallet_connection_not_found");let D=d.WalletContractV4.create({publicKey:M.publicKey,workchain:0});o=J.open(D)}return o}let _=ly(Jy.Chain.Ton);async function A({assetValue:N,recipient:z,memo:J,sender:M}){if(N.isGasAsset){let j=J?O(J).toBoc().toString("base64"):void 0;return[{address:z,amount:N.getBaseValue("string"),payload:j}]}let D=N.address;if(!D)throw new Jy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:N.toString()}});let S=M??await C(),R=await w({jettonMasterAddress:D,ownerAddress:S}),k=d.Address.parse(z),$=d.Address.parse(S),B=N.getBaseValue("bigint"),F=J?O(J):void 0,I=L({destinationAddress:k,forwardPayload:F,jettonAmount:B,responseAddress:$});return[{address:R.toString(),amount:l2.toString(),payload:I.toBoc().toString("base64")}]}function Q({sender:N,...z}){return A({...z,sender:N})}function Z(N){return N.map((z)=>{let J=z.payload?d.Cell.fromBase64(z.payload):void 0,M=z.stateInit?d.loadStateInit(d.Cell.fromBase64(z.stateInit).asSlice()):void 0,D=d.Address.parse(z.address),S=d.Address.isFriendly(z.address)?d.Address.parseFriendly(z.address).isBounceable:!0;return d.internal({body:J,bounce:S,init:M,to:D,value:BigInt(z.amount)})})}async function G(N){let z=await H(),J=await U();if(!J||!z)throw new Jy.SwapKitError("core_wallet_connection_not_found");let M=await T(),{state:D}=await M.getContractState(J.address),S=D==="active",R=S?await J.getSeqno():0,k=J.createTransfer({messages:Z(N),secretKey:z.secretKey,sendMode:r1,seqno:R}),$=d.external({body:k,init:S?void 0:J.init,to:J.address});return d.beginCell().store(d.storeMessage($)).endCell()}async function q(N){return await(await T()).sendFile(N.toBoc()),N.hash().toString("hex")}async function W(N){let z=await G(N);return q(z)}async function X({assetValue:N,recipient:z,memo:J}){let M=await Q({assetValue:N,memo:J,recipient:z});return W(M)}async function Y({sender:N,...z}){let{baseDecimal:J}=Jy.getChainConfig(Jy.Chain.Ton),M=await Ff.match(N).with(Ff.P.string,(R)=>{return d.Address.parseFriendly(R).address}).otherwise(async()=>{return(await U()).address});if(!M)throw new Jy.SwapKitError("toolbox_fee_estimation_failed",{chain:Jy.Chain.Ton});let D=Jy.AssetValue.from({chain:Jy.Chain.Ton,value:"0.01"}),S=await T();try{let R=await Q({sender:N,...z}),k=await H(),$=await U();if(!$||!k)return D;let B=await $.getSeqno(),F=$.createTransfer({messages:Z(R),secretKey:k.secretKey,sendMode:r1,seqno:B}),{source_fees:I}=await S.estimateExternalMessageFee(M,{body:F,ignoreSignature:!0,initCode:null,initData:null}),j=I.in_fwd_fee+I.storage_fee+I.gas_fee+I.fwd_fee;return D.set(Jy.SwapKitNumber.fromBigInt(BigInt(j),J))}catch{return D}}async function w({jettonMasterAddress:N,ownerAddress:z}){try{let J=await T(),M=d.Address.parse(N),D=d.Address.parse(z);return await J.open(d.JettonMaster.create(M)).getWalletAddress(D)}catch{throw new Jy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:N,ownerAddress:z}})}}function L({jettonAmount:N,destinationAddress:z,responseAddress:J,forwardAmount:M=F2,forwardPayload:D}){let S=d.beginCell().storeUint(S2,32).storeUint(0,64).storeCoins(N).storeAddress(z).storeAddress(J).storeBit(0).storeCoins(M);if(D)S.storeBit(1).storeRef(D);else S.storeBit(0);return S.endCell()}function O(N){return d.beginCell().storeUint(0,32).storeStringTail(N).endCell()}return{broadcastTransaction:q,createTransaction:Q,estimateTransactionFee:Y,getAddress:C,getBalance:_,getJettonWalletAddress:w,sign:G,signAndBroadcastTransaction:W,transfer:X,validateAddress:yH}}function yH(y){try{return d.Address.parse(y),!0}catch{return!1}}var s1,Jy,e1,d,Ff,S2=260734629,F2,l2,r1,x2=60000,FT,a1=0;var fH=p(()=>{sy();s1=require("@orbs-network/ton-access"),Jy=require("@swapkit/helpers"),e1=require("@ton/crypto"),d=require("@ton/ton"),Ff=require("ts-pattern"),F2=d.toNano("0.01"),l2=d.toNano("0.05"),r1=d.SendMode.PAY_GAS_SEPARATELY+d.SendMode.IGNORE_ERRORS});var lT={};By(lT,{validateTonAddress:()=>yH,getTONToolbox:()=>I2});module.exports=wy(lT);var xT=p(()=>{fH()});function uy(y,n){if(!Number.isInteger(n)||n<0)throw RangeError(`${y} must be a non-negative integer, got: ${n}`)}function Jf({accountIndex:y,chain:n,derivationPath:o}){if(y!==void 0)uy("accountIndex",y);let f=[...o?.slice(0,3)??nH.NetworkDerivationPath[n].slice(0,3)];if(y!==void 0)f[2]=y;return f}function mf({accountIndex:y,change:n=!1,chain:o,derivationPath:f,index:T}){return uy("index",T),[...Jf({accountIndex:y,chain:o,derivationPath:f}),Number(n),T]}function lf(y){return y[2]??0}function TH({deriveAddress:y,getBalance:n,getUtxos:o}){async function f(U){let{accountIndex:_,count:A,startIndex:Q=0,change:Z=!1}=U;if(uy("count",A),A<1)throw RangeError("count must be at least 1");uy("startIndex",Q);let G=[];for(let q=0;q<A;q++){let W=await y({accountIndex:_,change:Z,index:Q+q});if(W)G.push(W)}return G}async function T(U){let{gapLimit:_=20,change:A=!1}=U??{},Q=[],Z=0,G=0;while(Z<_){let q=await y({change:A,index:G});if(!q)break;if((await n(q.address)).some((Y)=>Y.getValue("number")>0))Q.push(q),Z=0;else Z++;G++}return Q}async function C(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Q=[..._,...A],Z=await Promise.all(Q.map(async(q)=>{let X=(await n(q.address)).reduce((Y,w)=>Y+w.getValue("number"),0);return{...q,balance:X}})),G=Z.reduce((q,W)=>q+W.balance,0);return{addresses:Z,total:G}}async function H(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Q=[..._,...A];return(await Promise.all(Q.map(async(G)=>{return(await o(G.address)).map((W)=>({...W,address:G.address,derivationIndex:G.index,isChange:G.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:C,getAggregatedUtxos:H,scanForAddresses:T}}var nH;var kn=p(()=>{nH=require("@swapkit/helpers")});async function P2({chain:y,txHash:n}){let o=`${Sn(y)}/push/transaction`,f=JSON.stringify({data:n});try{let T=await c.RequestClient.post(o,{body:f,headers:{"Content-Type":"application/json"}});if(T.context.code!==200)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:T.context.error||"Transaction broadcast failed"});return T.data?.transaction_hash||n}catch(T){let C=await c.getRPCUrl(y);if(C){let H=JSON.stringify({id:ZC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),U=await c.RequestClient.post(C,{body:H,headers:{"Content-Type":"application/json"}});if(U.error)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:U.error?.message});if(U.result.includes('"code":-26'))throw new c.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return U.result}throw T}}function Sn(y){return`https://api.blockchair.com/${p2(y)}`}function oH(y){switch(y){case c.Chain.Bitcoin:return 5;case c.Chain.Dogecoin:return 1e4;case c.Chain.Litecoin:return 1;case c.Chain.Zcash:return 1;default:return 2}}function p2(y){switch(y){case c.Chain.BitcoinCash:return"bitcoin-cash";case c.Chain.Litecoin:return"litecoin";case c.Chain.Dash:return"dash";case c.Chain.Dogecoin:return"dogecoin";case c.Chain.Zcash:return"zcash";case c.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function t2(y){try{let{feePerKb:n}=await c.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),o=n/1000;return Math.max(o,oH(y))}catch{return oH(y)}}async function $T(y,n){let o=await c.RequestClient.get(`${y}${n?`${y.includes("?")?"&":"?"}key=${n}`:""}`);if(!o||o.context.code!==200)throw new c.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return o.data}async function HH({address:y,chain:n,apiKey:o}){if(!y)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await $T(`${Sn(n)}/dashboards/address/${y}?transaction_details=true`,o))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function E2({address:y,chain:n,apiKey:o}){return(await HH({address:y,apiKey:o,chain:n}))?.address.balance||0}async function UH({chain:y,apiKey:n,txHash:o}){if(!o)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await $T(`${Sn(y)}/raw/transaction/${o}`,n))?.[o]?.raw_transaction||""}catch(f){let T=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${T}`),""}}async function b2({chain:y,apiKey:n,txHash:o}){if(!o)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let T=(await $T(`${Sn(y)}/dashboards/transaction/${o}`,n))?.[o];if(!T)throw new c.SwapKitError("toolbox_utxo_tx_not_found",{txHash:o});let{transaction:C,inputs:H,outputs:U}=T,_=H.map((Q)=>Q.spending_sequence),A=C.is_rbf===!0||_.some((Q)=>Q<V2);return{blockId:C.block_id,confirmed:C.block_id!==-1,fee:C.fee,inputs:H,isRBF:A,outputs:U,sequences:_,size:C.size,txid:C.hash,weight:C.weight}}async function v2({chain:y,address:n,apiKey:o,offset:f=0,limit:T=30}){return(await $T(`${Sn(y)}/outputs?q=recipient(${n}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${T}&offset=${f}`,o)).map(({is_spent:_,script_hex:A,block_id:Q,transaction_hash:Z,index:G,value:q,spending_signature_hex:W})=>({hash:Z,index:G,is_confirmed:Q!==-1,is_spent:_,script_hex:A,txHex:W,value:q}))}function u2(y){return y.reduce((n,o)=>n+o.value,0)}function CH(y,n){let o=[...y].sort((f,T)=>T.value-f.value);if(n){let f=[],T=0;for(let C of o)if(f.push(C),T+=C.value,T>=n)break;return f}return o}async function _H({chain:y,address:n,apiKey:o,targetValue:f,accumulativeValue:T=0,offset:C=0,limit:H=30}){if(!n)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let U=await v2({address:n,apiKey:o,chain:y,limit:H,offset:C,targetValue:f}),A=U.length<H,Q=U.filter(({is_spent:Y})=>!Y),Z=u2(Q),G=T+Z,q=f&&G>=f;if(A||q)return CH(Q,f);let W=await _H({accumulativeValue:G,address:n,apiKey:o,chain:y,limit:H,offset:C+H,targetValue:f}),X=[...Q,...W];return CH(X,f)}catch(U){let _=U instanceof Error?U.message:String(U);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function j2({address:y,chain:n,apiKey:o,fetchTxHex:f=!0,targetValue:T}){let C=await _H({address:y,apiKey:o,chain:n,targetValue:T}),H=[];for(let{hash:U,index:_,script_hex:A,value:Q}of C){let Z;if(f)Z=await UH({apiKey:o,chain:n,txHash:U});H.push({address:y,hash:U,index:_,txHex:Z,value:Q,witnessUtxo:{script:Buffer.from(A,"hex"),value:Q}})}return H}function Ny(y){let n=c.SKConfig.get("apiKeys").blockchair||"";return c.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(o)=>P2({chain:y,txHash:o}),getAddressData:(o)=>HH({address:o,apiKey:n,chain:y}),getBalance:(o)=>E2({address:o,apiKey:n,chain:y}),getRawTx:(o)=>UH({apiKey:n,chain:y,txHash:o}),getSuggestedTxFee:()=>t2(y),getTransactionDetails:(o)=>b2({apiKey:n,chain:y,txHash:o}),getUtxos:(o)=>j2({...o,apiKey:n,chain:y})}}function K2(y){return y}function h2(){return function(n){switch(n){case c.Chain.Bitcoin:return xf.NETWORKS.bitcoin;case c.Chain.BitcoinCash:return xf.NETWORKS.bitcoinCash;case c.Chain.Dash:return xf.NETWORKS.dash;case c.Chain.Litecoin:return xf.NETWORKS.litecoin;case c.Chain.Dogecoin:return xf.NETWORKS.dogecoin;case c.Chain.Zcash:return xf.NETWORKS.zcash;default:throw new c.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var c,xf,V2=4294967294;var AH=p(()=>{sy();c=require("@swapkit/helpers"),xf=require("@swapkit/utxo-signer")});function g2(y,n,o){return Tf.encodeCashAddr({hash:o,prefix:y,type:m2[n]})}function i2(y){let n=Tf.decodeCashAddr(y),o=c2[n.type];if(!o)throw Error(`Unknown CashAddr type: ${n.type}`);return{hash:n.hash,prefix:n.prefix,type:o}}var Tf,m2,c2,Go;var qH=p(()=>{Tf=require("@swapkit/utxo-signer"),m2={P2PKH:Tf.CashAddrType.P2PKH,P2SH:Tf.CashAddrType.P2SH},c2={[Tf.CashAddrType.P2PKH]:"P2PKH",[Tf.CashAddrType.P2SH]:"P2SH"};Go={decode:i2,encode:g2}});function Qo(y){try{return IT(y),!0}catch{return!1}}function Jo(y){return IT(y)?.network}function of(y){let n=IT(y);if(n?.format==="legacy")return y;return a2(n)}function Fn(y){let n=IT(y);return s2(n)}function IT(y){try{let n=d2(y);if(n)return n}catch{}try{let n=r2(y);if(n)return n}catch{}throw new Wo.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function d2(y){try{let n=QH.decode(y);if(n.length!==21)throw new Wo.SwapKitError("toolbox_utxo_invalid_address",{address:y});let o=n[0],f=Array.prototype.slice.call(n,1);switch(o){case $f.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case $f.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case $f.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case $f.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case $f.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case $f.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function r2(y){if(y.indexOf(":")!==-1)try{return GH(y)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let o of n)try{return GH(`${o}:${y}`)}catch{}}return}function GH(y){try{let{hash:n,prefix:o,type:f}=Go.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:o==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function a2(y){let n=$f.legacy[y.network][y.type],o=Buffer.alloc(1+y.hash.length);return o[0]=n,o.set(y.hash,1),QH.encode(o)}function s2(y){let n=y.network==="mainnet"?"bitcoincash":"bchtest",o=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return Go.encode(n,o,f)}var WH,XH,Wo,QH,Xo,$f;var JH=p(()=>{qH();WH=require("@noble/hashes/sha2.js"),XH=require("@scure/base"),Wo=require("@swapkit/helpers"),QH=XH.createBase58check(WH.sha256);((o)=>{o.Mainnet="mainnet";o.Testnet="testnet"})(Xo||={});$f={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function py(y){let n=new Uint8Array(Buffer.from(y,"utf8"));return LH.Script.encode(["RETURN",n])}var ZH,LH,e2=1000,pT=10,tT=2,MH=10,y_=41,f_=107,ET,PT,ln,cf=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new ZH.SwapKitError("toolbox_utxo_invalid_address",{address:y})},If=({inputs:y,outputs:n,feeRate:o})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",C=(o?y.filter((A)=>A.value>=PT["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(o)):y).reduce((A,Q)=>A+Zf(Q),0),H=n?.reduce((A,Q)=>A+xn(Q),0)||ln[f],U=pT+C+H;return f==="P2WPKH"?Math.ceil(U+tT/4):U},Zf=(y)=>{if("type"in y&&y.type)return PT[y.type];if("address"in y&&y.address)return PT[cf(y.address)];return y_+f_},xn=(y,n)=>{if(y?.script)return MH+y.script.length+(y.script.length>=74?2:1);if(n)return ln[n];if("address"in y&&y.address)return ln[cf(y.address)];return ln.P2PKH};var Zo=p(()=>{ZH=require("@swapkit/helpers"),LH=require("@swapkit/utxo-signer");((o)=>{o.P2PKH="P2PKH";o.P2WPKH="P2WPKH"})(ET||={});PT={["P2PKH"]:148,["P2WPKH"]:68},ln={["P2PKH"]:34,["P2WPKH"]:31}});function $n(y){switch(y){case ry.Chain.Bitcoin:case ry.Chain.BitcoinCash:return 550;case ry.Chain.Dash:case ry.Chain.Litecoin:return 5500;case ry.Chain.Dogecoin:return 1e5;case ry.Chain.Zcash:return 546;default:throw new ry.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function jy({inputs:y,outputs:n,feeRate:o=1,chain:f=ry.Chain.Bitcoin,changeAddress:T=""}){let C=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",H=y.filter((W)=>Zf(W)*o<=W.value),_=C==="P2WPKH"?Math.ceil(tT/4):0,A=pT+_+n.reduce((W,X)=>W+xn(X),0),Q=n.reduce((W,X)=>W+X.value,0),Z=A*o,G=0,q=[];for(let W of H){let X=Zf(W),Y=o*X;Z+=Y,G+=W.value,q.push(W);let w=Z+Q;if(G<w)continue;let L=G-w,O=o*xn({address:T,value:0});if(L>O){let N=O+Z,z=G-(Q+Math.ceil(N));if(z>Math.max(Zf({value:0})*o,$n(f)))return{fee:Math.ceil(N),inputs:q,outputs:n.concat({address:T,value:z})}}return{fee:Math.ceil(Z),inputs:q,outputs:n}}return{fee:Math.ceil(o*If({inputs:y,outputs:n}))}}var ry;var YH=p(()=>{Zo();ry=require("@swapkit/helpers")});var gf=p(()=>{AH();JH();YH();Zo()});function Pf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Lf(y){let n=Pf(y);return Qo(n)&&Jo(n)==="mainnet"}function df(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let o=VT.Address(VT.ZCASH_NETWORK).decode(y);return o.type==="pkh"||o.type==="sh"}catch{return!1}}var VT;var In=p(()=>{gf();VT=require("@swapkit/utxo-signer")});function Yo({address:y,chain:n}){return Mo.match(n).with(x.Chain.BitcoinCash,()=>Lf(y)).with(x.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return r.Address(Sy(n)).decode(y),!0}catch{return!1}})}function Sy(y){return Mo.match(y).with(x.Chain.Bitcoin,()=>r.NETWORKS.bitcoin).with(x.Chain.BitcoinCash,()=>r.NETWORKS.bitcoinCash).with(x.Chain.Dash,()=>r.NETWORKS.dash).with(x.Chain.Dogecoin,()=>r.NETWORKS.dogecoin).with(x.Chain.Litecoin,()=>r.NETWORKS.litecoin).with(x.Chain.Zcash,()=>r.NETWORKS.zcash).exhaustive()}function n_({phrase:y,derivationPath:n,network:o,seed:f}){let T=f??vT.mnemonicToSeedSync(y),H=Lo.HDKey.fromMasterSeed(T,o.bip32).derive(n);if(!H.privateKey)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return H.privateKey}function BH(y){return zH.secp256k1.getPublicKey(y,!0)}function pn({publicKey:y,chain:n,network:o}){if(n===x.Chain.BitcoinCash){let C=r.p2pkh(y,o);if(!C.hash)throw new x.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:C.hash,prefix:r.CashAddrPrefix.MAINNET,type:r.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let T=!Pn.includes(n)?r.p2wpkh(y,o):r.p2pkh(y,o);if(!T.address)throw new x.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return T.address}function rf({phrase:y,derivationPath:n,chain:o,wif:f,seed:T}){let C=Sy(o);if(f){let A=r.WIF(C).decode(f),Q=BH(A);return{privateKey:A,publicKey:Q}}if(!y)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let H=n||x.derivationPathToString(x.NetworkDerivationPath[o]),U=n_({derivationPath:H,network:C,phrase:y,seed:T}),_=BH(U);return{privateKey:U,publicKey:_}}function T_(y,n){return r.WIF(Sy(n)).encode(y)}function o_({phrase:y,derivationPath:n,chain:o,seed:f}){let T=n.split("/");if(T.length<4)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${T.length}): ${n}`});let C=Sy(o),H=f??vT.mnemonicToSeedSync(y),U=Lo.HDKey.fromMasterSeed(H,C.bip32),_=T.slice(0,4).join("/");return U.derive(_)}function Yf({inputs:y,outputs:n,chain:o,tx:f,sender:T,compiledMemo:C,enableRBF:H=!1}){let U=Sy(o),_=!Pn.includes(o),A=H?r.RBF_SEQUENCE:void 0,Q=new Set;for(let Z of y){let G=`${Z.hash}:${Z.index}`;if(Q.has(G))throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Q.add(G);let q=typeof Z.hash==="string"?Mf.hex.decode(Z.hash):Z.hash;if(_&&Z.witnessUtxo)f.addInput({index:Z.index,sequence:A,txid:q,witnessUtxo:{amount:BigInt(Z.witnessUtxo.value),script:Z.witnessUtxo.script}});else if(Z.txHex)f.addInput({index:Z.index,nonWitnessUtxo:Mf.hex.decode(Z.txHex),sequence:A,txid:q,...o===x.Chain.BitcoinCash?{sighashType:r.BCHSigHash.ALL}:{}});else throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let Z of n){let G="address"in Z&&Z.address?Z.address:T;if(o===x.Chain.BitcoinCash)G=of(G);if(Z.script){if(C)f.addOutput({amount:0n,script:C})}else f.addOutputAddress(G,BigInt(Z.value),U)}return{inputs:y,tx:f}}async function af(y){let n=await Ny(y).getSuggestedTxFee();return{[x.FeeOption.Average]:n,[x.FeeOption.Fast]:x.applyFeeMultiplier(n,x.FeeOption.Fast),[x.FeeOption.Fastest]:x.applyFeeMultiplier(n,x.FeeOption.Fastest)}}async function NH({assetValue:y,recipient:n,memo:o,sender:f,fetchTxHex:T=!1}){let C=y.chain,H=(await af(C))[x.FeeOption.Fastest],U=T||Pn.includes(C),_=y.getBaseValue("number"),A=Math.ceil(_+H*5000);return{inputs:await Ny(C).getUtxos({address:f,fetchTxHex:U,targetValue:A}),outputs:[{address:n,value:_},...o?[{address:"",script:py(o),value:0}]:[]]}}async function OH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T,fetchTxHex:C=!1,enableRBF:H=!1}){let U=y.chain,_=o?py(o):null,A=await NH({assetValue:y,fetchTxHex:C,memo:o,recipient:n,sender:T}),{inputs:Q,outputs:Z}=jy({...A,chain:U,feeRate:f});if(!(Q&&Z))throw new x.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let G=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:q,tx:W}=Yf({chain:U,compiledMemo:_,enableRBF:H,inputs:Q,outputs:Z,sender:T,tx:G});return{inputs:q,tx:W,utxos:A.inputs}}async function wH({assetValue:y,feeOptionKey:n=x.FeeOption.Fast,feeRate:o,memo:f,sender:T,recipient:C}){let H=y.chain,U=await NH({assetValue:y,memo:f,recipient:C,sender:T}),_=o?Math.floor(o):(await af(H))[n];return jy({...U,chain:H,feeRate:_})}function C_(y){return async function({from:o,memo:f,feeRate:T,feeOptionKey:C=x.FeeOption.Fast,recipients:H=1}){let U=await Ny(y).getAddressData(o),_=T?Math.ceil(T):(await af(y))[C],A=U?.utxo.map((X)=>({...X,hash:"",type:"P2PKH"})).filter((X)=>X.value>Math.max($n(y),Zf(X)*_));if(!A?.length)return x.AssetValue.from({chain:y});let Q=BigInt(A.reduce((X,Y)=>X+Y.value,0)),Z=x.AssetValue.from({chain:y,value:Q}),G=typeof H==="number"?Array.from({length:H},()=>({address:o,value:0})):H;if(f)G.push({address:o,script:py(f),value:0});let q=If({inputs:A,outputs:G}),W=x.AssetValue.from({chain:y,value:BigInt(q*_)});return Z.sub(W)}}function H_(y){return async function(o){let{fee:f}=await wH(o);return x.AssetValue.from({chain:y,value:x.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function U_({chain:y,phrase:n,derivationPath:o,seed:f}){let T=Sy(y),{privateKey:C,publicKey:H}=rf({chain:y,derivationPath:o,phrase:n,seed:f}),U=y===x.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>pn({chain:y,network:T,publicKey:H}),privateKey:C,publicKey:H,signTransaction:(_)=>{return _.sign(C,U),_}}}function __(y,n){return async function({memo:f,recipient:T,feeOptionKey:C,feeRate:H,assetValue:U,enableRBF:_=!1}){let A=await n?.getAddress();if(!(n&&A))throw new x.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});x.warnOnce({condition:_&&!bT.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let Q=_&&bT.includes(y),Z=H||(await af(y))[C||x.FeeOption.Fast],{tx:G}=await OH({assetValue:U,enableRBF:Q,feeRate:Z,memo:f,recipient:T,sender:A}),q=await n.signTransaction(G);return q.finalize(),Ny(y).broadcastTx(Mf.hex.encode(q.extract()))}}function Bo(y){return(n)=>Yo({address:n,chain:y})}function zo(y){let n=Sy(y);return function(f){if(!f)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return pn({chain:y,network:n,publicKey:f.publicKey})}}function Bf({chain:y,...n}){let o="phrase"in n?n.phrase:void 0,f="index"in n?n.index||0:0,T=o?vT.mnemonicToSeedSync(o):void 0,C="derivationPath"in n&&n.derivationPath?n.derivationPath:x.updateDerivationPath(x.NetworkDerivationPath[y],{index:f}),H=x.derivationPathToString(C),U=o?U_({chain:y,derivationPath:H,phrase:o,seed:T}):void 0,_="signer"in n?n.signer:void 0,A=U||_,Q=o?rf({chain:y,derivationPath:H,phrase:o,seed:T}):void 0;function Z(){if(A)return A.getAddress();return Promise.resolve(void 0)}function G(R){if(!o)return;let k=Jf({accountIndex:R,chain:y,derivationPath:C});return o_({chain:y,derivationPath:x.derivationPathToString(k),phrase:o,seed:T})}let q=G();function W(){if(!q)return;return q.publicExtendedKey}function X({accountIndex:R}={}){let k=R===void 0?q:G(R);if(!k)return;let $=Jf({accountIndex:R,chain:y,derivationPath:C});return{accountIndex:lf($),path:x.derivationPathToString($),xpub:k.publicExtendedKey}}function Y({accountIndex:R,index:k,change:$=!1}){let B=R===void 0?q:G(R);if(!B)return;let F=mf({accountIndex:R,chain:y,change:$,derivationPath:C,index:k}),I=Sy(y),j=B.deriveChild(Number($)).deriveChild(k);if(!j.publicKey)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let V=pn({chain:y,network:I,publicKey:j.publicKey}),m=Mf.hex.encode(j.publicKey);return{accountIndex:lf(F),address:V,change:$,index:k,path:x.derivationPathToString(F),pubkey:m}}async function w(R){if(!bT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let k=await Ny(y).getTransactionDetails(R);return{canReplace:k.isRBF&&!k.confirmed,confirmed:k.confirmed,enabled:k.isRBF,fee:k.fee,sequences:k.sequences,supported:!0}}async function L({txid:R,newFeeRate:k,recipient:$,memo:B}){if(!bT.includes(y))throw new x.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let F=await Ny(y).getTransactionDetails(R);if(!F.isRBF)throw new x.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:R});if(F.confirmed)throw new x.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:F.blockId,txid:R});let I=F.inputs.reduce((My,Vy)=>My+Vy.value,0),V=F.outputs.find((My)=>My.recipient===$)?.value||0;if(V===0)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let m=await Promise.all(F.inputs.map(async(My)=>{let Vy=await Ny(y).getRawTx(My.transaction_hash);return{hash:My.transaction_hash,index:My.index,txHex:Vy,value:My.value,witnessUtxo:void 0}})),Ty=B?py(B):null,Ly=If({feeRate:k,inputs:m.map((My)=>({...My,type:"P2WPKH"})),outputs:[{address:$,value:V}]}),Uy=Math.ceil(Ly*k);if(Uy<=F.fee)throw new x.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Uy,originalFee:F.fee});let $y=Uy-F.fee,Oy=V-$y;if(Oy<=0)throw new x.SwapKitError("toolbox_utxo_rbf_insufficient_change");let my=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),cy=[{address:$,value:Oy},...B?[{address:"",script:py(B),value:0}]:[]],gy=I-Oy-Uy,Fy=await Z();if(gy>$n(y)&&Fy)cy.push({address:Fy,value:gy});return Yf({chain:y,compiledMemo:Ty,inputs:m,outputs:cy,sender:Fy||$,tx:my}),{feeDelta:$y,newFee:Uy,originalFee:F.fee,tx:my}}async function O({txid:R,newFeeRate:k,recipient:$,memo:B}){let{tx:F,originalFee:I,newFee:j}=await L({memo:B,newFeeRate:k,recipient:$,txid:R}),V=await D(F);V.finalize();let m=await Ny(y).broadcastTx(Mf.hex.encode(V.extract()));return{newFee:j,originalFee:I,txid:m}}function N({accountIndex:R,index:k,change:$=!1}){uy("index",k);let B=R===void 0?q:G(R);if(!B)return;return B.deriveChild(Number($)).deriveChild(k).privateKey||void 0}function z({tx:R,inputDerivations:k}){if(!q)throw new x.SwapKitError("toolbox_utxo_no_signer");let $=y===x.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let B=0;B<k.length;B++){let F=k[B];if(!F)continue;let{derivationIndex:I,isChange:j}=F,V=N({change:j,index:I});if(!V)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${B} at index ${I}`});R.signIdx(V,B,$)}return R}async function J({utxos:R,recipient:k,assetValue:$,memo:B,feeRate:F,feeOptionKey:I,changeAddress:j}){if(!q)throw new x.SwapKitError("toolbox_utxo_no_signer");let V=F||(await af(y))[I||x.FeeOption.Fast],m=B?py(B):null,Ty=[{address:k,value:$.getBaseValue("number")}];if(m)Ty.push({address:"",script:m,value:0});let Ly=R.map(({hash:Fy,index:My,value:Vy,txHex:$5,witnessUtxo:H0})=>({hash:Fy,index:My,txHex:$5,value:Vy,witnessUtxo:H0?{script:H0.script,value:H0.value}:void 0})),{inputs:Uy,outputs:$y}=jy({chain:y,feeRate:V,inputs:Ly,outputs:Ty});if(!(Uy&&$y))throw new x.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:$,sender:"multiple addresses"});let Oy=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),my=R[0]?.address,cy=j||await Z()||my||k;Yf({chain:y,compiledMemo:m,inputs:Uy,outputs:$y,sender:cy,tx:Oy});let gy=Uy.map((Fy)=>{let My=R.find((Vy)=>Vy.hash===Fy.hash&&Vy.index===Fy.index);return My?{derivationIndex:My.derivationIndex,isChange:My.isChange}:{derivationIndex:0,isChange:!1}});return z({inputDerivations:gy,tx:Oy}),Oy.finalize(),Ny(y).broadcastTx(Mf.hex.encode(Oy.extract()))}function M({address:R,gapLimit:k=20}){if(!q)return;for(let $=0;$<k;$++){let B=Y({change:!1,index:$}),F=Y({change:!0,index:$}),I=B?.address===R?!1:F?.address===R;if(B?.address===R||F?.address===R)return{change:I,index:$}}return}function D(R){if(!A)throw new x.SwapKitError("toolbox_utxo_no_signer");return A.signTransaction(R)}async function S(R){let k=await D(R);return k.finalize(),await Ny(y).broadcastTx(Mf.hex.encode(k.extract()))}return{accumulative:jy,broadcastTx:(R)=>Ny(y).broadcastTx(R),bumpFee:O,calculateTxSize:If,createKeysForPath:(R)=>rf({...R,chain:y}),createReplacementTransaction:L,createTransaction:OH,deriveAddressAtIndex:Y,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:C_(y),estimateTransactionFee:H_(y),getAddress:Z,getAddressFromKeys:zo(y),getBalance:ly(y),getExtendedPublicKey:W,getExtendedPublicKeyInfo:X,getFeeRates:()=>af(y),getInputsOutputsFee:wH,getNetworkForChain:()=>Sy(y),getPrivateKeyFromMnemonic:(R)=>T_(rf({...R,chain:y}).privateKey,y),isRBFEnabled:w,keys:Q,resolveDerivationIndex:M,signAndBroadcastTransaction:S,signTransaction:D,signTransactionWithMultipleKeys:z,transfer:__(y,A),transferFromMultipleAddresses:J,validateAddress:Bo(y)}}var zH,Mf,Lo,vT,x,r,Mo,Pn,bT;var sf=p(()=>{sy();kn();gf();In();zH=require("@noble/curves/secp256k1.js"),Mf=require("@scure/base"),Lo=require("@scure/bip32"),vT=require("@scure/bip39"),x=require("@swapkit/helpers"),r=require("@swapkit/utxo-signer"),Mo=require("ts-pattern"),Pn=[x.Chain.Dash,x.Chain.Dogecoin,x.Chain.Zcash,x.Chain.BitcoinCash],bT=[x.Chain.Bitcoin]});function tn(y){return Pf(Fn(y))}function A_(y){let n=Sy(ay);function o(T){return T.sign(y.privateKey,[Yy.BCHSigHash.ALL]),T}function f(){let T=Yy.p2pkh(y.publicKey,n);if(!T.hash)throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let C=Yy.encodeCashAddr({hash:T.hash,prefix:Yy.CashAddrPrefix.MAINNET,type:Yy.CashAddrType.P2PKH});return Promise.resolve(C.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:o}}function Oo(y){let n="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=Zy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:Zy.updateDerivationPath(Zy.NetworkDerivationPath[ay],{index:o})),T=n?rf({chain:ay,derivationPath:f,phrase:n}):void 0,C=T?A_(T):("signer"in y)?y.signer:void 0;function H(){return Promise.resolve(C?.getAddress())}let{getBalance:U,getFeeRates:_,broadcastTx:A,...Q}=Bf({chain:ay});function Z(W,X=!0){return U(Pf(Fn(W)))}function G(W){if(!C)throw new Zy.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(W)}async function q(W){let X=await G(W);return X.finalize(),await A(No.hex.encode(X.extract()))}return{...Q,broadcastTx:A,buildTx:G_,createTransaction:DH,getAddress:H,getAddressFromKeys:W_,getBalance:Z,getFeeRates:_,signAndBroadcastTransaction:q,signTransaction:G,stripPrefix:Pf,stripToCashAddress:tn,transfer:q_({broadcastTx:A,getFeeRates:_,signer:C}),validateAddress:Lf}}async function DH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){if(!Lf(n))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:n});let C=Math.ceil(y.getBaseValue("number")+f*7500),H=await Ny(ay).getUtxos({address:tn(T),fetchTxHex:!0,targetValue:C}),U=o?py(o):null,_=[],A=of(n);if(_.push({address:A,value:y.getBaseValue("number")}),U)_.push({script:U,value:0});let{inputs:Q,outputs:Z}=jy({chain:ay,feeRate:f,inputs:H,outputs:_});if(!(Q&&Z))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let G=new Yy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!U,version:1}),q=of(T),{inputs:W,tx:X}=Yf({chain:ay,compiledMemo:U,inputs:Q,outputs:Z.map((Y)=>("address"in Y)&&Y.address?{...Y,address:of(Y.address)}:Y),sender:q,tx:G});return{inputs:W,tx:X,utxos:Q}}function q_({broadcastTx:y,getFeeRates:n,signer:o}){return async function({recipient:T,assetValue:C,feeOptionKey:H=Zy.FeeOption.Fast,...U}){let _=await o?.getAddress();if(!(o&&_))throw new Zy.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new Zy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=U.feeRate||(await n())[H],{tx:Q}=await DH({...U,assetValue:C,feeRate:A,recipient:T,sender:_}),Z=await o.signTransaction(Q);return Z.finalize(),y(No.hex.encode(Z.extract()))}}async function G_({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){let C=Fn(n);if(!Lf(C))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:C});let H=Math.ceil(y.getBaseValue("number")+f*7500),U=await Ny(ay).getUtxos({address:tn(T),fetchTxHex:!0,targetValue:H}),_=Number(f.toFixed(0)),A=o?py(o):null,Q=[];if(Q.push({address:of(n),value:y.getBaseValue("number")}),A)Q.push({script:A,value:0});let{inputs:Z,outputs:G}=jy({chain:ay,feeRate:_,inputs:U,outputs:Q});if(!(Z&&G))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let q=new Yy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:W,tx:X}=Yf({chain:ay,compiledMemo:A,inputs:Z,outputs:G,sender:of(T),tx:q});return{inputs:W,tx:X,utxos:U}}function W_(y){let n=Yy.NETWORKS.bitcoinCash,o=Yy.p2pkh(y.publicKey,n);if(!o.hash)throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Yy.encodeCashAddr({hash:o.hash,prefix:Yy.CashAddrPrefix.MAINNET,type:Yy.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var No,Zy,Yy,ay;var uT=p(()=>{gf();sf();In();No=require("@scure/base"),Zy=require("@swapkit/helpers"),Yy=require("@swapkit/utxo-signer"),ay=Zy.Chain.BitcoinCash});function kH(){let{isStagenet:y}=Xy.SKConfig.get("envs");return y?oy.ZCASH_TEST_NETWORK:oy.ZCASH_NETWORK}function Q_(y){return X_.encode(y)}function J_({phrase:y,derivationPath:n}){let o=Do.mnemonicToSeedSync(y),T=wo.HDKey.fromMasterSeed(o).derive(n);if(!T.privateKey||!T.publicKey)throw new Xy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:C,publicKey:H}=T,U=oy.utils.hash160(H),{isStagenet:_}=Xy.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),Q=new Uint8Array(A.length+U.length);Q.set(A,0),Q.set(U,A.length);let Z=Q_(Q);return{getAddress:()=>Promise.resolve(Z),signTransaction:(G)=>{if(G instanceof oy.ZcashPSBT){let q=G.toPCZT();return q.signAllInputs(C,H,oy.ZcashSigHash.ALL),q.finalizeAllInputs(),Promise.resolve(q.extract())}if(G instanceof oy.PCZT)return G.signAllInputs(C,H,oy.ZcashSigHash.ALL),G.finalizeAllInputs(),Promise.resolve(G.extract());return G.signAllInputs(C,H,oy.ZcashSigHash.ALL),Promise.resolve(G)}}}function Z_({inputs:y,outputs:n,tx:o,sender:f,compiledMemo:T}){let C=kH();for(let H of y){let U=oy.Address(C).decode(f),_=oy.OutScript.encode(U);o.addInput({index:H.index,script:_,sequence:4294967295,txid:jT.hex.decode(H.hash),value:BigInt(H.value)})}for(let H of n){let U="address"in H&&H.address?H.address:f,_=H.script;if(_&&!T)continue;if(_&&T)o.addOutput({amount:0n,script:T});else o.addOutputAddress(U,BigInt(H.value),C)}return{inputs:y,tx:o}}async function RH(y){let{assetValue:n,recipient:o,memo:f,feeRate:T,sender:C,fetchTxHex:H}=y,U=f?py(f):null,_=await Ny(Xy.Chain.Zcash).getUtxos({address:C,fetchTxHex:H!==!1}),A=[{address:o,value:Number(n.getBaseValue("string"))},...U?[{script:U,value:0}]:[]],{inputs:Q,outputs:Z}=jy({chain:Xy.Chain.Zcash,changeAddress:C,feeRate:T,inputs:_,outputs:A});if(!(Q&&Z))throw new Xy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:C});let G=oy.createZcashTransaction({consensusBranchId:oy.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:oy.ZcashVersionGroupId.SAPLING}),{tx:q,inputs:W}=Z_({compiledMemo:U,inputs:Q,outputs:Z,sender:C,tx:G});return{inputs:W,outputs:Z,tx:q}}function Ro(y){let n=ef.match(y).with({signer:ef.P.not(ef.P.nullish)},({signer:_})=>_).with({phrase:ef.P.string},({phrase:_,derivationPath:A,index:Q=0})=>{let Z=A||Xy.NetworkDerivationPath[Xy.Chain.Zcash]||[44,133,0,0,0],G=Xy.updateDerivationPath(Z,{index:Q}),q=Xy.derivationPathToString(G);return J_({derivationPath:q,phrase:_})}).otherwise(()=>{return}),o=Bf({chain:Xy.Chain.Zcash,signer:n});async function f(_){if(!n)throw new Xy.SwapKitError("toolbox_utxo_no_signer");return await n.signTransaction(_)}async function T(_){let A=await f(_);return o.broadcastTx(A.toHex())}async function C({recipient:_,assetValue:A,feeOptionKey:Q=Xy.FeeOption.Fast,...Z}){let G=await n?.getAddress();if(!(n&&G))throw new Xy.SwapKitError("toolbox_utxo_no_signer");let q=Z.feeRate||(await o.getFeeRates())[Q],{tx:W}=await RH({...Z,assetValue:A,feeRate:q,recipient:_,sender:G}),Y=(await n.signTransaction(W)).toHex();return o.broadcastTx(Y)}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Q=Do.mnemonicToSeedSync(_),G=wo.HDKey.fromMasterSeed(Q).derive(A);if(!G.privateKey||!G.publicKey)throw new Xy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:G.privateKey,publicKey:G.publicKey}}function U({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Q=H({derivationPath:A,phrase:_}),Z=kH();return oy.WIF(Z).encode(Q.privateKey)}return{...o,createKeysForPath:H,createTransaction:RH,getPrivateKeyFromMnemonic:U,signAndBroadcastTransaction:T,signTransaction:f,transfer:C,validateAddress:df}}var jT,wo,Do,Xy,oy,ef,X_;var ko=p(()=>{gf();sf();In();jT=require("@scure/base"),wo=require("@scure/bip32"),Do=require("@scure/bip39"),Xy=require("@swapkit/helpers"),oy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");X_=jT.createBase58check(oy.utils.sha256)});function xH({xpub:y,chain:n,count:o,startIndex:f=0,accountIndex:T}){if(uy("count",o),o<1)throw RangeError("count must be at least 1");uy("startIndex",f);let C=Sy(n),H=FH.HDKey.fromExtendedKey(y,C.bip32),U=Jf({accountIndex:T,chain:n}),_=lf(U),A=[];for(let Q of[!1,!0]){let Z=H.deriveChild(Number(Q));for(let G=0;G<o;G++){let q=f+G,W=Z.deriveChild(q);if(!W.publicKey)continue;let X=mf({accountIndex:T,chain:n,change:Q,index:q});A.push({accountIndex:_,address:pn({chain:n,network:C,publicKey:W.publicKey}),change:Q,index:q,path:lH.derivationPathToString(X),pubkey:SH.hex.encode(W.publicKey)})}}return A}var SH,FH,lH;var $H=p(()=>{kn();sf();SH=require("@scure/base"),FH=require("@scure/bip32"),lH=require("@swapkit/helpers")});function L_(y,n){switch(y){case Cf.Chain.BitcoinCash:return Oo(n||{});case Cf.Chain.Zcash:return Ro(n);case Cf.Chain.Bitcoin:case Cf.Chain.Dogecoin:case Cf.Chain.Litecoin:case Cf.Chain.Dash:return Bf({chain:y,...n});default:throw new Cf.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var Cf;var IH=p(()=>{uT();sf();ko();kn();$H();uT();In();Cf=require("@swapkit/helpers")});var So={};By(So,{validateZcashAddress:()=>df,validateUtxoAddress:()=>Yo,validateBchAddress:()=>Lf,toLegacyAddress:()=>of,toCashAddress:()=>Fn,stripToCashAddress:()=>tn,stripPrefix:()=>Pf,nonSegwitChains:()=>Pn,isValidAddress:()=>Qo,getUtxoToolbox:()=>L_,getUtxoNetwork:()=>h2,getUtxoApi:()=>Ny,getUTXOAddressValidator:()=>Bo,getUTXOAddressPath:()=>mf,getUTXOAccountPath:()=>Jf,getUTXOAccountIndexFromPath:()=>lf,getScriptTypeForAddress:()=>cf,getOutputSize:()=>xn,getNetworkForChain:()=>Sy,getInputSize:()=>Zf,getDustThreshold:()=>$n,detectAddressNetwork:()=>Jo,deriveAddressesFromXpub:()=>xH,createZcashToolbox:()=>Ro,createUTXOToolbox:()=>Bf,createHDWalletHelpers:()=>TH,createCustomUtxoApi:()=>K2,createBCHToolbox:()=>Oo,compileMemo:()=>py,calculateTxSize:()=>If,assertDerivationIndex:()=>uy,addressFromKeysGetter:()=>zo,addInputsAndOutputs:()=>Yf,accumulative:()=>jy,UtxoNetwork:()=>Xo,UTXOScriptType:()=>ET,TX_OVERHEAD:()=>pT,SEGWIT_MARKER_FLAG_WEIGHT:()=>tT,OutputSizes:()=>ln,OP_RETURN_OVERHEAD:()=>MH,MIN_TX_FEE:()=>e2,InputSizes:()=>PT});module.exports=wy(So);var Fo=p(()=>{sf();kn();gf();IH();uT();ko()});function En(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function hT(y){let{KeyPair:n}=await import("@near-js/crypto"),o=y.index||0,f=y.derivationPath?KT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=pH.parseSeedPhrase(y.phrase,f),C=n.fromString(T);return EH(C)}async function lo(y){let{KeyPair:n}=await import("@near-js/crypto"),o=n.fromString(y);return EH(o)}function EH(y){return new tH(y)}async function mT(y,n){let f=(await y.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((U)=>U.access_key.permission==="FullAccess");if(!f)throw new KT.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:T}=await import("@near-js/crypto"),C=T.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:C}}var PH,KT,pH,tH;var xo=p(()=>{PH=require("@near-js/signers"),KT=require("@swapkit/helpers"),pH=U0(require("near-seed-phrase"));tH=class tH extends PH.KeyPairSigner{#y;constructor(y){super(y);this.#y=y}getAddress(){let y=this.#y.getPublicKey(),n=Buffer.from(y.data).toString("hex");return Promise.resolve(n)}}});function $o(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function Io(y){return"contractId"in y&&"methodName"in y}function Po(y){return"actions"in y}function po(y){return"newAccountId"in y}function to(y){return"contractCode"in y}function Eo(y){return"customEstimator"in y}function Vo(y){let n=0;for(let o of y)switch(o.enum){case"transfer":n+=Number(Dy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Dy.CONTRACT_CALL);break;case"createAccount":n+=Number(Dy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Dy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Dy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Dy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Dy.STAKE);break;default:n+=Number(Dy.CONTRACT_CALL)}return n.toString()}function bo(y){if(y==="ft_transfer"||y==="ft_transfer_call")return Dy.TOKEN_TRANSFER;if(y==="storage_deposit")return Dy.STORAGE_DEPOSIT;return Dy.CONTRACT_CALL}function M_(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function Y_(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var Dy;var vo=p(()=>{Dy={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 uo({account:y,contractId:n,viewMethods:o,changeMethods:f}){let{Contract:T}=await import("@near-js/accounts");return new T(y,n,{changeMethods:f,useLocalViewExecution:!0,viewMethods:o})}function B_(y){let n;async function o(){if(n)return n;return n=await yn.match(y).with({phrase:yn.P.string},async(B)=>{return await hT(B)}).with({signer:yn.P.any},({signer:B})=>B).otherwise(()=>{return}),n}async function f(){let B=await ny.getRPCUrl(ny.Chain.Near);return new VH.JsonRpcProvider({url:B})}async function T(B){let{Account:F}=await import("@near-js/accounts"),I=await f(),j=await o(),V=B||await C();return new F(V,I,j)}async function C(){let B=await o();if(!B)throw new ny.SwapKitError("toolbox_near_no_signer");return await B.getAddress()}async function H(B){return(await M({changeMethods:[],contractId:B.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:B.accountId})}async function U(B){let I=[await G({args:{account_id:B.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await G({args:{amount:B.assetValue.getBaseValue("string"),memo:B.memo||null,receiver_id:B.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return D({actions:I,receiverId:B.contractId})}async function _(B){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let{assetValue:I,recipient:j,memo:V}=B,m=await C();if(!I.isGasAsset&&I.address){if(!await H({accountId:j,contractId:I.address}))return U({assetValue:I,contractId:I.address,memo:V,recipient:j})}let Ty=await A({...B,sender:m});return L(Ty)}async function A({recipient:B,assetValue:F,memo:I,attachedDeposit:j,sender:V,functionCall:m}){let Ty=await f();if(!En(B))throw new ny.SwapKitError("toolbox_near_invalid_address",{recipient:B});if(!En(V))throw new ny.SwapKitError("toolbox_near_invalid_address",{sender:V});if(m)return Z({...m,sender:V});if(!F.isGasAsset){let Vy=F.address;if(!Vy)throw new ny.SwapKitError("toolbox_near_missing_contract_address");return Z({args:{amount:F.getBaseValue("string"),memo:I||null,receiver_id:B},attachedDeposit:j||"1",contractId:Vy,gas:"250000000000000",methodName:"ft_transfer",sender:V})}let{publicKey:Ly,nonce:Uy}=await mT(Ty,V),$y=F.getBaseValue("bigint"),{actionCreators:Oy,createTransaction:my}=await import("@near-js/transactions"),{baseDecode:cy}=await import("@near-js/utils"),gy=[Oy.transfer($y)];if(I&&j)gy.push(Oy.functionCall("memo",{memo:I},BigInt("250000000000000"),BigInt(j)));let Fy=await Ty.block({finality:"final"}),My=cy(Fy.header.hash);return my(V,Ly,B,Uy+1,gy,My)}function Q(B){let F=B.encode();return Buffer.from(F).toString("base64")}async function Z({args:B,attachedDeposit:F,contractId:I,gas:j,methodName:V,sender:m}){let Ty=await f(),{publicKey:Ly,nonce:Uy}=await mT(Ty,m),{createTransaction:$y,actionCreators:Oy}=await import("@near-js/transactions"),{baseDecode:my}=await import("@near-js/utils"),cy=await Ty.block({finality:"final"}),gy=my(cy.header.hash),Fy=[Oy.functionCall(V,Buffer.from(JSON.stringify(B)),BigInt(j),BigInt(F))];return $y(m,Ly,I,Uy+1,Fy,gy)}async function G(B){let{actionCreators:F}=await import("@near-js/transactions");return F.functionCall(B.methodName,Buffer.from(JSON.stringify(B.args)),BigInt(B.gas),BigInt(B.attachedDeposit))}async function q(B){let F=await o();if(!F)throw new ny.SwapKitError("toolbox_near_no_signer");await W(B);let[I,j]=await F.signTransaction(B);return j}async function W(B){let F=B.publicKey;if(F.toString?.().startsWith("ed25519:")||F.toString?.().startsWith("secp256k1:"))return;let{KeyType:I,PublicKey:j}=await import("@near-js/crypto"),V=F.data||F.ed25519Key?.data,m=F.secp256k1Key?.data;if(V){B.publicKey=new j({data:Uint8Array.from(V),keyType:I.ED25519});return}if(m)B.publicKey=new j({data:Uint8Array.from(m),keyType:I.SECP256K1})}function X(B){if(typeof B==="string")return B;if(Array.isArray(B))return B.map(X).find(Boolean);if(!(B&&typeof B==="object"))return;let F=B;return F.transaction?.hash||F.transaction_outcome?.id}function Y(B){return B instanceof Error?B.message:String(B)}async function w(B){let I=await(await f()).sendTransaction(B),j=X(I);if(!j)throw new ny.SwapKitError("toolbox_near_transfer_failed",{result:I});return j}async function L(B){let F=await o();if(!F)throw new ny.SwapKitError("toolbox_near_no_signer");let I;try{I=await q(B)}catch(j){let V;try{V=F.signAndSendTransaction?await F.signAndSendTransaction({actions:B.actions,receiverId:B.receiverId,signerId:B.signerId}):await F.signAndSendTransactions?.({transactions:[B]})}catch(Ty){throw new ny.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:Y(j),signAndSendError:Y(Ty)}},Ty)}let m=X(V);if(m)return m;throw j}return w(I)}async function O(B){let F=await o();if("assetValue"in B){let j=await N();try{let V=await ny.getRPCUrl(ny.Chain.Near),m=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:Ty}}=await m.json(),{execution:Ly,send_sir:Uy}=Ty.transaction_costs.action_receipt_creation_config,{execution:$y,send_sir:Oy}=Ty.transaction_costs.action_creation_config.transfer_cost,my=BigInt(Oy)+BigInt($y),cy=BigInt(Uy)+BigInt(Ly),Fy=(my+cy)*BigInt(j.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:Fy})}catch(V){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",V);let m=BigInt("115123062500"),Ty=BigInt("108059500000"),Uy=(m+Ty)*BigInt(j.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:Uy})}}let I=F?await T():void 0;return S(B,I)}async function N(){let B=await f();try{return await B.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function z(B,F,I){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let V=await T(),{formatNearAmount:m}=await import("@near-js/utils"),{PublicKey:Ty}=await import("@near-js/crypto"),Ly=m(I)||"0";return(await V.createAccount(B,Ty.fromString(F),BigInt(Ly))).transaction.hash}async function J(B){let F=await o();try{if(!F)throw new ny.SwapKitError("toolbox_near_no_signer");let{actionCreators:I}=await import("@near-js/transactions"),{contractId:j,methodName:V,args:m,deposit:Ty}=B,Ly=await T(),Uy=await S({args:m||{},contractId:j,methodName:V}),$y=I.functionCall(V,m||{},Uy.getBaseValue("bigint"),BigInt(Ty||"1"));return(await Ly.signAndSendTransaction({actions:[$y],receiverId:j})).transaction_outcome.id}catch(I){throw new ny.SwapKitError("toolbox_near_transfer_failed",{error:I})}}async function M(B){let F=await T();return uo({account:F,changeMethods:B.changeMethods,contractId:B.contractId,viewMethods:B.viewMethods})}async function D(B){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");if(B.actions.length===0)throw new ny.SwapKitError("toolbox_near_empty_batch");return(await(await T()).signAndSendTransaction({actions:B.actions,receiverId:B.receiverId})).transaction.hash}async function S(B,F){let I=await yn.match(B).when($o,()=>Dy.SIMPLE_TRANSFER).when(Io,(V)=>bo(V.methodName)).when(Po,(V)=>Vo(V.actions)).when(po,()=>Dy.ACCOUNT_CREATION).when(to,()=>Dy.CONTRACT_DEPLOYMENT).when(Eo,(V)=>{if(!F)throw new ny.SwapKitError("toolbox_near_no_account");return V.customEstimator(F)}).otherwise(()=>{throw new ny.SwapKitError("toolbox_near_invalid_gas_params")}),j=BigInt(I)*BigInt(1000000000000);return ny.AssetValue.from({chain:ny.Chain.Near,value:j})}function R(B,F){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),S(B,F)}async function k(){let B=await f();try{return(await B.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function $(){let B=await o();return B?(await B.getPublicKey()).toString():""}return{broadcastTransaction:w,callFunction:J,createAction:G,createContract:M,createContractFunctionCall:Z,createSubAccount:z,createTransaction:A,estimateGas:R,estimateGasLimit:S,estimateTransactionFee:O,executeBatchTransaction:D,getAddress:C,getBalance:ly(ny.Chain.Near),getGasPrice:k,getNearProvider:f,getPublicKey:$,getSignerFromPhrase:hT,getSignerFromPrivateKey:lo,serializeTransaction:Q,signAndBroadcastTransaction:L,signTransaction:q,transfer:_,validateAddress:En}}var VH,ny,yn;var jo=p(()=>{sy();xo();vo();VH=require("@near-js/providers"),ny=require("@swapkit/helpers"),yn=require("ts-pattern")});var bH=p(()=>{jo()});var Ko={};By(Ko,{validateNearAddress:()=>En,tgasToGas:()=>M_,isSimpleTransfer:()=>$o,isCustomEstimator:()=>Eo,isContractDeployment:()=>to,isContractCall:()=>Io,isBatchTransaction:()=>Po,isAccountCreation:()=>po,getNearToolbox:()=>B_,getNearSignerFromPrivateKey:()=>lo,getNearSignerFromPhrase:()=>hT,getFullAccessPublicKey:()=>mT,getContractMethodGas:()=>bo,gasToTGas:()=>Y_,estimateBatchGas:()=>Vo,createNearContract:()=>uo,GAS_COSTS:()=>Dy});module.exports=wy(Ko);var ho=p(()=>{xo();vo();jo();bH()});var mo={};By(mo,{validateRadixAddress:()=>jH,getRadixToolbox:()=>D_});module.exports=wy(mo);function jH(y){return y.startsWith("account_rdx1")&&y.length===66}function z_({networkApi:y}){return async function(o){let f=await N_({address:o,networkApi:y}),T=await O_({networkApi:y,resources:f});if(!T.some((H)=>H.isGasAsset))return[Ky.AssetValue.from({chain:Ky.Chain.Radix}),...T];return T}}async function N_({address:y,networkApi:n}){let o=!0,f,T=[],C=await w_(n);while(o){let H={address:y,at_ledger_state:{state_version:C},cursor:f,limit_per_page:100},U=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:H});if(T=T.concat(U.items),U.next_cursor)f=U.next_cursor;else o=!1}return T}async function O_({resources:y,networkApi:n}){let o=[],f=50,T=[];for(let C=0;C<y.length;C+=50)T.push(y.slice(C,C+50));for(let C of T){let H=C.map((A)=>A.resource_address),U=await n.state.getEntityDetailsVaultAggregated(H),_=new Map;for(let A of U)if(A.details!==void 0){let Q=A.metadata?.items.find((G)=>G.key==="symbol"),Z=Q?.value.typed.type==="String"?Q.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:Z})}for(let A of C)if(A.aggregation_level==="Global"){let Q=_.get(A.resource_address)||{decimals:0,symbol:"?"},Z=Ky.AssetValue.from({asset:Q.symbol!==Ky.Chain.Radix?`${Ky.Chain.Radix}.${Q.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});o.push(Z)}}return o}async function w_(y){return(await y.status.getCurrent()).ledger_state.state_version}function D_({dappConfig:y}={}){let n=y||Ky.SKConfig.get("integrations").radix,o=uH.RadixDappToolkit({...n,networkId:n.network?.networkId||1}),f=vH.GatewayApiClient.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:z_({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new Ky.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:jH}}var vH,uH,Ky;var co=p(()=>{vH=require("@radixdlt/babylon-gateway-api-sdk"),uH=require("@radixdlt/radix-dapp-toolkit"),Ky=require("@swapkit/helpers")});function cT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function Vn(y){if(cT(y))return y.toUpperCase();if(y.length<=3){let o=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${o}${"0".repeat(10)}`.toUpperCase()}let n=Buffer.from(y).toString("hex").toUpperCase();if(n.length>40)throw new KH.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return n.padEnd(40,"0")}function R_(y){if(!cT(y))return y;if(y.toUpperCase().startsWith("00")){let n=y.slice(24,30);try{let o=Buffer.from(n,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(o)&&o.length>0)return o}catch{}return y.toUpperCase()}try{let n=y.replace(/0+$/,""),o=n.length%2===0?n:`${n}0`,f=Buffer.from(o,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function fn(y){if(cT(y))return y.toUpperCase();if(y.length<=3)return y;return Vn(y)}var KH;var gT=p(()=>{KH=require("@swapkit/helpers")});async function k_(y,n){let o=fn(y),f=dT.find((T)=>fn(T.currency)===o&&T.issuer===n);if(f)return f;try{let T=await iT.RequestClient.get(`https://api.xrplmeta.org/token/${y}:${n}`);if(T)return{currency:y,decimals:15,description:T.desc,domain:T.domain,icon:T.icon,issuer:n,name:T.name,verified:T.self_assessment?.is_regulated||T.self_assessment?.is_licensed}}catch(T){iT.warnOnce({condition:!0,id:`xrpl_token_lookup_${y}_${n}`,warning:`Failed to fetch XRPL token info for ${y}:${n}: ${T}`})}return{currency:y,decimals:15,issuer:n,verified:!1}}function S_(y){return dT.filter((n)=>n.issuer===y)}function F_(y,n){let o=fn(y);return dT.some((f)=>fn(f.currency)===o&&f.issuer===n)}var iT,dT;var hH=p(()=>{gT();iT=require("@swapkit/helpers"),dT=[{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 go={};By(go,{validateRippleAddress:()=>aT,parseXrplTokenIdentifier:()=>gH,normalizeCurrency:()=>fn,isKnownToken:()=>F_,isHexCurrency:()=>cT,hexToCurrency:()=>R_,hashes:()=>dH.hashes,getXrplTokenInfo:()=>k_,getRippleToolbox:()=>x_,getKnownTokensByIssuer:()=>S_,formatXrplTokenIdentifier:()=>iH,currencyToHex:()=>Vn,XRPL_TOKEN_ERROR_CODES:()=>rT,XRPL_KNOWN_TOKENS:()=>dT});module.exports=wy(go);function gH(y){let n=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!n?.[1]||!n?.[2])return null;if(!Hf.isValidAddress(n[2]))return null;return{currency:n[1],issuer:n[2]}}function iH(y,n){return`${i.Chain.Ripple}.${y}-${n}`}function l_(y){if(y.isGasAsset)return Hf.xrpToDrops(y.getValue("string"));let n=gH(y.toString());if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:n.currency,issuer:n.issuer,value:y.getValue("string")}}function cH(y){let n=Hf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(o)=>Promise.resolve(n.sign(o))}}function aT(y){return Hf.isValidAddress(y)}function x_(y={}){let n=nn.match(y).with({phrase:nn.P.string},({phrase:L})=>cH(L)).with({signer:nn.P.any},({signer:L})=>L).otherwise(()=>{return}),o;async function f(){let L=await i.getRPCUrl(i.Chain.Ripple);if(!L)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let O=new Hf.Client(L);return await O.connect(),O}async function T(){if(o){let L=await o.catch(()=>null);if(L?.isConnected())return L}return o=f(),o}let C=()=>{if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},H=async(L)=>{let O=L||await C(),{baseDecimal:N}=i.getChainConfig(i.Chain.Ripple),z=await T();try{let[J,M]=await Promise.all([z.request({account:O,command:"account_info"}),z.request({account:O,command:"account_lines"})]),D=J.result.account_data.Balance,S=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:N,value:D})];for(let R of M.result.lines){let k=iH(R.currency,R.account);if(Number.parseFloat(R.balance)!==0)S.push(i.AssetValue.from({asset:k,asyncTokenLookup:!1,value:R.balance}))}return S}catch(J){if(J.data?.error_code===mH.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:J}})}},U=async()=>{let{baseDecimal:L}=i.getChainConfig(i.Chain.Ripple),z=(await(await T()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:L,value:z})};async function _(L){let O=L||await C(),N=await T();try{return(await N.request({account:O,command:"account_lines"})).result.lines.map((J)=>({account:J.account,authorized:J.authorized??!1,balance:J.balance,currency:J.currency,freeze:J.freeze??!1,freezePeer:J.freeze_peer??!1,limit:J.limit,limitPeer:J.limit_peer,noRipple:J.no_ripple??!1,noRipplePeer:J.no_ripple_peer??!1,peerAuthorized:J.peer_authorized??!1,qualityIn:J.quality_in??0,qualityOut:J.quality_out??0}))}catch(z){if(z.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:O,error:z}})}}async function A({address:L,currency:O,issuer:N}){let z=await _(L),J=Vn(O);return z.some((M)=>{return Vn(M.currency)===J&&M.account===N})}async function Q({currency:L,issuer:O,limit:N,sender:z}){let J=z||await C();if(!aT(O))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:O}});let M=Number.parseFloat(N);if(Number.isNaN(M)||M<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:N}});let D=await T(),S={Account:J,LimitAmount:{currency:L,issuer:O,value:N},TransactionType:"TrustSet"};return D.autofill(S)}async function Z({assetValue:L,recipient:O,memo:N,sender:z,destinationTag:J,extendBySeconds:M=150}){if(!aT(O))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=z||await C();if(L.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let S=l_(L),R={Account:D,Amount:S,Destination:O,TransactionType:"Payment",...J!==void 0&&{DestinationTag:J}};if(N)R.Memos=[{Memo:{MemoData:Buffer.from(N).toString("hex")}}];let $=await(await T()).autofill(R);if($.LastLedgerSequence&&M>0)$.LastLedgerSequence+=Math.ceil(M/4);return $}function G(L){if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)}async function q(L){let N=await(await T()).submitAndWait(L),{result:z}=N;if(z.validated)return z.hash;let J=z.meta?.TransactionResult,M=nn.match(J).with(rT.tecNO_LINE,()=>"No trust line exists for this token").with(rT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(rT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...M?{reason:M}:{txResult:J}}})}let W=async(L)=>{try{let O=await G(L);return q(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 X(L){if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let O=await n.getAddress(),N=await Z({...L,sender:O}),z=await G(N);return q(z.tx_blob)}async function Y(L){if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let O=await n.getAddress(),N=await Q({...L,sender:O}),z=await G(N);return q(z.tx_blob)}function w(){let L=o;if(o=null,L)L.then((O)=>{if(O?.isConnected())return O.disconnect();return}).catch((O)=>{console.warn("XRPL Cleanup failed silently:",O)})}return{broadcastTransaction:q,createSigner:cH,createTransaction:Z,disconnect:w,estimateTransactionFee:U,getAddress:C,getBalance:H,getTrustLines:_,hasTrustLine:A,setTrustLine:Q,setTrustLineAndBroadcast:Y,signAndBroadcastTransaction:W,signTransaction:G,transfer:X,validateAddress:aT}}var i,nn,Hf,dH,mH,rT;var io=p(()=>{gT();i=require("@swapkit/helpers"),nn=require("ts-pattern"),Hf=require("xrpl");gT();hH();dH=require("xrpl"),mH={ACCOUNT_NOT_FOUND:19},rT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ro(y,n){let o=0n,f=0n,T=n;while(T<y.length&&T-n<10){let C=y[T++];if(C===void 0)break;if(o|=BigInt(C&127)<<f,f+=7n,(C&128)===0)return[o,T]}throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed")}function bn(y){let n=[],o=y<0n?y+2n**64n:y;while(o>=128n)n.push(Number(o&0x7fn)|128),o>>=7n;return n.push(Number(o)),n}function sT(y,n,o){let f=y.get(n);if(f)f.push(o);else y.set(n,[o])}function p_(y){let n=new Map,o=0;while(o<y.length){let[f,T]=ro(y,o);o=T;let C=Number(f>>3n),H=Number(f&7n);if(H===eT){let[U,_]=ro(y,o);o=_,sT(n,C,{data:new Uint8Array(bn(U)),wireType:eT})}else if(H===y0){let[U,_]=ro(y,o);o=_;let A=Number(U);if(A<0||o+A>y.length)throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed");let Q=y.slice(o,o+A);o+=A,sT(n,C,{data:Q,wireType:y0})}else if(H===rH){if(o+8>y.length)throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+8);o+=8,sT(n,C,{data:U,wireType:rH})}else if(H===aH){if(o+4>y.length)throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+4);o+=4,sT(n,C,{data:U,wireType:aH})}else throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed")}return n}function t_(y){let n=[];for(let[C,H]of[...y.entries()].sort(([U],[_])=>U-_))for(let{wireType:U,data:_}of H){let A=BigInt(C<<3|U);if(n.push(new Uint8Array(bn(A))),U===y0)n.push(new Uint8Array(bn(BigInt(_.length))));n.push(_)}let o=n.reduce((C,H)=>C+H.length,0),f=new Uint8Array(o),T=0;for(let C of n)f.set(C,T),T+=C.length;return f}function eH(y,n){if(!y||y.length%2!==0)throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed");let o=Tn.hexToBytes(y),f=p_(o);if(n.expiration!==void 0)f.set($_,[{data:new Uint8Array(bn(BigInt(n.expiration))),wireType:eT}]);if(n.data!==void 0)f.set(I_,[{data:Tn.hexToBytes(n.data),wireType:y0}]);if(n.fee_limit!==void 0)f.set(P_,[{data:new Uint8Array(bn(BigInt(n.fee_limit))),wireType:eT}]);let T=t_(f),C=Tn.bytesToHex(T),H=Tn.bytesToHex(sH.sha256(T));return{raw_data_hex:C,txID:H}}var sH,Tn,pf,eT=0,rH=1,y0=2,aH=5,$_=8,I_=10,P_=18;var y5=p(()=>{sH=require("@noble/hashes/sha2.js"),Tn=require("@noble/hashes/utils.js"),pf=require("@swapkit/helpers")});function hy(y){if(typeof y!=="string")return!1;try{let n=f0.decode(y);return n.length===21&&n[0]===T5}catch{return!1}}function o5(y){return Ey.bytesToHex(f0.decode(y))}function V_(y){return f0.decode(y).slice(1)}function C5(y){let n=ao.secp256k1.getPublicKey(Ey.hexToBytes(y),!1),o=f5.keccak_256(n.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=T5,f.set(o,1),f0.encode(f)}function H5({txID:y,privateKey:n}){let o=ao.secp256k1.sign(Ey.hexToBytes(y),Ey.hexToBytes(n),{format:"recovered",prehash:!1}),f=o[0]??0,T=Ey.bytesToHex(o.slice(1,33)),C=Ey.bytesToHex(o.slice(33,65)),H=(f+27).toString(16).padStart(2,"0");return T+C+H}function on({txID:y,raw_data_hex:n}){let o=Ey.bytesToHex(so.sha256(Ey.hexToBytes(n)));if(y!==o)throw new eo.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:o,txID:y})}function b_(y){return`000000000000000000000000${Ey.bytesToHex(V_(y))}`}function v_(y){let n=typeof y==="bigint"?y:BigInt(y);if(n<0n||n>=E_)throw new eo.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:n.toString()});return n.toString(16).padStart(64,"0")}function Cn(y){return y.map(({type:n,value:o})=>n==="address"?b_(o):v_(BigInt(o))).join("")}function U5(y){return Ey.bytesToHex(new TextEncoder().encode(y))}var ao,so,f5,Ey,n5,eo,f0,T5=65,E_;var yC=p(()=>{ao=require("@noble/curves/secp256k1.js"),so=require("@noble/hashes/sha2.js"),f5=require("@noble/hashes/sha3.js"),Ey=require("@noble/hashes/utils.js"),n5=require("@scure/base"),eo=require("@swapkit/helpers"),f0=n5.createBase58check(so.sha256),E_=2n**256n});function A5(){try{return Gy.getRPCUrlSync(Gy.Chain.Tron)}catch{return _5}}function q5(){let y=new AbortController,n=setTimeout(()=>y.abort(),m_);return{cleanup:()=>clearTimeout(n),signal:y.signal}}async function tf(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${A5()}${y}`,{body:JSON.stringify(n),headers:{"Content-Type":"application/json"},method:"POST",signal:o});if(!T.ok)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function G5(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${n??A5()}${y}`,{headers:{"Content-Type":"application/json"},signal:o});if(!T.ok)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function W5(y){if(!hy(y))throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let n=await G5(`/v1/accounts/${y}`,_5);if(!(n.success&&n.data)||n.data.length===0)return;let o;try{o=o5(y).toLowerCase()}catch{o=y.toLowerCase()}let f=n.data.find((T)=>T.address.toLowerCase()===o);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(n){if(n instanceof Gy.SwapKitError)throw n;throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:n instanceof Error?n.message:"Unknown error"})}}async function X5({from:y,to:n,amount:o}){let T=await tf("/wallet/createtransaction",{amount:o,owner_address:y,to_address:n,visible:!0});if(!T.txID||!T.raw_data_hex||!T.raw_data)throw new Gy.SwapKitError("toolbox_tron_transaction_creation_failed");let H=T.raw_data?.contract?.[0]?.parameter?.value;if(H?.to_address!==n||H?.owner_address!==y||H?.amount!==o)throw new Gy.SwapKitError("toolbox_tron_transaction_creation_failed");return on(T),T}async function Q5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f,feeLimit:T,callValue:C=0}){let H=await tf("/wallet/triggersmartcontract",{call_value:C,contract_address:n,fee_limit:T,function_selector:o,owner_address:y,parameter:f,visible:!0});if(!H.result.result||!H.transaction?.txID||!H.transaction?.raw_data_hex)throw new Gy.SwapKitError("toolbox_tron_transaction_creation_failed");let _=H.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==n||_?.owner_address!==y)throw new Gy.SwapKitError("toolbox_tron_transaction_creation_failed");return on(H.transaction),H.transaction}function J5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return tf("/wallet/triggerconstantcontract",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}function c_({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return tf("/wallet/estimateenergy",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}async function vn(y){try{let{result:n,txid:o}=await tf("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!n||!o)throw new Gy.SwapKitError("toolbox_tron_token_transfer_failed");return o}catch(n){throw new Gy.SwapKitError("toolbox_tron_broadcast_failed",{error:n})}}async function un(){let y={};try{let{chainParameter:n}=await G5("/wallet/getchainparameters");for(let o of n)y[o.key]=o.value}catch(n){Gy.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${n instanceof Error?n.message:n}`})}return{bandwidthFee:y.getTransactionFee??u_,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??j_,energyFee:y.getEnergyFee??K_,memoFee:y.getMemoFee??h_}}async function fC(y){try{let n=await tf("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(n.freeNetLimit??600)-(n.freeNetUsed??0),total:n.NetLimit??0,used:n.NetUsed??0},energy:{total:n.EnergyLimit??0,used:n.EnergyUsed??0}}}catch(n){return Gy.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${n instanceof Error?n.message:n}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jn(y){try{let n=await tf("/wallet/getaccount",{address:y,visible:!0});return n&&Object.keys(n).length>0}catch{return!1}}async function nC(y){try{let n=await c_({...y,ownerAddress:y.sender}),o=n.energy_required??n.energyRequired;if(n.result&&!n.result.result)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:n.result.message||"estimateenergy failed"});if(o!==void 0){if(Number.isFinite(o)&&o>0)return o;throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(n){Gy.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${n instanceof Error?n.message:n}`})}try{let{energy_used:n}=await J5({...y,ownerAddress:y.sender});return n}catch(n){return Gy.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${n instanceof Error?n.message:n}`}),65000}}async function Z5({assetAddress:y,owner:n,spender:o}){let f=Cn([{type:"address",value:n},{type:"address",value:o}]),C=(await J5({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:o,parameter:f})).constant_result?.[0];if(!C)return 0n;try{return BigInt(`0x${C}`)}catch{return 0n}}var Gy,_5="https://api.trongrid.io",u_=1000,j_=1e6,K_=420,h_=1e6,m_=30000;var L5=p(()=>{yC();Gy=require("@swapkit/helpers")});function R5({phrase:y,derivationPath:n}){let o=O5.HDKey.fromMasterSeed(w5.mnemonicToSeedSync(y)).derive(n);if(!o.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return N5.bytesToHex(o.privateKey)}function k5({phrase:y,derivationPath:n,index:o}){let f=n||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:o||0}));return R5({derivationPath:f,phrase:y})}function i_({phrase:y,derivationPath:n}){let o=R5({derivationPath:n,phrase:y}),f=C5(o);return{getAddress:()=>Promise.resolve(f),signTransaction:(T)=>{on(T);let C=H5({privateKey:o,txID:T.txID});return Promise.resolve({...T,signature:[C]})}}}function z5({transaction:y,memo:n,expiration:o,feeLimit:f}){let T={},C={};if(f!==void 0&&y.raw_data)T.fee_limit=f,C.fee_limit=f;if(n){let _=U5(n);T.data=_,C.data=_}if(o){let _=y.raw_data.expiration+o*1000;T.expiration=_,C.expiration=_}if(Object.keys(T).length===0)return y;let{raw_data_hex:H,txID:U}=eH(y.raw_data_hex,T);return{...y,raw_data:{...y.raw_data,...C},raw_data_hex:H,txID:U}}function S5(y={}){let n="index"in y?y.index||0:0,o=E.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:n})),f,T=!1;function C(){if(T)return Promise.resolve(f);return f=Hn.match(y).with({phrase:Hn.P.string},({phrase:J})=>i_({derivationPath:o,phrase:J})).with({signer:Hn.P.not(Hn.P.nullish)},({signer:J})=>J).otherwise(()=>{return}),T=!0,Promise.resolve(f)}async function H(){let J=await C();if(!J)throw new E.SwapKitError("toolbox_tron_no_signer");return J.getAddress()}async function U(J,M){let D=J||Y5,S=M??(await un()).energyFee,R=D*S,k=Math.ceil(R*1.5);return Math.min(Math.max(k,1e7),150000000)}async function _({contractAddress:J,functionSelector:M,parameter:D,sender:S,memo:R,expiration:k,extraEnergy:$=0}){let B=await nC({contractAddress:J,functionSelector:M,parameter:D,sender:S}),F=await U(B+$),I=await Q5({contractAddress:J,feeLimit:F,functionSelector:M,ownerAddress:S,parameter:D});return z5({expiration:k,feeLimit:F,memo:R,transaction:I})}async function A(J){if(!hy(J))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let M=await W5(J);if(!M)return[E.AssetValue.from({chain:E.Chain.Tron})];let D=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(M.balance)})],S=M.trc20?.find((R)=>(oC in R));if(S){let R=S[oC];D.push(E.AssetValue.from({asset:`TRON.USDT-${oC}`,fromBaseDecimal:6,value:R}))}return D}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 Q({recipient:J,assetValue:M,memo:D,expiration:S}){if(!hy(J))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let R=await C();if(!R)throw new E.SwapKitError("toolbox_tron_no_signer");try{let k=await H(),$=await Y({assetValue:M,expiration:S,memo:D,recipient:J,sender:k}),B=await R.signTransaction($),F=await vn(B);if(!F)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(k){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:k instanceof Error?k.message:String(k)})}}function Z({requiredBandwidth:J,resources:M,feePerUnit:D}){let S=Math.max(0,M.free+M.total-M.used);return J>S?(J-S)*D:0}async function G({memo:J,recipient:M,senderAddress:D}){let[S,R,k]=await Promise.all([un(),jn(M),fC(D)]),$=R?0:S.createAccountFee,B=Z({feePerUnit:S.bandwidthFee,requiredBandwidth:M5,resources:k.bandwidth}),F=J?S.memoFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:$+B+F})}async function q({assetValue:J,memo:M,recipient:D,senderAddress:S}){let R=J.address;if(!R)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:J.toString()});let[k,$,B,F]=await Promise.all([un(),jn(D),fC(S),nC({contractAddress:R,functionSelector:"transfer(address,uint256)",parameter:Cn([{type:"address",value:D},{type:"uint256",value:J.getBaseValue("string")}]),sender:S})]),j=F+($?0:TC),V=Z({feePerUnit:k.bandwidthFee,requiredBandwidth:B5,resources:B.bandwidth}),m=Math.max(0,B.energy.total-B.energy.used),Ty=j>m?(j-m)*k.energyFee:0,Ly=M?k.memoFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:V+Ty+Ly})}async function W({assetValue:J,memo:M,recipient:D}){let[S,R]=await Promise.all([un(),jn(D)]);if(J.isGasAsset){let F=R?0:S.createAccountFee,I=M?S.memoFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:F+M5*S.bandwidthFee+I})}let $=await U(Y5+(R?0:TC),S.energyFee),B=M?S.memoFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:$+B5*S.bandwidthFee+B})}async function X({assetValue:J,memo:M,recipient:D,sender:S}){let R=await C();try{let k=S?S:R?await H():void 0;if(!k)return W({assetValue:J,memo:M,recipient:D});return J.isGasAsset?G({memo:M,recipient:D,senderAddress:k}):q({assetValue:J,memo:M,recipient:D,senderAddress:k})}catch(k){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${k instanceof Error?k.message:k}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:k})}}async function Y({recipient:J,assetValue:M,memo:D,sender:S,expiration:R}){if(!hy(J)||!hy(S))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(M.isGasAsset){let B=await X5({amount:M.getBaseValue("number"),from:S,to:J});return z5({expiration:R,memo:D,transaction:B})}let k=M.address;if(!k)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:M.toString()});let $=await jn(J);return _({contractAddress:k,expiration:R,extraEnergy:$?0:TC,functionSelector:"transfer(address,uint256)",memo:D,parameter:Cn([{type:"address",value:J},{type:"uint256",value:M.getBaseValue("string")}]),sender:S})}async function w(J){on(J);let M=await C();if(!M)throw new E.SwapKitError("toolbox_tron_no_signer");return M.signTransaction(J)}async function L(J){let M=await w(J);return vn(M)}function O({assetAddress:J,spenderAddress:M,from:D}){return Z5({assetAddress:J,owner:D,spender:M})}async function N({assetAddress:J,spenderAddress:M,from:D,amount:S}){let R=await O({assetAddress:J,from:D,spenderAddress:M});if(!S)return R>0n;return R>=BigInt(S)}async function z({assetAddress:J,spenderAddress:M,amount:D,from:S}){if(!hy(J)||!hy(M))throw new E.SwapKitError("toolbox_tron_approve_failed");let R=await C();if(!R)throw new E.SwapKitError("toolbox_tron_no_signer");let k=S||await H(),$=D!==void 0?BigInt(D).toString():g_;try{let B=await _({contractAddress:J,functionSelector:"approve(address,uint256)",parameter:Cn([{type:"address",value:M},{type:"uint256",value:$}]),sender:k}),F=await R.signTransaction(B),I=await vn(F);if(!I)throw new E.SwapKitError("toolbox_tron_approve_failed");return I}catch(B){if(B instanceof E.SwapKitError)throw B;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:B})}}return{approve:z,broadcastTransaction:vn,createTransaction:Y,estimateTransactionFee:X,getAddress:H,getApprovedAmount:O,getBalance:A,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:N,signAndBroadcastTransaction:L,signTransaction:w,transfer:Q,validateAddress:hy}}var N5,O5,w5,E,Hn,D5,M5=268,Y5=65000,TC=25000,B5=345,oC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",g_="115792089237316195423570985008687907853269984665640564039457584007913129639935";var F5=p(()=>{y5();L5();yC();N5=require("@noble/hashes/utils.js"),O5=require("@scure/bip32"),w5=require("@scure/bip39"),E=require("@swapkit/helpers"),Hn=require("ts-pattern"),D5=hy});var CC={};By(CC,{validateTronAddress:()=>D5,getTronToolbox:()=>S5,getTronPrivateKeyFromMnemonic:()=>k5});module.exports=wy(CC);var HC=p(()=>{F5()});function T0(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return d_.test(y)}async function r_(y){if(!T0(y))return!1;try{let{StrKey:n}=await import("@stellar/stellar-sdk");return n.isValidEd25519PublicKey(y)}catch{return!1}}function l5(y={}){let n,o=y.derivationPath||yy.NetworkDerivationPath[yy.Chain.Stellar],f=yy.derivationPathToString(o.slice(0,3));async function T({phrase:X,path:Y}){let{HDKey:w}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:O}=await import("@stellar/stellar-sdk"),N=L(X),J=w.fromMasterSeed(N).derive(Y,!0);return O.fromRawEd25519Seed(Buffer.from(J.privateKey))}async function C(){if(n)return n;let X=n0.match(y).with({phrase:n0.P.string},({phrase:Y})=>Y).otherwise(()=>{return});if(!X)throw new yy.SwapKitError("toolbox_stellar_no_signer");return n=await T({path:f,phrase:X}),n}async function H(){let{Horizon:X}=await import("@stellar/stellar-sdk"),Y=await yy.getRPCUrl(yy.Chain.Stellar);return new X.Server(Y)}async function U(){try{return(await C()).publicKey()}catch{return""}}async function _(X){let Y=X||await U();if(!Y)throw new yy.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await H()).loadAccount(Y)).balances.map((O)=>{if(O.asset_type==="native")return yy.AssetValue.from({chain:yy.Chain.Stellar,value:O.balance});let N="asset_code"in O?O.asset_code:"",z="asset_issuer"in O?O.asset_issuer:"";return yy.AssetValue.from({asset:`${yy.Chain.Stellar}.${N}-${z}`,asyncTokenLookup:!1,value:O.balance})})}catch{return[yy.AssetValue.from({chain:yy.Chain.Stellar,value:0})]}}async function A({recipient:X,assetValue:Y,memo:w,sender:L}){if(w){if(new TextEncoder().encode(w).length>28)throw new yy.SwapKitError("helpers_invalid_memo_type")}if(!await r_(X))throw new yy.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await U();if(!N)throw new yy.SwapKitError("toolbox_stellar_no_signer");let{Asset:z,Memo:J,Networks:M,Operation:D,TransactionBuilder:S}=await import("@stellar/stellar-sdk"),R=await H(),k=await R.fetchBaseFee(),$=await R.loadAccount(N),B=new S($,{fee:String(k),networkPassphrase:M.PUBLIC});if(Y.isGasAsset)try{await R.loadAccount(X),B.addOperation(D.payment({amount:Y.getValue("string"),asset:z.native(),destination:X}))}catch{B.addOperation(D.createAccount({destination:X,startingBalance:Y.getValue("string")}))}else B.addOperation(D.payment({amount:Y.getValue("string"),asset:new z(Y.symbol,Y.address),destination:X}));if(w)B.addMemo(J.text(w));return B.setTimeout(30).build()}async function Q(X){let{TransactionBuilder:Y,Networks:w}=await import("@stellar/stellar-sdk"),L=await C(),O=Y.fromXDR(X.toXDR(),w.PUBLIC);return O.sign(L),O}async function Z(X){try{let Y=await H(),{hash:w}=await Y.submitTransaction(X);return w}catch(Y){throw new yy.SwapKitError("toolbox_stellar_broadcast_error",Y)}}async function G({recipient:X,assetValue:Y,memo:w}){let L=await C(),O=L.publicKey(),N=await A({assetValue:Y,memo:w,recipient:X,sender:O});N.sign(L);try{return(await(await H()).submitTransaction(N)).hash}catch(z){if(z instanceof yy.SwapKitError)throw z;throw new yy.SwapKitError("toolbox_stellar_transaction_failed",z)}}async function q(X){let Y=await Q(X);return Z(Y)}async function W(){let{baseDecimal:X}=yy.getChainConfig(yy.Chain.Stellar);try{let L=(await(await H()).feeStats()).fee_charged.p50;return yy.AssetValue.from({chain:yy.Chain.Stellar,fromBaseDecimal:X,value:L})}catch{return yy.AssetValue.from({chain:yy.Chain.Stellar,fromBaseDecimal:X,value:"100"})}}return{broadcastTransaction:Z,createTransaction:A,estimateTransactionFee:W,getAddress:U,getBalance:_,signAndBroadcastTransaction:q,signTransaction:Q,transfer:G,validateAddress:T0}}var yy,n0,d_;var x5=p(()=>{yy=require("@swapkit/helpers"),n0=require("ts-pattern"),d_=/^G[A-Z2-7]{55}$/});var o0={};By(o0,{validateStellarAddress:()=>T0,getStellarToolbox:()=>l5});module.exports=wy(o0);var C0=p(()=>{x5()});var e_={};By(e_,{getToolbox:()=>UC,getFeeEstimator:()=>s_,getAddressValidator:()=>a_});module.exports=wy(e_);var v=require("@swapkit/helpers");async function a_(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:n}=await Promise.resolve().then(() => (hn(),Kn)),{validateEVMAddress:o}=await Promise.resolve().then(() => (x0(),uC)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (p0(),P0)),{getCosmosAddressValidator:T}=await Promise.resolve().then(() => (MT(),LT)),{validateHyperCoreAddress:C}=await Promise.resolve().then(() => (no(),fo)),{validateSolanaAddress:H}=await Promise.resolve().then(() => (Uo(),Ho)),{validateStarknetAddress:U}=await Promise.resolve().then(() => (RT(),DT)),{validateSuiAddress:_}=await Promise.resolve().then(() => (ST(),kT)),{validateTonAddress:A}=await Promise.resolve().then(() => (xT(),lT)),{getUTXOAddressValidator:Q}=await Promise.resolve().then(() => (Fo(),So)),{validateNearAddress:Z}=await Promise.resolve().then(() => (ho(),Ko)),{validateRadixAddress:G}=await Promise.resolve().then(() => (co(),mo)),{validateRippleAddress:q}=await Promise.resolve().then(() => (io(),go)),{validateTronAddress:W}=await Promise.resolve().then(() => (HC(),CC)),{validateStellarAddress:X}=await Promise.resolve().then(() => (C0(),o0));return function({address:w,chain:L}){return y(L).with(...v.EVMChains,()=>o(w)).with(...v.UTXOChains,(N)=>{return Q(N)(w)}).with(...v.CosmosChains,(N)=>{return T(N)(w)}).with(v.Chain.Aptos,()=>n(w)).with(v.Chain.Radix,()=>G(w)).with(v.Chain.HyperCore,()=>C(w)).with(v.Chain.Near,()=>Z(w)).with(v.Chain.Ripple,()=>q(w)).with(v.Chain.Solana,()=>H(w)).with(v.Chain.Stellar,()=>X(w)).with(v.Chain.Starknet,()=>U(w)).with(v.Chain.Sui,()=>_(w)).with(v.Chain.Ton,()=>A(w)).with(v.Chain.Tron,()=>W(w)).with(v.Chain.Cardano,()=>f(w)).otherwise(()=>!1)}}function s_(y){return async function(o){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...v.EVMChains,async(T)=>{let C=await UC(T),H=await C.createTransaction(o),U="feeOptionKey"in o?o.feeOptionKey:v.FeeOption.Fast;return C.estimateTransactionFee({...H,feeOption:U})}).with(v.Chain.Bitcoin,v.Chain.BitcoinCash,v.Chain.Dogecoin,v.Chain.Dash,v.Chain.Litecoin,v.Chain.Solana,v.Chain.Ripple,v.Chain.Tron,v.Chain.Near,v.Chain.Cardano,v.Chain.HyperCore,async(T)=>{return(await UC(T)).estimateTransactionFee(o)}).with(v.Chain.Aptos,async()=>{let{getAptosToolbox:T}=await Promise.resolve().then(() => (hn(),Kn));return T().estimateTransactionFee(o)}).with(v.Chain.Starknet,async()=>{let{getStarknetToolbox:T}=await Promise.resolve().then(() => (RT(),DT));return(await T()).estimateTransactionFee(o)}).with(v.Chain.Stellar,async()=>{let{getStellarToolbox:T}=await Promise.resolve().then(() => (C0(),o0));return T().estimateTransactionFee()}).with(v.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (ST(),kT));return T().estimateTransactionFee(o)}).with(v.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (xT(),lT));return T().estimateTransactionFee(o)}).with(...v.CosmosChains,async()=>{let{estimateTransactionFee:T}=await Promise.resolve().then(() => (MT(),LT));return T(o)}).otherwise(async()=>v.AssetValue.from({chain:y}))}}async function UC(y,n){let{match:o}=await import("ts-pattern");return o(y).returnType().with(...v.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (l0(),VC));return await f(y,n)}).with(...v.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (Fo(),So));return f(y,n)}).with(...v.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (MT(),LT));return f(y,n)}).with(v.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (hn(),Kn));return f(n)}).with(v.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (no(),fo));return f(n)}).with(v.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (co(),mo));return f(n)}).with(v.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (io(),go));return f(n)}).with(v.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (Uo(),Ho));return f(n)}).with(v.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (C0(),o0));return f(n)}).with(v.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (RT(),DT));return f(n)}).with(v.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (ST(),kT));return f(n)}).with(v.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (HC(),CC));return f(n)}).with(v.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (ho(),Ko));return f(n)}).with(v.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (p0(),P0));return f(n)}).with(v.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (xT(),lT));return f(n)}).otherwise(()=>{throw new v.SwapKitError("toolbox_not_supported",{chain:y})})}
1
+ var I5=Object.create;var{getPrototypeOf:P5,defineProperty:Un,getOwnPropertyNames:AC,getOwnPropertyDescriptor:p5}=Object,qC=Object.prototype.hasOwnProperty;function GC(y){return this[y]}var E5,V5,U0=(y,n,o)=>{var f=y!=null&&typeof y==="object";if(f){var T=n?E5??=new WeakMap:V5??=new WeakMap,C=T.get(y);if(C)return C}o=y!=null?I5(P5(y)):{};let H=n||!y||!y.__esModule?Un(o,"default",{value:y,enumerable:!0}):o;for(let U of AC(y))if(!qC.call(H,U))Un(H,U,{get:GC.bind(y,U),enumerable:!0});if(f)T.set(y,H);return H},wy=(y)=>{var n=(_C??=new WeakMap).get(y),o;if(n)return n;if(n=Un({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of AC(y))if(!qC.call(n,f))Un(n,f,{get:GC.bind(y,f),enumerable:!(o=p5(y,f))||o.enumerable})}return _C.set(y,n),n},_C;var t5=(y)=>y;function b5(y,n){this[y]=t5.bind(null,n)}var By=(y,n)=>{for(var o in n)Un(y,o,{get:n[o],enumerable:!0,configurable:!0,set:b5.bind(n,o)})};var p=(y,n)=>()=>(y&&(n=y(y=0)),n);function Vf(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let n=y.slice(2);if(n.length===0||n.length>64)return!1;return v5.test(n)}function WC({derivationPath:y,provider:n,...o}={}){let f,T=h.derivationPathToString(y||h.NetworkDerivationPath[h.Chain.Aptos],{allHardened:!0});async function C(){if(f)return f;return f=await Nf.match(o).with({phrase:Nf.P.string},async({phrase:M})=>{let{Ed25519Account:w}=await import("@aptos-labs/ts-sdk");return w.fromDerivationPath({mnemonic:M,path:T})}).with({signer:Nf.P.any},({signer:M})=>M).otherwise(()=>{return}),f}async function H(){let{Aptos:M,AptosConfig:w}=await import("@aptos-labs/ts-sdk"),N=new w({fullnode:n||h.getRPCUrlSync(h.Chain.Aptos)});return new M(N)}async function U(){return(await C())?.accountAddress.toString()||""}async function _(M){let w=M||await U();if(!w)throw new h.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:N,chain:Q}=h.getChainConfig(h.Chain.Aptos);try{let O=await H(),B=await O.getAccountAPTAmount({accountAddress:w}),Y=[h.AssetValue.from({chain:Q,fromBaseDecimal:N,value:B.toString()})],X=await O.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:w}}}});for(let Z of X){if(Z.asset_type===zf.COIN_TYPE||Number(Z.amount)<=0)continue;let D=Z.asset_type;if(D){let R=("metadata"in Z&&typeof Z.metadata==="object"&&Z.metadata!==null?Z.metadata:void 0)?.decimals??N;Y.push(h.AssetValue.from({asset:`${h.Chain.Aptos}.APT-${D}`,fromBaseDecimal:R,value:String(Z.amount)}))}}return Y}catch{return[h.AssetValue.from({chain:Q})]}}async function A(M){if(!M){let{baseDecimal:X}=h.getChainConfig(h.Chain.Aptos),Z=n||h.getRPCUrlSync(h.Chain.Aptos),D=await fetch(`${Z}/estimate_gas_price`),{gas_estimate:k}=await D.json();return h.AssetValue.from({chain:h.Chain.Aptos,fromBaseDecimal:X,value:String(k)})}let w=await C();if(!w)throw new h.SwapKitError("toolbox_aptos_no_signer");let N=await J(M),Q=await H(),[O]=await Q.transaction.simulate.simple({signerPublicKey:w.publicKey,transaction:N});if(!O)throw new h.SwapKitError("toolbox_aptos_transaction_creation_error");let B=BigInt(O.gas_used)*BigInt(O.gas_unit_price),{baseDecimal:Y}=h.getChainConfig(h.Chain.Aptos);return h.AssetValue.from({chain:h.Chain.Aptos,fromBaseDecimal:Y,value:B.toString()})}async function J({recipient:M,assetValue:w,maxGasAmount:N,sender:Q}){if(!Vf(M))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let O=Q||await U();if(!O)throw new h.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:B}=await import("@aptos-labs/ts-sdk"),Y=await H(),X=B.from(O);try{let Z=w.isGasAsset?zf.TRANSFER:zf.FUNGIBLE_STORE_TRANSFER,D=Nf.match({address:w?.address,isGasAsset:w.isGasAsset}).with({isGasAsset:!0},()=>[B.from(M),w.getBaseValue("bigint")]).with({address:Nf.P.string},({address:k})=>[B.from(k),B.from(M),w.getBaseValue("bigint")]).otherwise(()=>null);if(!D)throw new h.SwapKitError("toolbox_aptos_missing_asset_type");return Y.transaction.build.simple({data:{function:Z,functionArguments:D,typeArguments:w.isGasAsset?[]:[zf.FUNGIBLE_ASSET_METADATA]},options:N?{maxGasAmount:N}:void 0,sender:X})}catch(Z){if(Z instanceof h.SwapKitError)throw Z;throw new h.SwapKitError("toolbox_aptos_transaction_creation_error",Z)}}async function L(M){let w=await C();if(!w)throw new h.SwapKitError("toolbox_aptos_no_signer");return(await H()).transaction.sign({signer:w,transaction:M})}async function G({assetValue:M,maxGasAmount:w,recipient:N}){let Q=await C();if(!Q)throw new h.SwapKitError("toolbox_aptos_no_signer");if(!Vf(N))throw new h.SwapKitError("core_transaction_invalid_recipient_address");try{let O=Q.accountAddress.toString(),B=await J({assetValue:M,maxGasAmount:w,recipient:N,sender:O});return(await(await H()).signAndSubmitTransaction({signer:Q,transaction:B})).hash}catch(O){if(O instanceof h.SwapKitError)throw O;throw new h.SwapKitError("toolbox_aptos_transaction_creation_error",O)}}async function q({senderAuthenticator:M,transaction:w}){try{return(await(await H()).transaction.submit.simple({senderAuthenticator:M,transaction:w})).hash}catch(N){throw new h.SwapKitError("toolbox_aptos_broadcast_error",N)}}async function W(M){let w=await L(M);return q({senderAuthenticator:w,transaction:M})}return{broadcastTransaction:q,createTransaction:J,estimateTransactionFee:A,getAddress:U,getBalance:_,signAndBroadcastTransaction:W,signTransaction:L,transfer:G,validateAddress:Vf}}function XC({provider:y}){return async function({assetValue:o,recipient:f}){if(!Vf(f))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:T}=await import("@aptos-labs/ts-sdk");if(o.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[T.from(f).toString(),o.getBaseValue("string")],function:zf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let C=o.address;if(!C)throw new h.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[C,T.from(f).toString(),o.getBaseValue("string")],function:zf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[zf.FUNGIBLE_ASSET_METADATA]})).hash}}var h,Nf,zf,v5;var QC=p(()=>{h=require("@swapkit/helpers"),Nf=require("ts-pattern"),zf={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"},v5=/^[0-9a-fA-F]+$/});var Kn={};By(Kn,{validateAptosAddress:()=>Vf,getAptosToolbox:()=>WC,createAptosExtensionTransfer:()=>XC});module.exports=wy(Kn);var hn=p(()=>{QC()});function ZC(){function y(){let n=Date.now(),o=_0||n;return _0=o,n>_0?n:o+1}return u5+y().toString(36)}function xy(y){return async function(o,f=!0){let T=await JC.SwapKitApi.getChainBalance({address:o,chain:y,scamFilter:f}),{baseDecimal:C}=_n.getChainConfig(y),H=T.map(({identifier:_,value:A,decimal:J})=>{return new _n.AssetValue({decimal:J||C,identifier:_,value:A})});if(!H.some((_)=>_.isGasAsset))return[_n.AssetValue.from({chain:y}),...H];return H}}var _n,JC,u5,_0=0;var sy=p(()=>{_n=require("@swapkit/helpers"),JC=require("@swapkit/helpers/api"),u5=typeof process<"u"&&process.pid?process.pid.toString(36):""});function An(y){return{getBalance:xy(y)}}function j5(y){return y}var mn=p(()=>{sy()});function MC(y){return new Of.JsonRpcProvider(y)}async function X0(y,n){return MC(n||await e.getRPCUrl(y))}function qn(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function Q0(y){let{explorerUrl:n,chainIdHex:o,rpcUrls:f}=e.getChainConfig(y);return function(){return y!==e.Chain.Ethereum?{...K5({chain:y}),blockExplorerUrls:[n],chainId:o,rpcUrls:f}:void 0}}function J0(y){return![e.Chain.Adi,e.Chain.Arbitrum,e.Chain.BinanceSmartChain].includes(y)}function K5({chain:y}){let{name:n,nativeCurrency:o,baseDecimal:f}=e.getChainConfig(y);return W0.match(y).with(e.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:e.Chain.Ethereum}})).with(e.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:e.Chain.Ethereum}})).with(e.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(e.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:e.Chain.Ethereum}})).with(e.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(e.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(e.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(e.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(e.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:e.Chain.Ethereum}})).with(e.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:e.Chain.Polygon}})).otherwise(()=>({chainName:n,nativeCurrency:{decimals:f,name:o,symbol:o}}))}async function Z0(y,n){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let o={...n,nonce:n.nonce!==void 0?BigInt(n.nonce):void 0};return await y.authorize(o)}function YC(y,n){let o=n!==void 0?`index ${n}: `:"",f=(T,C)=>{throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:T,message:`${o}${C}`}})};W0.match(y).when(({chainId:T})=>typeof T!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:T})=>!h5(T),()=>f("address","address must be a valid checksummed address")).when(({nonce:T})=>typeof T!=="bigint"||T<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:T})=>!T,()=>f("signature","signature is required")).when(({signature:T})=>typeof T?.yParity!=="number"||![0,1].includes(T.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:T})=>!LC(T?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:T})=>!LC(T?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function BC(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:n})=>y[n]!=null).map(({key:n,type:o})=>({name:n,type:o}))}function A0(y){return y.charAt(0).toUpperCase()+y.slice(1)}function q0(y,n){if(y.isTuple()&&y.components){let o=A0(y.name);return n[o]=y.components.map((f)=>({name:f.name,type:q0(f,n)})),o}if(y.isArray()){let o=y.arrayChildren;if(o?.isTuple()&&o.components){let f=A0(y.name.replace(/s$/,""));return n[f]=o.components.map((T)=>({name:T.name,type:q0(T,n)})),`${f}[]`}return`${o?.type??"bytes"}[]`}return y.type}function G0(y,n){if(typeof y==="bigint")return y;if(n?.isTuple()&&typeof y?.toObject==="function"){let o=y.toObject(),f={};for(let[T,C]of(n.components??[]).entries())f[C.name]=G0(o[C.name]??y[T],C);return f}if(Array.isArray(y)){let o=n?.arrayChildren;return y.map((f)=>G0(f,o??void 0))}return y}function m5({chain:y,abi:n,data:o,to:f}){let C=new Of.Interface(n).parseTransaction({data:o});if(!C)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let H={},U=A0(C.name);H[U]=C.fragment.inputs.map((G)=>({name:G.name,type:q0(G,H)}));let _={};for(let[G,q]of C.fragment.inputs.entries())_[q.name]=G0(C.args[G],q);let{chainId:A}=e.getChainConfig(y),J={chainId:Number(A),verifyingContract:Of.getAddress(f)},L=BC(J);return{domain:J,message:_,primaryType:U,types:{EIP712Domain:L,...H}}}function L0(y,n){if(!Array.isArray(y)||y.length===0)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[o,f]of y.entries())if(YC(f,o),n!==void 0&&f.chainId!==n)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${o}: authorization chainId (${f.chainId}) does not match transaction chainId (${n})`}})}var e,Of,W0,LC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),h5=(y)=>{try{return typeof y==="string"&&!!Of.getAddress(y)}catch{return!1}};var Gn=p(()=>{e=require("@swapkit/helpers"),Of=require("ethers"),W0=require("ts-pattern")});var zC;var NC=p(()=>{zC=[{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 bf({chain:y=x.Chain.Ethereum,provider:n,signer:o,isEIP1559Compatible:f=!0}){return{approve:r5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),approvedAmount:DC({chain:y,provider:n}),broadcastTransaction:n.broadcastTransaction,call:O0({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),createApprovalTx:yU({chain:y,provider:n,signer:o}),createContract:B0({chain:y,provider:n}),createContractTxObject:wf({chain:y,provider:n}),createTransaction:M0({chain:y,provider:n,signer:o}),createTransferTx:M0({chain:y,provider:n,signer:o}),EIP1193SendTransaction:uf(n),estimateCall:RC({provider:n,signer:o}),estimateGasLimit:s5({chain:y,provider:n,signer:o}),estimateGasPrices:Df({chain:y,isEIP1559Compatible:f,provider:n}),estimateTransactionFee:fU({chain:y,isEIP1559Compatible:f,provider:n}),getAddress:()=>{return o?o.getAddress():void 0},getBalance:An(y).getBalance,getNetworkParams:Q0(y),isApproved:d5({chain:y,provider:n}),sendTransaction:kC({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),signAuthorization:e5({signer:o}),signMessage:o?(T)=>o.signMessage(T):void 0,signTypedData:o?({domain:T,types:C,value:H})=>o.signTypedData(T,C,H):void 0,transfer:a5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),validateAddress:Xn}}function Xn(y){try{return Iy.getAddress(y),!0}catch{return!1}}function vf(y){return y instanceof Iy.BrowserProvider}function Qn(y,n,o){return new Iy.Contract(y,Iy.Interface.from(n),o)}function B0({provider:y}){return function(o,f){return new Iy.Contract(o,Iy.Interface.from(f),y)}}function z0({abi:y,funcName:n}){let o=y.find((f)=>f.name===n);if(!o)throw new x.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return o.stateMutability&&c5.includes(o.stateMutability)}function OC(y){return Iy.getAddress(y)}function uf(y){return function({value:o,...f}){if(!vf(y))throw new x.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:T,gasPrice:C,maxFeePerGas:H,maxPriorityFeePerGas:U,..._}=f;return y.send("eth_sendTransaction",[{..._,value:qn(BigInt(o||0))}])}}function wC(y,n){let o=jf(y,n);if(o)return Iy.getAddress(o.toLowerCase());throw new x.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function jf({chain:y,symbol:n,ticker:o},f){try{let T=y===x.Chain.BinanceSmartChain&&n==="BNB"&&o==="BNB",C=y===x.Chain.Hyperevm&&n==="HYPE"&&o==="HYPE",H=y===f&&n===f&&o===f,U=i5.includes(y)&&n==="ETH"&&o==="ETH";if(H||T||C||U)return N0[f];return Iy.getAddress(n.slice(o.length+1).replace(/^0X/,""))}catch{return null}}function wf({provider:y}){return async({contractAddress:n,abi:o,funcName:f,funcParams:T=[],txOverrides:C})=>Qn(n,o,y).getFunction(f).populateTransaction(...T.concat(C).filter((H)=>typeof H<"u"))}function Df({chain:y,provider:n,isEIP1559Compatible:o=!0}){return Y0.match(y).with(x.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:T,maxPriorityFeePerGas:C}=await n.getFeeData();if(!T||C===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Average),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Average)},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fastest)}}}catch(T){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).with(x.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:T}=await n.getFeeData();if(!T)throw new x.SwapKitError("toolbox_evm_no_fee_data");let C=T*12n/10n;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(T){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:C,gasPrice:H}=await n.getFeeData();if(o){if(T===null||C===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:T,maxPriorityFeePerGas:C},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fastest)}}}if(!H)throw new x.SwapKitError("toolbox_evm_no_gas_price");return{[x.FeeOption.Average]:{gasPrice:H},[x.FeeOption.Fast]:{gasPrice:x.applyFeeMultiplierToBigInt(H,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{gasPrice:x.applyFeeMultiplierToBigInt(H,x.FeeOption.Fastest)}}}catch(T){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}})}function O0({provider:y,isEIP1559Compatible:n,signer:o,chain:f}){return async function({callProvider:C,contractAddress:H,abi:U,funcName:_,funcParams:A=[],txOverrides:J={},feeOption:L=x.FeeOption.Fast}){let G=C||y;if(!H)throw new x.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let q=z0({abi:U,funcName:_});if(q&&vf(G)&&o){let w=wf({chain:f,provider:G}),N=J?.from||await o?.getAddress(),Q=await w({abi:U,contractAddress:H,funcName:_,funcParams:A,txOverrides:{...J,from:N}});return uf(G)(Q)}let W=Qn(H,U,G);if(q){if(!o)throw new x.SwapKitError("toolbox_evm_no_signer");let w=J?.from||await o.getAddress();if(!w)throw new x.SwapKitError("toolbox_evm_no_signer_address");let N=W.connect(o),Q=Df({chain:f,isEIP1559Compatible:n,provider:y}),{maxFeePerGas:O,maxPriorityFeePerGas:B,gasPrice:Y}=(await Q())[L],X=await W.getFunction(_).estimateGas(...A,J),Z=await N[_](...A,{...J,gasLimit:X,gasPrice:Y,maxFeePerGas:O,maxPriorityFeePerGas:B,nonce:J?.nonce||await G.getTransactionCount(w)});return typeof Z?.hash==="string"?Z?.hash:Z}let M=await W[_]?.(...A);return typeof M?.hash==="string"?M?.hash:M}}function DC({provider:y,chain:n}){return function({assetAddress:f,spenderAddress:T,from:C}){return O0({chain:n,isEIP1559Compatible:!0,provider:y})({abi:tf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[C,T]})}}function d5({provider:y,chain:n}){return async function({assetAddress:f,spenderAddress:T,from:C,amount:H=Wn}){let U=await DC({chain:n,provider:y})({assetAddress:f,from:C,spenderAddress:T});return x.SwapKitNumber.fromBigInt(U).gte(x.SwapKitNumber.fromBigInt(BigInt(H)))}}function r5({signer:y,isEIP1559Compatible:n=!0,provider:o,chain:f}){return async function({assetAddress:C,spenderAddress:H,feeOptionKey:U=x.FeeOption.Fast,amount:_,gasLimitFallback:A,from:J,nonce:L}){let G=[H,BigInt(_||Wn)],q=await y?.getAddress()||J,W={abi:tf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:G,signer:y,txOverrides:{from:q}};if(vf(o)){let w=wf({chain:f,provider:o}),N=uf(o),Q=await w(W);return N(Q)}return O0({chain:f,isEIP1559Compatible:n,provider:o,signer:y})({...W,feeOption:U,funcParams:G,txOverrides:{from:q,gasLimit:A?BigInt(A.toString()):void 0,nonce:L}})}}function a5({signer:y,isEIP1559Compatible:n=!0,provider:o}){return async function({assetValue:T,memo:C,recipient:H,feeOptionKey:U=x.FeeOption.Fast,sender:_,...A}){let{hexlify:J,toUtf8Bytes:L}=await import("ethers"),G=T.getBaseValue("bigint"),q=T.chain,W=_||await y?.getAddress(),M=kC({chain:q,isEIP1559Compatible:n,provider:o,signer:y});if(!W)throw new x.SwapKitError("toolbox_evm_no_from_address");if(T.isGasAsset){let Y={...A,data:J(L(C||"")),feeOptionKey:U,from:W,to:H,value:G};return M(Y)}if(!jf(T,q))throw new x.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:N,maxPriorityFeePerGas:Q,gasPrice:O}=(await Df({chain:q,isEIP1559Compatible:n,provider:o})())[U],B=await M0({chain:q,provider:o,signer:y})({assetValue:T,data:J(L(C||"")),gasPrice:O,maxFeePerGas:N,maxPriorityFeePerGas:Q,memo:C,recipient:H,sender:W});return M(B)}}function RC({provider:y,signer:n}){return function({contractAddress:f,abi:T,funcName:C,funcParams:H=[],txOverrides:U}){if(!f)throw new x.SwapKitError("toolbox_evm_no_contract_address");let _=Qn(f,T,y);return n?_.connect(n).getFunction(C).estimateGas(...H,U):_.getFunction(C).estimateGas(...H,U)}}function s5({provider:y,signer:n}){return async function({assetValue:f,recipient:T,memo:C,data:H,sender:U,funcName:_,funcParams:A,txOverrides:J}){let L=f.bigIntValue,G=f.isGasAsset?null:jf(f,f.chain);if(G&&_)return RC({provider:y,signer:n})({abi:tf.erc20ABI,contractAddress:G,funcName:_,funcParams:A,txOverrides:J});let{hexlify:q,toUtf8Bytes:W}=await import("ethers");return y.estimateGas({data:H?H:C?q(W(C)):void 0,from:U,to:T,value:L})}}function e5({signer:y}){if(!y)return;return(n)=>Z0(y,n)}function kC({provider:y,signer:n,isEIP1559Compatible:o=!0,chain:f}){return async function({feeOptionKey:C=x.FeeOption.Fast,...H}){let{from:U,to:_,data:A,value:J,...L}=H;if(!n)throw new x.SwapKitError("toolbox_evm_no_signer");if(!_)throw new x.SwapKitError("toolbox_evm_no_to_address");let G={...L,data:A||"0x",from:U,to:_,value:BigInt(J||0)};if(vf(y))return uf(y)(G);let q=U||await n.getAddress(),W=H.nonce||await y.getTransactionCount(q),M=(await y.getNetwork()).chainId,w=D0(G,o);if(w==="eip7702")L0(G.authorizations||[],M);let N=Y0.match(w).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),Q={...G,chainId:M,nonce:W,type:N,...w==="eip7702"&&{authorizationList:G.authorizations}},O=Df({chain:f,isEIP1559Compatible:o,provider:y}),Y=w!=="legacy"&&!(G.maxFeePerGas&&G.maxPriorityFeePerGas)||!G.gasPrice?Object.entries((await O())[C]).reduce((Z,[D,k])=>({...Z,[D]:qn(BigInt(k))}),{}):{},X;try{X=qn(G.gasLimit||await y.estimateGas(Q)*11n/10n)}catch(Z){throw new x.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:Z})}try{let Z={...Q,gasLimit:X,...Y};try{return(await n.sendTransaction(Z)).hash}catch{let D=await n.signTransaction({...Z,from:q});return(await y.broadcastTransaction(D)).hash}}catch(Z){throw new x.SwapKitError("toolbox_evm_error_sending_transaction",{error:Z})}}}function M0({provider:y,signer:n}){return async function({assetValue:f,memo:T,recipient:C,data:H,sender:U,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:J,...L}){let G=f.getBaseValue("bigint"),q=f.chain,W=U||await n?.getAddress();if(!W)throw new x.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset(f)){let{hexlify:N,toUtf8Bytes:Q}=await import("ethers");return{...L,data:H||N(Q(T||"")),from:W,to:C,value:G}}let M=jf(f,q);if(!M)throw new x.SwapKitError("toolbox_evm_no_contract_address");return wf({chain:f.chain,provider:y})({abi:tf.erc20ABI,contractAddress:M,funcName:"transfer",funcParams:[C,G],txOverrides:{from:W,gasPrice:J,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function yU({provider:y,signer:n,chain:o}){return async function({assetAddress:T,spenderAddress:C,amount:H,from:U}){let _=await n?.getAddress()||U,A=wf({chain:o,provider:y}),J=["bigint","number"].includes(typeof H)?H:H||Wn;return await A({abi:tf.erc20ABI,contractAddress:T,funcName:"approve",funcParams:[C,BigInt(J)],txOverrides:{from:_}})}}function fU({provider:y,isEIP1559Compatible:n=!0,chain:o}){return async function({feeOption:T=x.FeeOption.Fast,...C}){let U=await Df({chain:o,isEIP1559Compatible:n,provider:y})(),_=await y.estimateGas(C),A=x.AssetValue.from({chain:o}),{gasPrice:J,maxFeePerGas:L,maxPriorityFeePerGas:G}=U[T];if(!n&&J)return A.set(x.SwapKitNumber.fromBigInt(J*_,A.decimal));if(L&&G){let q=(L+G)*_;return A.set(x.SwapKitNumber.fromBigInt(q,A.decimal))}throw new x.SwapKitError("toolbox_evm_no_gas_price")}}var x,tf,Iy,Y0,Wn,c5,g5,N0,i5,cn=(y)=>y.type===4||(y.authorizations?.length??0)>0,w0=(y)=>!cn(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),D0=(y,n=!0)=>{if(cn(y))return"eip7702";if(w0(y)||n)return"eip1559";return"legacy"};var gn=p(()=>{mn();Gn();x=require("@swapkit/helpers"),tf=require("@swapkit/helpers/contracts"),Iy=require("ethers"),Y0=require("ts-pattern"),Wn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");c5=["payable","nonpayable"];g5=x.EVMChains.reduce((y,n)=>{return y[n]="0x0000000000000000000000000000000000000000",y},{}),N0={...g5,[x.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[x.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},i5=[x.Chain.Arbitrum,x.Chain.Aurora,x.Chain.Base,x.Chain.Optimism]});function dn(y){let n=Qy(_y.Chain.Ethereum)(y);async function o(f,T="0x5ba1e12693dc8f9c48aad8770482f4739beed696",C="aggregate",H=_y.FeeOption.Fast){let U=await n.createContractTxObject({abi:zC,contractAddress:T,funcName:C,funcParams:[f]});return n.sendTransaction({...U,feeOptionKey:H})}return{...n,multicall:o}}function Qy(y){return function({provider:o,...f}){let T=J0(y),C=Jn.match(f).with({phrase:Jn.P.string},({phrase:U})=>SC.HDNodeWallet.fromPhrase(U).connect(o)).with({signer:Jn.P.any},({signer:U})=>U).otherwise(()=>{return});return bf({chain:y,isEIP1559Compatible:T,provider:o,signer:C})}}var _y,SC,Jn,rn,an,sn,en,yT,fT,nT,FC,TT,oT,CT,HT,UT,_T,Zn,AT,qT,GT,WT;var R0=p(()=>{NC();Gn();gn();_y=require("@swapkit/helpers"),SC=require("ethers"),Jn=require("ts-pattern");rn=Qy(_y.Chain.Adi),an=Qy(_y.Chain.Arbitrum),sn=Qy(_y.Chain.Aurora),en=Qy(_y.Chain.Avalanche),yT=Qy(_y.Chain.Base),fT=Qy(_y.Chain.Berachain),nT=Qy(_y.Chain.BinanceSmartChain),FC=Qy(_y.Chain.Botanix),TT=Qy(_y.Chain.Core),oT=Qy(_y.Chain.Corn),CT=Qy(_y.Chain.Cronos),HT=Qy(_y.Chain.Gnosis),UT=Qy(_y.Chain.Hyperevm),_T=Qy(_y.Chain.Polygon),Zn=Qy(_y.Chain.Sonic),AT=Qy(_y.Chain.Unichain),qT=Qy(_y.Chain.XLayer),GT=Qy(_y.Chain.Monad),WT=Qy(_y.Chain.MegaETH)});var xC;var lC=p(()=>{xC=[{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 k0(y){return new XT.Contract(TU,xC,y)}function $C(y){return async function(){let o=k0(y);if(o&&"l1BaseFee"in o)return await o?.l1BaseFee();return}}function IC(y){return async function({from:o,to:f,nonce:T,...C}){let{Transaction:H}=await import("ethers");if(!f)throw new Ay.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return H.from({...C,authorizationList:C.authorizationList,nonce:T?T:o?await y.getTransactionCount(o):0,to:f}).serialized}}function PC(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1Fee"in f)return f.getL1Fee(T)}}function pC(y){return async function(o){let T=(await y.getFeeData()).gasPrice??0n,C=await y.estimateGas(o);return T*C}}function oU(y){return async function(o){let f=await PC(y)(o)??0n,T=await pC(y)(o);return f+T}}function CU(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(T)}}function HU(y){return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:T}=await y.getFeeData(),C=await $C(y)(),H=T;if(!(o&&f))throw new Ay.SwapKitError("toolbox_evm_no_fee_data");return{[Ay.FeeOption.Average]:{gasPrice:H,l1GasPrice:C,maxFeePerGas:o,maxPriorityFeePerGas:f},[Ay.FeeOption.Fast]:{gasPrice:Ay.applyFeeMultiplierToBigInt(H,Ay.FeeOption.Fast),l1GasPrice:Ay.applyFeeMultiplierToBigInt(C||0n,Ay.FeeOption.Fast),maxFeePerGas:o,maxPriorityFeePerGas:Ay.applyFeeMultiplierToBigInt(f,Ay.FeeOption.Fast)},[Ay.FeeOption.Fastest]:{gasPrice:Ay.applyFeeMultiplierToBigInt(H,Ay.FeeOption.Fastest),l1GasPrice:Ay.applyFeeMultiplierToBigInt(C||0n,Ay.FeeOption.Fastest),maxFeePerGas:o,maxPriorityFeePerGas:Ay.applyFeeMultiplierToBigInt(f,Ay.FeeOption.Fastest)}}}catch(o){throw new Ay.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function QT({provider:y,...n}){let o=Ln.match(n).with({phrase:Ln.P.string},({phrase:C})=>XT.HDNodeWallet.fromPhrase(C).connect(y)).with({signer:Ln.P.any},({signer:C})=>C).otherwise(()=>{return}),f=bf({provider:y,signer:o}),T=$C(y);return{...f,estimateGasPrices:HU(y),estimateL1Gas:CU(y),estimateL1GasCost:PC(y),estimateL2GasCost:pC(y),estimateTotalGasCost:oU(y),getBalance:An(Ay.Chain.Optimism).getBalance,getL1GasPrice:T}}var Ay,XT,Ln,TU="0x420000000000000000000000000000000000000f";var S0=p(()=>{mn();lC();gn();Ay=require("@swapkit/helpers"),XT=require("ethers"),Ln=require("ts-pattern")});var tC={};By(tC,{validateEVMAddress:()=>Xn,toChecksumAddress:()=>OC,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>vf,getTokenAddress:()=>jf,getEvmToolboxAsync:()=>VC,getEvmToolbox:()=>F0,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>uf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createContract:()=>Qn,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Zn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>WT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>FC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});function F0(y,n){return EC.match(y).with(Wy.Chain.Adi,()=>rn(n)).with(Wy.Chain.Arbitrum,()=>an(n)).with(Wy.Chain.Aurora,()=>sn(n)).with(Wy.Chain.Avalanche,()=>en(n)).with(Wy.Chain.Base,()=>yT(n)).with(Wy.Chain.Berachain,()=>fT(n)).with(Wy.Chain.BinanceSmartChain,()=>nT(n)).with(Wy.Chain.Botanix,()=>Zn(n)).with(Wy.Chain.Core,()=>TT(n)).with(Wy.Chain.Corn,()=>oT(n)).with(Wy.Chain.Cronos,()=>CT(n)).with(Wy.Chain.Ethereum,()=>dn(n)).with(Wy.Chain.Gnosis,()=>HT(n)).with(Wy.Chain.Hyperevm,()=>UT(n)).with(Wy.Chain.Optimism,()=>QT(n)).with(Wy.Chain.Polygon,()=>_T(n)).with(Wy.Chain.Sonic,()=>Zn(n)).with(Wy.Chain.Unichain,()=>AT(n)).with(Wy.Chain.XLayer,()=>qT(n)).with(Wy.Chain.Monad,()=>GT(n)).with(Wy.Chain.MegaETH,()=>WT(n)).exhaustive()}async function VC(y,n){let o={...n,provider:n?.provider||await X0(y)};return F0(y,o)}var Wy,EC;var x0=p(()=>{Gn();R0();S0();Wy=require("@swapkit/helpers"),EC=require("ts-pattern");gn();R0();S0()});var bC;var vC=p(()=>{((o)=>{o.Test="goerli";o.Main="homestead"})(bC||={})});var uC={};By(uC,{validateEVMAddress:()=>Xn,validateAuthorizations:()=>L0,validateAuthorization:()=>YC,toHexString:()=>qn,toChecksumAddress:()=>OC,signAuthorization:()=>Z0,parseEIP712FromEVMTx:()=>m5,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>vf,getTokenAddress:()=>jf,getProviderSync:()=>MC,getProvider:()=>X0,getNetworkParams:()=>Q0,getIsEIP1559Compatible:()=>J0,getEvmToolboxAsync:()=>VC,getEvmToolbox:()=>F0,getEvmApi:()=>An,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>uf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createCustomEvmApi:()=>j5,createContract:()=>Qn,buildEIP712DomainType:()=>BC,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Zn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>WT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,EthNetwork:()=>bC,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>FC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});module.exports=wy(uC);var l0=p(()=>{mn();Gn();x0();vC()});async function I0(y,n){let o=await fetch(`${iC}${y}`,{...n,headers:{project_id:gC,...n?.headers}});if(!o.ok)throw Error(`Blockfrost API error: ${o.status} ${o.statusText}`);return o.json()}async function dC(y){try{return await I0(`/addresses/${y}/utxos`)}catch{return[]}}async function _U(){return(await I0("/blocks/latest")).slot}async function AU(){let y=await I0("/epochs/latest/parameters"),n={PlutusScriptV1:y.cost_models.PlutusV1?Object.values(y.cost_models.PlutusV1):[],PlutusScriptV2:y.cost_models.PlutusV2?Object.values(y.cost_models.PlutusV2):[],PlutusScriptV3:y.cost_models.PlutusV3?Object.values(y.cost_models.PlutusV3):[]};return{collateralPercent:new Py.default(y.collateral_percent),languageView:n,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new Py.default(y.min_fee_a),minFeeB:new Py.default(y.min_fee_b),minFeeRefScriptCostPerByte:new Py.default(15),priceMem:new Py.default(y.price_mem),priceSteps:new Py.default(y.price_step),stakeKeyDeposit:new Py.default(2000000),utxoCostPerByte:new Py.default(y.coins_per_utxo_size)}}async function KC(y){let n=await fetch(`${iC}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:gC},method:"POST"});if(!n.ok){let o=await n.text();throw Error(`Transaction submission failed: ${o}`)}return n.json()}function qU(y,n){return y.map((o)=>{let f=o.amount.find((H)=>H.unit==="lovelace"),T=f?new Py.default(f.quantity):new Py.default(0),C=o.amount.filter((H)=>H.unit!=="lovelace").map((H)=>({amount:new Py.default(H.quantity),assetName:H.unit.slice(56),policyId:H.unit.slice(0,56)}));return{address:n,amount:T,index:o.output_index,tokens:C,txId:o.tx_hash}})}async function GU(y){try{let n=await dC(y),o=0n,f=new Map;for(let H of n){if(!H.amount||!Array.isArray(H.amount))continue;for(let U of H.amount){let{unit:_,quantity:A}=U;if(_==="lovelace")o+=BigInt(A);else{let J=f.get(_)||0n;f.set(_,J+BigInt(A))}}}let T=[],{baseDecimal:C}=qy.getChainConfig(qy.Chain.Cardano);if(o>0n)T.push(qy.AssetValue.from({chain:qy.Chain.Cardano,fromBaseDecimal:C,value:o.toString()}));for(let[H,U]of f)T.push(qy.AssetValue.from({asset:`${qy.Chain.Cardano}.${H}`,value:U.toString()}));if(T.length===0)return[qy.AssetValue.from({chain:qy.Chain.Cardano})];return T}catch(n){let o=n instanceof Error?n.message:String(n);return console.error(`Cardano balance fetch error: ${o}`),[qy.AssetValue.from({chain:qy.Chain.Cardano})]}}function rC(y){if(!y||typeof y!=="string")return!1;try{let n=hC.bech32.decode(y,120);return n.prefix==="addr"||n.prefix==="addr_test"}catch{return!1}}async function WU(y,n=0,o=0){let f=await mC.mnemonicToSeed(y,""),C=(await cC.Bip32PrivateKey.fromEntropy(Buffer.from(f.slice(0,64)))).derive($0+1852).derive($0+1815).derive($0+n),H=C.derive(0).derive(o),U=H.toBip32PublicKey().toPublicKey().toBytes(),_=Ry.crypto.hash28(U),J=C.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),L=Ry.crypto.hash28(J),G={hash:_,type:Ry.types.HashType.ADDRESS},q={hash:L,type:Ry.types.HashType.ADDRESS},M=new Ry.address.BaseAddress(UU,G,q).getBech32(),w=H.toPrivateKey();return{getAddress:()=>M,publicKey:U,publicKeyHash:_,signTransaction:async(N)=>{try{let Q=await import("@stricahq/cbors"),O=Buffer.from(N,"hex"),B=Q.Decoder.decode(O),[Y,X,Z,D]=B.value,k=Q.Encoder.encode(Y),R=Ry.crypto.hash32(k),S=w.sign(R),l=X instanceof Map?X:new Map,z=l.get(jC)||[];z.push([U,S]),l.set(jC,z);let F=[Y,l,Z,D];return Q.Encoder.encode(F).toString("hex")}catch(Q){throw new qy.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(Q)})}}}}function XU(y){let n,o,f;async function T(){if(!f)f=await AU();return f}async function C(){if(n!==void 0)return n;if(y&&"phrase"in y&&y.phrase){let q=y.index??0;return n=await WU(y.phrase,0,q),n}if(y&&"signer"in y&&y.signer)return n=y.signer,n;return}async function H(){if(o)return o;let q=await C();if(!q)return"";if("getAddress"in q)return o=await q.getAddress(),o;return""}async function U(q){let W=q||await H();if(!W)throw new qy.SwapKitError("core_wallet_connection_not_found");return GU(W)}async function _(q){if(q)try{let{tx:N}=await A(q),Q=N.getFee();return qy.AssetValue.from({chain:qy.Chain.Cardano,fromBaseDecimal:6,value:Q.toString()})}catch{}let W=await T(),M=400,w=W.minFeeB.plus(W.minFeeA.times(M));return qy.AssetValue.from({chain:qy.Chain.Cardano,fromBaseDecimal:6,value:w.toString()})}async function A({sender:q="",recipient:W,assetValue:M,memo:w,pureLovelaceOnly:N=!1}){let Q=q||await H();if(!Q)throw new qy.SwapKitError("core_wallet_connection_not_found");let[O,B,Y]=await Promise.all([dC(Q),_U(),T()]),X=O.filter((E)=>N?E.amount.every((m)=>m.unit==="lovelace"):E.amount.some((m)=>m.unit==="lovelace")).sort((E,m)=>{let Ty=E.amount.some((Uy)=>Uy.unit!=="lovelace"),Ly=m.amount.some((Uy)=>Uy.unit!=="lovelace");if(Ty===Ly)return 0;return Ty?1:-1}),Z=Ry.utils.getAddressFromString(Q),D=Ry.utils.getAddressFromString(W),k=qU(X,Z),R=new Py.default(M.getBaseValue("string")),S=[{address:D,amount:R,tokens:[]}],l;if(w){let E=new Map;E.set("msg",[w]),l={metadata:[{data:E,label:674}]}}let z={...Y,minFeeB:Y.minFeeB.plus(Y.minFeeA.times(4))},$=new Ry.Transaction({protocolParams:z}).paymentTransaction({auxiliaryData:l,changeAddress:Z,inputs:k,outputs:S,ttl:B+3600}),{payload:j}=$.buildTransaction();return{tx:$,unsignedTx:j}}async function J(q){let W=await C();if(!W||!("signTransaction"in W))throw new qy.SwapKitError("core_wallet_connection_not_found");return W.signTransaction(q)}async function L({recipient:q,assetValue:W,memo:M}){let w=await C();if(!w||!("signTransaction"in w))throw new qy.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:N}=await A({assetValue:W,memo:M,recipient:q,sender:await H()}),Q=await J(N);return await KC(Q)}async function G(q){let W=await J(q);return await KC(W)}return{createTransaction:A,estimateTransactionFee:_,getAddress:H,getBalance:U,signAndBroadcastTransaction:G,signTransaction:J,transfer:L,validateAddress:rC}}var hC,mC,cC,Ry,qy,Py,gC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",iC="https://cardano-mainnet.blockfrost.io/api/v0",UU,$0=2147483648,jC=0;var aC=p(()=>{hC=require("@scure/base"),mC=require("@scure/bip39"),cC=require("@stricahq/bip32ed25519"),Ry=require("@stricahq/typhonjs"),qy=require("@swapkit/helpers"),Py=U0(require("bignumber.js")),UU=Ry.types.NetworkId.MAINNET});var P0={};By(P0,{validateCardanoAddress:()=>rC,getCardanoToolbox:()=>XU});module.exports=wy(P0);var p0=p(()=>{aC()});function Mn(y){return iy.base64.encode(Uint8Array.from(iy.bech32.fromWords(iy.bech32.decode(y).words)))}function Yn(y,n="thor"){return iy.bech32.encode(n,iy.bech32.toWords(iy.base64.decode(y)))}function QU(y){return iy.base64.encode(y)}function JU(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new sC.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iy.base64.decode(y)}var iy,sC;var E0=p(()=>{iy=require("@scure/base"),sC=require("@swapkit/helpers")});function ey(y){switch(y){case u.Chain.Maya:return{amount:[],gas:"10000000000"};case u.Chain.THORChain:return{amount:[],gas:"500000000"};case u.Chain.Kujira:return f1;case u.Chain.Noble:return n1;default:return y1}}async function yf(y){let n=await import("@cosmjs/stargate"),o=n.StargateClient??n.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return o.connect({headers:f,url:y})}async function Rf(y,n,o={}){let f=await import("@cosmjs/stargate"),T=f.SigningStargateClient??f.default?.SigningStargateClient,C=f.GasPrice??f.default?.GasPrice,H=typeof o==="string"?o:"0.0003uatom",U=typeof o==="string"?{}:o;return T.connectWithSigner(y,n,{gasPrice:C.fromString(H),...U})}async function t0(y,n){let o=await import("@cosmjs/stargate");return(o.SigningStargateClient??o.default?.SigningStargateClient).offline(y,n)}async function b0({sender:y,recipient:n,assetValue:o,memo:f="",feeRate:T,sequence:C,accountNumber:H}){let{chain:U,chainId:_}=o,A=await u.getRPCUrl(U),L=await(await yf(A)).getAccount(y);if(!L)throw new u.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let G=u.AssetValue.from({chain:U}),q=Uf(G.symbol),W=ey(U),M=q&&T?{amount:[{amount:T.toString(),denom:q}],gas:W.gas}:W,w={amount:[{amount:o.getBaseValue("string"),denom:Uf(o.symbol)}],fromAddress:y,toAddress:n};return{accountNumber:H??Number(L.accountNumber),chainId:_,fee:M,memo:f,msgs:[{typeUrl:ZU(U),value:w}],sequence:C??L.sequence}}var u,V0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",eC="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",y1,f1,n1,Uf=(y,n=!1)=>{if(n)return y.toLowerCase();switch(y){case"uUSK":case"USK":return V0;case"uYUM":case"YUM":return eC;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},Bn=({symbol:y,chain:n})=>{if(n===u.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${u.Chain.Maya}.${y}`).toUpperCase();if(n===u.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${u.Chain.THORChain}.${y}`:y).toUpperCase();return Uf(y,!1)},ZU=(y)=>{switch(y){case u.Chain.Maya:case u.Chain.THORChain:return"/types.MsgSend";case u.Chain.Cosmos:case u.Chain.Kujira:case u.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new u.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},LU,v0=(y,n)=>{let o=LU[y.toLowerCase()];if(!o)return u.AssetValue.from({asset:y,fromBaseDecimal:8,value:n});let{chain:f,asset:T,decimals:C}=o,H=f?{chain:f}:{asset:T};return u.AssetValue.from({...H,fromBaseDecimal:C,value:n})};var zn=p(()=>{u=require("@swapkit/helpers"),y1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},f1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},n1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};LU={atom:{chain:u.Chain.Cosmos,decimals:u.getChainConfig(u.Chain.Cosmos).baseDecimal},cacao:{chain:u.Chain.Maya,decimals:10},kuji:{chain:u.Chain.Kujira,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal},maya:{asset:`${u.Chain.Maya}.${u.Chain.Maya}`,decimals:4},rune:{chain:u.Chain.THORChain,decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},uatom:{chain:u.Chain.Cosmos,decimals:u.getChainConfig(u.Chain.Cosmos).baseDecimal},ukuji:{chain:u.Chain.Kujira,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal},usdc:{chain:u.Chain.Noble,decimals:u.getChainConfig(u.Chain.Noble).baseDecimal},uusdc:{chain:u.Chain.Noble,decimals:u.getChainConfig(u.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},[V0.toLowerCase()]:{asset:`${u.Chain.Kujira}.USK`,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal}}});var T1={};By(T1,{$root:()=>P});var zy,K,Ey,b,P;var o1=p(()=>{zy=U0(require("protobufjs/minimal.js")),K=zy.default.Reader,Ey=zy.default.Writer,b=zy.default.util,P=zy.default.roots.default||(zy.default.roots.default={});P.common=(()=>{let y={};return y.Asset=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Ey.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))T.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))T.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))T.uint32(32).bool(f.synth);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.Asset;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.chain=f.string();break;case 2:H.symbol=f.string();break;case 3:H.ticker=f.string();break;case 4:H.synth=f.bool();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!b.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!b.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!b.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(f){if(f instanceof P.common.Asset)return f;let T=new P.common.Asset;if(f.chain!=null)T.chain=String(f.chain);if(f.symbol!=null)T.symbol=String(f.symbol);if(f.ticker!=null)T.ticker=String(f.ticker);if(f.synth!=null)T.synth=Boolean(f.synth);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.chain="",C.symbol="",C.ticker="",C.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))C.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))C.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))C.synth=f.synth;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.Coin=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=b.Long?b.Long.fromBits(0,0,!1):0,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Ey.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))P.common.Asset.encode(f.asset,T.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))T.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))T.uint32(24).int64(f.decimals);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.Coin;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.asset=P.common.Asset.decode(f,f.uint32());break;case 2:H.amount=f.string();break;case 3:H.decimals=f.int64();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let T=P.common.Asset.verify(f.asset);if(T)return"asset."+T}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!b.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!b.isInteger(f.decimals)&&!(f.decimals&&b.isInteger(f.decimals.low)&&b.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(f){if(f instanceof P.common.Coin)return f;let T=new P.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");T.asset=P.common.Asset.fromObject(f.asset)}if(f.amount!=null)T.amount=String(f.amount);if(f.decimals!=null){if(b.Long)(T.decimals=b.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")T.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")T.decimals=f.decimals;else if(typeof f.decimals==="object")T.decimals=new b.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)if(C.asset=null,C.amount="",b.Long){let H=new b.Long(0,0,!1);C.decimals=T.longs===String?H.toString():T.longs===Number?H.toNumber():H}else C.decimals=T.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))C.asset=P.common.Asset.toObject(f.asset,T);if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")C.decimals=T.longs===String?String(f.decimals):f.decimals;else C.decimals=T.longs===String?b.Long.prototype.toString.call(f.decimals):T.longs===Number?new b.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.PubKeySet=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Ey.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))T.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))T.uint32(18).string(f.ed25519);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.PubKeySet;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.secp256k1=f.string();break;case 2:H.ed25519=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!b.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!b.isString(f.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(f){if(f instanceof P.common.PubKeySet)return f;let T=new P.common.PubKeySet;if(f.secp256k1!=null)T.secp256k1=String(f.secp256k1);if(f.ed25519!=null)T.ed25519=String(f.ed25519);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.secp256k1="",C.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))C.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))C.ed25519=f.ed25519;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.Tx=(()=>{function n(o){if(this.coins=[],this.gas=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=b.emptyArray,n.prototype.gas=b.emptyArray,n.prototype.memo="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Ey.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))T.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(34).string(f.toAddress);if(f.coins?.length)for(let C=0;C<f.coins.length;++C)P.common.Coin.encode(f.coins[C],T.uint32(42).fork()).ldelim();if(f.gas?.length)for(let C=0;C<f.gas.length;++C)P.common.Coin.encode(f.gas[C],T.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(58).string(f.memo);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.Tx;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.id=f.string();break;case 2:H.chain=f.string();break;case 3:H.fromAddress=f.string();break;case 4:H.toAddress=f.string();break;case 5:if(!H.coins?.length)H.coins=[];H.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 6:if(!H.gas?.length)H.gas=[];H.gas.push(P.common.Coin.decode(f,f.uint32()));break;case 7:H.memo=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!b.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!b.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!b.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!b.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=P.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let T=0;T<f.gas.length;++T){let C=P.common.Coin.verify(f.gas[T]);if(C)return"gas."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!b.isString(f.memo))return"memo: string expected"}return null},n.fromObject=function(f){if(f instanceof P.common.Tx)return f;let T=new P.common.Tx;if(f.id!=null)T.id=String(f.id);if(f.chain!=null)T.chain=String(f.chain);if(f.fromAddress!=null)T.fromAddress=String(f.fromAddress);if(f.toAddress!=null)T.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Tx.coins: object expected");T.coins[C]=P.common.Coin.fromObject(f.coins[C])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");T.gas=[];for(let C=0;C<f.gas.length;++C){if(typeof f.gas[C]!=="object")throw TypeError(".common.Tx.gas: object expected");T.gas[C]=P.common.Coin.fromObject(f.gas[C])}}if(f.memo!=null)T.memo=String(f.memo);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[],C.gas=[];if(T.defaults)C.id="",C.chain="",C.fromAddress="",C.toAddress="",C.memo="";if(f.id!=null&&f.hasOwnProperty("id"))C.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=f.toAddress;if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=P.common.Coin.toObject(f.coins[H],T)}if(f.gas?.length){C.gas=[];for(let H=0;H<f.gas.length;++H)C.gas[H]=P.common.Coin.toObject(f.gas[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.Fee=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=b.emptyArray,n.prototype.poolDeduct="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Ey.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)P.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))T.uint32(18).string(f.poolDeduct);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.Fee;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 2:H.poolDeduct=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=P.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!b.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(f){if(f instanceof P.common.Fee)return f;let T=new P.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Fee.coins: object expected");T.coins[C]=P.common.Coin.fromObject(f.coins[C])}}if(f.poolDeduct!=null)T.poolDeduct=String(f.poolDeduct);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults)C.poolDeduct="";if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=P.common.Coin.toObject(f.coins[H],T)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))C.poolDeduct=f.poolDeduct;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.ProtoUint=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.value="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Ey.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))T.uint32(10).string(f.value);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.common.ProtoUint;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.value=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!b.isString(f.value))return"value: string expected"}return null},n.fromObject=function(f){if(f instanceof P.common.ProtoUint)return f;let T=new P.common.ProtoUint;if(f.value!=null)T.value=String(f.value);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.value="";if(f.value!=null&&f.hasOwnProperty("value"))C.value=f.value;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y})();P.types=(()=>{let y={};return y.MsgDeposit=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=b.emptyArray,n.prototype.memo="",n.prototype.signer=b.newBuffer([]),n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Ey.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)P.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))T.uint32(26).bytes(f.signer);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.types.MsgDeposit;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 2:H.memo=f.string();break;case 3:H.signer=f.bytes();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=P.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!b.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||b.isString(f.signer)))return"signer: buffer expected"}return null},n.fromObject=function(f){if(f instanceof P.types.MsgDeposit)return f;let T=new P.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");T.coins[C]=P.common.Coin.fromObject(f.coins[C])}}if(f.memo!=null)T.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")b.base64.decode(f.signer,T.signer=b.newBuffer(b.base64.length(f.signer)),0);else if(f.signer.length)T.signer=f.signer}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults){if(C.memo="",T.bytes===String)C.signer="";else if(C.signer=[],T.bytes!==Array)C.signer=b.newBuffer(C.signer)}if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=P.common.Coin.toObject(f.coins[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))C.signer=T.bytes===String?b.base64.encode(f.signer,0,f.signer.length):T.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y.MsgSend=(()=>{function n(o){if(this.amount=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.fromAddress=b.newBuffer([]),n.prototype.toAddress=b.newBuffer([]),n.prototype.amount=b.emptyArray,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Ey.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let C=0;C<f.amount.length;++C)P.cosmos.base.v1beta1.Coin.encode(f.amount[C],T.uint32(26).fork()).ldelim();return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof K))f=K.create(f);let C=T===void 0?f.len:f.pos+T,H=new P.types.MsgSend;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.fromAddress=f.bytes();break;case 2:H.toAddress=f.bytes();break;case 3:if(!H.amount?.length)H.amount=[];H.amount.push(P.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||b.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||b.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let T=0;T<f.amount.length;++T){let C=P.cosmos.base.v1beta1.Coin.verify(f.amount[T]);if(C)return"amount."+C}}return null},n.fromObject=function(f){if(f instanceof P.types.MsgSend)return f;let T=new P.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")b.base64.decode(f.fromAddress,T.fromAddress=b.newBuffer(b.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)T.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")b.base64.decode(f.toAddress,T.toAddress=b.newBuffer(b.base64.length(f.toAddress)),0);else if(f.toAddress.length)T.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");T.amount=[];for(let C=0;C<f.amount.length;++C){if(typeof f.amount[C]!=="object")throw TypeError(".types.MsgSend.amount: object expected");T.amount[C]=P.cosmos.base.v1beta1.Coin.fromObject(f.amount[C])}}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.amount=[];if(T.defaults){if(T.bytes===String)C.fromAddress="";else if(C.fromAddress=[],T.bytes!==Array)C.fromAddress=b.newBuffer(C.fromAddress);if(T.bytes===String)C.toAddress="";else if(C.toAddress=[],T.bytes!==Array)C.toAddress=b.newBuffer(C.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=T.bytes===String?b.base64.encode(f.fromAddress,0,f.fromAddress.length):T.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=T.bytes===String?b.base64.encode(f.toAddress,0,f.toAddress.length):T.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){C.amount=[];for(let H=0;H<f.amount.length;++H)C.amount[H]=P.cosmos.base.v1beta1.Coin.toObject(f.amount[H],T)}return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},n})(),y})();P.cosmos=(()=>{let y={};return y.base=(()=>{let n={};return n.v1beta1=(()=>{let o={};return o.Coin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Ey.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof K))C=K.create(C);let U=H===void 0?C.len:C.pos+H,_=new P.cosmos.base.v1beta1.Coin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof K))C=new K(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!b.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!b.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof P.cosmos.base.v1beta1.Coin)return C;let H=new P.cosmos.base.v1beta1.Coin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},f})(),o.DecCoin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Ey.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof K))C=K.create(C);let U=H===void 0?C.len:C.pos+H,_=new P.cosmos.base.v1beta1.DecCoin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof K))C=new K(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!b.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!b.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof P.cosmos.base.v1beta1.DecCoin)return C;let H=new P.cosmos.base.v1beta1.DecCoin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},f})(),o.IntProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.int="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Ey.create();if(C.int!=null&&Object.hasOwnProperty.call(C,"int"))H.uint32(10).string(C.int);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof K))C=K.create(C);let U=H===void 0?C.len:C.pos+H,_=new P.cosmos.base.v1beta1.IntProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.int=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof K))C=new K(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.int!=null&&C.hasOwnProperty("int")){if(!b.isString(C.int))return"int: string expected"}return null},f.fromObject=function(C){if(C instanceof P.cosmos.base.v1beta1.IntProto)return C;let H=new P.cosmos.base.v1beta1.IntProto;if(C.int!=null)H.int=String(C.int);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.int="";if(C.int!=null&&C.hasOwnProperty("int"))U.int=C.int;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},f})(),o.DecProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.dec="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Ey.create();if(C.dec!=null&&Object.hasOwnProperty.call(C,"dec"))H.uint32(10).string(C.dec);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof K))C=K.create(C);let U=H===void 0?C.len:C.pos+H,_=new P.cosmos.base.v1beta1.DecProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.dec=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof K))C=new K(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.dec!=null&&C.hasOwnProperty("dec")){if(!b.isString(C.dec))return"dec: string expected"}return null},f.fromObject=function(C){if(C instanceof P.cosmos.base.v1beta1.DecProto)return C;let H=new P.cosmos.base.v1beta1.DecProto;if(C.dec!=null)H.dec=String(C.dec);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.dec="";if(C.dec!=null&&C.hasOwnProperty("dec"))U.dec=C.dec;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,zy.default.util.toJSONOptions)},f})(),o})(),n})(),y})()});async function kf(){let{$root:y}=await Promise.resolve().then(() => (o1(),T1)),n=await import("@cosmjs/proto-signing"),o=n.Registry??n.default?.Registry,f=await import("@cosmjs/stargate"),T=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new o([...T,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function _f(y){let n=await import("@cosmjs/stargate"),o=n.AminoTypes??n.default?.AminoTypes,f=y===C1.Chain.THORChain?"thorchain":"mayachain";return new o({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:T,...C})=>({...C,signer:Mn(T)}),toAmino:({signer:T,...C})=>({...C,signer:Yn(T)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:T,to_address:C,...H})=>({...H,fromAddress:Mn(T),toAddress:Mn(C)}),toAmino:({fromAddress:T,toAddress:C,...H})=>({...H,from_address:Yn(T),to_address:Yn(C)})}})}var C1;var u0=p(()=>{E0();C1=require("@swapkit/helpers")});function h0(y){let{assetValue:n,recipient:o,memo:f,sender:T,asSignable:C,asAminoMessage:H}=y;if(o)return U1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,recipient:o,sender:T});return _1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,sender:T})}async function U1({sender:y,recipient:n,assetValue:o,memo:f="",asSignable:T=!0,asAminoMessage:C=!1,sequence:H,accountNumber:U}){let _=o.chain,A=await ky.getRPCUrl(_),J=await H1({rpcUrl:A,sender:y}),{chainId:L}=ky.getChainConfig(_),G=j0({assetValue:o,recipient:n,sender:y}),q=T?await Af(C?G:qf(G),_):G;return{accountNumber:U||Number(J.accountNumber),chainId:L,fee:ey(_),memo:f,msgs:[q],sequence:H||J.sequence}}async function _1({sender:y,assetValue:n,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let U=n.chain,_=await ky.getRPCUrl(U),A=await H1({rpcUrl:_,sender:y}),{chainId:J}=ky.getChainConfig(U),L=K0({assetValue:n,memo:o,sender:y}),G=f?await Af(T?L:qf(L),U):L;return{accountNumber:H||Number(A.accountNumber),chainId:J,fee:ey(U),memo:o,msgs:[G],sequence:C||A.sequence}}function qf(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((n)=>{let o=ky.AssetValue.from({asset:n.asset}),f=(o.isSynthetic?o.symbol.split("/")?.[1]:o.symbol)?.toUpperCase(),T=(o.isSynthetic?o.symbol.split("/")?.[0]:o.chain)?.toUpperCase();return{...n,asset:{chain:T,symbol:f,synth:o.isSynthetic,ticker:o.ticker}}})}}}async function Nn({chain:y,memo:n,msgs:o}){let f=await kf(),T=await _f(y),C={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:o.map((H)=>T.fromAmino(H))}};return f.encode(C)}var ky,MU,YU,j0=({sender:y,recipient:n,assetValue:o})=>{return{type:`${o.chain===ky.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:o.getBaseValue("string"),denom:Uf(o.symbol,!0)}],from_address:y,to_address:n}}},K0=({sender:y,assetValue:n,memo:o=""})=>{return{type:`${n.chain===ky.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:Bn(n)}],memo:o,signer:y}}},JT=({sender:y,recipient:n,assetValue:o,memo:f})=>{return!n?K0({assetValue:o,memo:f,sender:y}):j0({assetValue:o,recipient:n,sender:y})},Af=async(y,n)=>{return(await _f(n)).fromAmino(y)},H1=async({rpcUrl:y,sender:n})=>{let f=await(await yf(y)).getAccount(n);if(!f)throw new ky.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return f};var A1=p(()=>{zn();u0();ky=require("@swapkit/helpers"),MU=ey(ky.Chain.THORChain).gas,YU=ey(ky.Chain.Maya).gas});var q1=()=>{};var G1=p(()=>{q1()});var m0=p(()=>{E0();A1();u0();G1()});async function i0(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}async function c0({phrase:y,prefix:n,...o}){let f="derivationPath"in o?o.derivationPath:`${V.DerivationPath[o.chain]}/${o.index}`;return await Z1.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[J1.stringToPath(f)],prefix:n})}async function BU({privateKey:y,prefix:n}){let o=await import("@cosmjs/proto-signing");return(o.DirectSecp256k1Wallet??o.default?.DirectSecp256k1Wallet).fromKey(y,n)}function L1(y){return async function({signature:o,message:f,address:T}){let C=await y(T);if(!C?.pubkey)throw new V.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let H=await import("@cosmjs/crypto"),U=H.Secp256k1Signature??H.default?.Secp256k1Signature,_=H.Secp256k1??H.default?.Secp256k1,A=U.fromFixedLength(Gf.base64.decode(o));return _.verifySignature(A,Gf.base64.decode(f),C.pubkey.value)}}function wn({chain:y,...n}){let o=V.CosmosChainPrefixes[y],f="index"in n?n.index||0:0,T=V.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:V.updateDerivationPath(V.NetworkDerivationPath[y],{index:f})),C;async function H(){if(C)return C;return C=await On.match(n).with({phrase:On.P.string},({phrase:q})=>c0({derivationPath:T,phrase:q,prefix:o})).with({signer:On.P.any},({signer:q})=>q).otherwise(()=>{return}),C}async function U(q){let W=await V.getRPCUrl(y);return(await yf(W)).getAccount(q)}async function _(){let q=await H(),[W]=await q?.getAccounts()||[];return W?.address}async function A(){let q=await H(),[W]=await q?.getAccounts()||[];if(!W?.pubkey)throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");return Gf.base64.encode(W?.pubkey)}async function J(q){let W=await H(),M=await _(),w=await V.getRPCUrl(y);if(!(W&&M))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Rf(w,W)).sign(M,q.msgs,q.fee,q.memo,{accountNumber:BigInt(q.accountNumber),chainId:q.chainId,sequence:q.sequence})}async function L(q){let W=await H(),M=await _(),w=await V.getRPCUrl(y);if(!(W&&M))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");let Q=await(await Rf(w,W)).signAndBroadcast(M,q.msgs,q.fee,q.memo);if(Q.code!==0)throw new V.SwapKitError("core_swap_transaction_error",{code:Q.code,message:Q.rawLog});return Q.transactionHash}async function G({recipient:q,assetValue:W,memo:M="",feeRate:w,feeOptionKey:N=V.FeeOption.Fast}){let Q=await H(),O=await _();if(!(Q&&O))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");let B=await V.getRPCUrl(y),Y=V.AssetValue.from({chain:y}),X=Bn(Y),Z=w||OU((await X1(y,W1[y]))[N],X),D=await Rf(B,Q),k=Uf(W.symbol),R=[{amount:W.getBaseValue("string"),denom:k}],{transactionHash:S}=await D.sendTokens(O,q,R,Z,M);return S}return{createPrivateKeyFromPhrase:DU(T),createTransaction:b0,fetchFeeRateFromSwapKit:i0,getAccount:U,getAddress:_,getBalance:async(q,W)=>{let M=await Q1(y)(q),w=await Promise.all(M.filter(({denom:N})=>N&&!N.includes("IBC/")&&!([V.Chain.THORChain,V.Chain.Maya].includes(y)&&N.split("-").length>2)).map(({denom:N,amount:Q})=>{let O=[V.Chain.THORChain,V.Chain.Maya].includes(y)&&(N.includes("/")||N.includes("˜"))?`${y}.${N}`:N;return v0(O,Q)}));if(w.length===0)return[V.AssetValue.from({chain:y})];return w},getBalanceAsDenoms:Q1(y),getFees:()=>X1(y,W1[y]),getPubKey:A,getSignerFromPhrase:({phrase:q,derivationPath:W})=>c0({derivationPath:V.derivationPathToString(W),index:f,phrase:q,prefix:o}),getSignerFromPrivateKey:async(q)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(q,o)},signAndBroadcastTransaction:L,signTransaction:J,transfer:G,validateAddress:M1(y),verifySignature:L1(U)}}async function zU(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}function NU({assetValue:{chain:y}}){return V.AssetValue.from({chain:y,value:wU(y)})}async function X1(y,n){let{chainId:o,baseDecimal:f}=V.getChainConfig(y),T=await i0(o,n);return{average:V.SwapKitNumber.fromBigInt(BigInt(T),f),fast:V.SwapKitNumber.fromBigInt(BigInt(V.applyFeeMultiplier(T,V.FeeOption.Fast,!0)),f),fastest:V.SwapKitNumber.fromBigInt(BigInt(V.applyFeeMultiplier(T,V.FeeOption.Fastest,!0)),f)}}function OU(y,n){return{amount:[{amount:y.getBaseValue("string"),denom:n}],gas:"200000"}}function wU(y){return{[V.Chain.Cosmos]:0.007,[V.Chain.Kujira]:0.02,[V.Chain.Noble]:0.01,[V.Chain.THORChain]:0.02,[V.Chain.Maya]:0.02,[V.Chain.Harbor]:0.02}[y]||0}function M1(y){let n=V.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(n))return!1;try{let{prefix:T,words:C}=Gf.bech32.decode(f);return Gf.bech32.encode(T,C)===f.toLocaleLowerCase()}catch{return!1}}}function Q1(y){return async function(o){let f=await V.getRPCUrl(y);return(await(await yf(f)).getAllBalances(o)).map((U)=>({...U,denom:U.denom.includes("/")?U.denom.toUpperCase():U.denom}))}}function DU(y){return async function(o){let f=await import("@cosmjs/crypto"),T=f.stringToPath??f.default?.stringToPath,C=f.Slip10Curve??f.default?.Slip10Curve,H=f.Slip10??f.default?.Slip10,U=f.EnglishMnemonic??f.default?.EnglishMnemonic,_=f.Bip39??f.default?.Bip39,A=new U(o),J=await _.mnemonicToSeed(A),{privkey:L}=H.derivePath(C.Secp256k1,J,T(y));return L}}var J1,Z1,Gf,V,g0,On,W1;var ZT=p(()=>{zn();J1=require("@cosmjs/crypto"),Z1=require("@cosmjs/proto-signing"),Gf=require("@scure/base"),V=require("@swapkit/helpers"),g0=require("@swapkit/helpers/api"),On=require("ts-pattern");W1={[V.Chain.Cosmos]:1000,[V.Chain.Kujira]:1000,[V.Chain.Noble]:1000,[V.Chain.THORChain]:5000000,[V.Chain.Maya]:5000000,[V.Chain.Harbor]:5000000}});function RU({prefix:y,derivationPath:n}){return async function(f,T=0){let C=await import("@cosmjs/amino"),H=C.Secp256k1HdWallet??C.default?.Secp256k1HdWallet,U=await import("@cosmjs/crypto"),_=U.stringToPath??U.default?.stringToPath;return H.fromMnemonic(f,{hdPaths:[_(`${n}/${T}`)],prefix:y})}}function kU(y){return Wf.base64.encode(y)}function SU(y){return async function({wallet:o,tx:f}){let{msgs:T,accountNumber:C,sequence:H,chainId:U,fee:_,memo:A}=typeof f==="string"?JSON.parse(f):f,J=(await o.getAccounts())?.[0]?.address||"",L=await _f(y),G=await kf(),q=await t0(o,{aminoTypes:L,registry:G}),W=[];for(let N of T){let Q=await Af(N,y);W.push(Q)}let{signatures:[M]}=await q.sign(J,W,_,A,{accountNumber:BigInt(C),chainId:U,sequence:H});return{bodyBytes:await Nn({chain:y,memo:A,msgs:T.map(qf)}),signature:kU(M)}}}function FU({prefix:y,chain:n}){return async function(f,T,C,H,U){let _=await yy.getRPCUrl(n),{encodeSecp256k1Pubkey:A,pubkeyToAddress:J}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:L}=(await import("@cosmjs/stargate")).default,{sequence:G,fee:q}=JSON.parse(f),W=await Y1(C,H),M=T.map((Q)=>[J(A(Wf.base64.decode(Q.pubKey)),y),Wf.base64.decode(Q.signature)]),w=await yf(_),{transactionHash:N}=await w.broadcastTx(L(W,G,q,U,new Map(M)));return N}}async function Y1(y,n,o=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:T}=(await import("@cosmjs/amino")).default;return f(y.map((C)=>T(Wf.base64.decode(C))),n,o)}function xU(y){return Wf.base64.decode(y)}async function lU({privateKey:y,message:n}){let{Secp256k1:o}=(await import("@cosmjs/crypto")).default,f=await o.createSignature(Wf.base64.decode(n),y);return Wf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function d0({chain:y,...n}){let{isStagenet:o}=yy.SKConfig.get("envs"),f=yy.SKConfig.get("thornodeUrls"),T=y===yy.Chain.Maya,C=Kf.match({isMayachain:T,isStagenet:o}).with({isMayachain:!0},({isStagenet:Q})=>Q?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:Q})=>Q?f.THOR_STAGENET:f.THOR),H=`${o?"s":""}${yy.CosmosChainPrefixes[y]}`,U="index"in n?n.index||0:0,_="derivationPath"in n&&n.derivationPath?n.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[y],{index:U}),A=wn({chain:y,...n}),J=ey(y),L;function G(){return L??=Kf.match(n).with({phrase:Kf.P.string},({phrase:Q})=>A.getSignerFromPhrase({derivationPath:_,phrase:Q})).with({signer:Kf.P.any},({signer:Q})=>Promise.resolve(Q)).otherwise(()=>Promise.resolve(void 0)),L}async function q(){let Q=await yy.getRPCUrl(y),O=await G();if(!O)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let B=await kf(),Y=await _f(y),X=await Rf(Q,O,{aminoTypes:Y,registry:B});return{signer:O,signingClient:X}}async function W({fee:Q,memo:O,msgs:B}){let{signer:Y,signingClient:X}=await q(),Z=(await Y.getAccounts())?.[0]?.address;if(!Z)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");let D=await X.signAndBroadcast(Z,B,Q,O);if(D.code!==0)throw new yy.SwapKitError("core_swap_transaction_error",{code:D.code,message:D.rawLog});return D.transactionHash}async function M(){let Q,O=`${C}/${T?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:B}}=await yy.RequestClient.get(O);if(!B||Number.isNaN(B)||B<0)throw new yy.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:B.toString()});Q=new yy.SwapKitNumber(B)}catch{Q=new yy.SwapKitNumber({decimal:yy.getChainConfig(y).baseDecimal,value:T?1:0.02})}return{[yy.FeeOption.Average]:Q,[yy.FeeOption.Fast]:Q,[yy.FeeOption.Fastest]:Q}}async function w({assetValue:Q,memo:O="",recipient:B}){let{TxRaw:Y}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:X,signingClient:Z}=await q(),D=(await X.getAccounts())?.[0]?.address;if(!D)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let k="signAmino"in X,R=JT({assetValue:Q,memo:O,recipient:B,sender:D});if(k){let z=await Af(R,y),{signatures:F,authInfoBytes:$}=await Z.sign(D,[z],J,O),j=Y.encode({authInfoBytes:$,bodyBytes:await Nn({chain:y,memo:O,msgs:[R].map(qf)}),signatures:F}).finish();return(await Z.broadcastTx(j)).transactionHash}let S=qf(R),l=await Af(S,y);return W({fee:J,memo:O,msgs:[l]})}async function N(Q){let{signer:O,signingClient:B}=await q(),Y=(await O.getAccounts())?.[0]?.address;if(!Y)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");return B.sign(Y,Q.msgs,Q.fee,Q.memo,{accountNumber:BigInt(Q.accountNumber),chainId:Q.chainId,sequence:Q.sequence})}return{...A,broadcastMultisigTx:FU({chain:y,prefix:H}),buildAminoMsg:JT,buildEncodedTxBody:Nn,convertToSignable:Af,createDefaultAminoTypes:()=>_f(y),createDefaultRegistry:kf,createMultisig:Y1,createTransaction:h0,deposit:w,getFees:M,importSignature:xU,parseAminoMessageForDirectSigning:qf,pubkeyToAddress:async(Q)=>{let{pubkeyToAddress:O}=(await import("@cosmjs/amino")).default;return O(Q,H)},secp256k1HdWalletFromMnemonic:RU({derivationPath:yy.derivationPathToString(_),prefix:H}),signAndBroadcastTransaction:W,signMultisigTx:SU(y),signTransaction:N,signWithPrivateKey:lU,transfer:w}}var Wf,yy,Kf;var r0=p(()=>{m0();zn();ZT();Wf=require("@scure/base"),yy=require("@swapkit/helpers"),Kf=require("ts-pattern")});var Xf,$U=(y,n)=>{switch(y){case Xf.Chain.Cosmos:case Xf.Chain.Kujira:case Xf.Chain.Noble:return wn({chain:y,...n});case Xf.Chain.Maya:case Xf.Chain.THORChain:return d0({chain:y,...n});default:throw new Xf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var B1=p(()=>{ZT();r0();Xf=require("@swapkit/helpers");ZT();r0()});var LT={};By(LT,{verifySignature:()=>L1,transferMsgAmino:()=>j0,toBase64:()=>QU,parseAminoMessageForDirectSigning:()=>qf,getSignerFromPrivateKey:()=>BU,getSignerFromPhrase:()=>c0,getMsgSendDenom:()=>Uf,getFeeRateFromSwapKit:()=>zU,getDenomWithChain:()=>Bn,getDefaultChainFee:()=>ey,getCosmosToolbox:()=>$U,getCosmosAddressValidator:()=>M1,getAssetFromDenom:()=>v0,fromBase64:()=>JU,fetchFeeRateFromSwapKit:()=>i0,estimateTransactionFee:()=>NU,depositMsgAmino:()=>K0,createTransaction:()=>h0,createThorchainToolbox:()=>d0,createStargateClient:()=>yf,createSigningStargateClient:()=>Rf,createOfflineStargateClient:()=>t0,createDefaultRegistry:()=>kf,createDefaultAminoTypes:()=>_f,createCosmosToolbox:()=>wn,cosmosCreateTransaction:()=>b0,convertToSignable:()=>Af,buildTransferTx:()=>U1,buildEncodedTxBody:()=>Nn,buildDepositTx:()=>_1,buildAminoMsg:()=>JT,bech32ToBase64:()=>Mn,base64ToBech32:()=>Yn,YUM_KUJIRA_FACTORY_DENOM:()=>eC,USK_KUJIRA_FACTORY_DENOM:()=>V0,THORCHAIN_GAS_VALUE:()=>MU,MAYA_GAS_VALUE:()=>YU,DEFAULT_NOBLE_FEE_MAINNET:()=>n1,DEFAULT_KUJI_FEE_MAINNET:()=>f1,DEFAULT_COSMOS_FEE_MAINNET:()=>y1});module.exports=wy(LT);var MT=p(()=>{m0();B1();zn()});function IU({builder:y,grouping:n="na",orders:o}){return{builder:y,grouping:n,orders:o,type:"order"}}function PU({cancels:y}){return{cancels:y,type:"cancel"}}function pU({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function EU({oid:y,order:n}){return{oid:y,order:n,type:"modify"}}function VU({modifies:y}){return{modifies:y,type:"batchModify"}}function tU({asset:y,isCross:n,leverage:o}){return{asset:y,isCross:n,leverage:o,type:"updateLeverage"}}function bU({asset:y,isBuy:n,ntli:o}){return{asset:y,isBuy:n,ntli:o,type:"updateIsolatedMargin"}}function vU({asset:y,leverage:n}){return{asset:y,leverage:n,type:"topUpIsolatedOnlyMargin"}}function uU({time:y}){return{time:y,type:"scheduleCancel"}}function jU({amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T}){return{amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T,type:"usdClassTransfer"}}function KU({amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_}){return{amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_,type:"sendAsset"}}function hU({agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T}){return{agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T,type:"approveAgent"}}function mU({builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T}){return{builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T,type:"approveBuilderFee"}}function cU({hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,validator:T,wei:C}){return{hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,type:"tokenDelegate",validator:T,wei:C}}function ly(...y){let n=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(n),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function sU(y,n,o){if(o<n)return new Uint8Array([y+o]);if(o<=255)return new Uint8Array([y+n,o]);if(o<=65535)return new Uint8Array([y+n+1,o>>8,o&255]);return new Uint8Array([y+n+2,o>>>24&255,o>>>16&255,o>>>8&255,o&255])}function Qf(y,n){let o=new Uint8Array(n),f=y;for(let T=n-1;T>=0;T-=1)o[T]=Number(f&0xffn),f>>=8n;return o}function z1(y){if(y>=0n){if(y<=0x7fn)return new Uint8Array([Number(y)]);if(y<=0xffn)return new Uint8Array([204,Number(y)]);if(y<=0xffffn)return ly(new Uint8Array([205]),Qf(y,2));if(y<=0xffffffffn)return ly(new Uint8Array([206]),Qf(y,4));return ly(new Uint8Array([207]),Qf(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return ly(new Uint8Array([209]),Qf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return ly(new Uint8Array([210]),Qf(BigInt.asUintN(32,y),4));return ly(new Uint8Array([211]),Qf(BigInt.asUintN(64,y),8))}function w1(y){let n=aU.encode(y);if(n.length<32)return ly(new Uint8Array([160+n.length]),n);return ly(sU(217,0,n.length),n)}function eU(y){let n=y.map((f)=>a0(f)),o=y.length<16?new Uint8Array([144+y.length]):y.length<=65535?new Uint8Array([220,y.length>>8,y.length&255]):new Uint8Array([221,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return ly(o,...n)}function y2(y){let n=Object.entries(y).filter(([,f])=>typeof f<"u"),o=n.length<16?new Uint8Array([128+n.length]):n.length<=65535?new Uint8Array([222,n.length>>8,n.length&255]):new Uint8Array([223,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return ly(o,...n.flatMap(([f,T])=>[w1(f),a0(T)]))}function a0(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return w1(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new YT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return z1(BigInt(y))}if(typeof y==="bigint")return z1(y);if(y instanceof Uint8Array){let n=y.length<=255?new Uint8Array([196,y.length]):y.length<=65535?new Uint8Array([197,y.length>>8,y.length&255]):new Uint8Array([198,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return ly(n,y)}if(Array.isArray(y))return eU(y);if(typeof y==="object")return y2(y);throw new YT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function f2(y){let n=y.startsWith("0x")?y.slice(2):y;if(n.length%2!==0||/[^a-fA-F0-9]/u.test(n))throw new YT.SwapKitError("helpers_invalid_params",{hexValue:y});let o=new Uint8Array(n.length/2);for(let f=0;f<n.length;f+=2)o[f/2]=Number.parseInt(n.slice(f,f+2),16);return o}function D1(y){return{domain:gU,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...iU.Agent]}}}function R1(y){let n=rU[y.type],o=dU[y.type],{type:f,...T}=y;return{domain:{chainId:Number.parseInt(T.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:N1,version:"1"},message:{...T,hyperliquidChain:T.hyperliquidChain||O1},primaryType:n,types:{[n]:o}}}function k1(y){let n=BT.Signature.from(y);return{r:n.r,s:n.s,v:n.v}}function S1(y,n,{expiresAfter:o,vaultAddress:f}={}){let T=a0(y),C=Qf(BigInt(n),8),H=f?ly(new Uint8Array([1]),f2(f.toLowerCase())):new Uint8Array([0]),U=typeof o==="number"?ly(new Uint8Array([0]),Qf(BigInt(o),8)):new Uint8Array;return BT.keccak256(ly(T,C,H,U))}function F1(y){let n=y.hyperliquidChain||O1;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:n};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:n};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:n};case"tokenDelegate":return{...y,hyperliquidChain:n,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:n};default:return y}}var YT,BT,N1="0x0000000000000000000000000000000000000000",gU,iU,O1="Mainnet",dU,rU,aU;var x1=p(()=>{YT=require("@swapkit/helpers"),BT=require("ethers"),gU={chainId:1337,name:"Exchange",verifyingContract:N1,version:"1"},iU={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},dU={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"}]},rU={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},aU=new TextEncoder});function by(y,n){if(!yo(y))throw new fy.SwapKitError(n,{address:y});return y.toLowerCase()}async function Sf(y){let n=await zT();return fy.RequestClient.post(`${n}/info`,{json:y})}function _2({dex:y,user:n}){return Sf({...y?{dex:y}:{},type:"clearinghouseState",user:by(n,"helpers_invalid_params")})}function A2({user:y}){return Sf({type:"spotClearinghouseState",user:by(y,"helpers_invalid_params")})}function q2({dex:y,user:n}){return Sf({...y?{dex:y}:{},type:"openOrders",user:by(n,"helpers_invalid_params")})}function G2({dex:y,user:n}){return Sf({...y?{dex:y}:{},type:"frontendOpenOrders",user:by(n,"helpers_invalid_params")})}function W2({oidOrCloid:y,user:n}){return Sf({oid:y,type:"orderStatus",user:by(n,"helpers_invalid_params")})}function X2({aggregateByTime:y,user:n}){return Sf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:by(n,"helpers_invalid_params")})}function Q2({aggregateByTime:y,endTime:n,startTime:o,user:f}){return Sf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof n==="number"?{endTime:n}:{},startTime:o,type:"userFillsByTime",user:by(f,"helpers_invalid_params")})}function l1({coin:y,token:n,value:o,spotMeta:f}){if(!o||Number(o)<=0)return null;let T=y?.toUpperCase()||`TOKEN-${n||"UNKNOWN"}`,C=n2[T]||P1,H=f?.tokens?.find((_)=>_.name===y||n!==void 0&&_.index===Number(n)),U=H?`${dy}.${T}-${H.name}:${H.tokenId}`:`${dy}.${T}`;return new fy.AssetValue({decimal:C,identifier:U,value:o})}function J2(y){let n=new Map;for(let o of y){let f=o.toString({includeSynthProtocol:!0}),T=n.get(f);n.set(f,T?T.add(o):o)}if(![...n.values()].some((o)=>o.isGasAsset||o.ticker==="HYPE")){let o=fy.AssetValue.from({chain:dy,value:0});n.set(o.toString({includeSynthProtocol:!0}),o)}return[...n.values()]}async function zT(){try{return await fy.getRPCUrl(dy)}catch{let[y]=fy.getChainConfig(dy).rpcUrls;if(!y)throw new fy.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:dy});return y}}async function e0(){return`${await zT()}/exchange`}function Z2(y){let n=U2[y.type],{type:o,...f}=y,T=H2[o];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:C2,version:"1"},message:f,primaryType:n,types:{[n]:T}}}async function p1({action:y,expiresAfter:n,nonce:o,vaultAddress:f}){let T=o||Date.now(),C=f?by(f,"helpers_invalid_params"):void 0,H=await e0(),U=S1(y,T,{expiresAfter:n,vaultAddress:C});return{action:y,endpoint:H,expiresAfter:n,nonce:T,typedData:D1(U),vaultAddress:C}}async function E1({action:y,nonce:n,signatureChainId:o}){let f=n||y.nonce||Date.now(),T=o||y.signatureChainId||"0xa4b1",C=F1({...y,nonce:f,signatureChainId:T});return{action:C,endpoint:await e0(),nonce:f,typedData:R1(C)}}async function s0({assetValue:y,recipient:n,sender:o,signatureChainId:f,time:T}){let C=by(n,"core_transaction_invalid_recipient_address"),H=by(o,"core_transaction_invalid_sender_address"),U=await e0(),_=y.getValue("string"),A=T||Date.now(),J=y.address;if(!J)throw new fy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:H});let L={amount:_,destination:C,hyperliquidChain:T2,signatureChainId:f||o2,time:A,token:J,type:"spotSend"};return{action:L,endpoint:U,nonce:A,typedData:Z2(L)}}async function $1(y){let n=await fy.RequestClient.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(n.status!=="ok")throw new fy.SwapKitError("core_transaction_failed",{response:n});return n}async function L2(y,n){let o=await zT(),f=n-5000;for(let T=0;T<5;T++){if(T>0)await new Promise((C)=>setTimeout(C,1000));try{let C=await fy.RequestClient.post(`${o}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),H=Array.isArray(C)?C.find((U)=>U.time&&U.time>=n&&(U.delta?.type==="spotTransfer"||U.delta?.type==="internalTransfer")):void 0;if(H?.hash)return H.hash}catch{}}return""}function yo(y){return y.startsWith("0x")&&Xn(y)}function M2(y){let n=xy(dy),o=y&&"index"in y?y.index||0:0,f=fy.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:fy.updateDerivationPath(fy.NetworkDerivationPath[dy],{index:o})),T,C=!1;function H(){if(C)return T;return T=hf.match(y).with({phrase:hf.P.string},({phrase:G})=>{return I1.HDNodeWallet.fromPhrase(G,void 0,f)}).with({signer:hf.P.not(hf.P.nullish)},({signer:G})=>G).otherwise(()=>{return}),C=!0,T}async function U(){let G=H();return G?await G.getAddress():""}async function _(G){let q=H();if(!q)throw new fy.SwapKitError("toolbox_hypercore_no_signer");let W=await q.signTypedData(G.typedData.domain,G.typedData.types,G.typedData.message);return{action:G.action,endpoint:G.endpoint,nonce:G.nonce,signature:k1(W),..."expiresAfter"in G?{expiresAfter:G.expiresAfter}:{},..."vaultAddress"in G?{vaultAddress:G.vaultAddress}:{}}}async function A(G){let q=by(G,"helpers_invalid_params");try{let W=await zT(),[M,w,N]=await Promise.all([fy.RequestClient.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:q}}),fy.RequestClient.post(`${W}/info`,{json:{type:"clearinghouseState",user:q}}),fy.RequestClient.post(`${W}/info`,{json:{type:"spotMeta"}})]),Q=(M.spotState?.balances||M.balances||[]).map(({coin:B,token:Y,total:X})=>l1({coin:B,spotMeta:N,token:Y,value:X})).filter((B)=>!!B),O=l1({coin:"USDC",spotMeta:N,value:w.withdrawable||w.marginSummary?.accountValue||w.marginSummary?.totalRawUsd});return J2(O?[...Q,O]:Q)}catch{return n(q)}}async function J(G){let q=H();if(!q)throw new fy.SwapKitError("toolbox_hypercore_no_signer");let W=G.sender||await q.getAddress(),M=await s0({...G,feeRate:0,sender:W}),w=await _(M);return await $1(w),L2(W,M.nonce)}function L(){return fy.AssetValue.from({chain:dy,value:0})}return{broadcastTransaction:$1,createL1ActionRequest:p1,createTransaction:s0,createUserSignedActionRequest:E1,estimateTransactionFee:L,getAddress:U,getBalance:A,getState:{clearinghouse:_2,frontendOpenOrders:G2,openOrders:q2,orderStatus:W2,spotClearinghouse:A2,userFills:X2,userFillsByTime:Q2},signTransaction:_,transfer:J,validateAddress:yo}}var fy,I1,hf,dy,P1,n2,T2="Mainnet",o2="0xa4b1",C2="0x0000000000000000000000000000000000000000",H2,U2;var V1=p(()=>{l0();sy();x1();fy=require("@swapkit/helpers"),I1=require("ethers"),hf=require("ts-pattern"),dy=fy.Chain.HyperCore,{baseDecimal:P1}=fy.getChainConfig(dy),n2={HYPE:P1,USDC:6,USDT:6},H2={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},U2={spotSend:"HyperliquidTransaction:SpotSend"}});var fo={};By(fo,{validateHyperCoreAddress:()=>yo,getHyperCoreToolbox:()=>M2,createUserSignedActionRequest:()=>E1,createTransaction:()=>s0,createL1ActionRequest:()=>p1,buildUsdClassTransferAction:()=>jU,buildUpdateLeverageAction:()=>tU,buildUpdateIsolatedMarginAction:()=>bU,buildTopUpIsolatedOnlyMarginAction:()=>vU,buildTokenDelegateAction:()=>cU,buildSendAssetAction:()=>KU,buildScheduleCancelAction:()=>uU,buildOrderAction:()=>IU,buildModifyAction:()=>EU,buildCancelByCloidAction:()=>pU,buildCancelAction:()=>PU,buildBatchModifyAction:()=>VU,buildApproveBuilderFeeAction:()=>mU,buildApproveAgentAction:()=>hU});module.exports=wy(fo);var no=p(()=>{V1()});async function v1(y){let n=a.AssetValue.from({address:y,chain:a.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:y,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let o=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(o);if(!f.ok)return null;let T=await f.json();if(!Array.isArray(T)||T.length===0)return null;return T.find((H)=>H.id===y)||null}catch{return null}}async function Y2(y){let n=await ff(),{PublicKey:o}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),T=new o(y),{baseDecimal:C}=a.getChainConfig(a.Chain.Solana),H=await n.getBalance(T),U=[a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:C,value:H||0})],_=await n.getParsedTokenAccountsByOwner(T,{programId:f});for(let{account:A}of _.value){let J=A.data.parsed.info,L=J.mint,G=J.tokenAmount.amount;if(Number(G)===0)continue;let q=await v1(L),W=q?.symbol||"UNKNOWN",M=q?.decimals||J.tokenAmount.decimals;U.push(a.AssetValue.from({asset:`${a.Chain.Solana}.${W}-${L}`,fromBaseDecimal:M,value:G}))}return U}function oo(y){try{let n=new nf.PublicKey(y);return nf.PublicKey.isOnCurve(n.toBytes())}catch{return!1}}function B2(y){let n=y&&"index"in y?y.index||0:0,o=a.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[a.Chain.Solana],{index:n})),f;async function T(){if(f)return f;return f=await Dn.match(y).with({phrase:Dn.P.string},({phrase:H})=>To({derivationPath:o,phrase:H})).with({signer:Dn.P.any},({signer:H})=>H).otherwise(()=>{return}),f}async function C(){let H=await T();return H?.publicKey?b1(H.publicKey):""}return{broadcastTransaction:NT(ff),createKeysForPath:To,createTransaction:Co(ff),createTransactionFromInstructions:w2,estimateTransactionFee:z2(ff),getAddress:C,getAddressFromPubKey:b1,getBalance:xy(a.Chain.Solana),getBalanceFromRPC:Y2,getConnection:ff,getPubkeyFromAddress:(H)=>new nf.PublicKey(H),signAndBroadcastTransaction:async(H)=>{let U=await t1(ff,T)(H);return NT(ff)(U)},signTransaction:t1(ff,T),transfer:D2(ff,T),validateAddress:oo}}function z2(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let H=await y(),_=(await Co(y)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:n,sender:C})).compileMessage(),A=await H.getFeeForMessage(_);if(A.value===null)throw new a.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:J}=a.getChainConfig(a.Chain.Solana);return a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:J,value:A.value})}}async function ff(){let{Connection:y}=await import("@solana/web3.js"),n=await a.getRPCUrl(a.Chain.Solana);return new y(n,{commitment:"confirmed",fetchMiddleware:(o,f,T)=>{let C={};for(let[H,U]of Object.entries(f?.headers??{})){let _=H.toLowerCase();if(_!=="pragma"&&_!=="solana-client")C[H]=U}T(o,{...f,headers:C})}})}function N2(y){return async({assetValue:n,recipient:o,sender:f,isProgramDerivedAddress:T})=>{let C=await y(),H=new nf.PublicKey(f);if(n.isGasAsset){let{Transaction:U,SystemProgram:_}=await import("@solana/web3.js");return new U().add(_.transfer({fromPubkey:H,lamports:n.getBaseValue("number"),toPubkey:new nf.PublicKey(o)}))}if(n.address)return O2({amount:n.getBaseValue("number"),connection:C,decimals:n.decimal,from:H,isProgramDerivedAddress:T,recipient:o,tokenAddress:n.address});return}}async function O2({tokenAddress:y,recipient:n,from:o,connection:f,amount:T,decimals:C,isProgramDerivedAddress:H}){let{getAssociatedTokenAddress:U,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:J}=await import("@solana/spl-token"),{Transaction:L}=await import("@solana/web3.js"),G=new L,q=new nf.PublicKey(y),W=await U(q,o),M=new nf.PublicKey(n),w=await U(q,M,H),N=!1;try{await _(f,w),N=!0}catch{}if(!N)G.add(A(o,w,M,q));return G.add(J(W,q,w,o,T,C)),G}function Co(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let{createMemoInstruction:H}=await import("@solana/spl-memo"),U=new nf.PublicKey(C);if(!(T||oo(n)))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let _=await y(),A=await N2(y)({assetValue:o,isProgramDerivedAddress:T,recipient:n,sender:C});if(!A)throw new a.SwapKitError("core_transaction_invalid_sender_address");if(f)A.add(H(f));let J=await _.getLatestBlockhash();return A.recentBlockhash=J.blockhash,A.feePayer=U,A}}async function w2({instructions:y}){let{Transaction:n}=await import("@solana/web3.js"),o=new n().add(...y);if(!o)throw new a.SwapKitError("core_transaction_invalid_sender_address");return o}function D2(y,n){return async({recipient:o,assetValue:f,memo:T,isProgramDerivedAddress:C})=>{let H=await n();if(!H)throw new a.SwapKitError("core_transaction_invalid_sender_address");let U=H.publicKey?.toString()??(await H.connect()).publicKey.toString(),_=await Co(y)({assetValue:f,isProgramDerivedAddress:C,memo:T,recipient:o,sender:U});if("signTransaction"in H){let A=await H.signTransaction(_);return NT(y)(A)}return _.sign(H),NT(y)(_)}}function NT(y){return async(n)=>{return(await y()).sendRawTransaction(n.serialize())}}function t1(y,n){return async(o)=>{let f=await n();if(!f)throw new a.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:T}=await import("@solana/web3.js");if(!(o instanceof T)){let H=await(await y()).getLatestBlockhash();o.recentBlockhash=H.blockhash,o.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(o);return o.sign([f]),o}}async function To({phrase:y,derivationPath:n=a.DerivationPath.SOL}){let{HDKey:o}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:T}=await import("@solana/web3.js"),C=f(y),H=o.fromMasterSeed(C);return T.fromSeed(H.derive(n,!0).privateKey)}function b1(y){return y.toString()}var nf,a,Dn;var u1=p(()=>{sy();nf=require("@solana/web3.js"),a=require("@swapkit/helpers"),Dn=require("ts-pattern")});var Ho={};By(Ho,{validateSolanaAddress:()=>oo,getSolanaToolbox:()=>B2,fetchTokenMetaData:()=>v1,createKeysForPath:()=>To});module.exports=wy(Ho);var Uo=p(()=>{u1()});function OT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function wT({phrase:y,derivationPath:n=g.DerivationPath.STRK}){let{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:T,hash:C,encode:H,CallData:U}=await import("starknet"),_=f(y),J=o.fromMasterSeed(_).derive(n);if(!J.privateKey)throw new g.SwapKitError("toolbox_starknet_no_signer");let L=H.addHexPrefix(Buffer.from(J.privateKey).toString("hex")),G=T.starkCurve.grindKey(L),q=H.addHexPrefix(G),W=T.starkCurve.getStarkKey(q),M=U.compile([W,0]);return{address:C.calculateContractAddressFromHash(W,Ao,M,0),privateKey:q,publicKey:W}}async function qo({phrase:y,derivationPath:n=g.DerivationPath.STRK}){let{Account:o,RpcProvider:f}=await import("starknet"),{privateKey:T,address:C}=await wT({derivationPath:n,phrase:y}),H=await g.getRPCUrl(g.Chain.Starknet),U=new f({nodeUrl:H});return new o({address:C,provider:U,signer:T})}function K1(y){let n=g.Chain.Starknet,o=y&&"index"in y?y.index||0:0,f=g.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[n],{index:o})),T,C,H;async function U(){if(C)return C;let{RpcProvider:Y}=await import("starknet"),X=await g.getRPCUrl(n);return C=new Y({nodeUrl:X}),C}async function _(Y){let X=await U(),Z=Y||await G();if(!Z)return!1;try{return await X.getClassHashAt(Z),!0}catch(D){if(D instanceof Error&&D.message.includes("Contract not found"))return!1;let k=D;if(k?.code===20||k?.code===19)return!1;throw D}}async function A(){let{CallData:Y,hash:X}=await import("starknet"),Z=await U(),D=await L();if(!D)throw new g.SwapKitError("toolbox_starknet_no_signer");if(!H)throw new g.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return D.address;let R=Y.compile([H,0]);if(X.calculateContractAddressFromHash(H,Ao,R,0).toLowerCase()!==D.address.toLowerCase())throw new g.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let l={addressSalt:H,classHash:Ao,constructorCalldata:R},{transaction_hash:z}=await D.deployAccount(l);return await Z.waitForTransaction(z),z}async function J(){if(!await _()){if(!H)throw new g.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 L(){if(T)return T;return T=await vy.match(y).with({phrase:vy.P.string},async({phrase:Y})=>{let{Account:X,RpcProvider:Z}=await import("starknet"),{privateKey:D,address:k,publicKey:R}=await wT({derivationPath:f,phrase:Y});H=R;let S=await g.getRPCUrl(g.Chain.Starknet),l=new Z({nodeUrl:S});return new X({address:k,provider:l,signer:D})}).with({address:vy.P.string,privateKey:vy.P.string},async({privateKey:Y,address:X})=>{let{Account:Z}=await import("starknet"),D=await U();return new Z({address:X,provider:D,signer:Y})}).with({signer:vy.P.instanceOf(Object)},({signer:Y})=>Y).otherwise(()=>{return}),T}async function G(){return(await L())?.address??""}async function q(Y){let X=await U(),{uint256:Z,CallData:D}=await import("starknet"),k=[],R=[_o,j1];for(let S of R)try{let[l="0",z="0"]=await X.callContract({calldata:D.compile({account:Y}),contractAddress:S,entrypoint:"balanceOf"}),F=Z.uint256ToBN({high:l,low:z});vy.match(S).with(_o,()=>{k.push(g.AssetValue.from({chain:n,value:F}))}).with(j1,()=>{if(F>0n)k.push(g.AssetValue.from({asset:`${n}.ETH-${S}`,value:F}))}).otherwise(()=>{})}catch{}return k}async function W({recipient:Y,assetValue:X}){let{CallData:Z,uint256:D}=await import("starknet");if(!OT(Y))throw new g.SwapKitError("core_transaction_invalid_recipient_address",{address:Y});let k=X.isGasAsset?_o:X.address;if(!k)throw new g.SwapKitError("toolbox_starknet_invalid_address",{address:k,assetValue:X});let R=D.bnToUint256(X.getBaseValue("bigint"));return[{calldata:Z.compile([Y,R]),contractAddress:k,entrypoint:"transfer"}]}async function M({recipient:Y,assetValue:X,sender:Z}){let{baseDecimal:D}=g.getChainConfig(g.Chain.Starknet),k=await L(),R=await vy.match({sender:Z,signer:k}).with({sender:vy.P.string},async({sender:S})=>{let{Account:l}=await import("starknet"),z=await U();return new l({address:S,provider:z,signer:"0x0"})}).with({signer:vy.P.nonNullable},({signer:S})=>S).otherwise((S)=>{throw new g.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:S}})});try{let S=await W({assetValue:X,recipient:Y}),l=await R.estimateInvokeFee(S);if(l?.overall_fee)return g.AssetValue.from({chain:n,fromBaseDecimal:D,value:l.overall_fee})}catch(S){throw new g.SwapKitError("toolbox_starknet_fee_estimation_failed",S)}return g.AssetValue.from({chain:n,value:"0.00001"})}async function w({recipient:Y,assetValue:X,memo:Z}){let D=await L();if(!D)throw new g.SwapKitError("toolbox_starknet_no_signer");await J();let k=await W({assetValue:X,memo:Z,recipient:Y});return(await D.execute(k)).transaction_hash}async function N(Y){let X=await L();if(!X)throw new g.SwapKitError("toolbox_starknet_no_signer");let Z=await X.signMessage(Y);return Array.isArray(Z)?Z:[Z.r.toString(),Z.s.toString()]}async function Q(Y){let X=await L();if(!X)throw new g.SwapKitError("toolbox_starknet_no_signer");return await J(),(await X.execute(Y)).transaction_hash}function O(Y){return Q(Y)}function B(Y,X=!0){try{return xy(n)(Y,X)}catch{return q(Y)}}return{broadcastTransaction:Q,createKeysForPath:qo,createTransaction:W,deployAccount:A,estimateTransactionFee:M,getAddress:G,getBalance:B,getProvider:U,isAccountDeployed:_,signAndBroadcastTransaction:O,signMessage:N,transfer:w,validateAddress:OT}}var g,vy,_o="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",j1="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ao="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var h1=p(()=>{sy();g=require("@swapkit/helpers"),vy=require("ts-pattern")});var DT={};By(DT,{validateStarknetAddress:()=>OT,starknetCreateKeysForPath:()=>qo,getStarknetToolbox:()=>K1,deriveStarknetKeys:()=>wT});module.exports=wy(DT);var RT=p(()=>{h1()});async function g1(y,n,o,f=[],T){let C=await y.getCoins({coinType:o,cursor:T,owner:n}),H=[...f,...C.data];return C.hasNextPage?g1(y,n,o,H,C.nextCursor):H}function R2(y,n,o){let f=n.reduce((_,A)=>_+BigInt(A.balance),0n);if(f<o)throw new Cy.SwapKitError("toolbox_sui_insufficient_balance",{available:f.toString(),required:o.toString()});let{ids:T}=n.reduce((_,A)=>{if(_.total>=o)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),C=T[0],H=T.slice(1);if(H.length>0)y.mergeCoins(C,H);let[U]=y.splitCoins(C,[o]);return U}function i1(y){try{return c1.isValidSuiAddress(y)}catch{return!1}}function m1(y){return"signWithIntent"in y}function k2({provider:y,...n}={}){let o;async function f(){if(o)return o;return o=await Rn.match(n).with({phrase:Rn.P.string},async({phrase:W})=>{let{Ed25519Keypair:M}=await import("@mysten/sui/keypairs/ed25519");return M.deriveKeypair(W)}).with({signer:Rn.P.any},({signer:W})=>W).otherwise(()=>{return}),o}async function T(W=y){let{SuiClient:M,getFullnodeUrl:w}=await import("@mysten/sui/client");return new M({url:W||w("mainnet")})}async function C(){return(await f())?.toSuiAddress()||""}function H(W){try{let M=Cy.AssetValue.from({address:W,chain:Cy.Chain.Sui});return{asset:M.toString(),decimals:M.decimal}}catch{}return null}async function U(W){let M=W||await C();if(!M)throw new Cy.SwapKitError("toolbox_sui_address_required");let{baseDecimal:w,chain:N}=Cy.getChainConfig(Cy.Chain.Sui);try{let Q=await T(),{totalBalance:O}=await Q.getBalance({owner:M}),B=[Cy.AssetValue.from({chain:N,fromBaseDecimal:w,value:O})],Y=await Q.getAllBalances({owner:M});for(let{coinType:X,totalBalance:Z}of Y){if(X==="0x2::sui::SUI"||Number(Z)<=0)continue;let D=H(X);if(D)B.push(Cy.AssetValue.from({asset:D.asset,fromBaseDecimal:D.decimals,value:Z}))}return B}catch{return[Cy.AssetValue.from({chain:N})]}}async function _(W){let M=Cy.AssetValue.from({chain:Cy.Chain.Sui,value:"0.01"});if(!W)return M;try{let w=await T(),{txBytes:N}=await A(W),{effects:{status:Q,gasUsed:O}}=await w.dryRunTransactionBlock({transactionBlock:N});if(Q.status!=="success")return M;let B=Number(O.computationCost)+Number(O.storageCost)-Number(O.storageRebate);return Cy.AssetValue.from({chain:Cy.Chain.Sui,value:B.toString()})}catch{return M}}async function A({recipient:W,assetValue:M,gasBudget:w,sender:N}){let{Transaction:Q}=await import("@mysten/sui/transactions"),O=N||await C();if(!O)throw new Cy.SwapKitError("toolbox_sui_no_sender");try{let B=new Q;if(B.setSender(O),M.isGasAsset||M.symbol==="SUI"){let[Z]=B.splitCoins(B.gas,[M.getBaseValue("string")]);B.transferObjects([Z],W)}else{let Z=M.address;if(!Z)throw new Cy.SwapKitError("toolbox_sui_missing_coin_type");let D=await T(),k=M.getBaseValue("bigint"),R=await g1(D,O,Z);if(!R.length)throw new Cy.SwapKitError("toolbox_sui_no_coins_found",{coinType:Z});let S=R2(B,R,k);B.transferObjects([S],W)}if(w)B.setGasBudget(w);let Y=await T(),X=await B.build({client:Y});return{tx:B,txBytes:X}}catch(B){if(B instanceof Cy.SwapKitError)throw B;throw new Cy.SwapKitError("toolbox_sui_transaction_creation_error",{error:B})}}async function J(W){let M=await f();if(!M)throw new Cy.SwapKitError("toolbox_sui_no_signer");if(W instanceof Uint8Array)return M.signTransaction(W);let{txBytes:w}="tx"in W?W:await A(W);return M.signTransaction(w)}async function L({assetValue:W,gasBudget:M,recipient:w}){let N=await f();if(!N)throw new Cy.SwapKitError("toolbox_sui_no_signer");let Q=N.toSuiAddress()||await C();if(!Q)throw new Cy.SwapKitError("toolbox_sui_no_sender");let{txBytes:O}=await A({assetValue:W,gasBudget:M,recipient:w,sender:Q}),B=await T();if(!m1(N)){let X=await N.signTransaction(O),{digest:Z}=await B.executeTransactionBlock({signature:X.signature,transactionBlock:X.bytes});return Z}let{digest:Y}=await B.signAndExecuteTransaction({signer:N,transaction:O});return Y}async function G(W){let M=await T(),{digest:w}=await M.executeTransactionBlock({signature:W.signature,transactionBlock:W.bytes});return w}async function q(W){let M=await f();if(!M)throw new Cy.SwapKitError("toolbox_sui_no_signer");let w=await T(),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:w});if(!m1(M)){let O=await M.signTransaction(N),{digest:B}=await w.executeTransactionBlock({signature:O.signature,transactionBlock:O.bytes});return B}let{digest:Q}=await w.signAndExecuteTransaction({signer:M,transaction:N});return Q}return{broadcastTransaction:G,createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:U,signAndBroadcastTransaction:q,signTransaction:J,transfer:L,validateAddress:i1}}var c1,Cy,Rn;var d1=p(()=>{c1=require("@mysten/sui/utils"),Cy=require("@swapkit/helpers"),Rn=require("ts-pattern")});var kT={};By(kT,{validateSuiAddress:()=>i1,getSuiToolbox:()=>k2});module.exports=wy(kT);var ST=p(()=>{d1()});async function $2(){let y=Date.now();if(FT&&y-a1<l2)return FT;try{return FT=await s1.getHttpEndpoint(),a1=y,FT}catch{return Jy.getRPCUrl(Jy.Chain.Ton)}}function I2(y={}){let n,o,f;async function T(){if(!n){let B=y.provider??await $2();n=new d.TonClient({endpoint:B})}return n}async function C(){return(await U()).address.toString()}async function H(){if(f)return f;return f=await Ff.match(y).with({phrase:Ff.P.string},async({phrase:B})=>e1.mnemonicToWalletKey(B.split(" "))).with({signer:Ff.P.any},({signer:B})=>B).otherwise(()=>{return}),f}async function U(B){if(!o||B){let Y=await H(),X=await T(),Z=B||Y;if(!Z)throw new Jy.SwapKitError("core_wallet_connection_not_found");let D=d.WalletContractV4.create({publicKey:Z.publicKey,workchain:0});o=X.open(D)}return o}let _=xy(Jy.Chain.Ton);async function A({assetValue:B,recipient:Y,memo:X,sender:Z}){if(B.isGasAsset){let j=X?O(X).toBoc().toString("base64"):void 0;return[{address:Y,amount:B.getBaseValue("string"),payload:j}]}let D=B.address;if(!D)throw new Jy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:B.toString()}});let k=Z??await C(),R=await N({jettonMasterAddress:D,ownerAddress:k}),S=d.Address.parse(Y),l=d.Address.parse(k),z=B.getBaseValue("bigint"),F=X?O(X):void 0,$=Q({destinationAddress:S,forwardPayload:F,jettonAmount:z,responseAddress:l});return[{address:R.toString(),amount:x2.toString(),payload:$.toBoc().toString("base64")}]}function J({sender:B,...Y}){return A({...Y,sender:B})}function L(B){return B.map((Y)=>{let X=Y.payload?d.Cell.fromBase64(Y.payload):void 0,Z=Y.stateInit?d.loadStateInit(d.Cell.fromBase64(Y.stateInit).asSlice()):void 0,D=d.Address.parse(Y.address),k=d.Address.isFriendly(Y.address)?d.Address.parseFriendly(Y.address).isBounceable:!0;return d.internal({body:X,bounce:k,init:Z,to:D,value:BigInt(Y.amount)})})}async function G(B){let Y=await H(),X=await U();if(!X||!Y)throw new Jy.SwapKitError("core_wallet_connection_not_found");let Z=await T(),{state:D}=await Z.getContractState(X.address),k=D==="active",R=k?await X.getSeqno():0,S=X.createTransfer({messages:L(B),secretKey:Y.secretKey,sendMode:r1,seqno:R}),l=d.external({body:S,init:k?void 0:X.init,to:X.address});return d.beginCell().store(d.storeMessage(l)).endCell()}async function q(B){return await(await T()).sendFile(B.toBoc()),B.hash().toString("hex")}async function W(B){let Y=await G(B);return q(Y)}async function M({assetValue:B,recipient:Y,memo:X}){let Z=await J({assetValue:B,memo:X,recipient:Y});return W(Z)}async function w({sender:B,...Y}){let{baseDecimal:X}=Jy.getChainConfig(Jy.Chain.Ton),Z=await Ff.match(B).with(Ff.P.string,(R)=>{return d.Address.parseFriendly(R).address}).otherwise(async()=>{return(await U()).address});if(!Z)throw new Jy.SwapKitError("toolbox_fee_estimation_failed",{chain:Jy.Chain.Ton});let D=Jy.AssetValue.from({chain:Jy.Chain.Ton,value:"0.01"}),k=await T();try{let R=await J({sender:B,...Y}),S=await H(),l=await U();if(!l||!S)return D;let z=await l.getSeqno(),F=l.createTransfer({messages:L(R),secretKey:S.secretKey,sendMode:r1,seqno:z}),{source_fees:$}=await k.estimateExternalMessageFee(Z,{body:F,ignoreSignature:!0,initCode:null,initData:null}),j=$.in_fwd_fee+$.storage_fee+$.gas_fee+$.fwd_fee;return D.set(Jy.SwapKitNumber.fromBigInt(BigInt(j),X))}catch{return D}}async function N({jettonMasterAddress:B,ownerAddress:Y}){try{let X=await T(),Z=d.Address.parse(B),D=d.Address.parse(Y);return await X.open(d.JettonMaster.create(Z)).getWalletAddress(D)}catch{throw new Jy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:B,ownerAddress:Y}})}}function Q({jettonAmount:B,destinationAddress:Y,responseAddress:X,forwardAmount:Z=F2,forwardPayload:D}){let k=d.beginCell().storeUint(S2,32).storeUint(0,64).storeCoins(B).storeAddress(Y).storeAddress(X).storeBit(0).storeCoins(Z);if(D)k.storeBit(1).storeRef(D);else k.storeBit(0);return k.endCell()}function O(B){return d.beginCell().storeUint(0,32).storeStringTail(B).endCell()}return{broadcastTransaction:q,createTransaction:J,estimateTransactionFee:w,getAddress:C,getBalance:_,getJettonWalletAddress:N,sign:G,signAndBroadcastTransaction:W,transfer:M,validateAddress:yH}}function yH(y){try{return d.Address.parse(y),!0}catch{return!1}}var s1,Jy,e1,d,Ff,S2=260734629,F2,x2,r1,l2=60000,FT,a1=0;var fH=p(()=>{sy();s1=require("@orbs-network/ton-access"),Jy=require("@swapkit/helpers"),e1=require("@ton/crypto"),d=require("@ton/ton"),Ff=require("ts-pattern"),F2=d.toNano("0.01"),x2=d.toNano("0.05"),r1=d.SendMode.PAY_GAS_SEPARATELY+d.SendMode.IGNORE_ERRORS});var xT={};By(xT,{validateTonAddress:()=>yH,getTONToolbox:()=>I2});module.exports=wy(xT);var lT=p(()=>{fH()});function uy(y,n){if(!Number.isInteger(n)||n<0)throw RangeError(`${y} must be a non-negative integer, got: ${n}`)}function Jf({accountIndex:y,chain:n,derivationPath:o}){if(y!==void 0)uy("accountIndex",y);let f=[...o?.slice(0,3)??nH.NetworkDerivationPath[n].slice(0,3)];if(y!==void 0)f[2]=y;return f}function mf({accountIndex:y,change:n=!1,chain:o,derivationPath:f,index:T}){return uy("index",T),[...Jf({accountIndex:y,chain:o,derivationPath:f}),Number(n),T]}function xf(y){return y[2]??0}function TH({deriveAddress:y,getBalance:n,getUtxos:o}){async function f(U){let{accountIndex:_,count:A,startIndex:J=0,change:L=!1}=U;if(uy("count",A),A<1)throw RangeError("count must be at least 1");uy("startIndex",J);let G=[];for(let q=0;q<A;q++){let W=await y({accountIndex:_,change:L,index:J+q});if(W)G.push(W)}return G}async function T(U){let{gapLimit:_=20,change:A=!1}=U??{},J=[],L=0,G=0;while(L<_){let q=await y({change:A,index:G});if(!q)break;if((await n(q.address)).some((w)=>w.getValue("number")>0))J.push(q),L=0;else L++;G++}return J}async function C(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),J=[..._,...A],L=await Promise.all(J.map(async(q)=>{let M=(await n(q.address)).reduce((w,N)=>w+N.getValue("number"),0);return{...q,balance:M}})),G=L.reduce((q,W)=>q+W.balance,0);return{addresses:L,total:G}}async function H(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),J=[..._,...A];return(await Promise.all(J.map(async(G)=>{return(await o(G.address)).map((W)=>({...W,address:G.address,derivationIndex:G.index,isChange:G.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:C,getAggregatedUtxos:H,scanForAddresses:T}}var nH;var kn=p(()=>{nH=require("@swapkit/helpers")});async function P2({chain:y,txHash:n}){let o=`${Sn(y)}/push/transaction`,f=JSON.stringify({data:n});try{let T=await c.RequestClient.post(o,{body:f,headers:{"Content-Type":"application/json"}});if(T.context.code!==200)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:T.context.error||"Transaction broadcast failed"});return T.data?.transaction_hash||n}catch(T){let C=await c.getRPCUrl(y);if(C){let H=JSON.stringify({id:ZC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),U=await c.RequestClient.post(C,{body:H,headers:{"Content-Type":"application/json"}});if(U.error)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:U.error?.message});if(U.result.includes('"code":-26'))throw new c.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return U.result}throw T}}function Sn(y){return`https://api.blockchair.com/${p2(y)}`}function oH(y){switch(y){case c.Chain.Bitcoin:return 5;case c.Chain.Dogecoin:return 1e4;case c.Chain.Litecoin:return 1;case c.Chain.Zcash:return 1;default:return 2}}function p2(y){switch(y){case c.Chain.BitcoinCash:return"bitcoin-cash";case c.Chain.Litecoin:return"litecoin";case c.Chain.Dash:return"dash";case c.Chain.Dogecoin:return"dogecoin";case c.Chain.Zcash:return"zcash";case c.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function E2(y){try{let{feePerKb:n}=await c.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),o=n/1000;return Math.max(o,oH(y))}catch{return oH(y)}}async function $T(y,n){let o=await c.RequestClient.get(`${y}${n?`${y.includes("?")?"&":"?"}key=${n}`:""}`);if(!o||o.context.code!==200)throw new c.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return o.data}async function HH({address:y,chain:n,apiKey:o}){if(!y)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await $T(`${Sn(n)}/dashboards/address/${y}?transaction_details=true`,o))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function V2({address:y,chain:n,apiKey:o}){return(await HH({address:y,apiKey:o,chain:n}))?.address.balance||0}async function UH({chain:y,apiKey:n,txHash:o}){if(!o)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await $T(`${Sn(y)}/raw/transaction/${o}`,n))?.[o]?.raw_transaction||""}catch(f){let T=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${T}`),""}}async function b2({chain:y,apiKey:n,txHash:o}){if(!o)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let T=(await $T(`${Sn(y)}/dashboards/transaction/${o}`,n))?.[o];if(!T)throw new c.SwapKitError("toolbox_utxo_tx_not_found",{txHash:o});let{transaction:C,inputs:H,outputs:U}=T,_=H.map((J)=>J.spending_sequence),A=C.is_rbf===!0||_.some((J)=>J<t2);return{blockId:C.block_id,confirmed:C.block_id!==-1,fee:C.fee,inputs:H,isRBF:A,outputs:U,sequences:_,size:C.size,txid:C.hash,weight:C.weight}}async function v2({chain:y,address:n,apiKey:o,offset:f=0,limit:T=30}){return(await $T(`${Sn(y)}/outputs?q=recipient(${n}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${T}&offset=${f}`,o)).map(({is_spent:_,script_hex:A,block_id:J,transaction_hash:L,index:G,value:q,spending_signature_hex:W})=>({hash:L,index:G,is_confirmed:J!==-1,is_spent:_,script_hex:A,txHex:W,value:q}))}function u2(y){return y.reduce((n,o)=>n+o.value,0)}function CH(y,n){let o=[...y].sort((f,T)=>T.value-f.value);if(n){let f=[],T=0;for(let C of o)if(f.push(C),T+=C.value,T>=n)break;return f}return o}async function _H({chain:y,address:n,apiKey:o,targetValue:f,accumulativeValue:T=0,offset:C=0,limit:H=30}){if(!n)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let U=await v2({address:n,apiKey:o,chain:y,limit:H,offset:C,targetValue:f}),A=U.length<H,J=U.filter(({is_spent:w})=>!w),L=u2(J),G=T+L,q=f&&G>=f;if(A||q)return CH(J,f);let W=await _H({accumulativeValue:G,address:n,apiKey:o,chain:y,limit:H,offset:C+H,targetValue:f}),M=[...J,...W];return CH(M,f)}catch(U){let _=U instanceof Error?U.message:String(U);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function j2({address:y,chain:n,apiKey:o,fetchTxHex:f=!0,targetValue:T}){let C=await _H({address:y,apiKey:o,chain:n,targetValue:T}),H=[];for(let{hash:U,index:_,script_hex:A,value:J}of C){let L;if(f)L=await UH({apiKey:o,chain:n,txHash:U});H.push({address:y,hash:U,index:_,txHex:L,value:J,witnessUtxo:{script:Buffer.from(A,"hex"),value:J}})}return H}function Ny(y){let n=c.SKConfig.get("apiKeys").blockchair||"";return c.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(o)=>P2({chain:y,txHash:o}),getAddressData:(o)=>HH({address:o,apiKey:n,chain:y}),getBalance:(o)=>V2({address:o,apiKey:n,chain:y}),getRawTx:(o)=>UH({apiKey:n,chain:y,txHash:o}),getSuggestedTxFee:()=>E2(y),getTransactionDetails:(o)=>b2({apiKey:n,chain:y,txHash:o}),getUtxos:(o)=>j2({...o,apiKey:n,chain:y})}}function K2(y){return y}function h2(){return function(n){switch(n){case c.Chain.Bitcoin:return lf.NETWORKS.bitcoin;case c.Chain.BitcoinCash:return lf.NETWORKS.bitcoinCash;case c.Chain.Dash:return lf.NETWORKS.dash;case c.Chain.Litecoin:return lf.NETWORKS.litecoin;case c.Chain.Dogecoin:return lf.NETWORKS.dogecoin;case c.Chain.Zcash:return lf.NETWORKS.zcash;default:throw new c.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var c,lf,t2=4294967294;var AH=p(()=>{sy();c=require("@swapkit/helpers"),lf=require("@swapkit/utxo-signer")});function g2(y,n,o){return Tf.encodeCashAddr({hash:o,prefix:y,type:m2[n]})}function i2(y){let n=Tf.decodeCashAddr(y),o=c2[n.type];if(!o)throw Error(`Unknown CashAddr type: ${n.type}`);return{hash:n.hash,prefix:n.prefix,type:o}}var Tf,m2,c2,Go;var qH=p(()=>{Tf=require("@swapkit/utxo-signer"),m2={P2PKH:Tf.CashAddrType.P2PKH,P2SH:Tf.CashAddrType.P2SH},c2={[Tf.CashAddrType.P2PKH]:"P2PKH",[Tf.CashAddrType.P2SH]:"P2SH"};Go={decode:i2,encode:g2}});function Qo(y){try{return IT(y),!0}catch{return!1}}function Jo(y){return IT(y)?.network}function of(y){let n=IT(y);if(n?.format==="legacy")return y;return a2(n)}function Fn(y){let n=IT(y);return s2(n)}function IT(y){try{let n=d2(y);if(n)return n}catch{}try{let n=r2(y);if(n)return n}catch{}throw new Wo.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function d2(y){try{let n=QH.decode(y);if(n.length!==21)throw new Wo.SwapKitError("toolbox_utxo_invalid_address",{address:y});let o=n[0],f=Array.prototype.slice.call(n,1);switch(o){case $f.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case $f.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case $f.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case $f.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case $f.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case $f.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function r2(y){if(y.indexOf(":")!==-1)try{return GH(y)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let o of n)try{return GH(`${o}:${y}`)}catch{}}return}function GH(y){try{let{hash:n,prefix:o,type:f}=Go.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:o==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function a2(y){let n=$f.legacy[y.network][y.type],o=Buffer.alloc(1+y.hash.length);return o[0]=n,o.set(y.hash,1),QH.encode(o)}function s2(y){let n=y.network==="mainnet"?"bitcoincash":"bchtest",o=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return Go.encode(n,o,f)}var WH,XH,Wo,QH,Xo,$f;var JH=p(()=>{qH();WH=require("@noble/hashes/sha2.js"),XH=require("@scure/base"),Wo=require("@swapkit/helpers"),QH=XH.createBase58check(WH.sha256);((o)=>{o.Mainnet="mainnet";o.Testnet="testnet"})(Xo||={});$f={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function py(y){let n=new Uint8Array(Buffer.from(y,"utf8"));return LH.Script.encode(["RETURN",n])}var ZH,LH,e2=1000,pT=10,ET=2,MH=10,y_=41,f_=107,VT,PT,xn,cf=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new ZH.SwapKitError("toolbox_utxo_invalid_address",{address:y})},If=({inputs:y,outputs:n,feeRate:o})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",C=(o?y.filter((A)=>A.value>=PT["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(o)):y).reduce((A,J)=>A+Zf(J),0),H=n?.reduce((A,J)=>A+ln(J),0)||xn[f],U=pT+C+H;return f==="P2WPKH"?Math.ceil(U+ET/4):U},Zf=(y)=>{if("type"in y&&y.type)return PT[y.type];if("address"in y&&y.address)return PT[cf(y.address)];return y_+f_},ln=(y,n)=>{if(y?.script)return MH+y.script.length+(y.script.length>=74?2:1);if(n)return xn[n];if("address"in y&&y.address)return xn[cf(y.address)];return xn.P2PKH};var Zo=p(()=>{ZH=require("@swapkit/helpers"),LH=require("@swapkit/utxo-signer");((o)=>{o.P2PKH="P2PKH";o.P2WPKH="P2WPKH"})(VT||={});PT={["P2PKH"]:148,["P2WPKH"]:68},xn={["P2PKH"]:34,["P2WPKH"]:31}});function $n(y){switch(y){case ry.Chain.Bitcoin:case ry.Chain.BitcoinCash:return 550;case ry.Chain.Dash:case ry.Chain.Litecoin:return 5500;case ry.Chain.Dogecoin:return 1e5;case ry.Chain.Zcash:return 546;default:throw new ry.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function jy({inputs:y,outputs:n,feeRate:o=1,chain:f=ry.Chain.Bitcoin,changeAddress:T=""}){let C=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",H=y.filter((W)=>Zf(W)*o<=W.value),_=C==="P2WPKH"?Math.ceil(ET/4):0,A=pT+_+n.reduce((W,M)=>W+ln(M),0),J=n.reduce((W,M)=>W+M.value,0),L=A*o,G=0,q=[];for(let W of H){let M=Zf(W),w=o*M;L+=w,G+=W.value,q.push(W);let N=L+J;if(G<N)continue;let Q=G-N,O=o*ln({address:T,value:0});if(Q>O){let B=O+L,Y=G-(J+Math.ceil(B));if(Y>Math.max(Zf({value:0})*o,$n(f)))return{fee:Math.ceil(B),inputs:q,outputs:n.concat({address:T,value:Y})}}return{fee:Math.ceil(L),inputs:q,outputs:n}}return{fee:Math.ceil(o*If({inputs:y,outputs:n}))}}var ry;var YH=p(()=>{Zo();ry=require("@swapkit/helpers")});var gf=p(()=>{AH();JH();YH();Zo()});function Pf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Lf(y){let n=Pf(y);return Qo(n)&&Jo(n)==="mainnet"}function df(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let o=tT.Address(tT.ZCASH_NETWORK).decode(y);return o.type==="pkh"||o.type==="sh"}catch{return!1}}var tT;var In=p(()=>{gf();tT=require("@swapkit/utxo-signer")});function Yo({address:y,chain:n}){return Mo.match(n).with(I.Chain.BitcoinCash,()=>Lf(y)).with(I.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return r.Address(Sy(n)).decode(y),!0}catch{return!1}})}function Sy(y){return Mo.match(y).with(I.Chain.Bitcoin,()=>r.NETWORKS.bitcoin).with(I.Chain.BitcoinCash,()=>r.NETWORKS.bitcoinCash).with(I.Chain.Dash,()=>r.NETWORKS.dash).with(I.Chain.Dogecoin,()=>r.NETWORKS.dogecoin).with(I.Chain.Litecoin,()=>r.NETWORKS.litecoin).with(I.Chain.Zcash,()=>r.NETWORKS.zcash).exhaustive()}function n_({phrase:y,derivationPath:n,network:o,seed:f}){let T=f??vT.mnemonicToSeedSync(y),H=Lo.HDKey.fromMasterSeed(T,o.bip32).derive(n);if(!H.privateKey)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return H.privateKey}function BH(y){return zH.secp256k1.getPublicKey(y,!0)}function pn({publicKey:y,chain:n,network:o}){if(n===I.Chain.BitcoinCash){let C=r.p2pkh(y,o);if(!C.hash)throw new I.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:C.hash,prefix:r.CashAddrPrefix.MAINNET,type:r.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let T=!Pn.includes(n)?r.p2wpkh(y,o):r.p2pkh(y,o);if(!T.address)throw new I.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return T.address}function rf({phrase:y,derivationPath:n,chain:o,wif:f,seed:T}){let C=Sy(o);if(f){let A=r.WIF(C).decode(f),J=BH(A);return{privateKey:A,publicKey:J}}if(!y)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let H=n||I.derivationPathToString(I.NetworkDerivationPath[o]),U=n_({derivationPath:H,network:C,phrase:y,seed:T}),_=BH(U);return{privateKey:U,publicKey:_}}function T_(y,n){return r.WIF(Sy(n)).encode(y)}function o_({phrase:y,derivationPath:n,chain:o,seed:f}){let T=n.split("/");if(T.length<4)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${T.length}): ${n}`});let C=Sy(o),H=f??vT.mnemonicToSeedSync(y),U=Lo.HDKey.fromMasterSeed(H,C.bip32),_=T.slice(0,4).join("/");return U.derive(_)}function Yf({inputs:y,outputs:n,chain:o,tx:f,sender:T,compiledMemo:C,enableRBF:H=!1}){let U=Sy(o),_=!Pn.includes(o),A=H?r.RBF_SEQUENCE:void 0,J=new Set;for(let L of y){let G=`${L.hash}:${L.index}`;if(J.has(G))throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});J.add(G);let q=typeof L.hash==="string"?Mf.hex.decode(L.hash):L.hash;if(_&&L.witnessUtxo)f.addInput({index:L.index,sequence:A,txid:q,witnessUtxo:{amount:BigInt(L.witnessUtxo.value),script:L.witnessUtxo.script}});else if(L.txHex)f.addInput({index:L.index,nonWitnessUtxo:Mf.hex.decode(L.txHex),sequence:A,txid:q,...o===I.Chain.BitcoinCash?{sighashType:r.BCHSigHash.ALL}:{}});else throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let L of n){let G="address"in L&&L.address?L.address:T;if(o===I.Chain.BitcoinCash)G=of(G);if(L.script){if(C)f.addOutput({amount:0n,script:C})}else f.addOutputAddress(G,BigInt(L.value),U)}return{inputs:y,tx:f}}async function af(y){let n=await Ny(y).getSuggestedTxFee();return{[I.FeeOption.Average]:n,[I.FeeOption.Fast]:I.applyFeeMultiplier(n,I.FeeOption.Fast),[I.FeeOption.Fastest]:I.applyFeeMultiplier(n,I.FeeOption.Fastest)}}async function NH({assetValue:y,recipient:n,memo:o,sender:f,fetchTxHex:T=!1}){let C=y.chain,H=(await af(C))[I.FeeOption.Fastest],U=T||Pn.includes(C),_=y.getBaseValue("number"),A=Math.ceil(_+H*5000);return{inputs:await Ny(C).getUtxos({address:f,fetchTxHex:U,targetValue:A}),outputs:[{address:n,value:_},...o?[{address:"",script:py(o),value:0}]:[]]}}async function OH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T,fetchTxHex:C=!1,enableRBF:H=!1}){let U=y.chain,_=o?py(o):null,A=await NH({assetValue:y,fetchTxHex:C,memo:o,recipient:n,sender:T}),{inputs:J,outputs:L}=jy({...A,chain:U,feeRate:f});if(!(J&&L))throw new I.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let G=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:q,tx:W}=Yf({chain:U,compiledMemo:_,enableRBF:H,inputs:J,outputs:L,sender:T,tx:G});return{inputs:q,tx:W,utxos:A.inputs}}async function wH({assetValue:y,feeOptionKey:n=I.FeeOption.Fast,feeRate:o,memo:f,sender:T,recipient:C}){let H=y.chain,U=await NH({assetValue:y,memo:f,recipient:C,sender:T}),_=o?Math.floor(o):(await af(H))[n];return jy({...U,chain:H,feeRate:_})}function C_(y){return async function({from:o,memo:f,feeRate:T,feeOptionKey:C=I.FeeOption.Fast,recipients:H=1}){let U=await Ny(y).getAddressData(o),_=T?Math.ceil(T):(await af(y))[C],A=U?.utxo.map((M)=>({...M,hash:"",type:"P2PKH"})).filter((M)=>M.value>Math.max($n(y),Zf(M)*_));if(!A?.length)return I.AssetValue.from({chain:y});let J=BigInt(A.reduce((M,w)=>M+w.value,0)),L=I.AssetValue.from({chain:y,value:J}),G=typeof H==="number"?Array.from({length:H},()=>({address:o,value:0})):H;if(f)G.push({address:o,script:py(f),value:0});let q=If({inputs:A,outputs:G}),W=I.AssetValue.from({chain:y,value:BigInt(q*_)});return L.sub(W)}}function H_(y){return async function(o){let{fee:f}=await wH(o);return I.AssetValue.from({chain:y,value:I.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function U_({chain:y,phrase:n,derivationPath:o,seed:f}){let T=Sy(y),{privateKey:C,publicKey:H}=rf({chain:y,derivationPath:o,phrase:n,seed:f}),U=y===I.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>pn({chain:y,network:T,publicKey:H}),privateKey:C,publicKey:H,signTransaction:(_)=>{return _.sign(C,U),_}}}function __(y,n){return async function({memo:f,recipient:T,feeOptionKey:C,feeRate:H,assetValue:U,enableRBF:_=!1}){let A=await n?.getAddress();if(!(n&&A))throw new I.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});I.warnOnce({condition:_&&!bT.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let J=_&&bT.includes(y),L=H||(await af(y))[C||I.FeeOption.Fast],{tx:G}=await OH({assetValue:U,enableRBF:J,feeRate:L,memo:f,recipient:T,sender:A}),q=await n.signTransaction(G);return q.finalize(),Ny(y).broadcastTx(Mf.hex.encode(q.extract()))}}function Bo(y){return(n)=>Yo({address:n,chain:y})}function zo(y){let n=Sy(y);return function(f){if(!f)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return pn({chain:y,network:n,publicKey:f.publicKey})}}function Bf({chain:y,...n}){let o="phrase"in n?n.phrase:void 0,f="index"in n?n.index||0:0,T=o?vT.mnemonicToSeedSync(o):void 0,C="derivationPath"in n&&n.derivationPath?n.derivationPath:I.updateDerivationPath(I.NetworkDerivationPath[y],{index:f}),H=I.derivationPathToString(C),U=o?U_({chain:y,derivationPath:H,phrase:o,seed:T}):void 0,_="signer"in n?n.signer:void 0,A=U||_,J=o?rf({chain:y,derivationPath:H,phrase:o,seed:T}):void 0;function L(){if(A)return A.getAddress();return Promise.resolve(void 0)}function G(R){if(!o)return;let S=Jf({accountIndex:R,chain:y,derivationPath:C});return o_({chain:y,derivationPath:I.derivationPathToString(S),phrase:o,seed:T})}let q=G();function W(){if(!q)return;return q.publicExtendedKey}function M({accountIndex:R}={}){let S=R===void 0?q:G(R);if(!S)return;let l=Jf({accountIndex:R,chain:y,derivationPath:C});return{accountIndex:xf(l),path:I.derivationPathToString(l),xpub:S.publicExtendedKey}}function w({accountIndex:R,index:S,change:l=!1}){let z=R===void 0?q:G(R);if(!z)return;let F=mf({accountIndex:R,chain:y,change:l,derivationPath:C,index:S}),$=Sy(y),j=z.deriveChild(Number(l)).deriveChild(S);if(!j.publicKey)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let E=pn({chain:y,network:$,publicKey:j.publicKey}),m=Mf.hex.encode(j.publicKey);return{accountIndex:xf(F),address:E,change:l,index:S,path:I.derivationPathToString(F),pubkey:m}}async function N(R){if(!bT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let S=await Ny(y).getTransactionDetails(R);return{canReplace:S.isRBF&&!S.confirmed,confirmed:S.confirmed,enabled:S.isRBF,fee:S.fee,sequences:S.sequences,supported:!0}}async function Q({txid:R,newFeeRate:S,recipient:l,memo:z}){if(!bT.includes(y))throw new I.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let F=await Ny(y).getTransactionDetails(R);if(!F.isRBF)throw new I.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:R});if(F.confirmed)throw new I.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:F.blockId,txid:R});let $=F.inputs.reduce((My,ty)=>My+ty.value,0),E=F.outputs.find((My)=>My.recipient===l)?.value||0;if(E===0)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let m=await Promise.all(F.inputs.map(async(My)=>{let ty=await Ny(y).getRawTx(My.transaction_hash);return{hash:My.transaction_hash,index:My.index,txHex:ty,value:My.value,witnessUtxo:void 0}})),Ty=z?py(z):null,Ly=If({feeRate:S,inputs:m.map((My)=>({...My,type:"P2WPKH"})),outputs:[{address:l,value:E}]}),Uy=Math.ceil(Ly*S);if(Uy<=F.fee)throw new I.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Uy,originalFee:F.fee});let $y=Uy-F.fee,Oy=E-$y;if(Oy<=0)throw new I.SwapKitError("toolbox_utxo_rbf_insufficient_change");let my=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),cy=[{address:l,value:Oy},...z?[{address:"",script:py(z),value:0}]:[]],gy=$-Oy-Uy,Fy=await L();if(gy>$n(y)&&Fy)cy.push({address:Fy,value:gy});return Yf({chain:y,compiledMemo:Ty,inputs:m,outputs:cy,sender:Fy||l,tx:my}),{feeDelta:$y,newFee:Uy,originalFee:F.fee,tx:my}}async function O({txid:R,newFeeRate:S,recipient:l,memo:z}){let{tx:F,originalFee:$,newFee:j}=await Q({memo:z,newFeeRate:S,recipient:l,txid:R}),E=await D(F);E.finalize();let m=await Ny(y).broadcastTx(Mf.hex.encode(E.extract()));return{newFee:j,originalFee:$,txid:m}}function B({accountIndex:R,index:S,change:l=!1}){uy("index",S);let z=R===void 0?q:G(R);if(!z)return;return z.deriveChild(Number(l)).deriveChild(S).privateKey||void 0}function Y({tx:R,inputDerivations:S}){if(!q)throw new I.SwapKitError("toolbox_utxo_no_signer");let l=y===I.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let z=0;z<S.length;z++){let F=S[z];if(!F)continue;let{derivationIndex:$,isChange:j}=F,E=B({change:j,index:$});if(!E)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${z} at index ${$}`});R.signIdx(E,z,l)}return R}async function X({utxos:R,recipient:S,assetValue:l,memo:z,feeRate:F,feeOptionKey:$,changeAddress:j}){if(!q)throw new I.SwapKitError("toolbox_utxo_no_signer");let E=F||(await af(y))[$||I.FeeOption.Fast],m=z?py(z):null,Ty=[{address:S,value:l.getBaseValue("number")}];if(m)Ty.push({address:"",script:m,value:0});let Ly=R.map(({hash:Fy,index:My,value:ty,txHex:$5,witnessUtxo:H0})=>({hash:Fy,index:My,txHex:$5,value:ty,witnessUtxo:H0?{script:H0.script,value:H0.value}:void 0})),{inputs:Uy,outputs:$y}=jy({chain:y,feeRate:E,inputs:Ly,outputs:Ty});if(!(Uy&&$y))throw new I.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:l,sender:"multiple addresses"});let Oy=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),my=R[0]?.address,cy=j||await L()||my||S;Yf({chain:y,compiledMemo:m,inputs:Uy,outputs:$y,sender:cy,tx:Oy});let gy=Uy.map((Fy)=>{let My=R.find((ty)=>ty.hash===Fy.hash&&ty.index===Fy.index);return My?{derivationIndex:My.derivationIndex,isChange:My.isChange}:{derivationIndex:0,isChange:!1}});return Y({inputDerivations:gy,tx:Oy}),Oy.finalize(),Ny(y).broadcastTx(Mf.hex.encode(Oy.extract()))}function Z({address:R,gapLimit:S=20}){if(!q)return;for(let l=0;l<S;l++){let z=w({change:!1,index:l}),F=w({change:!0,index:l}),$=z?.address===R?!1:F?.address===R;if(z?.address===R||F?.address===R)return{change:$,index:l}}return}function D(R){if(!A)throw new I.SwapKitError("toolbox_utxo_no_signer");return A.signTransaction(R)}async function k(R){let S=await D(R);return S.finalize(),await Ny(y).broadcastTx(Mf.hex.encode(S.extract()))}return{accumulative:jy,broadcastTx:(R)=>Ny(y).broadcastTx(R),bumpFee:O,calculateTxSize:If,createKeysForPath:(R)=>rf({...R,chain:y}),createReplacementTransaction:Q,createTransaction:OH,deriveAddressAtIndex:w,derivePrivateKeyAtIndex:B,estimateMaxSendableAmount:C_(y),estimateTransactionFee:H_(y),getAddress:L,getAddressFromKeys:zo(y),getBalance:xy(y),getExtendedPublicKey:W,getExtendedPublicKeyInfo:M,getFeeRates:()=>af(y),getInputsOutputsFee:wH,getNetworkForChain:()=>Sy(y),getPrivateKeyFromMnemonic:(R)=>T_(rf({...R,chain:y}).privateKey,y),isRBFEnabled:N,keys:J,resolveDerivationIndex:Z,signAndBroadcastTransaction:k,signTransaction:D,signTransactionWithMultipleKeys:Y,transfer:__(y,A),transferFromMultipleAddresses:X,validateAddress:Bo(y)}}var zH,Mf,Lo,vT,I,r,Mo,Pn,bT;var sf=p(()=>{sy();kn();gf();In();zH=require("@noble/curves/secp256k1.js"),Mf=require("@scure/base"),Lo=require("@scure/bip32"),vT=require("@scure/bip39"),I=require("@swapkit/helpers"),r=require("@swapkit/utxo-signer"),Mo=require("ts-pattern"),Pn=[I.Chain.Dash,I.Chain.Dogecoin,I.Chain.Zcash,I.Chain.BitcoinCash],bT=[I.Chain.Bitcoin]});function En(y){return Pf(Fn(y))}function A_(y){let n=Sy(ay);function o(T){return T.sign(y.privateKey,[Yy.BCHSigHash.ALL]),T}function f(){let T=Yy.p2pkh(y.publicKey,n);if(!T.hash)throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let C=Yy.encodeCashAddr({hash:T.hash,prefix:Yy.CashAddrPrefix.MAINNET,type:Yy.CashAddrType.P2PKH});return Promise.resolve(C.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:o}}function Oo(y){let n="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=Zy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:Zy.updateDerivationPath(Zy.NetworkDerivationPath[ay],{index:o})),T=n?rf({chain:ay,derivationPath:f,phrase:n}):void 0,C=T?A_(T):("signer"in y)?y.signer:void 0;function H(){return Promise.resolve(C?.getAddress())}let{getBalance:U,getFeeRates:_,broadcastTx:A,...J}=Bf({chain:ay});function L(W,M=!0){return U(Pf(Fn(W)))}function G(W){if(!C)throw new Zy.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(W)}async function q(W){let M=await G(W);return M.finalize(),await A(No.hex.encode(M.extract()))}return{...J,broadcastTx:A,buildTx:G_,createTransaction:DH,getAddress:H,getAddressFromKeys:W_,getBalance:L,getFeeRates:_,signAndBroadcastTransaction:q,signTransaction:G,stripPrefix:Pf,stripToCashAddress:En,transfer:q_({broadcastTx:A,getFeeRates:_,signer:C}),validateAddress:Lf}}async function DH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){if(!Lf(n))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:n});let C=Math.ceil(y.getBaseValue("number")+f*7500),H=await Ny(ay).getUtxos({address:En(T),fetchTxHex:!0,targetValue:C}),U=o?py(o):null,_=[],A=of(n);if(_.push({address:A,value:y.getBaseValue("number")}),U)_.push({script:U,value:0});let{inputs:J,outputs:L}=jy({chain:ay,feeRate:f,inputs:H,outputs:_});if(!(J&&L))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let G=new Yy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!U,version:1}),q=of(T),{inputs:W,tx:M}=Yf({chain:ay,compiledMemo:U,inputs:J,outputs:L.map((w)=>("address"in w)&&w.address?{...w,address:of(w.address)}:w),sender:q,tx:G});return{inputs:W,tx:M,utxos:J}}function q_({broadcastTx:y,getFeeRates:n,signer:o}){return async function({recipient:T,assetValue:C,feeOptionKey:H=Zy.FeeOption.Fast,...U}){let _=await o?.getAddress();if(!(o&&_))throw new Zy.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new Zy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=U.feeRate||(await n())[H],{tx:J}=await DH({...U,assetValue:C,feeRate:A,recipient:T,sender:_}),L=await o.signTransaction(J);return L.finalize(),y(No.hex.encode(L.extract()))}}async function G_({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){let C=Fn(n);if(!Lf(C))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:C});let H=Math.ceil(y.getBaseValue("number")+f*7500),U=await Ny(ay).getUtxos({address:En(T),fetchTxHex:!0,targetValue:H}),_=Number(f.toFixed(0)),A=o?py(o):null,J=[];if(J.push({address:of(n),value:y.getBaseValue("number")}),A)J.push({script:A,value:0});let{inputs:L,outputs:G}=jy({chain:ay,feeRate:_,inputs:U,outputs:J});if(!(L&&G))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let q=new Yy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:W,tx:M}=Yf({chain:ay,compiledMemo:A,inputs:L,outputs:G,sender:of(T),tx:q});return{inputs:W,tx:M,utxos:U}}function W_(y){let n=Yy.NETWORKS.bitcoinCash,o=Yy.p2pkh(y.publicKey,n);if(!o.hash)throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Yy.encodeCashAddr({hash:o.hash,prefix:Yy.CashAddrPrefix.MAINNET,type:Yy.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var No,Zy,Yy,ay;var uT=p(()=>{gf();sf();In();No=require("@scure/base"),Zy=require("@swapkit/helpers"),Yy=require("@swapkit/utxo-signer"),ay=Zy.Chain.BitcoinCash});function kH(){let{isStagenet:y}=Xy.SKConfig.get("envs");return y?oy.ZCASH_TEST_NETWORK:oy.ZCASH_NETWORK}function Q_(y){return X_.encode(y)}function J_({phrase:y,derivationPath:n}){let o=Do.mnemonicToSeedSync(y),T=wo.HDKey.fromMasterSeed(o).derive(n);if(!T.privateKey||!T.publicKey)throw new Xy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:C,publicKey:H}=T,U=oy.utils.hash160(H),{isStagenet:_}=Xy.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),J=new Uint8Array(A.length+U.length);J.set(A,0),J.set(U,A.length);let L=Q_(J);return{getAddress:()=>Promise.resolve(L),signTransaction:(G)=>{if(G instanceof oy.ZcashPSBT){let q=G.toPCZT();return q.signAllInputs(C,H,oy.ZcashSigHash.ALL),q.finalizeAllInputs(),Promise.resolve(q.extract())}if(G instanceof oy.PCZT)return G.signAllInputs(C,H,oy.ZcashSigHash.ALL),G.finalizeAllInputs(),Promise.resolve(G.extract());return G.signAllInputs(C,H,oy.ZcashSigHash.ALL),Promise.resolve(G)}}}function Z_({inputs:y,outputs:n,tx:o,sender:f,compiledMemo:T}){let C=kH();for(let H of y){let U=oy.Address(C).decode(f),_=oy.OutScript.encode(U);o.addInput({index:H.index,script:_,sequence:4294967295,txid:jT.hex.decode(H.hash),value:BigInt(H.value)})}for(let H of n){let U="address"in H&&H.address?H.address:f,_=H.script;if(_&&!T)continue;if(_&&T)o.addOutput({amount:0n,script:T});else o.addOutputAddress(U,BigInt(H.value),C)}return{inputs:y,tx:o}}async function RH(y){let{assetValue:n,recipient:o,memo:f,feeRate:T,sender:C,fetchTxHex:H}=y,U=f?py(f):null,_=await Ny(Xy.Chain.Zcash).getUtxos({address:C,fetchTxHex:H!==!1}),A=[{address:o,value:Number(n.getBaseValue("string"))},...U?[{script:U,value:0}]:[]],{inputs:J,outputs:L}=jy({chain:Xy.Chain.Zcash,changeAddress:C,feeRate:T,inputs:_,outputs:A});if(!(J&&L))throw new Xy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:C});let G=oy.createZcashTransaction({consensusBranchId:oy.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:oy.ZcashVersionGroupId.SAPLING}),{tx:q,inputs:W}=Z_({compiledMemo:U,inputs:J,outputs:L,sender:C,tx:G});return{inputs:W,outputs:L,tx:q}}function Ro(y){let n=ef.match(y).with({signer:ef.P.not(ef.P.nullish)},({signer:_})=>_).with({phrase:ef.P.string},({phrase:_,derivationPath:A,index:J=0})=>{let L=A||Xy.NetworkDerivationPath[Xy.Chain.Zcash]||[44,133,0,0,0],G=Xy.updateDerivationPath(L,{index:J}),q=Xy.derivationPathToString(G);return J_({derivationPath:q,phrase:_})}).otherwise(()=>{return}),o=Bf({chain:Xy.Chain.Zcash,signer:n});async function f(_){if(!n)throw new Xy.SwapKitError("toolbox_utxo_no_signer");return await n.signTransaction(_)}async function T(_){let A=await f(_);return o.broadcastTx(A.toHex())}async function C({recipient:_,assetValue:A,feeOptionKey:J=Xy.FeeOption.Fast,...L}){let G=await n?.getAddress();if(!(n&&G))throw new Xy.SwapKitError("toolbox_utxo_no_signer");let q=L.feeRate||(await o.getFeeRates())[J],{tx:W}=await RH({...L,assetValue:A,feeRate:q,recipient:_,sender:G}),w=(await n.signTransaction(W)).toHex();return o.broadcastTx(w)}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let J=Do.mnemonicToSeedSync(_),G=wo.HDKey.fromMasterSeed(J).derive(A);if(!G.privateKey||!G.publicKey)throw new Xy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:G.privateKey,publicKey:G.publicKey}}function U({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let J=H({derivationPath:A,phrase:_}),L=kH();return oy.WIF(L).encode(J.privateKey)}return{...o,createKeysForPath:H,createTransaction:RH,getPrivateKeyFromMnemonic:U,signAndBroadcastTransaction:T,signTransaction:f,transfer:C,validateAddress:df}}var jT,wo,Do,Xy,oy,ef,X_;var ko=p(()=>{gf();sf();In();jT=require("@scure/base"),wo=require("@scure/bip32"),Do=require("@scure/bip39"),Xy=require("@swapkit/helpers"),oy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");X_=jT.createBase58check(oy.utils.sha256)});function lH({xpub:y,chain:n,count:o,startIndex:f=0,accountIndex:T}){if(uy("count",o),o<1)throw RangeError("count must be at least 1");uy("startIndex",f);let C=Sy(n),H=FH.HDKey.fromExtendedKey(y,C.bip32),U=Jf({accountIndex:T,chain:n}),_=xf(U),A=[];for(let J of[!1,!0]){let L=H.deriveChild(Number(J));for(let G=0;G<o;G++){let q=f+G,W=L.deriveChild(q);if(!W.publicKey)continue;let M=mf({accountIndex:T,chain:n,change:J,index:q});A.push({accountIndex:_,address:pn({chain:n,network:C,publicKey:W.publicKey}),change:J,index:q,path:xH.derivationPathToString(M),pubkey:SH.hex.encode(W.publicKey)})}}return A}var SH,FH,xH;var $H=p(()=>{kn();sf();SH=require("@scure/base"),FH=require("@scure/bip32"),xH=require("@swapkit/helpers")});function L_(y,n){switch(y){case Cf.Chain.BitcoinCash:return Oo(n||{});case Cf.Chain.Zcash:return Ro(n);case Cf.Chain.Bitcoin:case Cf.Chain.Dogecoin:case Cf.Chain.Litecoin:case Cf.Chain.Dash:return Bf({chain:y,...n});default:throw new Cf.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var Cf;var IH=p(()=>{uT();sf();ko();kn();$H();uT();In();Cf=require("@swapkit/helpers")});var So={};By(So,{validateZcashAddress:()=>df,validateUtxoAddress:()=>Yo,validateBchAddress:()=>Lf,toLegacyAddress:()=>of,toCashAddress:()=>Fn,stripToCashAddress:()=>En,stripPrefix:()=>Pf,nonSegwitChains:()=>Pn,isValidAddress:()=>Qo,getUtxoToolbox:()=>L_,getUtxoNetwork:()=>h2,getUtxoApi:()=>Ny,getUTXOAddressValidator:()=>Bo,getUTXOAddressPath:()=>mf,getUTXOAccountPath:()=>Jf,getUTXOAccountIndexFromPath:()=>xf,getScriptTypeForAddress:()=>cf,getOutputSize:()=>ln,getNetworkForChain:()=>Sy,getInputSize:()=>Zf,getDustThreshold:()=>$n,detectAddressNetwork:()=>Jo,deriveAddressesFromXpub:()=>lH,createZcashToolbox:()=>Ro,createUTXOToolbox:()=>Bf,createHDWalletHelpers:()=>TH,createCustomUtxoApi:()=>K2,createBCHToolbox:()=>Oo,compileMemo:()=>py,calculateTxSize:()=>If,assertDerivationIndex:()=>uy,addressFromKeysGetter:()=>zo,addInputsAndOutputs:()=>Yf,accumulative:()=>jy,UtxoNetwork:()=>Xo,UTXOScriptType:()=>VT,TX_OVERHEAD:()=>pT,SEGWIT_MARKER_FLAG_WEIGHT:()=>ET,OutputSizes:()=>xn,OP_RETURN_OVERHEAD:()=>MH,MIN_TX_FEE:()=>e2,InputSizes:()=>PT});module.exports=wy(So);var Fo=p(()=>{sf();kn();gf();IH();uT();ko()});function Vn(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function hT(y){let{KeyPair:n}=await import("@near-js/crypto"),o=y.index||0,f=y.derivationPath?KT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=pH.parseSeedPhrase(y.phrase,f),C=n.fromString(T);return VH(C)}async function xo(y){let{KeyPair:n}=await import("@near-js/crypto"),o=n.fromString(y);return VH(o)}function VH(y){return new EH(y)}async function mT(y,n){let f=(await y.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((U)=>U.access_key.permission==="FullAccess");if(!f)throw new KT.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:T}=await import("@near-js/crypto"),C=T.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:C}}var PH,KT,pH,EH;var lo=p(()=>{PH=require("@near-js/signers"),KT=require("@swapkit/helpers"),pH=U0(require("near-seed-phrase"));EH=class EH extends PH.KeyPairSigner{#y;constructor(y){super(y);this.#y=y}getAddress(){let y=this.#y.getPublicKey(),n=Buffer.from(y.data).toString("hex");return Promise.resolve(n)}}});function $o(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function Io(y){return"contractId"in y&&"methodName"in y}function Po(y){return"actions"in y}function po(y){return"newAccountId"in y}function Eo(y){return"contractCode"in y}function Vo(y){return"customEstimator"in y}function to(y){let n=0;for(let o of y)switch(o.enum){case"transfer":n+=Number(Dy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Dy.CONTRACT_CALL);break;case"createAccount":n+=Number(Dy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Dy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Dy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Dy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Dy.STAKE);break;default:n+=Number(Dy.CONTRACT_CALL)}return n.toString()}function bo(y){if(y==="ft_transfer"||y==="ft_transfer_call")return Dy.TOKEN_TRANSFER;if(y==="storage_deposit")return Dy.STORAGE_DEPOSIT;return Dy.CONTRACT_CALL}function M_(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function Y_(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var Dy;var vo=p(()=>{Dy={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 uo({account:y,contractId:n,viewMethods:o,changeMethods:f}){let{Contract:T}=await import("@near-js/accounts");return new T(y,n,{changeMethods:f,useLocalViewExecution:!0,viewMethods:o})}function B_(y){let n;async function o(){if(n)return n;return n=await yn.match(y).with({phrase:yn.P.string},async(z)=>{return await hT(z)}).with({signer:yn.P.any},({signer:z})=>z).otherwise(()=>{return}),n}async function f(){let z=await ny.getRPCUrl(ny.Chain.Near);return new tH.JsonRpcProvider({url:z})}async function T(z){let{Account:F}=await import("@near-js/accounts"),$=await f(),j=await o(),E=z||await C();return new F(E,$,j)}async function C(){let z=await o();if(!z)throw new ny.SwapKitError("toolbox_near_no_signer");return await z.getAddress()}async function H(z){return(await Z({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function U(z){let $=[await G({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await G({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return D({actions:$,receiverId:z.contractId})}async function _(z){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let{assetValue:$,recipient:j,memo:E}=z,m=await C();if(!$.isGasAsset&&$.address){if(!await H({accountId:j,contractId:$.address}))return U({assetValue:$,contractId:$.address,memo:E,recipient:j})}let Ty=await A({...z,sender:m});return Q(Ty)}async function A({recipient:z,assetValue:F,memo:$,attachedDeposit:j,sender:E,functionCall:m}){let Ty=await f();if(!Vn(z))throw new ny.SwapKitError("toolbox_near_invalid_address",{recipient:z});if(!Vn(E))throw new ny.SwapKitError("toolbox_near_invalid_address",{sender:E});if(m)return L({...m,sender:E});if(!F.isGasAsset){let ty=F.address;if(!ty)throw new ny.SwapKitError("toolbox_near_missing_contract_address");return L({args:{amount:F.getBaseValue("string"),memo:$||null,receiver_id:z},attachedDeposit:j||"1",contractId:ty,gas:"250000000000000",methodName:"ft_transfer",sender:E})}let{publicKey:Ly,nonce:Uy}=await mT(Ty,E),$y=F.getBaseValue("bigint"),{actionCreators:Oy,createTransaction:my}=await import("@near-js/transactions"),{baseDecode:cy}=await import("@near-js/utils"),gy=[Oy.transfer($y)];if($&&j)gy.push(Oy.functionCall("memo",{memo:$},BigInt("250000000000000"),BigInt(j)));let Fy=await Ty.block({finality:"final"}),My=cy(Fy.header.hash);return my(E,Ly,z,Uy+1,gy,My)}function J(z){let F=z.encode();return Buffer.from(F).toString("base64")}async function L({args:z,attachedDeposit:F,contractId:$,gas:j,methodName:E,sender:m}){let Ty=await f(),{publicKey:Ly,nonce:Uy}=await mT(Ty,m),{createTransaction:$y,actionCreators:Oy}=await import("@near-js/transactions"),{baseDecode:my}=await import("@near-js/utils"),cy=await Ty.block({finality:"final"}),gy=my(cy.header.hash),Fy=[Oy.functionCall(E,Buffer.from(JSON.stringify(z)),BigInt(j),BigInt(F))];return $y(m,Ly,$,Uy+1,Fy,gy)}async function G(z){let{actionCreators:F}=await import("@near-js/transactions");return F.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function q(z){let F=await o();if(!F)throw new ny.SwapKitError("toolbox_near_no_signer");await W(z);let[$,j]=await F.signTransaction(z);return j}async function W(z){let F=z.publicKey;if(F.toString?.().startsWith("ed25519:")||F.toString?.().startsWith("secp256k1:"))return;let{KeyType:$,PublicKey:j}=await import("@near-js/crypto"),E=F.data||F.ed25519Key?.data,m=F.secp256k1Key?.data;if(E){z.publicKey=new j({data:Uint8Array.from(E),keyType:$.ED25519});return}if(m)z.publicKey=new j({data:Uint8Array.from(m),keyType:$.SECP256K1})}function M(z){if(typeof z==="string")return z;if(Array.isArray(z))return z.map(M).find(Boolean);if(!(z&&typeof z==="object"))return;let F=z;return F.transaction?.hash||F.transaction_outcome?.id}function w(z){return z instanceof Error?z.message:String(z)}async function N(z){let $=await(await f()).sendTransaction(z),j=M($);if(!j)throw new ny.SwapKitError("toolbox_near_transfer_failed",{result:$});return j}async function Q(z){let F=await o();if(!F)throw new ny.SwapKitError("toolbox_near_no_signer");let $;try{$=await q(z)}catch(j){let E;try{E=F.signAndSendTransaction?await F.signAndSendTransaction({actions:z.actions,receiverId:z.receiverId,signerId:z.signerId}):await F.signAndSendTransactions?.({transactions:[z]})}catch(Ty){throw new ny.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:w(j),signAndSendError:w(Ty)}},Ty)}let m=M(E);if(m)return m;throw j}return N($)}async function O(z){let F=await o();if("assetValue"in z){let j=await B();try{let E=await ny.getRPCUrl(ny.Chain.Near),m=await fetch(E,{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:Ty}}=await m.json(),{execution:Ly,send_sir:Uy}=Ty.transaction_costs.action_receipt_creation_config,{execution:$y,send_sir:Oy}=Ty.transaction_costs.action_creation_config.transfer_cost,my=BigInt(Oy)+BigInt($y),cy=BigInt(Uy)+BigInt(Ly),Fy=(my+cy)*BigInt(j.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:Fy})}catch(E){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",E);let m=BigInt("115123062500"),Ty=BigInt("108059500000"),Uy=(m+Ty)*BigInt(j.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:Uy})}}let $=F?await T():void 0;return k(z,$)}async function B(){let z=await f();try{return await z.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function Y(z,F,$){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let E=await T(),{formatNearAmount:m}=await import("@near-js/utils"),{PublicKey:Ty}=await import("@near-js/crypto"),Ly=m($)||"0";return(await E.createAccount(z,Ty.fromString(F),BigInt(Ly))).transaction.hash}async function X(z){let F=await o();try{if(!F)throw new ny.SwapKitError("toolbox_near_no_signer");let{actionCreators:$}=await import("@near-js/transactions"),{contractId:j,methodName:E,args:m,deposit:Ty}=z,Ly=await T(),Uy=await k({args:m||{},contractId:j,methodName:E}),$y=$.functionCall(E,m||{},Uy.getBaseValue("bigint"),BigInt(Ty||"1"));return(await Ly.signAndSendTransaction({actions:[$y],receiverId:j})).transaction_outcome.id}catch($){throw new ny.SwapKitError("toolbox_near_transfer_failed",{error:$})}}async function Z(z){let F=await T();return uo({account:F,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function D(z){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");if(z.actions.length===0)throw new ny.SwapKitError("toolbox_near_empty_batch");return(await(await T()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function k(z,F){let $=await yn.match(z).when($o,()=>Dy.SIMPLE_TRANSFER).when(Io,(E)=>bo(E.methodName)).when(Po,(E)=>to(E.actions)).when(po,()=>Dy.ACCOUNT_CREATION).when(Eo,()=>Dy.CONTRACT_DEPLOYMENT).when(Vo,(E)=>{if(!F)throw new ny.SwapKitError("toolbox_near_no_account");return E.customEstimator(F)}).otherwise(()=>{throw new ny.SwapKitError("toolbox_near_invalid_gas_params")}),j=BigInt($)*BigInt(1000000000000);return ny.AssetValue.from({chain:ny.Chain.Near,value:j})}function R(z,F){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),k(z,F)}async function S(){let z=await f();try{return(await z.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function l(){let z=await o();return z?(await z.getPublicKey()).toString():""}return{broadcastTransaction:N,callFunction:X,createAction:G,createContract:Z,createContractFunctionCall:L,createSubAccount:Y,createTransaction:A,estimateGas:R,estimateGasLimit:k,estimateTransactionFee:O,executeBatchTransaction:D,getAddress:C,getBalance:xy(ny.Chain.Near),getGasPrice:S,getNearProvider:f,getPublicKey:l,getSignerFromPhrase:hT,getSignerFromPrivateKey:xo,serializeTransaction:J,signAndBroadcastTransaction:Q,signTransaction:q,transfer:_,validateAddress:Vn}}var tH,ny,yn;var jo=p(()=>{sy();lo();vo();tH=require("@near-js/providers"),ny=require("@swapkit/helpers"),yn=require("ts-pattern")});var bH=p(()=>{jo()});var Ko={};By(Ko,{validateNearAddress:()=>Vn,tgasToGas:()=>M_,isSimpleTransfer:()=>$o,isCustomEstimator:()=>Vo,isContractDeployment:()=>Eo,isContractCall:()=>Io,isBatchTransaction:()=>Po,isAccountCreation:()=>po,getNearToolbox:()=>B_,getNearSignerFromPrivateKey:()=>xo,getNearSignerFromPhrase:()=>hT,getFullAccessPublicKey:()=>mT,getContractMethodGas:()=>bo,gasToTGas:()=>Y_,estimateBatchGas:()=>to,createNearContract:()=>uo,GAS_COSTS:()=>Dy});module.exports=wy(Ko);var ho=p(()=>{lo();vo();jo();bH()});var mo={};By(mo,{validateRadixAddress:()=>jH,getRadixToolbox:()=>D_});module.exports=wy(mo);function jH(y){return y.startsWith("account_rdx1")&&y.length===66}function z_({networkApi:y}){return async function(o){let f=await N_({address:o,networkApi:y}),T=await O_({networkApi:y,resources:f});if(!T.some((H)=>H.isGasAsset))return[Ky.AssetValue.from({chain:Ky.Chain.Radix}),...T];return T}}async function N_({address:y,networkApi:n}){let o=!0,f,T=[],C=await w_(n);while(o){let H={address:y,at_ledger_state:{state_version:C},cursor:f,limit_per_page:100},U=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:H});if(T=T.concat(U.items),U.next_cursor)f=U.next_cursor;else o=!1}return T}async function O_({resources:y,networkApi:n}){let o=[],f=50,T=[];for(let C=0;C<y.length;C+=50)T.push(y.slice(C,C+50));for(let C of T){let H=C.map((A)=>A.resource_address),U=await n.state.getEntityDetailsVaultAggregated(H),_=new Map;for(let A of U)if(A.details!==void 0){let J=A.metadata?.items.find((G)=>G.key==="symbol"),L=J?.value.typed.type==="String"?J.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:L})}for(let A of C)if(A.aggregation_level==="Global"){let J=_.get(A.resource_address)||{decimals:0,symbol:"?"},L=Ky.AssetValue.from({asset:J.symbol!==Ky.Chain.Radix?`${Ky.Chain.Radix}.${J.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});o.push(L)}}return o}async function w_(y){return(await y.status.getCurrent()).ledger_state.state_version}function D_({dappConfig:y}={}){let n=y||Ky.SKConfig.get("integrations").radix,o=uH.RadixDappToolkit({...n,networkId:n.network?.networkId||1}),f=vH.GatewayApiClient.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:z_({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new Ky.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:jH}}var vH,uH,Ky;var co=p(()=>{vH=require("@radixdlt/babylon-gateway-api-sdk"),uH=require("@radixdlt/radix-dapp-toolkit"),Ky=require("@swapkit/helpers")});function cT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function tn(y){if(cT(y))return y.toUpperCase();if(y.length<=3){let o=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${o}${"0".repeat(10)}`.toUpperCase()}let n=Buffer.from(y).toString("hex").toUpperCase();if(n.length>40)throw new KH.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return n.padEnd(40,"0")}function R_(y){if(!cT(y))return y;if(y.toUpperCase().startsWith("00")){let n=y.slice(24,30);try{let o=Buffer.from(n,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(o)&&o.length>0)return o}catch{}return y.toUpperCase()}try{let n=y.replace(/0+$/,""),o=n.length%2===0?n:`${n}0`,f=Buffer.from(o,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function fn(y){if(cT(y))return y.toUpperCase();if(y.length<=3)return y;return tn(y)}var KH;var gT=p(()=>{KH=require("@swapkit/helpers")});async function k_(y,n){let o=fn(y),f=dT.find((T)=>fn(T.currency)===o&&T.issuer===n);if(f)return f;try{let T=await iT.RequestClient.get(`https://api.xrplmeta.org/token/${y}:${n}`);if(T)return{currency:y,decimals:15,description:T.desc,domain:T.domain,icon:T.icon,issuer:n,name:T.name,verified:T.self_assessment?.is_regulated||T.self_assessment?.is_licensed}}catch(T){iT.warnOnce({condition:!0,id:`xrpl_token_lookup_${y}_${n}`,warning:`Failed to fetch XRPL token info for ${y}:${n}: ${T}`})}return{currency:y,decimals:15,issuer:n,verified:!1}}function S_(y){return dT.filter((n)=>n.issuer===y)}function F_(y,n){let o=fn(y);return dT.some((f)=>fn(f.currency)===o&&f.issuer===n)}var iT,dT;var hH=p(()=>{gT();iT=require("@swapkit/helpers"),dT=[{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 go={};By(go,{validateRippleAddress:()=>aT,parseXrplTokenIdentifier:()=>gH,normalizeCurrency:()=>fn,isKnownToken:()=>F_,isHexCurrency:()=>cT,hexToCurrency:()=>R_,hashes:()=>dH.hashes,getXrplTokenInfo:()=>k_,getRippleToolbox:()=>l_,getKnownTokensByIssuer:()=>S_,formatXrplTokenIdentifier:()=>iH,currencyToHex:()=>tn,XRPL_TOKEN_ERROR_CODES:()=>rT,XRPL_KNOWN_TOKENS:()=>dT});module.exports=wy(go);function gH(y){let n=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!n?.[1]||!n?.[2])return null;if(!Hf.isValidAddress(n[2]))return null;return{currency:n[1],issuer:n[2]}}function iH(y,n){return`${i.Chain.Ripple}.${y}-${n}`}function x_(y){if(y.isGasAsset)return Hf.xrpToDrops(y.getValue("string"));let n=gH(y.toString());if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:n.currency,issuer:n.issuer,value:y.getValue("string")}}function cH(y){let n=Hf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(o)=>Promise.resolve(n.sign(o))}}function aT(y){return Hf.isValidAddress(y)}function l_(y={}){let n=nn.match(y).with({phrase:nn.P.string},({phrase:Q})=>cH(Q)).with({signer:nn.P.any},({signer:Q})=>Q).otherwise(()=>{return}),o;async function f(){let Q=await i.getRPCUrl(i.Chain.Ripple);if(!Q)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let O=new Hf.Client(Q);return await O.connect(),O}async function T(){if(o){let Q=await o.catch(()=>null);if(Q?.isConnected())return Q}return o=f(),o}let C=()=>{if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},H=async(Q)=>{let O=Q||await C(),{baseDecimal:B}=i.getChainConfig(i.Chain.Ripple),Y=await T();try{let[X,Z]=await Promise.all([Y.request({account:O,command:"account_info"}),Y.request({account:O,command:"account_lines"})]),D=X.result.account_data.Balance,k=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:B,value:D})];for(let R of Z.result.lines){let S=iH(R.currency,R.account);if(Number.parseFloat(R.balance)!==0)k.push(i.AssetValue.from({asset:S,asyncTokenLookup:!1,value:R.balance}))}return k}catch(X){if(X.data?.error_code===mH.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:X}})}},U=async()=>{let{baseDecimal:Q}=i.getChainConfig(i.Chain.Ripple),Y=(await(await T()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Q,value:Y})};async function _(Q){let O=Q||await C(),B=await T();try{return(await B.request({account:O,command:"account_lines"})).result.lines.map((X)=>({account:X.account,authorized:X.authorized??!1,balance:X.balance,currency:X.currency,freeze:X.freeze??!1,freezePeer:X.freeze_peer??!1,limit:X.limit,limitPeer:X.limit_peer,noRipple:X.no_ripple??!1,noRipplePeer:X.no_ripple_peer??!1,peerAuthorized:X.peer_authorized??!1,qualityIn:X.quality_in??0,qualityOut:X.quality_out??0}))}catch(Y){if(Y.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:O,error:Y}})}}async function A({address:Q,currency:O,issuer:B}){let Y=await _(Q),X=tn(O);return Y.some((Z)=>{return tn(Z.currency)===X&&Z.account===B})}async function J({currency:Q,issuer:O,limit:B,sender:Y}){let X=Y||await C();if(!aT(O))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:O}});let Z=Number.parseFloat(B);if(Number.isNaN(Z)||Z<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:B}});let D=await T(),k={Account:X,LimitAmount:{currency:Q,issuer:O,value:B},TransactionType:"TrustSet"};return D.autofill(k)}async function L({assetValue:Q,recipient:O,memo:B,sender:Y,destinationTag:X,extendBySeconds:Z=150}){if(!aT(O))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=Y||await C();if(Q.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:Q.toString()}});let k=x_(Q),R={Account:D,Amount:k,Destination:O,TransactionType:"Payment",...X!==void 0&&{DestinationTag:X}};if(B)R.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];let l=await(await T()).autofill(R);if(l.LastLedgerSequence&&Z>0)l.LastLedgerSequence+=Math.ceil(Z/4);return l}function G(Q){if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(Q)}async function q(Q){let B=await(await T()).submitAndWait(Q),{result:Y}=B;if(Y.validated)return Y.hash;let X=Y.meta?.TransactionResult,Z=nn.match(X).with(rT.tecNO_LINE,()=>"No trust line exists for this token").with(rT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(rT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...Z?{reason:Z}:{txResult:X}}})}let W=async(Q)=>{try{let O=await G(Q);return q(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 M(Q){if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let O=await n.getAddress(),B=await L({...Q,sender:O}),Y=await G(B);return q(Y.tx_blob)}async function w(Q){if(!n)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let O=await n.getAddress(),B=await J({...Q,sender:O}),Y=await G(B);return q(Y.tx_blob)}function N(){let Q=o;if(o=null,Q)Q.then((O)=>{if(O?.isConnected())return O.disconnect();return}).catch((O)=>{console.warn("XRPL Cleanup failed silently:",O)})}return{broadcastTransaction:q,createSigner:cH,createTransaction:L,disconnect:N,estimateTransactionFee:U,getAddress:C,getBalance:H,getTrustLines:_,hasTrustLine:A,setTrustLine:J,setTrustLineAndBroadcast:w,signAndBroadcastTransaction:W,signTransaction:G,transfer:M,validateAddress:aT}}var i,nn,Hf,dH,mH,rT;var io=p(()=>{gT();i=require("@swapkit/helpers"),nn=require("ts-pattern"),Hf=require("xrpl");gT();hH();dH=require("xrpl"),mH={ACCOUNT_NOT_FOUND:19},rT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ro(y,n){let o=0n,f=0n,T=n;while(T<y.length&&T-n<10){let C=y[T++];if(C===void 0)break;if(o|=BigInt(C&127)<<f,f+=7n,(C&128)===0)return[o,T]}throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed")}function bn(y){let n=[],o=y<0n?y+2n**64n:y;while(o>=128n)n.push(Number(o&0x7fn)|128),o>>=7n;return n.push(Number(o)),n}function sT(y,n,o){let f=y.get(n);if(f)f.push(o);else y.set(n,[o])}function p_(y){let n=new Map,o=0;while(o<y.length){let[f,T]=ro(y,o);o=T;let C=Number(f>>3n),H=Number(f&7n);if(H===eT){let[U,_]=ro(y,o);o=_,sT(n,C,{data:new Uint8Array(bn(U)),wireType:eT})}else if(H===y0){let[U,_]=ro(y,o);o=_;let A=Number(U);if(A<0||o+A>y.length)throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed");let J=y.slice(o,o+A);o+=A,sT(n,C,{data:J,wireType:y0})}else if(H===rH){if(o+8>y.length)throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+8);o+=8,sT(n,C,{data:U,wireType:rH})}else if(H===aH){if(o+4>y.length)throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+4);o+=4,sT(n,C,{data:U,wireType:aH})}else throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed")}return n}function E_(y){let n=[];for(let[C,H]of[...y.entries()].sort(([U],[_])=>U-_))for(let{wireType:U,data:_}of H){let A=BigInt(C<<3|U);if(n.push(new Uint8Array(bn(A))),U===y0)n.push(new Uint8Array(bn(BigInt(_.length))));n.push(_)}let o=n.reduce((C,H)=>C+H.length,0),f=new Uint8Array(o),T=0;for(let C of n)f.set(C,T),T+=C.length;return f}function eH(y,n){if(!y||y.length%2!==0)throw new pf.SwapKitError("toolbox_tron_transaction_creation_failed");let o=Tn.hexToBytes(y),f=p_(o);if(n.expiration!==void 0)f.set($_,[{data:new Uint8Array(bn(BigInt(n.expiration))),wireType:eT}]);if(n.data!==void 0)f.set(I_,[{data:Tn.hexToBytes(n.data),wireType:y0}]);if(n.fee_limit!==void 0)f.set(P_,[{data:new Uint8Array(bn(BigInt(n.fee_limit))),wireType:eT}]);let T=E_(f),C=Tn.bytesToHex(T),H=Tn.bytesToHex(sH.sha256(T));return{raw_data_hex:C,txID:H}}var sH,Tn,pf,eT=0,rH=1,y0=2,aH=5,$_=8,I_=10,P_=18;var y5=p(()=>{sH=require("@noble/hashes/sha2.js"),Tn=require("@noble/hashes/utils.js"),pf=require("@swapkit/helpers")});function hy(y){if(typeof y!=="string")return!1;try{let n=f0.decode(y);return n.length===21&&n[0]===T5}catch{return!1}}function o5(y){return Vy.bytesToHex(f0.decode(y))}function t_(y){return f0.decode(y).slice(1)}function C5(y){let n=ao.secp256k1.getPublicKey(Vy.hexToBytes(y),!1),o=f5.keccak_256(n.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=T5,f.set(o,1),f0.encode(f)}function H5({txID:y,privateKey:n}){let o=ao.secp256k1.sign(Vy.hexToBytes(y),Vy.hexToBytes(n),{format:"recovered",prehash:!1}),f=o[0]??0,T=Vy.bytesToHex(o.slice(1,33)),C=Vy.bytesToHex(o.slice(33,65)),H=(f+27).toString(16).padStart(2,"0");return T+C+H}function on({txID:y,raw_data_hex:n}){let o=Vy.bytesToHex(so.sha256(Vy.hexToBytes(n)));if(y!==o)throw new eo.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:o,txID:y})}function b_(y){return`000000000000000000000000${Vy.bytesToHex(t_(y))}`}function v_(y){let n=typeof y==="bigint"?y:BigInt(y);if(n<0n||n>=V_)throw new eo.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:n.toString()});return n.toString(16).padStart(64,"0")}function Cn(y){return y.map(({type:n,value:o})=>n==="address"?b_(o):v_(BigInt(o))).join("")}function U5(y){return Vy.bytesToHex(new TextEncoder().encode(y))}var ao,so,f5,Vy,n5,eo,f0,T5=65,V_;var yC=p(()=>{ao=require("@noble/curves/secp256k1.js"),so=require("@noble/hashes/sha2.js"),f5=require("@noble/hashes/sha3.js"),Vy=require("@noble/hashes/utils.js"),n5=require("@scure/base"),eo=require("@swapkit/helpers"),f0=n5.createBase58check(so.sha256),V_=2n**256n});function A5(){try{return Gy.getRPCUrlSync(Gy.Chain.Tron)}catch{return _5}}function q5(){let y=new AbortController,n=setTimeout(()=>y.abort(),m_);return{cleanup:()=>clearTimeout(n),signal:y.signal}}async function Ef(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${A5()}${y}`,{body:JSON.stringify(n),headers:{"Content-Type":"application/json"},method:"POST",signal:o});if(!T.ok)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function G5(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${n??A5()}${y}`,{headers:{"Content-Type":"application/json"},signal:o});if(!T.ok)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function W5(y){if(!hy(y))throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let n=await G5(`/v1/accounts/${y}`,_5);if(!(n.success&&n.data)||n.data.length===0)return;let o;try{o=o5(y).toLowerCase()}catch{o=y.toLowerCase()}let f=n.data.find((T)=>T.address.toLowerCase()===o);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(n){if(n instanceof Gy.SwapKitError)throw n;throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:n instanceof Error?n.message:"Unknown error"})}}async function X5({from:y,to:n,amount:o}){let T=await Ef("/wallet/createtransaction",{amount:o,owner_address:y,to_address:n,visible:!0});if(!T.txID||!T.raw_data_hex||!T.raw_data)throw new Gy.SwapKitError("toolbox_tron_transaction_creation_failed");let H=T.raw_data?.contract?.[0]?.parameter?.value;if(H?.to_address!==n||H?.owner_address!==y||H?.amount!==o)throw new Gy.SwapKitError("toolbox_tron_transaction_creation_failed");return on(T),T}async function Q5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f,feeLimit:T,callValue:C=0}){let H=await Ef("/wallet/triggersmartcontract",{call_value:C,contract_address:n,fee_limit:T,function_selector:o,owner_address:y,parameter:f,visible:!0});if(!H.result.result||!H.transaction?.txID||!H.transaction?.raw_data_hex)throw new Gy.SwapKitError("toolbox_tron_transaction_creation_failed");let _=H.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==n||_?.owner_address!==y)throw new Gy.SwapKitError("toolbox_tron_transaction_creation_failed");return on(H.transaction),H.transaction}function J5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return Ef("/wallet/triggerconstantcontract",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}function c_({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return Ef("/wallet/estimateenergy",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}async function vn(y){try{let{result:n,txid:o}=await Ef("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!n||!o)throw new Gy.SwapKitError("toolbox_tron_token_transfer_failed");return o}catch(n){throw new Gy.SwapKitError("toolbox_tron_broadcast_failed",{error:n})}}async function un(){let y={};try{let{chainParameter:n}=await G5("/wallet/getchainparameters");for(let o of n)y[o.key]=o.value}catch(n){Gy.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${n instanceof Error?n.message:n}`})}return{bandwidthFee:y.getTransactionFee??u_,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??j_,energyFee:y.getEnergyFee??K_,memoFee:y.getMemoFee??h_}}async function fC(y){try{let n=await Ef("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(n.freeNetLimit??600)-(n.freeNetUsed??0),total:n.NetLimit??0,used:n.NetUsed??0},energy:{total:n.EnergyLimit??0,used:n.EnergyUsed??0}}}catch(n){return Gy.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${n instanceof Error?n.message:n}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jn(y){try{let n=await Ef("/wallet/getaccount",{address:y,visible:!0});return n&&Object.keys(n).length>0}catch{return!1}}async function nC(y){try{let n=await c_({...y,ownerAddress:y.sender}),o=n.energy_required??n.energyRequired;if(n.result&&!n.result.result)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:n.result.message||"estimateenergy failed"});if(o!==void 0){if(Number.isFinite(o)&&o>0)return o;throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(n){Gy.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${n instanceof Error?n.message:n}`})}try{let{energy_used:n}=await J5({...y,ownerAddress:y.sender});return n}catch(n){return Gy.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${n instanceof Error?n.message:n}`}),65000}}async function Z5({assetAddress:y,owner:n,spender:o}){let f=Cn([{type:"address",value:n},{type:"address",value:o}]),C=(await J5({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:o,parameter:f})).constant_result?.[0];if(!C)return 0n;try{return BigInt(`0x${C}`)}catch{return 0n}}var Gy,_5="https://api.trongrid.io",u_=1000,j_=1e6,K_=420,h_=1e6,m_=30000;var L5=p(()=>{yC();Gy=require("@swapkit/helpers")});function R5({phrase:y,derivationPath:n}){let o=O5.HDKey.fromMasterSeed(w5.mnemonicToSeedSync(y)).derive(n);if(!o.privateKey)throw new t.SwapKitError("toolbox_tron_no_signer");return N5.bytesToHex(o.privateKey)}function k5({phrase:y,derivationPath:n,index:o}){let f=n||t.derivationPathToString(t.updateDerivationPath(t.NetworkDerivationPath[t.Chain.Tron],{index:o||0}));return R5({derivationPath:f,phrase:y})}function i_({phrase:y,derivationPath:n}){let o=R5({derivationPath:n,phrase:y}),f=C5(o);return{getAddress:()=>Promise.resolve(f),signTransaction:(T)=>{on(T);let C=H5({privateKey:o,txID:T.txID});return Promise.resolve({...T,signature:[C]})}}}function z5({transaction:y,memo:n,expiration:o,feeLimit:f}){let T={},C={};if(f!==void 0&&y.raw_data)T.fee_limit=f,C.fee_limit=f;if(n){let _=U5(n);T.data=_,C.data=_}if(o){let _=y.raw_data.expiration+o*1000;T.expiration=_,C.expiration=_}if(Object.keys(T).length===0)return y;let{raw_data_hex:H,txID:U}=eH(y.raw_data_hex,T);return{...y,raw_data:{...y.raw_data,...C},raw_data_hex:H,txID:U}}function S5(y={}){let n="index"in y?y.index||0:0,o=t.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:t.updateDerivationPath(t.NetworkDerivationPath[t.Chain.Tron],{index:n})),f,T=!1;function C(){if(T)return Promise.resolve(f);return f=Hn.match(y).with({phrase:Hn.P.string},({phrase:X})=>i_({derivationPath:o,phrase:X})).with({signer:Hn.P.not(Hn.P.nullish)},({signer:X})=>X).otherwise(()=>{return}),T=!0,Promise.resolve(f)}async function H(){let X=await C();if(!X)throw new t.SwapKitError("toolbox_tron_no_signer");return X.getAddress()}async function U(X,Z){let D=X||Y5,k=Z??(await un()).energyFee,R=D*k,S=Math.ceil(R*1.5);return Math.min(Math.max(S,1e7),150000000)}async function _({contractAddress:X,functionSelector:Z,parameter:D,sender:k,memo:R,expiration:S,extraEnergy:l=0}){let z=await nC({contractAddress:X,functionSelector:Z,parameter:D,sender:k}),F=await U(z+l),$=await Q5({contractAddress:X,feeLimit:F,functionSelector:Z,ownerAddress:k,parameter:D});return z5({expiration:S,feeLimit:F,memo:R,transaction:$})}async function A(X){if(!hy(X))return[t.AssetValue.from({chain:t.Chain.Tron})];try{let Z=await W5(X);if(!Z)return[t.AssetValue.from({chain:t.Chain.Tron})];let D=[t.AssetValue.from({chain:t.Chain.Tron,fromBaseDecimal:6,value:String(Z.balance)})],k=Z.trc20?.find((R)=>(oC in R));if(k){let R=k[oC];D.push(t.AssetValue.from({asset:`TRON.USDT-${oC}`,fromBaseDecimal:6,value:R}))}return D}catch(Z){return t.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${Z instanceof Error?Z.message:Z}`}),[t.AssetValue.from({chain:t.Chain.Tron})]}}async function J({recipient:X,assetValue:Z,memo:D,expiration:k}){if(!hy(X))throw new t.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let R=await C();if(!R)throw new t.SwapKitError("toolbox_tron_no_signer");try{let S=await H(),l=await w({assetValue:Z,expiration:k,memo:D,recipient:X,sender:S}),z=await R.signTransaction(l),F=await vn(z);if(!F)throw new t.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(S){throw new t.SwapKitError("toolbox_tron_token_transfer_failed",{message:S instanceof Error?S.message:String(S)})}}function L({requiredBandwidth:X,resources:Z,feePerUnit:D}){let k=Math.max(0,Z.free+Z.total-Z.used);return X>k?(X-k)*D:0}async function G({memo:X,recipient:Z,senderAddress:D}){let[k,R,S]=await Promise.all([un(),jn(Z),fC(D)]),l=R?0:k.createAccountFee,z=L({feePerUnit:k.bandwidthFee,requiredBandwidth:M5,resources:S.bandwidth}),F=X?k.memoFee:0;return t.AssetValue.from({chain:t.Chain.Tron,fromBaseDecimal:t.BaseDecimal.TRON,value:l+z+F})}async function q({assetValue:X,memo:Z,recipient:D,senderAddress:k}){let R=X.address;if(!R)throw new t.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:X.toString()});let[S,l,z,F]=await Promise.all([un(),jn(D),fC(k),nC({contractAddress:R,functionSelector:"transfer(address,uint256)",parameter:Cn([{type:"address",value:D},{type:"uint256",value:X.getBaseValue("string")}]),sender:k})]),j=F+(l?0:TC),E=L({feePerUnit:S.bandwidthFee,requiredBandwidth:B5,resources:z.bandwidth}),m=Math.max(0,z.energy.total-z.energy.used),Ty=j>m?(j-m)*S.energyFee:0,Ly=Z?S.memoFee:0;return t.AssetValue.from({chain:t.Chain.Tron,fromBaseDecimal:t.BaseDecimal.TRON,value:E+Ty+Ly})}async function W({assetValue:X,memo:Z,recipient:D}){let[k,R]=await Promise.all([un(),jn(D)]);if(X.isGasAsset){let F=R?0:k.createAccountFee,$=Z?k.memoFee:0;return t.AssetValue.from({chain:t.Chain.Tron,fromBaseDecimal:t.BaseDecimal.TRON,value:F+M5*k.bandwidthFee+$})}let l=await U(Y5+(R?0:TC),k.energyFee),z=Z?k.memoFee:0;return t.AssetValue.from({chain:t.Chain.Tron,fromBaseDecimal:t.BaseDecimal.TRON,value:l+B5*k.bandwidthFee+z})}async function M({assetValue:X,memo:Z,recipient:D,sender:k}){let R=await C();try{let S=k?k:R?await H():void 0;if(!S)return W({assetValue:X,memo:Z,recipient:D});return X.isGasAsset?G({memo:Z,recipient:D,senderAddress:S}):q({assetValue:X,memo:Z,recipient:D,senderAddress:S})}catch(S){throw t.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${S instanceof Error?S.message:S}`}),new t.SwapKitError("toolbox_fee_estimation_failed",{chain:t.Chain.Tron,error:S})}}async function w({recipient:X,assetValue:Z,memo:D,sender:k,expiration:R}){if(!hy(X)||!hy(k))throw new t.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(Z.isGasAsset){let z=await X5({amount:Z.getBaseValue("number"),from:k,to:X});return z5({expiration:R,memo:D,transaction:z})}let S=Z.address;if(!S)throw new t.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Z.toString()});let l=await jn(X);return _({contractAddress:S,expiration:R,extraEnergy:l?0:TC,functionSelector:"transfer(address,uint256)",memo:D,parameter:Cn([{type:"address",value:X},{type:"uint256",value:Z.getBaseValue("string")}]),sender:k})}async function N(X){on(X);let Z=await C();if(!Z)throw new t.SwapKitError("toolbox_tron_no_signer");return Z.signTransaction(X)}async function Q(X){let Z=await N(X);return vn(Z)}function O({assetAddress:X,spenderAddress:Z,from:D}){return Z5({assetAddress:X,owner:D,spender:Z})}async function B({assetAddress:X,spenderAddress:Z,from:D,amount:k}){let R=await O({assetAddress:X,from:D,spenderAddress:Z});if(!k)return R>0n;return R>=BigInt(k)}async function Y({assetAddress:X,spenderAddress:Z,amount:D,from:k}){if(!hy(X)||!hy(Z))throw new t.SwapKitError("toolbox_tron_approve_failed");let R=await C();if(!R)throw new t.SwapKitError("toolbox_tron_no_signer");let S=k||await H(),l=D!==void 0?BigInt(D).toString():g_;try{let z=await _({contractAddress:X,functionSelector:"approve(address,uint256)",parameter:Cn([{type:"address",value:Z},{type:"uint256",value:l}]),sender:S}),F=await R.signTransaction(z),$=await vn(F);if(!$)throw new t.SwapKitError("toolbox_tron_approve_failed");return $}catch(z){if(z instanceof t.SwapKitError)throw z;throw new t.SwapKitError("toolbox_tron_approve_failed",{error:z})}}return{approve:Y,broadcastTransaction:vn,createTransaction:w,estimateTransactionFee:M,getAddress:H,getApprovedAmount:O,getBalance:A,getRpcUrl:()=>t.getRPCUrl(t.Chain.Tron),isApproved:B,signAndBroadcastTransaction:Q,signTransaction:N,transfer:J,validateAddress:hy}}var N5,O5,w5,t,Hn,D5,M5=268,Y5=65000,TC=25000,B5=345,oC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",g_="115792089237316195423570985008687907853269984665640564039457584007913129639935";var F5=p(()=>{y5();L5();yC();N5=require("@noble/hashes/utils.js"),O5=require("@scure/bip32"),w5=require("@scure/bip39"),t=require("@swapkit/helpers"),Hn=require("ts-pattern"),D5=hy});var CC={};By(CC,{validateTronAddress:()=>D5,getTronToolbox:()=>S5,getTronPrivateKeyFromMnemonic:()=>k5});module.exports=wy(CC);var HC=p(()=>{F5()});function T0(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return d_.test(y)}function r_(y){if(typeof y!=="object"||y===null)return;let n="response"in y?y.response:void 0;return typeof n?.status==="number"?n.status:void 0}function a_(y){return r_(y)===504}function s_(y){return y.hash?.().toString("hex")}function e_(y){return[...new Set([y,...s.SKConfig.get("rpcUrls")[s.Chain.Stellar]])].filter(Boolean)}async function y8(y){if(!T0(y))return!1;try{let{StrKey:n}=await import("@stellar/stellar-sdk");return n.isValidEd25519PublicKey(y)}catch{return!1}}function x5(y={}){let n,o=y.derivationPath||s.NetworkDerivationPath[s.Chain.Stellar],f=s.derivationPathToString(o.slice(0,3));async function T({phrase:N,path:Q}){let{HDKey:O}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:B}=await import("@scure/bip39"),{Keypair:Y}=await import("@stellar/stellar-sdk"),X=B(N),D=O.fromMasterSeed(X).derive(Q,!0);return Y.fromRawEd25519Seed(Buffer.from(D.privateKey))}async function C(){if(n)return n;let N=n0.match(y).with({phrase:n0.P.string},({phrase:Q})=>Q).otherwise(()=>{return});if(!N)throw new s.SwapKitError("toolbox_stellar_no_signer");return n=await T({path:f,phrase:N}),n}async function H(N){let{Horizon:Q}=await import("@stellar/stellar-sdk"),O=N||await s.getRPCUrl(s.Chain.Stellar);return new Q.Server(O)}async function U(N,Q){for(let O of Q)try{return(await(await H(O)).transactions().transaction(N).call()).hash||N}catch{}return}async function _(N,Q){let O=await s.getRPCUrl(s.Chain.Stellar),B=e_(O),Y=s_(N),X;for(let Z of B)try{let D=await H(Z),{hash:k}=await D.submitTransaction(N);return k}catch(D){if(X=D,!a_(D))break;let k=Y?await U(Y,B):void 0;if(k)return k}throw new s.SwapKitError(Q,X)}async function A(){try{return(await C()).publicKey()}catch{return""}}async function J(N){let Q=N||await A();if(!Q)throw new s.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await H()).loadAccount(Q)).balances.map((Y)=>{if(Y.asset_type==="native")return s.AssetValue.from({chain:s.Chain.Stellar,value:Y.balance});let X="asset_code"in Y?Y.asset_code:"",Z="asset_issuer"in Y?Y.asset_issuer:"";return s.AssetValue.from({asset:`${s.Chain.Stellar}.${X}-${Z}`,asyncTokenLookup:!1,value:Y.balance})})}catch{return[s.AssetValue.from({chain:s.Chain.Stellar,value:0})]}}async function L({recipient:N,assetValue:Q,memo:O,sender:B}){if(O){if(new TextEncoder().encode(O).length>28)throw new s.SwapKitError("helpers_invalid_memo_type")}if(!await y8(N))throw new s.SwapKitError("core_transaction_invalid_recipient_address");let X=B||await A();if(!X)throw new s.SwapKitError("toolbox_stellar_no_signer");let{Asset:Z,Memo:D,Networks:k,Operation:R,TransactionBuilder:S}=await import("@stellar/stellar-sdk"),l=await H(),z=await l.fetchBaseFee(),F=await l.loadAccount(X),$=new S(F,{fee:String(z),networkPassphrase:k.PUBLIC});if(Q.isGasAsset)try{await l.loadAccount(N),$.addOperation(R.payment({amount:Q.getValue("string"),asset:Z.native(),destination:N}))}catch{$.addOperation(R.createAccount({destination:N,startingBalance:Q.getValue("string")}))}else $.addOperation(R.payment({amount:Q.getValue("string"),asset:new Z(Q.symbol,Q.address),destination:N}));if(O)$.addMemo(D.text(O));return $.setTimeout(30).build()}async function G(N){let{TransactionBuilder:Q,Networks:O}=await import("@stellar/stellar-sdk"),B=await C(),Y=Q.fromXDR(N.toXDR(),O.PUBLIC);return Y.sign(B),Y}function q(N){return _(N,"toolbox_stellar_broadcast_error")}async function W({recipient:N,assetValue:Q,memo:O}){let B=await C(),Y=B.publicKey(),X=await L({assetValue:Q,memo:O,recipient:N,sender:Y});return X.sign(B),_(X,"toolbox_stellar_transaction_failed")}async function M(N){let Q=await G(N);return q(Q)}async function w(){let{baseDecimal:N}=s.getChainConfig(s.Chain.Stellar);try{let B=(await(await H()).feeStats()).fee_charged.p50;return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:N,value:B})}catch{return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:N,value:"100"})}}return{broadcastTransaction:q,createTransaction:L,estimateTransactionFee:w,getAddress:A,getBalance:J,signAndBroadcastTransaction:M,signTransaction:G,transfer:W,validateAddress:T0}}var s,n0,d_;var l5=p(()=>{s=require("@swapkit/helpers"),n0=require("ts-pattern"),d_=/^G[A-Z2-7]{55}$/});var o0={};By(o0,{validateStellarAddress:()=>T0,getStellarToolbox:()=>x5});module.exports=wy(o0);var C0=p(()=>{l5()});var T8={};By(T8,{getToolbox:()=>UC,getFeeEstimator:()=>n8,getAddressValidator:()=>f8});module.exports=wy(T8);var v=require("@swapkit/helpers");async function f8(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:n}=await Promise.resolve().then(() => (hn(),Kn)),{validateEVMAddress:o}=await Promise.resolve().then(() => (l0(),uC)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (p0(),P0)),{getCosmosAddressValidator:T}=await Promise.resolve().then(() => (MT(),LT)),{validateHyperCoreAddress:C}=await Promise.resolve().then(() => (no(),fo)),{validateSolanaAddress:H}=await Promise.resolve().then(() => (Uo(),Ho)),{validateStarknetAddress:U}=await Promise.resolve().then(() => (RT(),DT)),{validateSuiAddress:_}=await Promise.resolve().then(() => (ST(),kT)),{validateTonAddress:A}=await Promise.resolve().then(() => (lT(),xT)),{getUTXOAddressValidator:J}=await Promise.resolve().then(() => (Fo(),So)),{validateNearAddress:L}=await Promise.resolve().then(() => (ho(),Ko)),{validateRadixAddress:G}=await Promise.resolve().then(() => (co(),mo)),{validateRippleAddress:q}=await Promise.resolve().then(() => (io(),go)),{validateTronAddress:W}=await Promise.resolve().then(() => (HC(),CC)),{validateStellarAddress:M}=await Promise.resolve().then(() => (C0(),o0));return function({address:N,chain:Q}){return y(Q).with(...v.EVMChains,()=>o(N)).with(...v.UTXOChains,(B)=>{return J(B)(N)}).with(...v.CosmosChains,(B)=>{return T(B)(N)}).with(v.Chain.Aptos,()=>n(N)).with(v.Chain.Radix,()=>G(N)).with(v.Chain.HyperCore,()=>C(N)).with(v.Chain.Near,()=>L(N)).with(v.Chain.Ripple,()=>q(N)).with(v.Chain.Solana,()=>H(N)).with(v.Chain.Stellar,()=>M(N)).with(v.Chain.Starknet,()=>U(N)).with(v.Chain.Sui,()=>_(N)).with(v.Chain.Ton,()=>A(N)).with(v.Chain.Tron,()=>W(N)).with(v.Chain.Cardano,()=>f(N)).otherwise(()=>!1)}}function n8(y){return async function(o){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...v.EVMChains,async(T)=>{let C=await UC(T),H=await C.createTransaction(o),U="feeOptionKey"in o?o.feeOptionKey:v.FeeOption.Fast;return C.estimateTransactionFee({...H,feeOption:U})}).with(v.Chain.Bitcoin,v.Chain.BitcoinCash,v.Chain.Dogecoin,v.Chain.Dash,v.Chain.Litecoin,v.Chain.Solana,v.Chain.Ripple,v.Chain.Tron,v.Chain.Near,v.Chain.Cardano,v.Chain.HyperCore,async(T)=>{return(await UC(T)).estimateTransactionFee(o)}).with(v.Chain.Aptos,async()=>{let{getAptosToolbox:T}=await Promise.resolve().then(() => (hn(),Kn));return T().estimateTransactionFee(o)}).with(v.Chain.Starknet,async()=>{let{getStarknetToolbox:T}=await Promise.resolve().then(() => (RT(),DT));return(await T()).estimateTransactionFee(o)}).with(v.Chain.Stellar,async()=>{let{getStellarToolbox:T}=await Promise.resolve().then(() => (C0(),o0));return T().estimateTransactionFee()}).with(v.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (ST(),kT));return T().estimateTransactionFee(o)}).with(v.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (lT(),xT));return T().estimateTransactionFee(o)}).with(...v.CosmosChains,async()=>{let{estimateTransactionFee:T}=await Promise.resolve().then(() => (MT(),LT));return T(o)}).otherwise(async()=>v.AssetValue.from({chain:y}))}}async function UC(y,n){let{match:o}=await import("ts-pattern");return o(y).returnType().with(...v.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (x0(),tC));return await f(y,n)}).with(...v.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (Fo(),So));return f(y,n)}).with(...v.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (MT(),LT));return f(y,n)}).with(v.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (hn(),Kn));return f(n)}).with(v.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (no(),fo));return f(n)}).with(v.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (co(),mo));return f(n)}).with(v.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (io(),go));return f(n)}).with(v.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (Uo(),Ho));return f(n)}).with(v.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (C0(),o0));return f(n)}).with(v.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (RT(),DT));return f(n)}).with(v.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (ST(),kT));return f(n)}).with(v.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (HC(),CC));return f(n)}).with(v.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (ho(),Ko));return f(n)}).with(v.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (p0(),P0));return f(n)}).with(v.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (lT(),xT));return f(n)}).otherwise(()=>{throw new v.SwapKitError("toolbox_not_supported",{chain:y})})}