@swapkit/toolboxes 4.15.10 → 4.15.12
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/tron/index.cjs +1 -1
- package/dist/src/tron/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 +1 -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 +1 -2
- 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 +1 -2
- 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.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var DH=Object.create;var{getPrototypeOf:OH,defineProperty:ty,getOwnPropertyNames:t0,getOwnPropertyDescriptor:RH}=Object,C0=Object.prototype.hasOwnProperty;function H0(n){return this[n]}var xH,FH,TT=(n,y,T)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?xH??=new WeakMap:FH??=new WeakMap,t=f.get(n);if(t)return t}T=n!=null?DH(OH(n)):{};let C=y||!n||!n.__esModule?ty(T,"default",{value:n,enumerable:!0}):T;for(let H of t0(n))if(!C0.call(C,H))ty(C,H,{get:H0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Jn=(n)=>{var y=(T0??=new WeakMap).get(n),T;if(y)return y;if(y=ty({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of t0(n))if(!C0.call(y,o))ty(y,o,{get:H0.bind(n,o),enumerable:!(T=RH(n,o))||T.enumerable})}return T0.set(n,y),y},T0;var pH=(n)=>n;function SH(n,y){this[n]=pH.bind(null,y)}var Mn=(n,y)=>{for(var T in y)ty(n,T,{get:y[T],enumerable:!0,configurable:!0,set:SH.bind(y,T)})};var S=(n,y)=>()=>(n&&(y=n(n=0)),y);function uo(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return kH.test(y)}function A0({derivationPath:n,provider:y,...T}={}){let o,f=V.derivationPathToString(n||V.NetworkDerivationPath[V.Chain.Aptos],{allHardened:!0});async function t(){if(o)return o;return o=await Qo.match(T).with({phrase:Qo.P.string},async({phrase:l})=>{let{Ed25519Account:Z}=await import("@aptos-labs/ts-sdk");return Z.fromDerivationPath({mnemonic:l,path:f})}).with({signer:Qo.P.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||V.getRPCUrlSync(V.Chain.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 V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:z,chain:L}=V.getChainConfig(V.Chain.Aptos);try{let N=await C(),J=await N.getAccountAPTAmount({accountAddress:Z}),U=[V.AssetValue.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===Lo.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(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Y}`,fromBaseDecimal:Q,value:String(q.amount)}))}}return U}catch{return[V.AssetValue.from({chain:L})]}}async function _(l){if(!l){let{baseDecimal:B}=V.getChainConfig(V.Chain.Aptos),q=y||V.getRPCUrlSync(V.Chain.Aptos),Y=await fetch(`${q}/estimate_gas_price`),{gas_estimate:D}=await Y.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:B,value:String(D)})}let Z=await t();if(!Z)throw new V.SwapKitError("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 V.SwapKitError("toolbox_aptos_transaction_creation_error");let J=BigInt(N.gas_used)*BigInt(N.gas_unit_price),{baseDecimal:U}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:U,value:J.toString()})}async function G({recipient:l,assetValue:Z,maxGasAmount:z,sender:L}){if(!uo(l))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await H();if(!N)throw new V.SwapKitError("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?Lo.TRANSFER:Lo.FUNGIBLE_STORE_TRANSFER,Y=Qo.match({address:Z?.address,isGasAsset:Z.isGasAsset}).with({isGasAsset:!0},()=>[J.from(l),Z.getBaseValue("bigint")]).with({address:Qo.P.string},({address:D})=>[J.from(D),J.from(l),Z.getBaseValue("bigint")]).otherwise(()=>null);if(!Y)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:q,functionArguments:Y,typeArguments:Z.isGasAsset?[]:[Lo.FUNGIBLE_ASSET_METADATA]},options:z?{maxGasAmount:z}:void 0,sender:B})}catch(q){if(q instanceof V.SwapKitError)throw q;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",q)}}async function M(l){let Z=await t();if(!Z)throw new V.SwapKitError("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 V.SwapKitError("toolbox_aptos_no_signer");if(!uo(z))throw new V.SwapKitError("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 V.SwapKitError)throw N;throw new V.SwapKitError("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 V.SwapKitError("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:uo}}function _0({provider:n}){return async function({assetValue:T,recipient:o}){if(!uo(o))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(T.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),T.getBaseValue("string")],function:Lo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let t=T.address;if(!t)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[t,f.from(o).toString(),T.getBaseValue("string")],function:Lo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Lo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Qo,Lo,kH;var U0=S(()=>{V=require("@swapkit/helpers"),Qo=require("ts-pattern"),Lo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},kH=/^[0-9a-fA-F]+$/});var by={};Mn(by,{validateAptosAddress:()=>uo,getAptosToolbox:()=>A0,createAptosExtensionTransfer:()=>_0});module.exports=Jn(by);var vy=S(()=>{U0()});function q0(){function n(){let y=Date.now(),T=tT||y;return tT=T,y>tT?y:T+1}return uH+n().toString(36)}function xn(n){return async function(T,o=!0){let f=await w0.SwapKitApi.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=Cy.getChainConfig(n),C=f.map(({identifier:A,value:_,decimal:G})=>{return new Cy.AssetValue({decimal:G||t,identifier:A,value:_})});if(!C.some((A)=>A.isGasAsset))return[Cy.AssetValue.from({chain:n}),...C];return C}}var Cy,w0,uH,tT=0;var dn=S(()=>{Cy=require("@swapkit/helpers"),w0=require("@swapkit/helpers/api"),uH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Hy(n){return{getBalance:xn(n)}}function PH(n){return n}var Vy=S(()=>{dn()});function l0(n){return new Zo.JsonRpcProvider(n)}async function UT(n,y){return l0(y||await g.getRPCUrl(n))}function Ay(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function wT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...IH({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function qT(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function IH({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=g.getChainConfig(n);return _T.match(n).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:T,symbol:T}}))}async function GT(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 X0(n,y){let T=y!==void 0?`index ${y}: `:"",o=(f,t)=>{throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${T}${t}`}})};_T.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!$H(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})=>!G0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!G0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function W0(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 CT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function HT(n,y){if(n.isTuple()&&n.components){let T=CT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:HT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=CT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:HT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function AT(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]=AT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>AT(o,T??void 0))}return n}function EH({chain:n,abi:y,data:T,to:o}){let t=new Zo.Interface(y).parseTransaction({data:T});if(!t)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=CT(t.name);C[H]=t.fragment.inputs.map((w)=>({name:w.name,type:HT(w,C)}));let A={};for(let[w,X]of t.fragment.inputs.entries())A[X.name]=AT(t.args[w],X);let{chainId:_}=g.getChainConfig(n),G={chainId:Number(_),verifyingContract:Zo.getAddress(o)},M=W0(G);return{domain:G,message:A,primaryType:H,types:{EIP712Domain:M,...C}}}function lT(n,y){if(!Array.isArray(n)||n.length===0)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[T,o]of n.entries())if(X0(o,T),y!==void 0&&o.chainId!==y)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${T}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var g,Zo,_T,G0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),$H=(n)=>{try{return typeof n==="string"&&!!Zo.getAddress(n)}catch{return!1}};var _y=S(()=>{g=require("@swapkit/helpers"),Zo=require("ethers"),_T=require("ts-pattern")});var B0;var M0=S(()=>{B0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function Io({chain:n=R.Chain.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:KH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:Z0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:QT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:mH({chain:n,provider:y,signer:T}),createContract:BT({chain:n,provider:y}),createContractTxObject:Jo({chain:n,provider:y}),createTransaction:XT({chain:n,provider:y,signer:T}),createTransferTx:XT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:Eo(y),estimateCall:J0({provider:y,signer:T}),estimateGasLimit:iH({chain:n,provider:y,signer:T}),estimateGasPrices:Yo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:rH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:Hy(n).getBalance,getNetworkParams:wT(n),isApproved:jH({chain:n,provider:y}),sendTransaction:Y0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:hH({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:cH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:wy}}function wy(n){try{return Sn.getAddress(n),!0}catch{return!1}}function $o(n){return n instanceof Sn.BrowserProvider}function qy(n,y,T){return new Sn.Contract(n,Sn.Interface.from(y),T)}function BT({provider:n}){return function(T,o){return new Sn.Contract(T,Sn.Interface.from(o),n)}}function MT({abi:n,funcName:y}){let T=n.find((o)=>o.name===y);if(!T)throw new R.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return T.stateMutability&&bH.includes(T.stateMutability)}function L0(n){return Sn.getAddress(n)}function Eo(n){return function({value:T,...o}){if(!$o(n))throw new R.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,...A}=o;return n.send("eth_sendTransaction",[{...A,value:Ay(BigInt(T||0))}])}}function Q0(n,y){let T=bo(n,y);if(T)return Sn.getAddress(T.toLowerCase());throw new R.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function bo({chain:n,symbol:y,ticker:T},o){try{let f=n===R.Chain.BinanceSmartChain&&y==="BNB"&&T==="BNB",t=n===R.Chain.Hyperevm&&y==="HYPE"&&T==="HYPE",C=n===o&&y===o&&T===o,H=VH.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return LT[o];return Sn.getAddress(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function Jo({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>qy(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Yo({chain:n,provider:y,isEIP1559Compatible:T=!0}){return WT.match(n).with(R.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:t}=await y.getFeeData();if(!f||t===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Average),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Average)},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(R.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new R.SwapKitError("toolbox_evm_no_fee_data");let t=f*12n/10n;return{[R.FeeOption.Average]:{gasPrice:t},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:t,gasPrice:C}=await y.getFeeData();if(T){if(f===null||t===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:t},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}if(!C)throw new R.SwapKitError("toolbox_evm_no_gas_price");return{[R.FeeOption.Average]:{gasPrice:C},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function QT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:A,funcParams:_=[],txOverrides:G={},feeOption:M=R.FeeOption.Fast}){let w=t||n;if(!C)throw new R.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=MT({abi:H,funcName:A});if(X&&$o(w)&&T){let Z=Jo({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 Eo(w)(L)}let W=qy(C,H,w);if(X){if(!T)throw new R.SwapKitError("toolbox_evm_no_signer");let Z=G?.from||await T.getAddress();if(!Z)throw new R.SwapKitError("toolbox_evm_no_signer_address");let z=W.connect(T),L=Yo({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 Z0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return QT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Po.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function jH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=Uy}){let H=await Z0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return R.SwapKitNumber.fromBigInt(H).gte(R.SwapKitNumber.fromBigInt(BigInt(C)))}}function KH({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=R.FeeOption.Fast,amount:A,gasLimitFallback:_,from:G,nonce:M}){let w=[C,BigInt(A||Uy)],X=await n?.getAddress()||G,W={abi:Po.erc20ABI,contractAddress:t,funcName:"approve",funcParams:w,signer:n,txOverrides:{from:X}};if($o(T)){let Z=Jo({chain:o,provider:T}),z=Eo(T),L=await Z(W);return z(L)}return QT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...W,feeOption:H,funcParams:w,txOverrides:{from:X,gasLimit:_?BigInt(_.toString()):void 0,nonce:M}})}}function cH({signer:n,isEIP1559Compatible:y=!0,provider:T}){return async function({assetValue:f,memo:t,recipient:C,feeOptionKey:H=R.FeeOption.Fast,sender:A,..._}){let{hexlify:G,toUtf8Bytes:M}=await import("ethers"),w=f.getBaseValue("bigint"),X=f.chain,W=A||await n?.getAddress(),l=Y0({chain:X,isEIP1559Compatible:y,provider:T,signer:n});if(!W)throw new R.SwapKitError("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(!bo(f,X))throw new R.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:z,maxPriorityFeePerGas:L,gasPrice:N}=(await Yo({chain:X,isEIP1559Compatible:y,provider:T})())[H],J=await XT({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 J0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:t,funcParams:C=[],txOverrides:H}){if(!o)throw new R.SwapKitError("toolbox_evm_no_contract_address");let A=qy(o,f,n);return y?A.connect(y).getFunction(t).estimateGas(...C,H):A.getFunction(t).estimateGas(...C,H)}}function iH({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:bo(o,o.chain);if(w&&A)return J0({provider:n,signer:y})({abi:Po.erc20ABI,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 hH({signer:n}){if(!n)return;return(y)=>GT(n,y)}function Y0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=R.FeeOption.Fast,...C}){let{from:H,to:A,data:_,value:G,...M}=C;if(!y)throw new R.SwapKitError("toolbox_evm_no_signer");if(!A)throw new R.SwapKitError("toolbox_evm_no_to_address");let w={...M,data:_||"0x",from:H,to:A,value:BigInt(G||0)};if($o(n))return Eo(n)(w);let X=H||await y.getAddress(),W=C.nonce||await n.getTransactionCount(X),l=(await n.getNetwork()).chainId,Z=JT(w,T);if(Z==="eip7702")lT(w.authorizations||[],l);let z=WT.match(Z).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...w,chainId:l,nonce:W,type:z,...Z==="eip7702"&&{authorizationList:w.authorizations}},N=Yo({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]:Ay(BigInt(D))}),{}):{},B;try{B=Ay(w.gasLimit||await n.estimateGas(L)*11n/10n)}catch(q){throw new R.SwapKitError("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 R.SwapKitError("toolbox_evm_error_sending_transaction",{error:q})}}}function XT({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 R.SwapKitError("toolbox_evm_no_from_address");if(R.isGasAsset(o)){let{hexlify:z,toUtf8Bytes:L}=await import("ethers");return{...M,data:C||z(L(f||"")),from:W,to:t,value:w}}let l=bo(o,X);if(!l)throw new R.SwapKitError("toolbox_evm_no_contract_address");return Jo({chain:o.chain,provider:n})({abi:Po.erc20ABI,contractAddress:l,funcName:"transfer",funcParams:[t,w],txOverrides:{from:W,gasPrice:G,maxFeePerGas:A,maxPriorityFeePerGas:_}})}}function mH({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let A=await y?.getAddress()||H,_=Jo({chain:T,provider:n}),G=["bigint","number"].includes(typeof C)?C:C||Uy;return await _({abi:Po.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(G)],txOverrides:{from:A}})}}function rH({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=R.FeeOption.Fast,...t}){let H=await Yo({chain:T,isEIP1559Compatible:y,provider:n})(),A=await n.estimateGas(t),_=R.AssetValue.from({chain:T}),{gasPrice:G,maxFeePerGas:M,maxPriorityFeePerGas:w}=H[f];if(!y&&G)return _.set(R.SwapKitNumber.fromBigInt(G*A,_.decimal));if(M&&w){let X=(M+w)*A;return _.set(R.SwapKitNumber.fromBigInt(X,_.decimal))}throw new R.SwapKitError("toolbox_evm_no_gas_price")}}var R,Po,Sn,WT,Uy,bH,vH,LT,VH,jy=(n)=>n.type===4||(n.authorizations?.length??0)>0,ZT=(n)=>!jy(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),JT=(n,y=!0)=>{if(jy(n))return"eip7702";if(ZT(n)||y)return"eip1559";return"legacy"};var Ky=S(()=>{Vy();_y();R=require("@swapkit/helpers"),Po=require("@swapkit/helpers/contracts"),Sn=require("ethers"),WT=require("ts-pattern"),Uy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");bH=["payable","nonpayable"];vH=R.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),LT={...vH,[R.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[R.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},VH=[R.Chain.Arbitrum,R.Chain.Aurora,R.Chain.Base,R.Chain.Optimism]});function cy(n){let y=wn(Cn.Chain.Ethereum)(n);async function T(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",t="aggregate",C=Cn.FeeOption.Fast){let H=await y.createContractTxObject({abi:B0,contractAddress:f,funcName:t,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:T}}function wn(n){return function({provider:T,...o}){let f=qT(n),t=Gy.match(o).with({phrase:Gy.P.string},({phrase:H})=>N0.HDNodeWallet.fromPhrase(H).connect(T)).with({signer:Gy.P.any},({signer:H})=>H).otherwise(()=>{return});return Io({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var Cn,N0,Gy,iy,hy,my,ry,gy,dy,ay,z0,sy,ey,nf,of,yf,ff,ly,Tf,tf,Cf,Hf;var YT=S(()=>{M0();_y();Ky();Cn=require("@swapkit/helpers"),N0=require("ethers"),Gy=require("ts-pattern");iy=wn(Cn.Chain.Adi),hy=wn(Cn.Chain.Arbitrum),my=wn(Cn.Chain.Aurora),ry=wn(Cn.Chain.Avalanche),gy=wn(Cn.Chain.Base),dy=wn(Cn.Chain.Berachain),ay=wn(Cn.Chain.BinanceSmartChain),z0=wn(Cn.Chain.Botanix),sy=wn(Cn.Chain.Core),ey=wn(Cn.Chain.Corn),nf=wn(Cn.Chain.Cronos),of=wn(Cn.Chain.Gnosis),yf=wn(Cn.Chain.Hyperevm),ff=wn(Cn.Chain.Polygon),ly=wn(Cn.Chain.Sonic),Tf=wn(Cn.Chain.Unichain),tf=wn(Cn.Chain.XLayer),Cf=wn(Cn.Chain.Monad),Hf=wn(Cn.Chain.MegaETH)});var D0;var O0=S(()=>{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"}]});function NT(n){return new Af.Contract(dH,D0,n)}function R0(n){return async function(){let T=NT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function x0(n){return async function({from:T,to:o,nonce:f,...t}){let{Transaction:C}=await import("ethers");if(!o)throw new Hn.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...t,authorizationList:t.authorizationList,nonce:f?f:T?await n.getTransactionCount(T):0,to:o}).serialized}}function F0(n){return async function(T){let o=NT(n),f=await x0(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function p0(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function aH(n){return async function(T){let o=await F0(n)(T)??0n,f=await p0(n)(T);return o+f}}function sH(n){return async function(T){let o=NT(n),f=await x0(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function eH(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await R0(n)(),C=f;if(!(T&&o))throw new Hn.SwapKitError("toolbox_evm_no_fee_data");return{[Hn.FeeOption.Average]:{gasPrice:C,l1GasPrice:t,maxFeePerGas:T,maxPriorityFeePerGas:o},[Hn.FeeOption.Fast]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fast),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fast)},[Hn.FeeOption.Fastest]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fastest),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fastest)}}}catch(T){throw new Hn.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}function _f({provider:n,...y}){let T=Xy.match(y).with({phrase:Xy.P.string},({phrase:t})=>Af.HDNodeWallet.fromPhrase(t).connect(n)).with({signer:Xy.P.any},({signer:t})=>t).otherwise(()=>{return}),o=Io({provider:n,signer:T}),f=R0(n);return{...o,estimateGasPrices:eH(n),estimateL1Gas:sH(n),estimateL1GasCost:F0(n),estimateL2GasCost:p0(n),estimateTotalGasCost:aH(n),getBalance:Hy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,Af,Xy,dH="0x420000000000000000000000000000000000000f";var zT=S(()=>{Vy();O0();Ky();Hn=require("@swapkit/helpers"),Af=require("ethers"),Xy=require("ts-pattern")});var u0={};Mn(u0,{validateEVMAddress:()=>wy,toChecksumAddress:()=>L0,isStateChangingCall:()=>MT,isEIP7702Transaction:()=>jy,isEIP1559Transaction:()=>ZT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getEvmToolboxAsync:()=>k0,getEvmToolbox:()=>DT,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>JT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>BT,getChecksumAddressFromAsset:()=>Q0,createContract:()=>qy,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,ETHToolbox:()=>cy,ContractAddress:()=>LT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>z0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});function DT(n,y){return S0.match(n).with(Un.Chain.Adi,()=>iy(y)).with(Un.Chain.Arbitrum,()=>hy(y)).with(Un.Chain.Aurora,()=>my(y)).with(Un.Chain.Avalanche,()=>ry(y)).with(Un.Chain.Base,()=>gy(y)).with(Un.Chain.Berachain,()=>dy(y)).with(Un.Chain.BinanceSmartChain,()=>ay(y)).with(Un.Chain.Botanix,()=>ly(y)).with(Un.Chain.Core,()=>sy(y)).with(Un.Chain.Corn,()=>ey(y)).with(Un.Chain.Cronos,()=>nf(y)).with(Un.Chain.Ethereum,()=>cy(y)).with(Un.Chain.Gnosis,()=>of(y)).with(Un.Chain.Hyperevm,()=>yf(y)).with(Un.Chain.Optimism,()=>_f(y)).with(Un.Chain.Polygon,()=>ff(y)).with(Un.Chain.Sonic,()=>ly(y)).with(Un.Chain.Unichain,()=>Tf(y)).with(Un.Chain.XLayer,()=>tf(y)).with(Un.Chain.Monad,()=>Cf(y)).with(Un.Chain.MegaETH,()=>Hf(y)).exhaustive()}async function k0(n,y){let T={...y,provider:y?.provider||await UT(n)};return DT(n,T)}var Un,S0;var OT=S(()=>{_y();YT();zT();Un=require("@swapkit/helpers"),S0=require("ts-pattern");Ky();YT();zT()});var P0;var I0=S(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(P0||={})});var $0={};Mn($0,{validateEVMAddress:()=>wy,validateAuthorizations:()=>lT,validateAuthorization:()=>X0,toHexString:()=>Ay,toChecksumAddress:()=>L0,signAuthorization:()=>GT,parseEIP712FromEVMTx:()=>EH,isStateChangingCall:()=>MT,isEIP7702Transaction:()=>jy,isEIP1559Transaction:()=>ZT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getProviderSync:()=>l0,getProvider:()=>UT,getNetworkParams:()=>wT,getIsEIP1559Compatible:()=>qT,getEvmToolboxAsync:()=>k0,getEvmToolbox:()=>DT,getEvmApi:()=>Hy,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>JT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>BT,getChecksumAddressFromAsset:()=>Q0,createCustomEvmApi:()=>PH,createContract:()=>qy,buildEIP712DomainType:()=>W0,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,EthNetwork:()=>P0,ETHToolbox:()=>cy,ContractAddress:()=>LT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>z0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});module.exports=Jn($0);var RT=S(()=>{Vy();_y();OT();I0()});async function FT(n,y){let T=await fetch(`${c0}${n}`,{...y,headers:{project_id:K0,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function i0(n){try{return await FT(`/addresses/${n}/utxos`)}catch{return[]}}async function oA(){return(await FT("/blocks/latest")).slot}async function yA(){let n=await FT("/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 Fn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Fn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Fn.default(n.min_fee_a),minFeeB:new Fn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Fn.default(15),priceMem:new Fn.default(n.price_mem),priceSteps:new Fn.default(n.price_step),stakeKeyDeposit:new Fn.default(2000000),utxoCostPerByte:new Fn.default(n.coins_per_utxo_size)}}async function b0(n){let y=await fetch(`${c0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:K0},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function fA(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new Fn.default(o.quantity):new Fn.default(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Fn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:T.output_index,tokens:t,txId:T.tx_hash}})}async function TA(n){try{let y=await i0(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}=An.getChainConfig(An.Chain.Cardano);if(T>0n)f.push(An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(An.AssetValue.from({asset:`${An.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[An.AssetValue.from({chain:An.Chain.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[An.AssetValue.from({chain:An.Chain.Cardano})]}}function h0(n){if(!n||typeof n!=="string")return!1;try{let y=v0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function tA(n,y=0,T=0){let o=await V0.mnemonicToSeed(n,""),t=(await j0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(xT+1852).derive(xT+1815).derive(xT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),A=Nn.crypto.hash28(H),G=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Nn.crypto.hash28(G),w={hash:A,type:Nn.types.HashType.ADDRESS},X={hash:M,type:Nn.types.HashType.ADDRESS},l=new Nn.address.BaseAddress(nA,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=Nn.crypto.hash32(D),O=Z.sign(Q),x=B instanceof Map?B:new Map,k=x.get(E0)||[];k.push([H,O]),x.set(E0,k);let u=[U,x,q,Y];return L.Encoder.encode(u).toString("hex")}catch(L){throw new An.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function CA(n){let y,T,o;async function f(){if(!o)o=await yA();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 tA(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 An.SwapKitError("core_wallet_connection_not_found");return TA(W)}async function A(X){if(X)try{let{tx:z}=await _(X),L=z.getFee();return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let W=await f(),l=400,Z=W.minFeeB.plus(W.minFeeA.times(l));return An.AssetValue.from({chain:An.Chain.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 An.SwapKitError("core_wallet_connection_not_found");let[N,J,U]=await Promise.all([i0(L),oA(),f()]),B=N.filter((Tn)=>z?Tn.amount.every((on)=>on.unit==="lovelace"):Tn.amount.some((on)=>on.unit==="lovelace")).sort((Tn,on)=>{let Zn=Tn.amount.some((On)=>On.unit!=="lovelace"),Bn=on.amount.some((On)=>On.unit!=="lovelace");if(Zn===Bn)return 0;return Zn?1:-1}),q=Nn.utils.getAddressFromString(L),Y=Nn.utils.getAddressFromString(W),D=fA(B,q),Q=new Fn.default(l.getBaseValue("string")),O=[{address:Y,amount:Q,tokens:[]}],x;if(Z){let Tn=new Map;Tn.set("msg",[Z]),x={metadata:[{data:Tn,label:674}]}}let k={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},j=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:x,changeAddress:q,inputs:D,outputs:O,ttl:J+3600}),{payload:s}=j.buildTransaction();return{tx:j,unsignedTx:s}}async function G(X){let W=await t();if(!W||!("signTransaction"in W))throw new An.SwapKitError("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 An.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:z}=await _({assetValue:W,memo:l,recipient:X,sender:await C()}),L=await G(z);return await b0(L)}async function w(X){let W=await G(X);return await b0(W)}return{createTransaction:_,estimateTransactionFee:A,getAddress:C,getBalance:H,signAndBroadcastTransaction:w,signTransaction:G,transfer:M,validateAddress:h0}}var v0,V0,j0,Nn,An,Fn,K0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",c0="https://cardano-mainnet.blockfrost.io/api/v0",nA,xT=2147483648,E0=0;var m0=S(()=>{v0=require("@scure/base"),V0=require("@scure/bip39"),j0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),An=require("@swapkit/helpers"),Fn=TT(require("bignumber.js")),nA=Nn.types.NetworkId.MAINNET});var pT={};Mn(pT,{validateCardanoAddress:()=>h0,getCardanoToolbox:()=>CA});module.exports=Jn(pT);var ST=S(()=>{m0()});function Wy(n){return hn.base64.encode(Uint8Array.from(hn.bech32.fromWords(hn.bech32.decode(n).words)))}function By(n,y="thor"){return hn.bech32.encode(y,hn.bech32.toWords(hn.base64.decode(n)))}function HA(n){return hn.base64.encode(n)}function AA(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new r0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hn.base64.decode(n)}var hn,r0;var kT=S(()=>{hn=require("@scure/base"),r0=require("@swapkit/helpers")});function an(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return a0;case b.Chain.Noble:return s0;default:return d0}}async function sn(n){let y=await import("@cosmjs/stargate"),T=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return T.connect({headers:o,url:n})}async function No(n,y,T={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,t=o.GasPrice??o.default?.GasPrice,C=typeof T==="string"?T:"0.0003uatom",H=typeof T==="string"?{}:T;return f.connectWithSigner(n,y,{gasPrice:t.fromString(C),...H})}async function PT(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 b.getRPCUrl(H),M=await(await sn(_)).getAccount(n);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let w=b.AssetValue.from({chain:H}),X=to(w.symbol),W=an(H),l=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:W.gas}:W,Z={amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:A,fee:l,memo:o,msgs:[{typeUrl:_A(H),value:Z}],sequence:t??M.sequence}}var b,uT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",g0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",d0,a0,s0,to=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return uT;case"uYUM":case"YUM":return g0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},My=({symbol:n,chain:y})=>{if(y===b.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${b.Chain.Maya}.${n}`).toUpperCase();if(y===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${b.Chain.THORChain}.${n}`:n).toUpperCase();return to(n,!1)},_A=(n)=>{switch(n){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},UA,$T=(n,y)=>{let T=UA[n.toLowerCase()];if(!T)return b.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:t}=T,C=o?{chain:o}:{asset:f};return b.AssetValue.from({...C,fromBaseDecimal:t,value:y})};var Ly=S(()=>{b=require("@swapkit/helpers"),d0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},a0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},s0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};UA={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[uT.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var e0={};Mn(e0,{$root:()=>p});var Ln,v,un,I,p;var nC=S(()=>{Ln=TT(require("protobufjs/minimal.js")),v=Ln.default.Reader,un=Ln.default.Writer,I=Ln.default.util,p=Ln.default.roots.default||(Ln.default.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=un.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new 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 v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!I.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!I.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof 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,Ln.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))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 v))o=v.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 v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=p.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!I.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!I.isInteger(o.decimals)&&!(o.decimals&&I.isInteger(o.decimals.low)&&I.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof 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(I.Long)(f.decimals=I.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)if(t.asset=null,t.amount="",I.Long){let C=new I.Long(0,0,!1);t.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else t.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))t.asset=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?I.Long.prototype.toString.call(o.decimals):f.longs===Number?new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new 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 v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!I.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!I.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof 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,Ln.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(T){if(this.coins=[],this.gas=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=I.emptyArray,y.prototype.gas=I.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let t=0;t<o.coins.length;++t)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 v))o=v.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 v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!I.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!I.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!I.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=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(!I.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,Ln.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)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 v))o=v.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 v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=p.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!I.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof 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,Ln.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new 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 v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!I.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof 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,Ln.default.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=I.emptyArray,y.prototype.memo="",y.prototype.signer=I.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)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 v))o=v.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 v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=p.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||I.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof 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")I.base64.decode(o.signer,f.signer=I.newBuffer(I.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults){if(t.memo="",f.bytes===String)t.signer="";else if(t.signer=[],f.bytes!==Array)t.signer=I.newBuffer(t.signer)}if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=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?I.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(T){if(this.amount=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.fromAddress=I.newBuffer([]),y.prototype.toAddress=I.newBuffer([]),y.prototype.amount=I.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let t=0;t<o.amount.length;++t)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 v))o=v.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 v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||I.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||I.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let t=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")I.base64.decode(o.fromAddress,f.fromAddress=I.newBuffer(I.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")I.base64.decode(o.toAddress,f.toAddress=I.newBuffer(I.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let t=0;t<o.amount.length;++t){if(typeof o.amount[t]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[t]=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=I.newBuffer(t.fromAddress);if(f.bytes===String)t.toAddress="";else if(t.toAddress=[],f.bytes!==Array)t.toAddress=I.newBuffer(t.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=f.bytes===String?I.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=f.bytes===String?I.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){t.amount=[];for(let C=0;C<o.amount.length;++C)t.amount[C]=p.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();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=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.Coin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof 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,Ln.default.util.toJSONOptions)},o})(),T.DecCoin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof 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,Ln.default.util.toJSONOptions)},o})(),T.IntProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.int="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.int!=null&&Object.hasOwnProperty.call(t,"int"))C.uint32(10).string(t.int);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.IntProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.int=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.int!=null&&t.hasOwnProperty("int")){if(!I.isString(t.int))return"int: string expected"}return null},o.fromObject=function(t){if(t instanceof 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,Ln.default.util.toJSONOptions)},o})(),T.DecProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.dec="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.dec!=null&&Object.hasOwnProperty.call(t,"dec"))C.uint32(10).string(t.dec);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.DecProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.dec=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.dec!=null&&t.hasOwnProperty("dec")){if(!I.isString(t.dec))return"dec: string expected"}return null},o.fromObject=function(t){if(t instanceof 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,Ln.default.util.toJSONOptions)},o})(),T})(),y})(),n})()});async function zo(){let{$root:n}=await Promise.resolve().then(() => (nC(),e0)),y=await import("@cosmjs/proto-signing"),T=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new T([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Co(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===oC.Chain.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:By(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:By(f),to_address:By(t)})}})}var oC;var ET=S(()=>{kT();oC=require("@swapkit/helpers")});function VT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return fC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return TC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function fC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let A=T.chain,_=await zn.getRPCUrl(A),G=await yC({rpcUrl:_,sender:n}),{chainId:M}=zn.getChainConfig(A),w=bT({assetValue:T,recipient:y,sender:n}),X=f?await Ho(t?w:Ao(w),A):w;return{accountNumber:H||G.accountNumber,chainId:M,fee:an(A),memo:o,msgs:[X],sequence:C||G.sequence}}async function TC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,A=await zn.getRPCUrl(H),_=await yC({rpcUrl:A,sender:n}),{chainId:G}=zn.getChainConfig(H),M=vT({assetValue:y,memo:T,sender:n}),w=o?await Ho(f?M:Ao(M),H):M;return{accountNumber:C||_.accountNumber,chainId:G,fee:an(H),memo:T,msgs:[w],sequence:t||_.sequence}}function Ao(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let T=zn.AssetValue.from({asset:y.asset}),o=(T.isSynthetic?T.symbol.split("/")?.[1]:T.symbol)?.toUpperCase(),f=(T.isSynthetic?T.symbol.split("/")?.[0]:T.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:T.isSynthetic,ticker:T.ticker}}})}}}async function Qy({chain:n,memo:y,msgs:T}){let o=await zo(),f=await Co(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var zn,wA,qA,bT=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol,!0)}],from_address:n,to_address:y}}},vT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:My(y)}],memo:T,signer:n}}},Uf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?vT({assetValue:T,memo:o,sender:n}):bT({assetValue:T,recipient:y,sender:n})},Ho=async(n,y)=>{return(await Co(y)).fromAmino(n)},yC=async({rpcUrl:n,sender:y})=>{let o=await(await sn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var tC=S(()=>{Ly();ET();zn=require("@swapkit/helpers"),wA=an(zn.Chain.THORChain).gas,qA=an(zn.Chain.Maya).gas});var CC=()=>{};var HC=S(()=>{CC()});var jT=S(()=>{kT();tC();ET();HC()});async function iT(n,y){try{let o=(await cT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function KT({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${P.DerivationPath[T.chain]}/${T.index}`;return await qC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[wC.stringToPath(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 GC(n){return async function({signature:T,message:o,address:f}){let t=await n(f);if(!t?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,A=C.Secp256k1??C.default?.Secp256k1,_=H.fromFixedLength(_o.base64.decode(T));return A.verifySignature(_,_o.base64.decode(o),t.pubkey.value)}}function Jy({chain:n,...y}){let T=P.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=P.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[n],{index:o})),t;async function C(){if(t)return t;return t=await Zy.match(y).with({phrase:Zy.P.string},({phrase:X})=>KT({derivationPath:f,phrase:X,prefix:T})).with({signer:Zy.P.any},({signer:X})=>X).otherwise(()=>{return}),t}async function H(X){let W=await P.getRPCUrl(n);return(await sn(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 P.SwapKitError("toolbox_cosmos_signer_not_defined");return _o.base64.encode(W?.pubkey)}async function G(X){let W=await C(),l=await A(),Z=await P.getRPCUrl(n);if(!(W&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await No(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 P.getRPCUrl(n);if(!(W&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await No(Z,W)).signAndBroadcast(l,X.msgs,X.fee,X.memo);if(L.code!==0)throw new P.SwapKitError("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=P.FeeOption.Fast}){let L=await C(),N=await A();if(!(L&&N))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await P.getRPCUrl(n),U=P.AssetValue.from({chain:n}),B=My(U),q=Z||WA((await _C(n,AC[n]))[z],B),Y=await No(J,L),D=to(W.symbol),Q=[{amount:W.getBaseValue("string"),denom:D}],{transactionHash:O}=await Y.sendTokens(N,X,Q,q,l);return O}return{createPrivateKeyFromPhrase:MA(f),createTransaction:IT,fetchFeeRateFromSwapKit:iT,getAccount:H,getAddress:A,getBalance:async(X,W)=>{let l=await UC(n)(X),Z=await Promise.all(l.filter(({denom:z})=>z&&!z.includes("IBC/")&&!([P.Chain.THORChain,P.Chain.Maya].includes(n)&&z.split("-").length>2)).map(({denom:z,amount:L})=>{let N=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(z.includes("/")||z.includes("˜"))?`${n}.${z}`:z;return $T(N,L)}));if(Z.length===0)return[P.AssetValue.from({chain:n})];return Z},getBalanceAsDenoms:UC(n),getFees:()=>_C(n,AC[n]),getPubKey:_,getSignerFromPhrase:({phrase:X,derivationPath:W})=>KT({derivationPath:P.derivationPathToString(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:lC(n),verifySignature:GC(H)}}async function lA(n,y){try{let o=(await cT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function XA({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:BA(n)})}async function _C(n,y){let{chainId:T,baseDecimal:o}=P.getChainConfig(n),f=await iT(T,y);return{average:P.SwapKitNumber.fromBigInt(BigInt(f),o),fast:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fast,!0)),o),fastest:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fastest,!0)),o)}}function WA(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function BA(n){return{[P.Chain.Cosmos]:0.007,[P.Chain.Kujira]:0.02,[P.Chain.Noble]:0.01,[P.Chain.THORChain]:0.02,[P.Chain.Maya]:0.02,[P.Chain.Harbor]:0.02}[n]||0}function lC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=_o.bech32.decode(o);return _o.bech32.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function UC(n){return async function(T){let o=await P.getRPCUrl(n);return(await(await sn(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function MA(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 wC,qC,_o,P,cT,Zy,AC;var wf=S(()=>{Ly();wC=require("@cosmjs/crypto"),qC=require("@cosmjs/proto-signing"),_o=require("@scure/base"),P=require("@swapkit/helpers"),cT=require("@swapkit/helpers/api"),Zy=require("ts-pattern");AC={[P.Chain.Cosmos]:1000,[P.Chain.Kujira]:1000,[P.Chain.Noble]:1000,[P.Chain.THORChain]:5000000,[P.Chain.Maya]:5000000,[P.Chain.Harbor]:5000000}});function LA({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 QA(n){return Uo.base64.encode(n)}function ZA(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 Co(n),w=await zo(),X=await PT(T,{aminoTypes:M,registry:w}),W=[];for(let z of f){let L=await Ho(z,n);W.push(L)}let{signatures:[l]}=await X.sign(G,W,A,_,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await Qy({chain:n,memo:_,msgs:f.map(Ao)}),signature:QA(l)}}}function JA({prefix:n,chain:y}){return async function(o,f,t,C,H){let A=await d.getRPCUrl(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 XC(t,C),l=f.map((L)=>[G(_(Uo.base64.decode(L.pubKey)),n),Uo.base64.decode(L.signature)]),Z=await sn(A),{transactionHash:z}=await Z.broadcastTx(M(W,w,X,H,new Map(l)));return z}}async function XC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(Uo.base64.decode(t))),y,T)}function YA(n){return Uo.base64.decode(n)}async function NA({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(Uo.base64.decode(y),n);return Uo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function hT({chain:n,...y}){let{isStagenet:T}=d.SKConfig.get("envs"),o=d.SKConfig.get("thornodeUrls"),f=n===d.Chain.Maya,t=vo.match({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":""}${d.CosmosChainPrefixes[n]}`,H="index"in y?y.index||0:0,A="derivationPath"in y&&y.derivationPath?y.derivationPath:d.updateDerivationPath(d.NetworkDerivationPath[n],{index:H}),_=Jy({chain:n,...y}),G=an(n),M;function w(){return M??=vo.match(y).with({phrase:vo.P.string},({phrase:L})=>_.getSignerFromPhrase({derivationPath:A,phrase:L})).with({signer:vo.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function X(){let L=await d.getRPCUrl(n),N=await w();if(!N)throw new d.SwapKitError("toolbox_cosmos_no_signer");let J=await zo(),U=await Co(n),B=await No(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 d.SwapKitError("toolbox_cosmos_signer_not_defined");let Y=await B.signAndBroadcast(q,J,L,N);if(Y.code!==0)throw new d.SwapKitError("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 d.RequestClient.get(N);if(!J||Number.isNaN(J)||J<0)throw new d.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:J.toString()});L=new d.SwapKitNumber(J)}catch{L=new d.SwapKitNumber({decimal:d.getChainConfig(n).baseDecimal,value:f?1:0.02})}return{[d.FeeOption.Average]:L,[d.FeeOption.Fast]:L,[d.FeeOption.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 d.SwapKitError("toolbox_cosmos_no_signer");let D="signAmino"in B,Q=Uf({assetValue:L,memo:N,recipient:J,sender:Y});if(D){let k=await Ho(Q,n),{signatures:u,authInfoBytes:j}=await q.sign(Y,[k],G,N),s=U.encode({authInfoBytes:j,bodyBytes:await Qy({chain:n,memo:N,msgs:[Q].map(Ao)}),signatures:u}).finish();return(await q.broadcastTx(s)).transactionHash}let O=Ao(Q),x=await Ho(O,n);return W({fee:G,memo:N,msgs:[x]})}async function z(L){let{signer:N,signingClient:J}=await X(),U=(await N.getAccounts())?.[0]?.address;if(!U)throw new d.SwapKitError("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:JA({chain:n,prefix:C}),buildAminoMsg:Uf,buildEncodedTxBody:Qy,convertToSignable:Ho,createDefaultAminoTypes:()=>Co(n),createDefaultRegistry:zo,createMultisig:XC,createTransaction:VT,deposit:Z,getFees:l,importSignature:YA,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(L,C)},secp256k1HdWalletFromMnemonic:LA({derivationPath:d.derivationPathToString(A),prefix:C}),signAndBroadcastTransaction:W,signMultisigTx:ZA(n),signTransaction:z,signWithPrivateKey:NA,transfer:Z}}var Uo,d,vo;var mT=S(()=>{jT();Ly();wf();Uo=require("@scure/base"),d=require("@swapkit/helpers"),vo=require("ts-pattern")});var wo,zA=(n,y)=>{switch(n){case wo.Chain.Cosmos:case wo.Chain.Kujira:case wo.Chain.Noble:return Jy({chain:n,...y});case wo.Chain.Maya:case wo.Chain.THORChain:return hT({chain:n,...y});default:throw new wo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var WC=S(()=>{wf();mT();wo=require("@swapkit/helpers");wf();mT()});var qf={};Mn(qf,{verifySignature:()=>GC,transferMsgAmino:()=>bT,toBase64:()=>HA,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>GA,getSignerFromPhrase:()=>KT,getMsgSendDenom:()=>to,getFeeRateFromSwapKit:()=>lA,getDenomWithChain:()=>My,getDefaultChainFee:()=>an,getCosmosToolbox:()=>zA,getCosmosAddressValidator:()=>lC,getAssetFromDenom:()=>$T,fromBase64:()=>AA,fetchFeeRateFromSwapKit:()=>iT,estimateTransactionFee:()=>XA,depositMsgAmino:()=>vT,createTransaction:()=>VT,createThorchainToolbox:()=>hT,createStargateClient:()=>sn,createSigningStargateClient:()=>No,createOfflineStargateClient:()=>PT,createDefaultRegistry:()=>zo,createDefaultAminoTypes:()=>Co,createCosmosToolbox:()=>Jy,cosmosCreateTransaction:()=>IT,convertToSignable:()=>Ho,buildTransferTx:()=>fC,buildEncodedTxBody:()=>Qy,buildDepositTx:()=>TC,buildAminoMsg:()=>Uf,bech32ToBase64:()=>Wy,base64ToBech32:()=>By,YUM_KUJIRA_FACTORY_DENOM:()=>g0,USK_KUJIRA_FACTORY_DENOM:()=>uT,THORCHAIN_GAS_VALUE:()=>wA,MAYA_GAS_VALUE:()=>qA,DEFAULT_NOBLE_FEE_MAINNET:()=>s0,DEFAULT_KUJI_FEE_MAINNET:()=>a0,DEFAULT_COSMOS_FEE_MAINNET:()=>d0});module.exports=Jn(qf);var Gf=S(()=>{jT();WC();Ly()});function DA({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function OA({cancels:n}){return{cancels:n,type:"cancel"}}function RA({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function xA({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function FA({modifies:n}){return{modifies:n,type:"batchModify"}}function pA({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function SA({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function kA({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function uA({time:n}){return{time:n,type:"scheduleCancel"}}function PA({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function IA({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 $A({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function EA({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function bA({hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,validator:f,wei:t}){return{hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,type:"tokenDelegate",validator:f,wei:t}}function pn(...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 iA(n,y,T){if(T<y)return new Uint8Array([n+T]);if(T<=255)return new Uint8Array([n+y,T]);if(T<=65535)return new Uint8Array([n+y+1,T>>8,T&255]);return new Uint8Array([n+y+2,T>>>24&255,T>>>16&255,T>>>8&255,T&255])}function qo(n,y){let T=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)T[f]=Number(o&0xffn),o>>=8n;return T}function BC(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 pn(new Uint8Array([205]),qo(n,2));if(n<=0xffffffffn)return pn(new Uint8Array([206]),qo(n,4));return pn(new Uint8Array([207]),qo(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return pn(new Uint8Array([209]),qo(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return pn(new Uint8Array([210]),qo(BigInt.asUintN(32,n),4));return pn(new Uint8Array([211]),qo(BigInt.asUintN(64,n),8))}function QC(n){let y=cA.encode(n);if(y.length<32)return pn(new Uint8Array([160+y.length]),y);return pn(iA(217,0,y.length),y)}function hA(n){let y=n.map((o)=>rT(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 pn(T,...y)}function mA(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 pn(T,...y.flatMap(([o,f])=>[QC(o),rT(f)]))}function rT(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return QC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new lf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return BC(BigInt(n))}if(typeof n==="bigint")return BC(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 pn(y,n)}if(Array.isArray(n))return hA(n);if(typeof n==="object")return mA(n);throw new lf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function rA(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new lf.SwapKitError("helpers_invalid_params",{hexValue:n});let T=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)T[o/2]=Number.parseInt(y.slice(o,o+2),16);return T}function ZC(n){return{domain:vA,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...VA.Agent]}}}function JC(n){let y=KA[n.type],T=jA[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:MC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||LC},primaryType:y,types:{[y]:T}}}function YC(n){let y=Xf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function NC(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=rT(n),t=qo(BigInt(y),8),C=o?pn(new Uint8Array([1]),rA(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?pn(new Uint8Array([0]),qo(BigInt(T),8)):new Uint8Array;return Xf.keccak256(pn(f,t,C,H))}function zC(n){let y=n.hyperliquidChain||LC;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 lf,Xf,MC="0x0000000000000000000000000000000000000000",vA,VA,LC="Mainnet",jA,KA,cA;var DC=S(()=>{lf=require("@swapkit/helpers"),Xf=require("ethers"),vA={chainId:1337,name:"Exchange",verifyingContract:MC,version:"1"},VA={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},jA={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},KA={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},cA=new TextEncoder});function $n(n,y){if(!aT(n))throw new e.SwapKitError(y,{address:n});return n.toLowerCase()}async function Do(n){let y=await Wf();return e.RequestClient.post(`${y}/info`,{json:n})}function o_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function y_({user:n}){return Do({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function f_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function T_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function t_({oidOrCloid:n,user:y}){return Do({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function C_({aggregateByTime:n,user:y}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function H_({aggregateByTime:n,endTime:y,startTime:T,user:o}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function OC({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=gA[f]||FC,C=o?.tokens?.find((A)=>A.name===n||y!==void 0&&A.index===Number(y)),H=C?`${mn}.${f}-${C.name}:${C.tokenId}`:`${mn}.${f}`;return new e.AssetValue({decimal:t,identifier:H,value:T})}function A_(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=e.AssetValue.from({chain:mn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Wf(){try{return await e.getRPCUrl(mn)}catch{let[n]=e.getChainConfig(mn).rpcUrls;if(!n)throw new e.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:mn});return n}}async function dT(){return`${await Wf()}/exchange`}function __(n){let y=n_[n.type],{type:T,...o}=n,f=eA[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:sA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function pC({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?$n(o,"helpers_invalid_params"):void 0,C=await dT(),H=NC(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:ZC(H),vaultAddress:t}}async function SC({action:n,nonce:y,signatureChainId:T}){let o=y||n.nonce||Date.now(),f=T||n.signatureChainId||"0xa4b1",t=zC({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await dT(),nonce:o,typedData:JC(t)}}async function gT({assetValue:n,recipient:y,sender:T,signatureChainId:o,time:f}){let t=$n(y,"core_transaction_invalid_recipient_address"),C=$n(T,"core_transaction_invalid_sender_address"),H=await dT(),A=n.getValue("string"),_=f||Date.now(),G=n.address;if(!G)throw new e.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:A,destination:t,hyperliquidChain:dA,signatureChainId:o||aA,time:_,token:G,type:"spotSend"};return{action:M,endpoint:H,nonce:_,typedData:__(M)}}async function RC(n){let y=await e.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new e.SwapKitError("core_transaction_failed",{response:y});return y}async function U_(n,y){let T=await Wf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((t)=>setTimeout(t,1000));try{let t=await e.RequestClient.post(`${T}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(t)?t.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function aT(n){return n.startsWith("0x")&&wy(n)}function w_(n){let y=xn(mn),T=n&&"index"in n?n.index||0:0,o=e.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[mn],{index:T})),f,t=!1;function C(){if(t)return f;return f=Vo.match(n).with({phrase:Vo.P.string},({phrase:w})=>{return xC.HDNodeWallet.fromPhrase(w,void 0,o)}).with({signer:Vo.P.not(Vo.P.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 e.SwapKitError("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:YC(W),..."expiresAfter"in w?{expiresAfter:w.expiresAfter}:{},..."vaultAddress"in w?{vaultAddress:w.vaultAddress}:{}}}async function _(w){let X=$n(w,"helpers_invalid_params");try{let W=await Wf(),[l,Z,z]=await Promise.all([e.RequestClient.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:X}}),e.RequestClient.post(`${W}/info`,{json:{type:"clearinghouseState",user:X}}),e.RequestClient.post(`${W}/info`,{json:{type:"spotMeta"}})]),L=(l.spotState?.balances||l.balances||[]).map(({coin:J,token:U,total:B})=>OC({coin:J,spotMeta:z,token:U,value:B})).filter((J)=>!!J),N=OC({coin:"USDC",spotMeta:z,value:Z.withdrawable||Z.marginSummary?.accountValue||Z.marginSummary?.totalRawUsd});return A_(N?[...L,N]:L)}catch{return y(X)}}async function G(w){let X=C();if(!X)throw new e.SwapKitError("toolbox_hypercore_no_signer");let W=w.sender||await X.getAddress(),l=await gT({...w,feeRate:0,sender:W}),Z=await A(l);return await RC(Z),U_(W,l.nonce)}function M(){return e.AssetValue.from({chain:mn,value:0})}return{broadcastTransaction:RC,createL1ActionRequest:pC,createTransaction:gT,createUserSignedActionRequest:SC,estimateTransactionFee:M,getAddress:H,getBalance:_,getState:{clearinghouse:o_,frontendOpenOrders:T_,openOrders:f_,orderStatus:t_,spotClearinghouse:y_,userFills:C_,userFillsByTime:H_},signTransaction:A,transfer:G,validateAddress:aT}}var e,xC,Vo,mn,FC,gA,dA="Mainnet",aA="0xa4b1",sA="0x0000000000000000000000000000000000000000",eA,n_;var kC=S(()=>{RT();dn();DC();e=require("@swapkit/helpers"),xC=require("ethers"),Vo=require("ts-pattern"),mn=e.Chain.HyperCore,{baseDecimal:FC}=e.getChainConfig(mn),gA={HYPE:FC,USDC:6,USDT:6},eA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},n_={spotSend:"HyperliquidTransaction:SpotSend"}});var sT={};Mn(sT,{validateHyperCoreAddress:()=>aT,getHyperCoreToolbox:()=>w_,createUserSignedActionRequest:()=>SC,createTransaction:()=>gT,createL1ActionRequest:()=>pC,buildUsdClassTransferAction:()=>PA,buildUpdateLeverageAction:()=>pA,buildUpdateIsolatedMarginAction:()=>SA,buildTopUpIsolatedOnlyMarginAction:()=>kA,buildTokenDelegateAction:()=>bA,buildSendAssetAction:()=>IA,buildScheduleCancelAction:()=>uA,buildOrderAction:()=>DA,buildModifyAction:()=>xA,buildCancelByCloidAction:()=>RA,buildCancelAction:()=>OA,buildBatchModifyAction:()=>FA,buildApproveBuilderFeeAction:()=>EA,buildApproveAgentAction:()=>$A});module.exports=Jn(sT);var eT=S(()=>{kC()});async function IC(n){let y=r.AssetValue.from({address:n,chain:r.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let T=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(T);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function q_(n){let y=await en(),{PublicKey:T}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new T(n),{baseDecimal:t}=r.getChainConfig(r.Chain.Solana),C=await y.getBalance(f),H=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:t,value:C||0})],A=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:_}of A.value){let G=_.data.parsed.info,M=G.mint,w=G.tokenAmount.amount;if(Number(w)===0)continue;let X=await IC(M),W=X?.symbol||"UNKNOWN",l=X?.decimals||G.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${W}-${M}`,fromBaseDecimal:l,value:w}))}return H}function ot(n){try{let y=new no.PublicKey(n);return no.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function G_(n){let y=n&&"index"in n?n.index||0:0,T=r.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Yy.match(n).with({phrase:Yy.P.string},({phrase:C})=>nt({derivationPath:T,phrase:C})).with({signer:Yy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?PC(C.publicKey):""}return{broadcastTransaction:Bf(en),createKeysForPath:nt,createTransaction:yt(en),createTransactionFromInstructions:B_,estimateTransactionFee:l_(en),getAddress:t,getAddressFromPubKey:PC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:q_,getConnection:en,getPubkeyFromAddress:(C)=>new no.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await uC(en,f)(C);return Bf(en)(H)},signTransaction:uC(en,f),transfer:M_(en,f),validateAddress:ot}}function l_(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),A=(await yt(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),_=await C.getFeeForMessage(A);if(_.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:G}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:G,value:_.value})}}async function en(){let{Connection:n}=await import("@solana/web3.js"),y=await r.getRPCUrl(r.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(T,o,f)=>{let t={};for(let[C,H]of Object.entries(o?.headers??{})){let A=C.toLowerCase();if(A!=="pragma"&&A!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function X_(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new no.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:A}=await import("@solana/web3.js");return new H().add(A.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new no.PublicKey(T)}))}if(y.address)return W_({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function W_({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.PublicKey(n),W=await H(X,T),l=new no.PublicKey(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 yt(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new no.PublicKey(t);if(!(f||ot(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let A=await n(),_=await X_(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!_)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)_.add(C(o));let G=await A.getLatestBlockhash();return _.recentBlockhash=G.blockhash,_.feePayer=H,_}}async function B_({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),T=new y().add(...n);if(!T)throw new r.SwapKitError("core_transaction_invalid_sender_address");return T}function M_(n,y){return async({recipient:T,assetValue:o,memo:f,isProgramDerivedAddress:t})=>{let C=await y();if(!C)throw new r.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),A=await yt(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let _=await C.signTransaction(A);return Bf(n)(_)}return A.sign(C),Bf(n)(A)}}function Bf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function uC(n,y){return async(T)=>{let o=await y();if(!o)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(T instanceof f)){let C=await(await n()).getLatestBlockhash();T.recentBlockhash=C.blockhash,T.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(T);return T.sign([o]),T}}async function nt({phrase:n,derivationPath:y=r.DerivationPath.SOL}){let{HDKey:T}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),t=o(n),C=T.fromMasterSeed(t);return f.fromSeed(C.derive(y,!0).privateKey)}function PC(n){return n.toString()}var no,r,Yy;var $C=S(()=>{dn();no=require("@solana/web3.js"),r=require("@swapkit/helpers"),Yy=require("ts-pattern")});var ft={};Mn(ft,{validateSolanaAddress:()=>ot,getSolanaToolbox:()=>G_,fetchTokenMetaData:()=>IC,createKeysForPath:()=>nt});module.exports=Jn(ft);var Tt=S(()=>{$C()});function Mf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Lf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:t,encode:C,CallData:H}=await import("starknet"),A=o(n),G=T.fromMasterSeed(A).derive(y);if(!G.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(G.privateKey).toString("hex")),w=f.starkCurve.grindKey(M),X=C.addHexPrefix(w),W=f.starkCurve.getStarkKey(X),l=H.compile([W,0]);return{address:t.calculateContractAddressFromHash(W,Ct,l,0),privateKey:X,publicKey:W}}async function Ht({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Lf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new T({address:t,provider:H,signer:f})}function bC(n){let y=c.Chain.Starknet,T=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:T})),f,t,C;async function H(){if(t)return t;let{RpcProvider:U}=await import("starknet"),B=await c.getRPCUrl(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 c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await A())return Y.address;let Q=U.compile([C,0]);if(B.calculateContractAddressFromHash(C,Ct,Q,0).toLowerCase()!==Y.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let x={addressSalt:C,classHash:Ct,constructorCalldata:Q},{transaction_hash:k}=await Y.deployAccount(x);return await q.waitForTransaction(k),k}async function G(){if(!await A()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await _()}}async function M(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:U})=>{let{Account:B,RpcProvider:q}=await import("starknet"),{privateKey:Y,address:D,publicKey:Q}=await Lf({derivationPath:o,phrase:U});C=Q;let O=await c.getRPCUrl(c.Chain.Starknet),x=new q({nodeUrl:O});return new B({address:D,provider:x,signer:Y})}).with({address:En.P.string,privateKey:En.P.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:En.P.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=[tt,EC];for(let O of Q)try{let[x="0",k="0"]=await B.callContract({calldata:Y.compile({account:U}),contractAddress:O,entrypoint:"balanceOf"}),u=q.uint256ToBN({high:x,low:k});En.match(O).with(tt,()=>{D.push(c.AssetValue.from({chain:y,value:u}))}).with(EC,()=>{if(u>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${O}`,value:u}))}).otherwise(()=>{})}catch{}return D}async function W({recipient:U,assetValue:B}){let{CallData:q,uint256:Y}=await import("starknet");if(!Mf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let D=B.isGasAsset?tt:B.address;if(!D)throw new c.SwapKitError("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}=c.getChainConfig(c.Chain.Starknet),D=await M(),Q=await En.match({sender:q,signer:D}).with({sender:En.P.string},async({sender:O})=>{let{Account:x}=await import("starknet"),k=await H();return new x({address:O,provider:k,signer:"0x0"})}).with({signer:En.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await W({assetValue:B,recipient:U}),x=await Q.estimateInvokeFee(O);if(x?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Y,value:x.overall_fee})}catch(O){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function Z({recipient:U,assetValue:B,memo:q}){let Y=await M();if(!Y)throw new c.SwapKitError("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 c.SwapKitError("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 c.SwapKitError("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 xn(y)(U,B)}catch{return X(U)}}return{broadcastTransaction:L,createKeysForPath:Ht,createTransaction:W,deployAccount:_,estimateTransactionFee:l,getAddress:w,getBalance:J,getProvider:H,isAccountDeployed:A,signAndBroadcastTransaction:N,signMessage:z,transfer:Z,validateAddress:Mf}}var c,En,tt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",EC="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ct="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var vC=S(()=>{dn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Qf={};Mn(Qf,{validateStarknetAddress:()=>Mf,starknetCreateKeysForPath:()=>Ht,getStarknetToolbox:()=>bC,deriveStarknetKeys:()=>Lf});module.exports=Jn(Qf);var Zf=S(()=>{vC()});async function KC(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?KC(n,y,T,C,t.nextCursor):C}function L_(n,y,T){let o=y.reduce((A,_)=>A+BigInt(_.balance),0n);if(o<T)throw new yn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((A,_)=>{if(A.total>=T)return A;return{ids:[...A.ids,_.coinObjectId],total:A.total+BigInt(_.balance)}},{ids:[],total:0n}),t=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(t,C);let[H]=n.splitCoins(t,[T]);return H}function cC(n){try{return jC.isValidSuiAddress(n)}catch{return!1}}function VC(n){return"signWithIntent"in n}function Q_({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await Ny.match(y).with({phrase:Ny.P.string},async({phrase:W})=>{let{Ed25519Keypair:l}=await import("@mysten/sui/keypairs/ed25519");return l.deriveKeypair(W)}).with({signer:Ny.P.any},({signer:W})=>W).otherwise(()=>{return}),T}async function f(W=n){let{SuiClient:l,getFullnodeUrl: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=yn.AssetValue.from({address:W,chain:yn.Chain.Sui});return{asset:l.toString(),decimals:l.decimal}}catch{}return null}async function H(W){let l=W||await t();if(!l)throw new yn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Z,chain:z}=yn.getChainConfig(yn.Chain.Sui);try{let L=await f(),{totalBalance:N}=await L.getBalance({owner:l}),J=[yn.AssetValue.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(yn.AssetValue.from({asset:Y.asset,fromBaseDecimal:Y.decimals,value:q}))}return J}catch{return[yn.AssetValue.from({chain:z})]}}async function A(W){let l=yn.AssetValue.from({chain:yn.Chain.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 yn.AssetValue.from({chain:yn.Chain.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 yn.SwapKitError("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 yn.SwapKitError("toolbox_sui_missing_coin_type");let Y=await f(),D=l.getBaseValue("bigint"),Q=await KC(Y,N,q);if(!Q.length)throw new yn.SwapKitError("toolbox_sui_no_coins_found",{coinType:q});let O=L_(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 yn.SwapKitError)throw J;throw new yn.SwapKitError("toolbox_sui_transaction_creation_error",{error:J})}}async function G(W){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");if(W instanceof Uint8Array)return l.signTransaction(W);let{txBytes: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 yn.SwapKitError("toolbox_sui_no_signer");let L=z.toSuiAddress()||await t();if(!L)throw new yn.SwapKitError("toolbox_sui_no_sender");let{txBytes:N}=await _({assetValue:W,gasBudget:l,recipient:Z,sender:L}),J=await f();if(!VC(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 yn.SwapKitError("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(!VC(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:cC}}var jC,yn,Ny;var iC=S(()=>{jC=require("@mysten/sui/utils"),yn=require("@swapkit/helpers"),Ny=require("ts-pattern")});var Jf={};Mn(Jf,{validateSuiAddress:()=>cC,getSuiToolbox:()=>Q_});module.exports=Jn(Jf);var Yf=S(()=>{iC()});async function z_(){let n=Date.now();if(Nf&&n-mC<N_)return Nf;try{return Nf=await rC.getHttpEndpoint(),mC=n,Nf}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function D_(n={}){let y,T,o;async function f(){if(!y){let J=n.provider??await z_();y=new h.TonClient({endpoint:J})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Oo.match(n).with({phrase:Oo.P.string},async({phrase:J})=>gC.mnemonicToWalletKey(J.split(" "))).with({signer:Oo.P.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 qn.SwapKitError("core_wallet_connection_not_found");let Y=h.WalletContractV4.create({publicKey:q.publicKey,workchain:0});T=B.open(Y)}return T}let A=xn(qn.Chain.Ton);async function _({assetValue:J,recipient:U,memo:B,sender:q}){if(J.isGasAsset){let s=B?N(B).toBoc().toString("base64"):void 0;return[{address:U,amount:J.getBaseValue("string"),payload:s}]}let Y=J.address;if(!Y)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:J.toString()}});let D=q??await t(),Q=await z({jettonMasterAddress:Y,ownerAddress:D}),O=h.Address.parse(U),x=h.Address.parse(D),k=J.getBaseValue("bigint"),u=B?N(B):void 0,j=L({destinationAddress:O,forwardPayload:u,jettonAmount:k,responseAddress:x});return[{address:Q.toString(),amount:Y_.toString(),payload:j.toBoc().toString("base64")}]}function G({sender:J,...U}){return _({...U,sender:J})}function M(J){return J.map((U)=>{let B=U.payload?h.Cell.fromBase64(U.payload):void 0,q=U.stateInit?h.loadStateInit(h.Cell.fromBase64(U.stateInit).asSlice()):void 0,Y=h.Address.parse(U.address),D=h.Address.isFriendly(U.address)?h.Address.parseFriendly(U.address).isBounceable:!0;return h.internal({body: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 qn.SwapKitError("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:hC,seqno:Q}),x=h.external({body:O,init:D?void 0:B.init,to:B.address});return h.beginCell().store(h.storeMessage(x)).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}=qn.getChainConfig(qn.Chain.Ton),q=await Oo.match(J).with(Oo.P.string,(Q)=>{return h.Address.parseFriendly(Q).address}).otherwise(async()=>{return(await H()).address});if(!q)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let Y=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),D=await f();try{let Q=await G({sender:J,...U}),O=await C(),x=await H();if(!x||!O)return Y;let k=await x.getSeqno(),u=x.createTransfer({messages:M(Q),secretKey:O.secretKey,sendMode:hC,seqno:k}),{source_fees:j}=await D.estimateExternalMessageFee(q,{body:u,ignoreSignature:!0,initCode:null,initData:null}),s=j.in_fwd_fee+j.storage_fee+j.gas_fee+j.fwd_fee;return Y.set(qn.SwapKitNumber.fromBigInt(BigInt(s),B))}catch{return Y}}async function z({jettonMasterAddress:J,ownerAddress:U}){try{let B=await f(),q=h.Address.parse(J),Y=h.Address.parse(U);return await B.open(h.JettonMaster.create(q)).getWalletAddress(Y)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:J,ownerAddress:U}})}}function L({jettonAmount:J,destinationAddress:U,responseAddress:B,forwardAmount:q=J_,forwardPayload:Y}){let D=h.beginCell().storeUint(Z_,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 h.beginCell().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:dC}}function dC(n){try{return h.Address.parse(n),!0}catch{return!1}}var rC,qn,gC,h,Oo,Z_=260734629,J_,Y_,hC,N_=60000,Nf,mC=0;var aC=S(()=>{dn();rC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),gC=require("@ton/crypto"),h=require("@ton/ton"),Oo=require("ts-pattern"),J_=h.toNano("0.01"),Y_=h.toNano("0.05"),hC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var zf={};Mn(zf,{validateTonAddress:()=>dC,getTONToolbox:()=>D_});module.exports=Jn(zf);var Df=S(()=>{aC()});function bn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function Go({accountIndex:n,chain:y,derivationPath:T}){if(n!==void 0)bn("accountIndex",n);let o=[...T?.slice(0,3)??sC.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function jo({accountIndex:n,change:y=!1,chain:T,derivationPath:o,index:f}){return bn("index",f),[...Go({accountIndex:n,chain:T,derivationPath:o}),Number(y),f]}function Ro(n){return n[2]??0}function eC({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:A,count:_,startIndex:G=0,change:M=!1}=H;if(bn("count",_),_<1)throw RangeError("count must be at least 1");bn("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 sC;var zy=S(()=>{sC=require("@swapkit/helpers")});async function O_({chain:n,txHash:y}){let T=`${Dy(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await K.RequestClient.post(T,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let t=await K.getRPCUrl(n);if(t){let C=JSON.stringify({id:q0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await K.RequestClient.post(t,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Dy(n){return`https://api.blockchair.com/${R_(n)}`}function n1(n){switch(n){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function R_(n){switch(n){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function x_(n){try{let{feePerKb:y}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),T=y/1000;return Math.max(T,n1(n))}catch{return n1(n)}}async function Of(n,y){let T=await K.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!T||T.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return T.data}async function y1({address:n,chain:y,apiKey:T}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Of(`${Dy(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function F_({address:n,chain:y,apiKey:T}){return(await y1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function f1({chain:n,apiKey:y,txHash:T}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Of(`${Dy(n)}/raw/transaction/${T}`,y))?.[T]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function S_({chain:n,apiKey:y,txHash:T}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Of(`${Dy(n)}/dashboards/transaction/${T}`,y))?.[T];if(!f)throw new K.SwapKitError("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<p_);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 k_({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await Of(`${Dy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,T)).map(({is_spent:A,script_hex:_,block_id: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 u_(n){return n.reduce((y,T)=>y+T.value,0)}function o1(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 T1({chain:n,address:y,apiKey:T,targetValue:o,accumulativeValue:f=0,offset:t=0,limit:C=30}){if(!y)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await k_({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),_=H.length<C,G=H.filter(({is_spent:Z})=>!Z),M=u_(G),w=f+M,X=o&&w>=o;if(_||X)return o1(G,o);let W=await T1({accumulativeValue:w,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),l=[...G,...W];return o1(l,o)}catch(H){let A=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${A}`),[]}}async function P_({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await T1({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 f1({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 Qn(n){let y=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(T)=>O_({chain:n,txHash:T}),getAddressData:(T)=>y1({address:T,apiKey:y,chain:n}),getBalance:(T)=>F_({address:T,apiKey:y,chain:n}),getRawTx:(T)=>f1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>x_(n),getTransactionDetails:(T)=>S_({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>P_({...T,apiKey:y,chain:n})}}function I_(n){return n}function $_(){return function(y){switch(y){case K.Chain.Bitcoin:return xo.NETWORKS.bitcoin;case K.Chain.BitcoinCash:return xo.NETWORKS.bitcoinCash;case K.Chain.Dash:return xo.NETWORKS.dash;case K.Chain.Litecoin:return xo.NETWORKS.litecoin;case K.Chain.Dogecoin:return xo.NETWORKS.dogecoin;case K.Chain.Zcash:return xo.NETWORKS.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var K,xo,p_=4294967294;var t1=S(()=>{dn();K=require("@swapkit/helpers"),xo=require("@swapkit/utxo-signer")});function v_(n,y,T){return oo.encodeCashAddr({hash:T,prefix:n,type:E_[y]})}function V_(n){let y=oo.decodeCashAddr(n),T=b_[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var oo,E_,b_,At;var C1=S(()=>{oo=require("@swapkit/utxo-signer"),E_={P2PKH:oo.CashAddrType.P2PKH,P2SH:oo.CashAddrType.P2SH},b_={[oo.CashAddrType.P2PKH]:"P2PKH",[oo.CashAddrType.P2SH]:"P2SH"};At={decode:V_,encode:v_}});function wt(n){try{return Rf(n),!0}catch{return!1}}function qt(n){return Rf(n)?.network}function yo(n){let y=Rf(n);if(y?.format==="legacy")return n;return c_(y)}function Oy(n){let y=Rf(n);return i_(y)}function Rf(n){try{let y=j_(n);if(y)return y}catch{}try{let y=K_(n);if(y)return y}catch{}throw new _t.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function j_(n){try{let y=U1.decode(n);if(y.length!==21)throw new _t.SwapKitError("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case Fo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case Fo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case Fo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case Fo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case Fo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case Fo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function K_(n){if(n.indexOf(":")!==-1)try{return H1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return H1(`${T}:${n}`)}catch{}}return}function H1(n){try{let{hash:y,prefix:T,type:o}=At.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 c_(n){let y=Fo.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),U1.encode(T)}function i_(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return At.encode(y,T,o)}var A1,_1,_t,U1,Ut,Fo;var w1=S(()=>{C1();A1=require("@noble/hashes/sha2.js"),_1=require("@scure/base"),_t=require("@swapkit/helpers"),U1=_1.createBase58check(A1.sha256);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(Ut||={});Fo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function kn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return G1.Script.encode(["RETURN",y])}var q1,G1,h_=1000,Ff=10,pf=2,l1=10,m_=41,r_=107,Sf,xf,Ry,Ko=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new q1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},po=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",t=(T?n.filter((_)=>_.value>=xf["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(T)):n).reduce((_,G)=>_+lo(G),0),C=y?.reduce((_,G)=>_+xy(G),0)||Ry[o],H=Ff+t+C;return o==="P2WPKH"?Math.ceil(H+pf/4):H},lo=(n)=>{if("type"in n&&n.type)return xf[n.type];if("address"in n&&n.address)return xf[Ko(n.address)];return m_+r_},xy=(n,y)=>{if(n?.script)return l1+n.script.length+(n.script.length>=74?2:1);if(y)return Ry[y];if("address"in n&&n.address)return Ry[Ko(n.address)];return Ry.P2PKH};var Gt=S(()=>{q1=require("@swapkit/helpers"),G1=require("@swapkit/utxo-signer");((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(Sf||={});xf={["P2PKH"]:148,["P2WPKH"]:68},Ry={["P2PKH"]:34,["P2WPKH"]:31}});function Fy(n){switch(n){case rn.Chain.Bitcoin:case rn.Chain.BitcoinCash:return 550;case rn.Chain.Dash:case rn.Chain.Litecoin:return 5500;case rn.Chain.Dogecoin:return 1e5;case rn.Chain.Zcash:return 546;default:throw new rn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:T=1,chain:o=rn.Chain.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",C=n.filter((W)=>lo(W)*T<=W.value),A=t==="P2WPKH"?Math.ceil(pf/4):0,_=Ff+A+y.reduce((W,l)=>W+xy(l),0),G=y.reduce((W,l)=>W+l.value,0),M=_*T,w=0,X=[];for(let W of C){let l=lo(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*xy({address:f,value:0});if(L>N){let J=N+M,U=w-(G+Math.ceil(J));if(U>Math.max(lo({value:0})*T,Fy(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*po({inputs:n,outputs:y}))}}var rn;var X1=S(()=>{Gt();rn=require("@swapkit/helpers")});var co=S(()=>{t1();w1();X1();Gt()});function So(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Xo(n){let y=So(n);return wt(y)&&qt(y)==="mainnet"}function io(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=kf.Address(kf.ZCASH_NETWORK).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var kf;var py=S(()=>{co();kf=require("@swapkit/utxo-signer")});function Wt({address:n,chain:y}){return Xt.match(y).with(F.Chain.BitcoinCash,()=>Xo(n)).with(F.Chain.Zcash,()=>io(n)).otherwise(()=>{try{return m.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return Xt.match(n).with(F.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(F.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(F.Chain.Dash,()=>m.NETWORKS.dash).with(F.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(F.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(F.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function g_({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Pf.mnemonicToSeedSync(n),C=lt.HDKey.fromMasterSeed(f,T.bip32).derive(y);if(!C.privateKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function W1(n){return B1.secp256k1.getPublicKey(n,!0)}function ky({publicKey:n,chain:y,network:T}){if(y===F.Chain.BitcoinCash){let t=m.p2pkh(n,T);if(!t.hash)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return m.encodeCashAddr({hash:t.hash,prefix:m.CashAddrPrefix.MAINNET,type:m.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!Sy.includes(y)?m.p2wpkh(n,T):m.p2pkh(n,T);if(!f.address)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function ho({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=Dn(T);if(o){let _=m.WIF(t).decode(o),G=W1(_);return{privateKey:_,publicKey:G}}if(!n)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||F.derivationPathToString(F.NetworkDerivationPath[T]),H=g_({derivationPath:C,network:t,phrase:n,seed:f}),A=W1(H);return{privateKey:H,publicKey:A}}function d_(n,y){return m.WIF(Dn(y)).encode(n)}function a_({phrase:n,derivationPath:y,chain:T,seed:o}){let f=y.split("/");if(f.length<4)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let t=Dn(T),C=o??Pf.mnemonicToSeedSync(n),H=lt.HDKey.fromMasterSeed(C,t.bip32),A=f.slice(0,4).join("/");return H.derive(A)}function Bo({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=Dn(T),A=!Sy.includes(T),_=C?m.RBF_SEQUENCE:void 0,G=new Set;for(let M of n){let w=`${M.hash}:${M.index}`;if(G.has(w))throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(w);let X=typeof M.hash==="string"?Wo.hex.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:Wo.hex.decode(M.txHex),sequence:_,txid:X,...T===F.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let w="address"in M&&M.address?M.address:f;if(T===F.Chain.BitcoinCash)w=yo(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 mo(n){let y=await Qn(n).getSuggestedTxFee();return{[F.FeeOption.Average]:y,[F.FeeOption.Fast]:F.applyFeeMultiplier(y,F.FeeOption.Fast),[F.FeeOption.Fastest]:F.applyFeeMultiplier(y,F.FeeOption.Fastest)}}async function M1({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await mo(t))[F.FeeOption.Fastest],H=f||Sy.includes(t),A=n.getBaseValue("number"),_=Math.ceil(A+C*5000);return{inputs:await Qn(t).getUtxos({address:o,fetchTxHex:H,targetValue:_}),outputs:[{address:y,value:A},...T?[{address:"",script:kn(T),value:0}]:[]]}}async function L1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,A=T?kn(T):null,_=await M1({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:G,outputs:M}=vn({..._,chain:H,feeRate:o});if(!(G&&M))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:X,tx:W}=Bo({chain:H,compiledMemo:A,enableRBF:C,inputs:G,outputs:M,sender:f,tx:w});return{inputs:X,tx:W,utxos:_.inputs}}async function Q1({assetValue:n,feeOptionKey:y=F.FeeOption.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await M1({assetValue:n,memo:o,recipient:t,sender:f}),A=T?Math.floor(T):(await mo(C))[y];return vn({...H,chain:C,feeRate:A})}function s_(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=F.FeeOption.Fast,recipients:C=1}){let H=await Qn(n).getAddressData(T),A=f?Math.ceil(f):(await mo(n))[t],_=H?.utxo.map((l)=>({...l,hash:"",type:"P2PKH"})).filter((l)=>l.value>Math.max(Fy(n),lo(l)*A));if(!_?.length)return F.AssetValue.from({chain:n});let G=BigInt(_.reduce((l,Z)=>l+Z.value,0)),M=F.AssetValue.from({chain:n,value:G}),w=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)w.push({address:T,script:kn(o),value:0});let X=po({inputs:_,outputs:w}),W=F.AssetValue.from({chain:n,value:BigInt(X*A)});return M.sub(W)}}function e_(n){return async function(T){let{fee:o}=await Q1(T);return F.AssetValue.from({chain:n,value:F.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function n5({chain:n,phrase:y,derivationPath:T,seed:o}){let f=Dn(n),{privateKey:t,publicKey:C}=ho({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>ky({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(A)=>{return A.sign(t,H),A}}}function o5(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 F.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});F.warnOnce({condition:A&&!uf.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let G=A&&uf.includes(n),M=C||(await mo(n))[t||F.FeeOption.Fast],{tx:w}=await L1({assetValue:H,enableRBF:G,feeRate:M,memo:o,recipient:f,sender:_});return y.signTransaction(w),w.finalize(),Qn(n).broadcastTx(Wo.hex.encode(w.extract()))}}function Bt(n){return(y)=>Wt({address:y,chain:n})}function Mt(n){let y=Dn(n);return function(o){if(!o)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return ky({chain:n,network:y,publicKey:o.publicKey})}}function Mo({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Pf.mnemonicToSeedSync(T):void 0,t="derivationPath"in y&&y.derivationPath?y.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[n],{index:o}),C=F.derivationPathToString(t),H=T?n5({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,A="signer"in y?y.signer:void 0,_=T?ho({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=Go({accountIndex:q,chain:n,derivationPath:t});return a_({chain:n,derivationPath:F.derivationPathToString(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=Go({accountIndex:q,chain:n,derivationPath:t});return{accountIndex:Ro(D),path:F.derivationPathToString(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=jo({accountIndex:q,chain:n,change:D,derivationPath:t,index:Y}),x=Dn(n),k=Q.deriveChild(Number(D)).deriveChild(Y);if(!k.publicKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let u=ky({chain:n,network:x,publicKey:k.publicKey}),j=Wo.hex.encode(k.publicKey);return{accountIndex:Ro(O),address:u,change:D,index:Y,path:F.derivationPathToString(O),pubkey:j}}async function Z(q){if(!uf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let Y=await Qn(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(!uf.includes(n))throw new F.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let O=await Qn(n).getTransactionDetails(q);if(!O.isRBF)throw new F.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(O.confirmed)throw new F.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:O.blockId,txid:q});let x=O.inputs.reduce((Xn,In)=>Xn+In.value,0),u=O.outputs.find((Xn)=>Xn.recipient===D)?.value||0;if(u===0)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let j=await Promise.all(O.inputs.map(async(Xn)=>{let In=await Qn(n).getRawTx(Xn.transaction_hash);return{hash:Xn.transaction_hash,index:Xn.index,txHex:In,value:Xn.value,witnessUtxo:void 0}})),s=Q?kn(Q):null,Tn=po({feeRate:Y,inputs:j.map((Xn)=>({...Xn,type:"P2WPKH"})),outputs:[{address:D,value:u}]}),on=Math.ceil(Tn*Y);if(on<=O.fee)throw new F.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:on,originalFee:O.fee});let Zn=on-O.fee,Bn=u-Zn;if(Bn<=0)throw new F.SwapKitError("toolbox_utxo_rbf_insufficient_change");let On=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Kn=[{address:D,value:Bn},...Q?[{address:"",script:kn(Q),value:0}]:[]],cn=x-Bn-on,Rn=await G();if(cn>Fy(n)&&Rn)Kn.push({address:Rn,value:cn});return Bo({chain:n,compiledMemo:s,inputs:j,outputs:Kn,sender:Rn||D,tx:On}),{feeDelta:Zn,newFee:on,originalFee:O.fee,tx:On}}async function L({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");let{tx:O,originalFee:x,newFee:k}=await z({memo:Q,newFeeRate:Y,recipient:D,txid:q});H.signTransaction(O),O.finalize();let u=await Qn(n).broadcastTx(Wo.hex.encode(O.extract()));return{newFee:k,originalFee:x,txid:u}}function N({accountIndex:q,index:Y,change:D=!1}){bn("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 F.SwapKitError("toolbox_utxo_no_signer");let D=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let Q=0;Q<Y.length;Q++){let O=Y[Q];if(!O)continue;let{derivationIndex:x,isChange:k}=O,u=N({change:k,index:x});if(!u)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${Q} at index ${x}`});q.signIdx(u,Q,D)}return q}async function U({utxos:q,recipient:Y,assetValue:D,memo:Q,feeRate:O,feeOptionKey:x,changeAddress:k}){if(!w)throw new F.SwapKitError("toolbox_utxo_no_signer");let u=O||(await mo(n))[x||F.FeeOption.Fast],j=Q?kn(Q):null,s=[{address:Y,value:D.getBaseValue("number")}];if(j)s.push({address:"",script:j,value:0});let Tn=q.map(({hash:Rn,index:Xn,value:In,txHex:zH,witnessUtxo:fT})=>({hash:Rn,index:Xn,txHex:zH,value:In,witnessUtxo:fT?{script:fT.script,value:fT.value}:void 0})),{inputs:on,outputs:Zn}=vn({chain:n,feeRate:u,inputs:Tn,outputs:s});if(!(on&&Zn))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:D,sender:"multiple addresses"});let Bn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),On=q[0]?.address,Kn=k||await G()||On||Y;Bo({chain:n,compiledMemo:j,inputs:on,outputs:Zn,sender:Kn,tx:Bn});let cn=on.map((Rn)=>{let Xn=q.find((In)=>In.hash===Rn.hash&&In.index===Rn.index);return Xn?{derivationIndex:Xn.derivationIndex,isChange:Xn.isChange}:{derivationIndex:0,isChange:!1}});return J({inputDerivations:cn,tx:Bn}),Bn.finalize(),Qn(n).broadcastTx(Wo.hex.encode(Bn.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}),x=Q?.address===q?!1:O?.address===q;if(Q?.address===q||O?.address===q)return{change:x,index:D}}return}return{accumulative:vn,broadcastTx:(q)=>Qn(n).broadcastTx(q),bumpFee:L,calculateTxSize:po,createKeysForPath:(q)=>ho({...q,chain:n}),createReplacementTransaction:z,createTransaction:L1,deriveAddressAtIndex:l,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:s_(n),estimateTransactionFee:e_(n),getAddress:G,getAddressFromKeys:Mt(n),getBalance:xn(n),getExtendedPublicKey:X,getExtendedPublicKeyInfo:W,getFeeRates:()=>mo(n),getInputsOutputsFee:Q1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(q)=>d_(ho({...q,chain:n}).privateKey,n),isRBFEnabled:Z,keys:_,resolveDerivationIndex:B,signAndBroadcastTransaction:async(q)=>{if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");return H.signTransaction(q),q.finalize(),await Qn(n).broadcastTx(Wo.hex.encode(q.extract()))},signTransactionWithMultipleKeys:J,transfer:o5(n,H),transferFromMultipleAddresses:U,validateAddress:Bt(n)}}var B1,Wo,lt,Pf,F,m,Xt,Sy,uf;var ro=S(()=>{dn();zy();co();py();B1=require("@noble/curves/secp256k1.js"),Wo=require("@scure/base"),lt=require("@scure/bip32"),Pf=require("@scure/bip39"),F=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),Xt=require("ts-pattern"),Sy=[F.Chain.Dash,F.Chain.Dogecoin,F.Chain.Zcash,F.Chain.BitcoinCash],uf=[F.Chain.Bitcoin]});function uy(n){return So(Oy(n))}function y5(n){let y=Dn(gn);function T(f){return f.sign(n.privateKey,[Wn.BCHSigHash.ALL]),f}function o(){let f=Wn.p2pkh(n.publicKey,y);if(!f.hash)throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let t=Wn.encodeCashAddr({hash:f.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH});return Promise.resolve(t.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:T}}function Qt(n){let y="phrase"in n?n.phrase:void 0,T="index"in n?n.index||0:0,o=Gn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Gn.updateDerivationPath(Gn.NetworkDerivationPath[gn],{index:T})),f=y?ho({chain:gn,derivationPath:o,phrase:y}):void 0,t=f?y5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:A,broadcastTx:_,...G}=Mo({chain:gn});function M(X,W=!0){return H(So(Oy(X)))}async function w(X){if(!t)throw new Gn.SwapKitError("toolbox_utxo_no_signer");return t.signTransaction(X),X.finalize(),await _(Lt.hex.encode(X.extract()))}return{...G,broadcastTx:_,buildTx:T5,createTransaction:Z1,getAddress:C,getAddressFromKeys:t5,getBalance:M,getFeeRates:A,signAndBroadcastTransaction:w,stripPrefix:So,stripToCashAddress:uy,transfer:f5({broadcastTx:_,getFeeRates:A,signer:t}),validateAddress:Xo}}async function Z1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!Xo(y))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:t}),H=T?kn(T):null,A=[],_=yo(y);if(A.push({address:_,value:n.getBaseValue("number")}),H)A.push({script:H,value:0});let{inputs:G,outputs:M}=vn({chain:gn,feeRate:o,inputs:C,outputs:A});if(!(G&&M))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),X=yo(f),{inputs:W,tx:l}=Bo({chain:gn,compiledMemo:H,inputs:G,outputs:M.map((Z)=>("address"in Z)&&Z.address?{...Z,address:yo(Z.address)}:Z),sender:X,tx:w});return{inputs:W,tx:l,utxos:G}}function f5({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=Gn.FeeOption.Fast,...H}){let A=await T?.getAddress();if(!(T&&A))throw new Gn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Gn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let _=H.feeRate||(await y())[C],{tx:G}=await Z1({...H,assetValue:t,feeRate:_,recipient:f,sender:A}),M=await T.signTransaction(G);return M.finalize(),n(Lt.hex.encode(M.extract()))}}async function T5({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=Oy(y);if(!Xo(t))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:C}),A=Number(o.toFixed(0)),_=T?kn(T):null,G=[];if(G.push({address:yo(y),value:n.getBaseValue("number")}),_)G.push({script:_,value:0});let{inputs:M,outputs:w}=vn({chain:gn,feeRate:A,inputs:H,outputs:G});if(!(M&&w))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let X=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:W,tx:l}=Bo({chain:gn,compiledMemo:_,inputs:M,outputs:w,sender:yo(f),tx:X});return{inputs:W,tx:l,utxos:H}}function t5(n){let y=Wn.NETWORKS.bitcoinCash,T=Wn.p2pkh(n.publicKey,y);if(!T.hash)throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Wn.encodeCashAddr({hash:T.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var Lt,Gn,Wn,gn;var If=S(()=>{co();ro();py();Lt=require("@scure/base"),Gn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),gn=Gn.Chain.BitcoinCash});function Y1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function H5(n){return C5.encode(n)}function A5({phrase:n,derivationPath:y}){let T=Jt.mnemonicToSeedSync(n),f=Zt.HDKey.fromMasterSeed(T).derive(y);if(!f.privateKey||!f.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:t,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:A}=_n.SKConfig.get("envs"),_=A?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(_.length+H.length);G.set(_,0),G.set(H,_.length);let M=H5(G);return{getAddress:()=>Promise.resolve(M),signTransaction:(w)=>{if(w instanceof tn.PCZT)return w.signAllInputs(t,C,tn.ZcashSigHash.ALL),w.finalizeAllInputs(),Promise.resolve(w.extract());return w.signAllInputs(t,C,tn.ZcashSigHash.ALL),Promise.resolve(w)}}}function _5({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=Y1();for(let C of n){let H=tn.Address(t).decode(o),A=tn.OutScript.encode(H);T.addInput({index:C.index,script:A,sequence:4294967295,txid:$f.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,A=C.script;if(A&&!f)continue;if(A&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function J1(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?kn(o):null,A=await Qn(_n.Chain.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),_=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:G,outputs:M}=vn({chain:_n.Chain.Zcash,changeAddress:t,feeRate:f,inputs:A,outputs:_});if(!(G&&M))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let w=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:X,inputs:W}=_5({compiledMemo:H,inputs:G,outputs:M,sender:t,tx:w});return{inputs:W,outputs:M,tx:X}}function Yt(n){let y=go.match(n).with({signer:go.P.not(go.P.nullish)},({signer:A})=>A).with({phrase:go.P.string},({phrase:A,derivationPath:_,index:G=0})=>{let M=_||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],w=_n.updateDerivationPath(M,{index:G}),X=_n.derivationPathToString(w);return A5({derivationPath:X,phrase:A})}).otherwise(()=>{return}),T=Mo({chain:_n.Chain.Zcash,signer:y});async function o({recipient:A,assetValue:_,feeOptionKey:G=_n.FeeOption.Fast,...M}){let w=await y?.getAddress();if(!(y&&w))throw new _n.SwapKitError("toolbox_utxo_no_signer");let X=M.feeRate||(await T.getFeeRates())[G],{tx:W}=await J1({...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=Jt.mnemonicToSeedSync(A),w=Zt.HDKey.fromMasterSeed(G).derive(_);if(!w.privateKey||!w.publicKey)throw new _n.SwapKitError("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=Y1();return tn.WIF(M).encode(G.privateKey)}function C(A){return async function(G){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await A.signTransaction(G)}}function H(A){return async function(G){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");let M=await A.signTransaction(G);return T.broadcastTx(M.toHex())}}return{...T,createKeysForPath:f,createTransaction:J1,getPrivateKeyFromMnemonic:t,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:io}}var $f,Zt,Jt,_n,tn,go,C5;var Nt=S(()=>{co();ro();py();$f=require("@scure/base"),Zt=require("@scure/bip32"),Jt=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),go=require("ts-pattern");C5=$f.createBase58check(tn.utils.sha256)});function O1({xpub:n,chain:y,count:T,startIndex:o=0,accountIndex:f}){if(bn("count",T),T<1)throw RangeError("count must be at least 1");bn("startIndex",o);let t=Dn(y),C=z1.HDKey.fromExtendedKey(n,t.bip32),H=Go({accountIndex:f,chain:y}),A=Ro(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=jo({accountIndex:f,chain:y,change:G,index:X});_.push({accountIndex:A,address:ky({chain:y,network:t,publicKey:W.publicKey}),change:G,index:X,path:D1.derivationPathToString(l),pubkey:N1.hex.encode(W.publicKey)})}}return _}var N1,z1,D1;var R1=S(()=>{zy();ro();N1=require("@scure/base"),z1=require("@scure/bip32"),D1=require("@swapkit/helpers")});function U5(n,y){switch(n){case fo.Chain.BitcoinCash:return Qt(y||{});case fo.Chain.Zcash:return Yt(y);case fo.Chain.Bitcoin:case fo.Chain.Dogecoin:case fo.Chain.Litecoin:case fo.Chain.Dash:return Mo({chain:n,...y});default:throw new fo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var fo;var x1=S(()=>{If();ro();Nt();zy();R1();If();py();fo=require("@swapkit/helpers")});var zt={};Mn(zt,{validateZcashAddress:()=>io,validateUtxoAddress:()=>Wt,validateBchAddress:()=>Xo,toLegacyAddress:()=>yo,toCashAddress:()=>Oy,stripToCashAddress:()=>uy,stripPrefix:()=>So,nonSegwitChains:()=>Sy,isValidAddress:()=>wt,getUtxoToolbox:()=>U5,getUtxoNetwork:()=>$_,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>Bt,getUTXOAddressPath:()=>jo,getUTXOAccountPath:()=>Go,getUTXOAccountIndexFromPath:()=>Ro,getScriptTypeForAddress:()=>Ko,getOutputSize:()=>xy,getNetworkForChain:()=>Dn,getInputSize:()=>lo,getDustThreshold:()=>Fy,detectAddressNetwork:()=>qt,deriveAddressesFromXpub:()=>O1,createZcashToolbox:()=>Yt,createUTXOToolbox:()=>Mo,createHDWalletHelpers:()=>eC,createCustomUtxoApi:()=>I_,createBCHToolbox:()=>Qt,compileMemo:()=>kn,calculateTxSize:()=>po,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>Mt,addInputsAndOutputs:()=>Bo,accumulative:()=>vn,UtxoNetwork:()=>Ut,UTXOScriptType:()=>Sf,TX_OVERHEAD:()=>Ff,SEGWIT_MARKER_FLAG_WEIGHT:()=>pf,OutputSizes:()=>Ry,OP_RETURN_OVERHEAD:()=>l1,MIN_TX_FEE:()=>h_,InputSizes:()=>xf});module.exports=Jn(zt);var Dt=S(()=>{ro();zy();co();x1();If();Nt()});function Py(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function bf(n){let{KeyPair:y}=await import("@near-js/crypto"),T=n.index||0,o=n.derivationPath?Ef.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:f}=p1.parseSeedPhrase(n.phrase,o),t=y.fromString(f);return k1(t)}async function Ot(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return k1(T)}function k1(n){return new S1(n)}async function vf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Ef.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),t=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:t}}var F1,Ef,p1,S1;var Rt=S(()=>{F1=require("@near-js/signers"),Ef=require("@swapkit/helpers"),p1=TT(require("near-seed-phrase"));S1=class S1 extends F1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function xt(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function Ft(n){return"contractId"in n&&"methodName"in n}function pt(n){return"actions"in n}function St(n){return"newAccountId"in n}function kt(n){return"contractCode"in n}function ut(n){return"customEstimator"in n}function Pt(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(Yn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Yn.CONTRACT_CALL);break;case"createAccount":y+=Number(Yn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Yn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Yn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Yn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Yn.STAKE);break;default:y+=Number(Yn.CONTRACT_CALL)}return y.toString()}function It(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Yn.TOKEN_TRANSFER;if(n==="storage_deposit")return Yn.STORAGE_DEPOSIT;return Yn.CONTRACT_CALL}function w5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function q5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Yn;var $t=S(()=>{Yn={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function Et({account:n,contractId:y,viewMethods:T,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:T})}function G5(n){let y;async function T(){if(y)return y;return y=await ao.match(n).with({phrase:ao.P.string},async(Q)=>{return await bf(Q)}).with({signer:ao.P.any},({signer:Q})=>Q).otherwise(()=>{return}),y}async function o(){let Q=await nn.getRPCUrl(nn.Chain.Near);return new u1.JsonRpcProvider({url:Q})}async function f(Q){let{Account:O}=await import("@near-js/accounts"),x=await o(),k=await T(),u=Q||await t();return new O(u,x,k)}async function t(){let Q=await T();if(!Q)throw new nn.SwapKitError("toolbox_near_no_signer");return await Q.getAddress()}async function C(Q){return(await J({changeMethods:[],contractId:Q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Q.accountId})}async function H(Q){let x=[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:x,receiverId:Q.contractId})}async function A(Q){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:x,recipient:k,memo:u}=Q,j=await t();if(!x.isGasAsset&&x.address){if(!await C({accountId:k,contractId:x.address}))return H({assetValue:x,contractId:x.address,memo:u,recipient:k})}let s=await _({...Q,sender:j});return l(s)}async function _({recipient:Q,assetValue:O,memo:x,attachedDeposit:k,sender:u,functionCall:j}){let s=await o();if(!Py(Q))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:Q});if(!Py(u))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:u});if(j)return M({...j,sender:u});if(!O.isGasAsset){let In=O.address;if(!In)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:x||null,receiver_id:Q},attachedDeposit:k||"1",contractId:In,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:Tn,nonce:on}=await vf(s,u),Zn=O.getBaseValue("bigint"),{actionCreators:Bn,createTransaction:On}=await import("@near-js/transactions"),{baseDecode:Kn}=await import("@near-js/utils"),cn=[Bn.transfer(Zn)];if(x&&k)cn.push(Bn.functionCall("memo",{memo:x},BigInt("250000000000000"),BigInt(k)));let Rn=await s.block({finality:"final"}),Xn=Kn(Rn.header.hash);return On(u,Tn,Q,on+1,cn,Xn)}function G(Q){let O=Q.encode();return Buffer.from(O).toString("base64")}async function M({args:Q,attachedDeposit:O,contractId:x,gas:k,methodName:u,sender:j}){let s=await o(),{publicKey:Tn,nonce:on}=await vf(s,j),{createTransaction:Zn,actionCreators:Bn}=await import("@near-js/transactions"),{baseDecode:On}=await import("@near-js/utils"),Kn=await s.block({finality:"final"}),cn=On(Kn.header.hash),Rn=[Bn.functionCall(u,Buffer.from(JSON.stringify(Q)),BigInt(k),BigInt(O))];return Zn(j,Tn,x,on+1,Rn,cn)}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 nn.SwapKitError("toolbox_near_no_signer");let[x,k]=await O.signTransaction(Q);return k}async function W(Q){return(await(await o()).sendTransaction(Q)).transaction.hash}async function l(Q){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");try{let x=await X(Q);return await W(x)}catch{return O.signAndSendTransactions?.({transactions:[Q]})}}async function Z(Q){let O=await T();if("assetValue"in Q){let k=await z();try{let u=await nn.getRPCUrl(nn.Chain.Near),j=await fetch(u,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:s}}=await j.json(),{execution:Tn,send_sir:on}=s.transaction_costs.action_receipt_creation_config,{execution:Zn,send_sir:Bn}=s.transaction_costs.action_creation_config.transfer_cost,On=BigInt(Bn)+BigInt(Zn),Kn=BigInt(on)+BigInt(Tn),Rn=(On+Kn)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:Rn})}catch(u){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",u);let j=BigInt("115123062500"),s=BigInt("108059500000"),on=(j+s)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:on})}}let x=O?await f():void 0;return B(Q,x)}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,x){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let u=await f(),{formatNearAmount:j}=await import("@near-js/utils"),{PublicKey:s}=await import("@near-js/crypto"),Tn=j(x)||"0";return(await u.createAccount(Q,s.fromString(O),BigInt(Tn))).transaction.hash}async function N(Q){let O=await T();try{if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:x}=await import("@near-js/transactions"),{contractId:k,methodName:u,args:j,deposit:s}=Q,Tn=await f(),on=await B({args:j||{},contractId:k,methodName:u}),Zn=x.functionCall(u,j||{},on.getBaseValue("bigint"),BigInt(s||"1"));return(await Tn.signAndSendTransaction({actions:[Zn],receiverId:k})).transaction_outcome.id}catch(x){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:x})}}async function J(Q){let O=await f();return Et({account:O,changeMethods:Q.changeMethods,contractId:Q.contractId,viewMethods:Q.viewMethods})}async function U(Q){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");if(Q.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:Q.actions,receiverId:Q.receiverId})).transaction.hash}async function B(Q,O){let x=await ao.match(Q).when(xt,()=>Yn.SIMPLE_TRANSFER).when(Ft,(u)=>It(u.methodName)).when(pt,(u)=>Pt(u.actions)).when(St,()=>Yn.ACCOUNT_CREATION).when(kt,()=>Yn.CONTRACT_DEPLOYMENT).when(ut,(u)=>{if(!O)throw new nn.SwapKitError("toolbox_near_no_account");return u.customEstimator(O)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(x)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function 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:xn(nn.Chain.Near),getGasPrice:Y,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:bf,getSignerFromPrivateKey:Ot,serializeTransaction:G,signAndBroadcastTransaction:l,signTransaction:X,transfer:A,validateAddress:Py}}var u1,nn,ao;var bt=S(()=>{dn();Rt();$t();u1=require("@near-js/providers"),nn=require("@swapkit/helpers"),ao=require("ts-pattern")});var P1=S(()=>{bt()});var vt={};Mn(vt,{validateNearAddress:()=>Py,tgasToGas:()=>w5,isSimpleTransfer:()=>xt,isCustomEstimator:()=>ut,isContractDeployment:()=>kt,isContractCall:()=>Ft,isBatchTransaction:()=>pt,isAccountCreation:()=>St,getNearToolbox:()=>G5,getNearSignerFromPrivateKey:()=>Ot,getNearSignerFromPhrase:()=>bf,getFullAccessPublicKey:()=>vf,getContractMethodGas:()=>It,gasToTGas:()=>q5,estimateBatchGas:()=>Pt,createNearContract:()=>Et,GAS_COSTS:()=>Yn});module.exports=Jn(vt);var Vt=S(()=>{Rt();$t();bt();P1()});var jt={};Mn(jt,{validateRadixAddress:()=>E1,getRadixToolbox:()=>M5});module.exports=Jn(jt);function E1(n){return n.startsWith("account_rdx1")&&n.length===66}function l5({networkApi:n}){return async function(T){let o=await X5({address:T,networkApi:n}),f=await W5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function X5({address:n,networkApi:y}){let T=!0,o,f=[],t=await B5(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 W5({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=Vn.AssetValue.from({asset:G.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${G.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});T.push(M)}}return T}async function B5(n){return(await n.status.getCurrent()).ledger_state.state_version}function M5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,T=$1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=I1.GatewayApiClient.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:l5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:E1}}var I1,$1,Vn;var Kt=S(()=>{I1=require("@radixdlt/babylon-gateway-api-sdk"),$1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function Vf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Iy(n){if(Vf(n))return n.toUpperCase();if(n.length<=3){let T=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${T}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new b1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function L5(n){if(!Vf(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let T=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(T)&&T.length>0)return T}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),T=y.length%2===0?y:`${y}0`,o=Buffer.from(T,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function so(n){if(Vf(n))return n.toUpperCase();if(n.length<=3)return n;return Iy(n)}var b1;var jf=S(()=>{b1=require("@swapkit/helpers")});async function Q5(n,y){let T=so(n),o=cf.find((f)=>so(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await Kf.RequestClient.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){Kf.warnOnce({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function Z5(n){return cf.filter((y)=>y.issuer===n)}function J5(n,y){let T=so(n);return cf.some((o)=>so(o.currency)===T&&o.issuer===y)}var Kf,cf;var v1=S(()=>{jf();Kf=require("@swapkit/helpers"),cf=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var ct={};Mn(ct,{validateRippleAddress:()=>mf,parseXrplTokenIdentifier:()=>K1,normalizeCurrency:()=>so,isKnownToken:()=>J5,isHexCurrency:()=>Vf,hexToCurrency:()=>L5,hashes:()=>i1.hashes,getXrplTokenInfo:()=>Q5,getRippleToolbox:()=>N5,getKnownTokensByIssuer:()=>Z5,formatXrplTokenIdentifier:()=>c1,currencyToHex:()=>Iy,XRPL_TOKEN_ERROR_CODES:()=>hf,XRPL_KNOWN_TOKENS:()=>cf});module.exports=Jn(ct);function K1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!To.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function c1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function Y5(n){if(n.isGasAsset)return To.xrpToDrops(n.getValue("string"));let y=K1(n.toString());if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function j1(n){let y=To.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function mf(n){return To.isValidAddress(n)}function N5(n={}){let y=eo.match(n).with({phrase:eo.P.string},({phrase:L})=>j1(L)).with({signer:eo.P.any},({signer:L})=>L).otherwise(()=>{return}),T;async function o(){let L=await i.getRPCUrl(i.Chain.Ripple);if(!L)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let N=new To.Client(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 i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(L)=>{let N=L||await t(),{baseDecimal:J}=i.getChainConfig(i.Chain.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=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:Y})];for(let Q of q.result.lines){let O=c1(Q.currency,Q.account);if(Number.parseFloat(Q.balance)!==0)D.push(i.AssetValue.from({asset:O,asyncTokenLookup:!1,value:Q.balance}))}return D}catch(B){if(B.data?.error_code===V1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:N,error:B}})}},H=async()=>{let{baseDecimal:L}=i.getChainConfig(i.Chain.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal: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===V1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({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=Iy(N);return U.some((q)=>{return Iy(q.currency)===B&&q.account===J})}async function G({currency:L,issuer:N,limit:J,sender:U}){let B=U||await t();if(!mf(N))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:N}});let q=Number.parseFloat(J);if(Number.isNaN(q)||q<0)throw new i.SwapKitError({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(!mf(N))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Y=U||await t();if(L.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let D=Y5(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 x=await(await f()).autofill(Q);if(x.LastLedgerSequence&&q>0)x.LastLedgerSequence+=Math.ceil(q/4);return x}function w(L){if(!y)throw new i.SwapKitError({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=eo.match(B).with(hf.tecNO_LINE,()=>"No trust line exists for this token").with(hf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(hf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...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 i.SwapKitError)throw N;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:N}})}};async function l(L){if(!y)throw new i.SwapKitError({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 i.SwapKitError({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:j1,createTransaction:M,disconnect:z,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:A,hasTrustLine:_,setTrustLine:G,setTrustLineAndBroadcast:Z,signAndBroadcastTransaction:W,signTransaction:w,transfer:l,validateAddress:mf}}var i,eo,To,i1,V1,hf;var it=S(()=>{jf();i=require("@swapkit/helpers"),eo=require("ts-pattern"),To=require("xrpl");jf();v1();i1=require("xrpl"),V1={ACCOUNT_NOT_FOUND:19},hf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ht(n,y){let T=0n,o=0n,f=y;while(f<n.length&&f-y<10){let t=n[f++];if(t===void 0)break;if(T|=BigInt(t&127)<<o,o+=7n,(t&128)===0)return[T,f]}throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}function $y(n){let y=[],T=n<0n?n+2n**64n:n;while(T>=128n)y.push(Number(T&0x7fn)|128),T>>=7n;return y.push(Number(T)),y}function rf(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function R5(n){let y=new Map,T=0;while(T<n.length){let[o,f]=ht(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===gf){let[H,A]=ht(n,T);T=A,rf(y,t,{data:new Uint8Array($y(H)),wireType:gf})}else if(C===df){let[H,A]=ht(n,T);T=A;let _=Number(H);if(_<0||T+_>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let G=n.slice(T,T+_);T+=_,rf(y,t,{data:G,wireType:df})}else if(C===h1){if(T+8>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,rf(y,t,{data:H,wireType:h1})}else if(C===m1){if(T+4>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,rf(y,t,{data:H,wireType:m1})}else throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function x5(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[A])=>H-A))for(let{wireType:H,data:A}of C){let _=BigInt(t<<3|H);if(y.push(new Uint8Array($y(_))),H===df)y.push(new Uint8Array($y(BigInt(A.length))));y.push(A)}let T=y.reduce((t,C)=>t+C.length,0),o=new Uint8Array(T),f=0;for(let t of y)o.set(t,f),f+=t.length;return o}function g1(n,y){if(!n||n.length%2!==0)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let T=ny.hexToBytes(n),o=R5(T);if(y.expiration!==void 0)o.set(z5,[{data:new Uint8Array($y(BigInt(y.expiration))),wireType:gf}]);if(y.data!==void 0)o.set(D5,[{data:ny.hexToBytes(y.data),wireType:df}]);if(y.fee_limit!==void 0)o.set(O5,[{data:new Uint8Array($y(BigInt(y.fee_limit))),wireType:gf}]);let f=x5(o),t=ny.bytesToHex(f),C=ny.bytesToHex(r1.sha256(f));return{raw_data_hex:t,txID:C}}var r1,ny,ko,gf=0,h1=1,df=2,m1=5,z5=8,D5=10,O5=18;var d1=S(()=>{r1=require("@noble/hashes/sha2.js"),ny=require("@noble/hashes/utils.js"),ko=require("@swapkit/helpers")});function jn(n){if(typeof n!=="string")return!1;try{let y=af.decode(n);return y.length===21&&y[0]===e1}catch{return!1}}function nH(n){return Pn.bytesToHex(af.decode(n))}function p5(n){return af.decode(n).slice(1)}function oH(n){let y=mt.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),T=a1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=e1,o.set(T,1),af.encode(o)}function yH({txID:n,privateKey:y}){let T=mt.secp256k1.sign(Pn.hexToBytes(n),Pn.hexToBytes(y),{format:"recovered",prehash:!1}),o=T[0]??0,f=Pn.bytesToHex(T.slice(1,33)),t=Pn.bytesToHex(T.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+t+C}function oy({txID:n,raw_data_hex:y}){let T=Pn.bytesToHex(rt.sha256(Pn.hexToBytes(y)));if(n!==T)throw new gt.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function S5(n){return`000000000000000000000000${Pn.bytesToHex(p5(n))}`}function k5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=F5)throw new gt.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function yy(n){return n.map(({type:y,value:T})=>y==="address"?S5(T):k5(BigInt(T))).join("")}function fH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var mt,rt,a1,Pn,s1,gt,af,e1=65,F5;var dt=S(()=>{mt=require("@noble/curves/secp256k1.js"),rt=require("@noble/hashes/sha2.js"),a1=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),s1=require("@scure/base"),gt=require("@swapkit/helpers"),af=s1.createBase58check(rt.sha256),F5=2n**256n});function tH(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return TH}}function CH(){let n=new AbortController,y=setTimeout(()=>n.abort(),$5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function fy(n,y){let{signal:T,cleanup:o}=CH();try{let f=await fetch(`${tH()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:T});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function HH(n,y){let{signal:T,cleanup:o}=CH();try{let f=await fetch(`${y??tH()}${n}`,{headers:{"Content-Type":"application/json"},signal:T});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function AH(n){if(!jn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await HH(`/v1/accounts/${n}`,TH);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=nH(n).toLowerCase()}catch{T=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===T);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof ln.SwapKitError)throw y;throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function _H({from:n,to:y,amount:T}){let f=await fy("/wallet/createtransaction",{amount:T,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==T)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(f),f}async function UH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await fy("/wallet/triggersmartcontract",{call_value:t,contract_address:y,fee_limit:f,function_selector:T,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let A=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(A?.contract_address!==y||A?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(C.transaction),C.transaction}function wH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return fy("/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 fy("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!T)throw new ln.SwapKitError("toolbox_tron_token_transfer_failed");return T}catch(y){throw new ln.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function sf(){let n={};try{let{chainParameter:y}=await HH("/wallet/getchainparameters");for(let T of y)n[T.key]=T.value}catch(y){ln.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??u5,createAccountFee:n.getCreateAccountFee??P5,energyFee:n.getEnergyFee??I5}}async function at(n){try{let y=await fy("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return ln.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function st(n){try{let y=await fy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function et(n){try{let{energy_used:y}=await wH({...n,ownerAddress:n.sender});return y}catch(y){return ln.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function qH({assetAddress:n,owner:y,spender:T}){let o=yy([{type:"address",value:y},{type:"address",value:T}]),t=(await wH({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:T,parameter:o})).constant_result?.[0];if(!t)return 0n;try{return BigInt(`0x${t}`)}catch{return 0n}}var ln,TH="https://api.trongrid.io",u5=1000,P5=1e5,I5=420,$5=30000;var GH=S(()=>{dt();ln=require("@swapkit/helpers")});function LH({phrase:n,derivationPath:y}){let T=WH.HDKey.fromMasterSeed(BH.mnemonicToSeedSync(n)).derive(y);if(!T.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return XH.bytesToHex(T.privateKey)}function QH({phrase:n,derivationPath:y,index:T}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:T||0}));return LH({derivationPath:o,phrase:n})}function j5({phrase:n,derivationPath:y}){let T=LH({derivationPath:y,phrase:n}),o=oH(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{oy(f);let t=yH({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function lH({transaction:n,memo:y,expiration:T,feeLimit:o}){let f={},t={};if(o!==void 0&&n.raw_data)f.fee_limit=o,t.fee_limit=o;if(y){let A=fH(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}=g1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function ZH(n={}){let y="index"in n?n.index||0:0,T=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:y})),o,f=!1;function t(){if(f)return Promise.resolve(o);return o=Ty.match(n).with({phrase:Ty.P.string},({phrase:U})=>j5({derivationPath:T,phrase:U})).with({signer:Ty.P.not(Ty.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await t();if(!U)throw new E.SwapKitError("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let B=U||b5,q=await sf(),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 et({contractAddress:U,functionSelector:B,parameter:q,sender:Y}),x=await H(O),k=await UH({contractAddress:U,feeLimit:x,functionSelector:B,ownerAddress:Y,parameter:q});return lH({expiration:Q,feeLimit:x,memo:D,transaction:k})}async function _(U){if(!jn(U))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let B=await AH(U);if(!B)return[E.AssetValue.from({chain:E.Chain.Tron})];let q=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(B.balance)})],Y=B.trc20?.find((D)=>(n0 in D));if(Y){let D=Y[n0];q.push(E.AssetValue.from({asset:`TRON.USDT-${n0}`,fromBaseDecimal:6,value:D}))}return q}catch(B){return E.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${B instanceof Error?B.message:B}`}),[E.AssetValue.from({chain:E.Chain.Tron})]}}async function G({recipient:U,assetValue:B,memo:q,expiration:Y}){if(!jn(U))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");try{let Q=await C(),O=await l({assetValue:B,expiration:Y,memo:q,recipient:U,sender:Q}),x=await D.signTransaction(O),k=await Ey(x);if(!k)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(Q){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:Q instanceof Error?Q.message:String(Q)})}}function 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([sf(),st(U),at(B)]),Q=Y?0:q.createAccountFee,O=M({feePerUnit:q.bandwidthFee,requiredBandwidth:E5,resources:D.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:Q+O})}async function X({assetValue:U,recipient:B,senderAddress:q}){let Y=U.address;if(!Y)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[D,Q,O,x]=await Promise.all([sf(),st(B),at(q),et({contractAddress:Y,functionSelector:"transfer(address,uint256)",parameter:yy([{type:"address",value:B},{type:"uint256",value:U.getBaseValue("string")}]),sender:q})]),k=Q?0:D.createAccountFee,u=M({feePerUnit:D.bandwidthFee,requiredBandwidth:v5,resources:O.bandwidth}),j=Math.max(0,O.energy.total-O.energy.used),s=x>j?(x-j)*D.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:k+u+s})}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?E.AssetValue.from({chain:E.Chain.Tron,value:0.1}):E.AssetValue.from({chain:E.Chain.Tron,value:15});return U.isGasAsset?w({recipient:B,senderAddress:D}):X({assetValue:U,recipient:B,senderAddress:D})}catch(D){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:D})}}async function l({recipient:U,assetValue:B,memo:q,sender:Y,expiration:D}){if(!jn(U)||!jn(Y))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(B.isGasAsset){let O=await _H({amount:B.getBaseValue("number"),from:Y,to:U});return lH({expiration:D,memo:q,transaction:O})}let Q=B.address;if(!Q)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:B.toString()});return A({contractAddress:Q,expiration:D,functionSelector:"transfer(address,uint256)",memo:q,parameter:yy([{type:"address",value:U},{type:"uint256",value:B.getBaseValue("string")}]),sender:Y})}async function Z(U){oy(U);let B=await t();if(!B)throw new E.SwapKitError("toolbox_tron_no_signer");return B.signTransaction(U)}async function z(U){let B=await Z(U);return Ey(B)}function L({assetAddress:U,spenderAddress:B,from:q}){return qH({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(!jn(U)||!jn(B))throw new E.SwapKitError("toolbox_tron_approve_failed");let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");let Q=Y||await C(),O=q!==void 0?BigInt(q).toString():V5;try{let x=await A({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:yy([{type:"address",value:B},{type:"uint256",value:O}]),sender:Q}),k=await D.signTransaction(x),u=await Ey(k);if(!u)throw new E.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof E.SwapKitError)throw x;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:J,broadcastTransaction:Ey,createTransaction:l,estimateTransactionFee:W,getAddress:C,getApprovedAmount:L,getBalance:_,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:N,signAndBroadcastTransaction:z,signTransaction:Z,transfer:G,validateAddress:jn}}var XH,WH,BH,E,Ty,MH,E5=268,b5=65000,v5=345,n0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",V5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var JH=S(()=>{d1();GH();dt();XH=require("@noble/hashes/utils.js"),WH=require("@scure/bip32"),BH=require("@scure/bip39"),E=require("@swapkit/helpers"),Ty=require("ts-pattern"),MH=jn});var o0={};Mn(o0,{validateTronAddress:()=>MH,getTronToolbox:()=>ZH,getTronPrivateKeyFromMnemonic:()=>QH});module.exports=Jn(o0);var y0=S(()=>{JH()});function nT(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return K5.test(n)}async function c5(n){if(!nT(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function YH(n={}){let y,T=n.derivationPath||a.NetworkDerivationPath[a.Chain.Stellar],o=a.derivationPathToString(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=ef.match(n).with({phrase:ef.P.string},({phrase:Z})=>Z).otherwise(()=>{return});if(!l)throw new a.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:l}),y}async function C(){let{Horizon:l}=await import("@stellar/stellar-sdk"),Z=await a.getRPCUrl(a.Chain.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 a.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Z)).balances.map((N)=>{if(N.asset_type==="native")return a.AssetValue.from({chain:a.Chain.Stellar,value:N.balance});let J="asset_code"in N?N.asset_code:"",U="asset_issuer"in N?N.asset_issuer:"";return a.AssetValue.from({asset:`${a.Chain.Stellar}.${J}-${U}`,asyncTokenLookup:!1,value:N.balance})})}catch{return[a.AssetValue.from({chain:a.Chain.Stellar,value:0})]}}async function _({recipient:l,assetValue:Z,memo:z,sender:L}){if(z){if(new TextEncoder().encode(z).length>28)throw new a.SwapKitError("helpers_invalid_memo_type")}if(!await c5(l))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let J=L||await H();if(!J)throw new a.SwapKitError("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(),x=await Q.loadAccount(J),k=new D(x,{fee:String(O),networkPassphrase:q.PUBLIC});if(Z.isGasAsset)try{await Q.loadAccount(l),k.addOperation(Y.payment({amount:Z.getValue("string"),asset:U.native(),destination:l}))}catch{k.addOperation(Y.createAccount({destination:l,startingBalance:Z.getValue("string")}))}else k.addOperation(Y.payment({amount:Z.getValue("string"),asset:new U(Z.symbol,Z.address),destination:l}));if(z)k.addMemo(B.text(z));return k.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 a.SwapKitError("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 a.SwapKitError)throw U;throw new a.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function X(l){let Z=await G(l);return M(Z)}async function W(){let{baseDecimal:l}=a.getChainConfig(a.Chain.Stellar);try{let L=(await(await C()).feeStats()).fee_charged.p50;return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:l,value:L})}catch{return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:l,value:"100"})}}return{broadcastTransaction:M,createTransaction:_,estimateTransactionFee:W,getAddress:H,getBalance:A,signAndBroadcastTransaction:X,signTransaction:G,transfer:w,validateAddress:nT}}var a,ef,K5;var NH=S(()=>{a=require("@swapkit/helpers"),ef=require("ts-pattern"),K5=/^G[A-Z2-7]{55}$/});var oT={};Mn(oT,{validateStellarAddress:()=>nT,getStellarToolbox:()=>YH});module.exports=Jn(oT);var yT=S(()=>{NH()});var m5={};Mn(m5,{getToolbox:()=>f0,getFeeEstimator:()=>h5,getAddressValidator:()=>i5});module.exports=Jn(m5);var $=require("@swapkit/helpers");async function i5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (vy(),by)),{validateEVMAddress:T}=await Promise.resolve().then(() => (RT(),$0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (ST(),pT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Gf(),qf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (eT(),sT)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (Tt(),ft)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Zf(),Qf)),{validateSuiAddress:A}=await Promise.resolve().then(() => (Yf(),Jf)),{validateTonAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (Dt(),zt)),{validateNearAddress:M}=await Promise.resolve().then(() => (Vt(),vt)),{validateRadixAddress:w}=await Promise.resolve().then(() => (Kt(),jt)),{validateRippleAddress:X}=await Promise.resolve().then(() => (it(),ct)),{validateTronAddress:W}=await Promise.resolve().then(() => (y0(),o0)),{validateStellarAddress:l}=await Promise.resolve().then(() => (yT(),oT));return function({address:z,chain:L}){return n(L).with(...$.EVMChains,()=>T(z)).with(...$.UTXOChains,(J)=>{return G(J)(z)}).with(...$.CosmosChains,(J)=>{return f(J)(z)}).with($.Chain.Aptos,()=>y(z)).with($.Chain.Radix,()=>w(z)).with($.Chain.HyperCore,()=>t(z)).with($.Chain.Near,()=>M(z)).with($.Chain.Ripple,()=>X(z)).with($.Chain.Solana,()=>C(z)).with($.Chain.Stellar,()=>l(z)).with($.Chain.Starknet,()=>H(z)).with($.Chain.Sui,()=>A(z)).with($.Chain.Ton,()=>_(z)).with($.Chain.Tron,()=>W(z)).with($.Chain.Cardano,()=>o(z)).otherwise(()=>!1)}}function h5(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let t=await f0(f),C=await t.createTransaction(T),H="feeOptionKey"in T?T.feeOptionKey:$.FeeOption.Fast;return t.estimateTransactionFee({...C,feeOption:H})}).with($.Chain.Bitcoin,$.Chain.BitcoinCash,$.Chain.Dogecoin,$.Chain.Dash,$.Chain.Litecoin,$.Chain.Solana,$.Chain.Ripple,$.Chain.Tron,$.Chain.Near,$.Chain.Cardano,$.Chain.HyperCore,async(f)=>{return(await f0(f)).estimateTransactionFee(T)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (vy(),by));return f().estimateTransactionFee(T)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Zf(),Qf));return(await f()).estimateTransactionFee(T)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (yT(),oT));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Yf(),Jf));return f().estimateTransactionFee(T)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(T)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Gf(),qf));return f(T)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function f0(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (OT(),u0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (Dt(),zt));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Gf(),qf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (vy(),by));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (eT(),sT));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (Kt(),jt));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (it(),ct));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (Tt(),ft));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (yT(),oT));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Zf(),Qf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Yf(),Jf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (y0(),o0));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (Vt(),vt));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (ST(),pT));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}
|
|
1
|
+
var I5=Object.create;var{getPrototypeOf:P5,defineProperty:Un,getOwnPropertyNames:AC,getOwnPropertyDescriptor:t5}=Object,qC=Object.prototype.hasOwnProperty;function GC(y){return this[y]}var p5,E5,U0=(y,n,o)=>{var f=y!=null&&typeof y==="object";if(f){var T=n?p5??=new WeakMap:E5??=new WeakMap,C=T.get(y);if(C)return C}o=y!=null?I5(P5(y)):{};let H=n||!y||!y.__esModule?Un(o,"default",{value:y,enumerable:!0}):o;for(let U of AC(y))if(!qC.call(H,U))Un(H,U,{get:GC.bind(y,U),enumerable:!0});if(f)T.set(y,H);return H},Ny=(y)=>{var n=(_C??=new WeakMap).get(y),o;if(n)return n;if(n=Un({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of AC(y))if(!qC.call(n,f))Un(n,f,{get:GC.bind(y,f),enumerable:!(o=t5(y,f))||o.enumerable})}return _C.set(y,n),n},_C;var V5=(y)=>y;function b5(y,n){this[y]=V5.bind(null,n)}var My=(y,n)=>{for(var o in n)Un(y,o,{get:n[o],enumerable:!0,configurable:!0,set:b5.bind(n,o)})};var P=(y,n)=>()=>(y&&(n=y(y=0)),n);function Ef(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let n=y.slice(2);if(n.length===0||n.length>64)return!1;return u5.test(n)}function XC({derivationPath:y,provider:n,...o}={}){let f,T=j.derivationPathToString(y||j.NetworkDerivationPath[j.Chain.Aptos],{allHardened:!0});async function C(){if(f)return f;return f=await Nf.match(o).with({phrase:Nf.P.string},async({phrase:Q})=>{let{Ed25519Account:B}=await import("@aptos-labs/ts-sdk");return B.fromDerivationPath({mnemonic:Q,path:T})}).with({signer:Nf.P.any},({signer:Q})=>Q).otherwise(()=>{return}),f}async function H(){let{Aptos:Q,AptosConfig:B}=await import("@aptos-labs/ts-sdk"),D=new B({fullnode:n||j.getRPCUrlSync(j.Chain.Aptos)});return new Q(D)}async function U(){return(await C())?.accountAddress.toString()||""}async function _(Q){let B=Q||await U();if(!B)throw new j.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:D,chain:L}=j.getChainConfig(j.Chain.Aptos);try{let w=await H(),N=await w.getAccountAPTAmount({accountAddress:B}),z=[j.AssetValue.from({chain:L,fromBaseDecimal:D,value:N.toString()})],J=await w.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:B}}}});for(let Y of J){if(Y.asset_type===zf.COIN_TYPE||Number(Y.amount)<=0)continue;let R=Y.asset_type;if(R){let q=("metadata"in Y&&typeof Y.metadata==="object"&&Y.metadata!==null?Y.metadata:void 0)?.decimals??D;z.push(j.AssetValue.from({asset:`${j.Chain.Aptos}.APT-${R}`,fromBaseDecimal:q,value:String(Y.amount)}))}}return z}catch{return[j.AssetValue.from({chain:L})]}}async function A(Q){if(!Q){let{baseDecimal:J}=j.getChainConfig(j.Chain.Aptos),Y=n||j.getRPCUrlSync(j.Chain.Aptos),R=await fetch(`${Y}/estimate_gas_price`),{gas_estimate:l}=await R.json();return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:J,value:String(l)})}let B=await C();if(!B)throw new j.SwapKitError("toolbox_aptos_no_signer");let D=await Z(Q),L=await H(),[w]=await L.transaction.simulate.simple({signerPublicKey:B.publicKey,transaction:D});if(!w)throw new j.SwapKitError("toolbox_aptos_transaction_creation_error");let N=BigInt(w.gas_used)*BigInt(w.gas_unit_price),{baseDecimal:z}=j.getChainConfig(j.Chain.Aptos);return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:z,value:N.toString()})}async function Z({recipient:Q,assetValue:B,maxGasAmount:D,sender:L}){if(!Ef(Q))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let w=L||await U();if(!w)throw new j.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:N}=await import("@aptos-labs/ts-sdk"),z=await H(),J=N.from(w);try{let Y=B.isGasAsset?zf.TRANSFER:zf.FUNGIBLE_STORE_TRANSFER,R=Nf.match({address:B?.address,isGasAsset:B.isGasAsset}).with({isGasAsset:!0},()=>[N.from(Q),B.getBaseValue("bigint")]).with({address:Nf.P.string},({address:l})=>[N.from(l),N.from(Q),B.getBaseValue("bigint")]).otherwise(()=>null);if(!R)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return z.transaction.build.simple({data:{function:Y,functionArguments:R,typeArguments:B.isGasAsset?[]:[zf.FUNGIBLE_ASSET_METADATA]},options:D?{maxGasAmount:D}:void 0,sender:J})}catch(Y){if(Y instanceof j.SwapKitError)throw Y;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",Y)}}async function M(Q){let B=await C();if(!B)throw new j.SwapKitError("toolbox_aptos_no_signer");return(await H()).transaction.sign({signer:B,transaction:Q})}async function W({assetValue:Q,maxGasAmount:B,recipient:D}){let L=await C();if(!L)throw new j.SwapKitError("toolbox_aptos_no_signer");if(!Ef(D))throw new j.SwapKitError("core_transaction_invalid_recipient_address");try{let w=L.accountAddress.toString(),N=await Z({assetValue:Q,maxGasAmount:B,recipient:D,sender:w});return(await(await H()).signAndSubmitTransaction({signer:L,transaction:N})).hash}catch(w){if(w instanceof j.SwapKitError)throw w;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",w)}}async function G({senderAuthenticator:Q,transaction:B}){try{return(await(await H()).transaction.submit.simple({senderAuthenticator:Q,transaction:B})).hash}catch(D){throw new j.SwapKitError("toolbox_aptos_broadcast_error",D)}}async function X(Q){let B=await M(Q);return G({senderAuthenticator:B,transaction:Q})}return{broadcastTransaction:G,createTransaction:Z,estimateTransactionFee:A,getAddress:U,getBalance:_,signAndBroadcastTransaction:X,signTransaction:M,transfer:W,validateAddress:Ef}}function WC({provider:y}){return async function({assetValue:o,recipient:f}){if(!Ef(f))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:T}=await import("@aptos-labs/ts-sdk");if(o.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[T.from(f).toString(),o.getBaseValue("string")],function:zf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let C=o.address;if(!C)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[C,T.from(f).toString(),o.getBaseValue("string")],function:zf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[zf.FUNGIBLE_ASSET_METADATA]})).hash}}var j,Nf,zf,u5;var QC=P(()=>{j=require("@swapkit/helpers"),Nf=require("ts-pattern"),zf={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},u5=/^[0-9a-fA-F]+$/});var Kn={};My(Kn,{validateAptosAddress:()=>Ef,getAptosToolbox:()=>XC,createAptosExtensionTransfer:()=>WC});module.exports=Ny(Kn);var hn=P(()=>{QC()});function JC(){function y(){let n=Date.now(),o=_0||n;return _0=o,n>_0?n:o+1}return v5+y().toString(36)}function Sy(y){return async function(o,f=!0){let T=await ZC.SwapKitApi.getChainBalance({address:o,chain:y,scamFilter:f}),{baseDecimal:C}=_n.getChainConfig(y),H=T.map(({identifier:_,value:A,decimal:Z})=>{return new _n.AssetValue({decimal:Z||C,identifier:_,value:A})});if(!H.some((_)=>_.isGasAsset))return[_n.AssetValue.from({chain:y}),...H];return H}}var _n,ZC,v5,_0=0;var iy=P(()=>{_n=require("@swapkit/helpers"),ZC=require("@swapkit/helpers/api"),v5=typeof process<"u"&&process.pid?process.pid.toString(36):""});function An(y){return{getBalance:Sy(y)}}function j5(y){return y}var mn=P(()=>{iy()});function LC(y){return new Of.JsonRpcProvider(y)}async function W0(y,n){return LC(n||await a.getRPCUrl(y))}function qn(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function Q0(y){let{explorerUrl:n,chainIdHex:o,rpcUrls:f}=a.getChainConfig(y);return function(){return y!==a.Chain.Ethereum?{...K5({chain:y}),blockExplorerUrls:[n],chainId:o,rpcUrls:f}:void 0}}function Z0(y){return![a.Chain.Adi,a.Chain.Arbitrum,a.Chain.BinanceSmartChain].includes(y)}function K5({chain:y}){let{name:n,nativeCurrency:o,baseDecimal:f}=a.getChainConfig(y);return X0.match(y).with(a.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(a.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(a.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(a.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(a.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(a.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:a.Chain.Polygon}})).otherwise(()=>({chainName:n,nativeCurrency:{decimals:f,name:o,symbol:o}}))}async function J0(y,n){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let o={...n,nonce:n.nonce!==void 0?BigInt(n.nonce):void 0};return await y.authorize(o)}function YC(y,n){let o=n!==void 0?`index ${n}: `:"",f=(T,C)=>{throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:T,message:`${o}${C}`}})};X0.match(y).when(({chainId:T})=>typeof T!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:T})=>!h5(T),()=>f("address","address must be a valid checksummed address")).when(({nonce:T})=>typeof T!=="bigint"||T<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:T})=>!T,()=>f("signature","signature is required")).when(({signature:T})=>typeof T?.yParity!=="number"||![0,1].includes(T.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:T})=>!MC(T?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:T})=>!MC(T?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function BC(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:n})=>y[n]!=null).map(({key:n,type:o})=>({name:n,type:o}))}function A0(y){return y.charAt(0).toUpperCase()+y.slice(1)}function q0(y,n){if(y.isTuple()&&y.components){let o=A0(y.name);return n[o]=y.components.map((f)=>({name:f.name,type:q0(f,n)})),o}if(y.isArray()){let o=y.arrayChildren;if(o?.isTuple()&&o.components){let f=A0(y.name.replace(/s$/,""));return n[f]=o.components.map((T)=>({name:T.name,type:q0(T,n)})),`${f}[]`}return`${o?.type??"bytes"}[]`}return y.type}function G0(y,n){if(typeof y==="bigint")return y;if(n?.isTuple()&&typeof y?.toObject==="function"){let o=y.toObject(),f={};for(let[T,C]of(n.components??[]).entries())f[C.name]=G0(o[C.name]??y[T],C);return f}if(Array.isArray(y)){let o=n?.arrayChildren;return y.map((f)=>G0(f,o??void 0))}return y}function m5({chain:y,abi:n,data:o,to:f}){let C=new Of.Interface(n).parseTransaction({data:o});if(!C)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let H={},U=A0(C.name);H[U]=C.fragment.inputs.map((W)=>({name:W.name,type:q0(W,H)}));let _={};for(let[W,G]of C.fragment.inputs.entries())_[G.name]=G0(C.args[W],G);let{chainId:A}=a.getChainConfig(y),Z={chainId:Number(A),verifyingContract:Of.getAddress(f)},M=BC(Z);return{domain:Z,message:_,primaryType:U,types:{EIP712Domain:M,...H}}}function M0(y,n){if(!Array.isArray(y)||y.length===0)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[o,f]of y.entries())if(YC(f,o),n!==void 0&&f.chainId!==n)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${o}: authorization chainId (${f.chainId}) does not match transaction chainId (${n})`}})}var a,Of,X0,MC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),h5=(y)=>{try{return typeof y==="string"&&!!Of.getAddress(y)}catch{return!1}};var Gn=P(()=>{a=require("@swapkit/helpers"),Of=require("ethers"),X0=require("ts-pattern")});var zC;var NC=P(()=>{zC=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function bf({chain:y=S.Chain.Ethereum,provider:n,signer:o,isEIP1559Compatible:f=!0}){return{approve:r5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),approvedAmount:DC({chain:y,provider:n}),broadcastTransaction:n.broadcastTransaction,call:O0({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),createApprovalTx:yU({chain:y,provider:n,signer:o}),createContract:B0({chain:y,provider:n}),createContractTxObject:wf({chain:y,provider:n}),createTransaction:L0({chain:y,provider:n,signer:o}),createTransferTx:L0({chain:y,provider:n,signer:o}),EIP1193SendTransaction:vf(n),estimateCall:RC({provider:n,signer:o}),estimateGasLimit:s5({chain:y,provider:n,signer:o}),estimateGasPrices:Df({chain:y,isEIP1559Compatible:f,provider:n}),estimateTransactionFee:fU({chain:y,isEIP1559Compatible:f,provider:n}),getAddress:()=>{return o?o.getAddress():void 0},getBalance:An(y).getBalance,getNetworkParams:Q0(y),isApproved:d5({chain:y,provider:n}),sendTransaction:kC({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),signAuthorization:e5({signer:o}),signMessage:o?(T)=>o.signMessage(T):void 0,signTypedData:o?({domain:T,types:C,value:H})=>o.signTypedData(T,C,H):void 0,transfer:a5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),validateAddress:Wn}}function Wn(y){try{return $y.getAddress(y),!0}catch{return!1}}function uf(y){return y instanceof $y.BrowserProvider}function Qn(y,n,o){return new $y.Contract(y,$y.Interface.from(n),o)}function B0({provider:y}){return function(o,f){return new $y.Contract(o,$y.Interface.from(f),y)}}function z0({abi:y,funcName:n}){let o=y.find((f)=>f.name===n);if(!o)throw new S.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return o.stateMutability&&c5.includes(o.stateMutability)}function OC(y){return $y.getAddress(y)}function vf(y){return function({value:o,...f}){if(!uf(y))throw new S.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:T,gasPrice:C,maxFeePerGas:H,maxPriorityFeePerGas:U,..._}=f;return y.send("eth_sendTransaction",[{..._,value:qn(BigInt(o||0))}])}}function wC(y,n){let o=jf(y,n);if(o)return $y.getAddress(o.toLowerCase());throw new S.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function jf({chain:y,symbol:n,ticker:o},f){try{let T=y===S.Chain.BinanceSmartChain&&n==="BNB"&&o==="BNB",C=y===S.Chain.Hyperevm&&n==="HYPE"&&o==="HYPE",H=y===f&&n===f&&o===f,U=i5.includes(y)&&n==="ETH"&&o==="ETH";if(H||T||C||U)return N0[f];return $y.getAddress(n.slice(o.length+1).replace(/^0X/,""))}catch{return null}}function wf({provider:y}){return async({contractAddress:n,abi:o,funcName:f,funcParams:T=[],txOverrides:C})=>Qn(n,o,y).getFunction(f).populateTransaction(...T.concat(C).filter((H)=>typeof H<"u"))}function Df({chain:y,provider:n,isEIP1559Compatible:o=!0}){return Y0.match(y).with(S.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:T,maxPriorityFeePerGas:C}=await n.getFeeData();if(!T||C===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Average),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Average)},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).with(S.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:T}=await n.getFeeData();if(!T)throw new S.SwapKitError("toolbox_evm_no_fee_data");let C=T*12n/10n;return{[S.FeeOption.Average]:{gasPrice:C},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:C,gasPrice:H}=await n.getFeeData();if(o){if(T===null||C===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:T,maxPriorityFeePerGas:C},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}if(!H)throw new S.SwapKitError("toolbox_evm_no_gas_price");return{[S.FeeOption.Average]:{gasPrice:H},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}})}function O0({provider:y,isEIP1559Compatible:n,signer:o,chain:f}){return async function({callProvider:C,contractAddress:H,abi:U,funcName:_,funcParams:A=[],txOverrides:Z={},feeOption:M=S.FeeOption.Fast}){let W=C||y;if(!H)throw new S.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let G=z0({abi:U,funcName:_});if(G&&uf(W)&&o){let B=wf({chain:f,provider:W}),D=Z?.from||await o?.getAddress(),L=await B({abi:U,contractAddress:H,funcName:_,funcParams:A,txOverrides:{...Z,from:D}});return vf(W)(L)}let X=Qn(H,U,W);if(G){if(!o)throw new S.SwapKitError("toolbox_evm_no_signer");let B=Z?.from||await o.getAddress();if(!B)throw new S.SwapKitError("toolbox_evm_no_signer_address");let D=X.connect(o),L=Df({chain:f,isEIP1559Compatible:n,provider:y}),{maxFeePerGas:w,maxPriorityFeePerGas:N,gasPrice:z}=(await L())[M],J=await X.getFunction(_).estimateGas(...A,Z),Y=await D[_](...A,{...Z,gasLimit:J,gasPrice:z,maxFeePerGas:w,maxPriorityFeePerGas:N,nonce:Z?.nonce||await W.getTransactionCount(B)});return typeof Y?.hash==="string"?Y?.hash:Y}let Q=await X[_]?.(...A);return typeof Q?.hash==="string"?Q?.hash:Q}}function DC({provider:y,chain:n}){return function({assetAddress:f,spenderAddress:T,from:C}){return O0({chain:n,isEIP1559Compatible:!0,provider:y})({abi:Vf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[C,T]})}}function d5({provider:y,chain:n}){return async function({assetAddress:f,spenderAddress:T,from:C,amount:H=Xn}){let U=await DC({chain:n,provider:y})({assetAddress:f,from:C,spenderAddress:T});return S.SwapKitNumber.fromBigInt(U).gte(S.SwapKitNumber.fromBigInt(BigInt(H)))}}function r5({signer:y,isEIP1559Compatible:n=!0,provider:o,chain:f}){return async function({assetAddress:C,spenderAddress:H,feeOptionKey:U=S.FeeOption.Fast,amount:_,gasLimitFallback:A,from:Z,nonce:M}){let W=[H,BigInt(_||Xn)],G=await y?.getAddress()||Z,X={abi:Vf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:W,signer:y,txOverrides:{from:G}};if(uf(o)){let B=wf({chain:f,provider:o}),D=vf(o),L=await B(X);return D(L)}return O0({chain:f,isEIP1559Compatible:n,provider:o,signer:y})({...X,feeOption:U,funcParams:W,txOverrides:{from:G,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function a5({signer:y,isEIP1559Compatible:n=!0,provider:o}){return async function({assetValue:T,memo:C,recipient:H,feeOptionKey:U=S.FeeOption.Fast,sender:_,...A}){let{hexlify:Z,toUtf8Bytes:M}=await import("ethers"),W=T.getBaseValue("bigint"),G=T.chain,X=_||await y?.getAddress(),Q=kC({chain:G,isEIP1559Compatible:n,provider:o,signer:y});if(!X)throw new S.SwapKitError("toolbox_evm_no_from_address");if(T.isGasAsset){let z={...A,data:Z(M(C||"")),feeOptionKey:U,from:X,to:H,value:W};return Q(z)}if(!jf(T,G))throw new S.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:L,gasPrice:w}=(await Df({chain:G,isEIP1559Compatible:n,provider:o})())[U],N=await L0({chain:G,provider:o,signer:y})({assetValue:T,data:Z(M(C||"")),gasPrice:w,maxFeePerGas:D,maxPriorityFeePerGas:L,memo:C,recipient:H,sender:X});return Q(N)}}function RC({provider:y,signer:n}){return function({contractAddress:f,abi:T,funcName:C,funcParams:H=[],txOverrides:U}){if(!f)throw new S.SwapKitError("toolbox_evm_no_contract_address");let _=Qn(f,T,y);return n?_.connect(n).getFunction(C).estimateGas(...H,U):_.getFunction(C).estimateGas(...H,U)}}function s5({provider:y,signer:n}){return async function({assetValue:f,recipient:T,memo:C,data:H,sender:U,funcName:_,funcParams:A,txOverrides:Z}){let M=f.bigIntValue,W=f.isGasAsset?null:jf(f,f.chain);if(W&&_)return RC({provider:y,signer:n})({abi:Vf.erc20ABI,contractAddress:W,funcName:_,funcParams:A,txOverrides:Z});let{hexlify:G,toUtf8Bytes:X}=await import("ethers");return y.estimateGas({data:H?H:C?G(X(C)):void 0,from:U,to:T,value:M})}}function e5({signer:y}){if(!y)return;return(n)=>J0(y,n)}function kC({provider:y,signer:n,isEIP1559Compatible:o=!0,chain:f}){return async function({feeOptionKey:C=S.FeeOption.Fast,...H}){let{from:U,to:_,data:A,value:Z,...M}=H;if(!n)throw new S.SwapKitError("toolbox_evm_no_signer");if(!_)throw new S.SwapKitError("toolbox_evm_no_to_address");let W={...M,data:A||"0x",from:U,to:_,value:BigInt(Z||0)};if(uf(y))return vf(y)(W);let G=U||await n.getAddress(),X=H.nonce||await y.getTransactionCount(G),Q=(await y.getNetwork()).chainId,B=D0(W,o);if(B==="eip7702")M0(W.authorizations||[],Q);let D=Y0.match(B).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...W,chainId:Q,nonce:X,type:D,...B==="eip7702"&&{authorizationList:W.authorizations}},w=Df({chain:f,isEIP1559Compatible:o,provider:y}),z=B!=="legacy"&&!(W.maxFeePerGas&&W.maxPriorityFeePerGas)||!W.gasPrice?Object.entries((await w())[C]).reduce((Y,[R,l])=>({...Y,[R]:qn(BigInt(l))}),{}):{},J;try{J=qn(W.gasLimit||await y.estimateGas(L)*11n/10n)}catch(Y){throw new S.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:Y})}try{let Y={...L,gasLimit:J,...z};try{return(await n.sendTransaction(Y)).hash}catch{let R=await n.signTransaction({...Y,from:G});return(await y.broadcastTransaction(R)).hash}}catch(Y){throw new S.SwapKitError("toolbox_evm_error_sending_transaction",{error:Y})}}}function L0({provider:y,signer:n}){return async function({assetValue:f,memo:T,recipient:C,data:H,sender:U,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:Z,...M}){let W=f.getBaseValue("bigint"),G=f.chain,X=U||await n?.getAddress();if(!X)throw new S.SwapKitError("toolbox_evm_no_from_address");if(S.isGasAsset(f)){let{hexlify:D,toUtf8Bytes:L}=await import("ethers");return{...M,data:H||D(L(T||"")),from:X,to:C,value:W}}let Q=jf(f,G);if(!Q)throw new S.SwapKitError("toolbox_evm_no_contract_address");return wf({chain:f.chain,provider:y})({abi:Vf.erc20ABI,contractAddress:Q,funcName:"transfer",funcParams:[C,W],txOverrides:{from:X,gasPrice:Z,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function yU({provider:y,signer:n,chain:o}){return async function({assetAddress:T,spenderAddress:C,amount:H,from:U}){let _=await n?.getAddress()||U,A=wf({chain:o,provider:y}),Z=["bigint","number"].includes(typeof H)?H:H||Xn;return await A({abi:Vf.erc20ABI,contractAddress:T,funcName:"approve",funcParams:[C,BigInt(Z)],txOverrides:{from:_}})}}function fU({provider:y,isEIP1559Compatible:n=!0,chain:o}){return async function({feeOption:T=S.FeeOption.Fast,...C}){let U=await Df({chain:o,isEIP1559Compatible:n,provider:y})(),_=await y.estimateGas(C),A=S.AssetValue.from({chain:o}),{gasPrice:Z,maxFeePerGas:M,maxPriorityFeePerGas:W}=U[T];if(!n&&Z)return A.set(S.SwapKitNumber.fromBigInt(Z*_,A.decimal));if(M&&W){let G=(M+W)*_;return A.set(S.SwapKitNumber.fromBigInt(G,A.decimal))}throw new S.SwapKitError("toolbox_evm_no_gas_price")}}var S,Vf,$y,Y0,Xn,c5,g5,N0,i5,cn=(y)=>y.type===4||(y.authorizations?.length??0)>0,w0=(y)=>!cn(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),D0=(y,n=!0)=>{if(cn(y))return"eip7702";if(w0(y)||n)return"eip1559";return"legacy"};var gn=P(()=>{mn();Gn();S=require("@swapkit/helpers"),Vf=require("@swapkit/helpers/contracts"),$y=require("ethers"),Y0=require("ts-pattern"),Xn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");c5=["payable","nonpayable"];g5=S.EVMChains.reduce((y,n)=>{return y[n]="0x0000000000000000000000000000000000000000",y},{}),N0={...g5,[S.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[S.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},i5=[S.Chain.Arbitrum,S.Chain.Aurora,S.Chain.Base,S.Chain.Optimism]});function dn(y){let n=Xy(Hy.Chain.Ethereum)(y);async function o(f,T="0x5ba1e12693dc8f9c48aad8770482f4739beed696",C="aggregate",H=Hy.FeeOption.Fast){let U=await n.createContractTxObject({abi:zC,contractAddress:T,funcName:C,funcParams:[f]});return n.sendTransaction({...U,feeOptionKey:H})}return{...n,multicall:o}}function Xy(y){return function({provider:o,...f}){let T=Z0(y),C=Zn.match(f).with({phrase:Zn.P.string},({phrase:U})=>lC.HDNodeWallet.fromPhrase(U).connect(o)).with({signer:Zn.P.any},({signer:U})=>U).otherwise(()=>{return});return bf({chain:y,isEIP1559Compatible:T,provider:o,signer:C})}}var Hy,lC,Zn,rn,an,sn,en,yT,fT,nT,SC,TT,oT,CT,HT,UT,_T,Jn,AT,qT,GT,XT;var R0=P(()=>{NC();Gn();gn();Hy=require("@swapkit/helpers"),lC=require("ethers"),Zn=require("ts-pattern");rn=Xy(Hy.Chain.Adi),an=Xy(Hy.Chain.Arbitrum),sn=Xy(Hy.Chain.Aurora),en=Xy(Hy.Chain.Avalanche),yT=Xy(Hy.Chain.Base),fT=Xy(Hy.Chain.Berachain),nT=Xy(Hy.Chain.BinanceSmartChain),SC=Xy(Hy.Chain.Botanix),TT=Xy(Hy.Chain.Core),oT=Xy(Hy.Chain.Corn),CT=Xy(Hy.Chain.Cronos),HT=Xy(Hy.Chain.Gnosis),UT=Xy(Hy.Chain.Hyperevm),_T=Xy(Hy.Chain.Polygon),Jn=Xy(Hy.Chain.Sonic),AT=Xy(Hy.Chain.Unichain),qT=Xy(Hy.Chain.XLayer),GT=Xy(Hy.Chain.Monad),XT=Xy(Hy.Chain.MegaETH)});var xC;var FC=P(()=>{xC=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function k0(y){return new WT.Contract(TU,xC,y)}function $C(y){return async function(){let o=k0(y);if(o&&"l1BaseFee"in o)return await o?.l1BaseFee();return}}function IC(y){return async function({from:o,to:f,nonce:T,...C}){let{Transaction:H}=await import("ethers");if(!f)throw new Uy.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return H.from({...C,authorizationList:C.authorizationList,nonce:T?T:o?await y.getTransactionCount(o):0,to:f}).serialized}}function PC(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1Fee"in f)return f.getL1Fee(T)}}function tC(y){return async function(o){let T=(await y.getFeeData()).gasPrice??0n,C=await y.estimateGas(o);return T*C}}function oU(y){return async function(o){let f=await PC(y)(o)??0n,T=await tC(y)(o);return f+T}}function CU(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(T)}}function HU(y){return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:T}=await y.getFeeData(),C=await $C(y)(),H=T;if(!(o&&f))throw new Uy.SwapKitError("toolbox_evm_no_fee_data");return{[Uy.FeeOption.Average]:{gasPrice:H,l1GasPrice:C,maxFeePerGas:o,maxPriorityFeePerGas:f},[Uy.FeeOption.Fast]:{gasPrice:Uy.applyFeeMultiplierToBigInt(H,Uy.FeeOption.Fast),l1GasPrice:Uy.applyFeeMultiplierToBigInt(C||0n,Uy.FeeOption.Fast),maxFeePerGas:o,maxPriorityFeePerGas:Uy.applyFeeMultiplierToBigInt(f,Uy.FeeOption.Fast)},[Uy.FeeOption.Fastest]:{gasPrice:Uy.applyFeeMultiplierToBigInt(H,Uy.FeeOption.Fastest),l1GasPrice:Uy.applyFeeMultiplierToBigInt(C||0n,Uy.FeeOption.Fastest),maxFeePerGas:o,maxPriorityFeePerGas:Uy.applyFeeMultiplierToBigInt(f,Uy.FeeOption.Fastest)}}}catch(o){throw new Uy.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function QT({provider:y,...n}){let o=Mn.match(n).with({phrase:Mn.P.string},({phrase:C})=>WT.HDNodeWallet.fromPhrase(C).connect(y)).with({signer:Mn.P.any},({signer:C})=>C).otherwise(()=>{return}),f=bf({provider:y,signer:o}),T=$C(y);return{...f,estimateGasPrices:HU(y),estimateL1Gas:CU(y),estimateL1GasCost:PC(y),estimateL2GasCost:tC(y),estimateTotalGasCost:oU(y),getBalance:An(Uy.Chain.Optimism).getBalance,getL1GasPrice:T}}var Uy,WT,Mn,TU="0x420000000000000000000000000000000000000f";var l0=P(()=>{mn();FC();gn();Uy=require("@swapkit/helpers"),WT=require("ethers"),Mn=require("ts-pattern")});var VC={};My(VC,{validateEVMAddress:()=>Wn,toChecksumAddress:()=>OC,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>uf,getTokenAddress:()=>jf,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>S0,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>vf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createContract:()=>Qn,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Jn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>XT,MAX_APPROVAL:()=>Xn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>SC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});function S0(y,n){return pC.match(y).with(qy.Chain.Adi,()=>rn(n)).with(qy.Chain.Arbitrum,()=>an(n)).with(qy.Chain.Aurora,()=>sn(n)).with(qy.Chain.Avalanche,()=>en(n)).with(qy.Chain.Base,()=>yT(n)).with(qy.Chain.Berachain,()=>fT(n)).with(qy.Chain.BinanceSmartChain,()=>nT(n)).with(qy.Chain.Botanix,()=>Jn(n)).with(qy.Chain.Core,()=>TT(n)).with(qy.Chain.Corn,()=>oT(n)).with(qy.Chain.Cronos,()=>CT(n)).with(qy.Chain.Ethereum,()=>dn(n)).with(qy.Chain.Gnosis,()=>HT(n)).with(qy.Chain.Hyperevm,()=>UT(n)).with(qy.Chain.Optimism,()=>QT(n)).with(qy.Chain.Polygon,()=>_T(n)).with(qy.Chain.Sonic,()=>Jn(n)).with(qy.Chain.Unichain,()=>AT(n)).with(qy.Chain.XLayer,()=>qT(n)).with(qy.Chain.Monad,()=>GT(n)).with(qy.Chain.MegaETH,()=>XT(n)).exhaustive()}async function EC(y,n){let o={...n,provider:n?.provider||await W0(y)};return S0(y,o)}var qy,pC;var x0=P(()=>{Gn();R0();l0();qy=require("@swapkit/helpers"),pC=require("ts-pattern");gn();R0();l0()});var bC;var uC=P(()=>{((o)=>{o.Test="goerli";o.Main="homestead"})(bC||={})});var vC={};My(vC,{validateEVMAddress:()=>Wn,validateAuthorizations:()=>M0,validateAuthorization:()=>YC,toHexString:()=>qn,toChecksumAddress:()=>OC,signAuthorization:()=>J0,parseEIP712FromEVMTx:()=>m5,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>uf,getTokenAddress:()=>jf,getProviderSync:()=>LC,getProvider:()=>W0,getNetworkParams:()=>Q0,getIsEIP1559Compatible:()=>Z0,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>S0,getEvmApi:()=>An,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>vf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createCustomEvmApi:()=>j5,createContract:()=>Qn,buildEIP712DomainType:()=>BC,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Jn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>XT,MAX_APPROVAL:()=>Xn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,EthNetwork:()=>bC,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>SC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});module.exports=Ny(vC);var F0=P(()=>{mn();Gn();x0();uC()});async function I0(y,n){let o=await fetch(`${iC}${y}`,{...n,headers:{project_id:gC,...n?.headers}});if(!o.ok)throw Error(`Blockfrost API error: ${o.status} ${o.statusText}`);return o.json()}async function dC(y){try{return await I0(`/addresses/${y}/utxos`)}catch{return[]}}async function _U(){return(await I0("/blocks/latest")).slot}async function AU(){let y=await I0("/epochs/latest/parameters"),n={PlutusScriptV1:y.cost_models.PlutusV1?Object.values(y.cost_models.PlutusV1):[],PlutusScriptV2:y.cost_models.PlutusV2?Object.values(y.cost_models.PlutusV2):[],PlutusScriptV3:y.cost_models.PlutusV3?Object.values(y.cost_models.PlutusV3):[]};return{collateralPercent:new xy.default(y.collateral_percent),languageView:n,lovelacePerUtxoWord:new xy.default(0),maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new xy.default(y.min_fee_a),minFeeB:new xy.default(y.min_fee_b),minFeeRefScriptCostPerByte:new xy.default(15),priceMem:new xy.default(y.price_mem),priceSteps:new xy.default(y.price_step),stakeKeyDeposit:new xy.default(2000000),utxoCostPerByte:new xy.default(y.coins_per_utxo_size)}}async function KC(y){let n=await fetch(`${iC}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:gC},method:"POST"});if(!n.ok){let o=await n.text();throw Error(`Transaction submission failed: ${o}`)}return n.json()}function qU(y,n){return y.map((o)=>{let f=o.amount.find((H)=>H.unit==="lovelace"),T=f?new xy.default(f.quantity):new xy.default(0),C=o.amount.filter((H)=>H.unit!=="lovelace").map((H)=>({amount:new xy.default(H.quantity),assetName:H.unit.slice(56),policyId:H.unit.slice(0,56)}));return{address:n,amount:T,index:o.output_index,tokens:C,txId:o.tx_hash}})}async function GU(y){try{let n=await dC(y),o=0n,f=new Map;for(let H of n){if(!H.amount||!Array.isArray(H.amount))continue;for(let U of H.amount){let{unit:_,quantity:A}=U;if(_==="lovelace")o+=BigInt(A);else{let Z=f.get(_)||0n;f.set(_,Z+BigInt(A))}}}let T=[],{baseDecimal:C}=_y.getChainConfig(_y.Chain.Cardano);if(o>0n)T.push(_y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:C,value:o.toString()}));for(let[H,U]of f)T.push(_y.AssetValue.from({asset:`${_y.Chain.Cardano}.${H}`,value:U.toString()}));if(T.length===0)return[_y.AssetValue.from({chain:_y.Chain.Cardano})];return T}catch(n){let o=n instanceof Error?n.message:String(n);return console.error(`Cardano balance fetch error: ${o}`),[_y.AssetValue.from({chain:_y.Chain.Cardano})]}}function rC(y){if(!y||typeof y!=="string")return!1;try{let n=hC.bech32.decode(y,120);return n.prefix==="addr"||n.prefix==="addr_test"}catch{return!1}}async function XU(y,n=0,o=0){let f=await mC.mnemonicToSeed(y,""),C=(await cC.Bip32PrivateKey.fromEntropy(Buffer.from(f.slice(0,64)))).derive($0+1852).derive($0+1815).derive($0+n),H=C.derive(0).derive(o),U=H.toBip32PublicKey().toPublicKey().toBytes(),_=Dy.crypto.hash28(U),Z=C.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Dy.crypto.hash28(Z),W={hash:_,type:Dy.types.HashType.ADDRESS},G={hash:M,type:Dy.types.HashType.ADDRESS},Q=new Dy.address.BaseAddress(UU,W,G).getBech32(),B=H.toPrivateKey();return{getAddress:()=>Q,publicKey:U,publicKeyHash:_,signTransaction:async(D)=>{try{let L=await import("@stricahq/cbors"),w=Buffer.from(D,"hex"),N=L.Decoder.decode(w),[z,J,Y,R]=N.value,l=L.Encoder.encode(z),q=Dy.crypto.hash32(l),O=B.sign(q),k=J instanceof Map?J:new Map,x=k.get(jC)||[];x.push([U,O]),k.set(jC,x);let F=[z,k,Y,R];return L.Encoder.encode(F).toString("hex")}catch(L){throw new _y.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function WU(y){let n,o,f;async function T(){if(!f)f=await AU();return f}async function C(){if(n!==void 0)return n;if(y&&"phrase"in y&&y.phrase){let G=y.index??0;return n=await XU(y.phrase,0,G),n}if(y&&"signer"in y&&y.signer)return n=y.signer,n;return}async function H(){if(o)return o;let G=await C();if(!G)return"";if("getAddress"in G)return o=await G.getAddress(),o;return""}async function U(G){let X=G||await H();if(!X)throw new _y.SwapKitError("core_wallet_connection_not_found");return GU(X)}async function _(G){if(G)try{let{tx:D}=await A(G),L=D.getFee();return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let X=await T(),Q=400,B=X.minFeeB.plus(X.minFeeA.times(Q));return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:B.toString()})}async function A({sender:G="",recipient:X,assetValue:Q,memo:B,pureLovelaceOnly:D=!1}){let L=G||await H();if(!L)throw new _y.SwapKitError("core_wallet_connection_not_found");let[w,N,z]=await Promise.all([dC(L),_U(),T()]),J=w.filter((i)=>D?i.amount.every((fy)=>fy.unit==="lovelace"):i.amount.some((fy)=>fy.unit==="lovelace")).sort((i,fy)=>{let By=i.amount.some((Zy)=>Zy.unit!=="lovelace"),wy=fy.amount.some((Zy)=>Zy.unit!=="lovelace");if(By===wy)return 0;return By?1:-1}),Y=Dy.utils.getAddressFromString(L),R=Dy.utils.getAddressFromString(X),l=qU(J,Y),q=new xy.default(Q.getBaseValue("string")),O=[{address:R,amount:q,tokens:[]}],k;if(B){let i=new Map;i.set("msg",[B]),k={metadata:[{data:i,label:674}]}}let x={...z,minFeeB:z.minFeeB.plus(z.minFeeA.times(4))},u=new Dy.Transaction({protocolParams:x}).paymentTransaction({auxiliaryData:k,changeAddress:Y,inputs:l,outputs:O,ttl:N+3600}),{payload:h}=u.buildTransaction();return{tx:u,unsignedTx:h}}async function Z(G){let X=await C();if(!X||!("signTransaction"in X))throw new _y.SwapKitError("core_wallet_connection_not_found");return X.signTransaction(G)}async function M({recipient:G,assetValue:X,memo:Q}){let B=await C();if(!B||!("signTransaction"in B))throw new _y.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:D}=await A({assetValue:X,memo:Q,recipient:G,sender:await H()}),L=await Z(D);return await KC(L)}async function W(G){let X=await Z(G);return await KC(X)}return{createTransaction:A,estimateTransactionFee:_,getAddress:H,getBalance:U,signAndBroadcastTransaction:W,signTransaction:Z,transfer:M,validateAddress:rC}}var hC,mC,cC,Dy,_y,xy,gC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",iC="https://cardano-mainnet.blockfrost.io/api/v0",UU,$0=2147483648,jC=0;var aC=P(()=>{hC=require("@scure/base"),mC=require("@scure/bip39"),cC=require("@stricahq/bip32ed25519"),Dy=require("@stricahq/typhonjs"),_y=require("@swapkit/helpers"),xy=U0(require("bignumber.js")),UU=Dy.types.NetworkId.MAINNET});var P0={};My(P0,{validateCardanoAddress:()=>rC,getCardanoToolbox:()=>WU});module.exports=Ny(P0);var t0=P(()=>{aC()});function Ln(y){return hy.base64.encode(Uint8Array.from(hy.bech32.fromWords(hy.bech32.decode(y).words)))}function Yn(y,n="thor"){return hy.bech32.encode(n,hy.bech32.toWords(hy.base64.decode(y)))}function QU(y){return hy.base64.encode(y)}function ZU(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new sC.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hy.base64.decode(y)}var hy,sC;var p0=P(()=>{hy=require("@scure/base"),sC=require("@swapkit/helpers")});function dy(y){switch(y){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return f1;case b.Chain.Noble:return n1;default:return y1}}async function ry(y){let n=await import("@cosmjs/stargate"),o=n.StargateClient??n.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return o.connect({headers:f,url:y})}async function Rf(y,n,o={}){let f=await import("@cosmjs/stargate"),T=f.SigningStargateClient??f.default?.SigningStargateClient,C=f.GasPrice??f.default?.GasPrice,H=typeof o==="string"?o:"0.0003uatom",U=typeof o==="string"?{}:o;return T.connectWithSigner(y,n,{gasPrice:C.fromString(H),...U})}async function V0(y,n){let o=await import("@cosmjs/stargate");return(o.SigningStargateClient??o.default?.SigningStargateClient).offline(y,n)}async function b0({sender:y,recipient:n,assetValue:o,memo:f="",feeRate:T,sequence:C,accountNumber:H}){let{chain:U,chainId:_}=o,A=await b.getRPCUrl(U),M=await(await ry(A)).getAccount(y);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let W=b.AssetValue.from({chain:U}),G=Cf(W.symbol),X=dy(U),Q=G&&T?{amount:[{amount:T.toString(),denom:G}],gas:X.gas}:X,B={amount:[{amount:o.getBaseValue("string"),denom:Cf(o.symbol)}],fromAddress:y,toAddress:n};return{accountNumber:H??M.accountNumber,chainId:_,fee:Q,memo:f,msgs:[{typeUrl:JU(U),value:B}],sequence:C??M.sequence}}var b,E0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",eC="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",y1,f1,n1,Cf=(y,n=!1)=>{if(n)return y.toLowerCase();switch(y){case"uUSK":case"USK":return E0;case"uYUM":case"YUM":return eC;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},Bn=({symbol:y,chain:n})=>{if(n===b.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${b.Chain.Maya}.${y}`).toUpperCase();if(n===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${b.Chain.THORChain}.${y}`:y).toUpperCase();return Cf(y,!1)},JU=(y)=>{switch(y){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},MU,u0=(y,n)=>{let o=MU[y.toLowerCase()];if(!o)return b.AssetValue.from({asset:y,fromBaseDecimal:8,value:n});let{chain:f,asset:T,decimals:C}=o,H=f?{chain:f}:{asset:T};return b.AssetValue.from({...H,fromBaseDecimal:C,value:n})};var zn=P(()=>{b=require("@swapkit/helpers"),y1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},f1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},n1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};MU={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[E0.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var T1={};My(T1,{$root:()=>I});var Ly,v,Py,E,I;var o1=P(()=>{Ly=U0(require("protobufjs/minimal.js")),v=Ly.default.Reader,Py=Ly.default.Writer,E=Ly.default.util,I=Ly.default.roots.default||(Ly.default.roots.default={});I.common=(()=>{let y={};return y.Asset=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))T.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))T.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))T.uint32(32).bool(f.synth);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Asset;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.chain=f.string();break;case 2:H.symbol=f.string();break;case 3:H.ticker=f.string();break;case 4:H.synth=f.bool();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!E.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!E.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!E.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Asset)return f;let T=new I.common.Asset;if(f.chain!=null)T.chain=String(f.chain);if(f.symbol!=null)T.symbol=String(f.symbol);if(f.ticker!=null)T.ticker=String(f.ticker);if(f.synth!=null)T.synth=Boolean(f.synth);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.chain="",C.symbol="",C.ticker="",C.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))C.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))C.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))C.synth=f.synth;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Coin=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))I.common.Asset.encode(f.asset,T.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))T.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))T.uint32(24).int64(f.decimals);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Coin;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.asset=I.common.Asset.decode(f,f.uint32());break;case 2:H.amount=f.string();break;case 3:H.decimals=f.int64();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let T=I.common.Asset.verify(f.asset);if(T)return"asset."+T}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!E.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!E.isInteger(f.decimals)&&!(f.decimals&&E.isInteger(f.decimals.low)&&E.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Coin)return f;let T=new I.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");T.asset=I.common.Asset.fromObject(f.asset)}if(f.amount!=null)T.amount=String(f.amount);if(f.decimals!=null){if(E.Long)(T.decimals=E.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")T.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")T.decimals=f.decimals;else if(typeof f.decimals==="object")T.decimals=new E.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)if(C.asset=null,C.amount="",E.Long){let H=new E.Long(0,0,!1);C.decimals=T.longs===String?H.toString():T.longs===Number?H.toNumber():H}else C.decimals=T.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))C.asset=I.common.Asset.toObject(f.asset,T);if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")C.decimals=T.longs===String?String(f.decimals):f.decimals;else C.decimals=T.longs===String?E.Long.prototype.toString.call(f.decimals):T.longs===Number?new E.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.PubKeySet=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))T.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))T.uint32(18).string(f.ed25519);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.PubKeySet;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.secp256k1=f.string();break;case 2:H.ed25519=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!E.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!E.isString(f.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.PubKeySet)return f;let T=new I.common.PubKeySet;if(f.secp256k1!=null)T.secp256k1=String(f.secp256k1);if(f.ed25519!=null)T.ed25519=String(f.ed25519);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.secp256k1="",C.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))C.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))C.ed25519=f.ed25519;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Tx=(()=>{function n(o){if(this.coins=[],this.gas=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=E.emptyArray,n.prototype.gas=E.emptyArray,n.prototype.memo="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))T.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(34).string(f.toAddress);if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(42).fork()).ldelim();if(f.gas?.length)for(let C=0;C<f.gas.length;++C)I.common.Coin.encode(f.gas[C],T.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(58).string(f.memo);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Tx;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.id=f.string();break;case 2:H.chain=f.string();break;case 3:H.fromAddress=f.string();break;case 4:H.toAddress=f.string();break;case 5:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 6:if(!H.gas?.length)H.gas=[];H.gas.push(I.common.Coin.decode(f,f.uint32()));break;case 7:H.memo=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!E.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!E.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!E.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!E.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let T=0;T<f.gas.length;++T){let C=I.common.Coin.verify(f.gas[T]);if(C)return"gas."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!E.isString(f.memo))return"memo: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Tx)return f;let T=new I.common.Tx;if(f.id!=null)T.id=String(f.id);if(f.chain!=null)T.chain=String(f.chain);if(f.fromAddress!=null)T.fromAddress=String(f.fromAddress);if(f.toAddress!=null)T.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Tx.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");T.gas=[];for(let C=0;C<f.gas.length;++C){if(typeof f.gas[C]!=="object")throw TypeError(".common.Tx.gas: object expected");T.gas[C]=I.common.Coin.fromObject(f.gas[C])}}if(f.memo!=null)T.memo=String(f.memo);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[],C.gas=[];if(T.defaults)C.id="",C.chain="",C.fromAddress="",C.toAddress="",C.memo="";if(f.id!=null&&f.hasOwnProperty("id"))C.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=f.toAddress;if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.gas?.length){C.gas=[];for(let H=0;H<f.gas.length;++H)C.gas[H]=I.common.Coin.toObject(f.gas[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Fee=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=E.emptyArray,n.prototype.poolDeduct="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))T.uint32(18).string(f.poolDeduct);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Fee;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 2:H.poolDeduct=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!E.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Fee)return f;let T=new I.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Fee.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.poolDeduct!=null)T.poolDeduct=String(f.poolDeduct);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults)C.poolDeduct="";if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))C.poolDeduct=f.poolDeduct;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.ProtoUint=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.value="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))T.uint32(10).string(f.value);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.ProtoUint;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.value=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!E.isString(f.value))return"value: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.ProtoUint)return f;let T=new I.common.ProtoUint;if(f.value!=null)T.value=String(f.value);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.value="";if(f.value!=null&&f.hasOwnProperty("value"))C.value=f.value;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y})();I.types=(()=>{let y={};return y.MsgDeposit=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=E.emptyArray,n.prototype.memo="",n.prototype.signer=E.newBuffer([]),n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))T.uint32(26).bytes(f.signer);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.types.MsgDeposit;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 2:H.memo=f.string();break;case 3:H.signer=f.bytes();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!E.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||E.isString(f.signer)))return"signer: buffer expected"}return null},n.fromObject=function(f){if(f instanceof I.types.MsgDeposit)return f;let T=new I.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.memo!=null)T.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")E.base64.decode(f.signer,T.signer=E.newBuffer(E.base64.length(f.signer)),0);else if(f.signer.length)T.signer=f.signer}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults){if(C.memo="",T.bytes===String)C.signer="";else if(C.signer=[],T.bytes!==Array)C.signer=E.newBuffer(C.signer)}if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))C.signer=T.bytes===String?E.base64.encode(f.signer,0,f.signer.length):T.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.MsgSend=(()=>{function n(o){if(this.amount=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.fromAddress=E.newBuffer([]),n.prototype.toAddress=E.newBuffer([]),n.prototype.amount=E.emptyArray,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let C=0;C<f.amount.length;++C)I.cosmos.base.v1beta1.Coin.encode(f.amount[C],T.uint32(26).fork()).ldelim();return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.types.MsgSend;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.fromAddress=f.bytes();break;case 2:H.toAddress=f.bytes();break;case 3:if(!H.amount?.length)H.amount=[];H.amount.push(I.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||E.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||E.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let T=0;T<f.amount.length;++T){let C=I.cosmos.base.v1beta1.Coin.verify(f.amount[T]);if(C)return"amount."+C}}return null},n.fromObject=function(f){if(f instanceof I.types.MsgSend)return f;let T=new I.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")E.base64.decode(f.fromAddress,T.fromAddress=E.newBuffer(E.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)T.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")E.base64.decode(f.toAddress,T.toAddress=E.newBuffer(E.base64.length(f.toAddress)),0);else if(f.toAddress.length)T.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");T.amount=[];for(let C=0;C<f.amount.length;++C){if(typeof f.amount[C]!=="object")throw TypeError(".types.MsgSend.amount: object expected");T.amount[C]=I.cosmos.base.v1beta1.Coin.fromObject(f.amount[C])}}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.amount=[];if(T.defaults){if(T.bytes===String)C.fromAddress="";else if(C.fromAddress=[],T.bytes!==Array)C.fromAddress=E.newBuffer(C.fromAddress);if(T.bytes===String)C.toAddress="";else if(C.toAddress=[],T.bytes!==Array)C.toAddress=E.newBuffer(C.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=T.bytes===String?E.base64.encode(f.fromAddress,0,f.fromAddress.length):T.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=T.bytes===String?E.base64.encode(f.toAddress,0,f.toAddress.length):T.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){C.amount=[];for(let H=0;H<f.amount.length;++H)C.amount[H]=I.cosmos.base.v1beta1.Coin.toObject(f.amount[H],T)}return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y})();I.cosmos=(()=>{let y={};return y.base=(()=>{let n={};return n.v1beta1=(()=>{let o={};return o.Coin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.Coin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!E.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!E.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.Coin)return C;let H=new I.cosmos.base.v1beta1.Coin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.DecCoin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.DecCoin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!E.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!E.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.DecCoin)return C;let H=new I.cosmos.base.v1beta1.DecCoin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.IntProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.int="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.int!=null&&Object.hasOwnProperty.call(C,"int"))H.uint32(10).string(C.int);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.IntProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.int=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.int!=null&&C.hasOwnProperty("int")){if(!E.isString(C.int))return"int: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.IntProto)return C;let H=new I.cosmos.base.v1beta1.IntProto;if(C.int!=null)H.int=String(C.int);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.int="";if(C.int!=null&&C.hasOwnProperty("int"))U.int=C.int;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.DecProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.dec="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.dec!=null&&Object.hasOwnProperty.call(C,"dec"))H.uint32(10).string(C.dec);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.DecProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.dec=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.dec!=null&&C.hasOwnProperty("dec")){if(!E.isString(C.dec))return"dec: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.DecProto)return C;let H=new I.cosmos.base.v1beta1.DecProto;if(C.dec!=null)H.dec=String(C.dec);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.dec="";if(C.dec!=null&&C.hasOwnProperty("dec"))U.dec=C.dec;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o})(),n})(),y})()});async function kf(){let{$root:y}=await Promise.resolve().then(() => (o1(),T1)),n=await import("@cosmjs/proto-signing"),o=n.Registry??n.default?.Registry,f=await import("@cosmjs/stargate"),T=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new o([...T,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function Hf(y){let n=await import("@cosmjs/stargate"),o=n.AminoTypes??n.default?.AminoTypes,f=y===C1.Chain.THORChain?"thorchain":"mayachain";return new o({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:T,...C})=>({...C,signer:Ln(T)}),toAmino:({signer:T,...C})=>({...C,signer:Yn(T)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:T,to_address:C,...H})=>({...H,fromAddress:Ln(T),toAddress:Ln(C)}),toAmino:({fromAddress:T,toAddress:C,...H})=>({...H,from_address:Yn(T),to_address:Yn(C)})}})}var C1;var v0=P(()=>{p0();C1=require("@swapkit/helpers")});function h0(y){let{assetValue:n,recipient:o,memo:f,sender:T,asSignable:C,asAminoMessage:H}=y;if(o)return U1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,recipient:o,sender:T});return _1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,sender:T})}async function U1({sender:y,recipient:n,assetValue:o,memo:f="",asSignable:T=!0,asAminoMessage:C=!1,sequence:H,accountNumber:U}){let _=o.chain,A=await Ry.getRPCUrl(_),Z=await H1({rpcUrl:A,sender:y}),{chainId:M}=Ry.getChainConfig(_),W=j0({assetValue:o,recipient:n,sender:y}),G=T?await Uf(C?W:_f(W),_):W;return{accountNumber:U||Z.accountNumber,chainId:M,fee:dy(_),memo:f,msgs:[G],sequence:H||Z.sequence}}async function _1({sender:y,assetValue:n,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let U=n.chain,_=await Ry.getRPCUrl(U),A=await H1({rpcUrl:_,sender:y}),{chainId:Z}=Ry.getChainConfig(U),M=K0({assetValue:n,memo:o,sender:y}),W=f?await Uf(T?M:_f(M),U):M;return{accountNumber:H||A.accountNumber,chainId:Z,fee:dy(U),memo:o,msgs:[W],sequence:C||A.sequence}}function _f(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((n)=>{let o=Ry.AssetValue.from({asset:n.asset}),f=(o.isSynthetic?o.symbol.split("/")?.[1]:o.symbol)?.toUpperCase(),T=(o.isSynthetic?o.symbol.split("/")?.[0]:o.chain)?.toUpperCase();return{...n,asset:{chain:T,symbol:f,synth:o.isSynthetic,ticker:o.ticker}}})}}}async function Nn({chain:y,memo:n,msgs:o}){let f=await kf(),T=await Hf(y),C={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:o.map((H)=>T.fromAmino(H))}};return f.encode(C)}var Ry,LU,YU,j0=({sender:y,recipient:n,assetValue:o})=>{return{type:`${o.chain===Ry.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:o.getBaseValue("string"),denom:Cf(o.symbol,!0)}],from_address:y,to_address:n}}},K0=({sender:y,assetValue:n,memo:o=""})=>{return{type:`${n.chain===Ry.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:Bn(n)}],memo:o,signer:y}}},ZT=({sender:y,recipient:n,assetValue:o,memo:f})=>{return!n?K0({assetValue:o,memo:f,sender:y}):j0({assetValue:o,recipient:n,sender:y})},Uf=async(y,n)=>{return(await Hf(n)).fromAmino(y)},H1=async({rpcUrl:y,sender:n})=>{let f=await(await ry(y)).getAccount(n);if(!f)throw new Ry.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return f};var A1=P(()=>{zn();v0();Ry=require("@swapkit/helpers"),LU=dy(Ry.Chain.THORChain).gas,YU=dy(Ry.Chain.Maya).gas});var q1=()=>{};var G1=P(()=>{q1()});var m0=P(()=>{p0();A1();v0();G1()});async function i0(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}async function c0({phrase:y,prefix:n,...o}){let f="derivationPath"in o?o.derivationPath:`${t.DerivationPath[o.chain]}/${o.index}`;return await J1.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[Z1.stringToPath(f)],prefix:n})}async function BU({privateKey:y,prefix:n}){let o=await import("@cosmjs/proto-signing");return(o.DirectSecp256k1Wallet??o.default?.DirectSecp256k1Wallet).fromKey(y,n)}function M1(y){return async function({signature:o,message:f,address:T}){let C=await y(T);if(!C?.pubkey)throw new t.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let H=await import("@cosmjs/crypto"),U=H.Secp256k1Signature??H.default?.Secp256k1Signature,_=H.Secp256k1??H.default?.Secp256k1,A=U.fromFixedLength(Af.base64.decode(o));return _.verifySignature(A,Af.base64.decode(f),C.pubkey.value)}}function wn({chain:y,...n}){let o=t.CosmosChainPrefixes[y],f="index"in n?n.index||0:0,T=t.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:t.updateDerivationPath(t.NetworkDerivationPath[y],{index:f})),C;async function H(){if(C)return C;return C=await On.match(n).with({phrase:On.P.string},({phrase:G})=>c0({derivationPath:T,phrase:G,prefix:o})).with({signer:On.P.any},({signer:G})=>G).otherwise(()=>{return}),C}async function U(G){let X=await t.getRPCUrl(y);return(await ry(X)).getAccount(G)}async function _(){let G=await H(),[X]=await G?.getAccounts()||[];return X?.address}async function A(){let G=await H(),[X]=await G?.getAccounts()||[];if(!X?.pubkey)throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");return Af.base64.encode(X?.pubkey)}async function Z(G){let X=await H(),Q=await _(),B=await t.getRPCUrl(y);if(!(X&&Q))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Rf(B,X)).sign(Q,G.msgs,G.fee,G.memo,{accountNumber:G.accountNumber,chainId:G.chainId,sequence:G.sequence})}async function M(G){let X=await H(),Q=await _(),B=await t.getRPCUrl(y);if(!(X&&Q))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await Rf(B,X)).signAndBroadcast(Q,G.msgs,G.fee,G.memo);if(L.code!==0)throw new t.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function W({recipient:G,assetValue:X,memo:Q="",feeRate:B,feeOptionKey:D=t.FeeOption.Fast}){let L=await H(),w=await _();if(!(L&&w))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await t.getRPCUrl(y),z=t.AssetValue.from({chain:y}),J=Bn(z),Y=B||OU((await W1(y,X1[y]))[D],J),R=await Rf(N,L),l=Cf(X.symbol),q=[{amount:X.getBaseValue("string"),denom:l}],{transactionHash:O}=await R.sendTokens(w,G,q,Y,Q);return O}return{createPrivateKeyFromPhrase:DU(T),createTransaction:b0,fetchFeeRateFromSwapKit:i0,getAccount:U,getAddress:_,getBalance:async(G,X)=>{let Q=await Q1(y)(G),B=await Promise.all(Q.filter(({denom:D})=>D&&!D.includes("IBC/")&&!([t.Chain.THORChain,t.Chain.Maya].includes(y)&&D.split("-").length>2)).map(({denom:D,amount:L})=>{let w=[t.Chain.THORChain,t.Chain.Maya].includes(y)&&(D.includes("/")||D.includes("˜"))?`${y}.${D}`:D;return u0(w,L)}));if(B.length===0)return[t.AssetValue.from({chain:y})];return B},getBalanceAsDenoms:Q1(y),getFees:()=>W1(y,X1[y]),getPubKey:A,getSignerFromPhrase:({phrase:G,derivationPath:X})=>c0({derivationPath:t.derivationPathToString(X),index:f,phrase:G,prefix:o}),getSignerFromPrivateKey:async(G)=>{let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(G,o)},signAndBroadcastTransaction:M,signTransaction:Z,transfer:W,validateAddress:L1(y),verifySignature:M1(U)}}async function zU(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}function NU({assetValue:{chain:y}}){return t.AssetValue.from({chain:y,value:wU(y)})}async function W1(y,n){let{chainId:o,baseDecimal:f}=t.getChainConfig(y),T=await i0(o,n);return{average:t.SwapKitNumber.fromBigInt(BigInt(T),f),fast:t.SwapKitNumber.fromBigInt(BigInt(t.applyFeeMultiplier(T,t.FeeOption.Fast,!0)),f),fastest:t.SwapKitNumber.fromBigInt(BigInt(t.applyFeeMultiplier(T,t.FeeOption.Fastest,!0)),f)}}function OU(y,n){return{amount:[{amount:y.getBaseValue("string"),denom:n}],gas:"200000"}}function wU(y){return{[t.Chain.Cosmos]:0.007,[t.Chain.Kujira]:0.02,[t.Chain.Noble]:0.01,[t.Chain.THORChain]:0.02,[t.Chain.Maya]:0.02,[t.Chain.Harbor]:0.02}[y]||0}function L1(y){let n=t.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(n))return!1;try{let{prefix:T,words:C}=Af.bech32.decode(f);return Af.bech32.encode(T,C)===f.toLocaleLowerCase()}catch{return!1}}}function Q1(y){return async function(o){let f=await t.getRPCUrl(y);return(await(await ry(f)).getAllBalances(o)).map((U)=>({...U,denom:U.denom.includes("/")?U.denom.toUpperCase():U.denom}))}}function DU(y){return async function(o){let f=await import("@cosmjs/crypto"),T=f.stringToPath??f.default?.stringToPath,C=f.Slip10Curve??f.default?.Slip10Curve,H=f.Slip10??f.default?.Slip10,U=f.EnglishMnemonic??f.default?.EnglishMnemonic,_=f.Bip39??f.default?.Bip39,A=new U(o),Z=await _.mnemonicToSeed(A),{privkey:M}=H.derivePath(C.Secp256k1,Z,T(y));return M}}var Z1,J1,Af,t,g0,On,X1;var JT=P(()=>{zn();Z1=require("@cosmjs/crypto"),J1=require("@cosmjs/proto-signing"),Af=require("@scure/base"),t=require("@swapkit/helpers"),g0=require("@swapkit/helpers/api"),On=require("ts-pattern");X1={[t.Chain.Cosmos]:1000,[t.Chain.Kujira]:1000,[t.Chain.Noble]:1000,[t.Chain.THORChain]:5000000,[t.Chain.Maya]:5000000,[t.Chain.Harbor]:5000000}});function RU({prefix:y,derivationPath:n}){return async function(f,T=0){let C=await import("@cosmjs/amino"),H=C.Secp256k1HdWallet??C.default?.Secp256k1HdWallet,U=await import("@cosmjs/crypto"),_=U.stringToPath??U.default?.stringToPath;return H.fromMnemonic(f,{hdPaths:[_(`${n}/${T}`)],prefix:y})}}function kU(y){return qf.base64.encode(y)}function lU(y){return async function({wallet:o,tx:f}){let{msgs:T,accountNumber:C,sequence:H,chainId:U,fee:_,memo:A}=typeof f==="string"?JSON.parse(f):f,Z=(await o.getAccounts())?.[0]?.address||"",M=await Hf(y),W=await kf(),G=await V0(o,{aminoTypes:M,registry:W}),X=[];for(let D of T){let L=await Uf(D,y);X.push(L)}let{signatures:[Q]}=await G.sign(Z,X,_,A,{accountNumber:C,chainId:U,sequence:H});return{bodyBytes:await Nn({chain:y,memo:A,msgs:T.map(_f)}),signature:kU(Q)}}}function SU({prefix:y,chain:n}){return async function(f,T,C,H,U){let _=await s.getRPCUrl(n),{encodeSecp256k1Pubkey:A,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:W,fee:G}=JSON.parse(f),X=await Y1(C,H),Q=T.map((L)=>[Z(A(qf.base64.decode(L.pubKey)),y),qf.base64.decode(L.signature)]),B=await ry(_),{transactionHash:D}=await B.broadcastTx(M(X,W,G,U,new Map(Q)));return D}}async function Y1(y,n,o=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:T}=(await import("@cosmjs/amino")).default;return f(y.map((C)=>T(qf.base64.decode(C))),n,o)}function xU(y){return qf.base64.decode(y)}async function FU({privateKey:y,message:n}){let{Secp256k1:o}=(await import("@cosmjs/crypto")).default,f=await o.createSignature(qf.base64.decode(n),y);return qf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function d0({chain:y,...n}){let{isStagenet:o}=s.SKConfig.get("envs"),f=s.SKConfig.get("thornodeUrls"),T=y===s.Chain.Maya,C=Kf.match({isMayachain:T,isStagenet:o}).with({isMayachain:!0},({isStagenet:L})=>L?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:L})=>L?f.THOR_STAGENET:f.THOR),H=`${o?"s":""}${s.CosmosChainPrefixes[y]}`,U="index"in n?n.index||0:0,_="derivationPath"in n&&n.derivationPath?n.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[y],{index:U}),A=wn({chain:y,...n}),Z=dy(y),M;function W(){return M??=Kf.match(n).with({phrase:Kf.P.string},({phrase:L})=>A.getSignerFromPhrase({derivationPath:_,phrase:L})).with({signer:Kf.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function G(){let L=await s.getRPCUrl(y),w=await W();if(!w)throw new s.SwapKitError("toolbox_cosmos_no_signer");let N=await kf(),z=await Hf(y),J=await Rf(L,w,{aminoTypes:z,registry:N});return{signer:w,signingClient:J}}async function X({fee:L,memo:w,msgs:N}){let{signer:z,signingClient:J}=await G(),Y=(await z.getAccounts())?.[0]?.address;if(!Y)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");let R=await J.signAndBroadcast(Y,N,L,w);if(R.code!==0)throw new s.SwapKitError("core_swap_transaction_error",{code:R.code,message:R.rawLog});return R.transactionHash}async function Q(){let L,w=`${C}/${T?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:N}}=await s.RequestClient.get(w);if(!N||Number.isNaN(N)||N<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:N.toString()});L=new s.SwapKitNumber(N)}catch{L=new s.SwapKitNumber({decimal:s.getChainConfig(y).baseDecimal,value:T?1:0.02})}return{[s.FeeOption.Average]:L,[s.FeeOption.Fast]:L,[s.FeeOption.Fastest]:L}}async function B({assetValue:L,memo:w="",recipient:N}){let{TxRaw:z}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:J,signingClient:Y}=await G(),R=(await J.getAccounts())?.[0]?.address;if(!R)throw new s.SwapKitError("toolbox_cosmos_no_signer");let l="signAmino"in J,q=ZT({assetValue:L,memo:w,recipient:N,sender:R});if(l){let x=await Uf(q,y),{signatures:F,authInfoBytes:u}=await Y.sign(R,[x],Z,w),h=z.encode({authInfoBytes:u,bodyBytes:await Nn({chain:y,memo:w,msgs:[q].map(_f)}),signatures:F}).finish();return(await Y.broadcastTx(h)).transactionHash}let O=_f(q),k=await Uf(O,y);return X({fee:Z,memo:w,msgs:[k]})}async function D(L){let{signer:w,signingClient:N}=await G(),z=(await w.getAccounts())?.[0]?.address;if(!z)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");return N.sign(z,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{...A,broadcastMultisigTx:SU({chain:y,prefix:H}),buildAminoMsg:ZT,buildEncodedTxBody:Nn,convertToSignable:Uf,createDefaultAminoTypes:()=>Hf(y),createDefaultRegistry:kf,createMultisig:Y1,createTransaction:h0,deposit:B,getFees:Q,importSignature:xU,parseAminoMessageForDirectSigning:_f,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:w}=(await import("@cosmjs/amino")).default;return w(L,H)},secp256k1HdWalletFromMnemonic:RU({derivationPath:s.derivationPathToString(_),prefix:H}),signAndBroadcastTransaction:X,signMultisigTx:lU(y),signTransaction:D,signWithPrivateKey:FU,transfer:B}}var qf,s,Kf;var r0=P(()=>{m0();zn();JT();qf=require("@scure/base"),s=require("@swapkit/helpers"),Kf=require("ts-pattern")});var Gf,$U=(y,n)=>{switch(y){case Gf.Chain.Cosmos:case Gf.Chain.Kujira:case Gf.Chain.Noble:return wn({chain:y,...n});case Gf.Chain.Maya:case Gf.Chain.THORChain:return d0({chain:y,...n});default:throw new Gf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var B1=P(()=>{JT();r0();Gf=require("@swapkit/helpers");JT();r0()});var MT={};My(MT,{verifySignature:()=>M1,transferMsgAmino:()=>j0,toBase64:()=>QU,parseAminoMessageForDirectSigning:()=>_f,getSignerFromPrivateKey:()=>BU,getSignerFromPhrase:()=>c0,getMsgSendDenom:()=>Cf,getFeeRateFromSwapKit:()=>zU,getDenomWithChain:()=>Bn,getDefaultChainFee:()=>dy,getCosmosToolbox:()=>$U,getCosmosAddressValidator:()=>L1,getAssetFromDenom:()=>u0,fromBase64:()=>ZU,fetchFeeRateFromSwapKit:()=>i0,estimateTransactionFee:()=>NU,depositMsgAmino:()=>K0,createTransaction:()=>h0,createThorchainToolbox:()=>d0,createStargateClient:()=>ry,createSigningStargateClient:()=>Rf,createOfflineStargateClient:()=>V0,createDefaultRegistry:()=>kf,createDefaultAminoTypes:()=>Hf,createCosmosToolbox:()=>wn,cosmosCreateTransaction:()=>b0,convertToSignable:()=>Uf,buildTransferTx:()=>U1,buildEncodedTxBody:()=>Nn,buildDepositTx:()=>_1,buildAminoMsg:()=>ZT,bech32ToBase64:()=>Ln,base64ToBech32:()=>Yn,YUM_KUJIRA_FACTORY_DENOM:()=>eC,USK_KUJIRA_FACTORY_DENOM:()=>E0,THORCHAIN_GAS_VALUE:()=>LU,MAYA_GAS_VALUE:()=>YU,DEFAULT_NOBLE_FEE_MAINNET:()=>n1,DEFAULT_KUJI_FEE_MAINNET:()=>f1,DEFAULT_COSMOS_FEE_MAINNET:()=>y1});module.exports=Ny(MT);var LT=P(()=>{m0();B1();zn()});function IU({builder:y,grouping:n="na",orders:o}){return{builder:y,grouping:n,orders:o,type:"order"}}function PU({cancels:y}){return{cancels:y,type:"cancel"}}function tU({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function pU({oid:y,order:n}){return{oid:y,order:n,type:"modify"}}function EU({modifies:y}){return{modifies:y,type:"batchModify"}}function VU({asset:y,isCross:n,leverage:o}){return{asset:y,isCross:n,leverage:o,type:"updateLeverage"}}function bU({asset:y,isBuy:n,ntli:o}){return{asset:y,isBuy:n,ntli:o,type:"updateIsolatedMargin"}}function uU({asset:y,leverage:n}){return{asset:y,leverage:n,type:"topUpIsolatedOnlyMargin"}}function vU({time:y}){return{time:y,type:"scheduleCancel"}}function jU({amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T}){return{amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T,type:"usdClassTransfer"}}function KU({amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_}){return{amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_,type:"sendAsset"}}function hU({agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T}){return{agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T,type:"approveAgent"}}function mU({builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T}){return{builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T,type:"approveBuilderFee"}}function cU({hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,validator:T,wei:C}){return{hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,type:"tokenDelegate",validator:T,wei:C}}function Fy(...y){let n=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(n),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function sU(y,n,o){if(o<n)return new Uint8Array([y+o]);if(o<=255)return new Uint8Array([y+n,o]);if(o<=65535)return new Uint8Array([y+n+1,o>>8,o&255]);return new Uint8Array([y+n+2,o>>>24&255,o>>>16&255,o>>>8&255,o&255])}function Xf(y,n){let o=new Uint8Array(n),f=y;for(let T=n-1;T>=0;T-=1)o[T]=Number(f&0xffn),f>>=8n;return o}function z1(y){if(y>=0n){if(y<=0x7fn)return new Uint8Array([Number(y)]);if(y<=0xffn)return new Uint8Array([204,Number(y)]);if(y<=0xffffn)return Fy(new Uint8Array([205]),Xf(y,2));if(y<=0xffffffffn)return Fy(new Uint8Array([206]),Xf(y,4));return Fy(new Uint8Array([207]),Xf(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return Fy(new Uint8Array([209]),Xf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return Fy(new Uint8Array([210]),Xf(BigInt.asUintN(32,y),4));return Fy(new Uint8Array([211]),Xf(BigInt.asUintN(64,y),8))}function w1(y){let n=aU.encode(y);if(n.length<32)return Fy(new Uint8Array([160+n.length]),n);return Fy(sU(217,0,n.length),n)}function eU(y){let n=y.map((f)=>a0(f)),o=y.length<16?new Uint8Array([144+y.length]):y.length<=65535?new Uint8Array([220,y.length>>8,y.length&255]):new Uint8Array([221,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Fy(o,...n)}function y2(y){let n=Object.entries(y).filter(([,f])=>typeof f<"u"),o=n.length<16?new Uint8Array([128+n.length]):n.length<=65535?new Uint8Array([222,n.length>>8,n.length&255]):new Uint8Array([223,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Fy(o,...n.flatMap(([f,T])=>[w1(f),a0(T)]))}function a0(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return w1(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new YT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return z1(BigInt(y))}if(typeof y==="bigint")return z1(y);if(y instanceof Uint8Array){let n=y.length<=255?new Uint8Array([196,y.length]):y.length<=65535?new Uint8Array([197,y.length>>8,y.length&255]):new Uint8Array([198,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Fy(n,y)}if(Array.isArray(y))return eU(y);if(typeof y==="object")return y2(y);throw new YT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function f2(y){let n=y.startsWith("0x")?y.slice(2):y;if(n.length%2!==0||/[^a-fA-F0-9]/u.test(n))throw new YT.SwapKitError("helpers_invalid_params",{hexValue:y});let o=new Uint8Array(n.length/2);for(let f=0;f<n.length;f+=2)o[f/2]=Number.parseInt(n.slice(f,f+2),16);return o}function D1(y){return{domain:gU,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...iU.Agent]}}}function R1(y){let n=rU[y.type],o=dU[y.type],{type:f,...T}=y;return{domain:{chainId:Number.parseInt(T.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:N1,version:"1"},message:{...T,hyperliquidChain:T.hyperliquidChain||O1},primaryType:n,types:{[n]:o}}}function k1(y){let n=BT.Signature.from(y);return{r:n.r,s:n.s,v:n.v}}function l1(y,n,{expiresAfter:o,vaultAddress:f}={}){let T=a0(y),C=Xf(BigInt(n),8),H=f?Fy(new Uint8Array([1]),f2(f.toLowerCase())):new Uint8Array([0]),U=typeof o==="number"?Fy(new Uint8Array([0]),Xf(BigInt(o),8)):new Uint8Array;return BT.keccak256(Fy(T,C,H,U))}function S1(y){let n=y.hyperliquidChain||O1;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:n};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:n};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:n};case"tokenDelegate":return{...y,hyperliquidChain:n,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:n};default:return y}}var YT,BT,N1="0x0000000000000000000000000000000000000000",gU,iU,O1="Mainnet",dU,rU,aU;var x1=P(()=>{YT=require("@swapkit/helpers"),BT=require("ethers"),gU={chainId:1337,name:"Exchange",verifyingContract:N1,version:"1"},iU={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},dU={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},rU={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},aU=new TextEncoder});function Ey(y,n){if(!yo(y))throw new yy.SwapKitError(n,{address:y});return y.toLowerCase()}async function lf(y){let n=await zT();return yy.RequestClient.post(`${n}/info`,{json:y})}function _2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"clearinghouseState",user:Ey(n,"helpers_invalid_params")})}function A2({user:y}){return lf({type:"spotClearinghouseState",user:Ey(y,"helpers_invalid_params")})}function q2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"openOrders",user:Ey(n,"helpers_invalid_params")})}function G2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"frontendOpenOrders",user:Ey(n,"helpers_invalid_params")})}function X2({oidOrCloid:y,user:n}){return lf({oid:y,type:"orderStatus",user:Ey(n,"helpers_invalid_params")})}function W2({aggregateByTime:y,user:n}){return lf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:Ey(n,"helpers_invalid_params")})}function Q2({aggregateByTime:y,endTime:n,startTime:o,user:f}){return lf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof n==="number"?{endTime:n}:{},startTime:o,type:"userFillsByTime",user:Ey(f,"helpers_invalid_params")})}function F1({coin:y,token:n,value:o,spotMeta:f}){if(!o||Number(o)<=0)return null;let T=y?.toUpperCase()||`TOKEN-${n||"UNKNOWN"}`,C=n2[T]||P1,H=f?.tokens?.find((_)=>_.name===y||n!==void 0&&_.index===Number(n)),U=H?`${my}.${T}-${H.name}:${H.tokenId}`:`${my}.${T}`;return new yy.AssetValue({decimal:C,identifier:U,value:o})}function Z2(y){let n=new Map;for(let o of y){let f=o.toString({includeSynthProtocol:!0}),T=n.get(f);n.set(f,T?T.add(o):o)}if(![...n.values()].some((o)=>o.isGasAsset||o.ticker==="HYPE")){let o=yy.AssetValue.from({chain:my,value:0});n.set(o.toString({includeSynthProtocol:!0}),o)}return[...n.values()]}async function zT(){try{return await yy.getRPCUrl(my)}catch{let[y]=yy.getChainConfig(my).rpcUrls;if(!y)throw new yy.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:my});return y}}async function e0(){return`${await zT()}/exchange`}function J2(y){let n=U2[y.type],{type:o,...f}=y,T=H2[o];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:C2,version:"1"},message:f,primaryType:n,types:{[n]:T}}}async function t1({action:y,expiresAfter:n,nonce:o,vaultAddress:f}){let T=o||Date.now(),C=f?Ey(f,"helpers_invalid_params"):void 0,H=await e0(),U=l1(y,T,{expiresAfter:n,vaultAddress:C});return{action:y,endpoint:H,expiresAfter:n,nonce:T,typedData:D1(U),vaultAddress:C}}async function p1({action:y,nonce:n,signatureChainId:o}){let f=n||y.nonce||Date.now(),T=o||y.signatureChainId||"0xa4b1",C=S1({...y,nonce:f,signatureChainId:T});return{action:C,endpoint:await e0(),nonce:f,typedData:R1(C)}}async function s0({assetValue:y,recipient:n,sender:o,signatureChainId:f,time:T}){let C=Ey(n,"core_transaction_invalid_recipient_address"),H=Ey(o,"core_transaction_invalid_sender_address"),U=await e0(),_=y.getValue("string"),A=T||Date.now(),Z=y.address;if(!Z)throw new yy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:H});let M={amount:_,destination:C,hyperliquidChain:T2,signatureChainId:f||o2,time:A,token:Z,type:"spotSend"};return{action:M,endpoint:U,nonce:A,typedData:J2(M)}}async function $1(y){let n=await yy.RequestClient.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(n.status!=="ok")throw new yy.SwapKitError("core_transaction_failed",{response:n});return n}async function M2(y,n){let o=await zT(),f=n-5000;for(let T=0;T<5;T++){if(T>0)await new Promise((C)=>setTimeout(C,1000));try{let C=await yy.RequestClient.post(`${o}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),H=Array.isArray(C)?C.find((U)=>U.time&&U.time>=n&&(U.delta?.type==="spotTransfer"||U.delta?.type==="internalTransfer")):void 0;if(H?.hash)return H.hash}catch{}}return""}function yo(y){return y.startsWith("0x")&&Wn(y)}function L2(y){let n=Sy(my),o=y&&"index"in y?y.index||0:0,f=yy.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[my],{index:o})),T,C=!1;function H(){if(C)return T;return T=hf.match(y).with({phrase:hf.P.string},({phrase:W})=>{return I1.HDNodeWallet.fromPhrase(W,void 0,f)}).with({signer:hf.P.not(hf.P.nullish)},({signer:W})=>W).otherwise(()=>{return}),C=!0,T}async function U(){let W=H();return W?await W.getAddress():""}async function _(W){let G=H();if(!G)throw new yy.SwapKitError("toolbox_hypercore_no_signer");let X=await G.signTypedData(W.typedData.domain,W.typedData.types,W.typedData.message);return{action:W.action,endpoint:W.endpoint,nonce:W.nonce,signature:k1(X),..."expiresAfter"in W?{expiresAfter:W.expiresAfter}:{},..."vaultAddress"in W?{vaultAddress:W.vaultAddress}:{}}}async function A(W){let G=Ey(W,"helpers_invalid_params");try{let X=await zT(),[Q,B,D]=await Promise.all([yy.RequestClient.post(`${X}/info`,{json:{type:"spotClearinghouseState",user:G}}),yy.RequestClient.post(`${X}/info`,{json:{type:"clearinghouseState",user:G}}),yy.RequestClient.post(`${X}/info`,{json:{type:"spotMeta"}})]),L=(Q.spotState?.balances||Q.balances||[]).map(({coin:N,token:z,total:J})=>F1({coin:N,spotMeta:D,token:z,value:J})).filter((N)=>!!N),w=F1({coin:"USDC",spotMeta:D,value:B.withdrawable||B.marginSummary?.accountValue||B.marginSummary?.totalRawUsd});return Z2(w?[...L,w]:L)}catch{return n(G)}}async function Z(W){let G=H();if(!G)throw new yy.SwapKitError("toolbox_hypercore_no_signer");let X=W.sender||await G.getAddress(),Q=await s0({...W,feeRate:0,sender:X}),B=await _(Q);return await $1(B),M2(X,Q.nonce)}function M(){return yy.AssetValue.from({chain:my,value:0})}return{broadcastTransaction:$1,createL1ActionRequest:t1,createTransaction:s0,createUserSignedActionRequest:p1,estimateTransactionFee:M,getAddress:U,getBalance:A,getState:{clearinghouse:_2,frontendOpenOrders:G2,openOrders:q2,orderStatus:X2,spotClearinghouse:A2,userFills:W2,userFillsByTime:Q2},signTransaction:_,transfer:Z,validateAddress:yo}}var yy,I1,hf,my,P1,n2,T2="Mainnet",o2="0xa4b1",C2="0x0000000000000000000000000000000000000000",H2,U2;var E1=P(()=>{F0();iy();x1();yy=require("@swapkit/helpers"),I1=require("ethers"),hf=require("ts-pattern"),my=yy.Chain.HyperCore,{baseDecimal:P1}=yy.getChainConfig(my),n2={HYPE:P1,USDC:6,USDT:6},H2={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},U2={spotSend:"HyperliquidTransaction:SpotSend"}});var fo={};My(fo,{validateHyperCoreAddress:()=>yo,getHyperCoreToolbox:()=>L2,createUserSignedActionRequest:()=>p1,createTransaction:()=>s0,createL1ActionRequest:()=>t1,buildUsdClassTransferAction:()=>jU,buildUpdateLeverageAction:()=>VU,buildUpdateIsolatedMarginAction:()=>bU,buildTopUpIsolatedOnlyMarginAction:()=>uU,buildTokenDelegateAction:()=>cU,buildSendAssetAction:()=>KU,buildScheduleCancelAction:()=>vU,buildOrderAction:()=>IU,buildModifyAction:()=>pU,buildCancelByCloidAction:()=>tU,buildCancelAction:()=>PU,buildBatchModifyAction:()=>EU,buildApproveBuilderFeeAction:()=>mU,buildApproveAgentAction:()=>hU});module.exports=Ny(fo);var no=P(()=>{E1()});async function u1(y){let n=r.AssetValue.from({address:y,chain:r.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:y,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let o=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(o);if(!f.ok)return null;let T=await f.json();if(!Array.isArray(T)||T.length===0)return null;return T.find((H)=>H.id===y)||null}catch{return null}}async function Y2(y){let n=await ay(),{PublicKey:o}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),T=new o(y),{baseDecimal:C}=r.getChainConfig(r.Chain.Solana),H=await n.getBalance(T),U=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:C,value:H||0})],_=await n.getParsedTokenAccountsByOwner(T,{programId:f});for(let{account:A}of _.value){let Z=A.data.parsed.info,M=Z.mint,W=Z.tokenAmount.amount;if(Number(W)===0)continue;let G=await u1(M),X=G?.symbol||"UNKNOWN",Q=G?.decimals||Z.tokenAmount.decimals;U.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${X}-${M}`,fromBaseDecimal:Q,value:W}))}return U}function oo(y){try{let n=new sy.PublicKey(y);return sy.PublicKey.isOnCurve(n.toBytes())}catch{return!1}}function B2(y){let n=y&&"index"in y?y.index||0:0,o=r.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:n})),f;async function T(){if(f)return f;return f=await Dn.match(y).with({phrase:Dn.P.string},({phrase:H})=>To({derivationPath:o,phrase:H})).with({signer:Dn.P.any},({signer:H})=>H).otherwise(()=>{return}),f}async function C(){let H=await T();return H?.publicKey?b1(H.publicKey):""}return{broadcastTransaction:NT(ay),createKeysForPath:To,createTransaction:Co(ay),createTransactionFromInstructions:w2,estimateTransactionFee:z2(ay),getAddress:C,getAddressFromPubKey:b1,getBalance:Sy(r.Chain.Solana),getBalanceFromRPC:Y2,getConnection:ay,getPubkeyFromAddress:(H)=>new sy.PublicKey(H),signAndBroadcastTransaction:async(H)=>{let U=await V1(ay,T)(H);return NT(ay)(U)},signTransaction:V1(ay,T),transfer:D2(ay,T),validateAddress:oo}}function z2(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let H=await y(),_=(await Co(y)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:n,sender:C})).compileMessage(),A=await H.getFeeForMessage(_);if(A.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Z}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:Z,value:A.value})}}async function ay(){let{Connection:y}=await import("@solana/web3.js"),n=await r.getRPCUrl(r.Chain.Solana);return new y(n,{commitment:"confirmed",fetchMiddleware:(o,f,T)=>{let C={};for(let[H,U]of Object.entries(f?.headers??{})){let _=H.toLowerCase();if(_!=="pragma"&&_!=="solana-client")C[H]=U}T(o,{...f,headers:C})}})}function N2(y){return async({assetValue:n,recipient:o,sender:f,isProgramDerivedAddress:T})=>{let C=await y(),H=new sy.PublicKey(f);if(n.isGasAsset){let{Transaction:U,SystemProgram:_}=await import("@solana/web3.js");return new U().add(_.transfer({fromPubkey:H,lamports:n.getBaseValue("number"),toPubkey:new sy.PublicKey(o)}))}if(n.address)return O2({amount:n.getBaseValue("number"),connection:C,decimals:n.decimal,from:H,isProgramDerivedAddress:T,recipient:o,tokenAddress:n.address});return}}async function O2({tokenAddress:y,recipient:n,from:o,connection:f,amount:T,decimals:C,isProgramDerivedAddress:H}){let{getAssociatedTokenAddress:U,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:Z}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),W=new M,G=new sy.PublicKey(y),X=await U(G,o),Q=new sy.PublicKey(n),B=await U(G,Q,H),D=!1;try{await _(f,B),D=!0}catch{}if(!D)W.add(A(o,B,Q,G));return W.add(Z(X,G,B,o,T,C)),W}function Co(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let{createMemoInstruction:H}=await import("@solana/spl-memo"),U=new sy.PublicKey(C);if(!(T||oo(n)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let _=await y(),A=await N2(y)({assetValue:o,isProgramDerivedAddress:T,recipient:n,sender:C});if(!A)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(f)A.add(H(f));let Z=await _.getLatestBlockhash();return A.recentBlockhash=Z.blockhash,A.feePayer=U,A}}async function w2({instructions:y}){let{Transaction:n}=await import("@solana/web3.js"),o=new n().add(...y);if(!o)throw new r.SwapKitError("core_transaction_invalid_sender_address");return o}function D2(y,n){return async({recipient:o,assetValue:f,memo:T,isProgramDerivedAddress:C})=>{let H=await n();if(!H)throw new r.SwapKitError("core_transaction_invalid_sender_address");let U=H.publicKey?.toString()??(await H.connect()).publicKey.toString(),_=await Co(y)({assetValue:f,isProgramDerivedAddress:C,memo:T,recipient:o,sender:U});if("signTransaction"in H){let A=await H.signTransaction(_);return NT(y)(A)}return _.sign(H),NT(y)(_)}}function NT(y){return async(n)=>{return(await y()).sendRawTransaction(n.serialize())}}function V1(y,n){return async(o)=>{let f=await n();if(!f)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:T}=await import("@solana/web3.js");if(!(o instanceof T)){let H=await(await y()).getLatestBlockhash();o.recentBlockhash=H.blockhash,o.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(o);return o.sign([f]),o}}async function To({phrase:y,derivationPath:n=r.DerivationPath.SOL}){let{HDKey:o}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:T}=await import("@solana/web3.js"),C=f(y),H=o.fromMasterSeed(C);return T.fromSeed(H.derive(n,!0).privateKey)}function b1(y){return y.toString()}var sy,r,Dn;var v1=P(()=>{iy();sy=require("@solana/web3.js"),r=require("@swapkit/helpers"),Dn=require("ts-pattern")});var Ho={};My(Ho,{validateSolanaAddress:()=>oo,getSolanaToolbox:()=>B2,fetchTokenMetaData:()=>u1,createKeysForPath:()=>To});module.exports=Ny(Ho);var Uo=P(()=>{v1()});function OT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function wT({phrase:y,derivationPath:n=m.DerivationPath.STRK}){let{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:T,hash:C,encode:H,CallData:U}=await import("starknet"),_=f(y),Z=o.fromMasterSeed(_).derive(n);if(!Z.privateKey)throw new m.SwapKitError("toolbox_starknet_no_signer");let M=H.addHexPrefix(Buffer.from(Z.privateKey).toString("hex")),W=T.starkCurve.grindKey(M),G=H.addHexPrefix(W),X=T.starkCurve.getStarkKey(G),Q=U.compile([X,0]);return{address:C.calculateContractAddressFromHash(X,Ao,Q,0),privateKey:G,publicKey:X}}async function qo({phrase:y,derivationPath:n=m.DerivationPath.STRK}){let{Account:o,RpcProvider:f}=await import("starknet"),{privateKey:T,address:C}=await wT({derivationPath:n,phrase:y}),H=await m.getRPCUrl(m.Chain.Starknet),U=new f({nodeUrl:H});return new o({address:C,provider:U,signer:T})}function K1(y){let n=m.Chain.Starknet,o=y&&"index"in y?y.index||0:0,f=m.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[n],{index:o})),T,C,H;async function U(){if(C)return C;let{RpcProvider:z}=await import("starknet"),J=await m.getRPCUrl(n);return C=new z({nodeUrl:J}),C}async function _(z){let J=await U(),Y=z||await W();if(!Y)return!1;try{return await J.getClassHashAt(Y),!0}catch(R){if(R instanceof Error&&R.message.includes("Contract not found"))return!1;let l=R;if(l?.code===20||l?.code===19)return!1;throw R}}async function A(){let{CallData:z,hash:J}=await import("starknet"),Y=await U(),R=await M();if(!R)throw new m.SwapKitError("toolbox_starknet_no_signer");if(!H)throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return R.address;let q=z.compile([H,0]);if(J.calculateContractAddressFromHash(H,Ao,q,0).toLowerCase()!==R.address.toLowerCase())throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let k={addressSalt:H,classHash:Ao,constructorCalldata:q},{transaction_hash:x}=await R.deployAccount(k);return await Y.waitForTransaction(x),x}async function Z(){if(!await _()){if(!H)throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await A()}}async function M(){if(T)return T;return T=await Vy.match(y).with({phrase:Vy.P.string},async({phrase:z})=>{let{Account:J,RpcProvider:Y}=await import("starknet"),{privateKey:R,address:l,publicKey:q}=await wT({derivationPath:f,phrase:z});H=q;let O=await m.getRPCUrl(m.Chain.Starknet),k=new Y({nodeUrl:O});return new J({address:l,provider:k,signer:R})}).with({address:Vy.P.string,privateKey:Vy.P.string},async({privateKey:z,address:J})=>{let{Account:Y}=await import("starknet"),R=await U();return new Y({address:J,provider:R,signer:z})}).with({signer:Vy.P.instanceOf(Object)},({signer:z})=>z).otherwise(()=>{return}),T}async function W(){return(await M())?.address??""}async function G(z){let J=await U(),{uint256:Y,CallData:R}=await import("starknet"),l=[],q=[_o,j1];for(let O of q)try{let[k="0",x="0"]=await J.callContract({calldata:R.compile({account:z}),contractAddress:O,entrypoint:"balanceOf"}),F=Y.uint256ToBN({high:k,low:x});Vy.match(O).with(_o,()=>{l.push(m.AssetValue.from({chain:n,value:F}))}).with(j1,()=>{if(F>0n)l.push(m.AssetValue.from({asset:`${n}.ETH-${O}`,value:F}))}).otherwise(()=>{})}catch{}return l}async function X({recipient:z,assetValue:J}){let{CallData:Y,uint256:R}=await import("starknet");if(!OT(z))throw new m.SwapKitError("core_transaction_invalid_recipient_address",{address:z});let l=J.isGasAsset?_o:J.address;if(!l)throw new m.SwapKitError("toolbox_starknet_invalid_address",{address:l,assetValue:J});let q=R.bnToUint256(J.getBaseValue("bigint"));return[{calldata:Y.compile([z,q]),contractAddress:l,entrypoint:"transfer"}]}async function Q({recipient:z,assetValue:J,sender:Y}){let{baseDecimal:R}=m.getChainConfig(m.Chain.Starknet),l=await M(),q=await Vy.match({sender:Y,signer:l}).with({sender:Vy.P.string},async({sender:O})=>{let{Account:k}=await import("starknet"),x=await U();return new k({address:O,provider:x,signer:"0x0"})}).with({signer:Vy.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new m.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await X({assetValue:J,recipient:z}),k=await q.estimateInvokeFee(O);if(k?.overall_fee)return m.AssetValue.from({chain:n,fromBaseDecimal:R,value:k.overall_fee})}catch(O){throw new m.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return m.AssetValue.from({chain:n,value:"0.00001"})}async function B({recipient:z,assetValue:J,memo:Y}){let R=await M();if(!R)throw new m.SwapKitError("toolbox_starknet_no_signer");await Z();let l=await X({assetValue:J,memo:Y,recipient:z});return(await R.execute(l)).transaction_hash}async function D(z){let J=await M();if(!J)throw new m.SwapKitError("toolbox_starknet_no_signer");let Y=await J.signMessage(z);return Array.isArray(Y)?Y:[Y.r.toString(),Y.s.toString()]}async function L(z){let J=await M();if(!J)throw new m.SwapKitError("toolbox_starknet_no_signer");return await Z(),(await J.execute(z)).transaction_hash}function w(z){return L(z)}function N(z,J=!0){try{return Sy(n)(z,J)}catch{return G(z)}}return{broadcastTransaction:L,createKeysForPath:qo,createTransaction:X,deployAccount:A,estimateTransactionFee:Q,getAddress:W,getBalance:N,getProvider:U,isAccountDeployed:_,signAndBroadcastTransaction:w,signMessage:D,transfer:B,validateAddress:OT}}var m,Vy,_o="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",j1="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ao="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var h1=P(()=>{iy();m=require("@swapkit/helpers"),Vy=require("ts-pattern")});var DT={};My(DT,{validateStarknetAddress:()=>OT,starknetCreateKeysForPath:()=>qo,getStarknetToolbox:()=>K1,deriveStarknetKeys:()=>wT});module.exports=Ny(DT);var RT=P(()=>{h1()});async function g1(y,n,o,f=[],T){let C=await y.getCoins({coinType:o,cursor:T,owner:n}),H=[...f,...C.data];return C.hasNextPage?g1(y,n,o,H,C.nextCursor):H}function R2(y,n,o){let f=n.reduce((_,A)=>_+BigInt(A.balance),0n);if(f<o)throw new Ty.SwapKitError("toolbox_sui_insufficient_balance",{available:f.toString(),required:o.toString()});let{ids:T}=n.reduce((_,A)=>{if(_.total>=o)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),C=T[0],H=T.slice(1);if(H.length>0)y.mergeCoins(C,H);let[U]=y.splitCoins(C,[o]);return U}function i1(y){try{return c1.isValidSuiAddress(y)}catch{return!1}}function m1(y){return"signWithIntent"in y}function k2({provider:y,...n}={}){let o;async function f(){if(o)return o;return o=await Rn.match(n).with({phrase:Rn.P.string},async({phrase:X})=>{let{Ed25519Keypair:Q}=await import("@mysten/sui/keypairs/ed25519");return Q.deriveKeypair(X)}).with({signer:Rn.P.any},({signer:X})=>X).otherwise(()=>{return}),o}async function T(X=y){let{SuiClient:Q,getFullnodeUrl:B}=await import("@mysten/sui/client");return new Q({url:X||B("mainnet")})}async function C(){return(await f())?.toSuiAddress()||""}function H(X){try{let Q=Ty.AssetValue.from({address:X,chain:Ty.Chain.Sui});return{asset:Q.toString(),decimals:Q.decimal}}catch{}return null}async function U(X){let Q=X||await C();if(!Q)throw new Ty.SwapKitError("toolbox_sui_address_required");let{baseDecimal:B,chain:D}=Ty.getChainConfig(Ty.Chain.Sui);try{let L=await T(),{totalBalance:w}=await L.getBalance({owner:Q}),N=[Ty.AssetValue.from({chain:D,fromBaseDecimal:B,value:w})],z=await L.getAllBalances({owner:Q});for(let{coinType:J,totalBalance:Y}of z){if(J==="0x2::sui::SUI"||Number(Y)<=0)continue;let R=H(J);if(R)N.push(Ty.AssetValue.from({asset:R.asset,fromBaseDecimal:R.decimals,value:Y}))}return N}catch{return[Ty.AssetValue.from({chain:D})]}}async function _(X){let Q=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!X)return Q;try{let B=await T(),{txBytes:D}=await A(X),{effects:{status:L,gasUsed:w}}=await B.dryRunTransactionBlock({transactionBlock:D});if(L.status!=="success")return Q;let N=Number(w.computationCost)+Number(w.storageCost)-Number(w.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,value:N.toString()})}catch{return Q}}async function A({recipient:X,assetValue:Q,gasBudget:B,sender:D}){let{Transaction:L}=await import("@mysten/sui/transactions"),w=D||await C();if(!w)throw new Ty.SwapKitError("toolbox_sui_no_sender");try{let N=new L;if(N.setSender(w),Q.isGasAsset||Q.symbol==="SUI"){let[Y]=N.splitCoins(N.gas,[Q.getBaseValue("string")]);N.transferObjects([Y],X)}else{let Y=Q.address;if(!Y)throw new Ty.SwapKitError("toolbox_sui_missing_coin_type");let R=await T(),l=Q.getBaseValue("bigint"),q=await g1(R,w,Y);if(!q.length)throw new Ty.SwapKitError("toolbox_sui_no_coins_found",{coinType:Y});let O=R2(N,q,l);N.transferObjects([O],X)}if(B)N.setGasBudget(B);let z=await T(),J=await N.build({client:z});return{tx:N,txBytes:J}}catch(N){if(N instanceof Ty.SwapKitError)throw N;throw new Ty.SwapKitError("toolbox_sui_transaction_creation_error",{error:N})}}async function Z(X){let Q=await f();if(!Q)throw new Ty.SwapKitError("toolbox_sui_no_signer");if(X instanceof Uint8Array)return Q.signTransaction(X);let{txBytes:B}="tx"in X?X:await A(X);return Q.signTransaction(B)}async function M({assetValue:X,gasBudget:Q,recipient:B}){let D=await f();if(!D)throw new Ty.SwapKitError("toolbox_sui_no_signer");let L=D.toSuiAddress()||await C();if(!L)throw new Ty.SwapKitError("toolbox_sui_no_sender");let{txBytes:w}=await A({assetValue:X,gasBudget:Q,recipient:B,sender:L}),N=await T();if(!m1(D)){let J=await D.signTransaction(w),{digest:Y}=await N.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return Y}let{digest:z}=await N.signAndExecuteTransaction({signer:D,transaction:w});return z}async function W(X){let Q=await T(),{digest:B}=await Q.executeTransactionBlock({signature:X.signature,transactionBlock:X.bytes});return B}async function G(X){let Q=await f();if(!Q)throw new Ty.SwapKitError("toolbox_sui_no_signer");let B=await T(),D;if(typeof X==="string")D=Uint8Array.from(Buffer.from(X,"base64"));else if(X instanceof Uint8Array)D=X;else D=await X.build({client:B});if(!m1(Q)){let w=await Q.signTransaction(D),{digest:N}=await B.executeTransactionBlock({signature:w.signature,transactionBlock:w.bytes});return N}let{digest:L}=await B.signAndExecuteTransaction({signer:Q,transaction:D});return L}return{broadcastTransaction:W,createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:U,signAndBroadcastTransaction:G,signTransaction:Z,transfer:M,validateAddress:i1}}var c1,Ty,Rn;var d1=P(()=>{c1=require("@mysten/sui/utils"),Ty=require("@swapkit/helpers"),Rn=require("ts-pattern")});var kT={};My(kT,{validateSuiAddress:()=>i1,getSuiToolbox:()=>k2});module.exports=Ny(kT);var lT=P(()=>{d1()});async function $2(){let y=Date.now();if(ST&&y-a1<F2)return ST;try{return ST=await s1.getHttpEndpoint(),a1=y,ST}catch{return Wy.getRPCUrl(Wy.Chain.Ton)}}function I2(y={}){let n,o,f;async function T(){if(!n){let N=y.provider??await $2();n=new g.TonClient({endpoint:N})}return n}async function C(){return(await U()).address.toString()}async function H(){if(f)return f;return f=await Sf.match(y).with({phrase:Sf.P.string},async({phrase:N})=>e1.mnemonicToWalletKey(N.split(" "))).with({signer:Sf.P.any},({signer:N})=>N).otherwise(()=>{return}),f}async function U(N){if(!o||N){let z=await H(),J=await T(),Y=N||z;if(!Y)throw new Wy.SwapKitError("core_wallet_connection_not_found");let R=g.WalletContractV4.create({publicKey:Y.publicKey,workchain:0});o=J.open(R)}return o}let _=Sy(Wy.Chain.Ton);async function A({assetValue:N,recipient:z,memo:J,sender:Y}){if(N.isGasAsset){let h=J?w(J).toBoc().toString("base64"):void 0;return[{address:z,amount:N.getBaseValue("string"),payload:h}]}let R=N.address;if(!R)throw new Wy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:N.toString()}});let l=Y??await C(),q=await D({jettonMasterAddress:R,ownerAddress:l}),O=g.Address.parse(z),k=g.Address.parse(l),x=N.getBaseValue("bigint"),F=J?w(J):void 0,u=L({destinationAddress:O,forwardPayload:F,jettonAmount:x,responseAddress:k});return[{address:q.toString(),amount:x2.toString(),payload:u.toBoc().toString("base64")}]}function Z({sender:N,...z}){return A({...z,sender:N})}function M(N){return N.map((z)=>{let J=z.payload?g.Cell.fromBase64(z.payload):void 0,Y=z.stateInit?g.loadStateInit(g.Cell.fromBase64(z.stateInit).asSlice()):void 0,R=g.Address.parse(z.address),l=g.Address.isFriendly(z.address)?g.Address.parseFriendly(z.address).isBounceable:!0;return g.internal({body:J,bounce:l,init:Y,to:R,value:BigInt(z.amount)})})}async function W(N){let z=await H(),J=await U();if(!J||!z)throw new Wy.SwapKitError("core_wallet_connection_not_found");let Y=await T(),{state:R}=await Y.getContractState(J.address),l=R==="active",q=l?await J.getSeqno():0,O=J.createTransfer({messages:M(N),secretKey:z.secretKey,sendMode:r1,seqno:q}),k=g.external({body:O,init:l?void 0:J.init,to:J.address});return g.beginCell().store(g.storeMessage(k)).endCell()}async function G(N){return await(await T()).sendFile(N.toBoc()),N.hash().toString("hex")}async function X(N){let z=await W(N);return G(z)}async function Q({assetValue:N,recipient:z,memo:J}){let Y=await Z({assetValue:N,memo:J,recipient:z});return X(Y)}async function B({sender:N,...z}){let{baseDecimal:J}=Wy.getChainConfig(Wy.Chain.Ton),Y=await Sf.match(N).with(Sf.P.string,(q)=>{return g.Address.parseFriendly(q).address}).otherwise(async()=>{return(await U()).address});if(!Y)throw new Wy.SwapKitError("toolbox_fee_estimation_failed",{chain:Wy.Chain.Ton});let R=Wy.AssetValue.from({chain:Wy.Chain.Ton,value:"0.01"}),l=await T();try{let q=await Z({sender:N,...z}),O=await H(),k=await U();if(!k||!O)return R;let x=await k.getSeqno(),F=k.createTransfer({messages:M(q),secretKey:O.secretKey,sendMode:r1,seqno:x}),{source_fees:u}=await l.estimateExternalMessageFee(Y,{body:F,ignoreSignature:!0,initCode:null,initData:null}),h=u.in_fwd_fee+u.storage_fee+u.gas_fee+u.fwd_fee;return R.set(Wy.SwapKitNumber.fromBigInt(BigInt(h),J))}catch{return R}}async function D({jettonMasterAddress:N,ownerAddress:z}){try{let J=await T(),Y=g.Address.parse(N),R=g.Address.parse(z);return await J.open(g.JettonMaster.create(Y)).getWalletAddress(R)}catch{throw new Wy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:N,ownerAddress:z}})}}function L({jettonAmount:N,destinationAddress:z,responseAddress:J,forwardAmount:Y=S2,forwardPayload:R}){let l=g.beginCell().storeUint(l2,32).storeUint(0,64).storeCoins(N).storeAddress(z).storeAddress(J).storeBit(0).storeCoins(Y);if(R)l.storeBit(1).storeRef(R);else l.storeBit(0);return l.endCell()}function w(N){return g.beginCell().storeUint(0,32).storeStringTail(N).endCell()}return{broadcastTransaction:G,createTransaction:Z,estimateTransactionFee:B,getAddress:C,getBalance:_,getJettonWalletAddress:D,sign:W,signAndBroadcastTransaction:X,transfer:Q,validateAddress:yH}}function yH(y){try{return g.Address.parse(y),!0}catch{return!1}}var s1,Wy,e1,g,Sf,l2=260734629,S2,x2,r1,F2=60000,ST,a1=0;var fH=P(()=>{iy();s1=require("@orbs-network/ton-access"),Wy=require("@swapkit/helpers"),e1=require("@ton/crypto"),g=require("@ton/ton"),Sf=require("ts-pattern"),S2=g.toNano("0.01"),x2=g.toNano("0.05"),r1=g.SendMode.PAY_GAS_SEPARATELY+g.SendMode.IGNORE_ERRORS});var xT={};My(xT,{validateTonAddress:()=>yH,getTONToolbox:()=>I2});module.exports=Ny(xT);var FT=P(()=>{fH()});function by(y,n){if(!Number.isInteger(n)||n<0)throw RangeError(`${y} must be a non-negative integer, got: ${n}`)}function Wf({accountIndex:y,chain:n,derivationPath:o}){if(y!==void 0)by("accountIndex",y);let f=[...o?.slice(0,3)??nH.NetworkDerivationPath[n].slice(0,3)];if(y!==void 0)f[2]=y;return f}function mf({accountIndex:y,change:n=!1,chain:o,derivationPath:f,index:T}){return by("index",T),[...Wf({accountIndex:y,chain:o,derivationPath:f}),Number(n),T]}function xf(y){return y[2]??0}function TH({deriveAddress:y,getBalance:n,getUtxos:o}){async function f(U){let{accountIndex:_,count:A,startIndex:Z=0,change:M=!1}=U;if(by("count",A),A<1)throw RangeError("count must be at least 1");by("startIndex",Z);let W=[];for(let G=0;G<A;G++){let X=await y({accountIndex:_,change:M,index:Z+G});if(X)W.push(X)}return W}async function T(U){let{gapLimit:_=20,change:A=!1}=U??{},Z=[],M=0,W=0;while(M<_){let G=await y({change:A,index:W});if(!G)break;if((await n(G.address)).some((B)=>B.getValue("number")>0))Z.push(G),M=0;else M++;W++}return Z}async function C(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Z=[..._,...A],M=await Promise.all(Z.map(async(G)=>{let Q=(await n(G.address)).reduce((B,D)=>B+D.getValue("number"),0);return{...G,balance:Q}})),W=M.reduce((G,X)=>G+X.balance,0);return{addresses:M,total:W}}async function H(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Z=[..._,...A];return(await Promise.all(Z.map(async(W)=>{return(await o(W.address)).map((X)=>({...X,address:W.address,derivationIndex:W.index,isChange:W.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:C,getAggregatedUtxos:H,scanForAddresses:T}}var nH;var kn=P(()=>{nH=require("@swapkit/helpers")});async function P2({chain:y,txHash:n}){let o=`${ln(y)}/push/transaction`,f=JSON.stringify({data:n});try{let T=await K.RequestClient.post(o,{body:f,headers:{"Content-Type":"application/json"}});if(T.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:T.context.error||"Transaction broadcast failed"});return T.data?.transaction_hash||n}catch(T){let C=await K.getRPCUrl(y);if(C){let H=JSON.stringify({id:JC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),U=await K.RequestClient.post(C,{body:H,headers:{"Content-Type":"application/json"}});if(U.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:U.error?.message});if(U.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return U.result}throw T}}function ln(y){return`https://api.blockchair.com/${t2(y)}`}function oH(y){switch(y){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function t2(y){switch(y){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function p2(y){try{let{feePerKb:n}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),o=n/1000;return Math.max(o,oH(y))}catch{return oH(y)}}async function $T(y,n){let o=await K.RequestClient.get(`${y}${n?`${y.includes("?")?"&":"?"}key=${n}`:""}`);if(!o||o.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return o.data}async function HH({address:y,chain:n,apiKey:o}){if(!y)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await $T(`${ln(n)}/dashboards/address/${y}?transaction_details=true`,o))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function E2({address:y,chain:n,apiKey:o}){return(await HH({address:y,apiKey:o,chain:n}))?.address.balance||0}async function UH({chain:y,apiKey:n,txHash:o}){if(!o)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await $T(`${ln(y)}/raw/transaction/${o}`,n))?.[o]?.raw_transaction||""}catch(f){let T=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${T}`),""}}async function b2({chain:y,apiKey:n,txHash:o}){if(!o)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let T=(await $T(`${ln(y)}/dashboards/transaction/${o}`,n))?.[o];if(!T)throw new K.SwapKitError("toolbox_utxo_tx_not_found",{txHash:o});let{transaction:C,inputs:H,outputs:U}=T,_=H.map((Z)=>Z.spending_sequence),A=C.is_rbf===!0||_.some((Z)=>Z<V2);return{blockId:C.block_id,confirmed:C.block_id!==-1,fee:C.fee,inputs:H,isRBF:A,outputs:U,sequences:_,size:C.size,txid:C.hash,weight:C.weight}}async function u2({chain:y,address:n,apiKey:o,offset:f=0,limit:T=30}){return(await $T(`${ln(y)}/outputs?q=recipient(${n}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${T}&offset=${f}`,o)).map(({is_spent:_,script_hex:A,block_id:Z,transaction_hash:M,index:W,value:G,spending_signature_hex:X})=>({hash:M,index:W,is_confirmed:Z!==-1,is_spent:_,script_hex:A,txHex:X,value:G}))}function v2(y){return y.reduce((n,o)=>n+o.value,0)}function CH(y,n){let o=[...y].sort((f,T)=>T.value-f.value);if(n){let f=[],T=0;for(let C of o)if(f.push(C),T+=C.value,T>=n)break;return f}return o}async function _H({chain:y,address:n,apiKey:o,targetValue:f,accumulativeValue:T=0,offset:C=0,limit:H=30}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let U=await u2({address:n,apiKey:o,chain:y,limit:H,offset:C,targetValue:f}),A=U.length<H,Z=U.filter(({is_spent:B})=>!B),M=v2(Z),W=T+M,G=f&&W>=f;if(A||G)return CH(Z,f);let X=await _H({accumulativeValue:W,address:n,apiKey:o,chain:y,limit:H,offset:C+H,targetValue:f}),Q=[...Z,...X];return CH(Q,f)}catch(U){let _=U instanceof Error?U.message:String(U);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function j2({address:y,chain:n,apiKey:o,fetchTxHex:f=!0,targetValue:T}){let C=await _H({address:y,apiKey:o,chain:n,targetValue:T}),H=[];for(let{hash:U,index:_,script_hex:A,value:Z}of C){let M;if(f)M=await UH({apiKey:o,chain:n,txHash:U});H.push({address:y,hash:U,index:_,txHex:M,value:Z,witnessUtxo:{script:Buffer.from(A,"hex"),value:Z}})}return H}function Yy(y){let n=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(o)=>P2({chain:y,txHash:o}),getAddressData:(o)=>HH({address:o,apiKey:n,chain:y}),getBalance:(o)=>E2({address:o,apiKey:n,chain:y}),getRawTx:(o)=>UH({apiKey:n,chain:y,txHash:o}),getSuggestedTxFee:()=>p2(y),getTransactionDetails:(o)=>b2({apiKey:n,chain:y,txHash:o}),getUtxos:(o)=>j2({...o,apiKey:n,chain:y})}}function K2(y){return y}function h2(){return function(n){switch(n){case K.Chain.Bitcoin:return Ff.NETWORKS.bitcoin;case K.Chain.BitcoinCash:return Ff.NETWORKS.bitcoinCash;case K.Chain.Dash:return Ff.NETWORKS.dash;case K.Chain.Litecoin:return Ff.NETWORKS.litecoin;case K.Chain.Dogecoin:return Ff.NETWORKS.dogecoin;case K.Chain.Zcash:return Ff.NETWORKS.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var K,Ff,V2=4294967294;var AH=P(()=>{iy();K=require("@swapkit/helpers"),Ff=require("@swapkit/utxo-signer")});function g2(y,n,o){return ey.encodeCashAddr({hash:o,prefix:y,type:m2[n]})}function i2(y){let n=ey.decodeCashAddr(y),o=c2[n.type];if(!o)throw Error(`Unknown CashAddr type: ${n.type}`);return{hash:n.hash,prefix:n.prefix,type:o}}var ey,m2,c2,Go;var qH=P(()=>{ey=require("@swapkit/utxo-signer"),m2={P2PKH:ey.CashAddrType.P2PKH,P2SH:ey.CashAddrType.P2SH},c2={[ey.CashAddrType.P2PKH]:"P2PKH",[ey.CashAddrType.P2SH]:"P2SH"};Go={decode:i2,encode:g2}});function Qo(y){try{return IT(y),!0}catch{return!1}}function Zo(y){return IT(y)?.network}function yf(y){let n=IT(y);if(n?.format==="legacy")return y;return a2(n)}function Sn(y){let n=IT(y);return s2(n)}function IT(y){try{let n=d2(y);if(n)return n}catch{}try{let n=r2(y);if(n)return n}catch{}throw new Xo.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function d2(y){try{let n=QH.decode(y);if(n.length!==21)throw new Xo.SwapKitError("toolbox_utxo_invalid_address",{address:y});let o=n[0],f=Array.prototype.slice.call(n,1);switch(o){case $f.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case $f.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case $f.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case $f.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case $f.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case $f.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function r2(y){if(y.indexOf(":")!==-1)try{return GH(y)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let o of n)try{return GH(`${o}:${y}`)}catch{}}return}function GH(y){try{let{hash:n,prefix:o,type:f}=Go.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:o==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function a2(y){let n=$f.legacy[y.network][y.type],o=Buffer.alloc(1+y.hash.length);return o[0]=n,o.set(y.hash,1),QH.encode(o)}function s2(y){let n=y.network==="mainnet"?"bitcoincash":"bchtest",o=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return Go.encode(n,o,f)}var XH,WH,Xo,QH,Wo,$f;var ZH=P(()=>{qH();XH=require("@noble/hashes/sha2.js"),WH=require("@scure/base"),Xo=require("@swapkit/helpers"),QH=WH.createBase58check(XH.sha256);((o)=>{o.Mainnet="mainnet";o.Testnet="testnet"})(Wo||={});$f={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Iy(y){let n=new Uint8Array(Buffer.from(y,"utf8"));return MH.Script.encode(["RETURN",n])}var JH,MH,e2=1000,tT=10,pT=2,LH=10,y_=41,f_=107,ET,PT,xn,cf=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new JH.SwapKitError("toolbox_utxo_invalid_address",{address:y})},If=({inputs:y,outputs:n,feeRate:o})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",C=(o?y.filter((A)=>A.value>=PT["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(o)):y).reduce((A,Z)=>A+Qf(Z),0),H=n?.reduce((A,Z)=>A+Fn(Z),0)||xn[f],U=tT+C+H;return f==="P2WPKH"?Math.ceil(U+pT/4):U},Qf=(y)=>{if("type"in y&&y.type)return PT[y.type];if("address"in y&&y.address)return PT[cf(y.address)];return y_+f_},Fn=(y,n)=>{if(y?.script)return LH+y.script.length+(y.script.length>=74?2:1);if(n)return xn[n];if("address"in y&&y.address)return xn[cf(y.address)];return xn.P2PKH};var Jo=P(()=>{JH=require("@swapkit/helpers"),MH=require("@swapkit/utxo-signer");((o)=>{o.P2PKH="P2PKH";o.P2WPKH="P2WPKH"})(ET||={});PT={["P2PKH"]:148,["P2WPKH"]:68},xn={["P2PKH"]:34,["P2WPKH"]:31}});function $n(y){switch(y){case cy.Chain.Bitcoin:case cy.Chain.BitcoinCash:return 550;case cy.Chain.Dash:case cy.Chain.Litecoin:return 5500;case cy.Chain.Dogecoin:return 1e5;case cy.Chain.Zcash:return 546;default:throw new cy.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function uy({inputs:y,outputs:n,feeRate:o=1,chain:f=cy.Chain.Bitcoin,changeAddress:T=""}){let C=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",H=y.filter((X)=>Qf(X)*o<=X.value),_=C==="P2WPKH"?Math.ceil(pT/4):0,A=tT+_+n.reduce((X,Q)=>X+Fn(Q),0),Z=n.reduce((X,Q)=>X+Q.value,0),M=A*o,W=0,G=[];for(let X of H){let Q=Qf(X),B=o*Q;M+=B,W+=X.value,G.push(X);let D=M+Z;if(W<D)continue;let L=W-D,w=o*Fn({address:T,value:0});if(L>w){let N=w+M,z=W-(Z+Math.ceil(N));if(z>Math.max(Qf({value:0})*o,$n(f)))return{fee:Math.ceil(N),inputs:G,outputs:n.concat({address:T,value:z})}}return{fee:Math.ceil(M),inputs:G,outputs:n}}return{fee:Math.ceil(o*If({inputs:y,outputs:n}))}}var cy;var YH=P(()=>{Jo();cy=require("@swapkit/helpers")});var gf=P(()=>{AH();ZH();YH();Jo()});function Pf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Zf(y){let n=Pf(y);return Qo(n)&&Zo(n)==="mainnet"}function df(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let o=VT.Address(VT.ZCASH_NETWORK).decode(y);return o.type==="pkh"||o.type==="sh"}catch{return!1}}var VT;var In=P(()=>{gf();VT=require("@swapkit/utxo-signer")});function Yo({address:y,chain:n}){return Lo.match(n).with($.Chain.BitcoinCash,()=>Zf(y)).with($.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return d.Address(ky(n)).decode(y),!0}catch{return!1}})}function ky(y){return Lo.match(y).with($.Chain.Bitcoin,()=>d.NETWORKS.bitcoin).with($.Chain.BitcoinCash,()=>d.NETWORKS.bitcoinCash).with($.Chain.Dash,()=>d.NETWORKS.dash).with($.Chain.Dogecoin,()=>d.NETWORKS.dogecoin).with($.Chain.Litecoin,()=>d.NETWORKS.litecoin).with($.Chain.Zcash,()=>d.NETWORKS.zcash).exhaustive()}function n_({phrase:y,derivationPath:n,network:o,seed:f}){let T=f??uT.mnemonicToSeedSync(y),H=Mo.HDKey.fromMasterSeed(T,o.bip32).derive(n);if(!H.privateKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return H.privateKey}function BH(y){return zH.secp256k1.getPublicKey(y,!0)}function tn({publicKey:y,chain:n,network:o}){if(n===$.Chain.BitcoinCash){let C=d.p2pkh(y,o);if(!C.hash)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return d.encodeCashAddr({hash:C.hash,prefix:d.CashAddrPrefix.MAINNET,type:d.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let T=!Pn.includes(n)?d.p2wpkh(y,o):d.p2pkh(y,o);if(!T.address)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return T.address}function rf({phrase:y,derivationPath:n,chain:o,wif:f,seed:T}){let C=ky(o);if(f){let A=d.WIF(C).decode(f),Z=BH(A);return{privateKey:A,publicKey:Z}}if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let H=n||$.derivationPathToString($.NetworkDerivationPath[o]),U=n_({derivationPath:H,network:C,phrase:y,seed:T}),_=BH(U);return{privateKey:U,publicKey:_}}function T_(y,n){return d.WIF(ky(n)).encode(y)}function o_({phrase:y,derivationPath:n,chain:o,seed:f}){let T=n.split("/");if(T.length<4)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${T.length}): ${n}`});let C=ky(o),H=f??uT.mnemonicToSeedSync(y),U=Mo.HDKey.fromMasterSeed(H,C.bip32),_=T.slice(0,4).join("/");return U.derive(_)}function Mf({inputs:y,outputs:n,chain:o,tx:f,sender:T,compiledMemo:C,enableRBF:H=!1}){let U=ky(o),_=!Pn.includes(o),A=H?d.RBF_SEQUENCE:void 0,Z=new Set;for(let M of y){let W=`${M.hash}:${M.index}`;if(Z.has(W))throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Z.add(W);let G=typeof M.hash==="string"?Jf.hex.decode(M.hash):M.hash;if(_&&M.witnessUtxo)f.addInput({index:M.index,sequence:A,txid:G,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)f.addInput({index:M.index,nonWitnessUtxo:Jf.hex.decode(M.txHex),sequence:A,txid:G,...o===$.Chain.BitcoinCash?{sighashType:d.BCHSigHash.ALL}:{}});else throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of n){let W="address"in M&&M.address?M.address:T;if(o===$.Chain.BitcoinCash)W=yf(W);if(M.script){if(C)f.addOutput({amount:0n,script:C})}else f.addOutputAddress(W,BigInt(M.value),U)}return{inputs:y,tx:f}}async function af(y){let n=await Yy(y).getSuggestedTxFee();return{[$.FeeOption.Average]:n,[$.FeeOption.Fast]:$.applyFeeMultiplier(n,$.FeeOption.Fast),[$.FeeOption.Fastest]:$.applyFeeMultiplier(n,$.FeeOption.Fastest)}}async function NH({assetValue:y,recipient:n,memo:o,sender:f,fetchTxHex:T=!1}){let C=y.chain,H=(await af(C))[$.FeeOption.Fastest],U=T||Pn.includes(C),_=y.getBaseValue("number"),A=Math.ceil(_+H*5000);return{inputs:await Yy(C).getUtxos({address:f,fetchTxHex:U,targetValue:A}),outputs:[{address:n,value:_},...o?[{address:"",script:Iy(o),value:0}]:[]]}}async function OH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T,fetchTxHex:C=!1,enableRBF:H=!1}){let U=y.chain,_=o?Iy(o):null,A=await NH({assetValue:y,fetchTxHex:C,memo:o,recipient:n,sender:T}),{inputs:Z,outputs:M}=uy({...A,chain:U,feeRate:f});if(!(Z&&M))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let W=new d.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:G,tx:X}=Mf({chain:U,compiledMemo:_,enableRBF:H,inputs:Z,outputs:M,sender:T,tx:W});return{inputs:G,tx:X,utxos:A.inputs}}async function wH({assetValue:y,feeOptionKey:n=$.FeeOption.Fast,feeRate:o,memo:f,sender:T,recipient:C}){let H=y.chain,U=await NH({assetValue:y,memo:f,recipient:C,sender:T}),_=o?Math.floor(o):(await af(H))[n];return uy({...U,chain:H,feeRate:_})}function C_(y){return async function({from:o,memo:f,feeRate:T,feeOptionKey:C=$.FeeOption.Fast,recipients:H=1}){let U=await Yy(y).getAddressData(o),_=T?Math.ceil(T):(await af(y))[C],A=U?.utxo.map((Q)=>({...Q,hash:"",type:"P2PKH"})).filter((Q)=>Q.value>Math.max($n(y),Qf(Q)*_));if(!A?.length)return $.AssetValue.from({chain:y});let Z=BigInt(A.reduce((Q,B)=>Q+B.value,0)),M=$.AssetValue.from({chain:y,value:Z}),W=typeof H==="number"?Array.from({length:H},()=>({address:o,value:0})):H;if(f)W.push({address:o,script:Iy(f),value:0});let G=If({inputs:A,outputs:W}),X=$.AssetValue.from({chain:y,value:BigInt(G*_)});return M.sub(X)}}function H_(y){return async function(o){let{fee:f}=await wH(o);return $.AssetValue.from({chain:y,value:$.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function U_({chain:y,phrase:n,derivationPath:o,seed:f}){let T=ky(y),{privateKey:C,publicKey:H}=rf({chain:y,derivationPath:o,phrase:n,seed:f}),U=y===$.Chain.BitcoinCash?[d.BCHSigHash.ALL]:[d.SigHash.ALL];return{getAddress:()=>tn({chain:y,network:T,publicKey:H}),privateKey:C,publicKey:H,signTransaction:(_)=>{return _.sign(C,U),_}}}function __(y,n){return async function({memo:f,recipient:T,feeOptionKey:C,feeRate:H,assetValue:U,enableRBF:_=!1}){let A=await n?.getAddress();if(!(n&&A))throw new $.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});$.warnOnce({condition:_&&!bT.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let Z=_&&bT.includes(y),M=H||(await af(y))[C||$.FeeOption.Fast],{tx:W}=await OH({assetValue:U,enableRBF:Z,feeRate:M,memo:f,recipient:T,sender:A}),G=await n.signTransaction(W);return G.finalize(),Yy(y).broadcastTx(Jf.hex.encode(G.extract()))}}function Bo(y){return(n)=>Yo({address:n,chain:y})}function zo(y){let n=ky(y);return function(f){if(!f)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return tn({chain:y,network:n,publicKey:f.publicKey})}}function Lf({chain:y,...n}){let o="phrase"in n?n.phrase:void 0,f="index"in n?n.index||0:0,T=o?uT.mnemonicToSeedSync(o):void 0,C="derivationPath"in n&&n.derivationPath?n.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[y],{index:f}),H=$.derivationPathToString(C),U=o?U_({chain:y,derivationPath:H,phrase:o,seed:T}):void 0,_="signer"in n?n.signer:void 0,A=U||_,Z=o?rf({chain:y,derivationPath:H,phrase:o,seed:T}):void 0;function M(){if(A)return A.getAddress();return Promise.resolve(void 0)}function W(q){if(!o)return;let O=Wf({accountIndex:q,chain:y,derivationPath:C});return o_({chain:y,derivationPath:$.derivationPathToString(O),phrase:o,seed:T})}let G=W();function X(){if(!G)return;return G.publicExtendedKey}function Q({accountIndex:q}={}){let O=q===void 0?G:W(q);if(!O)return;let k=Wf({accountIndex:q,chain:y,derivationPath:C});return{accountIndex:xf(k),path:$.derivationPathToString(k),xpub:O.publicExtendedKey}}function B({accountIndex:q,index:O,change:k=!1}){let x=q===void 0?G:W(q);if(!x)return;let F=mf({accountIndex:q,chain:y,change:k,derivationPath:C,index:O}),u=ky(y),h=x.deriveChild(Number(k)).deriveChild(O);if(!h.publicKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let i=tn({chain:y,network:u,publicKey:h.publicKey}),fy=Jf.hex.encode(h.publicKey);return{accountIndex:xf(F),address:i,change:k,index:O,path:$.derivationPathToString(F),pubkey:fy}}async function D(q){if(!bT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let O=await Yy(y).getTransactionDetails(q);return{canReplace:O.isRBF&&!O.confirmed,confirmed:O.confirmed,enabled:O.isRBF,fee:O.fee,sequences:O.sequences,supported:!0}}async function L({txid:q,newFeeRate:O,recipient:k,memo:x}){if(!bT.includes(y))throw new $.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let F=await Yy(y).getTransactionDetails(q);if(!F.isRBF)throw new $.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(F.confirmed)throw new $.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:F.blockId,txid:q});let u=F.inputs.reduce((zy,of)=>zy+of.value,0),i=F.outputs.find((zy)=>zy.recipient===k)?.value||0;if(i===0)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let fy=await Promise.all(F.inputs.map(async(zy)=>{let of=await Yy(y).getRawTx(zy.transaction_hash);return{hash:zy.transaction_hash,index:zy.index,txHex:of,value:zy.value,witnessUtxo:void 0}})),By=x?Iy(x):null,wy=If({feeRate:O,inputs:fy.map((zy)=>({...zy,type:"P2WPKH"})),outputs:[{address:k,value:i}]}),Zy=Math.ceil(wy*O);if(Zy<=F.fee)throw new $.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Zy,originalFee:F.fee});let py=Zy-F.fee,ly=i-py;if(ly<=0)throw new $.SwapKitError("toolbox_utxo_rbf_insufficient_change");let Ky=new d.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Yf=[{address:k,value:ly},...x?[{address:"",script:Iy(x),value:0}]:[]],Bf=u-ly-Zy,Tf=await M();if(Bf>$n(y)&&Tf)Yf.push({address:Tf,value:Bf});return Mf({chain:y,compiledMemo:By,inputs:fy,outputs:Yf,sender:Tf||k,tx:Ky}),{feeDelta:py,newFee:Zy,originalFee:F.fee,tx:Ky}}async function w({txid:q,newFeeRate:O,recipient:k,memo:x}){let{tx:F,originalFee:u,newFee:h}=await L({memo:x,newFeeRate:O,recipient:k,txid:q}),i=await R(F);i.finalize();let fy=await Yy(y).broadcastTx(Jf.hex.encode(i.extract()));return{newFee:h,originalFee:u,txid:fy}}function N({accountIndex:q,index:O,change:k=!1}){by("index",O);let x=q===void 0?G:W(q);if(!x)return;return x.deriveChild(Number(k)).deriveChild(O).privateKey||void 0}function z({tx:q,inputDerivations:O}){if(!G)throw new $.SwapKitError("toolbox_utxo_no_signer");let k=y===$.Chain.BitcoinCash?[d.BCHSigHash.ALL]:[d.SigHash.ALL];for(let x=0;x<O.length;x++){let F=O[x];if(!F)continue;let{derivationIndex:u,isChange:h}=F,i=N({change:h,index:u});if(!i)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${x} at index ${u}`});q.signIdx(i,x,k)}return q}async function J({utxos:q,recipient:O,assetValue:k,memo:x,feeRate:F,feeOptionKey:u,changeAddress:h}){if(!G)throw new $.SwapKitError("toolbox_utxo_no_signer");let i=F||(await af(y))[u||$.FeeOption.Fast],fy=x?Iy(x):null,By=[{address:O,value:k.getBaseValue("number")}];if(fy)By.push({address:"",script:fy,value:0});let wy=q.map(({hash:Tf,index:zy,value:of,txHex:$5,witnessUtxo:H0})=>({hash:Tf,index:zy,txHex:$5,value:of,witnessUtxo:H0?{script:H0.script,value:H0.value}:void 0})),{inputs:Zy,outputs:py}=uy({chain:y,feeRate:i,inputs:wy,outputs:By});if(!(Zy&&py))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:k,sender:"multiple addresses"});let ly=new d.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Ky=q[0]?.address,Yf=h||await M()||Ky||O;Mf({chain:y,compiledMemo:fy,inputs:Zy,outputs:py,sender:Yf,tx:ly});let Bf=Zy.map((Tf)=>{let zy=q.find((of)=>of.hash===Tf.hash&&of.index===Tf.index);return zy?{derivationIndex:zy.derivationIndex,isChange:zy.isChange}:{derivationIndex:0,isChange:!1}});return z({inputDerivations:Bf,tx:ly}),ly.finalize(),Yy(y).broadcastTx(Jf.hex.encode(ly.extract()))}function Y({address:q,gapLimit:O=20}){if(!G)return;for(let k=0;k<O;k++){let x=B({change:!1,index:k}),F=B({change:!0,index:k}),u=x?.address===q?!1:F?.address===q;if(x?.address===q||F?.address===q)return{change:u,index:k}}return}function R(q){if(!A)throw new $.SwapKitError("toolbox_utxo_no_signer");return A.signTransaction(q)}async function l(q){let O=await R(q);return O.finalize(),await Yy(y).broadcastTx(Jf.hex.encode(O.extract()))}return{accumulative:uy,broadcastTx:(q)=>Yy(y).broadcastTx(q),bumpFee:w,calculateTxSize:If,createKeysForPath:(q)=>rf({...q,chain:y}),createReplacementTransaction:L,createTransaction:OH,deriveAddressAtIndex:B,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:C_(y),estimateTransactionFee:H_(y),getAddress:M,getAddressFromKeys:zo(y),getBalance:Sy(y),getExtendedPublicKey:X,getExtendedPublicKeyInfo:Q,getFeeRates:()=>af(y),getInputsOutputsFee:wH,getNetworkForChain:()=>ky(y),getPrivateKeyFromMnemonic:(q)=>T_(rf({...q,chain:y}).privateKey,y),isRBFEnabled:D,keys:Z,resolveDerivationIndex:Y,signAndBroadcastTransaction:l,signTransaction:R,signTransactionWithMultipleKeys:z,transfer:__(y,A),transferFromMultipleAddresses:J,validateAddress:Bo(y)}}var zH,Jf,Mo,uT,$,d,Lo,Pn,bT;var sf=P(()=>{iy();kn();gf();In();zH=require("@noble/curves/secp256k1.js"),Jf=require("@scure/base"),Mo=require("@scure/bip32"),uT=require("@scure/bip39"),$=require("@swapkit/helpers"),d=require("@swapkit/utxo-signer"),Lo=require("ts-pattern"),Pn=[$.Chain.Dash,$.Chain.Dogecoin,$.Chain.Zcash,$.Chain.BitcoinCash],bT=[$.Chain.Bitcoin]});function pn(y){return Pf(Sn(y))}function A_(y){let n=ky(gy);function o(T){return T.sign(y.privateKey,[Jy.BCHSigHash.ALL]),T}function f(){let T=Jy.p2pkh(y.publicKey,n);if(!T.hash)throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let C=Jy.encodeCashAddr({hash:T.hash,prefix:Jy.CashAddrPrefix.MAINNET,type:Jy.CashAddrType.P2PKH});return Promise.resolve(C.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:o}}function Oo(y){let n="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=Qy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:Qy.updateDerivationPath(Qy.NetworkDerivationPath[gy],{index:o})),T=n?rf({chain:gy,derivationPath:f,phrase:n}):void 0,C=T?A_(T):("signer"in y)?y.signer:void 0;function H(){return Promise.resolve(C?.getAddress())}let{getBalance:U,getFeeRates:_,broadcastTx:A,...Z}=Lf({chain:gy});function M(X,Q=!0){return U(Pf(Sn(X)))}function W(X){if(!C)throw new Qy.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(X)}async function G(X){let Q=await W(X);return Q.finalize(),await A(No.hex.encode(Q.extract()))}return{...Z,broadcastTx:A,buildTx:G_,createTransaction:DH,getAddress:H,getAddressFromKeys:X_,getBalance:M,getFeeRates:_,signAndBroadcastTransaction:G,signTransaction:W,stripPrefix:Pf,stripToCashAddress:pn,transfer:q_({broadcastTx:A,getFeeRates:_,signer:C}),validateAddress:Zf}}async function DH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){if(!Zf(n))throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{address:n});let C=Math.ceil(y.getBaseValue("number")+f*7500),H=await Yy(gy).getUtxos({address:pn(T),fetchTxHex:!0,targetValue:C}),U=o?Iy(o):null,_=[],A=yf(n);if(_.push({address:A,value:y.getBaseValue("number")}),U)_.push({script:U,value:0});let{inputs:Z,outputs:M}=uy({chain:gy,feeRate:f,inputs:H,outputs:_});if(!(Z&&M))throw new Qy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let W=new Jy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!U,version:1}),G=yf(T),{inputs:X,tx:Q}=Mf({chain:gy,compiledMemo:U,inputs:Z,outputs:M.map((B)=>("address"in B)&&B.address?{...B,address:yf(B.address)}:B),sender:G,tx:W});return{inputs:X,tx:Q,utxos:Z}}function q_({broadcastTx:y,getFeeRates:n,signer:o}){return async function({recipient:T,assetValue:C,feeOptionKey:H=Qy.FeeOption.Fast,...U}){let _=await o?.getAddress();if(!(o&&_))throw new Qy.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new Qy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=U.feeRate||(await n())[H],{tx:Z}=await DH({...U,assetValue:C,feeRate:A,recipient:T,sender:_}),M=await o.signTransaction(Z);return M.finalize(),y(No.hex.encode(M.extract()))}}async function G_({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){let C=Sn(n);if(!Zf(C))throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{address:C});let H=Math.ceil(y.getBaseValue("number")+f*7500),U=await Yy(gy).getUtxos({address:pn(T),fetchTxHex:!0,targetValue:H}),_=Number(f.toFixed(0)),A=o?Iy(o):null,Z=[];if(Z.push({address:yf(n),value:y.getBaseValue("number")}),A)Z.push({script:A,value:0});let{inputs:M,outputs:W}=uy({chain:gy,feeRate:_,inputs:U,outputs:Z});if(!(M&&W))throw new Qy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let G=new Jy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:X,tx:Q}=Mf({chain:gy,compiledMemo:A,inputs:M,outputs:W,sender:yf(T),tx:G});return{inputs:X,tx:Q,utxos:U}}function X_(y){let n=Jy.NETWORKS.bitcoinCash,o=Jy.p2pkh(y.publicKey,n);if(!o.hash)throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Jy.encodeCashAddr({hash:o.hash,prefix:Jy.CashAddrPrefix.MAINNET,type:Jy.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var No,Qy,Jy,gy;var vT=P(()=>{gf();sf();In();No=require("@scure/base"),Qy=require("@swapkit/helpers"),Jy=require("@swapkit/utxo-signer"),gy=Qy.Chain.BitcoinCash});function kH(){let{isStagenet:y}=Gy.SKConfig.get("envs");return y?Cy.ZCASH_TEST_NETWORK:Cy.ZCASH_NETWORK}function Q_(y){return W_.encode(y)}function Z_({phrase:y,derivationPath:n}){let o=Do.mnemonicToSeedSync(y),T=wo.HDKey.fromMasterSeed(o).derive(n);if(!T.privateKey||!T.publicKey)throw new Gy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:C,publicKey:H}=T,U=Cy.utils.hash160(H),{isStagenet:_}=Gy.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),Z=new Uint8Array(A.length+U.length);Z.set(A,0),Z.set(U,A.length);let M=Q_(Z);return{getAddress:()=>Promise.resolve(M),signTransaction:(W)=>{if(W instanceof Cy.PCZT)return W.signAllInputs(C,H,Cy.ZcashSigHash.ALL),W.finalizeAllInputs(),Promise.resolve(W.extract());return W.signAllInputs(C,H,Cy.ZcashSigHash.ALL),Promise.resolve(W)}}}function J_({inputs:y,outputs:n,tx:o,sender:f,compiledMemo:T}){let C=kH();for(let H of y){let U=Cy.Address(C).decode(f),_=Cy.OutScript.encode(U);o.addInput({index:H.index,script:_,sequence:4294967295,txid:jT.hex.decode(H.hash),value:BigInt(H.value)})}for(let H of n){let U="address"in H&&H.address?H.address:f,_=H.script;if(_&&!T)continue;if(_&&T)o.addOutput({amount:0n,script:T});else o.addOutputAddress(U,BigInt(H.value),C)}return{inputs:y,tx:o}}async function RH(y){let{assetValue:n,recipient:o,memo:f,feeRate:T,sender:C,fetchTxHex:H}=y,U=f?Iy(f):null,_=await Yy(Gy.Chain.Zcash).getUtxos({address:C,fetchTxHex:H!==!1}),A=[{address:o,value:Number(n.getBaseValue("string"))},...U?[{script:U,value:0}]:[]],{inputs:Z,outputs:M}=uy({chain:Gy.Chain.Zcash,changeAddress:C,feeRate:T,inputs:_,outputs:A});if(!(Z&&M))throw new Gy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:C});let W=Cy.createZcashTransaction({consensusBranchId:Cy.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:Cy.ZcashVersionGroupId.SAPLING}),{tx:G,inputs:X}=J_({compiledMemo:U,inputs:Z,outputs:M,sender:C,tx:W});return{inputs:X,outputs:M,tx:G}}function Ro(y){let n=ef.match(y).with({signer:ef.P.not(ef.P.nullish)},({signer:_})=>_).with({phrase:ef.P.string},({phrase:_,derivationPath:A,index:Z=0})=>{let M=A||Gy.NetworkDerivationPath[Gy.Chain.Zcash]||[44,133,0,0,0],W=Gy.updateDerivationPath(M,{index:Z}),G=Gy.derivationPathToString(W);return Z_({derivationPath:G,phrase:_})}).otherwise(()=>{return}),o=Lf({chain:Gy.Chain.Zcash,signer:n});async function f(_){if(!n)throw new Gy.SwapKitError("toolbox_utxo_no_signer");return await n.signTransaction(_)}async function T(_){let A=await f(_);return o.broadcastTx(A.toHex())}async function C({recipient:_,assetValue:A,feeOptionKey:Z=Gy.FeeOption.Fast,...M}){let W=await n?.getAddress();if(!(n&&W))throw new Gy.SwapKitError("toolbox_utxo_no_signer");let G=M.feeRate||(await o.getFeeRates())[Z],{tx:X}=await RH({...M,assetValue:A,feeRate:G,recipient:_,sender:W}),B=(await n.signTransaction(X)).toHex();return o.broadcastTx(B)}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Z=Do.mnemonicToSeedSync(_),W=wo.HDKey.fromMasterSeed(Z).derive(A);if(!W.privateKey||!W.publicKey)throw new Gy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:W.privateKey,publicKey:W.publicKey}}function U({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Z=H({derivationPath:A,phrase:_}),M=kH();return Cy.WIF(M).encode(Z.privateKey)}return{...o,createKeysForPath:H,createTransaction:RH,getPrivateKeyFromMnemonic:U,signAndBroadcastTransaction:T,signTransaction:f,transfer:C,validateAddress:df}}var jT,wo,Do,Gy,Cy,ef,W_;var ko=P(()=>{gf();sf();In();jT=require("@scure/base"),wo=require("@scure/bip32"),Do=require("@scure/bip39"),Gy=require("@swapkit/helpers"),Cy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");W_=jT.createBase58check(Cy.utils.sha256)});function FH({xpub:y,chain:n,count:o,startIndex:f=0,accountIndex:T}){if(by("count",o),o<1)throw RangeError("count must be at least 1");by("startIndex",f);let C=ky(n),H=SH.HDKey.fromExtendedKey(y,C.bip32),U=Wf({accountIndex:T,chain:n}),_=xf(U),A=[];for(let Z of[!1,!0]){let M=H.deriveChild(Number(Z));for(let W=0;W<o;W++){let G=f+W,X=M.deriveChild(G);if(!X.publicKey)continue;let Q=mf({accountIndex:T,chain:n,change:Z,index:G});A.push({accountIndex:_,address:tn({chain:n,network:C,publicKey:X.publicKey}),change:Z,index:G,path:xH.derivationPathToString(Q),pubkey:lH.hex.encode(X.publicKey)})}}return A}var lH,SH,xH;var $H=P(()=>{kn();sf();lH=require("@scure/base"),SH=require("@scure/bip32"),xH=require("@swapkit/helpers")});function M_(y,n){switch(y){case ff.Chain.BitcoinCash:return Oo(n||{});case ff.Chain.Zcash:return Ro(n);case ff.Chain.Bitcoin:case ff.Chain.Dogecoin:case ff.Chain.Litecoin:case ff.Chain.Dash:return Lf({chain:y,...n});default:throw new ff.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var ff;var IH=P(()=>{vT();sf();ko();kn();$H();vT();In();ff=require("@swapkit/helpers")});var lo={};My(lo,{validateZcashAddress:()=>df,validateUtxoAddress:()=>Yo,validateBchAddress:()=>Zf,toLegacyAddress:()=>yf,toCashAddress:()=>Sn,stripToCashAddress:()=>pn,stripPrefix:()=>Pf,nonSegwitChains:()=>Pn,isValidAddress:()=>Qo,getUtxoToolbox:()=>M_,getUtxoNetwork:()=>h2,getUtxoApi:()=>Yy,getUTXOAddressValidator:()=>Bo,getUTXOAddressPath:()=>mf,getUTXOAccountPath:()=>Wf,getUTXOAccountIndexFromPath:()=>xf,getScriptTypeForAddress:()=>cf,getOutputSize:()=>Fn,getNetworkForChain:()=>ky,getInputSize:()=>Qf,getDustThreshold:()=>$n,detectAddressNetwork:()=>Zo,deriveAddressesFromXpub:()=>FH,createZcashToolbox:()=>Ro,createUTXOToolbox:()=>Lf,createHDWalletHelpers:()=>TH,createCustomUtxoApi:()=>K2,createBCHToolbox:()=>Oo,compileMemo:()=>Iy,calculateTxSize:()=>If,assertDerivationIndex:()=>by,addressFromKeysGetter:()=>zo,addInputsAndOutputs:()=>Mf,accumulative:()=>uy,UtxoNetwork:()=>Wo,UTXOScriptType:()=>ET,TX_OVERHEAD:()=>tT,SEGWIT_MARKER_FLAG_WEIGHT:()=>pT,OutputSizes:()=>xn,OP_RETURN_OVERHEAD:()=>LH,MIN_TX_FEE:()=>e2,InputSizes:()=>PT});module.exports=Ny(lo);var So=P(()=>{sf();kn();gf();IH();vT();ko()});function En(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function hT(y){let{KeyPair:n}=await import("@near-js/crypto"),o=y.index||0,f=y.derivationPath?KT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=tH.parseSeedPhrase(y.phrase,f),C=n.fromString(T);return EH(C)}async function xo(y){let{KeyPair:n}=await import("@near-js/crypto"),o=n.fromString(y);return EH(o)}function EH(y){return new pH(y)}async function mT(y,n){let f=(await y.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((U)=>U.access_key.permission==="FullAccess");if(!f)throw new KT.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:T}=await import("@near-js/crypto"),C=T.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:C}}var PH,KT,tH,pH;var Fo=P(()=>{PH=require("@near-js/signers"),KT=require("@swapkit/helpers"),tH=U0(require("near-seed-phrase"));pH=class pH extends PH.KeyPairSigner{#y;constructor(y){super(y);this.#y=y}getAddress(){let y=this.#y.getPublicKey(),n=Buffer.from(y.data).toString("hex");return Promise.resolve(n)}}});function $o(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function Io(y){return"contractId"in y&&"methodName"in y}function Po(y){return"actions"in y}function to(y){return"newAccountId"in y}function po(y){return"contractCode"in y}function Eo(y){return"customEstimator"in y}function Vo(y){let n=0;for(let o of y)switch(o.enum){case"transfer":n+=Number(Oy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Oy.CONTRACT_CALL);break;case"createAccount":n+=Number(Oy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Oy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Oy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Oy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Oy.STAKE);break;default:n+=Number(Oy.CONTRACT_CALL)}return n.toString()}function bo(y){if(y==="ft_transfer"||y==="ft_transfer_call")return Oy.TOKEN_TRANSFER;if(y==="storage_deposit")return Oy.STORAGE_DEPOSIT;return Oy.CONTRACT_CALL}function L_(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function Y_(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var Oy;var uo=P(()=>{Oy={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 vo({account:y,contractId:n,viewMethods:o,changeMethods:f}){let{Contract:T}=await import("@near-js/accounts");return new T(y,n,{changeMethods:f,useLocalViewExecution:!0,viewMethods:o})}function B_(y){let n;async function o(){if(n)return n;return n=await yn.match(y).with({phrase:yn.P.string},async(q)=>{return await hT(q)}).with({signer:yn.P.any},({signer:q})=>q).otherwise(()=>{return}),n}async function f(){let q=await ny.getRPCUrl(ny.Chain.Near);return new VH.JsonRpcProvider({url:q})}async function T(q){let{Account:O}=await import("@near-js/accounts"),k=await f(),x=await o(),F=q||await C();return new O(F,k,x)}async function C(){let q=await o();if(!q)throw new ny.SwapKitError("toolbox_near_no_signer");return await q.getAddress()}async function H(q){return(await N({changeMethods:[],contractId:q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:q.accountId})}async function U(q){let k=[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 z({actions:k,receiverId:q.contractId})}async function _(q){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let{assetValue:k,recipient:x,memo:F}=q,u=await C();if(!k.isGasAsset&&k.address){if(!await H({accountId:x,contractId:k.address}))return U({assetValue:k,contractId:k.address,memo:F,recipient:x})}let h=await A({...q,sender:u});return Q(h)}async function A({recipient:q,assetValue:O,memo:k,attachedDeposit:x,sender:F,functionCall:u}){let h=await f();if(!En(q))throw new ny.SwapKitError("toolbox_near_invalid_address",{recipient:q});if(!En(F))throw new ny.SwapKitError("toolbox_near_invalid_address",{sender:F});if(u)return M({...u,sender:F});if(!O.isGasAsset){let Bf=O.address;if(!Bf)throw new ny.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:k||null,receiver_id:q},attachedDeposit:x||"1",contractId:Bf,gas:"250000000000000",methodName:"ft_transfer",sender:F})}let{publicKey:i,nonce:fy}=await mT(h,F),By=O.getBaseValue("bigint"),{actionCreators:wy,createTransaction:Zy}=await import("@near-js/transactions"),{baseDecode:py}=await import("@near-js/utils"),ly=[wy.transfer(By)];if(k&&x)ly.push(wy.functionCall("memo",{memo:k},BigInt("250000000000000"),BigInt(x)));let Ky=await h.block({finality:"final"}),Yf=py(Ky.header.hash);return Zy(F,i,q,fy+1,ly,Yf)}function Z(q){let O=q.encode();return Buffer.from(O).toString("base64")}async function M({args:q,attachedDeposit:O,contractId:k,gas:x,methodName:F,sender:u}){let h=await f(),{publicKey:i,nonce:fy}=await mT(h,u),{createTransaction:By,actionCreators:wy}=await import("@near-js/transactions"),{baseDecode:Zy}=await import("@near-js/utils"),py=await h.block({finality:"final"}),ly=Zy(py.header.hash),Ky=[wy.functionCall(F,Buffer.from(JSON.stringify(q)),BigInt(x),BigInt(O))];return By(u,i,k,fy+1,Ky,ly)}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 G(q){let O=await o();if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");let[k,x]=await O.signTransaction(q);return x}async function X(q){return(await(await f()).sendTransaction(q)).transaction.hash}async function Q(q){let O=await o();if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");try{let k=await G(q);return await X(k)}catch{return O.signAndSendTransactions?.({transactions:[q]})}}async function B(q){let O=await o();if("assetValue"in q){let x=await D();try{let F=await ny.getRPCUrl(ny.Chain.Near),u=await fetch(F,{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:h}}=await u.json(),{execution:i,send_sir:fy}=h.transaction_costs.action_receipt_creation_config,{execution:By,send_sir:wy}=h.transaction_costs.action_creation_config.transfer_cost,Zy=BigInt(wy)+BigInt(By),py=BigInt(fy)+BigInt(i),Ky=(Zy+py)*BigInt(x.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:Ky})}catch(F){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",F);let u=BigInt("115123062500"),h=BigInt("108059500000"),fy=(u+h)*BigInt(x.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:fy})}}let k=O?await T():void 0;return J(q,k)}async function D(){let q=await f();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,k){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let F=await T(),{formatNearAmount:u}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),i=u(k)||"0";return(await F.createAccount(q,h.fromString(O),BigInt(i))).transaction.hash}async function w(q){let O=await o();try{if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");let{actionCreators:k}=await import("@near-js/transactions"),{contractId:x,methodName:F,args:u,deposit:h}=q,i=await T(),fy=await J({args:u||{},contractId:x,methodName:F}),By=k.functionCall(F,u||{},fy.getBaseValue("bigint"),BigInt(h||"1"));return(await i.signAndSendTransaction({actions:[By],receiverId:x})).transaction_outcome.id}catch(k){throw new ny.SwapKitError("toolbox_near_transfer_failed",{error:k})}}async function N(q){let O=await T();return vo({account:O,changeMethods:q.changeMethods,contractId:q.contractId,viewMethods:q.viewMethods})}async function z(q){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");if(q.actions.length===0)throw new ny.SwapKitError("toolbox_near_empty_batch");return(await(await T()).signAndSendTransaction({actions:q.actions,receiverId:q.receiverId})).transaction.hash}async function J(q,O){let k=await yn.match(q).when($o,()=>Oy.SIMPLE_TRANSFER).when(Io,(F)=>bo(F.methodName)).when(Po,(F)=>Vo(F.actions)).when(to,()=>Oy.ACCOUNT_CREATION).when(po,()=>Oy.CONTRACT_DEPLOYMENT).when(Eo,(F)=>{if(!O)throw new ny.SwapKitError("toolbox_near_no_account");return F.customEstimator(O)}).otherwise(()=>{throw new ny.SwapKitError("toolbox_near_invalid_gas_params")}),x=BigInt(k)*BigInt(1000000000000);return ny.AssetValue.from({chain:ny.Chain.Near,value:x})}function Y(q,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),J(q,O)}async function R(){let q=await f();try{return(await q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function l(){let q=await o();return q?(await q.getPublicKey()).toString():""}return{broadcastTransaction:X,callFunction:w,createAction:W,createContract:N,createContractFunctionCall:M,createSubAccount:L,createTransaction:A,estimateGas:Y,estimateGasLimit:J,estimateTransactionFee:B,executeBatchTransaction:z,getAddress:C,getBalance:Sy(ny.Chain.Near),getGasPrice:R,getNearProvider:f,getPublicKey:l,getSignerFromPhrase:hT,getSignerFromPrivateKey:xo,serializeTransaction:Z,signAndBroadcastTransaction:Q,signTransaction:G,transfer:_,validateAddress:En}}var VH,ny,yn;var jo=P(()=>{iy();Fo();uo();VH=require("@near-js/providers"),ny=require("@swapkit/helpers"),yn=require("ts-pattern")});var bH=P(()=>{jo()});var Ko={};My(Ko,{validateNearAddress:()=>En,tgasToGas:()=>L_,isSimpleTransfer:()=>$o,isCustomEstimator:()=>Eo,isContractDeployment:()=>po,isContractCall:()=>Io,isBatchTransaction:()=>Po,isAccountCreation:()=>to,getNearToolbox:()=>B_,getNearSignerFromPrivateKey:()=>xo,getNearSignerFromPhrase:()=>hT,getFullAccessPublicKey:()=>mT,getContractMethodGas:()=>bo,gasToTGas:()=>Y_,estimateBatchGas:()=>Vo,createNearContract:()=>vo,GAS_COSTS:()=>Oy});module.exports=Ny(Ko);var ho=P(()=>{Fo();uo();jo();bH()});var mo={};My(mo,{validateRadixAddress:()=>jH,getRadixToolbox:()=>D_});module.exports=Ny(mo);function jH(y){return y.startsWith("account_rdx1")&&y.length===66}function z_({networkApi:y}){return async function(o){let f=await N_({address:o,networkApi:y}),T=await O_({networkApi:y,resources:f});if(!T.some((H)=>H.isGasAsset))return[vy.AssetValue.from({chain:vy.Chain.Radix}),...T];return T}}async function N_({address:y,networkApi:n}){let o=!0,f,T=[],C=await w_(n);while(o){let H={address:y,at_ledger_state:{state_version:C},cursor:f,limit_per_page:100},U=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:H});if(T=T.concat(U.items),U.next_cursor)f=U.next_cursor;else o=!1}return T}async function O_({resources:y,networkApi:n}){let o=[],f=50,T=[];for(let C=0;C<y.length;C+=50)T.push(y.slice(C,C+50));for(let C of T){let H=C.map((A)=>A.resource_address),U=await n.state.getEntityDetailsVaultAggregated(H),_=new Map;for(let A of U)if(A.details!==void 0){let Z=A.metadata?.items.find((W)=>W.key==="symbol"),M=Z?.value.typed.type==="String"?Z.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of C)if(A.aggregation_level==="Global"){let Z=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=vy.AssetValue.from({asset:Z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${Z.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});o.push(M)}}return o}async function w_(y){return(await y.status.getCurrent()).ledger_state.state_version}function D_({dappConfig:y}={}){let n=y||vy.SKConfig.get("integrations").radix,o=vH.RadixDappToolkit({...n,networkId:n.network?.networkId||1}),f=uH.GatewayApiClient.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:z_({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:jH}}var uH,vH,vy;var co=P(()=>{uH=require("@radixdlt/babylon-gateway-api-sdk"),vH=require("@radixdlt/radix-dapp-toolkit"),vy=require("@swapkit/helpers")});function cT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function Vn(y){if(cT(y))return y.toUpperCase();if(y.length<=3){let o=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${o}${"0".repeat(10)}`.toUpperCase()}let n=Buffer.from(y).toString("hex").toUpperCase();if(n.length>40)throw new KH.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return n.padEnd(40,"0")}function R_(y){if(!cT(y))return y;if(y.toUpperCase().startsWith("00")){let n=y.slice(24,30);try{let o=Buffer.from(n,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(o)&&o.length>0)return o}catch{}return y.toUpperCase()}try{let n=y.replace(/0+$/,""),o=n.length%2===0?n:`${n}0`,f=Buffer.from(o,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function fn(y){if(cT(y))return y.toUpperCase();if(y.length<=3)return y;return Vn(y)}var KH;var gT=P(()=>{KH=require("@swapkit/helpers")});async function k_(y,n){let o=fn(y),f=dT.find((T)=>fn(T.currency)===o&&T.issuer===n);if(f)return f;try{let T=await iT.RequestClient.get(`https://api.xrplmeta.org/token/${y}:${n}`);if(T)return{currency:y,decimals:15,description:T.desc,domain:T.domain,icon:T.icon,issuer:n,name:T.name,verified:T.self_assessment?.is_regulated||T.self_assessment?.is_licensed}}catch(T){iT.warnOnce({condition:!0,id:`xrpl_token_lookup_${y}_${n}`,warning:`Failed to fetch XRPL token info for ${y}:${n}: ${T}`})}return{currency:y,decimals:15,issuer:n,verified:!1}}function l_(y){return dT.filter((n)=>n.issuer===y)}function S_(y,n){let o=fn(y);return dT.some((f)=>fn(f.currency)===o&&f.issuer===n)}var iT,dT;var hH=P(()=>{gT();iT=require("@swapkit/helpers"),dT=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var go={};My(go,{validateRippleAddress:()=>aT,parseXrplTokenIdentifier:()=>gH,normalizeCurrency:()=>fn,isKnownToken:()=>S_,isHexCurrency:()=>cT,hexToCurrency:()=>R_,hashes:()=>dH.hashes,getXrplTokenInfo:()=>k_,getRippleToolbox:()=>F_,getKnownTokensByIssuer:()=>l_,formatXrplTokenIdentifier:()=>iH,currencyToHex:()=>Vn,XRPL_TOKEN_ERROR_CODES:()=>rT,XRPL_KNOWN_TOKENS:()=>dT});module.exports=Ny(go);function gH(y){let n=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!n?.[1]||!n?.[2])return null;if(!nf.isValidAddress(n[2]))return null;return{currency:n[1],issuer:n[2]}}function iH(y,n){return`${c.Chain.Ripple}.${y}-${n}`}function x_(y){if(y.isGasAsset)return nf.xrpToDrops(y.getValue("string"));let n=gH(y.toString());if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:n.currency,issuer:n.issuer,value:y.getValue("string")}}function cH(y){let n=nf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(o)=>Promise.resolve(n.sign(o))}}function aT(y){return nf.isValidAddress(y)}function F_(y={}){let n=nn.match(y).with({phrase:nn.P.string},({phrase:L})=>cH(L)).with({signer:nn.P.any},({signer:L})=>L).otherwise(()=>{return}),o;async function f(){let L=await c.getRPCUrl(c.Chain.Ripple);if(!L)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let w=new nf.Client(L);return await w.connect(),w}async function T(){if(o){let L=await o.catch(()=>null);if(L?.isConnected())return L}return o=f(),o}let C=()=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},H=async(L)=>{let w=L||await C(),{baseDecimal:N}=c.getChainConfig(c.Chain.Ripple),z=await T();try{let[J,Y]=await Promise.all([z.request({account:w,command:"account_info"}),z.request({account:w,command:"account_lines"})]),R=J.result.account_data.Balance,l=[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:N,value:R})];for(let q of Y.result.lines){let O=iH(q.currency,q.account);if(Number.parseFloat(q.balance)!==0)l.push(c.AssetValue.from({asset:O,asyncTokenLookup:!1,value:q.balance}))}return l}catch(J){if(J.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:w,error:J}})}},U=async()=>{let{baseDecimal:L}=c.getChainConfig(c.Chain.Ripple),z=(await(await T()).request({command:"fee"})).result.drops.open_ledger_fee;return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:L,value:z})};async function _(L){let w=L||await C(),N=await T();try{return(await N.request({account:w,command:"account_lines"})).result.lines.map((J)=>({account:J.account,authorized:J.authorized??!1,balance:J.balance,currency:J.currency,freeze:J.freeze??!1,freezePeer:J.freeze_peer??!1,limit:J.limit,limitPeer:J.limit_peer,noRipple:J.no_ripple??!1,noRipplePeer:J.no_ripple_peer??!1,peerAuthorized:J.peer_authorized??!1,qualityIn:J.quality_in??0,qualityOut:J.quality_out??0}))}catch(z){if(z.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[];throw new c.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:w,error:z}})}}async function A({address:L,currency:w,issuer:N}){let z=await _(L),J=Vn(w);return z.some((Y)=>{return Vn(Y.currency)===J&&Y.account===N})}async function Z({currency:L,issuer:w,limit:N,sender:z}){let J=z||await C();if(!aT(w))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:w}});let Y=Number.parseFloat(N);if(Number.isNaN(Y)||Y<0)throw new c.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:N}});let R=await T(),l={Account:J,LimitAmount:{currency:L,issuer:w,value:N},TransactionType:"TrustSet"};return R.autofill(l)}async function M({assetValue:L,recipient:w,memo:N,sender:z,destinationTag:J,extendBySeconds:Y=150}){if(!aT(w))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let R=z||await C();if(L.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let l=x_(L),q={Account:R,Amount:l,Destination:w,TransactionType:"Payment",...J!==void 0&&{DestinationTag:J}};if(N)q.Memos=[{Memo:{MemoData:Buffer.from(N).toString("hex")}}];let k=await(await T()).autofill(q);if(k.LastLedgerSequence&&Y>0)k.LastLedgerSequence+=Math.ceil(Y/4);return k}function W(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)}async function G(L){let N=await(await T()).submitAndWait(L),{result:z}=N;if(z.validated)return z.hash;let J=z.meta?.TransactionResult,Y=nn.match(J).with(rT.tecNO_LINE,()=>"No trust line exists for this token").with(rT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(rT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple,...Y?{reason:Y}:{txResult:J}}})}let X=async(L)=>{try{let w=await W(L);return G(w.tx_blob)}catch(w){if(w instanceof c.SwapKitError)throw w;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple,error:w}})}};async function Q(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),N=await M({...L,sender:w}),z=await W(N);return G(z.tx_blob)}async function B(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),N=await Z({...L,sender:w}),z=await W(N);return G(z.tx_blob)}function D(){let L=o;if(o=null,L)L.then((w)=>{if(w?.isConnected())return w.disconnect();return}).catch((w)=>{console.warn("XRPL Cleanup failed silently:",w)})}return{broadcastTransaction:G,createSigner:cH,createTransaction:M,disconnect:D,estimateTransactionFee:U,getAddress:C,getBalance:H,getTrustLines:_,hasTrustLine:A,setTrustLine:Z,setTrustLineAndBroadcast:B,signAndBroadcastTransaction:X,signTransaction:W,transfer:Q,validateAddress:aT}}var c,nn,nf,dH,mH,rT;var io=P(()=>{gT();c=require("@swapkit/helpers"),nn=require("ts-pattern"),nf=require("xrpl");gT();hH();dH=require("xrpl"),mH={ACCOUNT_NOT_FOUND:19},rT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ro(y,n){let o=0n,f=0n,T=n;while(T<y.length&&T-n<10){let C=y[T++];if(C===void 0)break;if(o|=BigInt(C&127)<<f,f+=7n,(C&128)===0)return[o,T]}throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed")}function bn(y){let n=[],o=y<0n?y+2n**64n:y;while(o>=128n)n.push(Number(o&0x7fn)|128),o>>=7n;return n.push(Number(o)),n}function sT(y,n,o){let f=y.get(n);if(f)f.push(o);else y.set(n,[o])}function t_(y){let n=new Map,o=0;while(o<y.length){let[f,T]=ro(y,o);o=T;let C=Number(f>>3n),H=Number(f&7n);if(H===eT){let[U,_]=ro(y,o);o=_,sT(n,C,{data:new Uint8Array(bn(U)),wireType:eT})}else if(H===y0){let[U,_]=ro(y,o);o=_;let A=Number(U);if(A<0||o+A>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=y.slice(o,o+A);o+=A,sT(n,C,{data:Z,wireType:y0})}else if(H===rH){if(o+8>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+8);o+=8,sT(n,C,{data:U,wireType:rH})}else if(H===aH){if(o+4>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+4);o+=4,sT(n,C,{data:U,wireType:aH})}else throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed")}return n}function p_(y){let n=[];for(let[C,H]of[...y.entries()].sort(([U],[_])=>U-_))for(let{wireType:U,data:_}of H){let A=BigInt(C<<3|U);if(n.push(new Uint8Array(bn(A))),U===y0)n.push(new Uint8Array(bn(BigInt(_.length))));n.push(_)}let o=n.reduce((C,H)=>C+H.length,0),f=new Uint8Array(o),T=0;for(let C of n)f.set(C,T),T+=C.length;return f}function eH(y,n){if(!y||y.length%2!==0)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let o=Tn.hexToBytes(y),f=t_(o);if(n.expiration!==void 0)f.set($_,[{data:new Uint8Array(bn(BigInt(n.expiration))),wireType:eT}]);if(n.data!==void 0)f.set(I_,[{data:Tn.hexToBytes(n.data),wireType:y0}]);if(n.fee_limit!==void 0)f.set(P_,[{data:new Uint8Array(bn(BigInt(n.fee_limit))),wireType:eT}]);let T=p_(f),C=Tn.bytesToHex(T),H=Tn.bytesToHex(sH.sha256(T));return{raw_data_hex:C,txID:H}}var sH,Tn,tf,eT=0,rH=1,y0=2,aH=5,$_=8,I_=10,P_=18;var y5=P(()=>{sH=require("@noble/hashes/sha2.js"),Tn=require("@noble/hashes/utils.js"),tf=require("@swapkit/helpers")});function jy(y){if(typeof y!=="string")return!1;try{let n=f0.decode(y);return n.length===21&&n[0]===T5}catch{return!1}}function o5(y){return ty.bytesToHex(f0.decode(y))}function V_(y){return f0.decode(y).slice(1)}function C5(y){let n=ao.secp256k1.getPublicKey(ty.hexToBytes(y),!1),o=f5.keccak_256(n.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=T5,f.set(o,1),f0.encode(f)}function H5({txID:y,privateKey:n}){let o=ao.secp256k1.sign(ty.hexToBytes(y),ty.hexToBytes(n),{format:"recovered",prehash:!1}),f=o[0]??0,T=ty.bytesToHex(o.slice(1,33)),C=ty.bytesToHex(o.slice(33,65)),H=(f+27).toString(16).padStart(2,"0");return T+C+H}function on({txID:y,raw_data_hex:n}){let o=ty.bytesToHex(so.sha256(ty.hexToBytes(n)));if(y!==o)throw new eo.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:o,txID:y})}function b_(y){return`000000000000000000000000${ty.bytesToHex(V_(y))}`}function u_(y){let n=typeof y==="bigint"?y:BigInt(y);if(n<0n||n>=E_)throw new eo.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:n.toString()});return n.toString(16).padStart(64,"0")}function Cn(y){return y.map(({type:n,value:o})=>n==="address"?b_(o):u_(BigInt(o))).join("")}function U5(y){return ty.bytesToHex(new TextEncoder().encode(y))}var ao,so,f5,ty,n5,eo,f0,T5=65,E_;var yC=P(()=>{ao=require("@noble/curves/secp256k1.js"),so=require("@noble/hashes/sha2.js"),f5=require("@noble/hashes/sha3.js"),ty=require("@noble/hashes/utils.js"),n5=require("@scure/base"),eo=require("@swapkit/helpers"),f0=n5.createBase58check(so.sha256),E_=2n**256n});function A5(){try{return Ay.getRPCUrlSync(Ay.Chain.Tron)}catch{return _5}}function q5(){let y=new AbortController,n=setTimeout(()=>y.abort(),m_);return{cleanup:()=>clearTimeout(n),signal:y.signal}}async function pf(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${A5()}${y}`,{body:JSON.stringify(n),headers:{"Content-Type":"application/json"},method:"POST",signal:o});if(!T.ok)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function G5(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${n??A5()}${y}`,{headers:{"Content-Type":"application/json"},signal:o});if(!T.ok)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function X5(y){if(!jy(y))throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let n=await G5(`/v1/accounts/${y}`,_5);if(!(n.success&&n.data)||n.data.length===0)return;let o;try{o=o5(y).toLowerCase()}catch{o=y.toLowerCase()}let f=n.data.find((T)=>T.address.toLowerCase()===o);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(n){if(n instanceof Ay.SwapKitError)throw n;throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:n instanceof Error?n.message:"Unknown error"})}}async function W5({from:y,to:n,amount:o}){let T=await pf("/wallet/createtransaction",{amount:o,owner_address:y,to_address:n,visible:!0});if(!T.txID||!T.raw_data_hex||!T.raw_data)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");let H=T.raw_data?.contract?.[0]?.parameter?.value;if(H?.to_address!==n||H?.owner_address!==y||H?.amount!==o)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");return on(T),T}async function Q5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f,feeLimit:T,callValue:C=0}){let H=await pf("/wallet/triggersmartcontract",{call_value:C,contract_address:n,fee_limit:T,function_selector:o,owner_address:y,parameter:f,visible:!0});if(!H.result.result||!H.transaction?.txID||!H.transaction?.raw_data_hex)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");let _=H.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==n||_?.owner_address!==y)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");return on(H.transaction),H.transaction}function Z5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return pf("/wallet/triggerconstantcontract",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}function c_({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return pf("/wallet/estimateenergy",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}async function un(y){try{let{result:n,txid:o}=await pf("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!n||!o)throw new Ay.SwapKitError("toolbox_tron_token_transfer_failed");return o}catch(n){throw new Ay.SwapKitError("toolbox_tron_broadcast_failed",{error:n})}}async function vn(){let y={};try{let{chainParameter:n}=await G5("/wallet/getchainparameters");for(let o of n)y[o.key]=o.value}catch(n){Ay.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${n instanceof Error?n.message:n}`})}return{bandwidthFee:y.getTransactionFee??v_,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??j_,energyFee:y.getEnergyFee??K_,memoFee:y.getMemoFee??h_}}async function fC(y){try{let n=await pf("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(n.freeNetLimit??600)-(n.freeNetUsed??0),total:n.NetLimit??0,used:n.NetUsed??0},energy:{total:n.EnergyLimit??0,used:n.EnergyUsed??0}}}catch(n){return Ay.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${n instanceof Error?n.message:n}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jn(y){try{let n=await pf("/wallet/getaccount",{address:y,visible:!0});return n&&Object.keys(n).length>0}catch{return!1}}async function nC(y){try{let n=await c_({...y,ownerAddress:y.sender}),o=n.energy_required??n.energyRequired;if(n.result&&!n.result.result)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:n.result.message||"estimateenergy failed"});if(o!==void 0){if(Number.isFinite(o)&&o>0)return o;throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(n){Ay.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${n instanceof Error?n.message:n}`})}try{let{energy_used:n}=await Z5({...y,ownerAddress:y.sender});return n}catch(n){return Ay.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${n instanceof Error?n.message:n}`}),65000}}async function J5({assetAddress:y,owner:n,spender:o}){let f=Cn([{type:"address",value:n},{type:"address",value:o}]),C=(await Z5({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:o,parameter:f})).constant_result?.[0];if(!C)return 0n;try{return BigInt(`0x${C}`)}catch{return 0n}}var Ay,_5="https://api.trongrid.io",v_=1000,j_=1e6,K_=420,h_=1e6,m_=30000;var M5=P(()=>{yC();Ay=require("@swapkit/helpers")});function R5({phrase:y,derivationPath:n}){let o=O5.HDKey.fromMasterSeed(w5.mnemonicToSeedSync(y)).derive(n);if(!o.privateKey)throw new p.SwapKitError("toolbox_tron_no_signer");return N5.bytesToHex(o.privateKey)}function k5({phrase:y,derivationPath:n,index:o}){let f=n||p.derivationPathToString(p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:o||0}));return R5({derivationPath:f,phrase:y})}function i_({phrase:y,derivationPath:n}){let o=R5({derivationPath:n,phrase:y}),f=C5(o);return{getAddress:()=>Promise.resolve(f),signTransaction:(T)=>{on(T);let C=H5({privateKey:o,txID:T.txID});return Promise.resolve({...T,signature:[C]})}}}function z5({transaction:y,memo:n,expiration:o,feeLimit:f}){let T={},C={};if(f!==void 0&&y.raw_data)T.fee_limit=f,C.fee_limit=f;if(n){let _=U5(n);T.data=_,C.data=_}if(o){let _=y.raw_data.expiration+o*1000;T.expiration=_,C.expiration=_}if(Object.keys(T).length===0)return y;let{raw_data_hex:H,txID:U}=eH(y.raw_data_hex,T);return{...y,raw_data:{...y.raw_data,...C},raw_data_hex:H,txID:U}}function l5(y={}){let n="index"in y?y.index||0:0,o=p.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:n})),f,T=!1;function C(){if(T)return Promise.resolve(f);return f=Hn.match(y).with({phrase:Hn.P.string},({phrase:J})=>i_({derivationPath:o,phrase:J})).with({signer:Hn.P.not(Hn.P.nullish)},({signer:J})=>J).otherwise(()=>{return}),T=!0,Promise.resolve(f)}async function H(){let J=await C();if(!J)throw new p.SwapKitError("toolbox_tron_no_signer");return J.getAddress()}async function U(J,Y){let R=J||Y5,l=Y??(await vn()).energyFee,q=R*l,O=Math.ceil(q*1.5);return Math.min(Math.max(O,1e7),150000000)}async function _({contractAddress:J,functionSelector:Y,parameter:R,sender:l,memo:q,expiration:O,extraEnergy:k=0}){let x=await nC({contractAddress:J,functionSelector:Y,parameter:R,sender:l}),F=await U(x+k),u=await Q5({contractAddress:J,feeLimit:F,functionSelector:Y,ownerAddress:l,parameter:R});return z5({expiration:O,feeLimit:F,memo:q,transaction:u})}async function A(J){if(!jy(J))return[p.AssetValue.from({chain:p.Chain.Tron})];try{let Y=await X5(J);if(!Y)return[p.AssetValue.from({chain:p.Chain.Tron})];let R=[p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:6,value:String(Y.balance)})],l=Y.trc20?.find((q)=>(oC in q));if(l){let q=l[oC];R.push(p.AssetValue.from({asset:`TRON.USDT-${oC}`,fromBaseDecimal:6,value:q}))}return R}catch(Y){return p.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${Y instanceof Error?Y.message:Y}`}),[p.AssetValue.from({chain:p.Chain.Tron})]}}async function Z({recipient:J,assetValue:Y,memo:R,expiration:l}){if(!jy(J))throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let q=await C();if(!q)throw new p.SwapKitError("toolbox_tron_no_signer");try{let O=await H(),k=await B({assetValue:Y,expiration:l,memo:R,recipient:J,sender:O}),x=await q.signTransaction(k),F=await un(x);if(!F)throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(O){throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:O instanceof Error?O.message:String(O)})}}function M({requiredBandwidth:J,resources:Y,feePerUnit:R}){let l=Math.max(0,Y.free+Y.total-Y.used);return J>l?(J-l)*R:0}async function W({memo:J,recipient:Y,senderAddress:R}){let[l,q,O]=await Promise.all([vn(),jn(Y),fC(R)]),k=q?0:l.createAccountFee,x=M({feePerUnit:l.bandwidthFee,requiredBandwidth:L5,resources:O.bandwidth}),F=J?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:k+x+F})}async function G({assetValue:J,memo:Y,recipient:R,senderAddress:l}){let q=J.address;if(!q)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:J.toString()});let[O,k,x,F]=await Promise.all([vn(),jn(R),fC(l),nC({contractAddress:q,functionSelector:"transfer(address,uint256)",parameter:Cn([{type:"address",value:R},{type:"uint256",value:J.getBaseValue("string")}]),sender:l})]),h=F+(k?0:TC),i=M({feePerUnit:O.bandwidthFee,requiredBandwidth:B5,resources:x.bandwidth}),fy=Math.max(0,x.energy.total-x.energy.used),By=h>fy?(h-fy)*O.energyFee:0,wy=Y?O.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:i+By+wy})}async function X({assetValue:J,memo:Y,recipient:R}){let[l,q]=await Promise.all([vn(),jn(R)]);if(J.isGasAsset){let F=q?0:l.createAccountFee,u=Y?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:F+L5*l.bandwidthFee+u})}let k=await U(Y5+(q?0:TC),l.energyFee),x=Y?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:k+B5*l.bandwidthFee+x})}async function Q({assetValue:J,memo:Y,recipient:R,sender:l}){let q=await C();try{let O=l?l:q?await H():void 0;if(!O)return X({assetValue:J,memo:Y,recipient:R});return J.isGasAsset?W({memo:Y,recipient:R,senderAddress:O}):G({assetValue:J,memo:Y,recipient:R,senderAddress:O})}catch(O){throw p.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${O instanceof Error?O.message:O}`}),new p.SwapKitError("toolbox_fee_estimation_failed",{chain:p.Chain.Tron,error:O})}}async function B({recipient:J,assetValue:Y,memo:R,sender:l,expiration:q}){if(!jy(J)||!jy(l))throw new p.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(Y.isGasAsset){let x=await W5({amount:Y.getBaseValue("number"),from:l,to:J});return z5({expiration:q,memo:R,transaction:x})}let O=Y.address;if(!O)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});let k=await jn(J);return _({contractAddress:O,expiration:q,extraEnergy:k?0:TC,functionSelector:"transfer(address,uint256)",memo:R,parameter:Cn([{type:"address",value:J},{type:"uint256",value:Y.getBaseValue("string")}]),sender:l})}async function D(J){on(J);let Y=await C();if(!Y)throw new p.SwapKitError("toolbox_tron_no_signer");return Y.signTransaction(J)}async function L(J){let Y=await D(J);return un(Y)}function w({assetAddress:J,spenderAddress:Y,from:R}){return J5({assetAddress:J,owner:R,spender:Y})}async function N({assetAddress:J,spenderAddress:Y,from:R,amount:l}){let q=await w({assetAddress:J,from:R,spenderAddress:Y});if(!l)return q>0n;return q>=BigInt(l)}async function z({assetAddress:J,spenderAddress:Y,amount:R,from:l}){if(!jy(J)||!jy(Y))throw new p.SwapKitError("toolbox_tron_approve_failed");let q=await C();if(!q)throw new p.SwapKitError("toolbox_tron_no_signer");let O=l||await H(),k=R!==void 0?BigInt(R).toString():g_;try{let x=await _({contractAddress:J,functionSelector:"approve(address,uint256)",parameter:Cn([{type:"address",value:Y},{type:"uint256",value:k}]),sender:O}),F=await q.signTransaction(x),u=await un(F);if(!u)throw new p.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof p.SwapKitError)throw x;throw new p.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:z,broadcastTransaction:un,createTransaction:B,estimateTransactionFee:Q,getAddress:H,getApprovedAmount:w,getBalance:A,getRpcUrl:()=>p.getRPCUrl(p.Chain.Tron),isApproved:N,signAndBroadcastTransaction:L,signTransaction:D,transfer:Z,validateAddress:jy}}var N5,O5,w5,p,Hn,D5,L5=268,Y5=65000,TC=25000,B5=345,oC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",g_="115792089237316195423570985008687907853269984665640564039457584007913129639935";var S5=P(()=>{y5();M5();yC();N5=require("@noble/hashes/utils.js"),O5=require("@scure/bip32"),w5=require("@scure/bip39"),p=require("@swapkit/helpers"),Hn=require("ts-pattern"),D5=jy});var CC={};My(CC,{validateTronAddress:()=>D5,getTronToolbox:()=>l5,getTronPrivateKeyFromMnemonic:()=>k5});module.exports=Ny(CC);var HC=P(()=>{S5()});function T0(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return d_.test(y)}async function r_(y){if(!T0(y))return!1;try{let{StrKey:n}=await import("@stellar/stellar-sdk");return n.isValidEd25519PublicKey(y)}catch{return!1}}function x5(y={}){let n,o=y.derivationPath||e.NetworkDerivationPath[e.Chain.Stellar],f=e.derivationPathToString(o.slice(0,3));async function T({phrase:Q,path:B}){let{HDKey:D}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:w}=await import("@stellar/stellar-sdk"),N=L(Q),J=D.fromMasterSeed(N).derive(B,!0);return w.fromRawEd25519Seed(Buffer.from(J.privateKey))}async function C(){if(n)return n;let Q=n0.match(y).with({phrase:n0.P.string},({phrase:B})=>B).otherwise(()=>{return});if(!Q)throw new e.SwapKitError("toolbox_stellar_no_signer");return n=await T({path:f,phrase:Q}),n}async function H(){let{Horizon:Q}=await import("@stellar/stellar-sdk"),B=await e.getRPCUrl(e.Chain.Stellar);return new Q.Server(B)}async function U(){try{return(await C()).publicKey()}catch{return""}}async function _(Q){let B=Q||await U();if(!B)throw new e.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await H()).loadAccount(B)).balances.map((w)=>{if(w.asset_type==="native")return e.AssetValue.from({chain:e.Chain.Stellar,value:w.balance});let N="asset_code"in w?w.asset_code:"",z="asset_issuer"in w?w.asset_issuer:"";return e.AssetValue.from({asset:`${e.Chain.Stellar}.${N}-${z}`,asyncTokenLookup:!1,value:w.balance})})}catch{return[e.AssetValue.from({chain:e.Chain.Stellar,value:0})]}}async function A({recipient:Q,assetValue:B,memo:D,sender:L}){if(D){if(new TextEncoder().encode(D).length>28)throw new e.SwapKitError("helpers_invalid_memo_type")}if(!await r_(Q))throw new e.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await U();if(!N)throw new e.SwapKitError("toolbox_stellar_no_signer");let{Asset:z,Memo:J,Networks:Y,Operation:R,TransactionBuilder:l}=await import("@stellar/stellar-sdk"),q=await H(),O=await q.fetchBaseFee(),k=await q.loadAccount(N),x=new l(k,{fee:String(O),networkPassphrase:Y.PUBLIC});if(B.isGasAsset)try{await q.loadAccount(Q),x.addOperation(R.payment({amount:B.getValue("string"),asset:z.native(),destination:Q}))}catch{x.addOperation(R.createAccount({destination:Q,startingBalance:B.getValue("string")}))}else x.addOperation(R.payment({amount:B.getValue("string"),asset:new z(B.symbol,B.address),destination:Q}));if(D)x.addMemo(J.text(D));return x.setTimeout(30).build()}async function Z(Q){let{TransactionBuilder:B,Networks:D}=await import("@stellar/stellar-sdk"),L=await C(),w=B.fromXDR(Q.toXDR(),D.PUBLIC);return w.sign(L),w}async function M(Q){try{let B=await H(),{hash:D}=await B.submitTransaction(Q);return D}catch(B){throw new e.SwapKitError("toolbox_stellar_broadcast_error",B)}}async function W({recipient:Q,assetValue:B,memo:D}){let L=await C(),w=L.publicKey(),N=await A({assetValue:B,memo:D,recipient:Q,sender:w});N.sign(L);try{return(await(await H()).submitTransaction(N)).hash}catch(z){if(z instanceof e.SwapKitError)throw z;throw new e.SwapKitError("toolbox_stellar_transaction_failed",z)}}async function G(Q){let B=await Z(Q);return M(B)}async function X(){let{baseDecimal:Q}=e.getChainConfig(e.Chain.Stellar);try{let L=(await(await H()).feeStats()).fee_charged.p50;return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:Q,value:L})}catch{return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:Q,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:X,getAddress:U,getBalance:_,signAndBroadcastTransaction:G,signTransaction:Z,transfer:W,validateAddress:T0}}var e,n0,d_;var F5=P(()=>{e=require("@swapkit/helpers"),n0=require("ts-pattern"),d_=/^G[A-Z2-7]{55}$/});var o0={};My(o0,{validateStellarAddress:()=>T0,getStellarToolbox:()=>x5});module.exports=Ny(o0);var C0=P(()=>{F5()});var e_={};My(e_,{getToolbox:()=>UC,getFeeEstimator:()=>s_,getAddressValidator:()=>a_});module.exports=Ny(e_);var V=require("@swapkit/helpers");async function a_(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:n}=await Promise.resolve().then(() => (hn(),Kn)),{validateEVMAddress:o}=await Promise.resolve().then(() => (F0(),vC)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (t0(),P0)),{getCosmosAddressValidator:T}=await Promise.resolve().then(() => (LT(),MT)),{validateHyperCoreAddress:C}=await Promise.resolve().then(() => (no(),fo)),{validateSolanaAddress:H}=await Promise.resolve().then(() => (Uo(),Ho)),{validateStarknetAddress:U}=await Promise.resolve().then(() => (RT(),DT)),{validateSuiAddress:_}=await Promise.resolve().then(() => (lT(),kT)),{validateTonAddress:A}=await Promise.resolve().then(() => (FT(),xT)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (So(),lo)),{validateNearAddress:M}=await Promise.resolve().then(() => (ho(),Ko)),{validateRadixAddress:W}=await Promise.resolve().then(() => (co(),mo)),{validateRippleAddress:G}=await Promise.resolve().then(() => (io(),go)),{validateTronAddress:X}=await Promise.resolve().then(() => (HC(),CC)),{validateStellarAddress:Q}=await Promise.resolve().then(() => (C0(),o0));return function({address:D,chain:L}){return y(L).with(...V.EVMChains,()=>o(D)).with(...V.UTXOChains,(N)=>{return Z(N)(D)}).with(...V.CosmosChains,(N)=>{return T(N)(D)}).with(V.Chain.Aptos,()=>n(D)).with(V.Chain.Radix,()=>W(D)).with(V.Chain.HyperCore,()=>C(D)).with(V.Chain.Near,()=>M(D)).with(V.Chain.Ripple,()=>G(D)).with(V.Chain.Solana,()=>H(D)).with(V.Chain.Stellar,()=>Q(D)).with(V.Chain.Starknet,()=>U(D)).with(V.Chain.Sui,()=>_(D)).with(V.Chain.Ton,()=>A(D)).with(V.Chain.Tron,()=>X(D)).with(V.Chain.Cardano,()=>f(D)).otherwise(()=>!1)}}function s_(y){return async function(o){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...V.EVMChains,async(T)=>{let C=await UC(T),H=await C.createTransaction(o),U="feeOptionKey"in o?o.feeOptionKey:V.FeeOption.Fast;return C.estimateTransactionFee({...H,feeOption:U})}).with(V.Chain.Bitcoin,V.Chain.BitcoinCash,V.Chain.Dogecoin,V.Chain.Dash,V.Chain.Litecoin,V.Chain.Solana,V.Chain.Ripple,V.Chain.Tron,V.Chain.Near,V.Chain.Cardano,V.Chain.HyperCore,async(T)=>{return(await UC(T)).estimateTransactionFee(o)}).with(V.Chain.Aptos,async()=>{let{getAptosToolbox:T}=await Promise.resolve().then(() => (hn(),Kn));return T().estimateTransactionFee(o)}).with(V.Chain.Starknet,async()=>{let{getStarknetToolbox:T}=await Promise.resolve().then(() => (RT(),DT));return(await T()).estimateTransactionFee(o)}).with(V.Chain.Stellar,async()=>{let{getStellarToolbox:T}=await Promise.resolve().then(() => (C0(),o0));return T().estimateTransactionFee()}).with(V.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (lT(),kT));return T().estimateTransactionFee(o)}).with(V.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (FT(),xT));return T().estimateTransactionFee(o)}).with(...V.CosmosChains,async()=>{let{estimateTransactionFee:T}=await Promise.resolve().then(() => (LT(),MT));return T(o)}).otherwise(async()=>V.AssetValue.from({chain:y}))}}async function UC(y,n){let{match:o}=await import("ts-pattern");return o(y).returnType().with(...V.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (x0(),VC));return await f(y,n)}).with(...V.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (So(),lo));return f(y,n)}).with(...V.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (LT(),MT));return f(y,n)}).with(V.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (hn(),Kn));return f(n)}).with(V.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (no(),fo));return f(n)}).with(V.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (co(),mo));return f(n)}).with(V.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (io(),go));return f(n)}).with(V.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (Uo(),Ho));return f(n)}).with(V.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (C0(),o0));return f(n)}).with(V.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (RT(),DT));return f(n)}).with(V.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (lT(),kT));return f(n)}).with(V.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (HC(),CC));return f(n)}).with(V.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (ho(),Ko));return f(n)}).with(V.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (t0(),P0));return f(n)}).with(V.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (FT(),xT));return f(n)}).otherwise(()=>{throw new V.SwapKitError("toolbox_not_supported",{chain:y})})}
|