@swapkit/toolboxes 4.15.9 → 4.15.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/utxo/index.cjs +1 -1
- package/dist/src/utxo/index.js +1 -1
- package/dist/types/__tests__/helpers.d.ts +0 -1
- package/dist/types/aptos/index.d.ts +0 -1
- package/dist/types/aptos/toolbox.d.ts +0 -1
- package/dist/types/aptos/types.d.ts +0 -1
- package/dist/types/cardano/index.d.ts +0 -1
- package/dist/types/cardano/toolbox.d.ts +0 -1
- package/dist/types/cardano/types.d.ts +0 -1
- package/dist/types/cosmos/index.d.ts +0 -1
- package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts +0 -1
- package/dist/types/cosmos/thorchainUtils/index.d.ts +0 -1
- package/dist/types/cosmos/thorchainUtils/messages.d.ts +6 -7
- package/dist/types/cosmos/thorchainUtils/registry.d.ts +2 -3
- package/dist/types/cosmos/thorchainUtils/types/MsgCompiled.d.ts +0 -1
- package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts +0 -1
- package/dist/types/cosmos/thorchainUtils/types/index.d.ts +0 -1
- package/dist/types/cosmos/toolbox/cosmos.d.ts +2 -3
- package/dist/types/cosmos/toolbox/index.d.ts +0 -1
- package/dist/types/cosmos/toolbox/thorchain.d.ts +7 -8
- package/dist/types/cosmos/types.d.ts +0 -1
- package/dist/types/cosmos/util.d.ts +3 -4
- package/dist/types/evm/api.d.ts +0 -1
- package/dist/types/evm/contracts/eth/multicall.d.ts +0 -1
- package/dist/types/evm/contracts/op/gasOracle.d.ts +0 -1
- package/dist/types/evm/helpers.d.ts +1 -2
- package/dist/types/evm/index.d.ts +0 -1
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +0 -1
- package/dist/types/evm/toolbox/evm.d.ts +0 -1
- package/dist/types/evm/toolbox/index.d.ts +0 -1
- package/dist/types/evm/toolbox/op.d.ts +0 -1
- package/dist/types/evm/types.d.ts +0 -1
- package/dist/types/hypercore/helpers.d.ts +0 -1
- package/dist/types/hypercore/index.d.ts +0 -1
- package/dist/types/hypercore/signing.d.ts +0 -1
- package/dist/types/hypercore/toolbox.d.ts +0 -1
- package/dist/types/hypercore/types.d.ts +0 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/near/helpers/core.d.ts +0 -1
- package/dist/types/near/helpers/gasEstimation.d.ts +0 -1
- package/dist/types/near/helpers/nep141.d.ts +0 -1
- package/dist/types/near/index.d.ts +0 -1
- package/dist/types/near/toolbox.d.ts +0 -1
- package/dist/types/near/types/contract.d.ts +0 -1
- package/dist/types/near/types/index.d.ts +0 -1
- package/dist/types/near/types/nep141.d.ts +0 -1
- package/dist/types/near/types/toolbox.d.ts +0 -1
- package/dist/types/near/types.d.ts +0 -1
- package/dist/types/radix/index.d.ts +0 -1
- package/dist/types/ripple/currency.d.ts +0 -1
- package/dist/types/ripple/index.d.ts +0 -1
- package/dist/types/ripple/tokens.d.ts +0 -1
- package/dist/types/solana/index.d.ts +0 -1
- package/dist/types/solana/toolbox.d.ts +0 -1
- package/dist/types/starknet/index.d.ts +0 -1
- package/dist/types/starknet/toolbox.d.ts +0 -1
- package/dist/types/starknet/types.d.ts +0 -1
- package/dist/types/stellar/index.d.ts +0 -1
- package/dist/types/stellar/toolbox.d.ts +0 -1
- package/dist/types/stellar/types.d.ts +0 -1
- package/dist/types/substrate/balance.d.ts +0 -1
- package/dist/types/substrate/index.d.ts +0 -1
- package/dist/types/substrate/substrate.d.ts +0 -1
- package/dist/types/substrate/types.d.ts +0 -1
- package/dist/types/sui/index.d.ts +0 -1
- package/dist/types/sui/toolbox.d.ts +0 -1
- package/dist/types/sui/types.d.ts +0 -1
- package/dist/types/ton/index.d.ts +0 -1
- package/dist/types/ton/toolbox.d.ts +0 -1
- package/dist/types/ton/types.d.ts +0 -1
- package/dist/types/tron/helpers/proto.d.ts +0 -1
- package/dist/types/tron/helpers/trongrid.d.ts +0 -1
- package/dist/types/tron/helpers/utils.d.ts +0 -1
- package/dist/types/tron/index.d.ts +0 -1
- package/dist/types/tron/toolbox.d.ts +0 -1
- package/dist/types/tron/types.d.ts +0 -1
- package/dist/types/types.d.ts +0 -1
- package/dist/types/utils.d.ts +0 -1
- package/dist/types/utxo/hdWallet.d.ts +0 -1
- package/dist/types/utxo/helpers/api.d.ts +0 -1
- package/dist/types/utxo/helpers/bchaddrjs.d.ts +1 -2
- package/dist/types/utxo/helpers/cashaddr.d.ts +0 -1
- package/dist/types/utxo/helpers/coinselect.d.ts +0 -1
- package/dist/types/utxo/helpers/index.d.ts +0 -1
- package/dist/types/utxo/helpers/txSize.d.ts +0 -1
- package/dist/types/utxo/helpers/xpubDerivation.d.ts +0 -1
- package/dist/types/utxo/index.d.ts +0 -1
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts +3 -3
- package/dist/types/utxo/toolbox/index.d.ts +0 -1
- package/dist/types/utxo/toolbox/params.d.ts +0 -1
- package/dist/types/utxo/toolbox/utxo.d.ts +4 -4
- package/dist/types/utxo/toolbox/validators.d.ts +0 -1
- package/dist/types/utxo/toolbox/zcash.d.ts +1 -2
- package/dist/types/utxo/types.d.ts +0 -1
- package/package.json +77 -77
- package/dist/types/__tests__/helpers.d.ts.map +0 -1
- package/dist/types/aptos/index.d.ts.map +0 -1
- package/dist/types/aptos/toolbox.d.ts.map +0 -1
- package/dist/types/aptos/types.d.ts.map +0 -1
- package/dist/types/cardano/index.d.ts.map +0 -1
- package/dist/types/cardano/toolbox.d.ts.map +0 -1
- package/dist/types/cardano/types.d.ts.map +0 -1
- package/dist/types/cosmos/index.d.ts.map +0 -1
- package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +0 -1
- package/dist/types/cosmos/thorchainUtils/index.d.ts.map +0 -1
- package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +0 -1
- package/dist/types/cosmos/thorchainUtils/registry.d.ts.map +0 -1
- package/dist/types/cosmos/thorchainUtils/types/MsgCompiled.d.ts.map +0 -1
- package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts.map +0 -1
- package/dist/types/cosmos/thorchainUtils/types/index.d.ts.map +0 -1
- package/dist/types/cosmos/toolbox/cosmos.d.ts.map +0 -1
- package/dist/types/cosmos/toolbox/index.d.ts.map +0 -1
- package/dist/types/cosmos/toolbox/thorchain.d.ts.map +0 -1
- package/dist/types/cosmos/types.d.ts.map +0 -1
- package/dist/types/cosmos/util.d.ts.map +0 -1
- package/dist/types/evm/api.d.ts.map +0 -1
- package/dist/types/evm/contracts/eth/multicall.d.ts.map +0 -1
- package/dist/types/evm/contracts/op/gasOracle.d.ts.map +0 -1
- package/dist/types/evm/helpers.d.ts.map +0 -1
- package/dist/types/evm/index.d.ts.map +0 -1
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +0 -1
- package/dist/types/evm/toolbox/evm.d.ts.map +0 -1
- package/dist/types/evm/toolbox/index.d.ts.map +0 -1
- package/dist/types/evm/toolbox/op.d.ts.map +0 -1
- package/dist/types/evm/types.d.ts.map +0 -1
- package/dist/types/hypercore/helpers.d.ts.map +0 -1
- package/dist/types/hypercore/index.d.ts.map +0 -1
- package/dist/types/hypercore/signing.d.ts.map +0 -1
- package/dist/types/hypercore/toolbox.d.ts.map +0 -1
- package/dist/types/hypercore/types.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/near/helpers/core.d.ts.map +0 -1
- package/dist/types/near/helpers/gasEstimation.d.ts.map +0 -1
- package/dist/types/near/helpers/nep141.d.ts.map +0 -1
- package/dist/types/near/index.d.ts.map +0 -1
- package/dist/types/near/toolbox.d.ts.map +0 -1
- package/dist/types/near/types/contract.d.ts.map +0 -1
- package/dist/types/near/types/index.d.ts.map +0 -1
- package/dist/types/near/types/nep141.d.ts.map +0 -1
- package/dist/types/near/types/toolbox.d.ts.map +0 -1
- package/dist/types/near/types.d.ts.map +0 -1
- package/dist/types/radix/index.d.ts.map +0 -1
- package/dist/types/ripple/currency.d.ts.map +0 -1
- package/dist/types/ripple/index.d.ts.map +0 -1
- package/dist/types/ripple/tokens.d.ts.map +0 -1
- package/dist/types/solana/index.d.ts.map +0 -1
- package/dist/types/solana/toolbox.d.ts.map +0 -1
- package/dist/types/starknet/index.d.ts.map +0 -1
- package/dist/types/starknet/toolbox.d.ts.map +0 -1
- package/dist/types/starknet/types.d.ts.map +0 -1
- package/dist/types/stellar/index.d.ts.map +0 -1
- package/dist/types/stellar/toolbox.d.ts.map +0 -1
- package/dist/types/stellar/types.d.ts.map +0 -1
- package/dist/types/substrate/balance.d.ts.map +0 -1
- package/dist/types/substrate/index.d.ts.map +0 -1
- package/dist/types/substrate/substrate.d.ts.map +0 -1
- package/dist/types/substrate/types.d.ts.map +0 -1
- package/dist/types/sui/index.d.ts.map +0 -1
- package/dist/types/sui/toolbox.d.ts.map +0 -1
- package/dist/types/sui/types.d.ts.map +0 -1
- package/dist/types/ton/index.d.ts.map +0 -1
- package/dist/types/ton/toolbox.d.ts.map +0 -1
- package/dist/types/ton/types.d.ts.map +0 -1
- package/dist/types/tron/helpers/proto.d.ts.map +0 -1
- package/dist/types/tron/helpers/trongrid.d.ts.map +0 -1
- package/dist/types/tron/helpers/utils.d.ts.map +0 -1
- package/dist/types/tron/index.d.ts.map +0 -1
- package/dist/types/tron/toolbox.d.ts.map +0 -1
- package/dist/types/tron/types.d.ts.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/utils.d.ts.map +0 -1
- package/dist/types/utxo/hdWallet.d.ts.map +0 -1
- package/dist/types/utxo/helpers/api.d.ts.map +0 -1
- package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +0 -1
- package/dist/types/utxo/helpers/cashaddr.d.ts.map +0 -1
- package/dist/types/utxo/helpers/coinselect.d.ts.map +0 -1
- package/dist/types/utxo/helpers/index.d.ts.map +0 -1
- package/dist/types/utxo/helpers/txSize.d.ts.map +0 -1
- package/dist/types/utxo/helpers/xpubDerivation.d.ts.map +0 -1
- package/dist/types/utxo/index.d.ts.map +0 -1
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +0 -1
- package/dist/types/utxo/toolbox/index.d.ts.map +0 -1
- package/dist/types/utxo/toolbox/params.d.ts.map +0 -1
- package/dist/types/utxo/toolbox/utxo.d.ts.map +0 -1
- package/dist/types/utxo/toolbox/validators.d.ts.map +0 -1
- package/dist/types/utxo/toolbox/zcash.d.ts.map +0 -1
- package/dist/types/utxo/types.d.ts.map +0 -1
package/dist/src/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var DA=Object.defineProperty;var OA=(n)=>n;function RA(n,y){this[n]=OA.bind(null,y)}var nn=(n,y)=>{for(var T in y)DA(n,T,{get:y[T],enumerable:!0,configurable:!0,set:RA.bind(y,T)})};var p=(n,y)=>()=>(n&&(y=n(n=0)),y);var x=((n)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(y,T)=>(typeof require<"u"?require:y)[T]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});import{AssetValue as oy,Chain as $n,derivationPathToString as xA,getChainConfig as _T,getRPCUrlSync as z0,NetworkDerivationPath as FA,SwapKitError as fn}from"@swapkit/helpers";import{match as D0,P as UT}from"ts-pattern";function Jo(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return pA.test(y)}function O0({derivationPath:n,provider:y,...T}={}){let o,f=xA(n||FA[$n.Aptos],{allHardened:!0});async function t(){if(o)return o;return o=await D0(T).with({phrase:UT.string},async({phrase:l})=>{let{Ed25519Account:Z}=await import("@aptos-labs/ts-sdk");return Z.fromDerivationPath({mnemonic:l,path:f})}).with({signer:UT.any},({signer:l})=>l).otherwise(()=>{return}),o}async function C(){let{Aptos:l,AptosConfig:Z}=await import("@aptos-labs/ts-sdk"),z=new Z({fullnode:y||z0($n.Aptos)});return new l(z)}async function H(){return(await t())?.accountAddress.toString()||""}async function A(l){let Z=l||await H();if(!Z)throw new fn("toolbox_aptos_address_required");let{baseDecimal:z,chain:L}=_T($n.Aptos);try{let N=await C(),J=await N.getAccountAPTAmount({accountAddress:Z}),U=[oy.from({chain:L,fromBaseDecimal:z,value:J.toString()})],B=await N.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Z}}}});for(let q of B){if(q.asset_type===Ao.COIN_TYPE||Number(q.amount)<=0)continue;let Y=q.asset_type;if(Y){let Q=("metadata"in q&&typeof q.metadata==="object"&&q.metadata!==null?q.metadata:void 0)?.decimals??z;U.push(oy.from({asset:`${$n.Aptos}.APT-${Y}`,fromBaseDecimal:Q,value:String(q.amount)}))}}return U}catch{return[oy.from({chain:L})]}}async function _(l){if(!l){let{baseDecimal:B}=_T($n.Aptos),q=y||z0($n.Aptos),Y=await fetch(`${q}/estimate_gas_price`),{gas_estimate:D}=await Y.json();return oy.from({chain:$n.Aptos,fromBaseDecimal:B,value:String(D)})}let Z=await t();if(!Z)throw new fn("toolbox_aptos_no_signer");let z=await G(l),L=await C(),[N]=await L.transaction.simulate.simple({signerPublicKey:Z.publicKey,transaction:z});if(!N)throw new fn("toolbox_aptos_transaction_creation_error");let J=BigInt(N.gas_used)*BigInt(N.gas_unit_price),{baseDecimal:U}=_T($n.Aptos);return oy.from({chain:$n.Aptos,fromBaseDecimal:U,value:J.toString()})}async function G({recipient:l,assetValue:Z,maxGasAmount:z,sender:L}){if(!Jo(l))throw new fn("core_transaction_invalid_recipient_address");let N=L||await H();if(!N)throw new fn("toolbox_aptos_no_sender");let{AccountAddress:J}=await import("@aptos-labs/ts-sdk"),U=await C(),B=J.from(N);try{let q=Z.isGasAsset?Ao.TRANSFER:Ao.FUNGIBLE_STORE_TRANSFER,Y=D0({address:Z?.address,isGasAsset:Z.isGasAsset}).with({isGasAsset:!0},()=>[J.from(l),Z.getBaseValue("bigint")]).with({address:UT.string},({address:D})=>[J.from(D),J.from(l),Z.getBaseValue("bigint")]).otherwise(()=>null);if(!Y)throw new fn("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:q,functionArguments:Y,typeArguments:Z.isGasAsset?[]:[Ao.FUNGIBLE_ASSET_METADATA]},options:z?{maxGasAmount:z}:void 0,sender:B})}catch(q){if(q instanceof fn)throw q;throw new fn("toolbox_aptos_transaction_creation_error",q)}}async function M(l){let Z=await t();if(!Z)throw new fn("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Z,transaction:l})}async function w({assetValue:l,maxGasAmount:Z,recipient:z}){let L=await t();if(!L)throw new fn("toolbox_aptos_no_signer");if(!Jo(z))throw new fn("core_transaction_invalid_recipient_address");try{let N=L.accountAddress.toString(),J=await G({assetValue:l,maxGasAmount:Z,recipient:z,sender:N});return(await(await C()).signAndSubmitTransaction({signer:L,transaction:J})).hash}catch(N){if(N instanceof fn)throw N;throw new fn("toolbox_aptos_transaction_creation_error",N)}}async function X({senderAuthenticator:l,transaction:Z}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:l,transaction:Z})).hash}catch(z){throw new fn("toolbox_aptos_broadcast_error",z)}}async function W(l){let Z=await M(l);return X({senderAuthenticator:Z,transaction:l})}return{broadcastTransaction:X,createTransaction:G,estimateTransactionFee:_,getAddress:H,getBalance:A,signAndBroadcastTransaction:W,signTransaction:M,transfer:w,validateAddress:Jo}}function R0({provider:n}){return async function({assetValue:T,recipient:o}){if(!Jo(o))throw new fn("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(T.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),T.getBaseValue("string")],function:Ao.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let t=T.address;if(!t)throw new fn("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[t,f.from(o).toString(),T.getBaseValue("string")],function:Ao.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Ao.FUNGIBLE_ASSET_METADATA]})).hash}}var Ao,pA;var x0=p(()=>{Ao={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"},pA=/^[0-9a-fA-F]+$/});var $y={};nn($y,{validateAptosAddress:()=>Jo,getAptosToolbox:()=>O0,createAptosExtensionTransfer:()=>R0});var Ey=p(()=>{x0()});import{AssetValue as F0,getChainConfig as SA}from"@swapkit/helpers";import{SwapKitApi as kA}from"@swapkit/helpers/api";function p0(){function n(){let y=Date.now(),T=wT||y;return wT=T,y>wT?y:T+1}return uA+n().toString(36)}function qn(n){return async function(T,o=!0){let f=await kA.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=SA(n),C=f.map(({identifier:A,value:_,decimal:G})=>{return new F0({decimal:G||t,identifier:A,value:_})});if(!C.some((A)=>A.isGasAsset))return[F0.from({chain:n}),...C];return C}}var uA,wT=0;var En=p(()=>{uA=typeof process<"u"&&process.pid?process.pid.toString(36):""});function yy(n){return{getBalance:qn(n)}}function PA(n){return n}var by=p(()=>{En()});import{Chain as h,getChainConfig as XT,getRPCUrl as IA,SwapKitError as vy}from"@swapkit/helpers";import{getAddress as k0,Interface as $A,JsonRpcProvider as EA}from"ethers";import{match as u0}from"ts-pattern";function P0(n){return new EA(n)}async function WT(n,y){return P0(y||await IA(n))}function fy(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function BT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=XT(n);return function(){return n!==h.Ethereum?{...bA({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function MT(n){return![h.Adi,h.Arbitrum,h.BinanceSmartChain].includes(n)}function bA({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=XT(n);return u0(n).with(h.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:h.Ethereum}})).with(h.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:h.Ethereum}})).with(h.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(h.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:h.Ethereum}})).with(h.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(h.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(h.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(h.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(h.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:h.Ethereum}})).with(h.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:h.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:T,symbol:T}}))}async function LT(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let T={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(T)}function I0(n,y){let T=y!==void 0?`index ${y}: `:"",o=(f,t)=>{throw new vy({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${T}${t}`}})};u0(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!vA(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!S0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!S0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function $0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:T})=>({name:y,type:T}))}function qT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function GT(n,y){if(n.isTuple()&&n.components){let T=qT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:GT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=qT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:GT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function lT(n,y){if(typeof n==="bigint")return n;if(y?.isTuple()&&typeof n?.toObject==="function"){let T=n.toObject(),o={};for(let[f,t]of(y.components??[]).entries())o[t.name]=lT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>lT(o,T??void 0))}return n}function VA({chain:n,abi:y,data:T,to:o}){let t=new $A(y).parseTransaction({data:T});if(!t)throw new vy({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=qT(t.name);C[H]=t.fragment.inputs.map((w)=>({name:w.name,type:GT(w,C)}));let A={};for(let[w,X]of t.fragment.inputs.entries())A[X.name]=lT(t.args[w],X);let{chainId:_}=XT(n),G={chainId:Number(_),verifyingContract:k0(o)},M=$0(G);return{domain:G,message:A,primaryType:H,types:{EIP712Domain:M,...C}}}function QT(n,y){if(!Array.isArray(n)||n.length===0)throw new vy({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[T,o]of n.entries())if(I0(o,T),y!==void 0&&o.chainId!==y)throw new vy({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${T}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var S0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),vA=(n)=>{try{return typeof n==="string"&&!!k0(n)}catch{return!1}};var Ty=()=>{};var E0;var b0=p(()=>{E0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as jA,applyFeeMultiplierToBigInt as Gn,Chain as Jn,EVMChains as KA,FeeOption as v,isGasAsset as cA,SwapKitError as i,SwapKitNumber as Vy}from"@swapkit/helpers";import{erc20ABI as ty}from"@swapkit/helpers/contracts";import{BrowserProvider as iA,Contract as v0,getAddress as jy,Interface as V0}from"ethers";import{match as j0}from"ts-pattern";function Yo({chain:n=Jn.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:dA({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:i0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:zT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:n_({chain:n,provider:y,signer:T}),createContract:JT({chain:n,provider:y}),createContractTxObject:_o({chain:n,provider:y}),createTransaction:ZT({chain:n,provider:y,signer:T}),createTransferTx:ZT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:zo(y),estimateCall:h0({provider:y,signer:T}),estimateGasLimit:sA({chain:n,provider:y,signer:T}),estimateGasPrices:Uo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:o_({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:yy(n).getBalance,getNetworkParams:BT(n),isApproved:gA({chain:n,provider:y}),sendTransaction:m0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:eA({signer:T}),signMessage:T?(f)=>T.signMessage(f):void 0,signTypedData:T?({domain:f,types:t,value:C})=>T.signTypedData(f,t,C):void 0,transfer:aA({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:Hy}}function Hy(n){try{return jy(n),!0}catch{return!1}}function No(n){return n instanceof iA}function Ay(n,y,T){return new v0(n,V0.from(y),T)}function JT({provider:n}){return function(T,o){return new v0(T,V0.from(o),n)}}function YT({abi:n,funcName:y}){let T=n.find((o)=>o.name===y);if(!T)throw new i("toolbox_evm_no_abi_fragment",{funcName:y});return T.stateMutability&&hA.includes(T.stateMutability)}function K0(n){return jy(n)}function zo(n){return function({value:T,...o}){if(!No(n))throw new i("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,...A}=o;return n.send("eth_sendTransaction",[{...A,value:fy(BigInt(T||0))}])}}function c0(n,y){let T=Do(n,y);if(T)return jy(T.toLowerCase());throw new i("toolbox_evm_invalid_gas_asset_address")}function Do({chain:n,symbol:y,ticker:T},o){try{let f=n===Jn.BinanceSmartChain&&y==="BNB"&&T==="BNB",t=n===Jn.Hyperevm&&y==="HYPE"&&T==="HYPE",C=n===o&&y===o&&T===o,H=rA.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return NT[o];return jy(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function _o({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>Ay(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Uo({chain:n,provider:y,isEIP1559Compatible:T=!0}){return j0(n).with(Jn.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:t}=await y.getFeeData();if(!f||t===null)throw new i("toolbox_evm_no_fee_data");return{[v.Average]:{maxFeePerGas:Gn(f,v.Average),maxPriorityFeePerGas:Gn(t,v.Average)},[v.Fast]:{maxFeePerGas:Gn(f,v.Fast),maxPriorityFeePerGas:Gn(t,v.Fast)},[v.Fastest]:{maxFeePerGas:Gn(f,v.Fastest),maxPriorityFeePerGas:Gn(t,v.Fastest)}}}catch(f){throw new i("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(Jn.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new i("toolbox_evm_no_fee_data");let t=f*12n/10n;return{[v.Average]:{gasPrice:t},[v.Fast]:{gasPrice:Gn(t,v.Fast)},[v.Fastest]:{gasPrice:Gn(t,v.Fastest)}}}catch(f){throw new i("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:t,gasPrice:C}=await y.getFeeData();if(T){if(f===null||t===null)throw new i("toolbox_evm_no_fee_data");return{[v.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:t},[v.Fast]:{maxFeePerGas:Gn(f,v.Fast),maxPriorityFeePerGas:Gn(t,v.Fast)},[v.Fastest]:{maxFeePerGas:Gn(f,v.Fastest),maxPriorityFeePerGas:Gn(t,v.Fastest)}}}if(!C)throw new i("toolbox_evm_no_gas_price");return{[v.Average]:{gasPrice:C},[v.Fast]:{gasPrice:Gn(C,v.Fast)},[v.Fastest]:{gasPrice:Gn(C,v.Fastest)}}}catch(f){throw new i("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function zT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:A,funcParams:_=[],txOverrides:G={},feeOption:M=v.Fast}){let w=t||n;if(!C)throw new i("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=YT({abi:H,funcName:A});if(X&&No(w)&&T){let Z=_o({chain:o,provider:w}),z=G?.from||await T?.getAddress(),L=await Z({abi:H,contractAddress:C,funcName:A,funcParams:_,txOverrides:{...G,from:z}});return zo(w)(L)}let W=Ay(C,H,w);if(X){if(!T)throw new i("toolbox_evm_no_signer");let Z=G?.from||await T.getAddress();if(!Z)throw new i("toolbox_evm_no_signer_address");let z=W.connect(T),L=Uo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:N,maxPriorityFeePerGas:J,gasPrice:U}=(await L())[M],B=await W.getFunction(A).estimateGas(..._,G),q=await z[A](..._,{...G,gasLimit:B,gasPrice:U,maxFeePerGas:N,maxPriorityFeePerGas:J,nonce:G?.nonce||await w.getTransactionCount(Z)});return typeof q?.hash==="string"?q?.hash:q}let l=await W[A]?.(..._);return typeof l?.hash==="string"?l?.hash:l}}function i0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return zT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:ty,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function gA({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=Cy}){let H=await i0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return Vy.fromBigInt(H).gte(Vy.fromBigInt(BigInt(C)))}}function dA({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=v.Fast,amount:A,gasLimitFallback:_,from:G,nonce:M}){let w=[C,BigInt(A||Cy)],X=await n?.getAddress()||G,W={abi:ty,contractAddress:t,funcName:"approve",funcParams:w,signer:n,txOverrides:{from:X}};if(No(T)){let Z=_o({chain:o,provider:T}),z=zo(T),L=await Z(W);return z(L)}return zT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...W,feeOption:H,funcParams:w,txOverrides:{from:X,gasLimit:_?BigInt(_.toString()):void 0,nonce:M}})}}function aA({signer:n,isEIP1559Compatible:y=!0,provider:T}){return async function({assetValue:f,memo:t,recipient:C,feeOptionKey:H=v.Fast,sender:A,..._}){let{hexlify:G,toUtf8Bytes:M}=await import("ethers"),w=f.getBaseValue("bigint"),X=f.chain,W=A||await n?.getAddress(),l=m0({chain:X,isEIP1559Compatible:y,provider:T,signer:n});if(!W)throw new i("toolbox_evm_no_from_address");if(f.isGasAsset){let U={..._,data:G(M(t||"")),feeOptionKey:H,from:W,to:C,value:w};return l(U)}if(!Do(f,X))throw new i("toolbox_evm_no_contract_address");let{maxFeePerGas:z,maxPriorityFeePerGas:L,gasPrice:N}=(await Uo({chain:X,isEIP1559Compatible:y,provider:T})())[H],J=await ZT({chain:X,provider:T,signer:n})({assetValue:f,data:G(M(t||"")),gasPrice:N,maxFeePerGas:z,maxPriorityFeePerGas:L,memo:t,recipient:C,sender:W});return l(J)}}function h0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:t,funcParams:C=[],txOverrides:H}){if(!o)throw new i("toolbox_evm_no_contract_address");let A=Ay(o,f,n);return y?A.connect(y).getFunction(t).estimateGas(...C,H):A.getFunction(t).estimateGas(...C,H)}}function sA({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:t,data:C,sender:H,funcName:A,funcParams:_,txOverrides:G}){let M=o.bigIntValue,w=o.isGasAsset?null:Do(o,o.chain);if(w&&A)return h0({provider:n,signer:y})({abi:ty,contractAddress:w,funcName:A,funcParams:_,txOverrides:G});let{hexlify:X,toUtf8Bytes:W}=await import("ethers");return n.estimateGas({data:C?C:t?X(W(t)):void 0,from:H,to:f,value:M})}}function eA({signer:n}){if(!n)return;return(y)=>LT(n,y)}function m0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=v.Fast,...C}){let{from:H,to:A,data:_,value:G,...M}=C;if(!y)throw new i("toolbox_evm_no_signer");if(!A)throw new i("toolbox_evm_no_to_address");let w={...M,data:_||"0x",from:H,to:A,value:BigInt(G||0)};if(No(n))return zo(n)(w);let X=H||await y.getAddress(),W=C.nonce||await n.getTransactionCount(X),l=(await n.getNetwork()).chainId,Z=OT(w,T);if(Z==="eip7702")QT(w.authorizations||[],l);let z=j0(Z).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...w,chainId:l,nonce:W,type:z,...Z==="eip7702"&&{authorizationList:w.authorizations}},N=Uo({chain:o,isEIP1559Compatible:T,provider:n}),U=Z!=="legacy"&&!(w.maxFeePerGas&&w.maxPriorityFeePerGas)||!w.gasPrice?Object.entries((await N())[t]).reduce((q,[Y,D])=>({...q,[Y]:fy(BigInt(D))}),{}):{},B;try{B=fy(w.gasLimit||await n.estimateGas(L)*11n/10n)}catch(q){throw new i("toolbox_evm_error_estimating_gas_limit",{error:q})}try{let q={...L,gasLimit:B,...U};try{return(await y.sendTransaction(q)).hash}catch{let Y=await y.signTransaction({...q,from:X});return(await n.broadcastTransaction(Y)).hash}}catch(q){throw new i("toolbox_evm_error_sending_transaction",{error:q})}}}function ZT({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:t,data:C,sender:H,maxFeePerGas:A,maxPriorityFeePerGas:_,gasPrice:G,...M}){let w=o.getBaseValue("bigint"),X=o.chain,W=H||await y?.getAddress();if(!W)throw new i("toolbox_evm_no_from_address");if(cA(o)){let{hexlify:z,toUtf8Bytes:L}=await import("ethers");return{...M,data:C||z(L(f||"")),from:W,to:t,value:w}}let l=Do(o,X);if(!l)throw new i("toolbox_evm_no_contract_address");return _o({chain:o.chain,provider:n})({abi:ty,contractAddress:l,funcName:"transfer",funcParams:[t,w],txOverrides:{from:W,gasPrice:G,maxFeePerGas:A,maxPriorityFeePerGas:_}})}}function n_({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let A=await y?.getAddress()||H,_=_o({chain:T,provider:n}),G=["bigint","number"].includes(typeof C)?C:C||Cy;return await _({abi:ty,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(G)],txOverrides:{from:A}})}}function o_({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=v.Fast,...t}){let H=await Uo({chain:T,isEIP1559Compatible:y,provider:n})(),A=await n.estimateGas(t),_=jA.from({chain:T}),{gasPrice:G,maxFeePerGas:M,maxPriorityFeePerGas:w}=H[f];if(!y&&G)return _.set(Vy.fromBigInt(G*A,_.decimal));if(M&&w){let X=(M+w)*A;return _.set(Vy.fromBigInt(X,_.decimal))}throw new i("toolbox_evm_no_gas_price")}}var Cy,hA,mA,NT,rA,Ky=(n)=>n.type===4||(n.authorizations?.length??0)>0,DT=(n)=>!Ky(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),OT=(n,y=!0)=>{if(Ky(n))return"eip7702";if(DT(n)||y)return"eip1559";return"legacy"};var cy=p(()=>{by();Ty();Cy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");hA=["payable","nonpayable"];mA=KA.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),NT={...mA,[Jn.Optimism]:"0x4200000000000000000000000000000000000042",[Jn.Polygon]:"0x0000000000000000000000000000000000001010"},rA=[Jn.Arbitrum,Jn.Aurora,Jn.Base,Jn.Optimism]});import{Chain as r,FeeOption as y_}from"@swapkit/helpers";import{HDNodeWallet as f_}from"ethers";import{match as T_,P as r0}from"ts-pattern";function iy(n){let y=g(r.Ethereum)(n);async function T(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",t="aggregate",C=y_.Fast){let H=await y.createContractTxObject({abi:E0,contractAddress:f,funcName:t,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:T}}function g(n){return function({provider:T,...o}){let f=MT(n),t=T_(o).with({phrase:r0.string},({phrase:H})=>f_.fromPhrase(H).connect(T)).with({signer:r0.any},({signer:H})=>H).otherwise(()=>{return});return Yo({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var hy,my,ry,gy,dy,ay,sy,g0,ey,nf,of,yf,ff,Tf,_y,tf,Cf,Hf,Af;var RT=p(()=>{b0();Ty();cy();hy=g(r.Adi),my=g(r.Arbitrum),ry=g(r.Aurora),gy=g(r.Avalanche),dy=g(r.Base),ay=g(r.Berachain),sy=g(r.BinanceSmartChain),g0=g(r.Botanix),ey=g(r.Core),nf=g(r.Corn),of=g(r.Cronos),yf=g(r.Gnosis),ff=g(r.Hyperevm),Tf=g(r.Polygon),_y=g(r.Sonic),tf=g(r.Unichain),Cf=g(r.XLayer),Hf=g(r.Monad),Af=g(r.MegaETH)});var d0;var a0=p(()=>{d0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as Oo,Chain as C_,FeeOption as bn,SwapKitError as xT}from"@swapkit/helpers";import{Contract as H_,HDNodeWallet as A_}from"ethers";import{match as __,P as s0}from"ts-pattern";function FT(n){return new H_(U_,d0,n)}function e0(n){return async function(){let T=FT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function nC(n){return async function({from:T,to:o,nonce:f,...t}){let{Transaction:C}=await import("ethers");if(!o)throw new xT("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...t,authorizationList:t.authorizationList,nonce:f?f:T?await n.getTransactionCount(T):0,to:o}).serialized}}function oC(n){return async function(T){let o=FT(n),f=await nC(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function yC(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function w_(n){return async function(T){let o=await oC(n)(T)??0n,f=await yC(n)(T);return o+f}}function q_(n){return async function(T){let o=FT(n),f=await nC(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function G_(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await e0(n)(),C=f;if(!(T&&o))throw new xT("toolbox_evm_no_fee_data");return{[bn.Average]:{gasPrice:C,l1GasPrice:t,maxFeePerGas:T,maxPriorityFeePerGas:o},[bn.Fast]:{gasPrice:Oo(C,bn.Fast),l1GasPrice:Oo(t||0n,bn.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Oo(o,bn.Fast)},[bn.Fastest]:{gasPrice:Oo(C,bn.Fastest),l1GasPrice:Oo(t||0n,bn.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Oo(o,bn.Fastest)}}}catch(T){throw new xT("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}function _f({provider:n,...y}){let T=__(y).with({phrase:s0.string},({phrase:t})=>A_.fromPhrase(t).connect(n)).with({signer:s0.any},({signer:t})=>t).otherwise(()=>{return}),o=Yo({provider:n,signer:T}),f=e0(n);return{...o,estimateGasPrices:G_(n),estimateL1Gas:q_(n),estimateL1GasCost:oC(n),estimateL2GasCost:yC(n),estimateTotalGasCost:w_(n),getBalance:yy(C_.Optimism).getBalance,getL1GasPrice:f}}var U_="0x420000000000000000000000000000000000000f";var pT=p(()=>{by();a0();cy()});var TC={};nn(TC,{validateEVMAddress:()=>Hy,toChecksumAddress:()=>K0,isStateChangingCall:()=>YT,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>DT,isBrowserProvider:()=>No,getTokenAddress:()=>Do,getEvmToolboxAsync:()=>fC,getEvmToolbox:()=>ST,getEstimateGasPrices:()=>Uo,getEVMTxType:()=>OT,getEIP1193SendTransaction:()=>zo,getCreateContractTxObject:()=>_o,getCreateContract:()=>JT,getChecksumAddressFromAsset:()=>c0,createContract:()=>Ay,XLayerToolbox:()=>Cf,UNIToolbox:()=>tf,SONICToolbox:()=>_y,OPToolbox:()=>_f,MONADToolbox:()=>Hf,MEGAETHToolbox:()=>Af,MAX_APPROVAL:()=>Cy,MATICToolbox:()=>Tf,HYPEREVMToolbox:()=>ff,GNOToolbox:()=>yf,ETHToolbox:()=>iy,ContractAddress:()=>NT,CROToolbox:()=>of,CORNToolbox:()=>nf,COREToolbox:()=>ey,BotanixToolbox:()=>g0,BaseEVMToolbox:()=>Yo,BSCToolbox:()=>sy,BERAToolbox:()=>ay,BASEToolbox:()=>dy,AVAXToolbox:()=>gy,AURORAToolbox:()=>ry,ARBToolbox:()=>my,ADIToolbox:()=>hy});import{Chain as m}from"@swapkit/helpers";import{match as l_}from"ts-pattern";function ST(n,y){return l_(n).with(m.Adi,()=>hy(y)).with(m.Arbitrum,()=>my(y)).with(m.Aurora,()=>ry(y)).with(m.Avalanche,()=>gy(y)).with(m.Base,()=>dy(y)).with(m.Berachain,()=>ay(y)).with(m.BinanceSmartChain,()=>sy(y)).with(m.Botanix,()=>_y(y)).with(m.Core,()=>ey(y)).with(m.Corn,()=>nf(y)).with(m.Cronos,()=>of(y)).with(m.Ethereum,()=>iy(y)).with(m.Gnosis,()=>yf(y)).with(m.Hyperevm,()=>ff(y)).with(m.Optimism,()=>_f(y)).with(m.Polygon,()=>Tf(y)).with(m.Sonic,()=>_y(y)).with(m.Unichain,()=>tf(y)).with(m.XLayer,()=>Cf(y)).with(m.Monad,()=>Hf(y)).with(m.MegaETH,()=>Af(y)).exhaustive()}async function fC(n,y){let T={...y,provider:y?.provider||await WT(n)};return ST(n,T)}var kT=p(()=>{Ty();RT();pT();cy();RT();pT()});var tC;var CC=p(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(tC||={})});var HC={};nn(HC,{validateEVMAddress:()=>Hy,validateAuthorizations:()=>QT,validateAuthorization:()=>I0,toHexString:()=>fy,toChecksumAddress:()=>K0,signAuthorization:()=>LT,parseEIP712FromEVMTx:()=>VA,isStateChangingCall:()=>YT,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>DT,isBrowserProvider:()=>No,getTokenAddress:()=>Do,getProviderSync:()=>P0,getProvider:()=>WT,getNetworkParams:()=>BT,getIsEIP1559Compatible:()=>MT,getEvmToolboxAsync:()=>fC,getEvmToolbox:()=>ST,getEvmApi:()=>yy,getEstimateGasPrices:()=>Uo,getEVMTxType:()=>OT,getEIP1193SendTransaction:()=>zo,getCreateContractTxObject:()=>_o,getCreateContract:()=>JT,getChecksumAddressFromAsset:()=>c0,createCustomEvmApi:()=>PA,createContract:()=>Ay,buildEIP712DomainType:()=>$0,XLayerToolbox:()=>Cf,UNIToolbox:()=>tf,SONICToolbox:()=>_y,OPToolbox:()=>_f,MONADToolbox:()=>Hf,MEGAETHToolbox:()=>Af,MAX_APPROVAL:()=>Cy,MATICToolbox:()=>Tf,HYPEREVMToolbox:()=>ff,GNOToolbox:()=>yf,EthNetwork:()=>tC,ETHToolbox:()=>iy,ContractAddress:()=>NT,CROToolbox:()=>of,CORNToolbox:()=>nf,COREToolbox:()=>ey,BotanixToolbox:()=>g0,BaseEVMToolbox:()=>Yo,BSCToolbox:()=>sy,BERAToolbox:()=>ay,BASEToolbox:()=>dy,AVAXToolbox:()=>gy,AURORAToolbox:()=>ry,ARBToolbox:()=>my,ADIToolbox:()=>hy});var uT=p(()=>{by();Ty();kT();CC()});import{bech32 as X_}from"@scure/base";import{mnemonicToSeed as W_}from"@scure/bip39";import{Bip32PrivateKey as B_}from"@stricahq/bip32ed25519";import{Transaction as M_,types as $T,address as L_,crypto as PT,utils as AC}from"@stricahq/typhonjs";import{AssetValue as Ro,Chain as wo,getChainConfig as Q_,SwapKitError as Uy}from"@swapkit/helpers";import Wn from"bignumber.js";async function ET(n,y){let T=await fetch(`${qC}${n}`,{...y,headers:{project_id:wC,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function GC(n){try{return await ET(`/addresses/${n}/utxos`)}catch{return[]}}async function J_(){return(await ET("/blocks/latest")).slot}async function Y_(){let n=await ET("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Wn(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Wn(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Wn(n.min_fee_a),minFeeB:new Wn(n.min_fee_b),minFeeRefScriptCostPerByte:new Wn(15),priceMem:new Wn(n.price_mem),priceSteps:new Wn(n.price_step),stakeKeyDeposit:new Wn(2000000),utxoCostPerByte:new Wn(n.coins_per_utxo_size)}}async function UC(n){let y=await fetch(`${qC}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:wC},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function N_(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new Wn(o.quantity):new Wn(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Wn(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:T.output_index,tokens:t,txId:T.tx_hash}})}async function z_(n){try{let y=await GC(n),T=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:A,quantity:_}=H;if(A==="lovelace")T+=BigInt(_);else{let G=o.get(A)||0n;o.set(A,G+BigInt(_))}}}let f=[],{baseDecimal:t}=Q_(wo.Cardano);if(T>0n)f.push(Ro.from({chain:wo.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(Ro.from({asset:`${wo.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[Ro.from({chain:wo.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[Ro.from({chain:wo.Cardano})]}}function lC(n){if(!n||typeof n!=="string")return!1;try{let y=X_.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function D_(n,y=0,T=0){let o=await W_(n,""),t=(await B_.fromEntropy(Buffer.from(o.slice(0,64)))).derive(IT+1852).derive(IT+1815).derive(IT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),A=PT.hash28(H),G=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=PT.hash28(G),w={hash:A,type:$T.HashType.ADDRESS},X={hash:M,type:$T.HashType.ADDRESS},l=new L_.BaseAddress(Z_,w,X).getBech32(),Z=C.toPrivateKey();return{getAddress:()=>l,publicKey:H,publicKeyHash:A,signTransaction:async(z)=>{try{let L=await import("@stricahq/cbors"),N=Buffer.from(z,"hex"),J=L.Decoder.decode(N),[U,B,q,Y]=J.value,D=L.Encoder.encode(U),Q=PT.hash32(D),O=Z.sign(Q),R=B instanceof Map?B:new Map,S=R.get(_C)||[];S.push([H,O]),R.set(_C,S);let k=[U,R,q,Y];return L.Encoder.encode(k).toString("hex")}catch(L){throw new Uy("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function O_(n){let y,T,o;async function f(){if(!o)o=await Y_();return o}async function t(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let X=n.index??0;return y=await D_(n.phrase,0,X),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(T)return T;let X=await t();if(!X)return"";if("getAddress"in X)return T=await X.getAddress(),T;return""}async function H(X){let W=X||await C();if(!W)throw new Uy("core_wallet_connection_not_found");return z_(W)}async function A(X){if(X)try{let{tx:z}=await _(X),L=z.getFee();return Ro.from({chain:wo.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let W=await f(),l=400,Z=W.minFeeB.plus(W.minFeeA.times(l));return Ro.from({chain:wo.Cardano,fromBaseDecimal:6,value:Z.toString()})}async function _({sender:X="",recipient:W,assetValue:l,memo:Z,pureLovelaceOnly:z=!1}){let L=X||await C();if(!L)throw new Uy("core_wallet_connection_not_found");let[N,J,U]=await Promise.all([GC(L),J_(),f()]),B=N.filter((K)=>z?K.amount.every((V)=>V.unit==="lovelace"):K.amount.some((V)=>V.unit==="lovelace")).sort((K,V)=>{let yn=K.amount.some((Un)=>Un.unit!=="lovelace"),a=V.amount.some((Un)=>Un.unit!=="lovelace");if(yn===a)return 0;return yn?1:-1}),q=AC.getAddressFromString(L),Y=AC.getAddressFromString(W),D=N_(B,q),Q=new Wn(l.getBaseValue("string")),O=[{address:Y,amount:Q,tokens:[]}],R;if(Z){let K=new Map;K.set("msg",[Z]),R={metadata:[{data:K,label:674}]}}let S={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},I=new M_({protocolParams:S}).paymentTransaction({auxiliaryData:R,changeAddress:q,inputs:D,outputs:O,ttl:J+3600}),{payload:b}=I.buildTransaction();return{tx:I,unsignedTx:b}}async function G(X){let W=await t();if(!W||!("signTransaction"in W))throw new Uy("core_wallet_connection_not_found");return W.signTransaction(X)}async function M({recipient:X,assetValue:W,memo:l}){let Z=await t();if(!Z||!("signTransaction"in Z))throw new Uy("core_wallet_connection_not_found");let{unsignedTx:z}=await _({assetValue:W,memo:l,recipient:X,sender:await C()}),L=await G(z);return await UC(L)}async function w(X){let W=await G(X);return await UC(W)}return{createTransaction:_,estimateTransactionFee:A,getAddress:C,getBalance:H,signAndBroadcastTransaction:w,signTransaction:G,transfer:M,validateAddress:lC}}var wC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",qC="https://cardano-mainnet.blockfrost.io/api/v0",Z_,IT=2147483648,_C=0;var XC=p(()=>{Z_=$T.NetworkId.MAINNET});var bT={};nn(bT,{validateCardanoAddress:()=>lC,getCardanoToolbox:()=>O_});var vT=p(()=>{XC()});import{base64 as wf,bech32 as Uf}from"@scure/base";import{SwapKitError as R_}from"@swapkit/helpers";function wy(n){return wf.encode(Uint8Array.from(Uf.fromWords(Uf.decode(n).words)))}function qy(n,y="thor"){return Uf.encode(y,Uf.toWords(wf.decode(n)))}function x_(n){return wf.encode(n)}function F_(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new R_("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return wf.decode(n)}var VT=()=>{};import{AssetValue as jT,Chain as E,getChainConfig as Sn,getRPCUrl as p_,SwapKitError as WC}from"@swapkit/helpers";function vn(n){switch(n){case E.Maya:return{amount:[],gas:"10000000000"};case E.THORChain:return{amount:[],gas:"500000000"};case E.Kujira:return LC;case E.Noble:return QC;default:return MC}}async function Vn(n){let y=await import("@cosmjs/stargate"),T=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return T.connect({headers:o,url:n})}async function qo(n,y,T={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,t=o.GasPrice??o.default?.GasPrice,C=typeof T==="string"?T:"0.0003uatom",H=typeof T==="string"?{}:T;return f.connectWithSigner(n,y,{gasPrice:t.fromString(C),...H})}async function cT(n,y){let T=await import("@cosmjs/stargate");return(T.SigningStargateClient??T.default?.SigningStargateClient).offline(n,y)}async function iT({sender:n,recipient:y,assetValue:T,memo:o="",feeRate:f,sequence:t,accountNumber:C}){let{chain:H,chainId:A}=T,_=await p_(H),M=await(await Vn(_)).getAccount(n);if(!M)throw new WC("toolbox_cosmos_account_not_found",{sender:n});let w=jT.from({chain:H}),X=gn(w.symbol),W=vn(H),l=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:W.gas}:W,Z={amount:[{amount:T.getBaseValue("string"),denom:gn(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:A,fee:l,memo:o,msgs:[{typeUrl:S_(H),value:Z}],sequence:t??M.sequence}}var KT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",BC="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",MC,LC,QC,gn=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return KT;case"uYUM":case"YUM":return BC;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},Gy=({symbol:n,chain:y})=>{if(y===E.Maya)return(n.toUpperCase()!=="CACAO"?n:`${E.Maya}.${n}`).toUpperCase();if(y===E.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${E.THORChain}.${n}`:n).toUpperCase();return gn(n,!1)},S_=(n)=>{switch(n){case E.Maya:case E.THORChain:return"/types.MsgSend";case E.Cosmos:case E.Kujira:case E.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new WC("toolbox_cosmos_not_supported",{chain:n})}},k_,hT=(n,y)=>{let T=k_[n.toLowerCase()];if(!T)return jT.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:t}=T,C=o?{chain:o}:{asset:f};return jT.from({...C,fromBaseDecimal:t,value:y})};var ly=p(()=>{MC={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},LC={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},QC={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};k_={atom:{chain:E.Cosmos,decimals:Sn(E.Cosmos).baseDecimal},cacao:{chain:E.Maya,decimals:10},kuji:{chain:E.Kujira,decimals:Sn(E.Kujira).baseDecimal},maya:{asset:`${E.Maya}.${E.Maya}`,decimals:4},rune:{chain:E.THORChain,decimals:Sn(E.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Sn(E.THORChain).baseDecimal},uatom:{chain:E.Cosmos,decimals:Sn(E.Cosmos).baseDecimal},ukuji:{chain:E.Kujira,decimals:Sn(E.Kujira).baseDecimal},usdc:{chain:E.Noble,decimals:Sn(E.Noble).baseDecimal},uusdc:{chain:E.Noble,decimals:Sn(E.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Sn(E.THORChain).baseDecimal},[KT.toLowerCase()]:{asset:`${E.Kujira}.USK`,decimals:Sn(E.Kujira).baseDecimal}}});var ZC={};nn(ZC,{$root:()=>F});import on from"protobufjs/minimal.js";var P,Mn,u,F;var JC=p(()=>{P=on.Reader,Mn=on.Writer,u=on.util,F=on.roots.default||(on.roots.default={});F.common=(()=>{let n={};return n.Asset=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new F.common.Asset;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.chain=o.string();break;case 2:C.symbol=o.string();break;case 3:C.ticker=o.string();break;case 4:C.synth=o.bool();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!u.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!u.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!u.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Asset)return o;let f=new F.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.chain="",t.symbol="",t.ticker="",t.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))t.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))t.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))t.synth=o.synth;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=u.Long?u.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))F.common.Asset.encode(o.asset,f.uint32(10).fork()).ldelim();if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))f.uint32(18).string(o.amount);if(o.decimals!=null&&Object.hasOwnProperty.call(o,"decimals"))f.uint32(24).int64(o.decimals);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new F.common.Coin;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.asset=F.common.Asset.decode(o,o.uint32());break;case 2:C.amount=o.string();break;case 3:C.decimals=o.int64();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=F.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!u.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!u.isInteger(o.decimals)&&!(o.decimals&&u.isInteger(o.decimals.low)&&u.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Coin)return o;let f=new F.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=F.common.Asset.fromObject(o.asset)}if(o.amount!=null)f.amount=String(o.amount);if(o.decimals!=null){if(u.Long)(f.decimals=u.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new u.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)if(t.asset=null,t.amount="",u.Long){let C=new u.Long(0,0,!1);t.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else t.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))t.asset=F.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))t.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")t.decimals=f.longs===String?String(o.decimals):o.decimals;else t.decimals=f.longs===String?u.Long.prototype.toString.call(o.decimals):f.longs===Number?new u.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new F.common.PubKeySet;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.secp256k1=o.string();break;case 2:C.ed25519=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!u.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!u.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.PubKeySet)return o;let f=new F.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.secp256k1="",t.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))t.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))t.ed25519=o.ed25519;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(T){if(this.coins=[],this.gas=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=u.emptyArray,y.prototype.gas=u.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let t=0;t<o.coins.length;++t)F.common.Coin.encode(o.coins[t],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let t=0;t<o.gas.length;++t)F.common.Coin.encode(o.gas[t],f.uint32(50).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(58).string(o.memo);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new F.common.Tx;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.id=o.string();break;case 2:C.chain=o.string();break;case 3:C.fromAddress=o.string();break;case 4:C.toAddress=o.string();break;case 5:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(F.common.Coin.decode(o,o.uint32()));break;case 7:C.memo=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!u.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!u.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!u.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!u.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=F.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.gas!=null&&o.hasOwnProperty("gas")){if(!Array.isArray(o.gas))return"gas: array expected";for(let f=0;f<o.gas.length;++f){let t=F.common.Coin.verify(o.gas[f]);if(t)return"gas."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!u.isString(o.memo))return"memo: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Tx)return o;let f=new F.common.Tx;if(o.id!=null)f.id=String(o.id);if(o.chain!=null)f.chain=String(o.chain);if(o.fromAddress!=null)f.fromAddress=String(o.fromAddress);if(o.toAddress!=null)f.toAddress=String(o.toAddress);if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[t]=F.common.Coin.fromObject(o.coins[t])}}if(o.gas){if(!Array.isArray(o.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let t=0;t<o.gas.length;++t){if(typeof o.gas[t]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[t]=F.common.Coin.fromObject(o.gas[t])}}if(o.memo!=null)f.memo=String(o.memo);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[],t.gas=[];if(f.defaults)t.id="",t.chain="",t.fromAddress="",t.toAddress="",t.memo="";if(o.id!=null&&o.hasOwnProperty("id"))t.id=o.id;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=o.toAddress;if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.gas?.length){t.gas=[];for(let C=0;C<o.gas.length;++C)t.gas[C]=F.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=u.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)F.common.Coin.encode(o.coins[t],f.uint32(10).fork()).ldelim();if(o.poolDeduct!=null&&Object.hasOwnProperty.call(o,"poolDeduct"))f.uint32(18).string(o.poolDeduct);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new F.common.Fee;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.poolDeduct=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=F.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!u.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Fee)return o;let f=new F.common.Fee;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[t]=F.common.Coin.fromObject(o.coins[t])}}if(o.poolDeduct!=null)f.poolDeduct=String(o.poolDeduct);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults)t.poolDeduct="";if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))t.poolDeduct=o.poolDeduct;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new F.common.ProtoUint;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.value=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!u.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.ProtoUint)return o;let f=new F.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.value="";if(o.value!=null&&o.hasOwnProperty("value"))t.value=o.value;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},y})(),n})();F.types=(()=>{let n={};return n.MsgDeposit=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=u.emptyArray,y.prototype.memo="",y.prototype.signer=u.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)F.common.Coin.encode(o.coins[t],f.uint32(10).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(18).string(o.memo);if(o.signer!=null&&Object.hasOwnProperty.call(o,"signer"))f.uint32(26).bytes(o.signer);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new F.types.MsgDeposit;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.memo=o.string();break;case 3:C.signer=o.bytes();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=F.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!u.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||u.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof F.types.MsgDeposit)return o;let f=new F.types.MsgDeposit;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[t]=F.common.Coin.fromObject(o.coins[t])}}if(o.memo!=null)f.memo=String(o.memo);if(o.signer!=null){if(typeof o.signer==="string")u.base64.decode(o.signer,f.signer=u.newBuffer(u.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults){if(t.memo="",f.bytes===String)t.signer="";else if(t.signer=[],f.bytes!==Array)t.signer=u.newBuffer(t.signer)}if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))t.signer=f.bytes===String?u.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(T){if(this.amount=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.fromAddress=u.newBuffer([]),y.prototype.toAddress=u.newBuffer([]),y.prototype.amount=u.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let t=0;t<o.amount.length;++t)F.cosmos.base.v1beta1.Coin.encode(o.amount[t],f.uint32(26).fork()).ldelim();return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new F.types.MsgSend;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.fromAddress=o.bytes();break;case 2:C.toAddress=o.bytes();break;case 3:if(!C.amount?.length)C.amount=[];C.amount.push(F.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||u.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||u.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let t=F.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(t)return"amount."+t}}return null},y.fromObject=function(o){if(o instanceof F.types.MsgSend)return o;let f=new F.types.MsgSend;if(o.fromAddress!=null){if(typeof o.fromAddress==="string")u.base64.decode(o.fromAddress,f.fromAddress=u.newBuffer(u.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")u.base64.decode(o.toAddress,f.toAddress=u.newBuffer(u.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let t=0;t<o.amount.length;++t){if(typeof o.amount[t]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[t]=F.cosmos.base.v1beta1.Coin.fromObject(o.amount[t])}}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.amount=[];if(f.defaults){if(f.bytes===String)t.fromAddress="";else if(t.fromAddress=[],f.bytes!==Array)t.fromAddress=u.newBuffer(t.fromAddress);if(f.bytes===String)t.toAddress="";else if(t.toAddress=[],f.bytes!==Array)t.toAddress=u.newBuffer(t.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=f.bytes===String?u.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=f.bytes===String?u.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){t.amount=[];for(let C=0;C<o.amount.length;++C)t.amount[C]=F.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},y})(),n})();F.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let T={};return T.Coin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=Mn.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof P))t=P.create(t);let H=C===void 0?t.len:t.pos+C,A=new F.cosmos.base.v1beta1.Coin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof P))t=new P(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!u.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!u.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof F.cosmos.base.v1beta1.Coin)return t;let C=new F.cosmos.base.v1beta1.Coin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},o})(),T.DecCoin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=Mn.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof P))t=P.create(t);let H=C===void 0?t.len:t.pos+C,A=new F.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof P))t=new P(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!u.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!u.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof F.cosmos.base.v1beta1.DecCoin)return t;let C=new F.cosmos.base.v1beta1.DecCoin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},o})(),T.IntProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.int="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=Mn.create();if(t.int!=null&&Object.hasOwnProperty.call(t,"int"))C.uint32(10).string(t.int);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof P))t=P.create(t);let H=C===void 0?t.len:t.pos+C,A=new F.cosmos.base.v1beta1.IntProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.int=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof P))t=new P(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.int!=null&&t.hasOwnProperty("int")){if(!u.isString(t.int))return"int: string expected"}return null},o.fromObject=function(t){if(t instanceof F.cosmos.base.v1beta1.IntProto)return t;let C=new F.cosmos.base.v1beta1.IntProto;if(t.int!=null)C.int=String(t.int);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(t.int!=null&&t.hasOwnProperty("int"))H.int=t.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},o})(),T.DecProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.dec="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=Mn.create();if(t.dec!=null&&Object.hasOwnProperty.call(t,"dec"))C.uint32(10).string(t.dec);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof P))t=P.create(t);let H=C===void 0?t.len:t.pos+C,A=new F.cosmos.base.v1beta1.DecProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.dec=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof P))t=new P(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.dec!=null&&t.hasOwnProperty("dec")){if(!u.isString(t.dec))return"dec: string expected"}return null},o.fromObject=function(t){if(t instanceof F.cosmos.base.v1beta1.DecProto)return t;let C=new F.cosmos.base.v1beta1.DecProto;if(t.dec!=null)C.dec=String(t.dec);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(t.dec!=null&&t.hasOwnProperty("dec"))H.dec=t.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,on.util.toJSONOptions)},o})(),T})(),y})(),n})()});import{Chain as u_}from"@swapkit/helpers";async function Go(){let{$root:n}=await Promise.resolve().then(() => (JC(),ZC)),y=await import("@cosmjs/proto-signing"),T=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new T([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function dn(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===u_.THORChain?"thorchain":"mayachain";return new T({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...t})=>({...t,signer:wy(f)}),toAmino:({signer:f,...t})=>({...t,signer:qy(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:t,...C})=>({...C,fromAddress:wy(f),toAddress:wy(t)}),toAmino:({fromAddress:f,toAddress:t,...C})=>({...C,from_address:qy(f),to_address:qy(t)})}})}var mT=p(()=>{VT()});import{AssetValue as P_,Chain as qf,getChainConfig as YC,getRPCUrl as NC,SwapKitError as I_}from"@swapkit/helpers";function dT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return DC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return OC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function DC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let A=T.chain,_=await NC(A),G=await zC({rpcUrl:_,sender:n}),{chainId:M}=YC(A),w=rT({assetValue:T,recipient:y,sender:n}),X=f?await an(t?w:sn(w),A):w;return{accountNumber:H||G.accountNumber,chainId:M,fee:vn(A),memo:o,msgs:[X],sequence:C||G.sequence}}async function OC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,A=await NC(H),_=await zC({rpcUrl:A,sender:n}),{chainId:G}=YC(H),M=gT({assetValue:y,memo:T,sender:n}),w=o?await an(f?M:sn(M),H):M;return{accountNumber:C||_.accountNumber,chainId:G,fee:vn(H),memo:T,msgs:[w],sequence:t||_.sequence}}function sn(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let T=P_.from({asset:y.asset}),o=(T.isSynthetic?T.symbol.split("/")?.[1]:T.symbol)?.toUpperCase(),f=(T.isSynthetic?T.symbol.split("/")?.[0]:T.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:T.isSynthetic,ticker:T.ticker}}})}}}async function Xy({chain:n,memo:y,msgs:T}){let o=await Go(),f=await dn(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var $_,E_,rT=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===qf.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:gn(T.symbol,!0)}],from_address:n,to_address:y}}},gT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===qf.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:Gy(y)}],memo:T,signer:n}}},Gf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?gT({assetValue:T,memo:o,sender:n}):rT({assetValue:T,recipient:y,sender:n})},an=async(n,y)=>{return(await dn(y)).fromAmino(n)},zC=async({rpcUrl:n,sender:y})=>{let o=await(await Vn(n)).getAccount(y);if(!o)throw new I_("toolbox_cosmos_account_not_found",{sender:y});return o};var RC=p(()=>{ly();mT();$_=vn(qf.THORChain).gas,E_=vn(qf.Maya).gas});var xC=()=>{};var FC=p(()=>{xC()});var aT=p(()=>{VT();RC();mT();FC()});import{stringToPath as b_}from"@cosmjs/crypto";import{DirectSecp256k1HdWallet as v_}from"@cosmjs/proto-signing";import{base64 as nt,bech32 as sT}from"@scure/base";import{AssetValue as ot,applyFeeMultiplier as pC,Chain as Tn,CosmosChainPrefixes as $C,DerivationPath as V_,derivationPathToString as SC,FeeOption as yt,getChainConfig as j_,getRPCUrl as Wy,NetworkDerivationPath as K_,SwapKitError as xo,SwapKitNumber as eT,updateDerivationPath as c_}from"@swapkit/helpers";import{SwapKitApi as EC}from"@swapkit/helpers/api";import{match as i_,P as kC}from"ts-pattern";async function Tt(n,y){try{let o=(await EC.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function ft({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${V_[T.chain]}/${T.index}`;return await v_.fromMnemonic(n,{hdPaths:[b_(o)],prefix:y})}async function h_({privateKey:n,prefix:y}){let T=await import("@cosmjs/proto-signing");return(T.DirectSecp256k1Wallet??T.default?.DirectSecp256k1Wallet).fromKey(n,y)}function bC(n){return async function({signature:T,message:o,address:f}){let t=await n(f);if(!t?.pubkey)throw new xo("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,A=C.Secp256k1??C.default?.Secp256k1,_=H.fromFixedLength(nt.decode(T));return A.verifySignature(_,nt.decode(o),t.pubkey.value)}}function By({chain:n,...y}){let T=$C[n],o="index"in y?y.index||0:0,f=SC("derivationPath"in y&&y.derivationPath?y.derivationPath:c_(K_[n],{index:o})),t;async function C(){if(t)return t;return t=await i_(y).with({phrase:kC.string},({phrase:X})=>ft({derivationPath:f,phrase:X,prefix:T})).with({signer:kC.any},({signer:X})=>X).otherwise(()=>{return}),t}async function H(X){let W=await Wy(n);return(await Vn(W)).getAccount(X)}async function A(){let X=await C(),[W]=await X?.getAccounts()||[];return W?.address}async function _(){let X=await C(),[W]=await X?.getAccounts()||[];if(!W?.pubkey)throw new xo("toolbox_cosmos_signer_not_defined");return nt.encode(W?.pubkey)}async function G(X){let W=await C(),l=await A(),Z=await Wy(n);if(!(W&&l))throw new xo("toolbox_cosmos_signer_not_defined");return await(await qo(Z,W)).sign(l,X.msgs,X.fee,X.memo,{accountNumber:X.accountNumber,chainId:X.chainId,sequence:X.sequence})}async function M(X){let W=await C(),l=await A(),Z=await Wy(n);if(!(W&&l))throw new xo("toolbox_cosmos_signer_not_defined");let L=await(await qo(Z,W)).signAndBroadcast(l,X.msgs,X.fee,X.memo);if(L.code!==0)throw new xo("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function w({recipient:X,assetValue:W,memo:l="",feeRate:Z,feeOptionKey:z=yt.Fast}){let L=await C(),N=await A();if(!(L&&N))throw new xo("toolbox_cosmos_signer_not_defined");let J=await Wy(n),U=ot.from({chain:n}),B=Gy(U),q=Z||g_((await PC(n,uC[n]))[z],B),Y=await qo(J,L),D=gn(W.symbol),Q=[{amount:W.getBaseValue("string"),denom:D}],{transactionHash:O}=await Y.sendTokens(N,X,Q,q,l);return O}return{createPrivateKeyFromPhrase:a_(f),createTransaction:iT,fetchFeeRateFromSwapKit:Tt,getAccount:H,getAddress:A,getBalance:async(X,W)=>{let l=await IC(n)(X),Z=await Promise.all(l.filter(({denom:z})=>z&&!z.includes("IBC/")&&!([Tn.THORChain,Tn.Maya].includes(n)&&z.split("-").length>2)).map(({denom:z,amount:L})=>{let N=[Tn.THORChain,Tn.Maya].includes(n)&&(z.includes("/")||z.includes("˜"))?`${n}.${z}`:z;return hT(N,L)}));if(Z.length===0)return[ot.from({chain:n})];return Z},getBalanceAsDenoms:IC(n),getFees:()=>PC(n,uC[n]),getPubKey:_,getSignerFromPhrase:({phrase:X,derivationPath:W})=>ft({derivationPath:SC(W),index:o,phrase:X,prefix:T}),getSignerFromPrivateKey:async(X)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(X,T)},signAndBroadcastTransaction:M,signTransaction:G,transfer:w,validateAddress:vC(n),verifySignature:bC(H)}}async function m_(n,y){try{let o=(await EC.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function r_({assetValue:{chain:n}}){return ot.from({chain:n,value:d_(n)})}async function PC(n,y){let{chainId:T,baseDecimal:o}=j_(n),f=await Tt(T,y);return{average:eT.fromBigInt(BigInt(f),o),fast:eT.fromBigInt(BigInt(pC(f,yt.Fast,!0)),o),fastest:eT.fromBigInt(BigInt(pC(f,yt.Fastest,!0)),o)}}function g_(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function d_(n){return{[Tn.Cosmos]:0.007,[Tn.Kujira]:0.02,[Tn.Noble]:0.01,[Tn.THORChain]:0.02,[Tn.Maya]:0.02,[Tn.Harbor]:0.02}[n]||0}function vC(n){let y=$C[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=sT.decode(o);return sT.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function IC(n){return async function(T){let o=await Wy(n);return(await(await Vn(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function a_(n){return async function(T){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,t=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,A=o.Bip39??o.default?.Bip39,_=new H(T),G=await A.mnemonicToSeed(_),{privkey:M}=C.derivePath(t.Secp256k1,G,f(n));return M}}var uC;var lf=p(()=>{ly();uC={[Tn.Cosmos]:1000,[Tn.Kujira]:1000,[Tn.Noble]:1000,[Tn.THORChain]:5000000,[Tn.Maya]:5000000,[Tn.Harbor]:5000000}});import{base64 as lo}from"@scure/base";import{Chain as s_,CosmosChainPrefixes as e_,derivationPathToString as n5,FeeOption as tt,getChainConfig as o5,getRPCUrl as iC,NetworkDerivationPath as y5,RequestClient as f5,SKConfig as VC,SwapKitError as Fo,SwapKitNumber as jC,updateDerivationPath as T5}from"@swapkit/helpers";import{match as KC,P as cC}from"ts-pattern";function t5({prefix:n,derivationPath:y}){return async function(o,f=0){let t=await import("@cosmjs/amino"),C=t.Secp256k1HdWallet??t.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),A=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[A(`${y}/${f}`)],prefix:n})}}function C5(n){return lo.encode(n)}function H5(n){return async function({wallet:T,tx:o}){let{msgs:f,accountNumber:t,sequence:C,chainId:H,fee:A,memo:_}=typeof o==="string"?JSON.parse(o):o,G=(await T.getAccounts())?.[0]?.address||"",M=await dn(n),w=await Go(),X=await cT(T,{aminoTypes:M,registry:w}),W=[];for(let z of f){let L=await an(z,n);W.push(L)}let{signatures:[l]}=await X.sign(G,W,A,_,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await Xy({chain:n,memo:_,msgs:f.map(sn)}),signature:C5(l)}}}function A5({prefix:n,chain:y}){return async function(o,f,t,C,H){let A=await iC(y),{encodeSecp256k1Pubkey:_,pubkeyToAddress:G}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:X}=JSON.parse(o),W=await hC(t,C),l=f.map((L)=>[G(_(lo.decode(L.pubKey)),n),lo.decode(L.signature)]),Z=await Vn(A),{transactionHash:z}=await Z.broadcastTx(M(W,w,X,H,new Map(l)));return z}}async function hC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(lo.decode(t))),y,T)}function _5(n){return lo.decode(n)}async function U5({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(lo.decode(y),n);return lo.encode(Buffer.concat([o.r(32),o.s(32)]))}function Ct({chain:n,...y}){let{isStagenet:T}=VC.get("envs"),o=VC.get("thornodeUrls"),f=n===s_.Maya,t=KC({isMayachain:f,isStagenet:T}).with({isMayachain:!0},({isStagenet:L})=>L?o.MAYA_STAGENET:o.MAYA).otherwise(({isStagenet:L})=>L?o.THOR_STAGENET:o.THOR),C=`${T?"s":""}${e_[n]}`,H="index"in y?y.index||0:0,A="derivationPath"in y&&y.derivationPath?y.derivationPath:T5(y5[n],{index:H}),_=By({chain:n,...y}),G=vn(n),M;function w(){return M??=KC(y).with({phrase:cC.string},({phrase:L})=>_.getSignerFromPhrase({derivationPath:A,phrase:L})).with({signer:cC.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function X(){let L=await iC(n),N=await w();if(!N)throw new Fo("toolbox_cosmos_no_signer");let J=await Go(),U=await dn(n),B=await qo(L,N,{aminoTypes:U,registry:J});return{signer:N,signingClient:B}}async function W({fee:L,memo:N,msgs:J}){let{signer:U,signingClient:B}=await X(),q=(await U.getAccounts())?.[0]?.address;if(!q)throw new Fo("toolbox_cosmos_signer_not_defined");let Y=await B.signAndBroadcast(q,J,L,N);if(Y.code!==0)throw new Fo("core_swap_transaction_error",{code:Y.code,message:Y.rawLog});return Y.transactionHash}async function l(){let L,N=`${t}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:J}}=await f5.get(N);if(!J||Number.isNaN(J)||J<0)throw new Fo("toolbox_cosmos_invalid_fee",{nativeFee:J.toString()});L=new jC(J)}catch{L=new jC({decimal:o5(n).baseDecimal,value:f?1:0.02})}return{[tt.Average]:L,[tt.Fast]:L,[tt.Fastest]:L}}async function Z({assetValue:L,memo:N="",recipient:J}){let{TxRaw:U}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:B,signingClient:q}=await X(),Y=(await B.getAccounts())?.[0]?.address;if(!Y)throw new Fo("toolbox_cosmos_no_signer");let D="signAmino"in B,Q=Gf({assetValue:L,memo:N,recipient:J,sender:Y});if(D){let S=await an(Q,n),{signatures:k,authInfoBytes:I}=await q.sign(Y,[S],G,N),b=U.encode({authInfoBytes:I,bodyBytes:await Xy({chain:n,memo:N,msgs:[Q].map(sn)}),signatures:k}).finish();return(await q.broadcastTx(b)).transactionHash}let O=sn(Q),R=await an(O,n);return W({fee:G,memo:N,msgs:[R]})}async function z(L){let{signer:N,signingClient:J}=await X(),U=(await N.getAccounts())?.[0]?.address;if(!U)throw new Fo("toolbox_cosmos_signer_not_defined");return J.sign(U,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{..._,broadcastMultisigTx:A5({chain:n,prefix:C}),buildAminoMsg:Gf,buildEncodedTxBody:Xy,convertToSignable:an,createDefaultAminoTypes:()=>dn(n),createDefaultRegistry:Go,createMultisig:hC,createTransaction:dT,deposit:Z,getFees:l,importSignature:_5,parseAminoMessageForDirectSigning:sn,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(L,C)},secp256k1HdWalletFromMnemonic:t5({derivationPath:n5(A),prefix:C}),signAndBroadcastTransaction:W,signMultisigTx:H5(n),signTransaction:z,signWithPrivateKey:U5,transfer:Z}}var Ht=p(()=>{aT();ly();lf()});import{Chain as My,SwapKitError as w5}from"@swapkit/helpers";var q5=(n,y)=>{switch(n){case My.Cosmos:case My.Kujira:case My.Noble:return By({chain:n,...y});case My.Maya:case My.THORChain:return Ct({chain:n,...y});default:throw new w5("toolbox_cosmos_not_supported",{chain:n})}};var mC=p(()=>{lf();Ht();lf();Ht()});var Xf={};nn(Xf,{verifySignature:()=>bC,transferMsgAmino:()=>rT,toBase64:()=>x_,parseAminoMessageForDirectSigning:()=>sn,getSignerFromPrivateKey:()=>h_,getSignerFromPhrase:()=>ft,getMsgSendDenom:()=>gn,getFeeRateFromSwapKit:()=>m_,getDenomWithChain:()=>Gy,getDefaultChainFee:()=>vn,getCosmosToolbox:()=>q5,getCosmosAddressValidator:()=>vC,getAssetFromDenom:()=>hT,fromBase64:()=>F_,fetchFeeRateFromSwapKit:()=>Tt,estimateTransactionFee:()=>r_,depositMsgAmino:()=>gT,createTransaction:()=>dT,createThorchainToolbox:()=>Ct,createStargateClient:()=>Vn,createSigningStargateClient:()=>qo,createOfflineStargateClient:()=>cT,createDefaultRegistry:()=>Go,createDefaultAminoTypes:()=>dn,createCosmosToolbox:()=>By,cosmosCreateTransaction:()=>iT,convertToSignable:()=>an,buildTransferTx:()=>DC,buildEncodedTxBody:()=>Xy,buildDepositTx:()=>OC,buildAminoMsg:()=>Gf,bech32ToBase64:()=>wy,base64ToBech32:()=>qy,YUM_KUJIRA_FACTORY_DENOM:()=>BC,USK_KUJIRA_FACTORY_DENOM:()=>KT,THORCHAIN_GAS_VALUE:()=>$_,MAYA_GAS_VALUE:()=>E_,DEFAULT_NOBLE_FEE_MAINNET:()=>QC,DEFAULT_KUJI_FEE_MAINNET:()=>LC,DEFAULT_COSMOS_FEE_MAINNET:()=>MC});var Wf=p(()=>{aT();mC();ly()});function G5({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function l5({cancels:n}){return{cancels:n,type:"cancel"}}function X5({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function W5({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function B5({modifies:n}){return{modifies:n,type:"batchModify"}}function M5({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function L5({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function Q5({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function Z5({time:n}){return{time:n,type:"scheduleCancel"}}function J5({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function Y5({amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A}){return{amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A,type:"sendAsset"}}function N5({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function z5({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function D5({hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,validator:f,wei:t}){return{hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,type:"tokenDelegate",validator:f,wei:t}}import{SwapKitError as At}from"@swapkit/helpers";import{keccak256 as O5,Signature as R5}from"ethers";function ln(...n){let y=n.reduce((f,t)=>f+t.length,0),T=new Uint8Array(y),o=0;for(let f of n)T.set(f,o),o+=f.length;return T}function u5(n,y,T){if(T<y)return new Uint8Array([n+T]);if(T<=255)return new Uint8Array([n+y,T]);if(T<=65535)return new Uint8Array([n+y+1,T>>8,T&255]);return new Uint8Array([n+y+2,T>>>24&255,T>>>16&255,T>>>8&255,T&255])}function en(n,y){let T=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)T[f]=Number(o&0xffn),o>>=8n;return T}function rC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return ln(new Uint8Array([205]),en(n,2));if(n<=0xffffffffn)return ln(new Uint8Array([206]),en(n,4));return ln(new Uint8Array([207]),en(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return ln(new Uint8Array([209]),en(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return ln(new Uint8Array([210]),en(BigInt.asUintN(32,n),4));return ln(new Uint8Array([211]),en(BigInt.asUintN(64,n),8))}function aC(n){let y=k5.encode(n);if(y.length<32)return ln(new Uint8Array([160+y.length]),y);return ln(u5(217,0,y.length),y)}function P5(n){let y=n.map((o)=>_t(o)),T=n.length<16?new Uint8Array([144+n.length]):n.length<=65535?new Uint8Array([220,n.length>>8,n.length&255]):new Uint8Array([221,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return ln(T,...y)}function I5(n){let y=Object.entries(n).filter(([,o])=>typeof o<"u"),T=y.length<16?new Uint8Array([128+y.length]):y.length<=65535?new Uint8Array([222,y.length>>8,y.length&255]):new Uint8Array([223,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return ln(T,...y.flatMap(([o,f])=>[aC(o),_t(f)]))}function _t(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return aC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new At("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return rC(BigInt(n))}if(typeof n==="bigint")return rC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return ln(y,n)}if(Array.isArray(n))return P5(n);if(typeof n==="object")return I5(n);throw new At("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function $5(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new At("helpers_invalid_params",{hexValue:n});let T=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)T[o/2]=Number.parseInt(y.slice(o,o+2),16);return T}function sC(n){return{domain:x5,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...F5.Agent]}}}function eC(n){let y=S5[n.type],T=p5[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:gC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||dC},primaryType:y,types:{[y]:T}}}function n1(n){let y=R5.from(n);return{r:y.r,s:y.s,v:y.v}}function o1(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=_t(n),t=en(BigInt(y),8),C=o?ln(new Uint8Array([1]),$5(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?ln(new Uint8Array([0]),en(BigInt(T),8)):new Uint8Array;return O5(ln(f,t,C,H))}function y1(n){let y=n.hyperliquidChain||dC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var gC="0x0000000000000000000000000000000000000000",x5,F5,dC="Mainnet",p5,S5,k5;var f1=p(()=>{x5={chainId:1337,name:"Exchange",verifyingContract:gC,version:"1"},F5={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},p5={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"}]},S5={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},k5=new TextEncoder});import{AssetValue as qt,Chain as E5,derivationPathToString as b5,getChainConfig as C1,getRPCUrl as v5,NetworkDerivationPath as V5,RequestClient as po,SwapKitError as So,updateDerivationPath as j5}from"@swapkit/helpers";import{HDNodeWallet as K5}from"ethers";import{match as c5,P as Ut}from"ts-pattern";function Yn(n,y){if(!lt(n))throw new So(y,{address:n});return n.toLowerCase()}async function Xo(n){let y=await Bf();return po.post(`${y}/info`,{json:n})}function a5({dex:n,user:y}){return Xo({...n?{dex:n}:{},type:"clearinghouseState",user:Yn(y,"helpers_invalid_params")})}function s5({user:n}){return Xo({type:"spotClearinghouseState",user:Yn(n,"helpers_invalid_params")})}function e5({dex:n,user:y}){return Xo({...n?{dex:n}:{},type:"openOrders",user:Yn(y,"helpers_invalid_params")})}function n2({dex:n,user:y}){return Xo({...n?{dex:n}:{},type:"frontendOpenOrders",user:Yn(y,"helpers_invalid_params")})}function o2({oidOrCloid:n,user:y}){return Xo({oid:n,type:"orderStatus",user:Yn(y,"helpers_invalid_params")})}function y2({aggregateByTime:n,user:y}){return Xo({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:Yn(y,"helpers_invalid_params")})}function f2({aggregateByTime:n,endTime:y,startTime:T,user:o}){return Xo({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:Yn(o,"helpers_invalid_params")})}function T1({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=i5[f]||H1,C=o?.tokens?.find((A)=>A.name===n||y!==void 0&&A.index===Number(y)),H=C?`${kn}.${f}-${C.name}:${C.tokenId}`:`${kn}.${f}`;return new qt({decimal:t,identifier:H,value:T})}function T2(n){let y=new Map;for(let T of n){let o=T.toString({includeSynthProtocol:!0}),f=y.get(o);y.set(o,f?f.add(T):T)}if(![...y.values()].some((T)=>T.isGasAsset||T.ticker==="HYPE")){let T=qt.from({chain:kn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Bf(){try{return await v5(kn)}catch{let[n]=C1(kn).rpcUrls;if(!n)throw new So("helpers_chain_no_public_or_set_rpc_url",{chain:kn});return n}}async function Gt(){return`${await Bf()}/exchange`}function t2(n){let y=d5[n.type],{type:T,...o}=n,f=g5[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:r5,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function A1({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?Yn(o,"helpers_invalid_params"):void 0,C=await Gt(),H=o1(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:sC(H),vaultAddress:t}}async function _1({action:n,nonce:y,signatureChainId:T}){let o=y||n.nonce||Date.now(),f=T||n.signatureChainId||"0xa4b1",t=y1({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await Gt(),nonce:o,typedData:eC(t)}}async function wt({assetValue:n,recipient:y,sender:T,signatureChainId:o,time:f}){let t=Yn(y,"core_transaction_invalid_recipient_address"),C=Yn(T,"core_transaction_invalid_sender_address"),H=await Gt(),A=n.getValue("string"),_=f||Date.now(),G=n.address;if(!G)throw new So("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:A,destination:t,hyperliquidChain:h5,signatureChainId:o||m5,time:_,token:G,type:"spotSend"};return{action:M,endpoint:H,nonce:_,typedData:t2(M)}}async function t1(n){let y=await po.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new So("core_transaction_failed",{response:y});return y}async function C2(n,y){let T=await Bf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((t)=>setTimeout(t,1000));try{let t=await po.post(`${T}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(t)?t.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function lt(n){return n.startsWith("0x")&&Hy(n)}function H2(n){let y=qn(kn),T=n&&"index"in n?n.index||0:0,o=b5(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:j5(V5[kn],{index:T})),f,t=!1;function C(){if(t)return f;return f=c5(n).with({phrase:Ut.string},({phrase:w})=>{return K5.fromPhrase(w,void 0,o)}).with({signer:Ut.not(Ut.nullish)},({signer:w})=>w).otherwise(()=>{return}),t=!0,f}async function H(){let w=C();return w?await w.getAddress():""}async function A(w){let X=C();if(!X)throw new So("toolbox_hypercore_no_signer");let W=await X.signTypedData(w.typedData.domain,w.typedData.types,w.typedData.message);return{action:w.action,endpoint:w.endpoint,nonce:w.nonce,signature:n1(W),..."expiresAfter"in w?{expiresAfter:w.expiresAfter}:{},..."vaultAddress"in w?{vaultAddress:w.vaultAddress}:{}}}async function _(w){let X=Yn(w,"helpers_invalid_params");try{let W=await Bf(),[l,Z,z]=await Promise.all([po.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:X}}),po.post(`${W}/info`,{json:{type:"clearinghouseState",user:X}}),po.post(`${W}/info`,{json:{type:"spotMeta"}})]),L=(l.spotState?.balances||l.balances||[]).map(({coin:J,token:U,total:B})=>T1({coin:J,spotMeta:z,token:U,value:B})).filter((J)=>!!J),N=T1({coin:"USDC",spotMeta:z,value:Z.withdrawable||Z.marginSummary?.accountValue||Z.marginSummary?.totalRawUsd});return T2(N?[...L,N]:L)}catch{return y(X)}}async function G(w){let X=C();if(!X)throw new So("toolbox_hypercore_no_signer");let W=w.sender||await X.getAddress(),l=await wt({...w,feeRate:0,sender:W}),Z=await A(l);return await t1(Z),C2(W,l.nonce)}function M(){return qt.from({chain:kn,value:0})}return{broadcastTransaction:t1,createL1ActionRequest:A1,createTransaction:wt,createUserSignedActionRequest:_1,estimateTransactionFee:M,getAddress:H,getBalance:_,getState:{clearinghouse:a5,frontendOpenOrders:n2,openOrders:e5,orderStatus:o2,spotClearinghouse:s5,userFills:y2,userFillsByTime:f2},signTransaction:A,transfer:G,validateAddress:lt}}var kn,H1,i5,h5="Mainnet",m5="0xa4b1",r5="0x0000000000000000000000000000000000000000",g5,d5;var U1=p(()=>{uT();En();f1();kn=E5.HyperCore,{baseDecimal:H1}=C1(kn),i5={HYPE:H1,USDC:6,USDT:6},g5={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},d5={spotSend:"HyperliquidTransaction:SpotSend"}});var Xt={};nn(Xt,{validateHyperCoreAddress:()=>lt,getHyperCoreToolbox:()=>H2,createUserSignedActionRequest:()=>_1,createTransaction:()=>wt,createL1ActionRequest:()=>A1,buildUsdClassTransferAction:()=>J5,buildUpdateLeverageAction:()=>M5,buildUpdateIsolatedMarginAction:()=>L5,buildTopUpIsolatedOnlyMarginAction:()=>Q5,buildTokenDelegateAction:()=>D5,buildSendAssetAction:()=>Y5,buildScheduleCancelAction:()=>Z5,buildOrderAction:()=>G5,buildModifyAction:()=>W5,buildCancelByCloidAction:()=>X5,buildCancelAction:()=>l5,buildBatchModifyAction:()=>B5,buildApproveBuilderFeeAction:()=>z5,buildApproveAgentAction:()=>N5});var Wt=p(()=>{U1()});import{PublicKey as no}from"@solana/web3.js";import{AssetValue as Mf,Chain as Kn,DerivationPath as A2,derivationPathToString as _2,getChainConfig as l1,getRPCUrl as U2,NetworkDerivationPath as w2,SwapKitError as ko,updateDerivationPath as q2}from"@swapkit/helpers";import{match as G2,P as w1}from"ts-pattern";async function X1(n){let y=Mf.from({address:n,chain:Kn.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let T=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(T);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function l2(n){let y=await jn(),{PublicKey:T}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new T(n),{baseDecimal:t}=l1(Kn.Solana),C=await y.getBalance(f),H=[Mf.from({chain:Kn.Solana,fromBaseDecimal:t,value:C||0})],A=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:_}of A.value){let G=_.data.parsed.info,M=G.mint,w=G.tokenAmount.amount;if(Number(w)===0)continue;let X=await X1(M),W=X?.symbol||"UNKNOWN",l=X?.decimals||G.tokenAmount.decimals;H.push(Mf.from({asset:`${Kn.Solana}.${W}-${M}`,fromBaseDecimal:l,value:w}))}return H}function Mt(n){try{let y=new no(n);return no.isOnCurve(y.toBytes())}catch{return!1}}function X2(n){let y=n&&"index"in n?n.index||0:0,T=_2(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:q2(w2[Kn.Solana],{index:y})),o;async function f(){if(o)return o;return o=await G2(n).with({phrase:w1.string},({phrase:C})=>Bt({derivationPath:T,phrase:C})).with({signer:w1.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?G1(C.publicKey):""}return{broadcastTransaction:Lf(jn),createKeysForPath:Bt,createTransaction:Lt(jn),createTransactionFromInstructions:L2,estimateTransactionFee:W2(jn),getAddress:t,getAddressFromPubKey:G1,getBalance:qn(Kn.Solana),getBalanceFromRPC:l2,getConnection:jn,getPubkeyFromAddress:(C)=>new no(C),signAndBroadcastTransaction:async(C)=>{let H=await q1(jn,f)(C);return Lf(jn)(H)},signTransaction:q1(jn,f),transfer:Q2(jn,f),validateAddress:Mt}}function W2(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),A=(await Lt(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),_=await C.getFeeForMessage(A);if(_.value===null)throw new ko("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:G}=l1(Kn.Solana);return Mf.from({chain:Kn.Solana,fromBaseDecimal:G,value:_.value})}}async function jn(){let{Connection:n}=await import("@solana/web3.js"),y=await U2(Kn.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(T,o,f)=>{let t={};for(let[C,H]of Object.entries(o?.headers??{})){let A=C.toLowerCase();if(A!=="pragma"&&A!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function B2(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new no(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:A}=await import("@solana/web3.js");return new H().add(A.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new no(T)}))}if(y.address)return M2({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function M2({tokenAddress:n,recipient:y,from:T,connection:o,amount:f,decimals:t,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:A,createAssociatedTokenAccountInstruction:_,createTransferCheckedInstruction:G}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),w=new M,X=new no(n),W=await H(X,T),l=new no(y),Z=await H(X,l,C),z=!1;try{await A(o,Z),z=!0}catch{}if(!z)w.add(_(T,Z,l,X));return w.add(G(W,X,Z,T,f,t)),w}function Lt(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new no(t);if(!(f||Mt(y)))throw new ko("core_transaction_invalid_recipient_address");let A=await n(),_=await B2(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!_)throw new ko("core_transaction_invalid_sender_address");if(o)_.add(C(o));let G=await A.getLatestBlockhash();return _.recentBlockhash=G.blockhash,_.feePayer=H,_}}async function L2({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),T=new y().add(...n);if(!T)throw new ko("core_transaction_invalid_sender_address");return T}function Q2(n,y){return async({recipient:T,assetValue:o,memo:f,isProgramDerivedAddress:t})=>{let C=await y();if(!C)throw new ko("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),A=await Lt(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let _=await C.signTransaction(A);return Lf(n)(_)}return A.sign(C),Lf(n)(A)}}function Lf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function q1(n,y){return async(T)=>{let o=await y();if(!o)throw new ko("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(T instanceof f)){let C=await(await n()).getLatestBlockhash();T.recentBlockhash=C.blockhash,T.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(T);return T.sign([o]),T}}async function Bt({phrase:n,derivationPath:y=A2.SOL}){let{HDKey:T}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),t=o(n),C=T.fromMasterSeed(t);return f.fromSeed(C.derive(y,!0).privateKey)}function G1(n){return n.toString()}var W1=p(()=>{En()});var Qt={};nn(Qt,{validateSolanaAddress:()=>Mt,getSolanaToolbox:()=>X2,fetchTokenMetaData:()=>X1,createKeysForPath:()=>Bt});var Zt=p(()=>{W1()});import{AssetValue as Qf,Chain as Zf,DerivationPath as M1,derivationPathToString as Z2,getChainConfig as J2,getRPCUrl as Nt,NetworkDerivationPath as Y2,SwapKitError as Ln,updateDerivationPath as N2}from"@swapkit/helpers";import{match as Jt,P as uo}from"ts-pattern";function Jf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Yf({phrase:n,derivationPath:y=M1.STRK}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:t,encode:C,CallData:H}=await import("starknet"),A=o(n),G=T.fromMasterSeed(A).derive(y);if(!G.privateKey)throw new Ln("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(G.privateKey).toString("hex")),w=f.starkCurve.grindKey(M),X=C.addHexPrefix(w),W=f.starkCurve.getStarkKey(X),l=H.compile([W,0]);return{address:t.calculateContractAddressFromHash(W,zt,l,0),privateKey:X,publicKey:W}}async function Dt({phrase:n,derivationPath:y=M1.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Yf({derivationPath:y,phrase:n}),C=await Nt(Zf.Starknet),H=new o({nodeUrl:C});return new T({address:t,provider:H,signer:f})}function L1(n){let y=Zf.Starknet,T=n&&"index"in n?n.index||0:0,o=Z2(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:N2(Y2[y],{index:T})),f,t,C;async function H(){if(t)return t;let{RpcProvider:U}=await import("starknet"),B=await Nt(y);return t=new U({nodeUrl:B}),t}async function A(U){let B=await H(),q=U||await w();if(!q)return!1;try{return await B.getClassHashAt(q),!0}catch(Y){if(Y instanceof Error&&Y.message.includes("Contract not found"))return!1;let D=Y;if(D?.code===20||D?.code===19)return!1;throw Y}}async function _(){let{CallData:U,hash:B}=await import("starknet"),q=await H(),Y=await M();if(!Y)throw new Ln("toolbox_starknet_no_signer");if(!C)throw new Ln({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await A())return Y.address;let Q=U.compile([C,0]);if(B.calculateContractAddressFromHash(C,zt,Q,0).toLowerCase()!==Y.address.toLowerCase())throw new Ln({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let R={addressSalt:C,classHash:zt,constructorCalldata:Q},{transaction_hash:S}=await Y.deployAccount(R);return await q.waitForTransaction(S),S}async function G(){if(!await A()){if(!C)throw new Ln({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await _()}}async function M(){if(f)return f;return f=await Jt(n).with({phrase:uo.string},async({phrase:U})=>{let{Account:B,RpcProvider:q}=await import("starknet"),{privateKey:Y,address:D,publicKey:Q}=await Yf({derivationPath:o,phrase:U});C=Q;let O=await Nt(Zf.Starknet),R=new q({nodeUrl:O});return new B({address:D,provider:R,signer:Y})}).with({address:uo.string,privateKey:uo.string},async({privateKey:U,address:B})=>{let{Account:q}=await import("starknet"),Y=await H();return new q({address:B,provider:Y,signer:U})}).with({signer:uo.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function w(){return(await M())?.address??""}async function X(U){let B=await H(),{uint256:q,CallData:Y}=await import("starknet"),D=[],Q=[Yt,B1];for(let O of Q)try{let[R="0",S="0"]=await B.callContract({calldata:Y.compile({account:U}),contractAddress:O,entrypoint:"balanceOf"}),k=q.uint256ToBN({high:R,low:S});Jt(O).with(Yt,()=>{D.push(Qf.from({chain:y,value:k}))}).with(B1,()=>{if(k>0n)D.push(Qf.from({asset:`${y}.ETH-${O}`,value:k}))}).otherwise(()=>{})}catch{}return D}async function W({recipient:U,assetValue:B}){let{CallData:q,uint256:Y}=await import("starknet");if(!Jf(U))throw new Ln("core_transaction_invalid_recipient_address",{address:U});let D=B.isGasAsset?Yt:B.address;if(!D)throw new Ln("toolbox_starknet_invalid_address",{address:D,assetValue:B});let Q=Y.bnToUint256(B.getBaseValue("bigint"));return[{calldata:q.compile([U,Q]),contractAddress:D,entrypoint:"transfer"}]}async function l({recipient:U,assetValue:B,sender:q}){let{baseDecimal:Y}=J2(Zf.Starknet),D=await M(),Q=await Jt({sender:q,signer:D}).with({sender:uo.string},async({sender:O})=>{let{Account:R}=await import("starknet"),S=await H();return new R({address:O,provider:S,signer:"0x0"})}).with({signer:uo.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new Ln({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await W({assetValue:B,recipient:U}),R=await Q.estimateInvokeFee(O);if(R?.overall_fee)return Qf.from({chain:y,fromBaseDecimal:Y,value:R.overall_fee})}catch(O){throw new Ln("toolbox_starknet_fee_estimation_failed",O)}return Qf.from({chain:y,value:"0.00001"})}async function Z({recipient:U,assetValue:B,memo:q}){let Y=await M();if(!Y)throw new Ln("toolbox_starknet_no_signer");await G();let D=await W({assetValue:B,memo:q,recipient:U});return(await Y.execute(D)).transaction_hash}async function z(U){let B=await M();if(!B)throw new Ln("toolbox_starknet_no_signer");let q=await B.signMessage(U);return Array.isArray(q)?q:[q.r.toString(),q.s.toString()]}async function L(U){let B=await M();if(!B)throw new Ln("toolbox_starknet_no_signer");return await G(),(await B.execute(U)).transaction_hash}function N(U){return L(U)}function J(U,B=!0){try{return qn(y)(U,B)}catch{return X(U)}}return{broadcastTransaction:L,createKeysForPath:Dt,createTransaction:W,deployAccount:_,estimateTransactionFee:l,getAddress:w,getBalance:J,getProvider:H,isAccountDeployed:A,signAndBroadcastTransaction:N,signMessage:z,transfer:Z,validateAddress:Jf}}var Yt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",B1="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",zt="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var Q1=p(()=>{En()});var Nf={};nn(Nf,{validateStarknetAddress:()=>Jf,starknetCreateKeysForPath:()=>Dt,getStarknetToolbox:()=>L1,deriveStarknetKeys:()=>Yf});var zf=p(()=>{Q1()});import{isValidSuiAddress as z2}from"@mysten/sui/utils";import{AssetValue as Po,Chain as Df,getChainConfig as D2,SwapKitError as Nn}from"@swapkit/helpers";import{match as O2,P as Z1}from"ts-pattern";async function Y1(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?Y1(n,y,T,C,t.nextCursor):C}function R2(n,y,T){let o=y.reduce((A,_)=>A+BigInt(_.balance),0n);if(o<T)throw new Nn("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((A,_)=>{if(A.total>=T)return A;return{ids:[...A.ids,_.coinObjectId],total:A.total+BigInt(_.balance)}},{ids:[],total:0n}),t=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(t,C);let[H]=n.splitCoins(t,[T]);return H}function N1(n){try{return z2(n)}catch{return!1}}function J1(n){return"signWithIntent"in n}function x2({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await O2(y).with({phrase:Z1.string},async({phrase:W})=>{let{Ed25519Keypair:l}=await import("@mysten/sui/keypairs/ed25519");return l.deriveKeypair(W)}).with({signer:Z1.any},({signer:W})=>W).otherwise(()=>{return}),T}async function f(W=n){let{SuiClient:l,getFullnodeUrl:Z}=await import("@mysten/sui/client");return new l({url:W||Z("mainnet")})}async function t(){return(await o())?.toSuiAddress()||""}function C(W){try{let l=Po.from({address:W,chain:Df.Sui});return{asset:l.toString(),decimals:l.decimal}}catch{}return null}async function H(W){let l=W||await t();if(!l)throw new Nn("toolbox_sui_address_required");let{baseDecimal:Z,chain:z}=D2(Df.Sui);try{let L=await f(),{totalBalance:N}=await L.getBalance({owner:l}),J=[Po.from({chain:z,fromBaseDecimal:Z,value:N})],U=await L.getAllBalances({owner:l});for(let{coinType:B,totalBalance:q}of U){if(B==="0x2::sui::SUI"||Number(q)<=0)continue;let Y=C(B);if(Y)J.push(Po.from({asset:Y.asset,fromBaseDecimal:Y.decimals,value:q}))}return J}catch{return[Po.from({chain:z})]}}async function A(W){let l=Po.from({chain:Df.Sui,value:"0.01"});if(!W)return l;try{let Z=await f(),{txBytes:z}=await _(W),{effects:{status:L,gasUsed:N}}=await Z.dryRunTransactionBlock({transactionBlock:z});if(L.status!=="success")return l;let J=Number(N.computationCost)+Number(N.storageCost)-Number(N.storageRebate);return Po.from({chain:Df.Sui,value:J.toString()})}catch{return l}}async function _({recipient:W,assetValue:l,gasBudget:Z,sender:z}){let{Transaction:L}=await import("@mysten/sui/transactions"),N=z||await t();if(!N)throw new Nn("toolbox_sui_no_sender");try{let J=new L;if(J.setSender(N),l.isGasAsset||l.symbol==="SUI"){let[q]=J.splitCoins(J.gas,[l.getBaseValue("string")]);J.transferObjects([q],W)}else{let q=l.address;if(!q)throw new Nn("toolbox_sui_missing_coin_type");let Y=await f(),D=l.getBaseValue("bigint"),Q=await Y1(Y,N,q);if(!Q.length)throw new Nn("toolbox_sui_no_coins_found",{coinType:q});let O=R2(J,Q,D);J.transferObjects([O],W)}if(Z)J.setGasBudget(Z);let U=await f(),B=await J.build({client:U});return{tx:J,txBytes:B}}catch(J){if(J instanceof Nn)throw J;throw new Nn("toolbox_sui_transaction_creation_error",{error:J})}}async function G(W){let l=await o();if(!l)throw new Nn("toolbox_sui_no_signer");if(W instanceof Uint8Array)return l.signTransaction(W);let{txBytes:Z}="tx"in W?W:await _(W);return l.signTransaction(Z)}async function M({assetValue:W,gasBudget:l,recipient:Z}){let z=await o();if(!z)throw new Nn("toolbox_sui_no_signer");let L=z.toSuiAddress()||await t();if(!L)throw new Nn("toolbox_sui_no_sender");let{txBytes:N}=await _({assetValue:W,gasBudget:l,recipient:Z,sender:L}),J=await f();if(!J1(z)){let B=await z.signTransaction(N),{digest:q}=await J.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return q}let{digest:U}=await J.signAndExecuteTransaction({signer:z,transaction:N});return U}async function w(W){let l=await f(),{digest:Z}=await l.executeTransactionBlock({signature:W.signature,transactionBlock:W.bytes});return Z}async function X(W){let l=await o();if(!l)throw new Nn("toolbox_sui_no_signer");let Z=await f(),z;if(typeof W==="string")z=Uint8Array.from(Buffer.from(W,"base64"));else if(W instanceof Uint8Array)z=W;else z=await W.build({client:Z});if(!J1(l)){let N=await l.signTransaction(z),{digest:J}=await Z.executeTransactionBlock({signature:N.signature,transactionBlock:N.bytes});return J}let{digest:L}=await Z.signAndExecuteTransaction({signer:l,transaction:z});return L}return{broadcastTransaction:w,createTransaction:_,estimateTransactionFee:A,getAddress:t,getBalance:H,signAndBroadcastTransaction:X,signTransaction:G,transfer:M,validateAddress:N1}}var z1=()=>{};var Of={};nn(Of,{validateSuiAddress:()=>N1,getSuiToolbox:()=>x2});var Rf=p(()=>{z1()});import{getHttpEndpoint as F2}from"@orbs-network/ton-access";import{AssetValue as p2,Chain as Qy,getChainConfig as S2,getRPCUrl as k2,SwapKitError as Ly,SwapKitNumber as u2}from"@swapkit/helpers";import{mnemonicToWalletKey as P2}from"@ton/crypto";import{Address as cn,beginCell as Ot,Cell as D1,external as I2,internal as $2,JettonMaster as E2,loadStateInit as b2,SendMode as O1,storeMessage as v2,TonClient as V2,toNano as p1,WalletContractV4 as j2}from"@ton/ton";import{match as R1,P as Rt}from"ts-pattern";async function m2(){let n=Date.now();if(xf&&n-F1<h2)return xf;try{return xf=await F2(),F1=n,xf}catch{return k2(Qy.Ton)}}function r2(n={}){let y,T,o;async function f(){if(!y){let J=n.provider??await m2();y=new V2({endpoint:J})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await R1(n).with({phrase:Rt.string},async({phrase:J})=>P2(J.split(" "))).with({signer:Rt.any},({signer:J})=>J).otherwise(()=>{return}),o}async function H(J){if(!T||J){let U=await C(),B=await f(),q=J||U;if(!q)throw new Ly("core_wallet_connection_not_found");let Y=j2.create({publicKey:q.publicKey,workchain:0});T=B.open(Y)}return T}let A=qn(Qy.Ton);async function _({assetValue:J,recipient:U,memo:B,sender:q}){if(J.isGasAsset){let b=B?N(B).toBoc().toString("base64"):void 0;return[{address:U,amount:J.getBaseValue("string"),payload:b}]}let Y=J.address;if(!Y)throw new Ly({errorKey:"core_swap_contract_not_found",info:{asset:J.toString()}});let D=q??await t(),Q=await z({jettonMasterAddress:Y,ownerAddress:D}),O=cn.parse(U),R=cn.parse(D),S=J.getBaseValue("bigint"),k=B?N(B):void 0,I=L({destinationAddress:O,forwardPayload:k,jettonAmount:S,responseAddress:R});return[{address:Q.toString(),amount:i2.toString(),payload:I.toBoc().toString("base64")}]}function G({sender:J,...U}){return _({...U,sender:J})}function M(J){return J.map((U)=>{let B=U.payload?D1.fromBase64(U.payload):void 0,q=U.stateInit?b2(D1.fromBase64(U.stateInit).asSlice()):void 0,Y=cn.parse(U.address),D=cn.isFriendly(U.address)?cn.parseFriendly(U.address).isBounceable:!0;return $2({body:B,bounce:D,init:q,to:Y,value:BigInt(U.amount)})})}async function w(J){let U=await C(),B=await H();if(!B||!U)throw new Ly("core_wallet_connection_not_found");let q=await f(),{state:Y}=await q.getContractState(B.address),D=Y==="active",Q=D?await B.getSeqno():0,O=B.createTransfer({messages:M(J),secretKey:U.secretKey,sendMode:x1,seqno:Q}),R=I2({body:O,init:D?void 0:B.init,to:B.address});return Ot().store(v2(R)).endCell()}async function X(J){return await(await f()).sendFile(J.toBoc()),J.hash().toString("hex")}async function W(J){let U=await w(J);return X(U)}async function l({assetValue:J,recipient:U,memo:B}){let q=await G({assetValue:J,memo:B,recipient:U});return W(q)}async function Z({sender:J,...U}){let{baseDecimal:B}=S2(Qy.Ton),q=await R1(J).with(Rt.string,(Q)=>{return cn.parseFriendly(Q).address}).otherwise(async()=>{return(await H()).address});if(!q)throw new Ly("toolbox_fee_estimation_failed",{chain:Qy.Ton});let Y=p2.from({chain:Qy.Ton,value:"0.01"}),D=await f();try{let Q=await G({sender:J,...U}),O=await C(),R=await H();if(!R||!O)return Y;let S=await R.getSeqno(),k=R.createTransfer({messages:M(Q),secretKey:O.secretKey,sendMode:x1,seqno:S}),{source_fees:I}=await D.estimateExternalMessageFee(q,{body:k,ignoreSignature:!0,initCode:null,initData:null}),b=I.in_fwd_fee+I.storage_fee+I.gas_fee+I.fwd_fee;return Y.set(u2.fromBigInt(BigInt(b),B))}catch{return Y}}async function z({jettonMasterAddress:J,ownerAddress:U}){try{let B=await f(),q=cn.parse(J),Y=cn.parse(U);return await B.open(E2.create(q)).getWalletAddress(Y)}catch{throw new Ly({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:J,ownerAddress:U}})}}function L({jettonAmount:J,destinationAddress:U,responseAddress:B,forwardAmount:q=c2,forwardPayload:Y}){let D=Ot().storeUint(K2,32).storeUint(0,64).storeCoins(J).storeAddress(U).storeAddress(B).storeBit(0).storeCoins(q);if(Y)D.storeBit(1).storeRef(Y);else D.storeBit(0);return D.endCell()}function N(J){return Ot().storeUint(0,32).storeStringTail(J).endCell()}return{broadcastTransaction:X,createTransaction:G,estimateTransactionFee:Z,getAddress:t,getBalance:A,getJettonWalletAddress:z,sign:w,signAndBroadcastTransaction:W,transfer:l,validateAddress:S1}}function S1(n){try{return cn.parse(n),!0}catch{return!1}}var K2=260734629,c2,i2,x1,h2=60000,xf,F1=0;var k1=p(()=>{En();c2=p1("0.01"),i2=p1("0.05"),x1=O1.PAY_GAS_SEPARATELY+O1.IGNORE_ERRORS});var Ff={};nn(Ff,{validateTonAddress:()=>S1,getTONToolbox:()=>r2});var pf=p(()=>{k1()});import{NetworkDerivationPath as g2}from"@swapkit/helpers";function zn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function oo({accountIndex:n,chain:y,derivationPath:T}){if(n!==void 0)zn("accountIndex",n);let o=[...T?.slice(0,3)??g2[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function Io({accountIndex:n,change:y=!1,chain:T,derivationPath:o,index:f}){return zn("index",f),[...oo({accountIndex:n,chain:T,derivationPath:o}),Number(y),f]}function Wo(n){return n[2]??0}function u1({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:A,count:_,startIndex:G=0,change:M=!1}=H;if(zn("count",_),_<1)throw RangeError("count must be at least 1");zn("startIndex",G);let w=[];for(let X=0;X<_;X++){let W=await n({accountIndex:A,change:M,index:G+X});if(W)w.push(W)}return w}async function f(H){let{gapLimit:A=20,change:_=!1}=H??{},G=[],M=0,w=0;while(M<A){let X=await n({change:_,index:w});if(!X)break;if((await y(X.address)).some((Z)=>Z.getValue("number")>0))G.push(X),M=0;else M++;w++}return G}async function t(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[...A,..._],M=await Promise.all(G.map(async(X)=>{let l=(await y(X.address)).reduce((Z,z)=>Z+z.getValue("number"),0);return{...X,balance:l}})),w=M.reduce((X,W)=>X+W.balance,0);return{addresses:M,total:w}}async function C(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[...A,..._];return(await Promise.all(G.map(async(w)=>{return(await T(w.address)).map((W)=>({...W,address:w.address,derivationIndex:w.index,isChange:w.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:t,getAggregatedUtxos:C,scanForAddresses:f}}var Zy=()=>{};import{Chain as tn,getRPCUrl as d2,RequestClient as Sf,SKConfig as a2,SwapKitError as un,warnOnce as s2}from"@swapkit/helpers";import{NETWORKS as $o}from"@swapkit/utxo-signer";async function e2({chain:n,txHash:y}){let T=`${Jy(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await Sf.post(T,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new un("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let t=await d2(n);if(t){let C=JSON.stringify({id:p0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await Sf.post(t,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new un("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new un("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Jy(n){return`https://api.blockchair.com/${nU(n)}`}function P1(n){switch(n){case tn.Bitcoin:return 5;case tn.Dogecoin:return 1e4;case tn.Litecoin:return 1;case tn.Zcash:return 1;default:return 2}}function nU(n){switch(n){case tn.BitcoinCash:return"bitcoin-cash";case tn.Litecoin:return"litecoin";case tn.Dash:return"dash";case tn.Dogecoin:return"dogecoin";case tn.Zcash:return"zcash";case tn.Polkadot:return"polkadot";default:return"bitcoin"}}async function oU(n){try{let{feePerKb:y}=await Sf.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),T=y/1000;return Math.max(T,P1(n))}catch{return P1(n)}}async function kf(n,y){let T=await Sf.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!T||T.context.code!==200)throw new un("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return T.data}async function $1({address:n,chain:y,apiKey:T}){if(!n)throw new un("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await kf(`${Jy(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function yU({address:n,chain:y,apiKey:T}){return(await $1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function E1({chain:n,apiKey:y,txHash:T}){if(!T)throw new un("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await kf(`${Jy(n)}/raw/transaction/${T}`,y))?.[T]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function TU({chain:n,apiKey:y,txHash:T}){if(!T)throw new un("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await kf(`${Jy(n)}/dashboards/transaction/${T}`,y))?.[T];if(!f)throw new un("toolbox_utxo_tx_not_found",{txHash:T});let{transaction:t,inputs:C,outputs:H}=f,A=C.map((G)=>G.spending_sequence),_=t.is_rbf===!0||A.some((G)=>G<fU);return{blockId:t.block_id,confirmed:t.block_id!==-1,fee:t.fee,inputs:C,isRBF:_,outputs:H,sequences:A,size:t.size,txid:t.hash,weight:t.weight}}async function tU({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await kf(`${Jy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,T)).map(({is_spent:A,script_hex:_,block_id:G,transaction_hash:M,index:w,value:X,spending_signature_hex:W})=>({hash:M,index:w,is_confirmed:G!==-1,is_spent:A,script_hex:_,txHex:W,value:X}))}function CU(n){return n.reduce((y,T)=>y+T.value,0)}function I1(n,y){let T=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let t of T)if(o.push(t),f+=t.value,f>=y)break;return o}return T}async function b1({chain:n,address:y,apiKey:T,targetValue:o,accumulativeValue:f=0,offset:t=0,limit:C=30}){if(!y)throw new un("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await tU({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),_=H.length<C,G=H.filter(({is_spent:Z})=>!Z),M=CU(G),w=f+M,X=o&&w>=o;if(_||X)return I1(G,o);let W=await b1({accumulativeValue:w,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),l=[...G,...W];return I1(l,o)}catch(H){let A=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${A}`),[]}}async function HU({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await b1({address:n,apiKey:T,chain:y,targetValue:f}),C=[];for(let{hash:H,index:A,script_hex:_,value:G}of t){let M;if(o)M=await E1({apiKey:T,chain:y,txHash:H});C.push({address:n,hash:H,index:A,txHex:M,value:G,witnessUtxo:{script:Buffer.from(_,"hex"),value:G}})}return C}function s(n){let y=a2.get("apiKeys").blockchair||"";return s2({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(T)=>e2({chain:n,txHash:T}),getAddressData:(T)=>$1({address:T,apiKey:y,chain:n}),getBalance:(T)=>yU({address:T,apiKey:y,chain:n}),getRawTx:(T)=>E1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>oU(n),getTransactionDetails:(T)=>TU({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>HU({...T,apiKey:y,chain:n})}}function AU(n){return n}function _U(){return function(y){switch(y){case tn.Bitcoin:return $o.bitcoin;case tn.BitcoinCash:return $o.bitcoinCash;case tn.Dash:return $o.dash;case tn.Litecoin:return $o.litecoin;case tn.Dogecoin:return $o.dogecoin;case tn.Zcash:return $o.zcash;default:throw new un("toolbox_utxo_not_supported",{chain:y})}}}var fU=4294967294;var v1=p(()=>{En()});import{CashAddrType as uf,decodeCashAddr as UU,encodeCashAddr as wU}from"@swapkit/utxo-signer";function lU(n,y,T){return wU({hash:T,prefix:n,type:qU[y]})}function XU(n){let y=UU(n),T=GU[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var qU,GU,xt;var V1=p(()=>{qU={P2PKH:uf.P2PKH,P2SH:uf.P2SH},GU={[uf.P2PKH]:"P2PKH",[uf.P2SH]:"P2SH"};xt={decode:XU,encode:lU}});import{sha256 as WU}from"@noble/hashes/sha2.js";import{createBase58check as BU}from"@scure/base";import{SwapKitError as K1}from"@swapkit/helpers";function pt(n){try{return Pf(n),!0}catch{return!1}}function St(n){return Pf(n)?.network}function hn(n){let y=Pf(n);if(y?.format==="legacy")return n;return QU(y)}function Yy(n){let y=Pf(n);return ZU(y)}function Pf(n){try{let y=MU(n);if(y)return y}catch{}try{let y=LU(n);if(y)return y}catch{}throw new K1("toolbox_utxo_invalid_address",{address:n})}function MU(n){try{let y=c1.decode(n);if(y.length!==21)throw new K1("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case Bo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case Bo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case Bo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case Bo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case Bo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case Bo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function LU(n){if(n.indexOf(":")!==-1)try{return j1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return j1(`${T}:${n}`)}catch{}}return}function j1(n){try{let{hash:y,prefix:T,type:o}=xt.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:T==="bitcoincash"?"mainnet":"testnet",type:o==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function QU(n){let y=Bo.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),c1.encode(T)}function ZU(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return xt.encode(y,T,o)}var c1,Ft,Bo;var i1=p(()=>{V1();c1=BU(WU);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(Ft||={});Bo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as JU}from"@swapkit/helpers";import{Script as YU}from"@swapkit/utxo-signer";function Bn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return YU.encode(["RETURN",y])}var NU=1000,$f=10,Ef=2,h1=10,zU=41,DU=107,bf,If,Ny,Eo=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new JU("toolbox_utxo_invalid_address",{address:n})},Mo=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?Eo(n[0].address):"P2PKH",t=(T?n.filter((_)=>_.value>=If["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(T)):n).reduce((_,G)=>_+yo(G),0),C=y?.reduce((_,G)=>_+zy(G),0)||Ny[o],H=$f+t+C;return o==="P2WPKH"?Math.ceil(H+Ef/4):H},yo=(n)=>{if("type"in n&&n.type)return If[n.type];if("address"in n&&n.address)return If[Eo(n.address)];return zU+DU},zy=(n,y)=>{if(n?.script)return h1+n.script.length+(n.script.length>=74?2:1);if(y)return Ny[y];if("address"in n&&n.address)return Ny[Eo(n.address)];return Ny.P2PKH};var kt=p(()=>{((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(bf||={});If={["P2PKH"]:148,["P2WPKH"]:68},Ny={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as Lo,SwapKitError as OU}from"@swapkit/helpers";function Dy(n){switch(n){case Lo.Bitcoin:case Lo.BitcoinCash:return 550;case Lo.Dash:case Lo.Litecoin:return 5500;case Lo.Dogecoin:return 1e5;case Lo.Zcash:return 546;default:throw new OU("toolbox_utxo_not_supported",{chain:n})}}function Dn({inputs:n,outputs:y,feeRate:T=1,chain:o=Lo.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?Eo(n[0].address):"P2PKH",C=n.filter((W)=>yo(W)*T<=W.value),A=t==="P2WPKH"?Math.ceil(Ef/4):0,_=$f+A+y.reduce((W,l)=>W+zy(l),0),G=y.reduce((W,l)=>W+l.value,0),M=_*T,w=0,X=[];for(let W of C){let l=yo(W),Z=T*l;M+=Z,w+=W.value,X.push(W);let z=M+G;if(w<z)continue;let L=w-z,N=T*zy({address:f,value:0});if(L>N){let J=N+M,U=w-(G+Math.ceil(J));if(U>Math.max(yo({value:0})*T,Dy(o)))return{fee:Math.ceil(J),inputs:X,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:X,outputs:y}}return{fee:Math.ceil(T*Mo({inputs:n,outputs:y}))}}var m1=p(()=>{kt()});var bo=p(()=>{v1();i1();m1();kt()});import{Address as RU,ZCASH_NETWORK as xU}from"@swapkit/utxo-signer";function Qo(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function fo(n){let y=Qo(n);return pt(y)&&St(y)==="mainnet"}function vo(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=RU(xU).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var Oy=p(()=>{bo()});import{secp256k1 as FU}from"@noble/curves/secp256k1.js";import{hex as Zo}from"@scure/base";import{HDKey as a1}from"@scure/bip32";import{mnemonicToSeedSync as Pt}from"@scure/bip39";import{AssetValue as vf,applyFeeMultiplier as r1,Chain as e,derivationPathToString as Ry,FeeOption as Pn,NetworkDerivationPath as s1,SwapKitError as c,SwapKitNumber as pU,updateDerivationPath as SU,warnOnce as kU}from"@swapkit/helpers";import{Address as uU,BCHSigHash as It,CashAddrPrefix as PU,CashAddrType as IU,encodeCashAddr as $U,NETWORKS as Vo,p2pkh as g1,p2wpkh as EU,RBF_SEQUENCE as bU,SigHash as e1,Transaction as ut,WIF as nH}from"@swapkit/utxo-signer";import{match as oH}from"ts-pattern";function $t({address:n,chain:y}){return oH(y).with(e.BitcoinCash,()=>fo(n)).with(e.Zcash,()=>vo(n)).otherwise(()=>{try{return uU(An(y)).decode(n),!0}catch{return!1}})}function An(n){return oH(n).with(e.Bitcoin,()=>Vo.bitcoin).with(e.BitcoinCash,()=>Vo.bitcoinCash).with(e.Dash,()=>Vo.dash).with(e.Dogecoin,()=>Vo.dogecoin).with(e.Litecoin,()=>Vo.litecoin).with(e.Zcash,()=>Vo.zcash).exhaustive()}function vU({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Pt(n),C=a1.fromMasterSeed(f,T.bip32).derive(y);if(!C.privateKey)throw new c("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function d1(n){return FU.getPublicKey(n,!0)}function Fy({publicKey:n,chain:y,network:T}){if(y===e.BitcoinCash){let t=g1(n,T);if(!t.hash)throw new c("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return $U({hash:t.hash,prefix:PU.MAINNET,type:IU.P2PKH}).replace(/^bitcoincash:/,"")}let f=!xy.includes(y)?EU(n,T):g1(n,T);if(!f.address)throw new c("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function jo({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=An(T);if(o){let _=nH(t).decode(o),G=d1(_);return{privateKey:_,publicKey:G}}if(!n)throw new c("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||Ry(s1[T]),H=vU({derivationPath:C,network:t,phrase:n,seed:f}),A=d1(H);return{privateKey:H,publicKey:A}}function VU(n,y){return nH(An(y)).encode(n)}function jU({phrase:n,derivationPath:y,chain:T,seed:o}){let f=y.split("/");if(f.length<4)throw new c("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let t=An(T),C=o??Pt(n),H=a1.fromMasterSeed(C,t.bip32),A=f.slice(0,4).join("/");return H.derive(A)}function To({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=An(T),A=!xy.includes(T),_=C?bU:void 0,G=new Set;for(let M of n){let w=`${M.hash}:${M.index}`;if(G.has(w))throw new c("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(w);let X=typeof M.hash==="string"?Zo.decode(M.hash):M.hash;if(A&&M.witnessUtxo)o.addInput({index:M.index,sequence:_,txid:X,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:Zo.decode(M.txHex),sequence:_,txid:X,...T===e.BitcoinCash?{sighashType:It.ALL}:{}});else throw new c("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let w="address"in M&&M.address?M.address:f;if(T===e.BitcoinCash)w=hn(w);if(M.script){if(t)o.addOutput({amount:0n,script:t})}else o.addOutputAddress(w,BigInt(M.value),H)}return{inputs:n,tx:o}}async function Ko(n){let y=await s(n).getSuggestedTxFee();return{[Pn.Average]:y,[Pn.Fast]:r1(y,Pn.Fast),[Pn.Fastest]:r1(y,Pn.Fastest)}}async function yH({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await Ko(t))[Pn.Fastest],H=f||xy.includes(t),A=n.getBaseValue("number"),_=Math.ceil(A+C*5000);return{inputs:await s(t).getUtxos({address:o,fetchTxHex:H,targetValue:_}),outputs:[{address:y,value:A},...T?[{address:"",script:Bn(T),value:0}]:[]]}}async function fH({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,A=T?Bn(T):null,_=await yH({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:G,outputs:M}=Dn({..._,chain:H,feeRate:o});if(!(G&&M))throw new c("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new ut({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:X,tx:W}=To({chain:H,compiledMemo:A,enableRBF:C,inputs:G,outputs:M,sender:f,tx:w});return{inputs:X,tx:W,utxos:_.inputs}}async function TH({assetValue:n,feeOptionKey:y=Pn.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await yH({assetValue:n,memo:o,recipient:t,sender:f}),A=T?Math.floor(T):(await Ko(C))[y];return Dn({...H,chain:C,feeRate:A})}function KU(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=Pn.Fast,recipients:C=1}){let H=await s(n).getAddressData(T),A=f?Math.ceil(f):(await Ko(n))[t],_=H?.utxo.map((l)=>({...l,hash:"",type:"P2PKH"})).filter((l)=>l.value>Math.max(Dy(n),yo(l)*A));if(!_?.length)return vf.from({chain:n});let G=BigInt(_.reduce((l,Z)=>l+Z.value,0)),M=vf.from({chain:n,value:G}),w=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)w.push({address:T,script:Bn(o),value:0});let X=Mo({inputs:_,outputs:w}),W=vf.from({chain:n,value:BigInt(X*A)});return M.sub(W)}}function cU(n){return async function(T){let{fee:o}=await TH(T);return vf.from({chain:n,value:pU.fromBigInt(BigInt(o),8).getValue("string")})}}function iU({chain:n,phrase:y,derivationPath:T,seed:o}){let f=An(n),{privateKey:t,publicKey:C}=jo({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===e.BitcoinCash?[It.ALL]:[e1.ALL];return{getAddress:()=>Fy({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(A)=>{return A.sign(t,H),A}}}function hU(n,y){return async function({memo:o,recipient:f,feeOptionKey:t,feeRate:C,assetValue:H,enableRBF:A=!1}){let _=y?.getAddress();if(!(y&&_))throw new c("toolbox_utxo_no_signer");if(!f)throw new c("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});kU({condition:A&&!Vf.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let G=A&&Vf.includes(n),M=C||(await Ko(n))[t||Pn.Fast],{tx:w}=await fH({assetValue:H,enableRBF:G,feeRate:M,memo:o,recipient:f,sender:_});return y.signTransaction(w),w.finalize(),s(n).broadcastTx(Zo.encode(w.extract()))}}function Et(n){return(y)=>$t({address:y,chain:n})}function bt(n){let y=An(n);return function(o){if(!o)throw new c("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return Fy({chain:n,network:y,publicKey:o.publicKey})}}function to({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Pt(T):void 0,t="derivationPath"in y&&y.derivationPath?y.derivationPath:SU(s1[n],{index:o}),C=Ry(t),H=T?iU({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,A="signer"in y?y.signer:void 0,_=T?jo({chain:n,derivationPath:C,phrase:T,seed:f}):void 0;function G(){if(H)return Promise.resolve(H.getAddress());if(A)return A.getAddress();return Promise.resolve(void 0)}function M(q){if(!T)return;let Y=oo({accountIndex:q,chain:n,derivationPath:t});return jU({chain:n,derivationPath:Ry(Y),phrase:T,seed:f})}let w=M();function X(){if(!w)return;return w.publicExtendedKey}function W({accountIndex:q}={}){let Y=q===void 0?w:M(q);if(!Y)return;let D=oo({accountIndex:q,chain:n,derivationPath:t});return{accountIndex:Wo(D),path:Ry(D),xpub:Y.publicExtendedKey}}function l({accountIndex:q,index:Y,change:D=!1}){let Q=q===void 0?w:M(q);if(!Q)return;let O=Io({accountIndex:q,chain:n,change:D,derivationPath:t,index:Y}),R=An(n),S=Q.deriveChild(Number(D)).deriveChild(Y);if(!S.publicKey)throw new c("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let k=Fy({chain:n,network:R,publicKey:S.publicKey}),I=Zo.encode(S.publicKey);return{accountIndex:Wo(O),address:k,change:D,index:Y,path:Ry(O),pubkey:I}}async function Z(q){if(!Vf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let Y=await s(n).getTransactionDetails(q);return{canReplace:Y.isRBF&&!Y.confirmed,confirmed:Y.confirmed,enabled:Y.isRBF,fee:Y.fee,sequences:Y.sequences,supported:!0}}async function z({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!Vf.includes(n))throw new c("toolbox_utxo_rbf_not_supported",{chain:n});let O=await s(n).getTransactionDetails(q);if(!O.isRBF)throw new c("toolbox_utxo_tx_not_replaceable",{txid:q});if(O.confirmed)throw new c("toolbox_utxo_tx_already_confirmed",{blockId:O.blockId,txid:q});let R=O.inputs.reduce((d,Zn)=>d+Zn.value,0),k=O.outputs.find((d)=>d.recipient===D)?.value||0;if(k===0)throw new c("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let I=await Promise.all(O.inputs.map(async(d)=>{let Zn=await s(n).getRawTx(d.transaction_hash);return{hash:d.transaction_hash,index:d.index,txHex:Zn,value:d.value,witnessUtxo:void 0}})),b=Q?Bn(Q):null,K=Mo({feeRate:Y,inputs:I.map((d)=>({...d,type:"P2WPKH"})),outputs:[{address:D,value:k}]}),V=Math.ceil(K*Y);if(V<=O.fee)throw new c("toolbox_utxo_rbf_fee_too_low",{newFee:V,originalFee:O.fee});let yn=V-O.fee,a=k-yn;if(a<=0)throw new c("toolbox_utxo_rbf_insufficient_change");let Un=new ut({allowLegacyWitnessUtxo:!0,version:1}),Fn=[{address:D,value:a},...Q?[{address:"",script:Bn(Q),value:0}]:[]],pn=R-a-V,wn=await G();if(pn>Dy(n)&&wn)Fn.push({address:wn,value:pn});return To({chain:n,compiledMemo:b,inputs:I,outputs:Fn,sender:wn||D,tx:Un}),{feeDelta:yn,newFee:V,originalFee:O.fee,tx:Un}}async function L({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!H)throw new c("toolbox_utxo_no_signer");let{tx:O,originalFee:R,newFee:S}=await z({memo:Q,newFeeRate:Y,recipient:D,txid:q});H.signTransaction(O),O.finalize();let k=await s(n).broadcastTx(Zo.encode(O.extract()));return{newFee:S,originalFee:R,txid:k}}function N({accountIndex:q,index:Y,change:D=!1}){zn("index",Y);let Q=q===void 0?w:M(q);if(!Q)return;return Q.deriveChild(Number(D)).deriveChild(Y).privateKey||void 0}function J({tx:q,inputDerivations:Y}){if(!w)throw new c("toolbox_utxo_no_signer");let D=n===e.BitcoinCash?[It.ALL]:[e1.ALL];for(let Q=0;Q<Y.length;Q++){let O=Y[Q];if(!O)continue;let{derivationIndex:R,isChange:S}=O,k=N({change:S,index:R});if(!k)throw new c("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${Q} at index ${R}`});q.signIdx(k,Q,D)}return q}async function U({utxos:q,recipient:Y,assetValue:D,memo:Q,feeRate:O,feeOptionKey:R,changeAddress:S}){if(!w)throw new c("toolbox_utxo_no_signer");let k=O||(await Ko(n))[R||Pn.Fast],I=Q?Bn(Q):null,b=[{address:Y,value:D.getBaseValue("number")}];if(I)b.push({address:"",script:I,value:0});let K=q.map(({hash:wn,index:d,value:Zn,txHex:zA,witnessUtxo:AT})=>({hash:wn,index:d,txHex:zA,value:Zn,witnessUtxo:AT?{script:AT.script,value:AT.value}:void 0})),{inputs:V,outputs:yn}=Dn({chain:n,feeRate:k,inputs:K,outputs:b});if(!(V&&yn))throw new c("toolbox_utxo_insufficient_balance",{assetValue:D,sender:"multiple addresses"});let a=new ut({allowLegacyWitnessUtxo:!0,version:1}),Un=q[0]?.address,Fn=S||await G()||Un||Y;To({chain:n,compiledMemo:I,inputs:V,outputs:yn,sender:Fn,tx:a});let pn=V.map((wn)=>{let d=q.find((Zn)=>Zn.hash===wn.hash&&Zn.index===wn.index);return d?{derivationIndex:d.derivationIndex,isChange:d.isChange}:{derivationIndex:0,isChange:!1}});return J({inputDerivations:pn,tx:a}),a.finalize(),s(n).broadcastTx(Zo.encode(a.extract()))}function B({address:q,gapLimit:Y=20}){if(!w)return;for(let D=0;D<Y;D++){let Q=l({change:!1,index:D}),O=l({change:!0,index:D}),R=Q?.address===q?!1:O?.address===q;if(Q?.address===q||O?.address===q)return{change:R,index:D}}return}return{accumulative:Dn,broadcastTx:(q)=>s(n).broadcastTx(q),bumpFee:L,calculateTxSize:Mo,createKeysForPath:(q)=>jo({...q,chain:n}),createReplacementTransaction:z,createTransaction:fH,deriveAddressAtIndex:l,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:KU(n),estimateTransactionFee:cU(n),getAddress:G,getAddressFromKeys:bt(n),getBalance:qn(n),getExtendedPublicKey:X,getExtendedPublicKeyInfo:W,getFeeRates:()=>Ko(n),getInputsOutputsFee:TH,getNetworkForChain:()=>An(n),getPrivateKeyFromMnemonic:(q)=>VU(jo({...q,chain:n}).privateKey,n),isRBFEnabled:Z,keys:_,resolveDerivationIndex:B,signAndBroadcastTransaction:async(q)=>{if(!H)throw new c("toolbox_utxo_no_signer");return H.signTransaction(q),q.finalize(),await s(n).broadcastTx(Zo.encode(q.extract()))},signTransactionWithMultipleKeys:J,transfer:hU(n,H),transferFromMultipleAddresses:U,validateAddress:Et(n)}}var xy,Vf;var co=p(()=>{En();Zy();bo();Oy();xy=[e.Dash,e.Dogecoin,e.Zcash,e.BitcoinCash],Vf=[e.Bitcoin]});import{hex as tH}from"@scure/base";import{Chain as mU,derivationPathToString as rU,FeeOption as gU,NetworkDerivationPath as dU,SwapKitError as mn,updateDerivationPath as aU}from"@swapkit/helpers";import{BCHSigHash as sU,CashAddrPrefix as CH,CashAddrType as HH,encodeCashAddr as AH,NETWORKS as eU,p2pkh as _H,Transaction as UH}from"@swapkit/utxo-signer";function py(n){return Qo(Yy(n))}function n8(n){let y=An(In);function T(f){return f.sign(n.privateKey,[sU.ALL]),f}function o(){let f=_H(n.publicKey,y);if(!f.hash)throw new mn("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let t=AH({hash:f.hash,prefix:CH.MAINNET,type:HH.P2PKH});return Promise.resolve(t.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:T}}function vt(n){let y="phrase"in n?n.phrase:void 0,T="index"in n?n.index||0:0,o=rU("derivationPath"in n&&n.derivationPath?n.derivationPath:aU(dU[In],{index:T})),f=y?jo({chain:In,derivationPath:o,phrase:y}):void 0,t=f?n8(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:A,broadcastTx:_,...G}=to({chain:In});function M(X,W=!0){return H(Qo(Yy(X)))}async function w(X){if(!t)throw new mn("toolbox_utxo_no_signer");return t.signTransaction(X),X.finalize(),await _(tH.encode(X.extract()))}return{...G,broadcastTx:_,buildTx:y8,createTransaction:wH,getAddress:C,getAddressFromKeys:f8,getBalance:M,getFeeRates:A,signAndBroadcastTransaction:w,stripPrefix:Qo,stripToCashAddress:py,transfer:o8({broadcastTx:_,getFeeRates:A,signer:t}),validateAddress:fo}}async function wH({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!fo(y))throw new mn("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await s(In).getUtxos({address:py(f),fetchTxHex:!0,targetValue:t}),H=T?Bn(T):null,A=[],_=hn(y);if(A.push({address:_,value:n.getBaseValue("number")}),H)A.push({script:H,value:0});let{inputs:G,outputs:M}=Dn({chain:In,feeRate:o,inputs:C,outputs:A});if(!(G&&M))throw new mn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new UH({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),X=hn(f),{inputs:W,tx:l}=To({chain:In,compiledMemo:H,inputs:G,outputs:M.map((Z)=>("address"in Z)&&Z.address?{...Z,address:hn(Z.address)}:Z),sender:X,tx:w});return{inputs:W,tx:l,utxos:G}}function o8({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=gU.Fast,...H}){let A=await T?.getAddress();if(!(T&&A))throw new mn("toolbox_utxo_no_signer");if(!f)throw new mn("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let _=H.feeRate||(await y())[C],{tx:G}=await wH({...H,assetValue:t,feeRate:_,recipient:f,sender:A}),M=await T.signTransaction(G);return M.finalize(),n(tH.encode(M.extract()))}}async function y8({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=Yy(y);if(!fo(t))throw new mn("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await s(In).getUtxos({address:py(f),fetchTxHex:!0,targetValue:C}),A=Number(o.toFixed(0)),_=T?Bn(T):null,G=[];if(G.push({address:hn(y),value:n.getBaseValue("number")}),_)G.push({script:_,value:0});let{inputs:M,outputs:w}=Dn({chain:In,feeRate:A,inputs:H,outputs:G});if(!(M&&w))throw new mn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let X=new UH({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:W,tx:l}=To({chain:In,compiledMemo:_,inputs:M,outputs:w,sender:hn(f),tx:X});return{inputs:W,tx:l,utxos:H}}function f8(n){let y=eU.bitcoinCash,T=_H(n.publicKey,y);if(!T.hash)throw new mn("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return AH({hash:T.hash,prefix:CH.MAINNET,type:HH.P2PKH}).replace(/^bitcoincash:/,"")}var In;var jf=p(()=>{bo();co();Oy();In=mU.BitcoinCash});import{createBase58check as T8,hex as t8}from"@scure/base";import{HDKey as lH}from"@scure/bip32";import{mnemonicToSeedSync as XH}from"@scure/bip39";import{Chain as Kf,derivationPathToString as C8,FeeOption as H8,NetworkDerivationPath as A8,SKConfig as WH,SwapKitError as io,updateDerivationPath as _8}from"@swapkit/helpers";import{Address as U8,createZcashTransaction as w8,OutScript as q8,PCZT as G8,utils as BH,WIF as l8,ZCASH_NETWORK as X8,ZCASH_TEST_NETWORK as W8,ZcashConsensusBranchId as B8,ZcashSigHash as qH,ZcashVersionGroupId as M8}from"@swapkit/utxo-signer";import{match as L8,P as Vt}from"ts-pattern";function MH(){let{isStagenet:n}=WH.get("envs");return n?W8:X8}function Z8(n){return Q8.encode(n)}function J8({phrase:n,derivationPath:y}){let T=XH(n),f=lH.fromMasterSeed(T).derive(y);if(!f.privateKey||!f.publicKey)throw new io("toolbox_utxo_invalid_params");let{privateKey:t,publicKey:C}=f,H=BH.hash160(C),{isStagenet:A}=WH.get("envs"),_=A?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(_.length+H.length);G.set(_,0),G.set(H,_.length);let M=Z8(G);return{getAddress:()=>Promise.resolve(M),signTransaction:(w)=>{if(w instanceof G8)return w.signAllInputs(t,C,qH.ALL),w.finalizeAllInputs(),Promise.resolve(w.extract());return w.signAllInputs(t,C,qH.ALL),Promise.resolve(w)}}}function Y8({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=MH();for(let C of n){let H=U8(t).decode(o),A=q8.encode(H);T.addInput({index:C.index,script:A,sequence:4294967295,txid:t8.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,A=C.script;if(A&&!f)continue;if(A&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function GH(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?Bn(o):null,A=await s(Kf.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),_=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:G,outputs:M}=Dn({chain:Kf.Zcash,changeAddress:t,feeRate:f,inputs:A,outputs:_});if(!(G&&M))throw new io("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let w=w8({consensusBranchId:B8.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:M8.SAPLING}),{tx:X,inputs:W}=Y8({compiledMemo:H,inputs:G,outputs:M,sender:t,tx:w});return{inputs:W,outputs:M,tx:X}}function jt(n){let y=L8(n).with({signer:Vt.not(Vt.nullish)},({signer:A})=>A).with({phrase:Vt.string},({phrase:A,derivationPath:_,index:G=0})=>{let M=_||A8[Kf.Zcash]||[44,133,0,0,0],w=_8(M,{index:G}),X=C8(w);return J8({derivationPath:X,phrase:A})}).otherwise(()=>{return}),T=to({chain:Kf.Zcash,signer:y});async function o({recipient:A,assetValue:_,feeOptionKey:G=H8.Fast,...M}){let w=await y?.getAddress();if(!(y&&w))throw new io("toolbox_utxo_no_signer");let X=M.feeRate||(await T.getFeeRates())[G],{tx:W}=await GH({...M,assetValue:_,feeRate:X,recipient:A,sender:w}),Z=(await y.signTransaction(W)).toHex();return T.broadcastTx(Z)}function f({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let G=XH(A),w=lH.fromMasterSeed(G).derive(_);if(!w.privateKey||!w.publicKey)throw new io("toolbox_utxo_invalid_params");return{privateKey:w.privateKey,publicKey:w.publicKey}}function t({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let G=f({derivationPath:_,phrase:A}),M=MH();return l8(M).encode(G.privateKey)}function C(A){return async function(G){if(!A)throw new io("toolbox_utxo_no_signer");return await A.signTransaction(G)}}function H(A){return async function(G){if(!A)throw new io("toolbox_utxo_no_signer");let M=await A.signTransaction(G);return T.broadcastTx(M.toHex())}}return{...T,createKeysForPath:f,createTransaction:GH,getPrivateKeyFromMnemonic:t,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:vo}}var Q8;var Kt=p(()=>{bo();co();Oy();Q8=T8(BH.sha256)});import{hex as N8}from"@scure/base";import{HDKey as z8}from"@scure/bip32";import{derivationPathToString as D8}from"@swapkit/helpers";function LH({xpub:n,chain:y,count:T,startIndex:o=0,accountIndex:f}){if(zn("count",T),T<1)throw RangeError("count must be at least 1");zn("startIndex",o);let t=An(y),C=z8.fromExtendedKey(n,t.bip32),H=oo({accountIndex:f,chain:y}),A=Wo(H),_=[];for(let G of[!1,!0]){let M=C.deriveChild(Number(G));for(let w=0;w<T;w++){let X=o+w,W=M.deriveChild(X);if(!W.publicKey)continue;let l=Io({accountIndex:f,chain:y,change:G,index:X});_.push({accountIndex:A,address:Fy({chain:y,network:t,publicKey:W.publicKey}),change:G,index:X,path:D8(l),pubkey:N8.encode(W.publicKey)})}}return _}var QH=p(()=>{Zy();co()});import{Chain as ho,SwapKitError as O8}from"@swapkit/helpers";function R8(n,y){switch(n){case ho.BitcoinCash:return vt(y||{});case ho.Zcash:return jt(y);case ho.Bitcoin:case ho.Dogecoin:case ho.Litecoin:case ho.Dash:return to({chain:n,...y});default:throw new O8("toolbox_utxo_not_supported",{chain:n})}}var ZH=p(()=>{jf();co();Kt();Zy();QH();jf();Oy()});var ct={};nn(ct,{validateZcashAddress:()=>vo,validateUtxoAddress:()=>$t,validateBchAddress:()=>fo,toLegacyAddress:()=>hn,toCashAddress:()=>Yy,stripToCashAddress:()=>py,stripPrefix:()=>Qo,nonSegwitChains:()=>xy,isValidAddress:()=>pt,getUtxoToolbox:()=>R8,getUtxoNetwork:()=>_U,getUtxoApi:()=>s,getUTXOAddressValidator:()=>Et,getUTXOAddressPath:()=>Io,getUTXOAccountPath:()=>oo,getUTXOAccountIndexFromPath:()=>Wo,getScriptTypeForAddress:()=>Eo,getOutputSize:()=>zy,getNetworkForChain:()=>An,getInputSize:()=>yo,getDustThreshold:()=>Dy,detectAddressNetwork:()=>St,deriveAddressesFromXpub:()=>LH,createZcashToolbox:()=>jt,createUTXOToolbox:()=>to,createHDWalletHelpers:()=>u1,createCustomUtxoApi:()=>AU,createBCHToolbox:()=>vt,compileMemo:()=>Bn,calculateTxSize:()=>Mo,assertDerivationIndex:()=>zn,addressFromKeysGetter:()=>bt,addInputsAndOutputs:()=>To,accumulative:()=>Dn,UtxoNetwork:()=>Ft,UTXOScriptType:()=>bf,TX_OVERHEAD:()=>$f,SEGWIT_MARKER_FLAG_WEIGHT:()=>Ef,OutputSizes:()=>Ny,OP_RETURN_OVERHEAD:()=>h1,MIN_TX_FEE:()=>NU,InputSizes:()=>If});var it=p(()=>{co();Zy();bo();ZH();jf();Kt()});import{KeyPairSigner as x8}from"@near-js/signers";import{derivationPathToString as F8,SwapKitError as p8}from"@swapkit/helpers";import*as JH from"near-seed-phrase";function Sy(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function cf(n){let{KeyPair:y}=await import("@near-js/crypto"),T=n.index||0,o=n.derivationPath?F8(n.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:f}=JH.parseSeedPhrase(n.phrase,o),t=y.fromString(f);return NH(t)}async function ht(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return NH(T)}function NH(n){return new YH(n)}async function hf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new p8("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),t=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:t}}var YH;var mt=p(()=>{YH=class YH extends x8{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function rt(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function gt(n){return"contractId"in n&&"methodName"in n}function dt(n){return"actions"in n}function at(n){return"newAccountId"in n}function st(n){return"contractCode"in n}function et(n){return"customEstimator"in n}function n0(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(Cn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Cn.CONTRACT_CALL);break;case"createAccount":y+=Number(Cn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Cn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Cn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Cn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Cn.STAKE);break;default:y+=Number(Cn.CONTRACT_CALL)}return y.toString()}function o0(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Cn.TOKEN_TRANSFER;if(n==="storage_deposit")return Cn.STORAGE_DEPOSIT;return Cn.CONTRACT_CALL}function S8(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function k8(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Cn;var y0=p(()=>{Cn={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 f0({account:n,contractId:y,viewMethods:T,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:T})}import{JsonRpcProvider as u8}from"@near-js/providers";import{AssetValue as T0,Chain as mo,getRPCUrl as zH,SwapKitError as Xn}from"@swapkit/helpers";import{match as DH,P as OH}from"ts-pattern";function P8(n){let y;async function T(){if(y)return y;return y=await DH(n).with({phrase:OH.string},async(Q)=>{return await cf(Q)}).with({signer:OH.any},({signer:Q})=>Q).otherwise(()=>{return}),y}async function o(){let Q=await zH(mo.Near);return new u8({url:Q})}async function f(Q){let{Account:O}=await import("@near-js/accounts"),R=await o(),S=await T(),k=Q||await t();return new O(k,R,S)}async function t(){let Q=await T();if(!Q)throw new Xn("toolbox_near_no_signer");return await Q.getAddress()}async function C(Q){return(await J({changeMethods:[],contractId:Q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Q.accountId})}async function H(Q){let R=[await w({args:{account_id:Q.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await w({args:{amount:Q.assetValue.getBaseValue("string"),memo:Q.memo||null,receiver_id:Q.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return U({actions:R,receiverId:Q.contractId})}async function A(Q){if(!await T())throw new Xn("toolbox_near_no_signer");let{assetValue:R,recipient:S,memo:k}=Q,I=await t();if(!R.isGasAsset&&R.address){if(!await C({accountId:S,contractId:R.address}))return H({assetValue:R,contractId:R.address,memo:k,recipient:S})}let b=await _({...Q,sender:I});return l(b)}async function _({recipient:Q,assetValue:O,memo:R,attachedDeposit:S,sender:k,functionCall:I}){let b=await o();if(!Sy(Q))throw new Xn("toolbox_near_invalid_address",{recipient:Q});if(!Sy(k))throw new Xn("toolbox_near_invalid_address",{sender:k});if(I)return M({...I,sender:k});if(!O.isGasAsset){let Zn=O.address;if(!Zn)throw new Xn("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:R||null,receiver_id:Q},attachedDeposit:S||"1",contractId:Zn,gas:"250000000000000",methodName:"ft_transfer",sender:k})}let{publicKey:K,nonce:V}=await hf(b,k),yn=O.getBaseValue("bigint"),{actionCreators:a,createTransaction:Un}=await import("@near-js/transactions"),{baseDecode:Fn}=await import("@near-js/utils"),pn=[a.transfer(yn)];if(R&&S)pn.push(a.functionCall("memo",{memo:R},BigInt("250000000000000"),BigInt(S)));let wn=await b.block({finality:"final"}),d=Fn(wn.header.hash);return Un(k,K,Q,V+1,pn,d)}function G(Q){let O=Q.encode();return Buffer.from(O).toString("base64")}async function M({args:Q,attachedDeposit:O,contractId:R,gas:S,methodName:k,sender:I}){let b=await o(),{publicKey:K,nonce:V}=await hf(b,I),{createTransaction:yn,actionCreators:a}=await import("@near-js/transactions"),{baseDecode:Un}=await import("@near-js/utils"),Fn=await b.block({finality:"final"}),pn=Un(Fn.header.hash),wn=[a.functionCall(k,Buffer.from(JSON.stringify(Q)),BigInt(S),BigInt(O))];return yn(I,K,R,V+1,wn,pn)}async function w(Q){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(Q.methodName,Buffer.from(JSON.stringify(Q.args)),BigInt(Q.gas),BigInt(Q.attachedDeposit))}async function X(Q){let O=await T();if(!O)throw new Xn("toolbox_near_no_signer");let[R,S]=await O.signTransaction(Q);return S}async function W(Q){return(await(await o()).sendTransaction(Q)).transaction.hash}async function l(Q){let O=await T();if(!O)throw new Xn("toolbox_near_no_signer");try{let R=await X(Q);return await W(R)}catch{return O.signAndSendTransactions?.({transactions:[Q]})}}async function Z(Q){let O=await T();if("assetValue"in Q){let S=await z();try{let k=await zH(mo.Near),I=await fetch(k,{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:b}}=await I.json(),{execution:K,send_sir:V}=b.transaction_costs.action_receipt_creation_config,{execution:yn,send_sir:a}=b.transaction_costs.action_creation_config.transfer_cost,Un=BigInt(a)+BigInt(yn),Fn=BigInt(V)+BigInt(K),wn=(Un+Fn)*BigInt(S.toString());return T0.from({chain:mo.Near,value:wn})}catch(k){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",k);let I=BigInt("115123062500"),b=BigInt("108059500000"),V=(I+b)*BigInt(S.toString());return T0.from({chain:mo.Near,value:V})}}let R=O?await f():void 0;return B(Q,R)}async function z(){let Q=await o();try{return await Q.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(Q,O,R){if(!await T())throw new Xn("toolbox_near_no_signer");let k=await f(),{formatNearAmount:I}=await import("@near-js/utils"),{PublicKey:b}=await import("@near-js/crypto"),K=I(R)||"0";return(await k.createAccount(Q,b.fromString(O),BigInt(K))).transaction.hash}async function N(Q){let O=await T();try{if(!O)throw new Xn("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:S,methodName:k,args:I,deposit:b}=Q,K=await f(),V=await B({args:I||{},contractId:S,methodName:k}),yn=R.functionCall(k,I||{},V.getBaseValue("bigint"),BigInt(b||"1"));return(await K.signAndSendTransaction({actions:[yn],receiverId:S})).transaction_outcome.id}catch(R){throw new Xn("toolbox_near_transfer_failed",{error:R})}}async function J(Q){let O=await f();return f0({account:O,changeMethods:Q.changeMethods,contractId:Q.contractId,viewMethods:Q.viewMethods})}async function U(Q){if(!await T())throw new Xn("toolbox_near_no_signer");if(Q.actions.length===0)throw new Xn("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:Q.actions,receiverId:Q.receiverId})).transaction.hash}async function B(Q,O){let R=await DH(Q).when(rt,()=>Cn.SIMPLE_TRANSFER).when(gt,(k)=>o0(k.methodName)).when(dt,(k)=>n0(k.actions)).when(at,()=>Cn.ACCOUNT_CREATION).when(st,()=>Cn.CONTRACT_DEPLOYMENT).when(et,(k)=>{if(!O)throw new Xn("toolbox_near_no_account");return k.customEstimator(O)}).otherwise(()=>{throw new Xn("toolbox_near_invalid_gas_params")}),S=BigInt(R)*BigInt(1000000000000);return T0.from({chain:mo.Near,value:S})}function q(Q,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),B(Q,O)}async function Y(){let Q=await o();try{return(await Q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let Q=await T();return Q?(await Q.getPublicKey()).toString():""}return{broadcastTransaction:W,callFunction:N,createAction:w,createContract:J,createContractFunctionCall:M,createSubAccount:L,createTransaction:_,estimateGas:q,estimateGasLimit:B,estimateTransactionFee:Z,executeBatchTransaction:U,getAddress:t,getBalance:qn(mo.Near),getGasPrice:Y,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:cf,getSignerFromPrivateKey:ht,serializeTransaction:G,signAndBroadcastTransaction:l,signTransaction:X,transfer:A,validateAddress:Sy}}var t0=p(()=>{En();mt();y0()});var RH=p(()=>{t0()});var C0={};nn(C0,{validateNearAddress:()=>Sy,tgasToGas:()=>S8,isSimpleTransfer:()=>rt,isCustomEstimator:()=>et,isContractDeployment:()=>st,isContractCall:()=>gt,isBatchTransaction:()=>dt,isAccountCreation:()=>at,getNearToolbox:()=>P8,getNearSignerFromPrivateKey:()=>ht,getNearSignerFromPhrase:()=>cf,getFullAccessPublicKey:()=>hf,getContractMethodGas:()=>o0,gasToTGas:()=>k8,estimateBatchGas:()=>n0,createNearContract:()=>f0,GAS_COSTS:()=>Cn});var H0=p(()=>{mt();y0();t0();RH()});var _0={};nn(_0,{validateRadixAddress:()=>FH,getRadixToolbox:()=>c8});import{GatewayApiClient as I8}from"@radixdlt/babylon-gateway-api-sdk";import{RadixDappToolkit as $8}from"@radixdlt/radix-dapp-toolkit";import{AssetValue as xH,Chain as A0,SKConfig as E8,SwapKitError as b8}from"@swapkit/helpers";function FH(n){return n.startsWith("account_rdx1")&&n.length===66}function v8({networkApi:n}){return async function(T){let o=await V8({address:T,networkApi:n}),f=await j8({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[xH.from({chain:A0.Radix}),...f];return f}}async function V8({address:n,networkApi:y}){let T=!0,o,f=[],t=await K8(y);while(T){let C={address:n,at_ledger_state:{state_version:t},cursor:o,limit_per_page:100},H=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:C});if(f=f.concat(H.items),H.next_cursor)o=H.next_cursor;else T=!1}return f}async function j8({resources:n,networkApi:y}){let T=[],o=50,f=[];for(let t=0;t<n.length;t+=50)f.push(n.slice(t,t+50));for(let t of f){let C=t.map((_)=>_.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),A=new Map;for(let _ of H)if(_.details!==void 0){let G=_.metadata?.items.find((w)=>w.key==="symbol"),M=G?.value.typed.type==="String"?G.value.typed.value:"?";if(_.details.type==="FungibleResource")A.set(_.address,{decimals:_.details.divisibility,symbol:M})}for(let _ of t)if(_.aggregation_level==="Global"){let G=A.get(_.resource_address)||{decimals:0,symbol:"?"},M=xH.from({asset:G.symbol!==A0.Radix?`${A0.Radix}.${G.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});T.push(M)}}return T}async function K8(n){return(await n.status.getCurrent()).ledger_state.state_version}function c8({dappConfig:n}={}){let y=n||E8.get("integrations").radix,T=$8({...y,networkId:y.network?.networkId||1}),o=I8.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:v8({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new b8("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:FH}}var U0=()=>{};import{SwapKitError as i8}from"@swapkit/helpers";function mf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function ky(n){if(mf(n))return n.toUpperCase();if(n.length<=3){let T=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${T}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new i8({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function h8(n){if(!mf(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let T=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(T)&&T.length>0)return T}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),T=y.length%2===0?y:`${y}0`,o=Buffer.from(T,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function ro(n){if(mf(n))return n.toUpperCase();if(n.length<=3)return n;return ky(n)}var rf=()=>{};import{RequestClient as m8,warnOnce as r8}from"@swapkit/helpers";async function g8(n,y){let T=ro(n),o=gf.find((f)=>ro(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await m8.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){r8({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function d8(n){return gf.filter((y)=>y.issuer===n)}function a8(n,y){let T=ro(n);return gf.some((o)=>ro(o.currency)===T&&o.issuer===y)}var gf;var pH=p(()=>{rf();gf=[{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 w0={};nn(w0,{validateRippleAddress:()=>sf,parseXrplTokenIdentifier:()=>EH,normalizeCurrency:()=>ro,isKnownToken:()=>a8,isHexCurrency:()=>mf,hexToCurrency:()=>h8,hashes:()=>Tw,getXrplTokenInfo:()=>g8,getRippleToolbox:()=>fw,getKnownTokensByIssuer:()=>d8,formatXrplTokenIdentifier:()=>bH,currencyToHex:()=>ky,XRPL_TOKEN_ERROR_CODES:()=>af,XRPL_KNOWN_TOKENS:()=>gf});import{AssetValue as df,Chain as On,getChainConfig as SH,getRPCUrl as s8,SwapKitError as _n}from"@swapkit/helpers";import{match as kH,P as uH}from"ts-pattern";import{Client as e8,isValidAddress as $H,Wallet as nw,xrpToDrops as ow}from"xrpl";import{hashes as Tw}from"xrpl";function EH(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!$H(y[2]))return null;return{currency:y[1],issuer:y[2]}}function bH(n,y){return`${On.Ripple}.${n}-${y}`}function yw(n){if(n.isGasAsset)return ow(n.getValue("string"));let y=EH(n.toString());if(!y)throw new _n({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function IH(n){let y=nw.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function sf(n){return $H(n)}function fw(n={}){let y=kH(n).with({phrase:uH.string},({phrase:L})=>IH(L)).with({signer:uH.any},({signer:L})=>L).otherwise(()=>{return}),T;async function o(){let L=await s8(On.Ripple);if(!L)throw new _n({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:On.Ripple}});let N=new e8(L);return await N.connect(),N}async function f(){if(T){let L=await T.catch(()=>null);if(L?.isConnected())return L}return T=o(),T}let t=()=>{if(!y)throw new _n({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(L)=>{let N=L||await t(),{baseDecimal:J}=SH(On.Ripple),U=await f();try{let[B,q]=await Promise.all([U.request({account:N,command:"account_info"}),U.request({account:N,command:"account_lines"})]),Y=B.result.account_data.Balance,D=[df.from({chain:On.Ripple,fromBaseDecimal:J,value:Y})];for(let Q of q.result.lines){let O=bH(Q.currency,Q.account);if(Number.parseFloat(Q.balance)!==0)D.push(df.from({asset:O,asyncTokenLookup:!1,value:Q.balance}))}return D}catch(B){if(B.data?.error_code===PH.ACCOUNT_NOT_FOUND)return[df.from({chain:On.Ripple,value:0})];throw new _n({errorKey:"toolbox_ripple_get_balance_error",info:{address:N,error:B}})}},H=async()=>{let{baseDecimal:L}=SH(On.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return df.from({chain:On.Ripple,fromBaseDecimal:L,value:U})};async function A(L){let N=L||await t(),J=await f();try{return(await J.request({account:N,command:"account_lines"})).result.lines.map((B)=>({account:B.account,authorized:B.authorized??!1,balance:B.balance,currency:B.currency,freeze:B.freeze??!1,freezePeer:B.freeze_peer??!1,limit:B.limit,limitPeer:B.limit_peer,noRipple:B.no_ripple??!1,noRipplePeer:B.no_ripple_peer??!1,peerAuthorized:B.peer_authorized??!1,qualityIn:B.quality_in??0,qualityOut:B.quality_out??0}))}catch(U){if(U.data?.error_code===PH.ACCOUNT_NOT_FOUND)return[];throw new _n({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:N,error:U}})}}async function _({address:L,currency:N,issuer:J}){let U=await A(L),B=ky(N);return U.some((q)=>{return ky(q.currency)===B&&q.account===J})}async function G({currency:L,issuer:N,limit:J,sender:U}){let B=U||await t();if(!sf(N))throw new _n({errorKey:"core_transaction_invalid_recipient_address",info:{address:N}});let q=Number.parseFloat(J);if(Number.isNaN(q)||q<0)throw new _n({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:J}});let Y=await f(),D={Account:B,LimitAmount:{currency:L,issuer:N,value:J},TransactionType:"TrustSet"};return Y.autofill(D)}async function M({assetValue:L,recipient:N,memo:J,sender:U,destinationTag:B,extendBySeconds:q=150}){if(!sf(N))throw new _n({errorKey:"core_transaction_invalid_recipient_address"});let Y=U||await t();if(L.chain!==On.Ripple)throw new _n({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let D=yw(L),Q={Account:Y,Amount:D,Destination:N,TransactionType:"Payment",...B!==void 0&&{DestinationTag:B}};if(J)Q.Memos=[{Memo:{MemoData:Buffer.from(J).toString("hex")}}];let R=await(await f()).autofill(Q);if(R.LastLedgerSequence&&q>0)R.LastLedgerSequence+=Math.ceil(q/4);return R}function w(L){if(!y)throw new _n({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(L)}async function X(L){let J=await(await f()).submitAndWait(L),{result:U}=J;if(U.validated)return U.hash;let B=U.meta?.TransactionResult,q=kH(B).with(af.tecNO_LINE,()=>"No trust line exists for this token").with(af.tecPATH_DRY,()=>"Payment path could not deliver funds").with(af.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new _n({errorKey:"toolbox_ripple_broadcast_error",info:{chain:On.Ripple,...q?{reason:q}:{txResult:B}}})}let W=async(L)=>{try{let N=await w(L);return X(N.tx_blob)}catch(N){if(N instanceof _n)throw N;throw new _n({errorKey:"toolbox_ripple_broadcast_error",info:{chain:On.Ripple,error:N}})}};async function l(L){if(!y)throw new _n({errorKey:"toolbox_ripple_signer_not_found"});let N=await y.getAddress(),J=await M({...L,sender:N}),U=await w(J);return X(U.tx_blob)}async function Z(L){if(!y)throw new _n({errorKey:"toolbox_ripple_signer_not_found"});let N=await y.getAddress(),J=await G({...L,sender:N}),U=await w(J);return X(U.tx_blob)}function z(){let L=T;if(T=null,L)L.then((N)=>{if(N?.isConnected())return N.disconnect();return}).catch((N)=>{console.warn("XRPL Cleanup failed silently:",N)})}return{broadcastTransaction:X,createSigner:IH,createTransaction:M,disconnect:z,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:A,hasTrustLine:_,setTrustLine:G,setTrustLineAndBroadcast:Z,signAndBroadcastTransaction:W,signTransaction:w,transfer:l,validateAddress:sf}}var PH,af;var q0=p(()=>{rf();rf();pH();PH={ACCOUNT_NOT_FOUND:19},af={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});import{sha256 as tw}from"@noble/hashes/sha2.js";import{bytesToHex as vH,hexToBytes as VH}from"@noble/hashes/utils.js";import{SwapKitError as go}from"@swapkit/helpers";function G0(n,y){let T=0n,o=0n,f=y;while(f<n.length&&f-y<10){let t=n[f++];if(t===void 0)break;if(T|=BigInt(t&127)<<o,o+=7n,(t&128)===0)return[T,f]}throw new go("toolbox_tron_transaction_creation_failed")}function uy(n){let y=[],T=n<0n?n+2n**64n:n;while(T>=128n)y.push(Number(T&0x7fn)|128),T>>=7n;return y.push(Number(T)),y}function ef(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function _w(n){let y=new Map,T=0;while(T<n.length){let[o,f]=G0(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===nT){let[H,A]=G0(n,T);T=A,ef(y,t,{data:new Uint8Array(uy(H)),wireType:nT})}else if(C===oT){let[H,A]=G0(n,T);T=A;let _=Number(H);if(_<0||T+_>n.length)throw new go("toolbox_tron_transaction_creation_failed");let G=n.slice(T,T+_);T+=_,ef(y,t,{data:G,wireType:oT})}else if(C===jH){if(T+8>n.length)throw new go("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,ef(y,t,{data:H,wireType:jH})}else if(C===KH){if(T+4>n.length)throw new go("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,ef(y,t,{data:H,wireType:KH})}else throw new go("toolbox_tron_transaction_creation_failed")}return y}function Uw(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[A])=>H-A))for(let{wireType:H,data:A}of C){let _=BigInt(t<<3|H);if(y.push(new Uint8Array(uy(_))),H===oT)y.push(new Uint8Array(uy(BigInt(A.length))));y.push(A)}let T=y.reduce((t,C)=>t+C.length,0),o=new Uint8Array(T),f=0;for(let t of y)o.set(t,f),f+=t.length;return o}function cH(n,y){if(!n||n.length%2!==0)throw new go("toolbox_tron_transaction_creation_failed");let T=VH(n),o=_w(T);if(y.expiration!==void 0)o.set(Cw,[{data:new Uint8Array(uy(BigInt(y.expiration))),wireType:nT}]);if(y.data!==void 0)o.set(Hw,[{data:VH(y.data),wireType:oT}]);if(y.fee_limit!==void 0)o.set(Aw,[{data:new Uint8Array(uy(BigInt(y.fee_limit))),wireType:nT}]);let f=Uw(o),t=vH(f),C=vH(tw(f));return{raw_data_hex:t,txID:C}}var nT=0,jH=1,oT=2,KH=5,Cw=8,Hw=10,Aw=18;var iH=()=>{};import{secp256k1 as hH}from"@noble/curves/secp256k1.js";import{sha256 as mH}from"@noble/hashes/sha2.js";import{keccak_256 as ww}from"@noble/hashes/sha3.js";import{bytesToHex as ao,hexToBytes as yT}from"@noble/hashes/utils.js";import{createBase58check as qw}from"@scure/base";import{SwapKitError as rH}from"@swapkit/helpers";function Rn(n){if(typeof n!=="string")return!1;try{let y=fT.decode(n);return y.length===21&&y[0]===gH}catch{return!1}}function dH(n){return ao(fT.decode(n))}function lw(n){return fT.decode(n).slice(1)}function aH(n){let y=hH.getPublicKey(yT(n),!1),T=ww(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=gH,o.set(T,1),fT.encode(o)}function sH({txID:n,privateKey:y}){let T=hH.sign(yT(n),yT(y),{format:"recovered",prehash:!1}),o=T[0]??0,f=ao(T.slice(1,33)),t=ao(T.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+t+C}function so({txID:n,raw_data_hex:y}){let T=ao(mH(yT(y)));if(n!==T)throw new rH("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function Xw(n){return`000000000000000000000000${ao(lw(n))}`}function Ww(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=Gw)throw new rH("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function eo(n){return n.map(({type:y,value:T})=>y==="address"?Xw(T):Ww(BigInt(T))).join("")}function eH(n){return ao(new TextEncoder().encode(n))}var fT,gH=65,Gw;var l0=p(()=>{fT=qw(mH),Gw=2n**256n});import{Chain as Bw,getRPCUrlSync as Mw,SwapKitError as xn,warnOnce as X0}from"@swapkit/helpers";function oA(){try{return Mw(Bw.Tron)}catch{return nA}}function yA(){let n=new AbortController,y=setTimeout(()=>n.abort(),Jw);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function ny(n,y){let{signal:T,cleanup:o}=yA();try{let f=await fetch(`${oA()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:T});if(!f.ok)throw new xn("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function fA(n,y){let{signal:T,cleanup:o}=yA();try{let f=await fetch(`${y??oA()}${n}`,{headers:{"Content-Type":"application/json"},signal:T});if(!f.ok)throw new xn("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function TA(n){if(!Rn(n))throw new xn("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await fA(`/v1/accounts/${n}`,nA);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=dH(n).toLowerCase()}catch{T=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===T);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof xn)throw y;throw new xn("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function tA({from:n,to:y,amount:T}){let f=await ny("/wallet/createtransaction",{amount:T,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new xn("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==T)throw new xn("toolbox_tron_transaction_creation_failed");return so(f),f}async function CA({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await ny("/wallet/triggersmartcontract",{call_value:t,contract_address:y,fee_limit:f,function_selector:T,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new xn("toolbox_tron_transaction_creation_failed");let A=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(A?.contract_address!==y||A?.owner_address!==n)throw new xn("toolbox_tron_transaction_creation_failed");return so(C.transaction),C.transaction}function HA({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return ny("/wallet/triggerconstantcontract",{contract_address:y,function_selector:T,owner_address:n,parameter:o,visible:!0})}async function Py(n){try{let{result:y,txid:T}=await ny("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!T)throw new xn("toolbox_tron_token_transfer_failed");return T}catch(y){throw new xn("toolbox_tron_broadcast_failed",{error:y})}}async function TT(){let n={};try{let{chainParameter:y}=await fA("/wallet/getchainparameters");for(let T of y)n[T.key]=T.value}catch(y){X0({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??Lw,createAccountFee:n.getCreateAccountFee??Qw,energyFee:n.getEnergyFee??Zw}}async function W0(n){try{let y=await ny("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return X0({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function B0(n){try{let y=await ny("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function M0(n){try{let{energy_used:y}=await HA({...n,ownerAddress:n.sender});return y}catch(y){return X0({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function AA({assetAddress:n,owner:y,spender:T}){let o=eo([{type:"address",value:y},{type:"address",value:T}]),t=(await HA({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:T,parameter:o})).constant_result?.[0];if(!t)return 0n;try{return BigInt(`0x${t}`)}catch{return 0n}}var nA="https://api.trongrid.io",Lw=1000,Qw=1e5,Zw=420,Jw=30000;var _A=p(()=>{l0()});import{bytesToHex as Yw}from"@noble/hashes/utils.js";import{HDKey as Nw}from"@scure/bip32";import{mnemonicToSeedSync as zw}from"@scure/bip39";import{AssetValue as rn,BaseDecimal as UA,Chain as Qn,derivationPathToString as GA,getRPCUrl as Dw,NetworkDerivationPath as lA,SwapKitError as Hn,updateDerivationPath as XA,warnOnce as wA}from"@swapkit/helpers";import{match as Ow,P as L0}from"ts-pattern";function BA({phrase:n,derivationPath:y}){let T=Nw.fromMasterSeed(zw(n)).derive(y);if(!T.privateKey)throw new Hn("toolbox_tron_no_signer");return Yw(T.privateKey)}function MA({phrase:n,derivationPath:y,index:T}){let o=y||GA(XA(lA[Qn.Tron],{index:T||0}));return BA({derivationPath:o,phrase:n})}function Sw({phrase:n,derivationPath:y}){let T=BA({derivationPath:y,phrase:n}),o=aH(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{so(f);let t=sH({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function qA({transaction:n,memo:y,expiration:T,feeLimit:o}){let f={},t={};if(o!==void 0&&n.raw_data)f.fee_limit=o,t.fee_limit=o;if(y){let A=eH(y);f.data=A,t.data=A}if(T){let A=n.raw_data.expiration+T*1000;f.expiration=A,t.expiration=A}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=cH(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function LA(n={}){let y="index"in n?n.index||0:0,T=GA("derivationPath"in n&&n.derivationPath?n.derivationPath:XA(lA[Qn.Tron],{index:y})),o,f=!1;function t(){if(f)return Promise.resolve(o);return o=Ow(n).with({phrase:L0.string},({phrase:U})=>Sw({derivationPath:T,phrase:U})).with({signer:L0.not(L0.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await t();if(!U)throw new Hn("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let B=U||xw,q=await TT(),Y=B*q.energyFee,D=Math.ceil(Y*1.5);return Math.min(Math.max(D,1e7),150000000)}async function A({contractAddress:U,functionSelector:B,parameter:q,sender:Y,memo:D,expiration:Q}){let O=await M0({contractAddress:U,functionSelector:B,parameter:q,sender:Y}),R=await H(O),S=await CA({contractAddress:U,feeLimit:R,functionSelector:B,ownerAddress:Y,parameter:q});return qA({expiration:Q,feeLimit:R,memo:D,transaction:S})}async function _(U){if(!Rn(U))return[rn.from({chain:Qn.Tron})];try{let B=await TA(U);if(!B)return[rn.from({chain:Qn.Tron})];let q=[rn.from({chain:Qn.Tron,fromBaseDecimal:6,value:String(B.balance)})],Y=B.trc20?.find((D)=>(Q0 in D));if(Y){let D=Y[Q0];q.push(rn.from({asset:`TRON.USDT-${Q0}`,fromBaseDecimal:6,value:D}))}return q}catch(B){return wA({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${B instanceof Error?B.message:B}`}),[rn.from({chain:Qn.Tron})]}}async function G({recipient:U,assetValue:B,memo:q,expiration:Y}){if(!Rn(U))throw new Hn("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await t();if(!D)throw new Hn("toolbox_tron_no_signer");try{let Q=await C(),O=await l({assetValue:B,expiration:Y,memo:q,recipient:U,sender:Q}),R=await D.signTransaction(O),S=await Py(R);if(!S)throw new Hn("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return S}catch(Q){throw new Hn("toolbox_tron_token_transfer_failed",{message:Q instanceof Error?Q.message:String(Q)})}}function M({requiredBandwidth:U,resources:B,feePerUnit:q}){let Y=Math.max(0,B.free+B.total-B.used);return U>Y?(U-Y)*q:0}async function w({recipient:U,senderAddress:B}){let[q,Y,D]=await Promise.all([TT(),B0(U),W0(B)]),Q=Y?0:q.createAccountFee,O=M({feePerUnit:q.bandwidthFee,requiredBandwidth:Rw,resources:D.bandwidth});return rn.from({chain:Qn.Tron,fromBaseDecimal:UA.TRON,value:Q+O})}async function X({assetValue:U,recipient:B,senderAddress:q}){let Y=U.address;if(!Y)throw new Hn("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[D,Q,O,R]=await Promise.all([TT(),B0(B),W0(q),M0({contractAddress:Y,functionSelector:"transfer(address,uint256)",parameter:eo([{type:"address",value:B},{type:"uint256",value:U.getBaseValue("string")}]),sender:q})]),S=Q?0:D.createAccountFee,k=M({feePerUnit:D.bandwidthFee,requiredBandwidth:Fw,resources:O.bandwidth}),I=Math.max(0,O.energy.total-O.energy.used),b=R>I?(R-I)*D.energyFee:0;return rn.from({chain:Qn.Tron,fromBaseDecimal:UA.TRON,value:S+k+b})}async function W({assetValue:U,recipient:B,sender:q}){let Y=await t();try{let D=q?q:Y?await C():void 0;if(!D)return U.isGasAsset?rn.from({chain:Qn.Tron,value:0.1}):rn.from({chain:Qn.Tron,value:15});return U.isGasAsset?w({recipient:B,senderAddress:D}):X({assetValue:U,recipient:B,senderAddress:D})}catch(D){throw wA({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new Hn("toolbox_fee_estimation_failed",{chain:Qn.Tron,error:D})}}async function l({recipient:U,assetValue:B,memo:q,sender:Y,expiration:D}){if(!Rn(U)||!Rn(Y))throw new Hn("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(B.isGasAsset){let O=await tA({amount:B.getBaseValue("number"),from:Y,to:U});return qA({expiration:D,memo:q,transaction:O})}let Q=B.address;if(!Q)throw new Hn("toolbox_tron_invalid_token_identifier",{identifier:B.toString()});return A({contractAddress:Q,expiration:D,functionSelector:"transfer(address,uint256)",memo:q,parameter:eo([{type:"address",value:U},{type:"uint256",value:B.getBaseValue("string")}]),sender:Y})}async function Z(U){so(U);let B=await t();if(!B)throw new Hn("toolbox_tron_no_signer");return B.signTransaction(U)}async function z(U){let B=await Z(U);return Py(B)}function L({assetAddress:U,spenderAddress:B,from:q}){return AA({assetAddress:U,owner:q,spender:B})}async function N({assetAddress:U,spenderAddress:B,from:q,amount:Y}){let D=await L({assetAddress:U,from:q,spenderAddress:B});if(!Y)return D>0n;return D>=BigInt(Y)}async function J({assetAddress:U,spenderAddress:B,amount:q,from:Y}){if(!Rn(U)||!Rn(B))throw new Hn("toolbox_tron_approve_failed");let D=await t();if(!D)throw new Hn("toolbox_tron_no_signer");let Q=Y||await C(),O=q!==void 0?BigInt(q).toString():pw;try{let R=await A({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:eo([{type:"address",value:B},{type:"uint256",value:O}]),sender:Q}),S=await D.signTransaction(R),k=await Py(S);if(!k)throw new Hn("toolbox_tron_approve_failed");return k}catch(R){if(R instanceof Hn)throw R;throw new Hn("toolbox_tron_approve_failed",{error:R})}}return{approve:J,broadcastTransaction:Py,createTransaction:l,estimateTransactionFee:W,getAddress:C,getApprovedAmount:L,getBalance:_,getRpcUrl:()=>Dw(Qn.Tron),isApproved:N,signAndBroadcastTransaction:z,signTransaction:Z,transfer:G,validateAddress:Rn}}var WA,Rw=268,xw=65000,Fw=345,Q0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",pw="115792089237316195423570985008687907853269984665640564039457584007913129639935";var QA=p(()=>{iH();_A();l0();WA=Rn});var Z0={};nn(Z0,{validateTronAddress:()=>WA,getTronToolbox:()=>LA,getTronPrivateKeyFromMnemonic:()=>MA});var J0=p(()=>{QA()});import{AssetValue as Iy,Chain as Co,derivationPathToString as kw,getChainConfig as uw,getRPCUrl as Pw,NetworkDerivationPath as Iw,SwapKitError as Ho}from"@swapkit/helpers";import{match as $w,P as Ew}from"ts-pattern";function tT(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return bw.test(n)}async function vw(n){if(!tT(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function ZA(n={}){let y,T=n.derivationPath||Iw[Co.Stellar],o=kw(T.slice(0,3));async function f({phrase:l,path:Z}){let{HDKey:z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:N}=await import("@stellar/stellar-sdk"),J=L(l),B=z.fromMasterSeed(J).derive(Z,!0);return N.fromRawEd25519Seed(Buffer.from(B.privateKey))}async function t(){if(y)return y;let l=$w(n).with({phrase:Ew.string},({phrase:Z})=>Z).otherwise(()=>{return});if(!l)throw new Ho("toolbox_stellar_no_signer");return y=await f({path:o,phrase:l}),y}async function C(){let{Horizon:l}=await import("@stellar/stellar-sdk"),Z=await Pw(Co.Stellar);return new l.Server(Z)}async function H(){try{return(await t()).publicKey()}catch{return""}}async function A(l){let Z=l||await H();if(!Z)throw new Ho("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Z)).balances.map((N)=>{if(N.asset_type==="native")return Iy.from({chain:Co.Stellar,value:N.balance});let J="asset_code"in N?N.asset_code:"",U="asset_issuer"in N?N.asset_issuer:"";return Iy.from({asset:`${Co.Stellar}.${J}-${U}`,asyncTokenLookup:!1,value:N.balance})})}catch{return[Iy.from({chain:Co.Stellar,value:0})]}}async function _({recipient:l,assetValue:Z,memo:z,sender:L}){if(z){if(new TextEncoder().encode(z).length>28)throw new Ho("helpers_invalid_memo_type")}if(!await vw(l))throw new Ho("core_transaction_invalid_recipient_address");let J=L||await H();if(!J)throw new Ho("toolbox_stellar_no_signer");let{Asset:U,Memo:B,Networks:q,Operation:Y,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),Q=await C(),O=await Q.fetchBaseFee(),R=await Q.loadAccount(J),S=new D(R,{fee:String(O),networkPassphrase:q.PUBLIC});if(Z.isGasAsset)try{await Q.loadAccount(l),S.addOperation(Y.payment({amount:Z.getValue("string"),asset:U.native(),destination:l}))}catch{S.addOperation(Y.createAccount({destination:l,startingBalance:Z.getValue("string")}))}else S.addOperation(Y.payment({amount:Z.getValue("string"),asset:new U(Z.symbol,Z.address),destination:l}));if(z)S.addMemo(B.text(z));return S.setTimeout(30).build()}async function G(l){let{TransactionBuilder:Z,Networks:z}=await import("@stellar/stellar-sdk"),L=await t(),N=Z.fromXDR(l.toXDR(),z.PUBLIC);return N.sign(L),N}async function M(l){try{let Z=await C(),{hash:z}=await Z.submitTransaction(l);return z}catch(Z){throw new Ho("toolbox_stellar_broadcast_error",Z)}}async function w({recipient:l,assetValue:Z,memo:z}){let L=await t(),N=L.publicKey(),J=await _({assetValue:Z,memo:z,recipient:l,sender:N});J.sign(L);try{return(await(await C()).submitTransaction(J)).hash}catch(U){if(U instanceof Ho)throw U;throw new Ho("toolbox_stellar_transaction_failed",U)}}async function X(l){let Z=await G(l);return M(Z)}async function W(){let{baseDecimal:l}=uw(Co.Stellar);try{let L=(await(await C()).feeStats()).fee_charged.p50;return Iy.from({chain:Co.Stellar,fromBaseDecimal:l,value:L})}catch{return Iy.from({chain:Co.Stellar,fromBaseDecimal:l,value:"100"})}}return{broadcastTransaction:M,createTransaction:_,estimateTransactionFee:W,getAddress:H,getBalance:A,signAndBroadcastTransaction:X,signTransaction:G,transfer:w,validateAddress:tT}}var bw;var JA=p(()=>{bw=/^G[A-Z2-7]{55}$/});var CT={};nn(CT,{validateStellarAddress:()=>tT,getStellarToolbox:()=>ZA});var HT=p(()=>{JA()});import{AssetValue as Vw,Chain as $,CosmosChains as Y0,EVMChains as N0,FeeOption as jw,SwapKitError as Kw,UTXOChains as NA}from"@swapkit/helpers";async function AX(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (Ey(),$y)),{validateEVMAddress:T}=await Promise.resolve().then(() => (uT(),HC)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (vT(),bT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Wf(),Xf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (Wt(),Xt)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (Zt(),Qt)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (zf(),Nf)),{validateSuiAddress:A}=await Promise.resolve().then(() => (Rf(),Of)),{validateTonAddress:_}=await Promise.resolve().then(() => (pf(),Ff)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (it(),ct)),{validateNearAddress:M}=await Promise.resolve().then(() => (H0(),C0)),{validateRadixAddress:w}=await Promise.resolve().then(() => (U0(),_0)),{validateRippleAddress:X}=await Promise.resolve().then(() => (q0(),w0)),{validateTronAddress:W}=await Promise.resolve().then(() => (J0(),Z0)),{validateStellarAddress:l}=await Promise.resolve().then(() => (HT(),CT));return function({address:z,chain:L}){return n(L).with(...N0,()=>T(z)).with(...NA,(J)=>{return G(J)(z)}).with(...Y0,(J)=>{return f(J)(z)}).with($.Aptos,()=>y(z)).with($.Radix,()=>w(z)).with($.HyperCore,()=>t(z)).with($.Near,()=>M(z)).with($.Ripple,()=>X(z)).with($.Solana,()=>C(z)).with($.Stellar,()=>l(z)).with($.Starknet,()=>H(z)).with($.Sui,()=>A(z)).with($.Ton,()=>_(z)).with($.Tron,()=>W(z)).with($.Cardano,()=>o(z)).otherwise(()=>!1)}}function _X(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...N0,async(f)=>{let t=await YA(f),C=await t.createTransaction(T),H="feeOptionKey"in T?T.feeOptionKey:jw.Fast;return t.estimateTransactionFee({...C,feeOption:H})}).with($.Bitcoin,$.BitcoinCash,$.Dogecoin,$.Dash,$.Litecoin,$.Solana,$.Ripple,$.Tron,$.Near,$.Cardano,$.HyperCore,async(f)=>{return(await YA(f)).estimateTransactionFee(T)}).with($.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (Ey(),$y));return f().estimateTransactionFee(T)}).with($.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (zf(),Nf));return(await f()).estimateTransactionFee(T)}).with($.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (HT(),CT));return f().estimateTransactionFee()}).with($.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Rf(),Of));return f().estimateTransactionFee(T)}).with($.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (pf(),Ff));return f().estimateTransactionFee(T)}).with(...Y0,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Wf(),Xf));return f(T)}).otherwise(async()=>Vw.from({chain:n}))}}async function YA(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...N0,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (kT(),TC));return await o(n,y)}).with(...NA,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (it(),ct));return o(n,y)}).with(...Y0,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Wf(),Xf));return o(n,y)}).with($.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (Ey(),$y));return o(y)}).with($.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (Wt(),Xt));return o(y)}).with($.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (U0(),_0));return o(y)}).with($.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (q0(),w0));return o(y)}).with($.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (Zt(),Qt));return o(y)}).with($.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (HT(),CT));return o(y)}).with($.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (zf(),Nf));return o(y)}).with($.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Rf(),Of));return o(y)}).with($.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (J0(),Z0));return o(y)}).with($.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (H0(),C0));return o(y)}).with($.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (vT(),bT));return o(y)}).with($.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (pf(),Ff));return o(y)}).otherwise(()=>{throw new Kw("toolbox_not_supported",{chain:n})})}export{YA as getToolbox,_X as getFeeEstimator,AX as getAddressValidator};
|
|
1
|
+
var x_=Object.defineProperty;var F_=(n)=>n;function S_(n,y){this[n]=F_.bind(null,y)}var e=(n,y)=>{for(var T in y)x_(n,T,{get:y[T],enumerable:!0,configurable:!0,set:S_.bind(y,T)})};var k=(n,y)=>()=>(n&&(y=n(n=0)),y);var F=((n)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(y,T)=>(typeof require<"u"?require:y)[T]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});import{AssetValue as fy,Chain as In,derivationPathToString as p_,getChainConfig as qT,getRPCUrlSync as R0,NetworkDerivationPath as k_,SwapKitError as yn}from"@swapkit/helpers";import{match as x0,P as GT}from"ts-pattern";function zo(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return u_.test(y)}function F0({derivationPath:n,provider:y,...T}={}){let o,f=p_(n||k_[In.Aptos],{allHardened:!0});async function t(){if(o)return o;return o=await x0(T).with({phrase:GT.string},async({phrase:G})=>{let{Ed25519Account:Q}=await import("@aptos-labs/ts-sdk");return Q.fromDerivationPath({mnemonic:G,path:f})}).with({signer:GT.any},({signer:G})=>G).otherwise(()=>{return}),o}async function C(){let{Aptos:G,AptosConfig:Q}=await import("@aptos-labs/ts-sdk"),z=new Q({fullnode:y||R0(In.Aptos)});return new G(z)}async function H(){return(await t())?.accountAddress.toString()||""}async function _(G){let Q=G||await H();if(!Q)throw new yn("toolbox_aptos_address_required");let{baseDecimal:z,chain:L}=qT(In.Aptos);try{let Y=await C(),Z=await Y.getAccountAPTAmount({accountAddress:Q}),U=[fy.from({chain:L,fromBaseDecimal:z,value:Z.toString()})],B=await Y.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Q}}}});for(let J of B){if(J.asset_type===wo.COIN_TYPE||Number(J.amount)<=0)continue;let D=J.asset_type;if(D){let W=("metadata"in J&&typeof J.metadata==="object"&&J.metadata!==null?J.metadata:void 0)?.decimals??z;U.push(fy.from({asset:`${In.Aptos}.APT-${D}`,fromBaseDecimal:W,value:String(J.amount)}))}}return U}catch{return[fy.from({chain:L})]}}async function A(G){if(!G){let{baseDecimal:B}=qT(In.Aptos),J=y||R0(In.Aptos),D=await fetch(`${J}/estimate_gas_price`),{gas_estimate:R}=await D.json();return fy.from({chain:In.Aptos,fromBaseDecimal:B,value:String(R)})}let Q=await t();if(!Q)throw new yn("toolbox_aptos_no_signer");let z=await X(G),L=await C(),[Y]=await L.transaction.simulate.simple({signerPublicKey:Q.publicKey,transaction:z});if(!Y)throw new yn("toolbox_aptos_transaction_creation_error");let Z=BigInt(Y.gas_used)*BigInt(Y.gas_unit_price),{baseDecimal:U}=qT(In.Aptos);return fy.from({chain:In.Aptos,fromBaseDecimal:U,value:Z.toString()})}async function X({recipient:G,assetValue:Q,maxGasAmount:z,sender:L}){if(!zo(G))throw new yn("core_transaction_invalid_recipient_address");let Y=L||await H();if(!Y)throw new yn("toolbox_aptos_no_sender");let{AccountAddress:Z}=await import("@aptos-labs/ts-sdk"),U=await C(),B=Z.from(Y);try{let J=Q.isGasAsset?wo.TRANSFER:wo.FUNGIBLE_STORE_TRANSFER,D=x0({address:Q?.address,isGasAsset:Q.isGasAsset}).with({isGasAsset:!0},()=>[Z.from(G),Q.getBaseValue("bigint")]).with({address:GT.string},({address:R})=>[Z.from(R),Z.from(G),Q.getBaseValue("bigint")]).otherwise(()=>null);if(!D)throw new yn("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:J,functionArguments:D,typeArguments:Q.isGasAsset?[]:[wo.FUNGIBLE_ASSET_METADATA]},options:z?{maxGasAmount:z}:void 0,sender:B})}catch(J){if(J instanceof yn)throw J;throw new yn("toolbox_aptos_transaction_creation_error",J)}}async function M(G){let Q=await t();if(!Q)throw new yn("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Q,transaction:G})}async function l({assetValue:G,maxGasAmount:Q,recipient:z}){let L=await t();if(!L)throw new yn("toolbox_aptos_no_signer");if(!zo(z))throw new yn("core_transaction_invalid_recipient_address");try{let Y=L.accountAddress.toString(),Z=await X({assetValue:G,maxGasAmount:Q,recipient:z,sender:Y});return(await(await C()).signAndSubmitTransaction({signer:L,transaction:Z})).hash}catch(Y){if(Y instanceof yn)throw Y;throw new yn("toolbox_aptos_transaction_creation_error",Y)}}async function w({senderAuthenticator:G,transaction:Q}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:G,transaction:Q})).hash}catch(z){throw new yn("toolbox_aptos_broadcast_error",z)}}async function q(G){let Q=await M(G);return w({senderAuthenticator:Q,transaction:G})}return{broadcastTransaction:w,createTransaction:X,estimateTransactionFee:A,getAddress:H,getBalance:_,signAndBroadcastTransaction:q,signTransaction:M,transfer:l,validateAddress:zo}}function S0({provider:n}){return async function({assetValue:T,recipient:o}){if(!zo(o))throw new yn("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(T.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),T.getBaseValue("string")],function:wo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let t=T.address;if(!t)throw new yn("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[t,f.from(o).toString(),T.getBaseValue("string")],function:wo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[wo.FUNGIBLE_ASSET_METADATA]})).hash}}var wo,u_;var p0=k(()=>{wo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},u_=/^[0-9a-fA-F]+$/});var vy={};e(vy,{validateAptosAddress:()=>zo,getAptosToolbox:()=>F0,createAptosExtensionTransfer:()=>S0});var Vy=k(()=>{p0()});import{AssetValue as k0,getChainConfig as P_}from"@swapkit/helpers";import{SwapKitApi as I_}from"@swapkit/helpers/api";function u0(){function n(){let y=Date.now(),T=lT||y;return lT=T,y>lT?y:T+1}return $_+n().toString(36)}function wn(n){return async function(T,o=!0){let f=await I_.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=P_(n),C=f.map(({identifier:_,value:A,decimal:X})=>{return new k0({decimal:X||t,identifier:_,value:A})});if(!C.some((_)=>_.isGasAsset))return[k0.from({chain:n}),...C];return C}}var $_,lT=0;var $n=k(()=>{$_=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Ty(n){return{getBalance:wn(n)}}function E_(n){return n}var Ky=k(()=>{$n()});import{Chain as h,getChainConfig as MT,getRPCUrl as b_,SwapKitError as jy}from"@swapkit/helpers";import{getAddress as I0,Interface as v_,JsonRpcProvider as V_}from"ethers";import{match as $0}from"ts-pattern";function E0(n){return new V_(n)}async function LT(n,y){return E0(y||await b_(n))}function ty(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function QT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=MT(n);return function(){return n!==h.Ethereum?{...K_({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function ZT(n){return![h.Adi,h.Arbitrum,h.BinanceSmartChain].includes(n)}function K_({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=MT(n);return $0(n).with(h.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:h.Ethereum}})).with(h.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:h.Ethereum}})).with(h.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(h.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:h.Ethereum}})).with(h.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(h.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(h.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(h.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(h.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:h.Ethereum}})).with(h.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:h.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:T,symbol:T}}))}async function JT(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let T={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(T)}function b0(n,y){let T=y!==void 0?`index ${y}: `:"",o=(f,t)=>{throw new jy({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${T}${t}`}})};$0(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!j_(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!P0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!P0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function v0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:T})=>({name:y,type:T}))}function XT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function WT(n,y){if(n.isTuple()&&n.components){let T=XT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:WT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=XT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:WT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function BT(n,y){if(typeof n==="bigint")return n;if(y?.isTuple()&&typeof n?.toObject==="function"){let T=n.toObject(),o={};for(let[f,t]of(y.components??[]).entries())o[t.name]=BT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>BT(o,T??void 0))}return n}function c_({chain:n,abi:y,data:T,to:o}){let t=new v_(y).parseTransaction({data:T});if(!t)throw new jy({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=XT(t.name);C[H]=t.fragment.inputs.map((l)=>({name:l.name,type:WT(l,C)}));let _={};for(let[l,w]of t.fragment.inputs.entries())_[w.name]=BT(t.args[l],w);let{chainId:A}=MT(n),X={chainId:Number(A),verifyingContract:I0(o)},M=v0(X);return{domain:X,message:_,primaryType:H,types:{EIP712Domain:M,...C}}}function YT(n,y){if(!Array.isArray(n)||n.length===0)throw new jy({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[T,o]of n.entries())if(b0(o,T),y!==void 0&&o.chainId!==y)throw new jy({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${T}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var P0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),j_=(n)=>{try{return typeof n==="string"&&!!I0(n)}catch{return!1}};var Cy=()=>{};var V0;var K0=k(()=>{V0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as i_,applyFeeMultiplierToBigInt as qn,Chain as Jn,EVMChains as h_,FeeOption as V,isGasAsset as m_,SwapKitError as c,SwapKitNumber as cy}from"@swapkit/helpers";import{erc20ABI as Hy}from"@swapkit/helpers/contracts";import{BrowserProvider as r_,Contract as j0,getAddress as iy,Interface as c0}from"ethers";import{match as i0}from"ts-pattern";function Do({chain:n=Jn.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:e_({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:r0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:RT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:fA({chain:n,provider:y,signer:T}),createContract:zT({chain:n,provider:y}),createContractTxObject:qo({chain:n,provider:y}),createTransaction:NT({chain:n,provider:y,signer:T}),createTransferTx:NT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:Ro(y),estimateCall:g0({provider:y,signer:T}),estimateGasLimit:oA({chain:n,provider:y,signer:T}),estimateGasPrices:Go({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:TA({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:Ty(n).getBalance,getNetworkParams:QT(n),isApproved:s_({chain:n,provider:y}),sendTransaction:d0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:yA({signer:T}),signMessage:T?(f)=>T.signMessage(f):void 0,signTypedData:T?({domain:f,types:t,value:C})=>T.signTypedData(f,t,C):void 0,transfer:nA({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:Ay}}function Ay(n){try{return iy(n),!0}catch{return!1}}function Oo(n){return n instanceof r_}function Uy(n,y,T){return new j0(n,c0.from(y),T)}function zT({provider:n}){return function(T,o){return new j0(T,c0.from(o),n)}}function DT({abi:n,funcName:y}){let T=n.find((o)=>o.name===y);if(!T)throw new c("toolbox_evm_no_abi_fragment",{funcName:y});return T.stateMutability&&g_.includes(T.stateMutability)}function h0(n){return iy(n)}function Ro(n){return function({value:T,...o}){if(!Oo(n))throw new c("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,..._}=o;return n.send("eth_sendTransaction",[{..._,value:ty(BigInt(T||0))}])}}function m0(n,y){let T=xo(n,y);if(T)return iy(T.toLowerCase());throw new c("toolbox_evm_invalid_gas_asset_address")}function xo({chain:n,symbol:y,ticker:T},o){try{let f=n===Jn.BinanceSmartChain&&y==="BNB"&&T==="BNB",t=n===Jn.Hyperevm&&y==="HYPE"&&T==="HYPE",C=n===o&&y===o&&T===o,H=a_.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return OT[o];return iy(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function qo({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>Uy(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Go({chain:n,provider:y,isEIP1559Compatible:T=!0}){return i0(n).with(Jn.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:t}=await y.getFeeData();if(!f||t===null)throw new c("toolbox_evm_no_fee_data");return{[V.Average]:{maxFeePerGas:qn(f,V.Average),maxPriorityFeePerGas:qn(t,V.Average)},[V.Fast]:{maxFeePerGas:qn(f,V.Fast),maxPriorityFeePerGas:qn(t,V.Fast)},[V.Fastest]:{maxFeePerGas:qn(f,V.Fastest),maxPriorityFeePerGas:qn(t,V.Fastest)}}}catch(f){throw new c("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(Jn.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new c("toolbox_evm_no_fee_data");let t=f*12n/10n;return{[V.Average]:{gasPrice:t},[V.Fast]:{gasPrice:qn(t,V.Fast)},[V.Fastest]:{gasPrice:qn(t,V.Fastest)}}}catch(f){throw new c("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:t,gasPrice:C}=await y.getFeeData();if(T){if(f===null||t===null)throw new c("toolbox_evm_no_fee_data");return{[V.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:t},[V.Fast]:{maxFeePerGas:qn(f,V.Fast),maxPriorityFeePerGas:qn(t,V.Fast)},[V.Fastest]:{maxFeePerGas:qn(f,V.Fastest),maxPriorityFeePerGas:qn(t,V.Fastest)}}}if(!C)throw new c("toolbox_evm_no_gas_price");return{[V.Average]:{gasPrice:C},[V.Fast]:{gasPrice:qn(C,V.Fast)},[V.Fastest]:{gasPrice:qn(C,V.Fastest)}}}catch(f){throw new c("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function RT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:_,funcParams:A=[],txOverrides:X={},feeOption:M=V.Fast}){let l=t||n;if(!C)throw new c("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let w=DT({abi:H,funcName:_});if(w&&Oo(l)&&T){let Q=qo({chain:o,provider:l}),z=X?.from||await T?.getAddress(),L=await Q({abi:H,contractAddress:C,funcName:_,funcParams:A,txOverrides:{...X,from:z}});return Ro(l)(L)}let q=Uy(C,H,l);if(w){if(!T)throw new c("toolbox_evm_no_signer");let Q=X?.from||await T.getAddress();if(!Q)throw new c("toolbox_evm_no_signer_address");let z=q.connect(T),L=Go({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:Y,maxPriorityFeePerGas:Z,gasPrice:U}=(await L())[M],B=await q.getFunction(_).estimateGas(...A,X),J=await z[_](...A,{...X,gasLimit:B,gasPrice:U,maxFeePerGas:Y,maxPriorityFeePerGas:Z,nonce:X?.nonce||await l.getTransactionCount(Q)});return typeof J?.hash==="string"?J?.hash:J}let G=await q[_]?.(...A);return typeof G?.hash==="string"?G?.hash:G}}function r0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return RT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Hy,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function s_({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=_y}){let H=await r0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return cy.fromBigInt(H).gte(cy.fromBigInt(BigInt(C)))}}function e_({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=V.Fast,amount:_,gasLimitFallback:A,from:X,nonce:M}){let l=[C,BigInt(_||_y)],w=await n?.getAddress()||X,q={abi:Hy,contractAddress:t,funcName:"approve",funcParams:l,signer:n,txOverrides:{from:w}};if(Oo(T)){let Q=qo({chain:o,provider:T}),z=Ro(T),L=await Q(q);return z(L)}return RT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...q,feeOption:H,funcParams:l,txOverrides:{from:w,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function nA({signer:n,isEIP1559Compatible:y=!0,provider:T}){return async function({assetValue:f,memo:t,recipient:C,feeOptionKey:H=V.Fast,sender:_,...A}){let{hexlify:X,toUtf8Bytes:M}=await import("ethers"),l=f.getBaseValue("bigint"),w=f.chain,q=_||await n?.getAddress(),G=d0({chain:w,isEIP1559Compatible:y,provider:T,signer:n});if(!q)throw new c("toolbox_evm_no_from_address");if(f.isGasAsset){let U={...A,data:X(M(t||"")),feeOptionKey:H,from:q,to:C,value:l};return G(U)}if(!xo(f,w))throw new c("toolbox_evm_no_contract_address");let{maxFeePerGas:z,maxPriorityFeePerGas:L,gasPrice:Y}=(await Go({chain:w,isEIP1559Compatible:y,provider:T})())[H],Z=await NT({chain:w,provider:T,signer:n})({assetValue:f,data:X(M(t||"")),gasPrice:Y,maxFeePerGas:z,maxPriorityFeePerGas:L,memo:t,recipient:C,sender:q});return G(Z)}}function g0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:t,funcParams:C=[],txOverrides:H}){if(!o)throw new c("toolbox_evm_no_contract_address");let _=Uy(o,f,n);return y?_.connect(y).getFunction(t).estimateGas(...C,H):_.getFunction(t).estimateGas(...C,H)}}function oA({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:t,data:C,sender:H,funcName:_,funcParams:A,txOverrides:X}){let M=o.bigIntValue,l=o.isGasAsset?null:xo(o,o.chain);if(l&&_)return g0({provider:n,signer:y})({abi:Hy,contractAddress:l,funcName:_,funcParams:A,txOverrides:X});let{hexlify:w,toUtf8Bytes:q}=await import("ethers");return n.estimateGas({data:C?C:t?w(q(t)):void 0,from:H,to:f,value:M})}}function yA({signer:n}){if(!n)return;return(y)=>JT(n,y)}function d0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=V.Fast,...C}){let{from:H,to:_,data:A,value:X,...M}=C;if(!y)throw new c("toolbox_evm_no_signer");if(!_)throw new c("toolbox_evm_no_to_address");let l={...M,data:A||"0x",from:H,to:_,value:BigInt(X||0)};if(Oo(n))return Ro(n)(l);let w=H||await y.getAddress(),q=C.nonce||await n.getTransactionCount(w),G=(await n.getNetwork()).chainId,Q=FT(l,T);if(Q==="eip7702")YT(l.authorizations||[],G);let z=i0(Q).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...l,chainId:G,nonce:q,type:z,...Q==="eip7702"&&{authorizationList:l.authorizations}},Y=Go({chain:o,isEIP1559Compatible:T,provider:n}),U=Q!=="legacy"&&!(l.maxFeePerGas&&l.maxPriorityFeePerGas)||!l.gasPrice?Object.entries((await Y())[t]).reduce((J,[D,R])=>({...J,[D]:ty(BigInt(R))}),{}):{},B;try{B=ty(l.gasLimit||await n.estimateGas(L)*11n/10n)}catch(J){throw new c("toolbox_evm_error_estimating_gas_limit",{error:J})}try{let J={...L,gasLimit:B,...U};try{return(await y.sendTransaction(J)).hash}catch{let D=await y.signTransaction({...J,from:w});return(await n.broadcastTransaction(D)).hash}}catch(J){throw new c("toolbox_evm_error_sending_transaction",{error:J})}}}function NT({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:t,data:C,sender:H,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:X,...M}){let l=o.getBaseValue("bigint"),w=o.chain,q=H||await y?.getAddress();if(!q)throw new c("toolbox_evm_no_from_address");if(m_(o)){let{hexlify:z,toUtf8Bytes:L}=await import("ethers");return{...M,data:C||z(L(f||"")),from:q,to:t,value:l}}let G=xo(o,w);if(!G)throw new c("toolbox_evm_no_contract_address");return qo({chain:o.chain,provider:n})({abi:Hy,contractAddress:G,funcName:"transfer",funcParams:[t,l],txOverrides:{from:q,gasPrice:X,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function fA({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let _=await y?.getAddress()||H,A=qo({chain:T,provider:n}),X=["bigint","number"].includes(typeof C)?C:C||_y;return await A({abi:Hy,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(X)],txOverrides:{from:_}})}}function TA({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=V.Fast,...t}){let H=await Go({chain:T,isEIP1559Compatible:y,provider:n})(),_=await n.estimateGas(t),A=i_.from({chain:T}),{gasPrice:X,maxFeePerGas:M,maxPriorityFeePerGas:l}=H[f];if(!y&&X)return A.set(cy.fromBigInt(X*_,A.decimal));if(M&&l){let w=(M+l)*_;return A.set(cy.fromBigInt(w,A.decimal))}throw new c("toolbox_evm_no_gas_price")}}var _y,g_,d_,OT,a_,hy=(n)=>n.type===4||(n.authorizations?.length??0)>0,xT=(n)=>!hy(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),FT=(n,y=!0)=>{if(hy(n))return"eip7702";if(xT(n)||y)return"eip1559";return"legacy"};var my=k(()=>{Ky();Cy();_y=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");g_=["payable","nonpayable"];d_=h_.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),OT={...d_,[Jn.Optimism]:"0x4200000000000000000000000000000000000042",[Jn.Polygon]:"0x0000000000000000000000000000000000001010"},a_=[Jn.Arbitrum,Jn.Aurora,Jn.Base,Jn.Optimism]});import{Chain as r,FeeOption as tA}from"@swapkit/helpers";import{HDNodeWallet as CA}from"ethers";import{match as HA,P as a0}from"ts-pattern";function ry(n){let y=g(r.Ethereum)(n);async function T(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",t="aggregate",C=tA.Fast){let H=await y.createContractTxObject({abi:V0,contractAddress:f,funcName:t,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:T}}function g(n){return function({provider:T,...o}){let f=ZT(n),t=HA(o).with({phrase:a0.string},({phrase:H})=>CA.fromPhrase(H).connect(T)).with({signer:a0.any},({signer:H})=>H).otherwise(()=>{return});return Do({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var gy,dy,ay,sy,ey,nf,of,s0,yf,ff,Tf,tf,Cf,Hf,wy,_f,Af,Uf,wf;var ST=k(()=>{K0();Cy();my();gy=g(r.Adi),dy=g(r.Arbitrum),ay=g(r.Aurora),sy=g(r.Avalanche),ey=g(r.Base),nf=g(r.Berachain),of=g(r.BinanceSmartChain),s0=g(r.Botanix),yf=g(r.Core),ff=g(r.Corn),Tf=g(r.Cronos),tf=g(r.Gnosis),Cf=g(r.Hyperevm),Hf=g(r.Polygon),wy=g(r.Sonic),_f=g(r.Unichain),Af=g(r.XLayer),Uf=g(r.Monad),wf=g(r.MegaETH)});var e0;var nC=k(()=>{e0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as Fo,Chain as AA,FeeOption as En,SwapKitError as pT}from"@swapkit/helpers";import{Contract as UA,HDNodeWallet as wA}from"ethers";import{match as qA,P as oC}from"ts-pattern";function kT(n){return new UA(GA,e0,n)}function yC(n){return async function(){let T=kT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function fC(n){return async function({from:T,to:o,nonce:f,...t}){let{Transaction:C}=await import("ethers");if(!o)throw new pT("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...t,authorizationList:t.authorizationList,nonce:f?f:T?await n.getTransactionCount(T):0,to:o}).serialized}}function TC(n){return async function(T){let o=kT(n),f=await fC(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function tC(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function lA(n){return async function(T){let o=await TC(n)(T)??0n,f=await tC(n)(T);return o+f}}function XA(n){return async function(T){let o=kT(n),f=await fC(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function WA(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await yC(n)(),C=f;if(!(T&&o))throw new pT("toolbox_evm_no_fee_data");return{[En.Average]:{gasPrice:C,l1GasPrice:t,maxFeePerGas:T,maxPriorityFeePerGas:o},[En.Fast]:{gasPrice:Fo(C,En.Fast),l1GasPrice:Fo(t||0n,En.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Fo(o,En.Fast)},[En.Fastest]:{gasPrice:Fo(C,En.Fastest),l1GasPrice:Fo(t||0n,En.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Fo(o,En.Fastest)}}}catch(T){throw new pT("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}function qf({provider:n,...y}){let T=qA(y).with({phrase:oC.string},({phrase:t})=>wA.fromPhrase(t).connect(n)).with({signer:oC.any},({signer:t})=>t).otherwise(()=>{return}),o=Do({provider:n,signer:T}),f=yC(n);return{...o,estimateGasPrices:WA(n),estimateL1Gas:XA(n),estimateL1GasCost:TC(n),estimateL2GasCost:tC(n),estimateTotalGasCost:lA(n),getBalance:Ty(AA.Optimism).getBalance,getL1GasPrice:f}}var GA="0x420000000000000000000000000000000000000f";var uT=k(()=>{Ky();nC();my()});var HC={};e(HC,{validateEVMAddress:()=>Ay,toChecksumAddress:()=>h0,isStateChangingCall:()=>DT,isEIP7702Transaction:()=>hy,isEIP1559Transaction:()=>xT,isBrowserProvider:()=>Oo,getTokenAddress:()=>xo,getEvmToolboxAsync:()=>CC,getEvmToolbox:()=>PT,getEstimateGasPrices:()=>Go,getEVMTxType:()=>FT,getEIP1193SendTransaction:()=>Ro,getCreateContractTxObject:()=>qo,getCreateContract:()=>zT,getChecksumAddressFromAsset:()=>m0,createContract:()=>Uy,XLayerToolbox:()=>Af,UNIToolbox:()=>_f,SONICToolbox:()=>wy,OPToolbox:()=>qf,MONADToolbox:()=>Uf,MEGAETHToolbox:()=>wf,MAX_APPROVAL:()=>_y,MATICToolbox:()=>Hf,HYPEREVMToolbox:()=>Cf,GNOToolbox:()=>tf,ETHToolbox:()=>ry,ContractAddress:()=>OT,CROToolbox:()=>Tf,CORNToolbox:()=>ff,COREToolbox:()=>yf,BotanixToolbox:()=>s0,BaseEVMToolbox:()=>Do,BSCToolbox:()=>of,BERAToolbox:()=>nf,BASEToolbox:()=>ey,AVAXToolbox:()=>sy,AURORAToolbox:()=>ay,ARBToolbox:()=>dy,ADIToolbox:()=>gy});import{Chain as m}from"@swapkit/helpers";import{match as BA}from"ts-pattern";function PT(n,y){return BA(n).with(m.Adi,()=>gy(y)).with(m.Arbitrum,()=>dy(y)).with(m.Aurora,()=>ay(y)).with(m.Avalanche,()=>sy(y)).with(m.Base,()=>ey(y)).with(m.Berachain,()=>nf(y)).with(m.BinanceSmartChain,()=>of(y)).with(m.Botanix,()=>wy(y)).with(m.Core,()=>yf(y)).with(m.Corn,()=>ff(y)).with(m.Cronos,()=>Tf(y)).with(m.Ethereum,()=>ry(y)).with(m.Gnosis,()=>tf(y)).with(m.Hyperevm,()=>Cf(y)).with(m.Optimism,()=>qf(y)).with(m.Polygon,()=>Hf(y)).with(m.Sonic,()=>wy(y)).with(m.Unichain,()=>_f(y)).with(m.XLayer,()=>Af(y)).with(m.Monad,()=>Uf(y)).with(m.MegaETH,()=>wf(y)).exhaustive()}async function CC(n,y){let T={...y,provider:y?.provider||await LT(n)};return PT(n,T)}var IT=k(()=>{Cy();ST();uT();my();ST();uT()});var _C;var AC=k(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(_C||={})});var UC={};e(UC,{validateEVMAddress:()=>Ay,validateAuthorizations:()=>YT,validateAuthorization:()=>b0,toHexString:()=>ty,toChecksumAddress:()=>h0,signAuthorization:()=>JT,parseEIP712FromEVMTx:()=>c_,isStateChangingCall:()=>DT,isEIP7702Transaction:()=>hy,isEIP1559Transaction:()=>xT,isBrowserProvider:()=>Oo,getTokenAddress:()=>xo,getProviderSync:()=>E0,getProvider:()=>LT,getNetworkParams:()=>QT,getIsEIP1559Compatible:()=>ZT,getEvmToolboxAsync:()=>CC,getEvmToolbox:()=>PT,getEvmApi:()=>Ty,getEstimateGasPrices:()=>Go,getEVMTxType:()=>FT,getEIP1193SendTransaction:()=>Ro,getCreateContractTxObject:()=>qo,getCreateContract:()=>zT,getChecksumAddressFromAsset:()=>m0,createCustomEvmApi:()=>E_,createContract:()=>Uy,buildEIP712DomainType:()=>v0,XLayerToolbox:()=>Af,UNIToolbox:()=>_f,SONICToolbox:()=>wy,OPToolbox:()=>qf,MONADToolbox:()=>Uf,MEGAETHToolbox:()=>wf,MAX_APPROVAL:()=>_y,MATICToolbox:()=>Hf,HYPEREVMToolbox:()=>Cf,GNOToolbox:()=>tf,EthNetwork:()=>_C,ETHToolbox:()=>ry,ContractAddress:()=>OT,CROToolbox:()=>Tf,CORNToolbox:()=>ff,COREToolbox:()=>yf,BotanixToolbox:()=>s0,BaseEVMToolbox:()=>Do,BSCToolbox:()=>of,BERAToolbox:()=>nf,BASEToolbox:()=>ey,AVAXToolbox:()=>sy,AURORAToolbox:()=>ay,ARBToolbox:()=>dy,ADIToolbox:()=>gy});var $T=k(()=>{Ky();Cy();IT();AC()});import{bech32 as MA}from"@scure/base";import{mnemonicToSeed as LA}from"@scure/bip39";import{Bip32PrivateKey as QA}from"@stricahq/bip32ed25519";import{Transaction as ZA,types as vT,address as JA,crypto as ET,utils as wC}from"@stricahq/typhonjs";import{AssetValue as So,Chain as lo,getChainConfig as YA,SwapKitError as qy}from"@swapkit/helpers";import Wn from"bignumber.js";async function VT(n,y){let T=await fetch(`${XC}${n}`,{...y,headers:{project_id:lC,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function WC(n){try{return await VT(`/addresses/${n}/utxos`)}catch{return[]}}async function zA(){return(await VT("/blocks/latest")).slot}async function DA(){let n=await VT("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Wn(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Wn(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Wn(n.min_fee_a),minFeeB:new Wn(n.min_fee_b),minFeeRefScriptCostPerByte:new Wn(15),priceMem:new Wn(n.price_mem),priceSteps:new Wn(n.price_step),stakeKeyDeposit:new Wn(2000000),utxoCostPerByte:new Wn(n.coins_per_utxo_size)}}async function GC(n){let y=await fetch(`${XC}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:lC},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function OA(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new Wn(o.quantity):new Wn(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Wn(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:T.output_index,tokens:t,txId:T.tx_hash}})}async function RA(n){try{let y=await WC(n),T=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:_,quantity:A}=H;if(_==="lovelace")T+=BigInt(A);else{let X=o.get(_)||0n;o.set(_,X+BigInt(A))}}}let f=[],{baseDecimal:t}=YA(lo.Cardano);if(T>0n)f.push(So.from({chain:lo.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(So.from({asset:`${lo.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[So.from({chain:lo.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[So.from({chain:lo.Cardano})]}}function BC(n){if(!n||typeof n!=="string")return!1;try{let y=MA.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function xA(n,y=0,T=0){let o=await LA(n,""),t=(await QA.fromEntropy(Buffer.from(o.slice(0,64)))).derive(bT+1852).derive(bT+1815).derive(bT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),_=ET.hash28(H),X=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=ET.hash28(X),l={hash:_,type:vT.HashType.ADDRESS},w={hash:M,type:vT.HashType.ADDRESS},G=new JA.BaseAddress(NA,l,w).getBech32(),Q=C.toPrivateKey();return{getAddress:()=>G,publicKey:H,publicKeyHash:_,signTransaction:async(z)=>{try{let L=await import("@stricahq/cbors"),Y=Buffer.from(z,"hex"),Z=L.Decoder.decode(Y),[U,B,J,D]=Z.value,R=L.Encoder.encode(U),W=ET.hash32(R),N=Q.sign(W),O=B instanceof Map?B:new Map,x=O.get(qC)||[];x.push([H,N]),O.set(qC,x);let S=[U,O,J,D];return L.Encoder.encode(S).toString("hex")}catch(L){throw new qy("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function FA(n){let y,T,o;async function f(){if(!o)o=await DA();return o}async function t(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let w=n.index??0;return y=await xA(n.phrase,0,w),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(T)return T;let w=await t();if(!w)return"";if("getAddress"in w)return T=await w.getAddress(),T;return""}async function H(w){let q=w||await C();if(!q)throw new qy("core_wallet_connection_not_found");return RA(q)}async function _(w){if(w)try{let{tx:z}=await A(w),L=z.getFee();return So.from({chain:lo.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let q=await f(),G=400,Q=q.minFeeB.plus(q.minFeeA.times(G));return So.from({chain:lo.Cardano,fromBaseDecimal:6,value:Q.toString()})}async function A({sender:w="",recipient:q,assetValue:G,memo:Q,pureLovelaceOnly:z=!1}){let L=w||await C();if(!L)throw new qy("core_wallet_connection_not_found");let[Y,Z,U]=await Promise.all([WC(L),zA(),f()]),B=Y.filter((b)=>z?b.amount.every((K)=>K.unit==="lovelace"):b.amount.some((K)=>K.unit==="lovelace")).sort((b,K)=>{let Hn=b.amount.some((d)=>d.unit!=="lovelace"),Xn=K.amount.some((d)=>d.unit!=="lovelace");if(Hn===Xn)return 0;return Hn?1:-1}),J=wC.getAddressFromString(L),D=wC.getAddressFromString(q),R=OA(B,J),W=new Wn(G.getBaseValue("string")),N=[{address:D,amount:W,tokens:[]}],O;if(Q){let b=new Map;b.set("msg",[Q]),O={metadata:[{data:b,label:674}]}}let x={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},I=new ZA({protocolParams:x}).paymentTransaction({auxiliaryData:O,changeAddress:J,inputs:R,outputs:N,ttl:Z+3600}),{payload:E}=I.buildTransaction();return{tx:I,unsignedTx:E}}async function X(w){let q=await t();if(!q||!("signTransaction"in q))throw new qy("core_wallet_connection_not_found");return q.signTransaction(w)}async function M({recipient:w,assetValue:q,memo:G}){let Q=await t();if(!Q||!("signTransaction"in Q))throw new qy("core_wallet_connection_not_found");let{unsignedTx:z}=await A({assetValue:q,memo:G,recipient:w,sender:await C()}),L=await X(z);return await GC(L)}async function l(w){let q=await X(w);return await GC(q)}return{createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:H,signAndBroadcastTransaction:l,signTransaction:X,transfer:M,validateAddress:BC}}var lC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",XC="https://cardano-mainnet.blockfrost.io/api/v0",NA,bT=2147483648,qC=0;var MC=k(()=>{NA=vT.NetworkId.MAINNET});var KT={};e(KT,{validateCardanoAddress:()=>BC,getCardanoToolbox:()=>FA});var jT=k(()=>{MC()});import{base64 as lf,bech32 as Gf}from"@scure/base";import{SwapKitError as SA}from"@swapkit/helpers";function Gy(n){return lf.encode(Uint8Array.from(Gf.fromWords(Gf.decode(n).words)))}function ly(n,y="thor"){return Gf.encode(y,Gf.toWords(lf.decode(n)))}function pA(n){return lf.encode(n)}function kA(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new SA("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return lf.decode(n)}var cT=()=>{};import{AssetValue as iT,Chain as v,getChainConfig as Sn,getRPCUrl as uA,SwapKitError as LC}from"@swapkit/helpers";function bn(n){switch(n){case v.Maya:return{amount:[],gas:"10000000000"};case v.THORChain:return{amount:[],gas:"500000000"};case v.Kujira:return JC;case v.Noble:return YC;default:return ZC}}async function vn(n){let y=await import("@cosmjs/stargate"),T=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return T.connect({headers:o,url:n})}async function Xo(n,y,T={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,t=o.GasPrice??o.default?.GasPrice,C=typeof T==="string"?T:"0.0003uatom",H=typeof T==="string"?{}:T;return f.connectWithSigner(n,y,{gasPrice:t.fromString(C),...H})}async function mT(n,y){let T=await import("@cosmjs/stargate");return(T.SigningStargateClient??T.default?.SigningStargateClient).offline(n,y)}async function rT({sender:n,recipient:y,assetValue:T,memo:o="",feeRate:f,sequence:t,accountNumber:C}){let{chain:H,chainId:_}=T,A=await uA(H),M=await(await vn(A)).getAccount(n);if(!M)throw new LC("toolbox_cosmos_account_not_found",{sender:n});let l=iT.from({chain:H}),w=dn(l.symbol),q=bn(H),G=w&&f?{amount:[{amount:f.toString(),denom:w}],gas:q.gas}:q,Q={amount:[{amount:T.getBaseValue("string"),denom:dn(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:_,fee:G,memo:o,msgs:[{typeUrl:PA(H),value:Q}],sequence:t??M.sequence}}var hT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",QC="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",ZC,JC,YC,dn=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return hT;case"uYUM":case"YUM":return QC;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},Xy=({symbol:n,chain:y})=>{if(y===v.Maya)return(n.toUpperCase()!=="CACAO"?n:`${v.Maya}.${n}`).toUpperCase();if(y===v.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${v.THORChain}.${n}`:n).toUpperCase();return dn(n,!1)},PA=(n)=>{switch(n){case v.Maya:case v.THORChain:return"/types.MsgSend";case v.Cosmos:case v.Kujira:case v.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new LC("toolbox_cosmos_not_supported",{chain:n})}},IA,gT=(n,y)=>{let T=IA[n.toLowerCase()];if(!T)return iT.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:t}=T,C=o?{chain:o}:{asset:f};return iT.from({...C,fromBaseDecimal:t,value:y})};var Wy=k(()=>{ZC={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},JC={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},YC={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};IA={atom:{chain:v.Cosmos,decimals:Sn(v.Cosmos).baseDecimal},cacao:{chain:v.Maya,decimals:10},kuji:{chain:v.Kujira,decimals:Sn(v.Kujira).baseDecimal},maya:{asset:`${v.Maya}.${v.Maya}`,decimals:4},rune:{chain:v.THORChain,decimals:Sn(v.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Sn(v.THORChain).baseDecimal},uatom:{chain:v.Cosmos,decimals:Sn(v.Cosmos).baseDecimal},ukuji:{chain:v.Kujira,decimals:Sn(v.Kujira).baseDecimal},usdc:{chain:v.Noble,decimals:Sn(v.Noble).baseDecimal},uusdc:{chain:v.Noble,decimals:Sn(v.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Sn(v.THORChain).baseDecimal},[hT.toLowerCase()]:{asset:`${v.Kujira}.USK`,decimals:Sn(v.Kujira).baseDecimal}}});var NC={};e(NC,{$root:()=>p});import nn from"protobufjs/minimal.js";var P,Mn,u,p;var zC=k(()=>{P=nn.Reader,Mn=nn.Writer,u=nn.util,p=nn.roots.default||(nn.roots.default={});p.common=(()=>{let n={};return n.Asset=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.Asset;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.chain=o.string();break;case 2:C.symbol=o.string();break;case 3:C.ticker=o.string();break;case 4:C.synth=o.bool();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!u.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!u.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!u.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof p.common.Asset)return o;let f=new p.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.chain="",t.symbol="",t.ticker="",t.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))t.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))t.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))t.synth=o.synth;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=u.Long?u.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))p.common.Asset.encode(o.asset,f.uint32(10).fork()).ldelim();if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))f.uint32(18).string(o.amount);if(o.decimals!=null&&Object.hasOwnProperty.call(o,"decimals"))f.uint32(24).int64(o.decimals);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.Coin;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.asset=p.common.Asset.decode(o,o.uint32());break;case 2:C.amount=o.string();break;case 3:C.decimals=o.int64();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=p.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!u.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!u.isInteger(o.decimals)&&!(o.decimals&&u.isInteger(o.decimals.low)&&u.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof p.common.Coin)return o;let f=new p.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=p.common.Asset.fromObject(o.asset)}if(o.amount!=null)f.amount=String(o.amount);if(o.decimals!=null){if(u.Long)(f.decimals=u.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new u.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)if(t.asset=null,t.amount="",u.Long){let C=new u.Long(0,0,!1);t.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else t.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))t.asset=p.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))t.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")t.decimals=f.longs===String?String(o.decimals):o.decimals;else t.decimals=f.longs===String?u.Long.prototype.toString.call(o.decimals):f.longs===Number?new u.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.PubKeySet;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.secp256k1=o.string();break;case 2:C.ed25519=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!u.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!u.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof p.common.PubKeySet)return o;let f=new p.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.secp256k1="",t.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))t.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))t.ed25519=o.ed25519;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(T){if(this.coins=[],this.gas=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=u.emptyArray,y.prototype.gas=u.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.common.Coin.encode(o.coins[t],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let t=0;t<o.gas.length;++t)p.common.Coin.encode(o.gas[t],f.uint32(50).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(58).string(o.memo);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.Tx;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.id=o.string();break;case 2:C.chain=o.string();break;case 3:C.fromAddress=o.string();break;case 4:C.toAddress=o.string();break;case 5:if(!C.coins?.length)C.coins=[];C.coins.push(p.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(p.common.Coin.decode(o,o.uint32()));break;case 7:C.memo=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!u.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!u.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!u.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!u.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=p.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.gas!=null&&o.hasOwnProperty("gas")){if(!Array.isArray(o.gas))return"gas: array expected";for(let f=0;f<o.gas.length;++f){let t=p.common.Coin.verify(o.gas[f]);if(t)return"gas."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!u.isString(o.memo))return"memo: string expected"}return null},y.fromObject=function(o){if(o instanceof p.common.Tx)return o;let f=new p.common.Tx;if(o.id!=null)f.id=String(o.id);if(o.chain!=null)f.chain=String(o.chain);if(o.fromAddress!=null)f.fromAddress=String(o.fromAddress);if(o.toAddress!=null)f.toAddress=String(o.toAddress);if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[t]=p.common.Coin.fromObject(o.coins[t])}}if(o.gas){if(!Array.isArray(o.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let t=0;t<o.gas.length;++t){if(typeof o.gas[t]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[t]=p.common.Coin.fromObject(o.gas[t])}}if(o.memo!=null)f.memo=String(o.memo);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[],t.gas=[];if(f.defaults)t.id="",t.chain="",t.fromAddress="",t.toAddress="",t.memo="";if(o.id!=null&&o.hasOwnProperty("id"))t.id=o.id;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=o.toAddress;if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=p.common.Coin.toObject(o.coins[C],f)}if(o.gas?.length){t.gas=[];for(let C=0;C<o.gas.length;++C)t.gas[C]=p.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=u.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.common.Coin.encode(o.coins[t],f.uint32(10).fork()).ldelim();if(o.poolDeduct!=null&&Object.hasOwnProperty.call(o,"poolDeduct"))f.uint32(18).string(o.poolDeduct);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.Fee;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(p.common.Coin.decode(o,o.uint32()));break;case 2:C.poolDeduct=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=p.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!u.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof p.common.Fee)return o;let f=new p.common.Fee;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[t]=p.common.Coin.fromObject(o.coins[t])}}if(o.poolDeduct!=null)f.poolDeduct=String(o.poolDeduct);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults)t.poolDeduct="";if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=p.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))t.poolDeduct=o.poolDeduct;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.ProtoUint;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.value=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!u.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof p.common.ProtoUint)return o;let f=new p.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.value="";if(o.value!=null&&o.hasOwnProperty("value"))t.value=o.value;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},y})(),n})();p.types=(()=>{let n={};return n.MsgDeposit=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=u.emptyArray,y.prototype.memo="",y.prototype.signer=u.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.common.Coin.encode(o.coins[t],f.uint32(10).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(18).string(o.memo);if(o.signer!=null&&Object.hasOwnProperty.call(o,"signer"))f.uint32(26).bytes(o.signer);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.types.MsgDeposit;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(p.common.Coin.decode(o,o.uint32()));break;case 2:C.memo=o.string();break;case 3:C.signer=o.bytes();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=p.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!u.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||u.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof p.types.MsgDeposit)return o;let f=new p.types.MsgDeposit;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[t]=p.common.Coin.fromObject(o.coins[t])}}if(o.memo!=null)f.memo=String(o.memo);if(o.signer!=null){if(typeof o.signer==="string")u.base64.decode(o.signer,f.signer=u.newBuffer(u.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults){if(t.memo="",f.bytes===String)t.signer="";else if(t.signer=[],f.bytes!==Array)t.signer=u.newBuffer(t.signer)}if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=p.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))t.signer=f.bytes===String?u.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(T){if(this.amount=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.fromAddress=u.newBuffer([]),y.prototype.toAddress=u.newBuffer([]),y.prototype.amount=u.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=Mn.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let t=0;t<o.amount.length;++t)p.cosmos.base.v1beta1.Coin.encode(o.amount[t],f.uint32(26).fork()).ldelim();return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof P))o=P.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.types.MsgSend;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.fromAddress=o.bytes();break;case 2:C.toAddress=o.bytes();break;case 3:if(!C.amount?.length)C.amount=[];C.amount.push(p.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof P))o=new P(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||u.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||u.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let t=p.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(t)return"amount."+t}}return null},y.fromObject=function(o){if(o instanceof p.types.MsgSend)return o;let f=new p.types.MsgSend;if(o.fromAddress!=null){if(typeof o.fromAddress==="string")u.base64.decode(o.fromAddress,f.fromAddress=u.newBuffer(u.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")u.base64.decode(o.toAddress,f.toAddress=u.newBuffer(u.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let t=0;t<o.amount.length;++t){if(typeof o.amount[t]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[t]=p.cosmos.base.v1beta1.Coin.fromObject(o.amount[t])}}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.amount=[];if(f.defaults){if(f.bytes===String)t.fromAddress="";else if(t.fromAddress=[],f.bytes!==Array)t.fromAddress=u.newBuffer(t.fromAddress);if(f.bytes===String)t.toAddress="";else if(t.toAddress=[],f.bytes!==Array)t.toAddress=u.newBuffer(t.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=f.bytes===String?u.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=f.bytes===String?u.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){t.amount=[];for(let C=0;C<o.amount.length;++C)t.amount[C]=p.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},y})(),n})();p.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let T={};return T.Coin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=Mn.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof P))t=P.create(t);let H=C===void 0?t.len:t.pos+C,_=new p.cosmos.base.v1beta1.Coin;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.denom=t.string();break;case 2:_.amount=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof P))t=new P(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!u.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!u.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.Coin)return t;let C=new p.cosmos.base.v1beta1.Coin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},o})(),T.DecCoin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=Mn.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof P))t=P.create(t);let H=C===void 0?t.len:t.pos+C,_=new p.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.denom=t.string();break;case 2:_.amount=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof P))t=new P(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!u.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!u.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.DecCoin)return t;let C=new p.cosmos.base.v1beta1.DecCoin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},o})(),T.IntProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.int="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=Mn.create();if(t.int!=null&&Object.hasOwnProperty.call(t,"int"))C.uint32(10).string(t.int);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof P))t=P.create(t);let H=C===void 0?t.len:t.pos+C,_=new p.cosmos.base.v1beta1.IntProto;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.int=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof P))t=new P(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.int!=null&&t.hasOwnProperty("int")){if(!u.isString(t.int))return"int: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.IntProto)return t;let C=new p.cosmos.base.v1beta1.IntProto;if(t.int!=null)C.int=String(t.int);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(t.int!=null&&t.hasOwnProperty("int"))H.int=t.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},o})(),T.DecProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.dec="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=Mn.create();if(t.dec!=null&&Object.hasOwnProperty.call(t,"dec"))C.uint32(10).string(t.dec);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof P))t=P.create(t);let H=C===void 0?t.len:t.pos+C,_=new p.cosmos.base.v1beta1.DecProto;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.dec=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof P))t=new P(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.dec!=null&&t.hasOwnProperty("dec")){if(!u.isString(t.dec))return"dec: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.DecProto)return t;let C=new p.cosmos.base.v1beta1.DecProto;if(t.dec!=null)C.dec=String(t.dec);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(t.dec!=null&&t.hasOwnProperty("dec"))H.dec=t.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,nn.util.toJSONOptions)},o})(),T})(),y})(),n})()});import{Chain as $A}from"@swapkit/helpers";async function Wo(){let{$root:n}=await Promise.resolve().then(() => (zC(),NC)),y=await import("@cosmjs/proto-signing"),T=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new T([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function an(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===$A.THORChain?"thorchain":"mayachain";return new T({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...t})=>({...t,signer:Gy(f)}),toAmino:({signer:f,...t})=>({...t,signer:ly(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:t,...C})=>({...C,fromAddress:Gy(f),toAddress:Gy(t)}),toAmino:({fromAddress:f,toAddress:t,...C})=>({...C,from_address:ly(f),to_address:ly(t)})}})}var dT=k(()=>{cT()});import{AssetValue as EA,Chain as Xf,getChainConfig as DC,getRPCUrl as OC,SwapKitError as bA}from"@swapkit/helpers";function eT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return xC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return FC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function xC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let _=T.chain,A=await OC(_),X=await RC({rpcUrl:A,sender:n}),{chainId:M}=DC(_),l=aT({assetValue:T,recipient:y,sender:n}),w=f?await sn(t?l:en(l),_):l;return{accountNumber:H||X.accountNumber,chainId:M,fee:bn(_),memo:o,msgs:[w],sequence:C||X.sequence}}async function FC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,_=await OC(H),A=await RC({rpcUrl:_,sender:n}),{chainId:X}=DC(H),M=sT({assetValue:y,memo:T,sender:n}),l=o?await sn(f?M:en(M),H):M;return{accountNumber:C||A.accountNumber,chainId:X,fee:bn(H),memo:T,msgs:[l],sequence:t||A.sequence}}function en(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let T=EA.from({asset:y.asset}),o=(T.isSynthetic?T.symbol.split("/")?.[1]:T.symbol)?.toUpperCase(),f=(T.isSynthetic?T.symbol.split("/")?.[0]:T.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:T.isSynthetic,ticker:T.ticker}}})}}}async function By({chain:n,memo:y,msgs:T}){let o=await Wo(),f=await an(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var vA,VA,aT=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===Xf.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:dn(T.symbol,!0)}],from_address:n,to_address:y}}},sT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===Xf.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:Xy(y)}],memo:T,signer:n}}},Wf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?sT({assetValue:T,memo:o,sender:n}):aT({assetValue:T,recipient:y,sender:n})},sn=async(n,y)=>{return(await an(y)).fromAmino(n)},RC=async({rpcUrl:n,sender:y})=>{let o=await(await vn(n)).getAccount(y);if(!o)throw new bA("toolbox_cosmos_account_not_found",{sender:y});return o};var SC=k(()=>{Wy();dT();vA=bn(Xf.THORChain).gas,VA=bn(Xf.Maya).gas});var pC=()=>{};var kC=k(()=>{pC()});var nt=k(()=>{cT();SC();dT();kC()});import{stringToPath as KA}from"@cosmjs/crypto";import{DirectSecp256k1HdWallet as jA}from"@cosmjs/proto-signing";import{base64 as ft,bech32 as ot}from"@scure/base";import{AssetValue as Tt,applyFeeMultiplier as uC,Chain as fn,CosmosChainPrefixes as vC,DerivationPath as cA,derivationPathToString as PC,FeeOption as tt,getChainConfig as iA,getRPCUrl as My,NetworkDerivationPath as hA,SwapKitError as po,SwapKitNumber as yt,updateDerivationPath as mA}from"@swapkit/helpers";import{SwapKitApi as VC}from"@swapkit/helpers/api";import{match as rA,P as IC}from"ts-pattern";async function Ht(n,y){try{let o=(await VC.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function Ct({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${cA[T.chain]}/${T.index}`;return await jA.fromMnemonic(n,{hdPaths:[KA(o)],prefix:y})}async function gA({privateKey:n,prefix:y}){let T=await import("@cosmjs/proto-signing");return(T.DirectSecp256k1Wallet??T.default?.DirectSecp256k1Wallet).fromKey(n,y)}function KC(n){return async function({signature:T,message:o,address:f}){let t=await n(f);if(!t?.pubkey)throw new po("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,_=C.Secp256k1??C.default?.Secp256k1,A=H.fromFixedLength(ft.decode(T));return _.verifySignature(A,ft.decode(o),t.pubkey.value)}}function Ly({chain:n,...y}){let T=vC[n],o="index"in y?y.index||0:0,f=PC("derivationPath"in y&&y.derivationPath?y.derivationPath:mA(hA[n],{index:o})),t;async function C(){if(t)return t;return t=await rA(y).with({phrase:IC.string},({phrase:w})=>Ct({derivationPath:f,phrase:w,prefix:T})).with({signer:IC.any},({signer:w})=>w).otherwise(()=>{return}),t}async function H(w){let q=await My(n);return(await vn(q)).getAccount(w)}async function _(){let w=await C(),[q]=await w?.getAccounts()||[];return q?.address}async function A(){let w=await C(),[q]=await w?.getAccounts()||[];if(!q?.pubkey)throw new po("toolbox_cosmos_signer_not_defined");return ft.encode(q?.pubkey)}async function X(w){let q=await C(),G=await _(),Q=await My(n);if(!(q&&G))throw new po("toolbox_cosmos_signer_not_defined");return await(await Xo(Q,q)).sign(G,w.msgs,w.fee,w.memo,{accountNumber:w.accountNumber,chainId:w.chainId,sequence:w.sequence})}async function M(w){let q=await C(),G=await _(),Q=await My(n);if(!(q&&G))throw new po("toolbox_cosmos_signer_not_defined");let L=await(await Xo(Q,q)).signAndBroadcast(G,w.msgs,w.fee,w.memo);if(L.code!==0)throw new po("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function l({recipient:w,assetValue:q,memo:G="",feeRate:Q,feeOptionKey:z=tt.Fast}){let L=await C(),Y=await _();if(!(L&&Y))throw new po("toolbox_cosmos_signer_not_defined");let Z=await My(n),U=Tt.from({chain:n}),B=Xy(U),J=Q||sA((await EC(n,$C[n]))[z],B),D=await Xo(Z,L),R=dn(q.symbol),W=[{amount:q.getBaseValue("string"),denom:R}],{transactionHash:N}=await D.sendTokens(Y,w,W,J,G);return N}return{createPrivateKeyFromPhrase:n5(f),createTransaction:rT,fetchFeeRateFromSwapKit:Ht,getAccount:H,getAddress:_,getBalance:async(w,q)=>{let G=await bC(n)(w),Q=await Promise.all(G.filter(({denom:z})=>z&&!z.includes("IBC/")&&!([fn.THORChain,fn.Maya].includes(n)&&z.split("-").length>2)).map(({denom:z,amount:L})=>{let Y=[fn.THORChain,fn.Maya].includes(n)&&(z.includes("/")||z.includes("˜"))?`${n}.${z}`:z;return gT(Y,L)}));if(Q.length===0)return[Tt.from({chain:n})];return Q},getBalanceAsDenoms:bC(n),getFees:()=>EC(n,$C[n]),getPubKey:A,getSignerFromPhrase:({phrase:w,derivationPath:q})=>Ct({derivationPath:PC(q),index:o,phrase:w,prefix:T}),getSignerFromPrivateKey:async(w)=>{let q=await import("@cosmjs/proto-signing");return(q.DirectSecp256k1Wallet??q.default?.DirectSecp256k1Wallet).fromKey(w,T)},signAndBroadcastTransaction:M,signTransaction:X,transfer:l,validateAddress:jC(n),verifySignature:KC(H)}}async function dA(n,y){try{let o=(await VC.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function aA({assetValue:{chain:n}}){return Tt.from({chain:n,value:eA(n)})}async function EC(n,y){let{chainId:T,baseDecimal:o}=iA(n),f=await Ht(T,y);return{average:yt.fromBigInt(BigInt(f),o),fast:yt.fromBigInt(BigInt(uC(f,tt.Fast,!0)),o),fastest:yt.fromBigInt(BigInt(uC(f,tt.Fastest,!0)),o)}}function sA(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function eA(n){return{[fn.Cosmos]:0.007,[fn.Kujira]:0.02,[fn.Noble]:0.01,[fn.THORChain]:0.02,[fn.Maya]:0.02,[fn.Harbor]:0.02}[n]||0}function jC(n){let y=vC[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=ot.decode(o);return ot.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function bC(n){return async function(T){let o=await My(n);return(await(await vn(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function n5(n){return async function(T){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,t=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,_=o.Bip39??o.default?.Bip39,A=new H(T),X=await _.mnemonicToSeed(A),{privkey:M}=C.derivePath(t.Secp256k1,X,f(n));return M}}var $C;var Bf=k(()=>{Wy();$C={[fn.Cosmos]:1000,[fn.Kujira]:1000,[fn.Noble]:1000,[fn.THORChain]:5000000,[fn.Maya]:5000000,[fn.Harbor]:5000000}});import{base64 as Bo}from"@scure/base";import{Chain as o5,CosmosChainPrefixes as y5,derivationPathToString as f5,FeeOption as _t,getChainConfig as T5,getRPCUrl as rC,NetworkDerivationPath as t5,RequestClient as C5,SKConfig as cC,SwapKitError as ko,SwapKitNumber as iC,updateDerivationPath as H5}from"@swapkit/helpers";import{match as hC,P as mC}from"ts-pattern";function _5({prefix:n,derivationPath:y}){return async function(o,f=0){let t=await import("@cosmjs/amino"),C=t.Secp256k1HdWallet??t.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),_=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[_(`${y}/${f}`)],prefix:n})}}function A5(n){return Bo.encode(n)}function U5(n){return async function({wallet:T,tx:o}){let{msgs:f,accountNumber:t,sequence:C,chainId:H,fee:_,memo:A}=typeof o==="string"?JSON.parse(o):o,X=(await T.getAccounts())?.[0]?.address||"",M=await an(n),l=await Wo(),w=await mT(T,{aminoTypes:M,registry:l}),q=[];for(let z of f){let L=await sn(z,n);q.push(L)}let{signatures:[G]}=await w.sign(X,q,_,A,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await By({chain:n,memo:A,msgs:f.map(en)}),signature:A5(G)}}}function w5({prefix:n,chain:y}){return async function(o,f,t,C,H){let _=await rC(y),{encodeSecp256k1Pubkey:A,pubkeyToAddress:X}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:l,fee:w}=JSON.parse(o),q=await gC(t,C),G=f.map((L)=>[X(A(Bo.decode(L.pubKey)),n),Bo.decode(L.signature)]),Q=await vn(_),{transactionHash:z}=await Q.broadcastTx(M(q,l,w,H,new Map(G)));return z}}async function gC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(Bo.decode(t))),y,T)}function q5(n){return Bo.decode(n)}async function G5({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(Bo.decode(y),n);return Bo.encode(Buffer.concat([o.r(32),o.s(32)]))}function At({chain:n,...y}){let{isStagenet:T}=cC.get("envs"),o=cC.get("thornodeUrls"),f=n===o5.Maya,t=hC({isMayachain:f,isStagenet:T}).with({isMayachain:!0},({isStagenet:L})=>L?o.MAYA_STAGENET:o.MAYA).otherwise(({isStagenet:L})=>L?o.THOR_STAGENET:o.THOR),C=`${T?"s":""}${y5[n]}`,H="index"in y?y.index||0:0,_="derivationPath"in y&&y.derivationPath?y.derivationPath:H5(t5[n],{index:H}),A=Ly({chain:n,...y}),X=bn(n),M;function l(){return M??=hC(y).with({phrase:mC.string},({phrase:L})=>A.getSignerFromPhrase({derivationPath:_,phrase:L})).with({signer:mC.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function w(){let L=await rC(n),Y=await l();if(!Y)throw new ko("toolbox_cosmos_no_signer");let Z=await Wo(),U=await an(n),B=await Xo(L,Y,{aminoTypes:U,registry:Z});return{signer:Y,signingClient:B}}async function q({fee:L,memo:Y,msgs:Z}){let{signer:U,signingClient:B}=await w(),J=(await U.getAccounts())?.[0]?.address;if(!J)throw new ko("toolbox_cosmos_signer_not_defined");let D=await B.signAndBroadcast(J,Z,L,Y);if(D.code!==0)throw new ko("core_swap_transaction_error",{code:D.code,message:D.rawLog});return D.transactionHash}async function G(){let L,Y=`${t}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:Z}}=await C5.get(Y);if(!Z||Number.isNaN(Z)||Z<0)throw new ko("toolbox_cosmos_invalid_fee",{nativeFee:Z.toString()});L=new iC(Z)}catch{L=new iC({decimal:T5(n).baseDecimal,value:f?1:0.02})}return{[_t.Average]:L,[_t.Fast]:L,[_t.Fastest]:L}}async function Q({assetValue:L,memo:Y="",recipient:Z}){let{TxRaw:U}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:B,signingClient:J}=await w(),D=(await B.getAccounts())?.[0]?.address;if(!D)throw new ko("toolbox_cosmos_no_signer");let R="signAmino"in B,W=Wf({assetValue:L,memo:Y,recipient:Z,sender:D});if(R){let x=await sn(W,n),{signatures:S,authInfoBytes:I}=await J.sign(D,[x],X,Y),E=U.encode({authInfoBytes:I,bodyBytes:await By({chain:n,memo:Y,msgs:[W].map(en)}),signatures:S}).finish();return(await J.broadcastTx(E)).transactionHash}let N=en(W),O=await sn(N,n);return q({fee:X,memo:Y,msgs:[O]})}async function z(L){let{signer:Y,signingClient:Z}=await w(),U=(await Y.getAccounts())?.[0]?.address;if(!U)throw new ko("toolbox_cosmos_signer_not_defined");return Z.sign(U,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{...A,broadcastMultisigTx:w5({chain:n,prefix:C}),buildAminoMsg:Wf,buildEncodedTxBody:By,convertToSignable:sn,createDefaultAminoTypes:()=>an(n),createDefaultRegistry:Wo,createMultisig:gC,createTransaction:eT,deposit:Q,getFees:G,importSignature:q5,parseAminoMessageForDirectSigning:en,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:Y}=(await import("@cosmjs/amino")).default;return Y(L,C)},secp256k1HdWalletFromMnemonic:_5({derivationPath:f5(_),prefix:C}),signAndBroadcastTransaction:q,signMultisigTx:U5(n),signTransaction:z,signWithPrivateKey:G5,transfer:Q}}var Ut=k(()=>{nt();Wy();Bf()});import{Chain as Qy,SwapKitError as l5}from"@swapkit/helpers";var X5=(n,y)=>{switch(n){case Qy.Cosmos:case Qy.Kujira:case Qy.Noble:return Ly({chain:n,...y});case Qy.Maya:case Qy.THORChain:return At({chain:n,...y});default:throw new l5("toolbox_cosmos_not_supported",{chain:n})}};var dC=k(()=>{Bf();Ut();Bf();Ut()});var Mf={};e(Mf,{verifySignature:()=>KC,transferMsgAmino:()=>aT,toBase64:()=>pA,parseAminoMessageForDirectSigning:()=>en,getSignerFromPrivateKey:()=>gA,getSignerFromPhrase:()=>Ct,getMsgSendDenom:()=>dn,getFeeRateFromSwapKit:()=>dA,getDenomWithChain:()=>Xy,getDefaultChainFee:()=>bn,getCosmosToolbox:()=>X5,getCosmosAddressValidator:()=>jC,getAssetFromDenom:()=>gT,fromBase64:()=>kA,fetchFeeRateFromSwapKit:()=>Ht,estimateTransactionFee:()=>aA,depositMsgAmino:()=>sT,createTransaction:()=>eT,createThorchainToolbox:()=>At,createStargateClient:()=>vn,createSigningStargateClient:()=>Xo,createOfflineStargateClient:()=>mT,createDefaultRegistry:()=>Wo,createDefaultAminoTypes:()=>an,createCosmosToolbox:()=>Ly,cosmosCreateTransaction:()=>rT,convertToSignable:()=>sn,buildTransferTx:()=>xC,buildEncodedTxBody:()=>By,buildDepositTx:()=>FC,buildAminoMsg:()=>Wf,bech32ToBase64:()=>Gy,base64ToBech32:()=>ly,YUM_KUJIRA_FACTORY_DENOM:()=>QC,USK_KUJIRA_FACTORY_DENOM:()=>hT,THORCHAIN_GAS_VALUE:()=>vA,MAYA_GAS_VALUE:()=>VA,DEFAULT_NOBLE_FEE_MAINNET:()=>YC,DEFAULT_KUJI_FEE_MAINNET:()=>JC,DEFAULT_COSMOS_FEE_MAINNET:()=>ZC});var Lf=k(()=>{nt();dC();Wy()});function W5({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function B5({cancels:n}){return{cancels:n,type:"cancel"}}function M5({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function L5({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function Q5({modifies:n}){return{modifies:n,type:"batchModify"}}function Z5({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function J5({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function Y5({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function N5({time:n}){return{time:n,type:"scheduleCancel"}}function z5({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function D5({amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:_}){return{amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:_,type:"sendAsset"}}function O5({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function R5({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function x5({hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,validator:f,wei:t}){return{hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,type:"tokenDelegate",validator:f,wei:t}}import{SwapKitError as wt}from"@swapkit/helpers";import{keccak256 as F5,Signature as S5}from"ethers";function Gn(...n){let y=n.reduce((f,t)=>f+t.length,0),T=new Uint8Array(y),o=0;for(let f of n)T.set(f,o),o+=f.length;return T}function $5(n,y,T){if(T<y)return new Uint8Array([n+T]);if(T<=255)return new Uint8Array([n+y,T]);if(T<=65535)return new Uint8Array([n+y+1,T>>8,T&255]);return new Uint8Array([n+y+2,T>>>24&255,T>>>16&255,T>>>8&255,T&255])}function no(n,y){let T=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)T[f]=Number(o&0xffn),o>>=8n;return T}function aC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return Gn(new Uint8Array([205]),no(n,2));if(n<=0xffffffffn)return Gn(new Uint8Array([206]),no(n,4));return Gn(new Uint8Array([207]),no(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return Gn(new Uint8Array([209]),no(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Gn(new Uint8Array([210]),no(BigInt.asUintN(32,n),4));return Gn(new Uint8Array([211]),no(BigInt.asUintN(64,n),8))}function n1(n){let y=I5.encode(n);if(y.length<32)return Gn(new Uint8Array([160+y.length]),y);return Gn($5(217,0,y.length),y)}function E5(n){let y=n.map((o)=>qt(o)),T=n.length<16?new Uint8Array([144+n.length]):n.length<=65535?new Uint8Array([220,n.length>>8,n.length&255]):new Uint8Array([221,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Gn(T,...y)}function b5(n){let y=Object.entries(n).filter(([,o])=>typeof o<"u"),T=y.length<16?new Uint8Array([128+y.length]):y.length<=65535?new Uint8Array([222,y.length>>8,y.length&255]):new Uint8Array([223,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Gn(T,...y.flatMap(([o,f])=>[n1(o),qt(f)]))}function qt(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return n1(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new wt("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return aC(BigInt(n))}if(typeof n==="bigint")return aC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Gn(y,n)}if(Array.isArray(n))return E5(n);if(typeof n==="object")return b5(n);throw new wt("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function v5(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new wt("helpers_invalid_params",{hexValue:n});let T=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)T[o/2]=Number.parseInt(y.slice(o,o+2),16);return T}function o1(n){return{domain:p5,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...k5.Agent]}}}function y1(n){let y=P5[n.type],T=u5[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:sC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||eC},primaryType:y,types:{[y]:T}}}function f1(n){let y=S5.from(n);return{r:y.r,s:y.s,v:y.v}}function T1(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=qt(n),t=no(BigInt(y),8),C=o?Gn(new Uint8Array([1]),v5(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?Gn(new Uint8Array([0]),no(BigInt(T),8)):new Uint8Array;return F5(Gn(f,t,C,H))}function t1(n){let y=n.hyperliquidChain||eC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var sC="0x0000000000000000000000000000000000000000",p5,k5,eC="Mainnet",u5,P5,I5;var C1=k(()=>{p5={chainId:1337,name:"Exchange",verifyingContract:sC,version:"1"},k5={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},u5={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"}]},P5={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},I5=new TextEncoder});import{AssetValue as Xt,Chain as V5,derivationPathToString as K5,getChainConfig as A1,getRPCUrl as j5,NetworkDerivationPath as c5,RequestClient as uo,SwapKitError as Po,updateDerivationPath as i5}from"@swapkit/helpers";import{HDNodeWallet as h5}from"ethers";import{match as m5,P as Gt}from"ts-pattern";function Yn(n,y){if(!Bt(n))throw new Po(y,{address:n});return n.toLowerCase()}async function Mo(n){let y=await Qf();return uo.post(`${y}/info`,{json:n})}function n2({dex:n,user:y}){return Mo({...n?{dex:n}:{},type:"clearinghouseState",user:Yn(y,"helpers_invalid_params")})}function o2({user:n}){return Mo({type:"spotClearinghouseState",user:Yn(n,"helpers_invalid_params")})}function y2({dex:n,user:y}){return Mo({...n?{dex:n}:{},type:"openOrders",user:Yn(y,"helpers_invalid_params")})}function f2({dex:n,user:y}){return Mo({...n?{dex:n}:{},type:"frontendOpenOrders",user:Yn(y,"helpers_invalid_params")})}function T2({oidOrCloid:n,user:y}){return Mo({oid:n,type:"orderStatus",user:Yn(y,"helpers_invalid_params")})}function t2({aggregateByTime:n,user:y}){return Mo({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:Yn(y,"helpers_invalid_params")})}function C2({aggregateByTime:n,endTime:y,startTime:T,user:o}){return Mo({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:Yn(o,"helpers_invalid_params")})}function H1({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=r5[f]||U1,C=o?.tokens?.find((_)=>_.name===n||y!==void 0&&_.index===Number(y)),H=C?`${pn}.${f}-${C.name}:${C.tokenId}`:`${pn}.${f}`;return new Xt({decimal:t,identifier:H,value:T})}function H2(n){let y=new Map;for(let T of n){let o=T.toString({includeSynthProtocol:!0}),f=y.get(o);y.set(o,f?f.add(T):T)}if(![...y.values()].some((T)=>T.isGasAsset||T.ticker==="HYPE")){let T=Xt.from({chain:pn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Qf(){try{return await j5(pn)}catch{let[n]=A1(pn).rpcUrls;if(!n)throw new Po("helpers_chain_no_public_or_set_rpc_url",{chain:pn});return n}}async function Wt(){return`${await Qf()}/exchange`}function _2(n){let y=e5[n.type],{type:T,...o}=n,f=s5[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:a5,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function w1({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?Yn(o,"helpers_invalid_params"):void 0,C=await Wt(),H=T1(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:o1(H),vaultAddress:t}}async function q1({action:n,nonce:y,signatureChainId:T}){let o=y||n.nonce||Date.now(),f=T||n.signatureChainId||"0xa4b1",t=t1({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await Wt(),nonce:o,typedData:y1(t)}}async function lt({assetValue:n,recipient:y,sender:T,signatureChainId:o,time:f}){let t=Yn(y,"core_transaction_invalid_recipient_address"),C=Yn(T,"core_transaction_invalid_sender_address"),H=await Wt(),_=n.getValue("string"),A=f||Date.now(),X=n.address;if(!X)throw new Po("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:_,destination:t,hyperliquidChain:g5,signatureChainId:o||d5,time:A,token:X,type:"spotSend"};return{action:M,endpoint:H,nonce:A,typedData:_2(M)}}async function _1(n){let y=await uo.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new Po("core_transaction_failed",{response:y});return y}async function A2(n,y){let T=await Qf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((t)=>setTimeout(t,1000));try{let t=await uo.post(`${T}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(t)?t.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function Bt(n){return n.startsWith("0x")&&Ay(n)}function U2(n){let y=wn(pn),T=n&&"index"in n?n.index||0:0,o=K5(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:i5(c5[pn],{index:T})),f,t=!1;function C(){if(t)return f;return f=m5(n).with({phrase:Gt.string},({phrase:l})=>{return h5.fromPhrase(l,void 0,o)}).with({signer:Gt.not(Gt.nullish)},({signer:l})=>l).otherwise(()=>{return}),t=!0,f}async function H(){let l=C();return l?await l.getAddress():""}async function _(l){let w=C();if(!w)throw new Po("toolbox_hypercore_no_signer");let q=await w.signTypedData(l.typedData.domain,l.typedData.types,l.typedData.message);return{action:l.action,endpoint:l.endpoint,nonce:l.nonce,signature:f1(q),..."expiresAfter"in l?{expiresAfter:l.expiresAfter}:{},..."vaultAddress"in l?{vaultAddress:l.vaultAddress}:{}}}async function A(l){let w=Yn(l,"helpers_invalid_params");try{let q=await Qf(),[G,Q,z]=await Promise.all([uo.post(`${q}/info`,{json:{type:"spotClearinghouseState",user:w}}),uo.post(`${q}/info`,{json:{type:"clearinghouseState",user:w}}),uo.post(`${q}/info`,{json:{type:"spotMeta"}})]),L=(G.spotState?.balances||G.balances||[]).map(({coin:Z,token:U,total:B})=>H1({coin:Z,spotMeta:z,token:U,value:B})).filter((Z)=>!!Z),Y=H1({coin:"USDC",spotMeta:z,value:Q.withdrawable||Q.marginSummary?.accountValue||Q.marginSummary?.totalRawUsd});return H2(Y?[...L,Y]:L)}catch{return y(w)}}async function X(l){let w=C();if(!w)throw new Po("toolbox_hypercore_no_signer");let q=l.sender||await w.getAddress(),G=await lt({...l,feeRate:0,sender:q}),Q=await _(G);return await _1(Q),A2(q,G.nonce)}function M(){return Xt.from({chain:pn,value:0})}return{broadcastTransaction:_1,createL1ActionRequest:w1,createTransaction:lt,createUserSignedActionRequest:q1,estimateTransactionFee:M,getAddress:H,getBalance:A,getState:{clearinghouse:n2,frontendOpenOrders:f2,openOrders:y2,orderStatus:T2,spotClearinghouse:o2,userFills:t2,userFillsByTime:C2},signTransaction:_,transfer:X,validateAddress:Bt}}var pn,U1,r5,g5="Mainnet",d5="0xa4b1",a5="0x0000000000000000000000000000000000000000",s5,e5;var G1=k(()=>{$T();$n();C1();pn=V5.HyperCore,{baseDecimal:U1}=A1(pn),r5={HYPE:U1,USDC:6,USDT:6},s5={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},e5={spotSend:"HyperliquidTransaction:SpotSend"}});var Mt={};e(Mt,{validateHyperCoreAddress:()=>Bt,getHyperCoreToolbox:()=>U2,createUserSignedActionRequest:()=>q1,createTransaction:()=>lt,createL1ActionRequest:()=>w1,buildUsdClassTransferAction:()=>z5,buildUpdateLeverageAction:()=>Z5,buildUpdateIsolatedMarginAction:()=>J5,buildTopUpIsolatedOnlyMarginAction:()=>Y5,buildTokenDelegateAction:()=>x5,buildSendAssetAction:()=>D5,buildScheduleCancelAction:()=>N5,buildOrderAction:()=>W5,buildModifyAction:()=>L5,buildCancelByCloidAction:()=>M5,buildCancelAction:()=>B5,buildBatchModifyAction:()=>Q5,buildApproveBuilderFeeAction:()=>R5,buildApproveAgentAction:()=>O5});var Lt=k(()=>{G1()});import{PublicKey as oo}from"@solana/web3.js";import{AssetValue as Zf,Chain as Kn,DerivationPath as w2,derivationPathToString as q2,getChainConfig as B1,getRPCUrl as G2,NetworkDerivationPath as l2,SwapKitError as Io,updateDerivationPath as X2}from"@swapkit/helpers";import{match as W2,P as l1}from"ts-pattern";async function M1(n){let y=Zf.from({address:n,chain:Kn.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let T=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(T);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function B2(n){let y=await Vn(),{PublicKey:T}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new T(n),{baseDecimal:t}=B1(Kn.Solana),C=await y.getBalance(f),H=[Zf.from({chain:Kn.Solana,fromBaseDecimal:t,value:C||0})],_=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:A}of _.value){let X=A.data.parsed.info,M=X.mint,l=X.tokenAmount.amount;if(Number(l)===0)continue;let w=await M1(M),q=w?.symbol||"UNKNOWN",G=w?.decimals||X.tokenAmount.decimals;H.push(Zf.from({asset:`${Kn.Solana}.${q}-${M}`,fromBaseDecimal:G,value:l}))}return H}function Zt(n){try{let y=new oo(n);return oo.isOnCurve(y.toBytes())}catch{return!1}}function M2(n){let y=n&&"index"in n?n.index||0:0,T=q2(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:X2(l2[Kn.Solana],{index:y})),o;async function f(){if(o)return o;return o=await W2(n).with({phrase:l1.string},({phrase:C})=>Qt({derivationPath:T,phrase:C})).with({signer:l1.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?W1(C.publicKey):""}return{broadcastTransaction:Jf(Vn),createKeysForPath:Qt,createTransaction:Jt(Vn),createTransactionFromInstructions:J2,estimateTransactionFee:L2(Vn),getAddress:t,getAddressFromPubKey:W1,getBalance:wn(Kn.Solana),getBalanceFromRPC:B2,getConnection:Vn,getPubkeyFromAddress:(C)=>new oo(C),signAndBroadcastTransaction:async(C)=>{let H=await X1(Vn,f)(C);return Jf(Vn)(H)},signTransaction:X1(Vn,f),transfer:Y2(Vn,f),validateAddress:Zt}}function L2(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),_=(await Jt(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),A=await C.getFeeForMessage(_);if(A.value===null)throw new Io("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=B1(Kn.Solana);return Zf.from({chain:Kn.Solana,fromBaseDecimal:X,value:A.value})}}async function Vn(){let{Connection:n}=await import("@solana/web3.js"),y=await G2(Kn.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(T,o,f)=>{let t={};for(let[C,H]of Object.entries(o?.headers??{})){let _=C.toLowerCase();if(_!=="pragma"&&_!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function Q2(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new oo(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:_}=await import("@solana/web3.js");return new H().add(_.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new oo(T)}))}if(y.address)return Z2({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function Z2({tokenAddress:n,recipient:y,from:T,connection:o,amount:f,decimals:t,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),l=new M,w=new oo(n),q=await H(w,T),G=new oo(y),Q=await H(w,G,C),z=!1;try{await _(o,Q),z=!0}catch{}if(!z)l.add(A(T,Q,G,w));return l.add(X(q,w,Q,T,f,t)),l}function Jt(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new oo(t);if(!(f||Zt(y)))throw new Io("core_transaction_invalid_recipient_address");let _=await n(),A=await Q2(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!A)throw new Io("core_transaction_invalid_sender_address");if(o)A.add(C(o));let X=await _.getLatestBlockhash();return A.recentBlockhash=X.blockhash,A.feePayer=H,A}}async function J2({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),T=new y().add(...n);if(!T)throw new Io("core_transaction_invalid_sender_address");return T}function Y2(n,y){return async({recipient:T,assetValue:o,memo:f,isProgramDerivedAddress:t})=>{let C=await y();if(!C)throw new Io("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),_=await Jt(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let A=await C.signTransaction(_);return Jf(n)(A)}return _.sign(C),Jf(n)(_)}}function Jf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function X1(n,y){return async(T)=>{let o=await y();if(!o)throw new Io("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(T instanceof f)){let C=await(await n()).getLatestBlockhash();T.recentBlockhash=C.blockhash,T.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(T);return T.sign([o]),T}}async function Qt({phrase:n,derivationPath:y=w2.SOL}){let{HDKey:T}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),t=o(n),C=T.fromMasterSeed(t);return f.fromSeed(C.derive(y,!0).privateKey)}function W1(n){return n.toString()}var L1=k(()=>{$n()});var Yt={};e(Yt,{validateSolanaAddress:()=>Zt,getSolanaToolbox:()=>M2,fetchTokenMetaData:()=>M1,createKeysForPath:()=>Qt});var Nt=k(()=>{L1()});import{AssetValue as Yf,Chain as Nf,DerivationPath as Z1,derivationPathToString as N2,getChainConfig as z2,getRPCUrl as Ot,NetworkDerivationPath as D2,SwapKitError as Ln,updateDerivationPath as O2}from"@swapkit/helpers";import{match as zt,P as $o}from"ts-pattern";function zf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Df({phrase:n,derivationPath:y=Z1.STRK}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:t,encode:C,CallData:H}=await import("starknet"),_=o(n),X=T.fromMasterSeed(_).derive(y);if(!X.privateKey)throw new Ln("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(X.privateKey).toString("hex")),l=f.starkCurve.grindKey(M),w=C.addHexPrefix(l),q=f.starkCurve.getStarkKey(w),G=H.compile([q,0]);return{address:t.calculateContractAddressFromHash(q,Rt,G,0),privateKey:w,publicKey:q}}async function xt({phrase:n,derivationPath:y=Z1.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Df({derivationPath:y,phrase:n}),C=await Ot(Nf.Starknet),H=new o({nodeUrl:C});return new T({address:t,provider:H,signer:f})}function J1(n){let y=Nf.Starknet,T=n&&"index"in n?n.index||0:0,o=N2(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:O2(D2[y],{index:T})),f,t,C;async function H(){if(t)return t;let{RpcProvider:U}=await import("starknet"),B=await Ot(y);return t=new U({nodeUrl:B}),t}async function _(U){let B=await H(),J=U||await l();if(!J)return!1;try{return await B.getClassHashAt(J),!0}catch(D){if(D instanceof Error&&D.message.includes("Contract not found"))return!1;let R=D;if(R?.code===20||R?.code===19)return!1;throw D}}async function A(){let{CallData:U,hash:B}=await import("starknet"),J=await H(),D=await M();if(!D)throw new Ln("toolbox_starknet_no_signer");if(!C)throw new Ln({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 W=U.compile([C,0]);if(B.calculateContractAddressFromHash(C,Rt,W,0).toLowerCase()!==D.address.toLowerCase())throw new Ln({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let O={addressSalt:C,classHash:Rt,constructorCalldata:W},{transaction_hash:x}=await D.deployAccount(O);return await J.waitForTransaction(x),x}async function X(){if(!await _()){if(!C)throw new Ln({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await A()}}async function M(){if(f)return f;return f=await zt(n).with({phrase:$o.string},async({phrase:U})=>{let{Account:B,RpcProvider:J}=await import("starknet"),{privateKey:D,address:R,publicKey:W}=await Df({derivationPath:o,phrase:U});C=W;let N=await Ot(Nf.Starknet),O=new J({nodeUrl:N});return new B({address:R,provider:O,signer:D})}).with({address:$o.string,privateKey:$o.string},async({privateKey:U,address:B})=>{let{Account:J}=await import("starknet"),D=await H();return new J({address:B,provider:D,signer:U})}).with({signer:$o.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function l(){return(await M())?.address??""}async function w(U){let B=await H(),{uint256:J,CallData:D}=await import("starknet"),R=[],W=[Dt,Q1];for(let N of W)try{let[O="0",x="0"]=await B.callContract({calldata:D.compile({account:U}),contractAddress:N,entrypoint:"balanceOf"}),S=J.uint256ToBN({high:O,low:x});zt(N).with(Dt,()=>{R.push(Yf.from({chain:y,value:S}))}).with(Q1,()=>{if(S>0n)R.push(Yf.from({asset:`${y}.ETH-${N}`,value:S}))}).otherwise(()=>{})}catch{}return R}async function q({recipient:U,assetValue:B}){let{CallData:J,uint256:D}=await import("starknet");if(!zf(U))throw new Ln("core_transaction_invalid_recipient_address",{address:U});let R=B.isGasAsset?Dt:B.address;if(!R)throw new Ln("toolbox_starknet_invalid_address",{address:R,assetValue:B});let W=D.bnToUint256(B.getBaseValue("bigint"));return[{calldata:J.compile([U,W]),contractAddress:R,entrypoint:"transfer"}]}async function G({recipient:U,assetValue:B,sender:J}){let{baseDecimal:D}=z2(Nf.Starknet),R=await M(),W=await zt({sender:J,signer:R}).with({sender:$o.string},async({sender:N})=>{let{Account:O}=await import("starknet"),x=await H();return new O({address:N,provider:x,signer:"0x0"})}).with({signer:$o.nonNullable},({signer:N})=>N).otherwise((N)=>{throw new Ln({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:N}})});try{let N=await q({assetValue:B,recipient:U}),O=await W.estimateInvokeFee(N);if(O?.overall_fee)return Yf.from({chain:y,fromBaseDecimal:D,value:O.overall_fee})}catch(N){throw new Ln("toolbox_starknet_fee_estimation_failed",N)}return Yf.from({chain:y,value:"0.00001"})}async function Q({recipient:U,assetValue:B,memo:J}){let D=await M();if(!D)throw new Ln("toolbox_starknet_no_signer");await X();let R=await q({assetValue:B,memo:J,recipient:U});return(await D.execute(R)).transaction_hash}async function z(U){let B=await M();if(!B)throw new Ln("toolbox_starknet_no_signer");let J=await B.signMessage(U);return Array.isArray(J)?J:[J.r.toString(),J.s.toString()]}async function L(U){let B=await M();if(!B)throw new Ln("toolbox_starknet_no_signer");return await X(),(await B.execute(U)).transaction_hash}function Y(U){return L(U)}function Z(U,B=!0){try{return wn(y)(U,B)}catch{return w(U)}}return{broadcastTransaction:L,createKeysForPath:xt,createTransaction:q,deployAccount:A,estimateTransactionFee:G,getAddress:l,getBalance:Z,getProvider:H,isAccountDeployed:_,signAndBroadcastTransaction:Y,signMessage:z,transfer:Q,validateAddress:zf}}var Dt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",Q1="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Rt="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var Y1=k(()=>{$n()});var Of={};e(Of,{validateStarknetAddress:()=>zf,starknetCreateKeysForPath:()=>xt,getStarknetToolbox:()=>J1,deriveStarknetKeys:()=>Df});var Rf=k(()=>{Y1()});import{isValidSuiAddress as R2}from"@mysten/sui/utils";import{AssetValue as Eo,Chain as xf,getChainConfig as x2,SwapKitError as Nn}from"@swapkit/helpers";import{match as F2,P as N1}from"ts-pattern";async function D1(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?D1(n,y,T,C,t.nextCursor):C}function S2(n,y,T){let o=y.reduce((_,A)=>_+BigInt(A.balance),0n);if(o<T)throw new Nn("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((_,A)=>{if(_.total>=T)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),t=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(t,C);let[H]=n.splitCoins(t,[T]);return H}function O1(n){try{return R2(n)}catch{return!1}}function z1(n){return"signWithIntent"in n}function p2({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await F2(y).with({phrase:N1.string},async({phrase:q})=>{let{Ed25519Keypair:G}=await import("@mysten/sui/keypairs/ed25519");return G.deriveKeypair(q)}).with({signer:N1.any},({signer:q})=>q).otherwise(()=>{return}),T}async function f(q=n){let{SuiClient:G,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new G({url:q||Q("mainnet")})}async function t(){return(await o())?.toSuiAddress()||""}function C(q){try{let G=Eo.from({address:q,chain:xf.Sui});return{asset:G.toString(),decimals:G.decimal}}catch{}return null}async function H(q){let G=q||await t();if(!G)throw new Nn("toolbox_sui_address_required");let{baseDecimal:Q,chain:z}=x2(xf.Sui);try{let L=await f(),{totalBalance:Y}=await L.getBalance({owner:G}),Z=[Eo.from({chain:z,fromBaseDecimal:Q,value:Y})],U=await L.getAllBalances({owner:G});for(let{coinType:B,totalBalance:J}of U){if(B==="0x2::sui::SUI"||Number(J)<=0)continue;let D=C(B);if(D)Z.push(Eo.from({asset:D.asset,fromBaseDecimal:D.decimals,value:J}))}return Z}catch{return[Eo.from({chain:z})]}}async function _(q){let G=Eo.from({chain:xf.Sui,value:"0.01"});if(!q)return G;try{let Q=await f(),{txBytes:z}=await A(q),{effects:{status:L,gasUsed:Y}}=await Q.dryRunTransactionBlock({transactionBlock:z});if(L.status!=="success")return G;let Z=Number(Y.computationCost)+Number(Y.storageCost)-Number(Y.storageRebate);return Eo.from({chain:xf.Sui,value:Z.toString()})}catch{return G}}async function A({recipient:q,assetValue:G,gasBudget:Q,sender:z}){let{Transaction:L}=await import("@mysten/sui/transactions"),Y=z||await t();if(!Y)throw new Nn("toolbox_sui_no_sender");try{let Z=new L;if(Z.setSender(Y),G.isGasAsset||G.symbol==="SUI"){let[J]=Z.splitCoins(Z.gas,[G.getBaseValue("string")]);Z.transferObjects([J],q)}else{let J=G.address;if(!J)throw new Nn("toolbox_sui_missing_coin_type");let D=await f(),R=G.getBaseValue("bigint"),W=await D1(D,Y,J);if(!W.length)throw new Nn("toolbox_sui_no_coins_found",{coinType:J});let N=S2(Z,W,R);Z.transferObjects([N],q)}if(Q)Z.setGasBudget(Q);let U=await f(),B=await Z.build({client:U});return{tx:Z,txBytes:B}}catch(Z){if(Z instanceof Nn)throw Z;throw new Nn("toolbox_sui_transaction_creation_error",{error:Z})}}async function X(q){let G=await o();if(!G)throw new Nn("toolbox_sui_no_signer");if(q instanceof Uint8Array)return G.signTransaction(q);let{txBytes:Q}="tx"in q?q:await A(q);return G.signTransaction(Q)}async function M({assetValue:q,gasBudget:G,recipient:Q}){let z=await o();if(!z)throw new Nn("toolbox_sui_no_signer");let L=z.toSuiAddress()||await t();if(!L)throw new Nn("toolbox_sui_no_sender");let{txBytes:Y}=await A({assetValue:q,gasBudget:G,recipient:Q,sender:L}),Z=await f();if(!z1(z)){let B=await z.signTransaction(Y),{digest:J}=await Z.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return J}let{digest:U}=await Z.signAndExecuteTransaction({signer:z,transaction:Y});return U}async function l(q){let G=await f(),{digest:Q}=await G.executeTransactionBlock({signature:q.signature,transactionBlock:q.bytes});return Q}async function w(q){let G=await o();if(!G)throw new Nn("toolbox_sui_no_signer");let Q=await f(),z;if(typeof q==="string")z=Uint8Array.from(Buffer.from(q,"base64"));else if(q instanceof Uint8Array)z=q;else z=await q.build({client:Q});if(!z1(G)){let Y=await G.signTransaction(z),{digest:Z}=await Q.executeTransactionBlock({signature:Y.signature,transactionBlock:Y.bytes});return Z}let{digest:L}=await Q.signAndExecuteTransaction({signer:G,transaction:z});return L}return{broadcastTransaction:l,createTransaction:A,estimateTransactionFee:_,getAddress:t,getBalance:H,signAndBroadcastTransaction:w,signTransaction:X,transfer:M,validateAddress:O1}}var R1=()=>{};var Ff={};e(Ff,{validateSuiAddress:()=>O1,getSuiToolbox:()=>p2});var Sf=k(()=>{R1()});import{getHttpEndpoint as k2}from"@orbs-network/ton-access";import{AssetValue as u2,Chain as Jy,getChainConfig as P2,getRPCUrl as I2,SwapKitError as Zy,SwapKitNumber as $2}from"@swapkit/helpers";import{mnemonicToWalletKey as E2}from"@ton/crypto";import{Address as jn,beginCell as Ft,Cell as x1,external as b2,internal as v2,JettonMaster as V2,loadStateInit as K2,SendMode as F1,storeMessage as j2,TonClient as c2,toNano as u1,WalletContractV4 as i2}from"@ton/ton";import{match as S1,P as St}from"ts-pattern";async function d2(){let n=Date.now();if(pf&&n-k1<g2)return pf;try{return pf=await k2(),k1=n,pf}catch{return I2(Jy.Ton)}}function a2(n={}){let y,T,o;async function f(){if(!y){let Z=n.provider??await d2();y=new c2({endpoint:Z})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await S1(n).with({phrase:St.string},async({phrase:Z})=>E2(Z.split(" "))).with({signer:St.any},({signer:Z})=>Z).otherwise(()=>{return}),o}async function H(Z){if(!T||Z){let U=await C(),B=await f(),J=Z||U;if(!J)throw new Zy("core_wallet_connection_not_found");let D=i2.create({publicKey:J.publicKey,workchain:0});T=B.open(D)}return T}let _=wn(Jy.Ton);async function A({assetValue:Z,recipient:U,memo:B,sender:J}){if(Z.isGasAsset){let E=B?Y(B).toBoc().toString("base64"):void 0;return[{address:U,amount:Z.getBaseValue("string"),payload:E}]}let D=Z.address;if(!D)throw new Zy({errorKey:"core_swap_contract_not_found",info:{asset:Z.toString()}});let R=J??await t(),W=await z({jettonMasterAddress:D,ownerAddress:R}),N=jn.parse(U),O=jn.parse(R),x=Z.getBaseValue("bigint"),S=B?Y(B):void 0,I=L({destinationAddress:N,forwardPayload:S,jettonAmount:x,responseAddress:O});return[{address:W.toString(),amount:r2.toString(),payload:I.toBoc().toString("base64")}]}function X({sender:Z,...U}){return A({...U,sender:Z})}function M(Z){return Z.map((U)=>{let B=U.payload?x1.fromBase64(U.payload):void 0,J=U.stateInit?K2(x1.fromBase64(U.stateInit).asSlice()):void 0,D=jn.parse(U.address),R=jn.isFriendly(U.address)?jn.parseFriendly(U.address).isBounceable:!0;return v2({body:B,bounce:R,init:J,to:D,value:BigInt(U.amount)})})}async function l(Z){let U=await C(),B=await H();if(!B||!U)throw new Zy("core_wallet_connection_not_found");let J=await f(),{state:D}=await J.getContractState(B.address),R=D==="active",W=R?await B.getSeqno():0,N=B.createTransfer({messages:M(Z),secretKey:U.secretKey,sendMode:p1,seqno:W}),O=b2({body:N,init:R?void 0:B.init,to:B.address});return Ft().store(j2(O)).endCell()}async function w(Z){return await(await f()).sendFile(Z.toBoc()),Z.hash().toString("hex")}async function q(Z){let U=await l(Z);return w(U)}async function G({assetValue:Z,recipient:U,memo:B}){let J=await X({assetValue:Z,memo:B,recipient:U});return q(J)}async function Q({sender:Z,...U}){let{baseDecimal:B}=P2(Jy.Ton),J=await S1(Z).with(St.string,(W)=>{return jn.parseFriendly(W).address}).otherwise(async()=>{return(await H()).address});if(!J)throw new Zy("toolbox_fee_estimation_failed",{chain:Jy.Ton});let D=u2.from({chain:Jy.Ton,value:"0.01"}),R=await f();try{let W=await X({sender:Z,...U}),N=await C(),O=await H();if(!O||!N)return D;let x=await O.getSeqno(),S=O.createTransfer({messages:M(W),secretKey:N.secretKey,sendMode:p1,seqno:x}),{source_fees:I}=await R.estimateExternalMessageFee(J,{body:S,ignoreSignature:!0,initCode:null,initData:null}),E=I.in_fwd_fee+I.storage_fee+I.gas_fee+I.fwd_fee;return D.set($2.fromBigInt(BigInt(E),B))}catch{return D}}async function z({jettonMasterAddress:Z,ownerAddress:U}){try{let B=await f(),J=jn.parse(Z),D=jn.parse(U);return await B.open(V2.create(J)).getWalletAddress(D)}catch{throw new Zy({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:Z,ownerAddress:U}})}}function L({jettonAmount:Z,destinationAddress:U,responseAddress:B,forwardAmount:J=m2,forwardPayload:D}){let R=Ft().storeUint(h2,32).storeUint(0,64).storeCoins(Z).storeAddress(U).storeAddress(B).storeBit(0).storeCoins(J);if(D)R.storeBit(1).storeRef(D);else R.storeBit(0);return R.endCell()}function Y(Z){return Ft().storeUint(0,32).storeStringTail(Z).endCell()}return{broadcastTransaction:w,createTransaction:X,estimateTransactionFee:Q,getAddress:t,getBalance:_,getJettonWalletAddress:z,sign:l,signAndBroadcastTransaction:q,transfer:G,validateAddress:P1}}function P1(n){try{return jn.parse(n),!0}catch{return!1}}var h2=260734629,m2,r2,p1,g2=60000,pf,k1=0;var I1=k(()=>{$n();m2=u1("0.01"),r2=u1("0.05"),p1=F1.PAY_GAS_SEPARATELY+F1.IGNORE_ERRORS});var kf={};e(kf,{validateTonAddress:()=>P1,getTONToolbox:()=>a2});var uf=k(()=>{I1()});import{NetworkDerivationPath as s2}from"@swapkit/helpers";function zn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function yo({accountIndex:n,chain:y,derivationPath:T}){if(n!==void 0)zn("accountIndex",n);let o=[...T?.slice(0,3)??s2[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function bo({accountIndex:n,change:y=!1,chain:T,derivationPath:o,index:f}){return zn("index",f),[...yo({accountIndex:n,chain:T,derivationPath:o}),Number(y),f]}function Lo(n){return n[2]??0}function $1({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:_,count:A,startIndex:X=0,change:M=!1}=H;if(zn("count",A),A<1)throw RangeError("count must be at least 1");zn("startIndex",X);let l=[];for(let w=0;w<A;w++){let q=await n({accountIndex:_,change:M,index:X+w});if(q)l.push(q)}return l}async function f(H){let{gapLimit:_=20,change:A=!1}=H??{},X=[],M=0,l=0;while(M<_){let w=await n({change:A,index:l});if(!w)break;if((await y(w.address)).some((Q)=>Q.getValue("number")>0))X.push(w),M=0;else M++;l++}return X}async function t(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[..._,...A],M=await Promise.all(X.map(async(w)=>{let G=(await y(w.address)).reduce((Q,z)=>Q+z.getValue("number"),0);return{...w,balance:G}})),l=M.reduce((w,q)=>w+q.balance,0);return{addresses:M,total:l}}async function C(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[..._,...A];return(await Promise.all(X.map(async(l)=>{return(await T(l.address)).map((q)=>({...q,address:l.address,derivationIndex:l.index,isChange:l.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:t,getAggregatedUtxos:C,scanForAddresses:f}}var Yy=()=>{};import{Chain as Tn,getRPCUrl as e2,RequestClient as Pf,SKConfig as nU,SwapKitError as kn,warnOnce as oU}from"@swapkit/helpers";import{NETWORKS as vo}from"@swapkit/utxo-signer";async function yU({chain:n,txHash:y}){let T=`${Ny(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await Pf.post(T,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new kn("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let t=await e2(n);if(t){let C=JSON.stringify({id:u0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await Pf.post(t,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new kn("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new kn("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Ny(n){return`https://api.blockchair.com/${fU(n)}`}function E1(n){switch(n){case Tn.Bitcoin:return 5;case Tn.Dogecoin:return 1e4;case Tn.Litecoin:return 1;case Tn.Zcash:return 1;default:return 2}}function fU(n){switch(n){case Tn.BitcoinCash:return"bitcoin-cash";case Tn.Litecoin:return"litecoin";case Tn.Dash:return"dash";case Tn.Dogecoin:return"dogecoin";case Tn.Zcash:return"zcash";case Tn.Polkadot:return"polkadot";default:return"bitcoin"}}async function TU(n){try{let{feePerKb:y}=await Pf.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),T=y/1000;return Math.max(T,E1(n))}catch{return E1(n)}}async function If(n,y){let T=await Pf.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!T||T.context.code!==200)throw new kn("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return T.data}async function v1({address:n,chain:y,apiKey:T}){if(!n)throw new kn("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await If(`${Ny(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function tU({address:n,chain:y,apiKey:T}){return(await v1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function V1({chain:n,apiKey:y,txHash:T}){if(!T)throw new kn("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await If(`${Ny(n)}/raw/transaction/${T}`,y))?.[T]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function HU({chain:n,apiKey:y,txHash:T}){if(!T)throw new kn("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await If(`${Ny(n)}/dashboards/transaction/${T}`,y))?.[T];if(!f)throw new kn("toolbox_utxo_tx_not_found",{txHash:T});let{transaction:t,inputs:C,outputs:H}=f,_=C.map((X)=>X.spending_sequence),A=t.is_rbf===!0||_.some((X)=>X<CU);return{blockId:t.block_id,confirmed:t.block_id!==-1,fee:t.fee,inputs:C,isRBF:A,outputs:H,sequences:_,size:t.size,txid:t.hash,weight:t.weight}}async function _U({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await If(`${Ny(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,T)).map(({is_spent:_,script_hex:A,block_id:X,transaction_hash:M,index:l,value:w,spending_signature_hex:q})=>({hash:M,index:l,is_confirmed:X!==-1,is_spent:_,script_hex:A,txHex:q,value:w}))}function AU(n){return n.reduce((y,T)=>y+T.value,0)}function b1(n,y){let T=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let t of T)if(o.push(t),f+=t.value,f>=y)break;return o}return T}async function K1({chain:n,address:y,apiKey:T,targetValue:o,accumulativeValue:f=0,offset:t=0,limit:C=30}){if(!y)throw new kn("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await _U({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),A=H.length<C,X=H.filter(({is_spent:Q})=>!Q),M=AU(X),l=f+M,w=o&&l>=o;if(A||w)return b1(X,o);let q=await K1({accumulativeValue:l,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),G=[...X,...q];return b1(G,o)}catch(H){let _=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function UU({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await K1({address:n,apiKey:T,chain:y,targetValue:f}),C=[];for(let{hash:H,index:_,script_hex:A,value:X}of t){let M;if(o)M=await V1({apiKey:T,chain:y,txHash:H});C.push({address:n,hash:H,index:_,txHex:M,value:X,witnessUtxo:{script:Buffer.from(A,"hex"),value:X}})}return C}function a(n){let y=nU.get("apiKeys").blockchair||"";return oU({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(T)=>yU({chain:n,txHash:T}),getAddressData:(T)=>v1({address:T,apiKey:y,chain:n}),getBalance:(T)=>tU({address:T,apiKey:y,chain:n}),getRawTx:(T)=>V1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>TU(n),getTransactionDetails:(T)=>HU({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>UU({...T,apiKey:y,chain:n})}}function wU(n){return n}function qU(){return function(y){switch(y){case Tn.Bitcoin:return vo.bitcoin;case Tn.BitcoinCash:return vo.bitcoinCash;case Tn.Dash:return vo.dash;case Tn.Litecoin:return vo.litecoin;case Tn.Dogecoin:return vo.dogecoin;case Tn.Zcash:return vo.zcash;default:throw new kn("toolbox_utxo_not_supported",{chain:y})}}}var CU=4294967294;var j1=k(()=>{$n()});import{CashAddrType as $f,decodeCashAddr as GU,encodeCashAddr as lU}from"@swapkit/utxo-signer";function BU(n,y,T){return lU({hash:T,prefix:n,type:XU[y]})}function MU(n){let y=GU(n),T=WU[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var XU,WU,pt;var c1=k(()=>{XU={P2PKH:$f.P2PKH,P2SH:$f.P2SH},WU={[$f.P2PKH]:"P2PKH",[$f.P2SH]:"P2SH"};pt={decode:MU,encode:BU}});import{sha256 as LU}from"@noble/hashes/sha2.js";import{createBase58check as QU}from"@scure/base";import{SwapKitError as h1}from"@swapkit/helpers";function ut(n){try{return Ef(n),!0}catch{return!1}}function Pt(n){return Ef(n)?.network}function cn(n){let y=Ef(n);if(y?.format==="legacy")return n;return YU(y)}function zy(n){let y=Ef(n);return NU(y)}function Ef(n){try{let y=ZU(n);if(y)return y}catch{}try{let y=JU(n);if(y)return y}catch{}throw new h1("toolbox_utxo_invalid_address",{address:n})}function ZU(n){try{let y=m1.decode(n);if(y.length!==21)throw new h1("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case Qo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case Qo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case Qo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case Qo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case Qo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case Qo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function JU(n){if(n.indexOf(":")!==-1)try{return i1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return i1(`${T}:${n}`)}catch{}}return}function i1(n){try{let{hash:y,prefix:T,type:o}=pt.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:T==="bitcoincash"?"mainnet":"testnet",type:o==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function YU(n){let y=Qo.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),m1.encode(T)}function NU(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return pt.encode(y,T,o)}var m1,kt,Qo;var r1=k(()=>{c1();m1=QU(LU);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(kt||={});Qo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as zU}from"@swapkit/helpers";import{Script as DU}from"@swapkit/utxo-signer";function Bn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return DU.encode(["RETURN",y])}var OU=1000,vf=10,Vf=2,g1=10,RU=41,xU=107,Kf,bf,Dy,Vo=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new zU("toolbox_utxo_invalid_address",{address:n})},Zo=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?Vo(n[0].address):"P2PKH",t=(T?n.filter((A)=>A.value>=bf["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(T)):n).reduce((A,X)=>A+fo(X),0),C=y?.reduce((A,X)=>A+Oy(X),0)||Dy[o],H=vf+t+C;return o==="P2WPKH"?Math.ceil(H+Vf/4):H},fo=(n)=>{if("type"in n&&n.type)return bf[n.type];if("address"in n&&n.address)return bf[Vo(n.address)];return RU+xU},Oy=(n,y)=>{if(n?.script)return g1+n.script.length+(n.script.length>=74?2:1);if(y)return Dy[y];if("address"in n&&n.address)return Dy[Vo(n.address)];return Dy.P2PKH};var It=k(()=>{((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(Kf||={});bf={["P2PKH"]:148,["P2WPKH"]:68},Dy={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as Jo,SwapKitError as FU}from"@swapkit/helpers";function Ry(n){switch(n){case Jo.Bitcoin:case Jo.BitcoinCash:return 550;case Jo.Dash:case Jo.Litecoin:return 5500;case Jo.Dogecoin:return 1e5;case Jo.Zcash:return 546;default:throw new FU("toolbox_utxo_not_supported",{chain:n})}}function Dn({inputs:n,outputs:y,feeRate:T=1,chain:o=Jo.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?Vo(n[0].address):"P2PKH",C=n.filter((q)=>fo(q)*T<=q.value),_=t==="P2WPKH"?Math.ceil(Vf/4):0,A=vf+_+y.reduce((q,G)=>q+Oy(G),0),X=y.reduce((q,G)=>q+G.value,0),M=A*T,l=0,w=[];for(let q of C){let G=fo(q),Q=T*G;M+=Q,l+=q.value,w.push(q);let z=M+X;if(l<z)continue;let L=l-z,Y=T*Oy({address:f,value:0});if(L>Y){let Z=Y+M,U=l-(X+Math.ceil(Z));if(U>Math.max(fo({value:0})*T,Ry(o)))return{fee:Math.ceil(Z),inputs:w,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:w,outputs:y}}return{fee:Math.ceil(T*Zo({inputs:n,outputs:y}))}}var d1=k(()=>{It()});var Ko=k(()=>{j1();r1();d1();It()});import{Address as SU,ZCASH_NETWORK as pU}from"@swapkit/utxo-signer";function Yo(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function To(n){let y=Yo(n);return ut(y)&&Pt(y)==="mainnet"}function jo(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=SU(pU).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var xy=k(()=>{Ko()});import{secp256k1 as kU}from"@noble/curves/secp256k1.js";import{hex as No}from"@scure/base";import{HDKey as nH}from"@scure/bip32";import{mnemonicToSeedSync as Et}from"@scure/bip39";import{AssetValue as jf,applyFeeMultiplier as a1,Chain as s,derivationPathToString as Fy,FeeOption as un,NetworkDerivationPath as oH,SwapKitError as i,SwapKitNumber as uU,updateDerivationPath as PU,warnOnce as IU}from"@swapkit/helpers";import{Address as $U,BCHSigHash as bt,CashAddrPrefix as EU,CashAddrType as bU,encodeCashAddr as vU,NETWORKS as co,p2pkh as s1,p2wpkh as VU,RBF_SEQUENCE as KU,SigHash as yH,Transaction as $t,WIF as fH}from"@swapkit/utxo-signer";import{match as TH}from"ts-pattern";function vt({address:n,chain:y}){return TH(y).with(s.BitcoinCash,()=>To(n)).with(s.Zcash,()=>jo(n)).otherwise(()=>{try{return $U(_n(y)).decode(n),!0}catch{return!1}})}function _n(n){return TH(n).with(s.Bitcoin,()=>co.bitcoin).with(s.BitcoinCash,()=>co.bitcoinCash).with(s.Dash,()=>co.dash).with(s.Dogecoin,()=>co.dogecoin).with(s.Litecoin,()=>co.litecoin).with(s.Zcash,()=>co.zcash).exhaustive()}function jU({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Et(n),C=nH.fromMasterSeed(f,T.bip32).derive(y);if(!C.privateKey)throw new i("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function e1(n){return kU.getPublicKey(n,!0)}function py({publicKey:n,chain:y,network:T}){if(y===s.BitcoinCash){let t=s1(n,T);if(!t.hash)throw new i("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return vU({hash:t.hash,prefix:EU.MAINNET,type:bU.P2PKH}).replace(/^bitcoincash:/,"")}let f=!Sy.includes(y)?VU(n,T):s1(n,T);if(!f.address)throw new i("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function io({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=_n(T);if(o){let A=fH(t).decode(o),X=e1(A);return{privateKey:A,publicKey:X}}if(!n)throw new i("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||Fy(oH[T]),H=jU({derivationPath:C,network:t,phrase:n,seed:f}),_=e1(H);return{privateKey:H,publicKey:_}}function cU(n,y){return fH(_n(y)).encode(n)}function iU({phrase:n,derivationPath:y,chain:T,seed:o}){let f=y.split("/");if(f.length<4)throw new i("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let t=_n(T),C=o??Et(n),H=nH.fromMasterSeed(C,t.bip32),_=f.slice(0,4).join("/");return H.derive(_)}function to({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=_n(T),_=!Sy.includes(T),A=C?KU:void 0,X=new Set;for(let M of n){let l=`${M.hash}:${M.index}`;if(X.has(l))throw new i("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});X.add(l);let w=typeof M.hash==="string"?No.decode(M.hash):M.hash;if(_&&M.witnessUtxo)o.addInput({index:M.index,sequence:A,txid:w,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:No.decode(M.txHex),sequence:A,txid:w,...T===s.BitcoinCash?{sighashType:bt.ALL}:{}});else throw new i("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let l="address"in M&&M.address?M.address:f;if(T===s.BitcoinCash)l=cn(l);if(M.script){if(t)o.addOutput({amount:0n,script:t})}else o.addOutputAddress(l,BigInt(M.value),H)}return{inputs:n,tx:o}}async function ho(n){let y=await a(n).getSuggestedTxFee();return{[un.Average]:y,[un.Fast]:a1(y,un.Fast),[un.Fastest]:a1(y,un.Fastest)}}async function tH({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await ho(t))[un.Fastest],H=f||Sy.includes(t),_=n.getBaseValue("number"),A=Math.ceil(_+C*5000);return{inputs:await a(t).getUtxos({address:o,fetchTxHex:H,targetValue:A}),outputs:[{address:y,value:_},...T?[{address:"",script:Bn(T),value:0}]:[]]}}async function CH({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,_=T?Bn(T):null,A=await tH({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:X,outputs:M}=Dn({...A,chain:H,feeRate:o});if(!(X&&M))throw new i("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let l=new $t({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:w,tx:q}=to({chain:H,compiledMemo:_,enableRBF:C,inputs:X,outputs:M,sender:f,tx:l});return{inputs:w,tx:q,utxos:A.inputs}}async function HH({assetValue:n,feeOptionKey:y=un.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await tH({assetValue:n,memo:o,recipient:t,sender:f}),_=T?Math.floor(T):(await ho(C))[y];return Dn({...H,chain:C,feeRate:_})}function hU(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=un.Fast,recipients:C=1}){let H=await a(n).getAddressData(T),_=f?Math.ceil(f):(await ho(n))[t],A=H?.utxo.map((G)=>({...G,hash:"",type:"P2PKH"})).filter((G)=>G.value>Math.max(Ry(n),fo(G)*_));if(!A?.length)return jf.from({chain:n});let X=BigInt(A.reduce((G,Q)=>G+Q.value,0)),M=jf.from({chain:n,value:X}),l=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)l.push({address:T,script:Bn(o),value:0});let w=Zo({inputs:A,outputs:l}),q=jf.from({chain:n,value:BigInt(w*_)});return M.sub(q)}}function mU(n){return async function(T){let{fee:o}=await HH(T);return jf.from({chain:n,value:uU.fromBigInt(BigInt(o),8).getValue("string")})}}function rU({chain:n,phrase:y,derivationPath:T,seed:o}){let f=_n(n),{privateKey:t,publicKey:C}=io({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===s.BitcoinCash?[bt.ALL]:[yH.ALL];return{getAddress:()=>py({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(_)=>{return _.sign(t,H),_}}}function gU(n,y){return async function({memo:o,recipient:f,feeOptionKey:t,feeRate:C,assetValue:H,enableRBF:_=!1}){let A=await y?.getAddress();if(!(y&&A))throw new i("toolbox_utxo_no_signer");if(!f)throw new i("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});IU({condition:_&&!cf.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let X=_&&cf.includes(n),M=C||(await ho(n))[t||un.Fast],{tx:l}=await CH({assetValue:H,enableRBF:X,feeRate:M,memo:o,recipient:f,sender:A}),w=await y.signTransaction(l);return w.finalize(),a(n).broadcastTx(No.encode(w.extract()))}}function Vt(n){return(y)=>vt({address:y,chain:n})}function Kt(n){let y=_n(n);return function(o){if(!o)throw new i("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return py({chain:n,network:y,publicKey:o.publicKey})}}function Co({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Et(T):void 0,t="derivationPath"in y&&y.derivationPath?y.derivationPath:PU(oH[n],{index:o}),C=Fy(t),H=T?rU({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,_="signer"in y?y.signer:void 0,A=H||_,X=T?io({chain:n,derivationPath:C,phrase:T,seed:f}):void 0;function M(){if(A)return A.getAddress();return Promise.resolve(void 0)}function l(W){if(!T)return;let N=yo({accountIndex:W,chain:n,derivationPath:t});return iU({chain:n,derivationPath:Fy(N),phrase:T,seed:f})}let w=l();function q(){if(!w)return;return w.publicExtendedKey}function G({accountIndex:W}={}){let N=W===void 0?w:l(W);if(!N)return;let O=yo({accountIndex:W,chain:n,derivationPath:t});return{accountIndex:Lo(O),path:Fy(O),xpub:N.publicExtendedKey}}function Q({accountIndex:W,index:N,change:O=!1}){let x=W===void 0?w:l(W);if(!x)return;let S=bo({accountIndex:W,chain:n,change:O,derivationPath:t,index:N}),I=_n(n),E=x.deriveChild(Number(O)).deriveChild(N);if(!E.publicKey)throw new i("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let b=py({chain:n,network:I,publicKey:E.publicKey}),K=No.encode(E.publicKey);return{accountIndex:Lo(S),address:b,change:O,index:N,path:Fy(S),pubkey:K}}async function z(W){if(!cf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let N=await a(n).getTransactionDetails(W);return{canReplace:N.isRBF&&!N.confirmed,confirmed:N.confirmed,enabled:N.isRBF,fee:N.fee,sequences:N.sequences,supported:!0}}async function L({txid:W,newFeeRate:N,recipient:O,memo:x}){if(!cf.includes(n))throw new i("toolbox_utxo_rbf_not_supported",{chain:n});let S=await a(n).getTransactionDetails(W);if(!S.isRBF)throw new i("toolbox_utxo_tx_not_replaceable",{txid:W});if(S.confirmed)throw new i("toolbox_utxo_tx_already_confirmed",{blockId:S.blockId,txid:W});let I=S.inputs.reduce((on,gn)=>on+gn.value,0),b=S.outputs.find((on)=>on.recipient===O)?.value||0;if(b===0)throw new i("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let K=await Promise.all(S.inputs.map(async(on)=>{let gn=await a(n).getRawTx(on.transaction_hash);return{hash:on.transaction_hash,index:on.index,txHex:gn,value:on.value,witnessUtxo:void 0}})),Hn=x?Bn(x):null,Xn=Zo({feeRate:N,inputs:K.map((on)=>({...on,type:"P2WPKH"})),outputs:[{address:O,value:b}]}),d=Math.ceil(Xn*N);if(d<=S.fee)throw new i("toolbox_utxo_rbf_fee_too_low",{newFee:d,originalFee:S.fee});let Zn=d-S.fee,Un=b-Zn;if(Un<=0)throw new i("toolbox_utxo_rbf_insufficient_change");let Fn=new $t({allowLegacyWitnessUtxo:!0,version:1}),Ao=[{address:O,value:Un},...x?[{address:"",script:Bn(x),value:0}]:[]],Uo=I-Un-d,rn=await M();if(Uo>Ry(n)&&rn)Ao.push({address:rn,value:Uo});return to({chain:n,compiledMemo:Hn,inputs:K,outputs:Ao,sender:rn||O,tx:Fn}),{feeDelta:Zn,newFee:d,originalFee:S.fee,tx:Fn}}async function Y({txid:W,newFeeRate:N,recipient:O,memo:x}){let{tx:S,originalFee:I,newFee:E}=await L({memo:x,newFeeRate:N,recipient:O,txid:W}),b=await D(S);b.finalize();let K=await a(n).broadcastTx(No.encode(b.extract()));return{newFee:E,originalFee:I,txid:K}}function Z({accountIndex:W,index:N,change:O=!1}){zn("index",N);let x=W===void 0?w:l(W);if(!x)return;return x.deriveChild(Number(O)).deriveChild(N).privateKey||void 0}function U({tx:W,inputDerivations:N}){if(!w)throw new i("toolbox_utxo_no_signer");let O=n===s.BitcoinCash?[bt.ALL]:[yH.ALL];for(let x=0;x<N.length;x++){let S=N[x];if(!S)continue;let{derivationIndex:I,isChange:E}=S,b=Z({change:E,index:I});if(!b)throw new i("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${x} at index ${I}`});W.signIdx(b,x,O)}return W}async function B({utxos:W,recipient:N,assetValue:O,memo:x,feeRate:S,feeOptionKey:I,changeAddress:E}){if(!w)throw new i("toolbox_utxo_no_signer");let b=S||(await ho(n))[I||un.Fast],K=x?Bn(x):null,Hn=[{address:N,value:O.getBaseValue("number")}];if(K)Hn.push({address:"",script:K,value:0});let Xn=W.map(({hash:rn,index:on,value:gn,txHex:R_,witnessUtxo:wT})=>({hash:rn,index:on,txHex:R_,value:gn,witnessUtxo:wT?{script:wT.script,value:wT.value}:void 0})),{inputs:d,outputs:Zn}=Dn({chain:n,feeRate:b,inputs:Xn,outputs:Hn});if(!(d&&Zn))throw new i("toolbox_utxo_insufficient_balance",{assetValue:O,sender:"multiple addresses"});let Un=new $t({allowLegacyWitnessUtxo:!0,version:1}),Fn=W[0]?.address,Ao=E||await M()||Fn||N;to({chain:n,compiledMemo:K,inputs:d,outputs:Zn,sender:Ao,tx:Un});let Uo=d.map((rn)=>{let on=W.find((gn)=>gn.hash===rn.hash&&gn.index===rn.index);return on?{derivationIndex:on.derivationIndex,isChange:on.isChange}:{derivationIndex:0,isChange:!1}});return U({inputDerivations:Uo,tx:Un}),Un.finalize(),a(n).broadcastTx(No.encode(Un.extract()))}function J({address:W,gapLimit:N=20}){if(!w)return;for(let O=0;O<N;O++){let x=Q({change:!1,index:O}),S=Q({change:!0,index:O}),I=x?.address===W?!1:S?.address===W;if(x?.address===W||S?.address===W)return{change:I,index:O}}return}function D(W){if(!A)throw new i("toolbox_utxo_no_signer");return A.signTransaction(W)}async function R(W){let N=await D(W);return N.finalize(),await a(n).broadcastTx(No.encode(N.extract()))}return{accumulative:Dn,broadcastTx:(W)=>a(n).broadcastTx(W),bumpFee:Y,calculateTxSize:Zo,createKeysForPath:(W)=>io({...W,chain:n}),createReplacementTransaction:L,createTransaction:CH,deriveAddressAtIndex:Q,derivePrivateKeyAtIndex:Z,estimateMaxSendableAmount:hU(n),estimateTransactionFee:mU(n),getAddress:M,getAddressFromKeys:Kt(n),getBalance:wn(n),getExtendedPublicKey:q,getExtendedPublicKeyInfo:G,getFeeRates:()=>ho(n),getInputsOutputsFee:HH,getNetworkForChain:()=>_n(n),getPrivateKeyFromMnemonic:(W)=>cU(io({...W,chain:n}).privateKey,n),isRBFEnabled:z,keys:X,resolveDerivationIndex:J,signAndBroadcastTransaction:R,signTransaction:D,signTransactionWithMultipleKeys:U,transfer:gU(n,A),transferFromMultipleAddresses:B,validateAddress:Vt(n)}}var Sy,cf;var mo=k(()=>{$n();Yy();Ko();xy();Sy=[s.Dash,s.Dogecoin,s.Zcash,s.BitcoinCash],cf=[s.Bitcoin]});import{hex as _H}from"@scure/base";import{Chain as dU,derivationPathToString as aU,FeeOption as sU,NetworkDerivationPath as eU,SwapKitError as hn,updateDerivationPath as n8}from"@swapkit/helpers";import{BCHSigHash as o8,CashAddrPrefix as AH,CashAddrType as UH,encodeCashAddr as wH,NETWORKS as y8,p2pkh as qH,Transaction as GH}from"@swapkit/utxo-signer";function ky(n){return Yo(zy(n))}function f8(n){let y=_n(Pn);function T(f){return f.sign(n.privateKey,[o8.ALL]),f}function o(){let f=qH(n.publicKey,y);if(!f.hash)throw new hn("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let t=wH({hash:f.hash,prefix:AH.MAINNET,type:UH.P2PKH});return Promise.resolve(t.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:T}}function jt(n){let y="phrase"in n?n.phrase:void 0,T="index"in n?n.index||0:0,o=aU("derivationPath"in n&&n.derivationPath?n.derivationPath:n8(eU[Pn],{index:T})),f=y?io({chain:Pn,derivationPath:o,phrase:y}):void 0,t=f?f8(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:_,broadcastTx:A,...X}=Co({chain:Pn});function M(q,G=!0){return H(Yo(zy(q)))}function l(q){if(!t)throw new hn("toolbox_utxo_no_signer");return t.signTransaction(q)}async function w(q){let G=await l(q);return G.finalize(),await A(_H.encode(G.extract()))}return{...X,broadcastTx:A,buildTx:t8,createTransaction:lH,getAddress:C,getAddressFromKeys:C8,getBalance:M,getFeeRates:_,signAndBroadcastTransaction:w,signTransaction:l,stripPrefix:Yo,stripToCashAddress:ky,transfer:T8({broadcastTx:A,getFeeRates:_,signer:t}),validateAddress:To}}async function lH({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!To(y))throw new hn("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await a(Pn).getUtxos({address:ky(f),fetchTxHex:!0,targetValue:t}),H=T?Bn(T):null,_=[],A=cn(y);if(_.push({address:A,value:n.getBaseValue("number")}),H)_.push({script:H,value:0});let{inputs:X,outputs:M}=Dn({chain:Pn,feeRate:o,inputs:C,outputs:_});if(!(X&&M))throw new hn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let l=new GH({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),w=cn(f),{inputs:q,tx:G}=to({chain:Pn,compiledMemo:H,inputs:X,outputs:M.map((Q)=>("address"in Q)&&Q.address?{...Q,address:cn(Q.address)}:Q),sender:w,tx:l});return{inputs:q,tx:G,utxos:X}}function T8({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=sU.Fast,...H}){let _=await T?.getAddress();if(!(T&&_))throw new hn("toolbox_utxo_no_signer");if(!f)throw new hn("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=H.feeRate||(await y())[C],{tx:X}=await lH({...H,assetValue:t,feeRate:A,recipient:f,sender:_}),M=await T.signTransaction(X);return M.finalize(),n(_H.encode(M.extract()))}}async function t8({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=zy(y);if(!To(t))throw new hn("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await a(Pn).getUtxos({address:ky(f),fetchTxHex:!0,targetValue:C}),_=Number(o.toFixed(0)),A=T?Bn(T):null,X=[];if(X.push({address:cn(y),value:n.getBaseValue("number")}),A)X.push({script:A,value:0});let{inputs:M,outputs:l}=Dn({chain:Pn,feeRate:_,inputs:H,outputs:X});if(!(M&&l))throw new hn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new GH({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:q,tx:G}=to({chain:Pn,compiledMemo:A,inputs:M,outputs:l,sender:cn(f),tx:w});return{inputs:q,tx:G,utxos:H}}function C8(n){let y=y8.bitcoinCash,T=qH(n.publicKey,y);if(!T.hash)throw new hn("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return wH({hash:T.hash,prefix:AH.MAINNET,type:UH.P2PKH}).replace(/^bitcoincash:/,"")}var Pn;var hf=k(()=>{Ko();mo();xy();Pn=dU.BitcoinCash});import{createBase58check as H8,hex as _8}from"@scure/base";import{HDKey as BH}from"@scure/bip32";import{mnemonicToSeedSync as MH}from"@scure/bip39";import{Chain as mf,derivationPathToString as A8,FeeOption as U8,NetworkDerivationPath as w8,SKConfig as LH,SwapKitError as uy,updateDerivationPath as q8}from"@swapkit/helpers";import{Address as G8,createZcashTransaction as l8,OutScript as X8,PCZT as W8,utils as QH,WIF as B8,ZCASH_NETWORK as M8,ZCASH_TEST_NETWORK as L8,ZcashConsensusBranchId as Q8,ZcashSigHash as XH,ZcashVersionGroupId as Z8}from"@swapkit/utxo-signer";import{match as J8,P as ct}from"ts-pattern";function ZH(){let{isStagenet:n}=LH.get("envs");return n?L8:M8}function N8(n){return Y8.encode(n)}function z8({phrase:n,derivationPath:y}){let T=MH(n),f=BH.fromMasterSeed(T).derive(y);if(!f.privateKey||!f.publicKey)throw new uy("toolbox_utxo_invalid_params");let{privateKey:t,publicKey:C}=f,H=QH.hash160(C),{isStagenet:_}=LH.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),X=new Uint8Array(A.length+H.length);X.set(A,0),X.set(H,A.length);let M=N8(X);return{getAddress:()=>Promise.resolve(M),signTransaction:(l)=>{if(l instanceof W8)return l.signAllInputs(t,C,XH.ALL),l.finalizeAllInputs(),Promise.resolve(l.extract());return l.signAllInputs(t,C,XH.ALL),Promise.resolve(l)}}}function D8({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=ZH();for(let C of n){let H=G8(t).decode(o),_=X8.encode(H);T.addInput({index:C.index,script:_,sequence:4294967295,txid:_8.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,_=C.script;if(_&&!f)continue;if(_&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function WH(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?Bn(o):null,_=await a(mf.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),A=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:X,outputs:M}=Dn({chain:mf.Zcash,changeAddress:t,feeRate:f,inputs:_,outputs:A});if(!(X&&M))throw new uy("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let l=l8({consensusBranchId:Q8.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:Z8.SAPLING}),{tx:w,inputs:q}=D8({compiledMemo:H,inputs:X,outputs:M,sender:t,tx:l});return{inputs:q,outputs:M,tx:w}}function it(n){let y=J8(n).with({signer:ct.not(ct.nullish)},({signer:_})=>_).with({phrase:ct.string},({phrase:_,derivationPath:A,index:X=0})=>{let M=A||w8[mf.Zcash]||[44,133,0,0,0],l=q8(M,{index:X}),w=A8(l);return z8({derivationPath:w,phrase:_})}).otherwise(()=>{return}),T=Co({chain:mf.Zcash,signer:y});async function o(_){if(!y)throw new uy("toolbox_utxo_no_signer");return await y.signTransaction(_)}async function f(_){let A=await o(_);return T.broadcastTx(A.toHex())}async function t({recipient:_,assetValue:A,feeOptionKey:X=U8.Fast,...M}){let l=await y?.getAddress();if(!(y&&l))throw new uy("toolbox_utxo_no_signer");let w=M.feeRate||(await T.getFeeRates())[X],{tx:q}=await WH({...M,assetValue:A,feeRate:w,recipient:_,sender:l}),Q=(await y.signTransaction(q)).toHex();return T.broadcastTx(Q)}function C({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let X=MH(_),l=BH.fromMasterSeed(X).derive(A);if(!l.privateKey||!l.publicKey)throw new uy("toolbox_utxo_invalid_params");return{privateKey:l.privateKey,publicKey:l.publicKey}}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let X=C({derivationPath:A,phrase:_}),M=ZH();return B8(M).encode(X.privateKey)}return{...T,createKeysForPath:C,createTransaction:WH,getPrivateKeyFromMnemonic:H,signAndBroadcastTransaction:f,signTransaction:o,transfer:t,validateAddress:jo}}var Y8;var ht=k(()=>{Ko();mo();xy();Y8=H8(QH.sha256)});import{hex as O8}from"@scure/base";import{HDKey as R8}from"@scure/bip32";import{derivationPathToString as x8}from"@swapkit/helpers";function JH({xpub:n,chain:y,count:T,startIndex:o=0,accountIndex:f}){if(zn("count",T),T<1)throw RangeError("count must be at least 1");zn("startIndex",o);let t=_n(y),C=R8.fromExtendedKey(n,t.bip32),H=yo({accountIndex:f,chain:y}),_=Lo(H),A=[];for(let X of[!1,!0]){let M=C.deriveChild(Number(X));for(let l=0;l<T;l++){let w=o+l,q=M.deriveChild(w);if(!q.publicKey)continue;let G=bo({accountIndex:f,chain:y,change:X,index:w});A.push({accountIndex:_,address:py({chain:y,network:t,publicKey:q.publicKey}),change:X,index:w,path:x8(G),pubkey:O8.encode(q.publicKey)})}}return A}var YH=k(()=>{Yy();mo()});import{Chain as ro,SwapKitError as F8}from"@swapkit/helpers";function S8(n,y){switch(n){case ro.BitcoinCash:return jt(y||{});case ro.Zcash:return it(y);case ro.Bitcoin:case ro.Dogecoin:case ro.Litecoin:case ro.Dash:return Co({chain:n,...y});default:throw new F8("toolbox_utxo_not_supported",{chain:n})}}var NH=k(()=>{hf();mo();ht();Yy();YH();hf();xy()});var mt={};e(mt,{validateZcashAddress:()=>jo,validateUtxoAddress:()=>vt,validateBchAddress:()=>To,toLegacyAddress:()=>cn,toCashAddress:()=>zy,stripToCashAddress:()=>ky,stripPrefix:()=>Yo,nonSegwitChains:()=>Sy,isValidAddress:()=>ut,getUtxoToolbox:()=>S8,getUtxoNetwork:()=>qU,getUtxoApi:()=>a,getUTXOAddressValidator:()=>Vt,getUTXOAddressPath:()=>bo,getUTXOAccountPath:()=>yo,getUTXOAccountIndexFromPath:()=>Lo,getScriptTypeForAddress:()=>Vo,getOutputSize:()=>Oy,getNetworkForChain:()=>_n,getInputSize:()=>fo,getDustThreshold:()=>Ry,detectAddressNetwork:()=>Pt,deriveAddressesFromXpub:()=>JH,createZcashToolbox:()=>it,createUTXOToolbox:()=>Co,createHDWalletHelpers:()=>$1,createCustomUtxoApi:()=>wU,createBCHToolbox:()=>jt,compileMemo:()=>Bn,calculateTxSize:()=>Zo,assertDerivationIndex:()=>zn,addressFromKeysGetter:()=>Kt,addInputsAndOutputs:()=>to,accumulative:()=>Dn,UtxoNetwork:()=>kt,UTXOScriptType:()=>Kf,TX_OVERHEAD:()=>vf,SEGWIT_MARKER_FLAG_WEIGHT:()=>Vf,OutputSizes:()=>Dy,OP_RETURN_OVERHEAD:()=>g1,MIN_TX_FEE:()=>OU,InputSizes:()=>bf});var rt=k(()=>{mo();Yy();Ko();NH();hf();ht()});import{KeyPairSigner as p8}from"@near-js/signers";import{derivationPathToString as k8,SwapKitError as u8}from"@swapkit/helpers";import*as zH from"near-seed-phrase";function Py(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function rf(n){let{KeyPair:y}=await import("@near-js/crypto"),T=n.index||0,o=n.derivationPath?k8(n.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:f}=zH.parseSeedPhrase(n.phrase,o),t=y.fromString(f);return OH(t)}async function gt(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return OH(T)}function OH(n){return new DH(n)}async function gf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new u8("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),t=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:t}}var DH;var dt=k(()=>{DH=class DH extends p8{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function at(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function st(n){return"contractId"in n&&"methodName"in n}function et(n){return"actions"in n}function n0(n){return"newAccountId"in n}function o0(n){return"contractCode"in n}function y0(n){return"customEstimator"in n}function f0(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(tn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(tn.CONTRACT_CALL);break;case"createAccount":y+=Number(tn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(tn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(tn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(tn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(tn.STAKE);break;default:y+=Number(tn.CONTRACT_CALL)}return y.toString()}function T0(n){if(n==="ft_transfer"||n==="ft_transfer_call")return tn.TOKEN_TRANSFER;if(n==="storage_deposit")return tn.STORAGE_DEPOSIT;return tn.CONTRACT_CALL}function P8(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function I8(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var tn;var t0=k(()=>{tn={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 C0({account:n,contractId:y,viewMethods:T,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:T})}import{JsonRpcProvider as $8}from"@near-js/providers";import{AssetValue as H0,Chain as go,getRPCUrl as RH,SwapKitError as ln}from"@swapkit/helpers";import{match as xH,P as FH}from"ts-pattern";function E8(n){let y;async function T(){if(y)return y;return y=await xH(n).with({phrase:FH.string},async(W)=>{return await rf(W)}).with({signer:FH.any},({signer:W})=>W).otherwise(()=>{return}),y}async function o(){let W=await RH(go.Near);return new $8({url:W})}async function f(W){let{Account:N}=await import("@near-js/accounts"),O=await o(),x=await T(),S=W||await t();return new N(S,O,x)}async function t(){let W=await T();if(!W)throw new ln("toolbox_near_no_signer");return await W.getAddress()}async function C(W){return(await Z({changeMethods:[],contractId:W.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:W.accountId})}async function H(W){let O=[await l({args:{account_id:W.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await l({args:{amount:W.assetValue.getBaseValue("string"),memo:W.memo||null,receiver_id:W.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return U({actions:O,receiverId:W.contractId})}async function _(W){if(!await T())throw new ln("toolbox_near_no_signer");let{assetValue:O,recipient:x,memo:S}=W,I=await t();if(!O.isGasAsset&&O.address){if(!await C({accountId:x,contractId:O.address}))return H({assetValue:O,contractId:O.address,memo:S,recipient:x})}let E=await A({...W,sender:I});return G(E)}async function A({recipient:W,assetValue:N,memo:O,attachedDeposit:x,sender:S,functionCall:I}){let E=await o();if(!Py(W))throw new ln("toolbox_near_invalid_address",{recipient:W});if(!Py(S))throw new ln("toolbox_near_invalid_address",{sender:S});if(I)return M({...I,sender:S});if(!N.isGasAsset){let Uo=N.address;if(!Uo)throw new ln("toolbox_near_missing_contract_address");return M({args:{amount:N.getBaseValue("string"),memo:O||null,receiver_id:W},attachedDeposit:x||"1",contractId:Uo,gas:"250000000000000",methodName:"ft_transfer",sender:S})}let{publicKey:b,nonce:K}=await gf(E,S),Hn=N.getBaseValue("bigint"),{actionCreators:Xn,createTransaction:d}=await import("@near-js/transactions"),{baseDecode:Zn}=await import("@near-js/utils"),Un=[Xn.transfer(Hn)];if(O&&x)Un.push(Xn.functionCall("memo",{memo:O},BigInt("250000000000000"),BigInt(x)));let Fn=await E.block({finality:"final"}),Ao=Zn(Fn.header.hash);return d(S,b,W,K+1,Un,Ao)}function X(W){let N=W.encode();return Buffer.from(N).toString("base64")}async function M({args:W,attachedDeposit:N,contractId:O,gas:x,methodName:S,sender:I}){let E=await o(),{publicKey:b,nonce:K}=await gf(E,I),{createTransaction:Hn,actionCreators:Xn}=await import("@near-js/transactions"),{baseDecode:d}=await import("@near-js/utils"),Zn=await E.block({finality:"final"}),Un=d(Zn.header.hash),Fn=[Xn.functionCall(S,Buffer.from(JSON.stringify(W)),BigInt(x),BigInt(N))];return Hn(I,b,O,K+1,Fn,Un)}async function l(W){let{actionCreators:N}=await import("@near-js/transactions");return N.functionCall(W.methodName,Buffer.from(JSON.stringify(W.args)),BigInt(W.gas),BigInt(W.attachedDeposit))}async function w(W){let N=await T();if(!N)throw new ln("toolbox_near_no_signer");let[O,x]=await N.signTransaction(W);return x}async function q(W){return(await(await o()).sendTransaction(W)).transaction.hash}async function G(W){let N=await T();if(!N)throw new ln("toolbox_near_no_signer");try{let O=await w(W);return await q(O)}catch{return N.signAndSendTransactions?.({transactions:[W]})}}async function Q(W){let N=await T();if("assetValue"in W){let x=await z();try{let S=await RH(go.Near),I=await fetch(S,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:E}}=await I.json(),{execution:b,send_sir:K}=E.transaction_costs.action_receipt_creation_config,{execution:Hn,send_sir:Xn}=E.transaction_costs.action_creation_config.transfer_cost,d=BigInt(Xn)+BigInt(Hn),Zn=BigInt(K)+BigInt(b),Fn=(d+Zn)*BigInt(x.toString());return H0.from({chain:go.Near,value:Fn})}catch(S){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",S);let I=BigInt("115123062500"),E=BigInt("108059500000"),K=(I+E)*BigInt(x.toString());return H0.from({chain:go.Near,value:K})}}let O=N?await f():void 0;return B(W,O)}async function z(){let W=await o();try{return await W.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(W,N,O){if(!await T())throw new ln("toolbox_near_no_signer");let S=await f(),{formatNearAmount:I}=await import("@near-js/utils"),{PublicKey:E}=await import("@near-js/crypto"),b=I(O)||"0";return(await S.createAccount(W,E.fromString(N),BigInt(b))).transaction.hash}async function Y(W){let N=await T();try{if(!N)throw new ln("toolbox_near_no_signer");let{actionCreators:O}=await import("@near-js/transactions"),{contractId:x,methodName:S,args:I,deposit:E}=W,b=await f(),K=await B({args:I||{},contractId:x,methodName:S}),Hn=O.functionCall(S,I||{},K.getBaseValue("bigint"),BigInt(E||"1"));return(await b.signAndSendTransaction({actions:[Hn],receiverId:x})).transaction_outcome.id}catch(O){throw new ln("toolbox_near_transfer_failed",{error:O})}}async function Z(W){let N=await f();return C0({account:N,changeMethods:W.changeMethods,contractId:W.contractId,viewMethods:W.viewMethods})}async function U(W){if(!await T())throw new ln("toolbox_near_no_signer");if(W.actions.length===0)throw new ln("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:W.actions,receiverId:W.receiverId})).transaction.hash}async function B(W,N){let O=await xH(W).when(at,()=>tn.SIMPLE_TRANSFER).when(st,(S)=>T0(S.methodName)).when(et,(S)=>f0(S.actions)).when(n0,()=>tn.ACCOUNT_CREATION).when(o0,()=>tn.CONTRACT_DEPLOYMENT).when(y0,(S)=>{if(!N)throw new ln("toolbox_near_no_account");return S.customEstimator(N)}).otherwise(()=>{throw new ln("toolbox_near_invalid_gas_params")}),x=BigInt(O)*BigInt(1000000000000);return H0.from({chain:go.Near,value:x})}function J(W,N){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),B(W,N)}async function D(){let W=await o();try{return(await W.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function R(){let W=await T();return W?(await W.getPublicKey()).toString():""}return{broadcastTransaction:q,callFunction:Y,createAction:l,createContract:Z,createContractFunctionCall:M,createSubAccount:L,createTransaction:A,estimateGas:J,estimateGasLimit:B,estimateTransactionFee:Q,executeBatchTransaction:U,getAddress:t,getBalance:wn(go.Near),getGasPrice:D,getNearProvider:o,getPublicKey:R,getSignerFromPhrase:rf,getSignerFromPrivateKey:gt,serializeTransaction:X,signAndBroadcastTransaction:G,signTransaction:w,transfer:_,validateAddress:Py}}var _0=k(()=>{$n();dt();t0()});var SH=k(()=>{_0()});var A0={};e(A0,{validateNearAddress:()=>Py,tgasToGas:()=>P8,isSimpleTransfer:()=>at,isCustomEstimator:()=>y0,isContractDeployment:()=>o0,isContractCall:()=>st,isBatchTransaction:()=>et,isAccountCreation:()=>n0,getNearToolbox:()=>E8,getNearSignerFromPrivateKey:()=>gt,getNearSignerFromPhrase:()=>rf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>T0,gasToTGas:()=>I8,estimateBatchGas:()=>f0,createNearContract:()=>C0,GAS_COSTS:()=>tn});var U0=k(()=>{dt();t0();_0();SH()});var q0={};e(q0,{validateRadixAddress:()=>kH,getRadixToolbox:()=>m8});import{GatewayApiClient as b8}from"@radixdlt/babylon-gateway-api-sdk";import{RadixDappToolkit as v8}from"@radixdlt/radix-dapp-toolkit";import{AssetValue as pH,Chain as w0,SKConfig as V8,SwapKitError as K8}from"@swapkit/helpers";function kH(n){return n.startsWith("account_rdx1")&&n.length===66}function j8({networkApi:n}){return async function(T){let o=await c8({address:T,networkApi:n}),f=await i8({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[pH.from({chain:w0.Radix}),...f];return f}}async function c8({address:n,networkApi:y}){let T=!0,o,f=[],t=await h8(y);while(T){let C={address:n,at_ledger_state:{state_version:t},cursor:o,limit_per_page:100},H=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:C});if(f=f.concat(H.items),H.next_cursor)o=H.next_cursor;else T=!1}return f}async function i8({resources:n,networkApi:y}){let T=[],o=50,f=[];for(let t=0;t<n.length;t+=50)f.push(n.slice(t,t+50));for(let t of f){let C=t.map((A)=>A.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),_=new Map;for(let A of H)if(A.details!==void 0){let X=A.metadata?.items.find((l)=>l.key==="symbol"),M=X?.value.typed.type==="String"?X.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of t)if(A.aggregation_level==="Global"){let X=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=pH.from({asset:X.symbol!==w0.Radix?`${w0.Radix}.${X.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});T.push(M)}}return T}async function h8(n){return(await n.status.getCurrent()).ledger_state.state_version}function m8({dappConfig:n}={}){let y=n||V8.get("integrations").radix,T=v8({...y,networkId:y.network?.networkId||1}),o=b8.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:j8({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new K8("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:kH}}var G0=()=>{};import{SwapKitError as r8}from"@swapkit/helpers";function df(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Iy(n){if(df(n))return n.toUpperCase();if(n.length<=3){let T=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${T}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new r8({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function g8(n){if(!df(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let T=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(T)&&T.length>0)return T}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),T=y.length%2===0?y:`${y}0`,o=Buffer.from(T,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function ao(n){if(df(n))return n.toUpperCase();if(n.length<=3)return n;return Iy(n)}var af=()=>{};import{RequestClient as d8,warnOnce as a8}from"@swapkit/helpers";async function s8(n,y){let T=ao(n),o=sf.find((f)=>ao(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await d8.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){a8({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function e8(n){return sf.filter((y)=>y.issuer===n)}function nw(n,y){let T=ao(n);return sf.some((o)=>ao(o.currency)===T&&o.issuer===y)}var sf;var uH=k(()=>{af();sf=[{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 l0={};e(l0,{validateRippleAddress:()=>oT,parseXrplTokenIdentifier:()=>VH,normalizeCurrency:()=>ao,isKnownToken:()=>nw,isHexCurrency:()=>df,hexToCurrency:()=>g8,hashes:()=>Hw,getXrplTokenInfo:()=>s8,getRippleToolbox:()=>Cw,getKnownTokensByIssuer:()=>e8,formatXrplTokenIdentifier:()=>KH,currencyToHex:()=>Iy,XRPL_TOKEN_ERROR_CODES:()=>nT,XRPL_KNOWN_TOKENS:()=>sf});import{AssetValue as ef,Chain as On,getChainConfig as PH,getRPCUrl as ow,SwapKitError as An}from"@swapkit/helpers";import{match as IH,P as $H}from"ts-pattern";import{Client as yw,isValidAddress as vH,Wallet as fw,xrpToDrops as Tw}from"xrpl";import{hashes as Hw}from"xrpl";function VH(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!vH(y[2]))return null;return{currency:y[1],issuer:y[2]}}function KH(n,y){return`${On.Ripple}.${n}-${y}`}function tw(n){if(n.isGasAsset)return Tw(n.getValue("string"));let y=VH(n.toString());if(!y)throw new An({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function bH(n){let y=fw.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function oT(n){return vH(n)}function Cw(n={}){let y=IH(n).with({phrase:$H.string},({phrase:L})=>bH(L)).with({signer:$H.any},({signer:L})=>L).otherwise(()=>{return}),T;async function o(){let L=await ow(On.Ripple);if(!L)throw new An({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:On.Ripple}});let Y=new yw(L);return await Y.connect(),Y}async function f(){if(T){let L=await T.catch(()=>null);if(L?.isConnected())return L}return T=o(),T}let t=()=>{if(!y)throw new An({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(L)=>{let Y=L||await t(),{baseDecimal:Z}=PH(On.Ripple),U=await f();try{let[B,J]=await Promise.all([U.request({account:Y,command:"account_info"}),U.request({account:Y,command:"account_lines"})]),D=B.result.account_data.Balance,R=[ef.from({chain:On.Ripple,fromBaseDecimal:Z,value:D})];for(let W of J.result.lines){let N=KH(W.currency,W.account);if(Number.parseFloat(W.balance)!==0)R.push(ef.from({asset:N,asyncTokenLookup:!1,value:W.balance}))}return R}catch(B){if(B.data?.error_code===EH.ACCOUNT_NOT_FOUND)return[ef.from({chain:On.Ripple,value:0})];throw new An({errorKey:"toolbox_ripple_get_balance_error",info:{address:Y,error:B}})}},H=async()=>{let{baseDecimal:L}=PH(On.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return ef.from({chain:On.Ripple,fromBaseDecimal:L,value:U})};async function _(L){let Y=L||await t(),Z=await f();try{return(await Z.request({account:Y,command:"account_lines"})).result.lines.map((B)=>({account:B.account,authorized:B.authorized??!1,balance:B.balance,currency:B.currency,freeze:B.freeze??!1,freezePeer:B.freeze_peer??!1,limit:B.limit,limitPeer:B.limit_peer,noRipple:B.no_ripple??!1,noRipplePeer:B.no_ripple_peer??!1,peerAuthorized:B.peer_authorized??!1,qualityIn:B.quality_in??0,qualityOut:B.quality_out??0}))}catch(U){if(U.data?.error_code===EH.ACCOUNT_NOT_FOUND)return[];throw new An({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:Y,error:U}})}}async function A({address:L,currency:Y,issuer:Z}){let U=await _(L),B=Iy(Y);return U.some((J)=>{return Iy(J.currency)===B&&J.account===Z})}async function X({currency:L,issuer:Y,limit:Z,sender:U}){let B=U||await t();if(!oT(Y))throw new An({errorKey:"core_transaction_invalid_recipient_address",info:{address:Y}});let J=Number.parseFloat(Z);if(Number.isNaN(J)||J<0)throw new An({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:Z}});let D=await f(),R={Account:B,LimitAmount:{currency:L,issuer:Y,value:Z},TransactionType:"TrustSet"};return D.autofill(R)}async function M({assetValue:L,recipient:Y,memo:Z,sender:U,destinationTag:B,extendBySeconds:J=150}){if(!oT(Y))throw new An({errorKey:"core_transaction_invalid_recipient_address"});let D=U||await t();if(L.chain!==On.Ripple)throw new An({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let R=tw(L),W={Account:D,Amount:R,Destination:Y,TransactionType:"Payment",...B!==void 0&&{DestinationTag:B}};if(Z)W.Memos=[{Memo:{MemoData:Buffer.from(Z).toString("hex")}}];let O=await(await f()).autofill(W);if(O.LastLedgerSequence&&J>0)O.LastLedgerSequence+=Math.ceil(J/4);return O}function l(L){if(!y)throw new An({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(L)}async function w(L){let Z=await(await f()).submitAndWait(L),{result:U}=Z;if(U.validated)return U.hash;let B=U.meta?.TransactionResult,J=IH(B).with(nT.tecNO_LINE,()=>"No trust line exists for this token").with(nT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(nT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new An({errorKey:"toolbox_ripple_broadcast_error",info:{chain:On.Ripple,...J?{reason:J}:{txResult:B}}})}let q=async(L)=>{try{let Y=await l(L);return w(Y.tx_blob)}catch(Y){if(Y instanceof An)throw Y;throw new An({errorKey:"toolbox_ripple_broadcast_error",info:{chain:On.Ripple,error:Y}})}};async function G(L){if(!y)throw new An({errorKey:"toolbox_ripple_signer_not_found"});let Y=await y.getAddress(),Z=await M({...L,sender:Y}),U=await l(Z);return w(U.tx_blob)}async function Q(L){if(!y)throw new An({errorKey:"toolbox_ripple_signer_not_found"});let Y=await y.getAddress(),Z=await X({...L,sender:Y}),U=await l(Z);return w(U.tx_blob)}function z(){let L=T;if(T=null,L)L.then((Y)=>{if(Y?.isConnected())return Y.disconnect();return}).catch((Y)=>{console.warn("XRPL Cleanup failed silently:",Y)})}return{broadcastTransaction:w,createSigner:bH,createTransaction:M,disconnect:z,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:_,hasTrustLine:A,setTrustLine:X,setTrustLineAndBroadcast:Q,signAndBroadcastTransaction:q,signTransaction:l,transfer:G,validateAddress:oT}}var EH,nT;var X0=k(()=>{af();af();uH();EH={ACCOUNT_NOT_FOUND:19},nT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});import{sha256 as _w}from"@noble/hashes/sha2.js";import{bytesToHex as jH,hexToBytes as cH}from"@noble/hashes/utils.js";import{SwapKitError as so}from"@swapkit/helpers";function W0(n,y){let T=0n,o=0n,f=y;while(f<n.length&&f-y<10){let t=n[f++];if(t===void 0)break;if(T|=BigInt(t&127)<<o,o+=7n,(t&128)===0)return[T,f]}throw new so("toolbox_tron_transaction_creation_failed")}function $y(n){let y=[],T=n<0n?n+2n**64n:n;while(T>=128n)y.push(Number(T&0x7fn)|128),T>>=7n;return y.push(Number(T)),y}function yT(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function qw(n){let y=new Map,T=0;while(T<n.length){let[o,f]=W0(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===fT){let[H,_]=W0(n,T);T=_,yT(y,t,{data:new Uint8Array($y(H)),wireType:fT})}else if(C===TT){let[H,_]=W0(n,T);T=_;let A=Number(H);if(A<0||T+A>n.length)throw new so("toolbox_tron_transaction_creation_failed");let X=n.slice(T,T+A);T+=A,yT(y,t,{data:X,wireType:TT})}else if(C===iH){if(T+8>n.length)throw new so("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,yT(y,t,{data:H,wireType:iH})}else if(C===hH){if(T+4>n.length)throw new so("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,yT(y,t,{data:H,wireType:hH})}else throw new so("toolbox_tron_transaction_creation_failed")}return y}function Gw(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[_])=>H-_))for(let{wireType:H,data:_}of C){let A=BigInt(t<<3|H);if(y.push(new Uint8Array($y(A))),H===TT)y.push(new Uint8Array($y(BigInt(_.length))));y.push(_)}let T=y.reduce((t,C)=>t+C.length,0),o=new Uint8Array(T),f=0;for(let t of y)o.set(t,f),f+=t.length;return o}function mH(n,y){if(!n||n.length%2!==0)throw new so("toolbox_tron_transaction_creation_failed");let T=cH(n),o=qw(T);if(y.expiration!==void 0)o.set(Aw,[{data:new Uint8Array($y(BigInt(y.expiration))),wireType:fT}]);if(y.data!==void 0)o.set(Uw,[{data:cH(y.data),wireType:TT}]);if(y.fee_limit!==void 0)o.set(ww,[{data:new Uint8Array($y(BigInt(y.fee_limit))),wireType:fT}]);let f=Gw(o),t=jH(f),C=jH(_w(f));return{raw_data_hex:t,txID:C}}var fT=0,iH=1,TT=2,hH=5,Aw=8,Uw=10,ww=18;var rH=()=>{};import{secp256k1 as gH}from"@noble/curves/secp256k1.js";import{sha256 as dH}from"@noble/hashes/sha2.js";import{keccak_256 as lw}from"@noble/hashes/sha3.js";import{bytesToHex as eo,hexToBytes as tT}from"@noble/hashes/utils.js";import{createBase58check as Xw}from"@scure/base";import{SwapKitError as aH}from"@swapkit/helpers";function Rn(n){if(typeof n!=="string")return!1;try{let y=CT.decode(n);return y.length===21&&y[0]===sH}catch{return!1}}function eH(n){return eo(CT.decode(n))}function Bw(n){return CT.decode(n).slice(1)}function n_(n){let y=gH.getPublicKey(tT(n),!1),T=lw(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=sH,o.set(T,1),CT.encode(o)}function o_({txID:n,privateKey:y}){let T=gH.sign(tT(n),tT(y),{format:"recovered",prehash:!1}),o=T[0]??0,f=eo(T.slice(1,33)),t=eo(T.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+t+C}function ny({txID:n,raw_data_hex:y}){let T=eo(dH(tT(y)));if(n!==T)throw new aH("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function Mw(n){return`000000000000000000000000${eo(Bw(n))}`}function Lw(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=Ww)throw new aH("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function oy(n){return n.map(({type:y,value:T})=>y==="address"?Mw(T):Lw(BigInt(T))).join("")}function y_(n){return eo(new TextEncoder().encode(n))}var CT,sH=65,Ww;var B0=k(()=>{CT=Xw(dH),Ww=2n**256n});import{Chain as Qw,getRPCUrlSync as Zw,SwapKitError as xn,warnOnce as M0}from"@swapkit/helpers";function T_(){try{return Zw(Qw.Tron)}catch{return f_}}function t_(){let n=new AbortController,y=setTimeout(()=>n.abort(),zw);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function yy(n,y){let{signal:T,cleanup:o}=t_();try{let f=await fetch(`${T_()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:T});if(!f.ok)throw new xn("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function C_(n,y){let{signal:T,cleanup:o}=t_();try{let f=await fetch(`${y??T_()}${n}`,{headers:{"Content-Type":"application/json"},signal:T});if(!f.ok)throw new xn("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function H_(n){if(!Rn(n))throw new xn("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await C_(`/v1/accounts/${n}`,f_);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=eH(n).toLowerCase()}catch{T=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===T);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof xn)throw y;throw new xn("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function __({from:n,to:y,amount:T}){let f=await yy("/wallet/createtransaction",{amount:T,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new xn("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==T)throw new xn("toolbox_tron_transaction_creation_failed");return ny(f),f}async function A_({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await yy("/wallet/triggersmartcontract",{call_value:t,contract_address:y,fee_limit:f,function_selector:T,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new xn("toolbox_tron_transaction_creation_failed");let _=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==y||_?.owner_address!==n)throw new xn("toolbox_tron_transaction_creation_failed");return ny(C.transaction),C.transaction}function U_({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return yy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:T,owner_address:n,parameter:o,visible:!0})}async function Ey(n){try{let{result:y,txid:T}=await yy("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!T)throw new xn("toolbox_tron_token_transfer_failed");return T}catch(y){throw new xn("toolbox_tron_broadcast_failed",{error:y})}}async function HT(){let n={};try{let{chainParameter:y}=await C_("/wallet/getchainparameters");for(let T of y)n[T.key]=T.value}catch(y){M0({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??Jw,createAccountFee:n.getCreateAccountFee??Yw,energyFee:n.getEnergyFee??Nw}}async function L0(n){try{let y=await yy("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return M0({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function Q0(n){try{let y=await yy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function Z0(n){try{let{energy_used:y}=await U_({...n,ownerAddress:n.sender});return y}catch(y){return M0({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function w_({assetAddress:n,owner:y,spender:T}){let o=oy([{type:"address",value:y},{type:"address",value:T}]),t=(await U_({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:T,parameter:o})).constant_result?.[0];if(!t)return 0n;try{return BigInt(`0x${t}`)}catch{return 0n}}var f_="https://api.trongrid.io",Jw=1000,Yw=1e5,Nw=420,zw=30000;var q_=k(()=>{B0()});import{bytesToHex as Dw}from"@noble/hashes/utils.js";import{HDKey as Ow}from"@scure/bip32";import{mnemonicToSeedSync as Rw}from"@scure/bip39";import{AssetValue as mn,BaseDecimal as G_,Chain as Qn,derivationPathToString as W_,getRPCUrl as xw,NetworkDerivationPath as B_,SwapKitError as Cn,updateDerivationPath as M_,warnOnce as l_}from"@swapkit/helpers";import{match as Fw,P as J0}from"ts-pattern";function Q_({phrase:n,derivationPath:y}){let T=Ow.fromMasterSeed(Rw(n)).derive(y);if(!T.privateKey)throw new Cn("toolbox_tron_no_signer");return Dw(T.privateKey)}function Z_({phrase:n,derivationPath:y,index:T}){let o=y||W_(M_(B_[Qn.Tron],{index:T||0}));return Q_({derivationPath:o,phrase:n})}function Pw({phrase:n,derivationPath:y}){let T=Q_({derivationPath:y,phrase:n}),o=n_(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{ny(f);let t=o_({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function X_({transaction:n,memo:y,expiration:T,feeLimit:o}){let f={},t={};if(o!==void 0&&n.raw_data)f.fee_limit=o,t.fee_limit=o;if(y){let _=y_(y);f.data=_,t.data=_}if(T){let _=n.raw_data.expiration+T*1000;f.expiration=_,t.expiration=_}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=mH(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function J_(n={}){let y="index"in n?n.index||0:0,T=W_("derivationPath"in n&&n.derivationPath?n.derivationPath:M_(B_[Qn.Tron],{index:y})),o,f=!1;function t(){if(f)return Promise.resolve(o);return o=Fw(n).with({phrase:J0.string},({phrase:U})=>Pw({derivationPath:T,phrase:U})).with({signer:J0.not(J0.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await t();if(!U)throw new Cn("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let B=U||pw,J=await HT(),D=B*J.energyFee,R=Math.ceil(D*1.5);return Math.min(Math.max(R,1e7),150000000)}async function _({contractAddress:U,functionSelector:B,parameter:J,sender:D,memo:R,expiration:W}){let N=await Z0({contractAddress:U,functionSelector:B,parameter:J,sender:D}),O=await H(N),x=await A_({contractAddress:U,feeLimit:O,functionSelector:B,ownerAddress:D,parameter:J});return X_({expiration:W,feeLimit:O,memo:R,transaction:x})}async function A(U){if(!Rn(U))return[mn.from({chain:Qn.Tron})];try{let B=await H_(U);if(!B)return[mn.from({chain:Qn.Tron})];let J=[mn.from({chain:Qn.Tron,fromBaseDecimal:6,value:String(B.balance)})],D=B.trc20?.find((R)=>(Y0 in R));if(D){let R=D[Y0];J.push(mn.from({asset:`TRON.USDT-${Y0}`,fromBaseDecimal:6,value:R}))}return J}catch(B){return l_({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${B instanceof Error?B.message:B}`}),[mn.from({chain:Qn.Tron})]}}async function X({recipient:U,assetValue:B,memo:J,expiration:D}){if(!Rn(U))throw new Cn("toolbox_tron_token_transfer_failed",{message:"invalid address"});let R=await t();if(!R)throw new Cn("toolbox_tron_no_signer");try{let W=await C(),N=await G({assetValue:B,expiration:D,memo:J,recipient:U,sender:W}),O=await R.signTransaction(N),x=await Ey(O);if(!x)throw new Cn("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return x}catch(W){throw new Cn("toolbox_tron_token_transfer_failed",{message:W instanceof Error?W.message:String(W)})}}function M({requiredBandwidth:U,resources:B,feePerUnit:J}){let D=Math.max(0,B.free+B.total-B.used);return U>D?(U-D)*J:0}async function l({recipient:U,senderAddress:B}){let[J,D,R]=await Promise.all([HT(),Q0(U),L0(B)]),W=D?0:J.createAccountFee,N=M({feePerUnit:J.bandwidthFee,requiredBandwidth:Sw,resources:R.bandwidth});return mn.from({chain:Qn.Tron,fromBaseDecimal:G_.TRON,value:W+N})}async function w({assetValue:U,recipient:B,senderAddress:J}){let D=U.address;if(!D)throw new Cn("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[R,W,N,O]=await Promise.all([HT(),Q0(B),L0(J),Z0({contractAddress:D,functionSelector:"transfer(address,uint256)",parameter:oy([{type:"address",value:B},{type:"uint256",value:U.getBaseValue("string")}]),sender:J})]),x=W?0:R.createAccountFee,S=M({feePerUnit:R.bandwidthFee,requiredBandwidth:kw,resources:N.bandwidth}),I=Math.max(0,N.energy.total-N.energy.used),E=O>I?(O-I)*R.energyFee:0;return mn.from({chain:Qn.Tron,fromBaseDecimal:G_.TRON,value:x+S+E})}async function q({assetValue:U,recipient:B,sender:J}){let D=await t();try{let R=J?J:D?await C():void 0;if(!R)return U.isGasAsset?mn.from({chain:Qn.Tron,value:0.1}):mn.from({chain:Qn.Tron,value:15});return U.isGasAsset?l({recipient:B,senderAddress:R}):w({assetValue:U,recipient:B,senderAddress:R})}catch(R){throw l_({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${R instanceof Error?R.message:R}`}),new Cn("toolbox_fee_estimation_failed",{chain:Qn.Tron,error:R})}}async function G({recipient:U,assetValue:B,memo:J,sender:D,expiration:R}){if(!Rn(U)||!Rn(D))throw new Cn("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(B.isGasAsset){let N=await __({amount:B.getBaseValue("number"),from:D,to:U});return X_({expiration:R,memo:J,transaction:N})}let W=B.address;if(!W)throw new Cn("toolbox_tron_invalid_token_identifier",{identifier:B.toString()});return _({contractAddress:W,expiration:R,functionSelector:"transfer(address,uint256)",memo:J,parameter:oy([{type:"address",value:U},{type:"uint256",value:B.getBaseValue("string")}]),sender:D})}async function Q(U){ny(U);let B=await t();if(!B)throw new Cn("toolbox_tron_no_signer");return B.signTransaction(U)}async function z(U){let B=await Q(U);return Ey(B)}function L({assetAddress:U,spenderAddress:B,from:J}){return w_({assetAddress:U,owner:J,spender:B})}async function Y({assetAddress:U,spenderAddress:B,from:J,amount:D}){let R=await L({assetAddress:U,from:J,spenderAddress:B});if(!D)return R>0n;return R>=BigInt(D)}async function Z({assetAddress:U,spenderAddress:B,amount:J,from:D}){if(!Rn(U)||!Rn(B))throw new Cn("toolbox_tron_approve_failed");let R=await t();if(!R)throw new Cn("toolbox_tron_no_signer");let W=D||await C(),N=J!==void 0?BigInt(J).toString():uw;try{let O=await _({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:oy([{type:"address",value:B},{type:"uint256",value:N}]),sender:W}),x=await R.signTransaction(O),S=await Ey(x);if(!S)throw new Cn("toolbox_tron_approve_failed");return S}catch(O){if(O instanceof Cn)throw O;throw new Cn("toolbox_tron_approve_failed",{error:O})}}return{approve:Z,broadcastTransaction:Ey,createTransaction:G,estimateTransactionFee:q,getAddress:C,getApprovedAmount:L,getBalance:A,getRpcUrl:()=>xw(Qn.Tron),isApproved:Y,signAndBroadcastTransaction:z,signTransaction:Q,transfer:X,validateAddress:Rn}}var L_,Sw=268,pw=65000,kw=345,Y0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",uw="115792089237316195423570985008687907853269984665640564039457584007913129639935";var Y_=k(()=>{rH();q_();B0();L_=Rn});var N0={};e(N0,{validateTronAddress:()=>L_,getTronToolbox:()=>J_,getTronPrivateKeyFromMnemonic:()=>Z_});var z0=k(()=>{Y_()});import{AssetValue as by,Chain as Ho,derivationPathToString as Iw,getChainConfig as $w,getRPCUrl as Ew,NetworkDerivationPath as bw,SwapKitError as _o}from"@swapkit/helpers";import{match as vw,P as Vw}from"ts-pattern";function _T(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return Kw.test(n)}async function jw(n){if(!_T(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function N_(n={}){let y,T=n.derivationPath||bw[Ho.Stellar],o=Iw(T.slice(0,3));async function f({phrase:G,path:Q}){let{HDKey:z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:Y}=await import("@stellar/stellar-sdk"),Z=L(G),B=z.fromMasterSeed(Z).derive(Q,!0);return Y.fromRawEd25519Seed(Buffer.from(B.privateKey))}async function t(){if(y)return y;let G=vw(n).with({phrase:Vw.string},({phrase:Q})=>Q).otherwise(()=>{return});if(!G)throw new _o("toolbox_stellar_no_signer");return y=await f({path:o,phrase:G}),y}async function C(){let{Horizon:G}=await import("@stellar/stellar-sdk"),Q=await Ew(Ho.Stellar);return new G.Server(Q)}async function H(){try{return(await t()).publicKey()}catch{return""}}async function _(G){let Q=G||await H();if(!Q)throw new _o("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Q)).balances.map((Y)=>{if(Y.asset_type==="native")return by.from({chain:Ho.Stellar,value:Y.balance});let Z="asset_code"in Y?Y.asset_code:"",U="asset_issuer"in Y?Y.asset_issuer:"";return by.from({asset:`${Ho.Stellar}.${Z}-${U}`,asyncTokenLookup:!1,value:Y.balance})})}catch{return[by.from({chain:Ho.Stellar,value:0})]}}async function A({recipient:G,assetValue:Q,memo:z,sender:L}){if(z){if(new TextEncoder().encode(z).length>28)throw new _o("helpers_invalid_memo_type")}if(!await jw(G))throw new _o("core_transaction_invalid_recipient_address");let Z=L||await H();if(!Z)throw new _o("toolbox_stellar_no_signer");let{Asset:U,Memo:B,Networks:J,Operation:D,TransactionBuilder:R}=await import("@stellar/stellar-sdk"),W=await C(),N=await W.fetchBaseFee(),O=await W.loadAccount(Z),x=new R(O,{fee:String(N),networkPassphrase:J.PUBLIC});if(Q.isGasAsset)try{await W.loadAccount(G),x.addOperation(D.payment({amount:Q.getValue("string"),asset:U.native(),destination:G}))}catch{x.addOperation(D.createAccount({destination:G,startingBalance:Q.getValue("string")}))}else x.addOperation(D.payment({amount:Q.getValue("string"),asset:new U(Q.symbol,Q.address),destination:G}));if(z)x.addMemo(B.text(z));return x.setTimeout(30).build()}async function X(G){let{TransactionBuilder:Q,Networks:z}=await import("@stellar/stellar-sdk"),L=await t(),Y=Q.fromXDR(G.toXDR(),z.PUBLIC);return Y.sign(L),Y}async function M(G){try{let Q=await C(),{hash:z}=await Q.submitTransaction(G);return z}catch(Q){throw new _o("toolbox_stellar_broadcast_error",Q)}}async function l({recipient:G,assetValue:Q,memo:z}){let L=await t(),Y=L.publicKey(),Z=await A({assetValue:Q,memo:z,recipient:G,sender:Y});Z.sign(L);try{return(await(await C()).submitTransaction(Z)).hash}catch(U){if(U instanceof _o)throw U;throw new _o("toolbox_stellar_transaction_failed",U)}}async function w(G){let Q=await X(G);return M(Q)}async function q(){let{baseDecimal:G}=$w(Ho.Stellar);try{let L=(await(await C()).feeStats()).fee_charged.p50;return by.from({chain:Ho.Stellar,fromBaseDecimal:G,value:L})}catch{return by.from({chain:Ho.Stellar,fromBaseDecimal:G,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:q,getAddress:H,getBalance:_,signAndBroadcastTransaction:w,signTransaction:X,transfer:l,validateAddress:_T}}var Kw;var z_=k(()=>{Kw=/^G[A-Z2-7]{55}$/});var AT={};e(AT,{validateStellarAddress:()=>_T,getStellarToolbox:()=>N_});var UT=k(()=>{z_()});import{AssetValue as cw,Chain as $,CosmosChains as D0,EVMChains as O0,FeeOption as iw,SwapKitError as hw,UTXOChains as O_}from"@swapkit/helpers";async function wX(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (Vy(),vy)),{validateEVMAddress:T}=await Promise.resolve().then(() => ($T(),UC)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (jT(),KT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Lf(),Mf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (Lt(),Mt)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (Nt(),Yt)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Rf(),Of)),{validateSuiAddress:_}=await Promise.resolve().then(() => (Sf(),Ff)),{validateTonAddress:A}=await Promise.resolve().then(() => (uf(),kf)),{getUTXOAddressValidator:X}=await Promise.resolve().then(() => (rt(),mt)),{validateNearAddress:M}=await Promise.resolve().then(() => (U0(),A0)),{validateRadixAddress:l}=await Promise.resolve().then(() => (G0(),q0)),{validateRippleAddress:w}=await Promise.resolve().then(() => (X0(),l0)),{validateTronAddress:q}=await Promise.resolve().then(() => (z0(),N0)),{validateStellarAddress:G}=await Promise.resolve().then(() => (UT(),AT));return function({address:z,chain:L}){return n(L).with(...O0,()=>T(z)).with(...O_,(Z)=>{return X(Z)(z)}).with(...D0,(Z)=>{return f(Z)(z)}).with($.Aptos,()=>y(z)).with($.Radix,()=>l(z)).with($.HyperCore,()=>t(z)).with($.Near,()=>M(z)).with($.Ripple,()=>w(z)).with($.Solana,()=>C(z)).with($.Stellar,()=>G(z)).with($.Starknet,()=>H(z)).with($.Sui,()=>_(z)).with($.Ton,()=>A(z)).with($.Tron,()=>q(z)).with($.Cardano,()=>o(z)).otherwise(()=>!1)}}function qX(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...O0,async(f)=>{let t=await D_(f),C=await t.createTransaction(T),H="feeOptionKey"in T?T.feeOptionKey:iw.Fast;return t.estimateTransactionFee({...C,feeOption:H})}).with($.Bitcoin,$.BitcoinCash,$.Dogecoin,$.Dash,$.Litecoin,$.Solana,$.Ripple,$.Tron,$.Near,$.Cardano,$.HyperCore,async(f)=>{return(await D_(f)).estimateTransactionFee(T)}).with($.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (Vy(),vy));return f().estimateTransactionFee(T)}).with($.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Rf(),Of));return(await f()).estimateTransactionFee(T)}).with($.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (UT(),AT));return f().estimateTransactionFee()}).with($.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Sf(),Ff));return f().estimateTransactionFee(T)}).with($.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (uf(),kf));return f().estimateTransactionFee(T)}).with(...D0,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Lf(),Mf));return f(T)}).otherwise(async()=>cw.from({chain:n}))}}async function D_(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...O0,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (IT(),HC));return await o(n,y)}).with(...O_,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (rt(),mt));return o(n,y)}).with(...D0,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Lf(),Mf));return o(n,y)}).with($.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (Vy(),vy));return o(y)}).with($.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (Lt(),Mt));return o(y)}).with($.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (G0(),q0));return o(y)}).with($.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (X0(),l0));return o(y)}).with($.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (Nt(),Yt));return o(y)}).with($.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (UT(),AT));return o(y)}).with($.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Rf(),Of));return o(y)}).with($.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Sf(),Ff));return o(y)}).with($.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (z0(),N0));return o(y)}).with($.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (U0(),A0));return o(y)}).with($.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (jT(),KT));return o(y)}).with($.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (uf(),kf));return o(y)}).otherwise(()=>{throw new hw("toolbox_not_supported",{chain:n})})}export{D_ as getToolbox,qX as getFeeEstimator,wX as getAddressValidator};
|