@tcswap/toolboxes 4.3.15
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/cardano/index.cjs +4 -0
- package/dist/src/cardano/index.cjs.map +11 -0
- package/dist/src/cardano/index.js +4 -0
- package/dist/src/cardano/index.js.map +11 -0
- package/dist/src/cosmos/index.cjs +4 -0
- package/dist/src/cosmos/index.cjs.map +20 -0
- package/dist/src/cosmos/index.js +4 -0
- package/dist/src/cosmos/index.js.map +20 -0
- package/dist/src/evm/index.cjs +4 -0
- package/dist/src/evm/index.cjs.map +20 -0
- package/dist/src/evm/index.js +4 -0
- package/dist/src/evm/index.js.map +20 -0
- package/dist/src/index.cjs +5 -0
- package/dist/src/index.cjs.map +67 -0
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +67 -0
- package/dist/src/near/index.cjs +4 -0
- package/dist/src/near/index.cjs.map +16 -0
- package/dist/src/near/index.js +4 -0
- package/dist/src/near/index.js.map +16 -0
- package/dist/src/radix/index.cjs +4 -0
- package/dist/src/radix/index.cjs.map +10 -0
- package/dist/src/radix/index.js +4 -0
- package/dist/src/radix/index.js.map +10 -0
- package/dist/src/ripple/index.cjs +4 -0
- package/dist/src/ripple/index.cjs.map +10 -0
- package/dist/src/ripple/index.js +4 -0
- package/dist/src/ripple/index.js.map +10 -0
- package/dist/src/solana/index.cjs +4 -0
- package/dist/src/solana/index.cjs.map +11 -0
- package/dist/src/solana/index.js +4 -0
- package/dist/src/solana/index.js.map +11 -0
- package/dist/src/substrate/index.cjs +4 -0
- package/dist/src/substrate/index.cjs.map +13 -0
- package/dist/src/substrate/index.js +4 -0
- package/dist/src/substrate/index.js.map +13 -0
- package/dist/src/sui/index.cjs +4 -0
- package/dist/src/sui/index.cjs.map +11 -0
- package/dist/src/sui/index.js +4 -0
- package/dist/src/sui/index.js.map +11 -0
- package/dist/src/ton/index.cjs +4 -0
- package/dist/src/ton/index.cjs.map +11 -0
- package/dist/src/ton/index.js +4 -0
- package/dist/src/ton/index.js.map +11 -0
- package/dist/src/tron/index.cjs +4 -0
- package/dist/src/tron/index.cjs.map +13 -0
- package/dist/src/tron/index.js +4 -0
- package/dist/src/tron/index.js.map +13 -0
- package/dist/src/utxo/index.cjs +5 -0
- package/dist/src/utxo/index.cjs.map +21 -0
- package/dist/src/utxo/index.js +5 -0
- package/dist/src/utxo/index.js.map +21 -0
- package/dist/types/cardano/index.d.ts +3 -0
- package/dist/types/cardano/index.d.ts.map +1 -0
- package/dist/types/cardano/toolbox.d.ts +37 -0
- package/dist/types/cardano/toolbox.d.ts.map +1 -0
- package/dist/types/cardano/types.d.ts +11 -0
- package/dist/types/cardano/types.d.ts.map +1 -0
- package/dist/types/cosmos/index.d.ts +5 -0
- package/dist/types/cosmos/index.d.ts.map +1 -0
- package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts +8 -0
- package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +1 -0
- package/dist/types/cosmos/thorchainUtils/index.d.ts +5 -0
- package/dist/types/cosmos/thorchainUtils/index.d.ts.map +1 -0
- package/dist/types/cosmos/thorchainUtils/messages.d.ts +211 -0
- package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +1 -0
- package/dist/types/cosmos/thorchainUtils/registry.d.ts +4 -0
- package/dist/types/cosmos/thorchainUtils/registry.d.ts.map +1 -0
- package/dist/types/cosmos/thorchainUtils/types/MsgCompiled.d.ts +2 -0
- package/dist/types/cosmos/thorchainUtils/types/MsgCompiled.d.ts.map +1 -0
- package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts +63 -0
- package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts.map +1 -0
- package/dist/types/cosmos/thorchainUtils/types/index.d.ts +2 -0
- package/dist/types/cosmos/thorchainUtils/types/index.d.ts.map +1 -0
- package/dist/types/cosmos/toolbox/cosmos.d.ts +65 -0
- package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -0
- package/dist/types/cosmos/toolbox/index.d.ts +18 -0
- package/dist/types/cosmos/toolbox/index.d.ts.map +1 -0
- package/dist/types/cosmos/toolbox/thorchain.d.ts +161 -0
- package/dist/types/cosmos/toolbox/thorchain.d.ts.map +1 -0
- package/dist/types/cosmos/types.d.ts +49 -0
- package/dist/types/cosmos/types.d.ts.map +1 -0
- package/dist/types/cosmos/util.d.ts +77 -0
- package/dist/types/cosmos/util.d.ts.map +1 -0
- package/dist/types/evm/api.d.ts +8 -0
- package/dist/types/evm/api.d.ts.map +1 -0
- package/dist/types/evm/contracts/eth/multicall.d.ts +36 -0
- package/dist/types/evm/contracts/eth/multicall.d.ts.map +1 -0
- package/dist/types/evm/contracts/op/gasOracle.d.ts +40 -0
- package/dist/types/evm/contracts/op/gasOracle.d.ts.map +1 -0
- package/dist/types/evm/helpers.d.ts +6 -0
- package/dist/types/evm/helpers.d.ts.map +1 -0
- package/dist/types/evm/index.d.ts +5 -0
- package/dist/types/evm/index.d.ts.map +1 -0
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +88 -0
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -0
- package/dist/types/evm/toolbox/evm.d.ts +767 -0
- package/dist/types/evm/toolbox/evm.d.ts.map +1 -0
- package/dist/types/evm/toolbox/index.d.ts +7 -0
- package/dist/types/evm/toolbox/index.d.ts.map +1 -0
- package/dist/types/evm/toolbox/op.d.ts +67 -0
- package/dist/types/evm/toolbox/op.d.ts.map +1 -0
- package/dist/types/evm/types.d.ts +108 -0
- package/dist/types/evm/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +78 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/near/helpers/core.d.ts +18 -0
- package/dist/types/near/helpers/core.d.ts.map +1 -0
- package/dist/types/near/helpers/gasEstimation.d.ts +41 -0
- package/dist/types/near/helpers/gasEstimation.d.ts.map +1 -0
- package/dist/types/near/helpers/nep141.d.ts +36 -0
- package/dist/types/near/helpers/nep141.d.ts.map +1 -0
- package/dist/types/near/index.d.ts +10 -0
- package/dist/types/near/index.d.ts.map +1 -0
- package/dist/types/near/toolbox.d.ts +35 -0
- package/dist/types/near/toolbox.d.ts.map +1 -0
- package/dist/types/near/types/contract.d.ts +38 -0
- package/dist/types/near/types/contract.d.ts.map +1 -0
- package/dist/types/near/types/nep141.d.ts +29 -0
- package/dist/types/near/types/nep141.d.ts.map +1 -0
- package/dist/types/near/types/toolbox.d.ts +51 -0
- package/dist/types/near/types/toolbox.d.ts.map +1 -0
- package/dist/types/near/types.d.ts +47 -0
- package/dist/types/near/types.d.ts.map +1 -0
- package/dist/types/radix/index.d.ts +17 -0
- package/dist/types/radix/index.d.ts.map +1 -0
- package/dist/types/ripple/index.d.ts +49 -0
- package/dist/types/ripple/index.d.ts.map +1 -0
- package/dist/types/solana/index.d.ts +23 -0
- package/dist/types/solana/index.d.ts.map +1 -0
- package/dist/types/solana/toolbox.d.ts +54 -0
- package/dist/types/solana/toolbox.d.ts.map +1 -0
- package/dist/types/substrate/balance.d.ts +20 -0
- package/dist/types/substrate/balance.d.ts.map +1 -0
- package/dist/types/substrate/index.d.ts +3 -0
- package/dist/types/substrate/index.d.ts.map +1 -0
- package/dist/types/substrate/substrate.d.ts +151 -0
- package/dist/types/substrate/substrate.d.ts.map +1 -0
- package/dist/types/substrate/types.d.ts +100 -0
- package/dist/types/substrate/types.d.ts.map +1 -0
- package/dist/types/sui/index.d.ts +3 -0
- package/dist/types/sui/index.d.ts.map +1 -0
- package/dist/types/sui/toolbox.d.ts +22 -0
- package/dist/types/sui/toolbox.d.ts.map +1 -0
- package/dist/types/sui/types.d.ts +16 -0
- package/dist/types/sui/types.d.ts.map +1 -0
- package/dist/types/ton/index.d.ts +3 -0
- package/dist/types/ton/index.d.ts.map +1 -0
- package/dist/types/ton/toolbox.d.ts +17 -0
- package/dist/types/ton/toolbox.d.ts.map +1 -0
- package/dist/types/ton/types.d.ts +22 -0
- package/dist/types/ton/types.d.ts.map +1 -0
- package/dist/types/tron/helpers/trc20.abi.d.ts +156 -0
- package/dist/types/tron/helpers/trc20.abi.d.ts.map +1 -0
- package/dist/types/tron/helpers/trongrid.d.ts +11 -0
- package/dist/types/tron/helpers/trongrid.d.ts.map +1 -0
- package/dist/types/tron/index.d.ts +6 -0
- package/dist/types/tron/index.d.ts.map +1 -0
- package/dist/types/tron/toolbox.d.ts +29 -0
- package/dist/types/tron/toolbox.d.ts.map +1 -0
- package/dist/types/tron/types.d.ts +103 -0
- package/dist/types/tron/types.d.ts.map +1 -0
- package/dist/types/types.d.ts +26 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils.d.ts +7 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utxo/helpers/api.d.ts +104 -0
- package/dist/types/utxo/helpers/api.d.ts.map +1 -0
- package/dist/types/utxo/helpers/bchaddrjs.d.ts +13 -0
- package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -0
- package/dist/types/utxo/helpers/coinselect.d.ts +20 -0
- package/dist/types/utxo/helpers/coinselect.d.ts.map +1 -0
- package/dist/types/utxo/helpers/index.d.ts +5 -0
- package/dist/types/utxo/helpers/index.d.ts.map +1 -0
- package/dist/types/utxo/helpers/txSize.d.ts +24 -0
- package/dist/types/utxo/helpers/txSize.d.ts.map +1 -0
- package/dist/types/utxo/index.d.ts +7 -0
- package/dist/types/utxo/index.d.ts.map +1 -0
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts +96 -0
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -0
- package/dist/types/utxo/toolbox/index.d.ts +31 -0
- package/dist/types/utxo/toolbox/index.d.ts.map +1 -0
- package/dist/types/utxo/toolbox/params.d.ts +32 -0
- package/dist/types/utxo/toolbox/params.d.ts.map +1 -0
- package/dist/types/utxo/toolbox/utxo.d.ts +106 -0
- package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -0
- package/dist/types/utxo/toolbox/validators.d.ts +4 -0
- package/dist/types/utxo/toolbox/validators.d.ts.map +1 -0
- package/dist/types/utxo/toolbox/zcash.d.ts +75 -0
- package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -0
- package/dist/types/utxo/types.d.ts +46 -0
- package/dist/types/utxo/types.d.ts.map +1 -0
- package/package.json +205 -0
- package/src/__tests__/address-validation-all-chains.test.ts +162 -0
- package/src/__tests__/addressValidator.test.ts +162 -0
- package/src/cardano/__tests__/toolbox.test.ts +48 -0
- package/src/cardano/index.ts +2 -0
- package/src/cardano/toolbox.ts +172 -0
- package/src/cardano/types.ts +10 -0
- package/src/cosmos/__tests__/toolbox.test.ts +95 -0
- package/src/cosmos/index.ts +4 -0
- package/src/cosmos/thorchainUtils/addressFormat.ts +26 -0
- package/src/cosmos/thorchainUtils/index.ts +4 -0
- package/src/cosmos/thorchainUtils/messages.ts +216 -0
- package/src/cosmos/thorchainUtils/registry.ts +43 -0
- package/src/cosmos/thorchainUtils/types/MsgCompiled.ts +2800 -0
- package/src/cosmos/thorchainUtils/types/client-types.ts +54 -0
- package/src/cosmos/thorchainUtils/types/index.ts +1 -0
- package/src/cosmos/toolbox/cosmos.ts +354 -0
- package/src/cosmos/toolbox/index.ts +39 -0
- package/src/cosmos/toolbox/thorchain.ts +253 -0
- package/src/cosmos/types.ts +48 -0
- package/src/cosmos/util.ts +218 -0
- package/src/evm/__tests__/address-validation.test.ts +84 -0
- package/src/evm/__tests__/ethereum.test.ts +141 -0
- package/src/evm/__tests__/signMessage.test.ts +60 -0
- package/src/evm/api.ts +10 -0
- package/src/evm/contracts/eth/multicall.ts +165 -0
- package/src/evm/contracts/op/gasOracle.ts +145 -0
- package/src/evm/helpers.ts +71 -0
- package/src/evm/index.ts +4 -0
- package/src/evm/toolbox/baseEVMToolbox.ts +701 -0
- package/src/evm/toolbox/evm.ts +66 -0
- package/src/evm/toolbox/index.ts +44 -0
- package/src/evm/toolbox/op.ts +147 -0
- package/src/evm/types.ts +146 -0
- package/src/index.ts +264 -0
- package/src/near/__tests__/core.test.ts +70 -0
- package/src/near/helpers/core.ts +89 -0
- package/src/near/helpers/gasEstimation.ts +96 -0
- package/src/near/helpers/nep141.ts +50 -0
- package/src/near/index.ts +21 -0
- package/src/near/toolbox.ts +425 -0
- package/src/near/types/contract.ts +32 -0
- package/src/near/types/nep141.ts +34 -0
- package/src/near/types/toolbox.ts +55 -0
- package/src/near/types.ts +44 -0
- package/src/radix/index.ts +142 -0
- package/src/ripple/index.ts +180 -0
- package/src/solana/index.ts +36 -0
- package/src/solana/toolbox.ts +413 -0
- package/src/substrate/balance.ts +92 -0
- package/src/substrate/index.ts +2 -0
- package/src/substrate/substrate.ts +285 -0
- package/src/substrate/types.ts +115 -0
- package/src/sui/__tests__/toolbox.test.ts +86 -0
- package/src/sui/index.ts +2 -0
- package/src/sui/toolbox.ts +170 -0
- package/src/sui/types.ts +11 -0
- package/src/ton/__tests__/toolbox.test.ts +67 -0
- package/src/ton/index.ts +2 -0
- package/src/ton/toolbox.ts +140 -0
- package/src/ton/types.ts +13 -0
- package/src/tron/__tests__/toolbox.test.ts +225 -0
- package/src/tron/helpers/trc20.abi.ts +107 -0
- package/src/tron/helpers/trongrid.ts +57 -0
- package/src/tron/index.ts +21 -0
- package/src/tron/toolbox.ts +589 -0
- package/src/tron/types.ts +83 -0
- package/src/types.ts +28 -0
- package/src/utils.ts +38 -0
- package/src/utxo/__tests__/zcash-integration.test.ts +97 -0
- package/src/utxo/helpers/api.ts +475 -0
- package/src/utxo/helpers/bchaddrjs.ts +170 -0
- package/src/utxo/helpers/coinselect.ts +96 -0
- package/src/utxo/helpers/index.ts +4 -0
- package/src/utxo/helpers/txSize.ts +141 -0
- package/src/utxo/index.ts +6 -0
- package/src/utxo/toolbox/bitcoinCash.ts +247 -0
- package/src/utxo/toolbox/index.ts +63 -0
- package/src/utxo/toolbox/params.ts +18 -0
- package/src/utxo/toolbox/utxo.ts +443 -0
- package/src/utxo/toolbox/validators.ts +36 -0
- package/src/utxo/toolbox/zcash.ts +246 -0
- package/src/utxo/types.ts +39 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var l2=Object.create;var{getPrototypeOf:A2,defineProperty:CT,getOwnPropertyNames:V5,getOwnPropertyDescriptor:F2}=Object,$5=Object.prototype.hasOwnProperty;var W=(T,x,N)=>{N=T!=null?l2(A2(T)):{};let y=x||!T||!T.__esModule?CT(N,"default",{value:T,enumerable:!0}):N;for(let f of V5(T))if(!$5.call(y,f))CT(y,f,{get:()=>T[f],enumerable:!0});return y},F5=new WeakMap,Yy=(T)=>{var x=F5.get(T),N;if(x)return x;if(x=CT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")V5(T).map((y)=>!$5.call(x,y)&&CT(x,y,{get:()=>T[y],enumerable:!(N=F2(T,y))||N.enumerable}));return F5.set(T,x),x};var qy=(T,x)=>{for(var N in x)CT(T,N,{get:x[N],enumerable:!0,configurable:!0,set:(y)=>x[N]=()=>y})};var E=(T,x)=>()=>(T&&(x=T(T=0)),x);function u5(){function T(){let x=Date.now(),N=rf||x;return rf=N,x>rf?x:N+1}return V2+T().toString(36)}function TT(T){return async function(N,y=!0){let f=await n5.USwapApi.getChainBalance({address:N,chain:T,scamFilter:y}),{baseDecimal:G}=wT.getChainConfig(T),L=f.map(({identifier:_,value:Z,decimal:q})=>{return new wT.AssetValue({decimal:q||G,identifier:_,value:Z})});if(!L.some((_)=>_.isGasAsset))return[wT.AssetValue.from({chain:T}),...L];return L}}var wT,n5,V2,rf=0;var OT=E(()=>{wT=require("@tcswap/helpers"),n5=require("@tcswap/helpers/api"),V2=typeof process<"u"&&process.pid?process.pid.toString(36):""});function kT(T){return{getBalance:TT(T)}}function $2(T){return T}var ff=E(()=>{OT()});async function my(T,x){let{JsonRpcProvider:N}=await import("ethers");return new N(x||await i.getRPCUrl(T))}function KT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function af(T){let{explorerUrl:x,chainIdHex:N,rpcUrls:y}=i.getChainConfig(T);return function(){return T!==i.Chain.Ethereum?{...n2({chain:T}),blockExplorerUrls:[x],chainId:N,rpcUrls:y}:void 0}}function sf(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function n2({chain:T}){let{name:x,nativeCurrency:N,baseDecimal:y}=i.getChainConfig(T);return b5.match(T).with(i.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:T}})).with(i.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(i.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(i.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(i.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(i.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:i.Chain.Polygon}})).otherwise(()=>({chainName:x,nativeCurrency:{decimals:y,name:N,symbol:N}}))}var i,b5;var fT=E(()=>{i=require("@tcswap/helpers"),b5=require("ts-pattern")});var j5;var o5=E(()=>{j5=[{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 GT({chain:T=H.Chain.Ethereum,provider:x,signer:N,isEIP1559Compatible:y=!0}){return{approve:h2({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),approvedAmount:m5({chain:T,provider:x}),broadcastTransaction:x.broadcastTransaction,call:G0({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),createApprovalTx:c2({chain:T,provider:x,signer:N}),createContract:T0({chain:T,provider:x}),createContractTxObject:cy({chain:T,provider:x}),createTransaction:ef({chain:T,provider:x,signer:N}),createTransferTx:ef({chain:T,provider:x,signer:N}),EIP1193SendTransaction:LT(x),estimateCall:c5({provider:x,signer:N}),estimateGasLimit:t2({chain:T,provider:x,signer:N}),estimateGasPrices:iy({chain:T,isEIP1559Compatible:y,provider:x}),estimateTransactionFee:i2({chain:T,isEIP1559Compatible:y,provider:x}),getAddress:()=>{return N?N.getAddress():void 0},getBalance:kT(T).getBalance,getNetworkParams:af(T),isApproved:o2({chain:T,provider:x}),sendTransaction:i5({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),signMessage:N?(f)=>N.signMessage(f):void 0,transfer:p2({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),validateAddress:(f)=>y0({address:f})}}function y0({address:T}){try{return Wy.getAddress(T),!0}catch{return!1}}function NT(T){return T instanceof Wy.BrowserProvider}function DT(T,x,N){return new Wy.Contract(T,Wy.Interface.from(x),N)}function T0({provider:T}){return function(N,y){return new Wy.Contract(N,Wy.Interface.from(y),T)}}function f0({abi:T,funcName:x}){let N=T.find((y)=>y.name===x);if(!N)throw new H.USwapError("toolbox_evm_no_abi_fragment",{funcName:x});return N.stateMutability&&u2.includes(N.stateMutability)}function p5(T){return Wy.getAddress(T)}function LT(T){return function({value:N,...y}){if(!NT(T))throw new H.USwapError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=y;return T.send("eth_sendTransaction",[{..._,value:KT(BigInt(N||0))}])}}function t5(T,x){let N=XT(T,x);if(N)return Wy.getAddress(N.toLowerCase());throw new H.USwapError("toolbox_evm_invalid_gas_asset_address")}function XT({chain:T,symbol:x,ticker:N},y){try{let f=T===H.Chain.BinanceSmartChain&&x==="BNB"&&N==="BNB",G=T===y&&x===y&&N===y,L=j2.includes(T)&&x==="ETH"&&N==="ETH";if(G||f||L)return x0[y];return Wy.getAddress(x.slice(N.length+1).replace(/^0X/,""))}catch{return null}}function cy({provider:T}){return async({contractAddress:x,abi:N,funcName:y,funcParams:f=[],txOverrides:G})=>DT(x,N,T).getFunction(y).populateTransaction(...f.concat(G).filter((L)=>typeof L<"u"))}function iy({chain:T,provider:x,isEIP1559Compatible:N=!0}){return h5.match(T).with(H.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:G}=await x.getFeeData();if(!f||G===null)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Average),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Average)},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(H.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await x.getFeeData();if(!f)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:f},[H.FeeOption.Fast]:{gasPrice:f},[H.FeeOption.Fastest]:{gasPrice:f}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:G,gasPrice:L}=await x.getFeeData();if(N){if(f===null||G===null)throw new H.USwapError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:G},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}if(!L)throw new H.USwapError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:L},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest)}}}catch(f){throw new H.USwapError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function G0({provider:T,isEIP1559Compatible:x,signer:N,chain:y}){return async function({callProvider:G,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:q={},feeOption:z=H.FeeOption.Fast}){let J=G||T;if(!L)throw new H.USwapError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=f0({abi:X,funcName:_});if(Q&&NT(J)&&N){let I=cy({chain:y,provider:J}),R=q?.from||await N?.getAddress(),k=await I({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...q,from:R}});return LT(J)(k)}let B=DT(L,X,J);if(Q){if(!N)throw new H.USwapError("toolbox_evm_no_signer");let I=q?.from||await N.getAddress();if(!I)throw new H.USwapError("toolbox_evm_no_signer_address");let R=B.connect(N),k=iy({chain:y,isEIP1559Compatible:x,provider:T}),{maxFeePerGas:$,maxPriorityFeePerGas:F,gasPrice:u}=(await k())[z],d=await B.getFunction(_).estimateGas(...Z,q),Ly=await R[_](...Z,{...q,gasLimit:d,gasPrice:u,maxFeePerGas:$,maxPriorityFeePerGas:F,nonce:q?.nonce||await J.getTransactionCount(I)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let M=await B[_]?.(...Z);return typeof M?.hash==="string"?M?.hash:M}}function m5({provider:T,chain:x}){return function({assetAddress:y,spenderAddress:f,from:G}){return G0({chain:x,isEIP1559Compatible:!0,provider:T})({abi:xT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[G,f]})}}function o2({provider:T,chain:x}){return async function({assetAddress:y,spenderAddress:f,from:G,amount:L=ET}){let X=await m5({chain:x,provider:T})({assetAddress:y,from:G,spenderAddress:f});return H.USwapNumber.fromBigInt(X).gte(H.USwapNumber.fromBigInt(BigInt(L)))}}function h2({signer:T,isEIP1559Compatible:x=!0,provider:N,chain:y}){return async function({assetAddress:G,spenderAddress:L,feeOptionKey:X=H.FeeOption.Fast,amount:_,gasLimitFallback:Z,from:q,nonce:z}){let J=[L,BigInt(_||ET)],Q=await T?.getAddress()||q,B={abi:xT.erc20ABI,contractAddress:G,funcName:"approve",funcParams:J,signer:T,txOverrides:{from:Q}};if(NT(N)){let I=cy({chain:y,provider:N}),R=LT(N),k=await I(B);return R(k)}return G0({chain:y,isEIP1559Compatible:x,provider:N,signer:T})({...B,feeOption:X,funcParams:J,txOverrides:{from:Q,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:z}})}}function p2({signer:T,isEIP1559Compatible:x=!0,provider:N}){return async function({assetValue:f,memo:G,recipient:L,feeOptionKey:X=H.FeeOption.Fast,sender:_,...Z}){let{hexlify:q,toUtf8Bytes:z}=await import("ethers"),J=f.getBaseValue("bigint"),Q=f.chain,B=_||await T?.getAddress(),M=i5({chain:Q,isEIP1559Compatible:x,provider:N,signer:T});if(!B)throw new H.USwapError("toolbox_evm_no_from_address");if(f.isGasAsset){let u={...Z,data:q(z(G||"")),feeOptionKey:X,from:B,to:L,value:J};return M(u)}if(!XT(f,Q))throw new H.USwapError("toolbox_evm_no_contract_address");let{maxFeePerGas:R,maxPriorityFeePerGas:k,gasPrice:$}=(await iy({chain:Q,isEIP1559Compatible:x,provider:N})())[X],F=await ef({chain:Q,provider:N,signer:T})({assetValue:f,data:q(z(G||"")),gasPrice:$,maxFeePerGas:R,maxPriorityFeePerGas:k,memo:G,recipient:L,sender:B});return M(F)}}function c5({provider:T,signer:x}){return function({contractAddress:y,abi:f,funcName:G,funcParams:L=[],txOverrides:X}){if(!y)throw new H.USwapError("toolbox_evm_no_contract_address");let _=DT(y,f,T);return x?_.connect(x).getFunction(G).estimateGas(...L,X):_.getFunction(G).estimateGas(...L,X)}}function t2({provider:T,signer:x}){return async function({assetValue:y,recipient:f,memo:G,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:q}){let z=y.bigIntValue,J=y.isGasAsset?null:XT(y,y.chain);if(J&&_)return c5({provider:T,signer:x})({abi:xT.erc20ABI,contractAddress:J,funcName:_,funcParams:Z,txOverrides:q});let{hexlify:Q,toUtf8Bytes:B}=await import("ethers");return T.estimateGas({data:L?L:G?Q(B(G)):void 0,from:X,to:f,value:z})}}function i5({provider:T,signer:x,isEIP1559Compatible:N=!0,chain:y}){return async function({feeOptionKey:G=H.FeeOption.Fast,...L}){let{from:X,to:_,data:Z,value:q,...z}=L;if(!x)throw new H.USwapError("toolbox_evm_no_signer");if(!_)throw new H.USwapError("toolbox_evm_no_to_address");let J={...z,data:Z||"0x",from:X,to:_,value:BigInt(q||0)};if(NT(T))return LT(T)(J);let Q=X||await x.getAddress(),B=L.nonce||await T.getTransactionCount(Q),M=(await T.getNetwork()).chainId,I=m2(J)||N,R=iy({chain:y,isEIP1559Compatible:N,provider:T}),k=I&&!(J.maxFeePerGas&&J.maxPriorityFeePerGas)||!J.gasPrice?Object.entries((await R())[G]).reduce((F,[u,d])=>({...F,[u]:KT(BigInt(d))}),{}):{},$;try{$=KT(J.gasLimit||await T.estimateGas(J)*11n/10n)}catch(F){throw new H.USwapError("toolbox_evm_error_estimating_gas_limit",{error:F})}try{let F={...J,chainId:M,gasLimit:$,nonce:B,type:I?2:0,...k};try{return(await x.sendTransaction(F)).hash}catch{let u=await x.signTransaction({...F,from:Q});return(await T.broadcastTransaction(u)).hash}}catch(F){throw new H.USwapError("toolbox_evm_error_sending_transaction",{error:F})}}}function ef({provider:T,signer:x}){return async function({assetValue:y,memo:f,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:q,...z}){let J=y.getBaseValue("bigint"),Q=y.chain,B=X||await x?.getAddress();if(!B)throw new H.USwapError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:R,toUtf8Bytes:k}=await import("ethers");return{...z,data:L||R(k(f||"")),from:B,to:G,value:J}}let M=XT(y,Q);if(!M)throw new H.USwapError("toolbox_evm_no_contract_address");return cy({chain:y.chain,provider:T})({abi:xT.erc20ABI,contractAddress:M,funcName:"transfer",funcParams:[G,J],txOverrides:{from:B,gasPrice:q,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function c2({provider:T,signer:x,chain:N}){return async function({assetAddress:f,spenderAddress:G,amount:L,from:X}){let _=await x?.getAddress()||X,Z=cy({chain:N,provider:T}),q=["bigint","number"].includes(typeof L)?L:L||ET;return await Z({abi:xT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[G,BigInt(q)],txOverrides:{from:_}})}}function i2({provider:T,isEIP1559Compatible:x=!0}){return async function({feeOption:y=H.FeeOption.Fast,chain:f,...G}){let X=await iy({chain:f,isEIP1559Compatible:x,provider:T})(),_=await T.estimateGas(G),Z=H.AssetValue.from({chain:f}),{gasPrice:q,maxFeePerGas:z,maxPriorityFeePerGas:J}=X[y];if(!x&&q)return Z.set(H.USwapNumber.fromBigInt(q*_,Z.decimal));if(z&&J){let Q=(z+J)*_;return Z.set(H.USwapNumber.fromBigInt(Q,Z.decimal))}throw new H.USwapError("toolbox_evm_no_gas_price")}}var H,xT,Wy,h5,ET,u2,b2,x0,j2,m2=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var xf=E(()=>{ff();fT();H=require("@tcswap/helpers"),xT=require("@tcswap/helpers/contracts"),Wy=require("ethers"),h5=require("ts-pattern"),ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");u2=["payable","nonpayable"];b2=H.EVMChains.reduce((T,x)=>{return T[x]="0x0000000000000000000000000000000000000000",T},{}),x0={...b2,[H.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[H.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},j2=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism]});async function Gf({provider:T,...x}){let N=await Gy(a.Chain.Ethereum)({provider:T,...x});async function y(f,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=a.FeeOption.Fast){let _=await N.createContractTxObject({abi:j5,contractAddress:G,funcName:L,funcParams:[f]});return N.sendTransaction({..._,feeOptionKey:X})}return{...N,multicall:y}}function Gy(T){return async function({provider:N,...y}){let{HDNodeWallet:f}=await import("ethers"),G=await a.getRPCUrl(T),L=N||await my(T,G),X=sf(T),_=ST.match(y).with({phrase:ST.P.string},({phrase:q})=>f.fromPhrase(q).connect(L)).with({signer:ST.P.any},({signer:q})=>q).otherwise(()=>{return});return GT({chain:T,isEIP1559Compatible:X,provider:L,signer:_})}}var a,ST,Nf,Lf,Xf,_f,Zf,Jf,g5,qf,zf,Qf,Bf,Yf,Wf,PT,Hf,Mf,If,Rf;var N0=E(()=>{o5();fT();xf();a=require("@tcswap/helpers"),ST=require("ts-pattern");Nf=Gy(a.Chain.Arbitrum),Lf=Gy(a.Chain.Aurora),Xf=Gy(a.Chain.Avalanche),_f=Gy(a.Chain.Base),Zf=Gy(a.Chain.Berachain),Jf=Gy(a.Chain.BinanceSmartChain),g5=Gy(a.Chain.Botanix),qf=Gy(a.Chain.Core),zf=Gy(a.Chain.Corn),Qf=Gy(a.Chain.Cronos),Bf=Gy(a.Chain.Gnosis),Yf=Gy(a.Chain.Hyperevm),Wf=Gy(a.Chain.Polygon),PT=Gy(a.Chain.Sonic),Hf=Gy(a.Chain.Unichain),Mf=Gy(a.Chain.XLayer),If=Gy(a.Chain.Monad),Rf=Gy(a.Chain.MegaETH)});var d5;var r5=E(()=>{d5=[{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 L0(T){return new Cf.Contract(d2,d5,T)}function a5(T){return async function(){let N=L0(T);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function s5(T){return async function({from:N,to:y,nonce:f,...G}){let{Transaction:L}=await import("ethers");if(!y)throw new g.USwapError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...G,authorizationList:G.authorizationList,nonce:f?f:N?await T.getTransactionCount(N):0,to:y}).serialized}}function e5(T){return async function(N){let y=L0(T),f=await s5(T)(N);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function y1(T){return async function(N){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(N);return y.mul(f)}}function r2(T){return async function(N){let y=await e5(T)(N),f=await y1(T)(N);return y.add(f)}}function a2(T){return async function(N){let y=L0(T),f=await s5(T)(N);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}async function s2(T){try{let{maxFeePerGas:x,maxPriorityFeePerGas:N,gasPrice:y}=await T.getFeeData(),f=await a5(T)(),G=y;if(!(x&&N))throw new g.USwapError("toolbox_evm_no_fee_data");return{[g.FeeOption.Average]:{gasPrice:G,l1GasPrice:f,maxFeePerGas:x,maxPriorityFeePerGas:N},[g.FeeOption.Fast]:{gasPrice:g.applyFeeMultiplierToBigInt(G,g.FeeOption.Fast),l1GasPrice:g.applyFeeMultiplierToBigInt(f||0n,g.FeeOption.Fast),maxFeePerGas:x,maxPriorityFeePerGas:g.applyFeeMultiplierToBigInt(N,g.FeeOption.Fast)},[g.FeeOption.Fastest]:{gasPrice:g.applyFeeMultiplierToBigInt(G,g.FeeOption.Fastest),l1GasPrice:g.applyFeeMultiplierToBigInt(f||0n,g.FeeOption.Fastest),maxFeePerGas:x,maxPriorityFeePerGas:g.applyFeeMultiplierToBigInt(N,g.FeeOption.Fastest)}}}catch(x){throw new g.USwapError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}async function wf({provider:T,...x}){let N=g.Chain.Optimism,y=await g.getRPCUrl(N),f=T||await my(N,y),G=UT.match(x).with({phrase:UT.P.string},({phrase:_})=>Cf.HDNodeWallet.fromPhrase(_).connect(f)).with({signer:UT.P.any},({signer:_})=>_).otherwise(()=>{return}),L=GT({provider:f,signer:G}),X=a5(f);return{...L,estimateGasPrices:s2(f),estimateL1Gas:a2(f),estimateL1GasCost:e5(f),estimateL2GasCost:y1(f),estimateTotalGasCost:r2(f),getBalance:kT(g.Chain.Optimism).getBalance,getL1GasPrice:X}}var g,Cf,UT,d2="0x420000000000000000000000000000000000000f";var X0=E(()=>{ff();r5();fT();xf();g=require("@tcswap/helpers"),Cf=require("ethers"),UT=require("ts-pattern")});var x1={};qy(x1,{toChecksumAddress:()=>p5,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getEvmToolbox:()=>f1,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>cy,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>t5,evmValidateAddress:()=>y0,createContract:()=>DT,XLayerToolbox:()=>Mf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>If,MEGAETHToolbox:()=>Rf,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>Yf,GNOToolbox:()=>Bf,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Qf,CORNToolbox:()=>zf,COREToolbox:()=>qf,BotanixToolbox:()=>g5,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});async function f1(T,x){let N={...x,provider:x?.provider||await my(T)};return T1.match(T).returnType().with(e.Chain.Arbitrum,()=>Nf(N)).with(e.Chain.Aurora,()=>Lf(N)).with(e.Chain.Avalanche,()=>Xf(N)).with(e.Chain.Base,()=>_f(N)).with(e.Chain.Berachain,()=>Zf(N)).with(e.Chain.BinanceSmartChain,()=>Jf(N)).with(e.Chain.Botanix,()=>PT(N)).with(e.Chain.Core,()=>qf(N)).with(e.Chain.Corn,()=>zf(N)).with(e.Chain.Cronos,()=>Qf(N)).with(e.Chain.Ethereum,()=>Gf(N)).with(e.Chain.Gnosis,()=>Bf(N)).with(e.Chain.Hyperevm,()=>Yf(N)).with(e.Chain.Optimism,()=>wf(N)).with(e.Chain.Polygon,()=>Wf(N)).with(e.Chain.Sonic,()=>PT(N)).with(e.Chain.Unichain,()=>Hf(N)).with(e.Chain.XLayer,()=>Mf(N)).with(e.Chain.Monad,()=>If(N)).with(e.Chain.MegaETH,()=>Rf(N)).exhaustive()}var e,T1;var _0=E(()=>{fT();N0();X0();e=require("@tcswap/helpers"),T1=require("ts-pattern");xf();N0();X0()});var G1;var N1=E(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(G1||={})});var L1={};qy(L1,{toHexString:()=>KT,toChecksumAddress:()=>p5,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getProvider:()=>my,getNetworkParams:()=>af,getIsEIP1559Compatible:()=>sf,getEvmToolbox:()=>f1,getEvmApi:()=>kT,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>cy,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>t5,evmValidateAddress:()=>y0,createCustomEvmApi:()=>$2,createContract:()=>DT,XLayerToolbox:()=>Mf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>If,MEGAETHToolbox:()=>Rf,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>Yf,GNOToolbox:()=>Bf,EthNetwork:()=>G1,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Qf,CORNToolbox:()=>zf,COREToolbox:()=>qf,BotanixToolbox:()=>g5,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});module.exports=Yy(L1);var X1=E(()=>{ff();fT();_0();N1()});async function Z0(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),x="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function yx(T){try{let{MeshWallet:x}=await import("@meshsdk/core"),N=await Z0(),y=new x({fetcher:N,key:{address:T,type:"address"},networkId:1});await y.init();let f=await y.getBalance(),G=[];for(let L of f)if(L.unit===e2){let{baseDecimal:X}=yy.getChainConfig(yy.Chain.Cardano);G.push(yy.AssetValue.from({chain:yy.Chain.Cardano,fromBaseDecimal:X,value:L.quantity}))}else G.push(yy.AssetValue.from({asset:`${yy.Chain.Cardano}.${L.unit}`,value:L.quantity}));if(G.length===0)return[yy.AssetValue.from({chain:yy.Chain.Cardano})];return G}catch(x){let N=x instanceof Error?x.message:String(x);return console.error(`Cardano balance fetch error: ${N}`),[yy.AssetValue.from({chain:yy.Chain.Cardano})]}}async function _1(){let{deserializeAddress:T}=await import("@meshsdk/core");return(x)=>{try{return T(x),!0}catch{return!1}}}async function Tx(T){let x=await _1(),N=await vT.match(T).with({phrase:vT.P.string},async({phrase:q})=>{let{MeshWallet:z}=await import("@meshsdk/core"),J=await Z0(),Q=new z({fetcher:J,key:{type:"mnemonic",words:q.split(" ")},networkId:1,submitter:J});return await Q.init(),Q}).with({signer:vT.P.any},({signer:q})=>q).otherwise(()=>{return}),y=N&&"getChangeAddress"in N?await N.getChangeAddress():"";function f(){return y||""}function G(q){let z=q||f();if(!z)throw new yy.USwapError("core_wallet_connection_not_found");return yx(z)}function L(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Cardano,value:"0.01"}))}async function X({recipient:q,assetValue:z,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.USwapError("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,B]=z.symbol.split("-");if(!z.isGasAsset&&!B)throw new yy.USwapError("core_wallet_connection_not_found");let M=new Q({initiator:N});if(M.sendAssets({address:q},[{quantity:z.getBaseValue("string"),unit:z.isGasAsset?"lovelace":z.symbol}]),J)M.setMetadata(0,J);let I=await M.build();return{tx:M,unsignedTx:I}}function _(q){if(!N||!("getChangeAddress"in N))throw new yy.USwapError("core_wallet_connection_not_found");return N.signTx(q)}async function Z({recipient:q,assetValue:z,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.USwapError("core_wallet_connection_not_found");let{unsignedTx:Q}=await X({assetValue:z,memo:J,recipient:q}),B=await _(Q);return await(await Z0()).submitTx(B)}return{createTransaction:X,estimateTransactionFee:L,getAddress:f,getBalance:G,signTransaction:_,transfer:Z,validateAddress:x}}var yy,vT,e2="lovelace";var Z1=E(()=>{yy=require("@tcswap/helpers"),vT=require("ts-pattern")});var J0={};qy(J0,{getCardanoToolbox:()=>Tx,getCardanoAddressValidator:()=>_1});module.exports=Yy(J0);var q0=E(()=>{Z1()});function lT(T){return ly.base64.encode(Uint8Array.from(ly.bech32.fromWords(ly.bech32.decode(T).words)))}function AT(T,x="thor"){return ly.bech32.encode(x,ly.bech32.toWords(ly.base64.decode(T)))}function fx(T){return Of.fromByteArray(T)}function xx(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new J1.USwapError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Of.toByteArray(T)}var ly,J1,Of;var z0=E(()=>{ly=require("@scure/base"),J1=require("@tcswap/helpers"),Of=require("base64-js")});function Py(T){switch(T){case D.Chain.Maya:return{amount:[],gas:"10000000000"};case D.Chain.THORChain:return{amount:[],gas:"500000000"};case D.Chain.Kujira:return Q1;case D.Chain.Noble:return B1;default:return z1}}async function Uy(T){let x=await import("@cosmjs/stargate"),N=x.StargateClient??x.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.uswap.dev",referrer:"https://sdk.uswap.dev"};return N.connect({headers:y,url:T})}async function ZT(T,x,N={}){let y=await import("@cosmjs/stargate"),f=y.SigningStargateClient??y.default?.SigningStargateClient,G=y.GasPrice??y.default?.GasPrice,L=typeof N==="string"?N:"0.0003uatom",X=typeof N==="string"?{}:N;return f.connectWithSigner(T,x,{gasPrice:G.fromString(L),...X})}async function B0(T,x){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(T,x)}async function Y0({sender:T,recipient:x,assetValue:N,memo:y="",feeRate:f,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await D.getRPCUrl(X),z=await(await Uy(Z)).getAccount(T);if(!z)throw new D.USwapError("toolbox_cosmos_account_not_found",{sender:T});let J=D.AssetValue.from({chain:X}),Q=Sy(J.symbol),B=Py(X),M=Q&&f?{amount:[{amount:f.toString(),denom:Q}],gas:B.gas}:B,I={amount:[{amount:N.getBaseValue("string"),denom:Sy(N.symbol)}],fromAddress:T,toAddress:x};return{accountNumber:L??z.accountNumber,chainId:_,fee:M,memo:y,msgs:[{typeUrl:Gx(X),value:I}],sequence:G??z.sequence}}var D,Q0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",q1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",z1,Q1,B1,Sy=(T,x=!1)=>{if(x)return T.toLowerCase();switch(T){case"uUSK":case"USK":return Q0;case"uYUM":case"YUM":return q1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},_T=({symbol:T,chain:x})=>{if(x===D.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${D.Chain.Maya}.${T}`).toUpperCase();if(x===D.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${D.Chain.THORChain}.${T}`:T).toUpperCase();return Sy(T,!1)},Gx=(T)=>{switch(T){case D.Chain.Maya:case D.Chain.THORChain:return"/types.MsgSend";case D.Chain.Cosmos:case D.Chain.Kujira:case D.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new D.USwapError("toolbox_cosmos_not_supported",{chain:T})}},Nx,W0=(T,x)=>{let N=Nx[T.toLowerCase()];if(!N)return D.AssetValue.from({asset:T,fromBaseDecimal:8,value:x});let{chain:y,asset:f,decimals:G}=N,L=y?{chain:y}:{asset:f};return D.AssetValue.from({...L,fromBaseDecimal:G,value:x})};var FT=E(()=>{D=require("@tcswap/helpers"),z1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Q1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},B1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};Nx={atom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},cacao:{chain:D.Chain.Maya,decimals:10},kuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},maya:{asset:`${D.Chain.Maya}.${D.Chain.Maya}`,decimals:4},rune:{chain:D.Chain.THORChain,decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},uatom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},ukuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},usdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},uusdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},[Q0.toLowerCase()]:{asset:`${D.Chain.Kujira}.USK`,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal}}});var Y1={};qy(Y1,{$root:()=>w});var _y,A,My,K,w;var W1=E(()=>{_y=W(require("protobufjs/minimal.js")),A=_y.default.Reader,My=_y.default.Writer,K=_y.default.util,w=_y.default.roots.default||(_y.default.roots.default={});w.common=(()=>{let T={};return T.Asset=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.chain="",x.prototype.symbol="",x.prototype.ticker="",x.prototype.synth=!1,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))f.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))f.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))f.uint32(32).bool(y.synth);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Asset;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.chain=y.string();break;case 2:L.symbol=y.string();break;case 3:L.ticker=y.string();break;case 4:L.synth=y.bool();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!K.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!K.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!K.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Asset)return y;let f=new w.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))G.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))G.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))G.synth=y.synth;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Coin=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.asset=null,x.prototype.amount="",x.prototype.decimals=K.Long?K.Long.fromBits(0,0,!1):0,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))w.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Coin;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.asset=w.common.Asset.decode(y,y.uint32());break;case 2:L.amount=y.string();break;case 3:L.decimals=y.int64();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let f=w.common.Asset.verify(y.asset);if(f)return"asset."+f}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!K.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!K.isInteger(y.decimals)&&!(y.decimals&&K.isInteger(y.decimals.low)&&K.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Coin)return y;let f=new w.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=w.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(K.Long)(f.decimals=K.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new K.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)if(G.asset=null,G.amount="",K.Long){let L=new K.Long(0,0,!1);G.decimals=f.longs===String?L.toString():f.longs===Number?L.toNumber():L}else G.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))G.asset=w.common.Asset.toObject(y.asset,f);if(y.amount!=null&&y.hasOwnProperty("amount"))G.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")G.decimals=f.longs===String?String(y.decimals):y.decimals;else G.decimals=f.longs===String?K.Long.prototype.toString.call(y.decimals):f.longs===Number?new K.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.PubKeySet=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.secp256k1="",x.prototype.ed25519="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))f.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))f.uint32(18).string(y.ed25519);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.PubKeySet;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.secp256k1=y.string();break;case 2:L.ed25519=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!K.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!K.isString(y.ed25519))return"ed25519: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.PubKeySet)return y;let f=new w.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)G.secp256k1="",G.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))G.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))G.ed25519=y.ed25519;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Tx=(()=>{function x(N){if(this.coins=[],this.gas=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.id="",x.prototype.chain="",x.prototype.fromAddress="",x.prototype.toAddress="",x.prototype.coins=K.emptyArray,x.prototype.gas=K.emptyArray,x.prototype.memo="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))f.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(34).string(y.toAddress);if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let G=0;G<y.gas.length;++G)w.common.Coin.encode(y.gas[G],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Tx;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.id=y.string();break;case 2:L.chain=y.string();break;case 3:L.fromAddress=y.string();break;case 4:L.toAddress=y.string();break;case 5:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(w.common.Coin.decode(y,y.uint32()));break;case 7:L.memo=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!K.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!K.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!K.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!K.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);if(G)return"coins."+G}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let G=w.common.Coin.verify(y.gas[f]);if(G)return"gas."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!K.isString(y.memo))return"memo: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Tx)return y;let f=new w.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let G=0;G<y.gas.length;++G){if(typeof y.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[G]=w.common.Coin.fromObject(y.gas[G])}}if(y.memo!=null)f.memo=String(y.memo);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[],G.gas=[];if(f.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(y.id!=null&&y.hasOwnProperty("id"))G.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=y.toAddress;if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],f)}if(y.gas?.length){G.gas=[];for(let L=0;L<y.gas.length;++L)G.gas[L]=w.common.Coin.toObject(y.gas[L],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Fee=(()=>{function x(N){if(this.coins=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.coins=K.emptyArray,x.prototype.poolDeduct="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Fee;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.poolDeduct=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);if(G)return"coins."+G}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!K.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Fee)return y;let f=new w.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[];if(f.defaults)G.poolDeduct="";if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))G.poolDeduct=y.poolDeduct;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.ProtoUint=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.value="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))f.uint32(10).string(y.value);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.ProtoUint;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.value=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!K.isString(y.value))return"value: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.ProtoUint)return y;let f=new w.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)G.value="";if(y.value!=null&&y.hasOwnProperty("value"))G.value=y.value;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T})();w.types=(()=>{let T={};return T.MsgDeposit=(()=>{function x(N){if(this.coins=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.coins=K.emptyArray,x.prototype.memo="",x.prototype.signer=K.newBuffer([]),x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.types.MsgDeposit;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.memo=y.string();break;case 3:L.signer=y.bytes();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);if(G)return"coins."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!K.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||K.isString(y.signer)))return"signer: buffer expected"}return null},x.fromObject=function(y){if(y instanceof w.types.MsgDeposit)return y;let f=new w.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")K.base64.decode(y.signer,f.signer=K.newBuffer(K.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[];if(f.defaults){if(G.memo="",f.bytes===String)G.signer="";else if(G.signer=[],f.bytes!==Array)G.signer=K.newBuffer(G.signer)}if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))G.signer=f.bytes===String?K.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.MsgSend=(()=>{function x(N){if(this.amount=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.fromAddress=K.newBuffer([]),x.prototype.toAddress=K.newBuffer([]),x.prototype.amount=K.emptyArray,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=My.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let G=0;G<y.amount.length;++G)w.cosmos.base.v1beta1.Coin.encode(y.amount[G],f.uint32(26).fork()).ldelim();return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof A))y=A.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.types.MsgSend;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.fromAddress=y.bytes();break;case 2:L.toAddress=y.bytes();break;case 3:if(!L.amount?.length)L.amount=[];L.amount.push(w.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof A))y=new A(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||K.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||K.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let f=0;f<y.amount.length;++f){let G=w.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(G)return"amount."+G}}return null},x.fromObject=function(y){if(y instanceof w.types.MsgSend)return y;let f=new w.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")K.base64.decode(y.fromAddress,f.fromAddress=K.newBuffer(K.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")K.base64.decode(y.toAddress,f.toAddress=K.newBuffer(K.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let G=0;G<y.amount.length;++G){if(typeof y.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[G]=w.cosmos.base.v1beta1.Coin.fromObject(y.amount[G])}}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.amount=[];if(f.defaults){if(f.bytes===String)G.fromAddress="";else if(G.fromAddress=[],f.bytes!==Array)G.fromAddress=K.newBuffer(G.fromAddress);if(f.bytes===String)G.toAddress="";else if(G.toAddress=[],f.bytes!==Array)G.toAddress=K.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=f.bytes===String?K.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=f.bytes===String?K.base64.encode(y.toAddress,0,y.toAddress.length):f.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){G.amount=[];for(let L=0;L<y.amount.length;++L)G.amount[L]=w.cosmos.base.v1beta1.Coin.toObject(y.amount[L],f)}return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T})();w.cosmos=(()=>{let T={};return T.base=(()=>{let x={};return x.v1beta1=(()=>{let N={};return N.Coin=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=My.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof A))G=A.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.Coin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!K.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!K.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.Coin)return G;let L=new w.cosmos.base.v1beta1.Coin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.DecCoin=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=My.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof A))G=A.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.DecCoin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!K.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!K.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.DecCoin)return G;let L=new w.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.IntProto=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.int="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=My.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))L.uint32(10).string(G.int);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof A))G=A.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.IntProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.int=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!K.isString(G.int))return"int: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.IntProto)return G;let L=new w.cosmos.base.v1beta1.IntProto;if(G.int!=null)L.int=String(G.int);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(G.int!=null&&G.hasOwnProperty("int"))X.int=G.int;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.DecProto=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.dec="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=My.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))L.uint32(10).string(G.dec);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof A))G=A.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.DecProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.dec=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof A))G=new A(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!K.isString(G.dec))return"dec: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.DecProto)return G;let L=new w.cosmos.base.v1beta1.DecProto;if(G.dec!=null)L.dec=String(G.dec);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))X.dec=G.dec;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N})(),x})(),T})()});async function gy(){let{$root:T}=await Promise.resolve().then(() => (W1(),Y1)),x=await import("@cosmjs/proto-signing"),N=x.Registry??x.default?.Registry,y=await import("@cosmjs/stargate"),f=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new N([...f,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Ay(T){let x=await import("@cosmjs/stargate"),N=x.AminoTypes??x.default?.AminoTypes,y=T===H1.Chain.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:f,...G})=>({...G,signer:lT(f)}),toAmino:({signer:f,...G})=>({...G,signer:AT(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:G,...L})=>({...L,fromAddress:lT(f),toAddress:lT(G)}),toAmino:({fromAddress:f,toAddress:G,...L})=>({...L,from_address:AT(f),to_address:AT(G)})}})}var H1;var H0=E(()=>{z0();H1=require("@tcswap/helpers")});function R0(T){return function(N){let{assetValue:y,recipient:f,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(f)return I1(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,recipient:f,sender:L});return R1(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,sender:L})}}function Vy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((x)=>{let N=Iy.AssetValue.from({asset:x.asset}),y=(N.isSynthetic?N.symbol.split("/")?.[1]:N.symbol)?.toUpperCase(),f=(N.isSynthetic?N.symbol.split("/")?.[0]:N.chain)?.toUpperCase();return{...x,asset:{chain:f,symbol:y,synth:N.isSynthetic,ticker:N.ticker}}})}}}async function VT({chain:T,memo:x,msgs:N}){let y=await gy(),f=await Ay(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:x,messages:N.map((L)=>f.fromAmino(L))}};return y.encode(G)}var Iy,Lx,Xx,M0=({sender:T,recipient:x,assetValue:N})=>{return{type:`${N.chain===Iy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:Sy(N.symbol,!0)}],from_address:T,to_address:x}}},I0=({sender:T,assetValue:x,memo:N=""})=>{return{type:`${x.chain===Iy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:x.getBaseValue("string"),asset:_T(x)}],memo:N,signer:T}}},kf=({sender:T,recipient:x,assetValue:N,memo:y})=>{return!x?I0({assetValue:N,memo:y,sender:T}):M0({assetValue:N,recipient:x,sender:T})},Fy=async(T,x)=>{return(await Ay(x)).fromAmino(T)},M1=async({rpcUrl:T,sender:x})=>{let y=await(await Uy(T)).getAccount(x);if(!y)throw new Iy.USwapError("toolbox_cosmos_account_not_found",{sender:x});return y},I1=(T)=>async({sender:x,recipient:N,assetValue:y,memo:f="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await M1({rpcUrl:T,sender:x}),q=y.chain,{chainId:z}=Iy.getChainConfig(q),J=M0({assetValue:y,recipient:N,sender:x}),Q=G?await Fy(L?J:Vy(J),q):J;return{accountNumber:_||Z.accountNumber,chainId:z,fee:Py(q),memo:f,msgs:[Q],sequence:X||Z.sequence}},R1=(T)=>async({sender:x,assetValue:N,memo:y="",asSignable:f=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await M1({rpcUrl:T,sender:x}),Z=N.chain,{chainId:q}=Iy.getChainConfig(Z),z=I0({assetValue:N,memo:y,sender:x}),J=f?await Fy(G?z:Vy(z),Z):z;return{accountNumber:X||_.accountNumber,chainId:q,fee:Py(Z),memo:y,msgs:[J],sequence:L||_.sequence}};var C1=E(()=>{FT();H0();Iy=require("@tcswap/helpers"),Lx=Py(Iy.Chain.THORChain).gas,Xx=Py(Iy.Chain.Maya).gas});var w1=()=>{};var O1=E(()=>{w1()});var C0=E(()=>{z0();C1();H0();O1()});async function E0(T,x){try{let y=(await K0.USwapApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}async function k0({phrase:T,prefix:x,...N}){let y=await import("@cosmjs/proto-signing"),f=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),L=G.stringToPath??G.default?.stringToPath,X="derivationPath"in N?N.derivationPath:`${S.DerivationPath[N.chain]}/${N.index}`;return f.fromMnemonic(T,{hdPaths:[L(X)],prefix:x})}async function _x({privateKey:T,prefix:x}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,x)}function E1(T){return async function({signature:N,message:y,address:f}){let G=await T(f);if(!G?.pubkey)throw new S.USwapError("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength($y.base64.decode(N));return _.verifySignature(Z,$y.base64.decode(y),G.pubkey.value)}}async function nT({chain:T,...x}){let N=await S.getRPCUrl(T),y=S.CosmosChainPrefixes[T],f="index"in x?x.index||0:0,G=S.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[T],{index:f})),L=await $T.match(x).with({phrase:$T.P.string},({phrase:J})=>k0({derivationPath:G,phrase:J,prefix:y})).with({signer:$T.P.any},({signer:J})=>J).otherwise(()=>{return});async function X(J){return(await Uy(N)).getAccount(J)}async function _(){let[J]=await L?.getAccounts()||[];return J?.address}async function Z(){let[J]=await L?.getAccounts()||[];if(!J?.pubkey)throw new S.USwapError("toolbox_cosmos_signer_not_defined");return $y.base64.encode(J?.pubkey)}async function q({recipient:J,assetValue:Q,memo:B="",feeRate:M,feeOptionKey:I=S.FeeOption.Fast}){let R=await _();if(!(L&&R))throw new S.USwapError("toolbox_cosmos_signer_not_defined");let k=S.AssetValue.from({chain:T}),$=_T(k),F=M||k1((await O0(T,w0[T]))[I],$),u=await ZT(N,L),d=Sy(Q.symbol),Ly=Q.getBaseValue("string"),{TxRaw:Qy}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),l={amount:[{amount:Ly,denom:d}],fromAddress:R,toAddress:J},V=await u.sign(R,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:l}],F,B),Y=Qy.encode(V).finish();return Buffer.from(Y).toString("hex")}async function z({recipient:J,assetValue:Q,memo:B="",feeRate:M,feeOptionKey:I=S.FeeOption.Fast,dryRun:R=!1}){if(R)return q({assetValue:Q,feeOptionKey:I,feeRate:M,memo:B,recipient:J});let k=await _();if(!(L&&k))throw new S.USwapError("toolbox_cosmos_signer_not_defined");let $=S.AssetValue.from({chain:T}),F=_T($),u=M||k1((await O0(T,w0[T]))[I],F),d=await ZT(N,L),Ly=Sy(Q.symbol),Qy=[{amount:Q.getBaseValue("string"),denom:Ly}],{transactionHash:l}=await d.sendTokens(k,J,Qy,u,B);return l}return{createPrivateKeyFromPhrase:zx(G),createTransaction:Y0,fetchFeeRateFromSwapKit:E0,getAccount:X,getAddress:_,getBalance:async(J,Q)=>{let B=await K1(N)(J),M=await Promise.all(B.filter(({denom:I})=>I&&!I.includes("IBC/")&&!([S.Chain.THORChain,S.Chain.Maya].includes(T)&&I.split("-").length>2)).map(({denom:I,amount:R})=>{let k=[S.Chain.THORChain,S.Chain.Maya].includes(T)&&(I.includes("/")||I.includes("˜"))?`${T}.${I}`:I;return W0(k,R)}));if(M.length===0)return[S.AssetValue.from({chain:T})];return M},getBalanceAsDenoms:K1(N),getFees:()=>O0(T,w0[T]),getPubKey:Z,getSignerFromPhrase:async({phrase:J,derivationPath:Q})=>k0({derivationPath:S.derivationPathToString(Q),index:f,phrase:J,prefix:y}),getSignerFromPrivateKey:async(J)=>{let Q=await import("@cosmjs/proto-signing");return(Q.DirectSecp256k1Wallet??Q.default?.DirectSecp256k1Wallet).fromKey(J,y)},signTransaction:q,transfer:z,validateAddress:D1(T),verifySignature:E1(X)}}async function Zx(T,x){try{let y=(await K0.USwapApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}function Jx({assetValue:{chain:T}}){return S.AssetValue.from({chain:T,value:qx(T)})}async function O0(T,x){let{chainId:N,baseDecimal:y}=S.getChainConfig(T),f=await E0(N,x);return{average:S.USwapNumber.fromBigInt(BigInt(f),y),fast:S.USwapNumber.fromBigInt(BigInt(S.applyFeeMultiplier(f,S.FeeOption.Fast,!0)),y),fastest:S.USwapNumber.fromBigInt(BigInt(S.applyFeeMultiplier(f,S.FeeOption.Fastest,!0)),y)}}function k1(T,x){return{amount:[{amount:T.getBaseValue("string"),denom:x}],gas:"200000"}}function qx(T){return{[S.Chain.Cosmos]:0.007,[S.Chain.Kujira]:0.02,[S.Chain.Noble]:0.01,[S.Chain.THORChain]:0.02,[S.Chain.Maya]:0.02,[S.Chain.Harbor]:0.02}[T]||0}function D1(T){let x=S.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(x))return!1;try{let{prefix:f,words:G}=$y.bech32.decode(y);return $y.bech32.encode(f,G)===y.toLocaleLowerCase()}catch{return!1}}}function K1(T){return async function(N){return(await(await Uy(T)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function zx(T){return async function(N){let y=await import("@cosmjs/crypto"),f=y.stringToPath??y.default?.stringToPath,G=y.Slip10Curve??y.default?.Slip10Curve,L=y.Slip10??y.default?.Slip10,X=y.EnglishMnemonic??y.default?.EnglishMnemonic,_=y.Bip39??y.default?.Bip39,Z=new X(N),q=await _.mnemonicToSeed(Z),{privkey:z}=L.derivePath(G.Secp256k1,q,f(T));return z}}var $y,S,K0,$T,w0;var Kf=E(()=>{FT();$y=require("@scure/base"),S=require("@tcswap/helpers"),K0=require("@tcswap/helpers/api"),$T=require("ts-pattern");w0={[S.Chain.Cosmos]:1000,[S.Chain.Kujira]:1000,[S.Chain.Noble]:1000,[S.Chain.THORChain]:5000000,[S.Chain.Maya]:5000000,[S.Chain.Harbor]:5000000}});function Qx({prefix:T,derivationPath:x}){return async function(y,f=0){let G=await import("@cosmjs/amino"),L=G.Secp256k1HdWallet??G.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return L.fromMnemonic(y,{hdPaths:[_(`${x}/${f}`)],prefix:T})}}function Bx(T){return ny.base64.encode(T)}function Yx(T){return async function({wallet:N,tx:y}){let{msgs:f,accountNumber:G,sequence:L,chainId:X,fee:_,memo:Z}=typeof y==="string"?JSON.parse(y):y,q=(await N.getAccounts())?.[0]?.address||"",z=await Ay(T),J=await gy(),Q=await B0(N,{aminoTypes:z,registry:J}),B=[];for(let R of f){let k=await Fy(R,T);B.push(k)}let{signatures:[M]}=await Q.sign(q,B,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await VT({chain:T,memo:Z,msgs:f.map(Vy)}),signature:Bx(M)}}}function Wx({prefix:T,rpcUrl:x}){return async function(y,f,G,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:q}=(await import("@cosmjs/stargate")).default,{sequence:z,fee:J}=JSON.parse(y),Q=await S1(G,L),B=f.map((R)=>[Z(_(ny.base64.decode(R.pubKey)),T),ny.base64.decode(R.signature)]),M=await Uy(x),{transactionHash:I}=await M.broadcastTx(q(Q,z,J,X,new Map(B)));return I}}async function S1(T,x,N=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return y(T.map((G)=>f(ny.base64.decode(G))),x,N)}function Hx(T){return ny.base64.decode(T)}async function Mx({privateKey:T,message:x}){let{Secp256k1:N}=(await import("@cosmjs/crypto")).default,y=await N.createSignature(ny.base64.decode(x),T);return ny.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function D0({chain:T,...x}){let N=await c.getRPCUrl(T),{nodeUrl:y}=c.getChainConfig(T),{isStagenet:f}=c.USwapConfig.get("envs"),G=T===c.Chain.THORChain,L=`${f?"s":""}${c.CosmosChainPrefixes[T]}`,X="index"in x?x.index||0:0,_="derivationPath"in x&&x.derivationPath?x.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[T],{index:X}),Z=await nT({chain:T,...x}),q=await uT.match(x).with({phrase:uT.P.string},({phrase:B})=>Z.getSignerFromPhrase({derivationPath:_,phrase:B})).with({signer:uT.P.any},({signer:B})=>B).otherwise(()=>{return}),z=Py(T);async function J(){let B,M=`${y}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:I}}=await c.RequestClient.get(M);if(!I||Number.isNaN(I)||I<0)throw new c.USwapError("toolbox_cosmos_invalid_fee",{nativeFee:I.toString()});B=new c.USwapNumber(I)}catch{B=new c.USwapNumber({decimal:c.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[c.FeeOption.Average]:B,[c.FeeOption.Fast]:B,[c.FeeOption.Fastest]:B}}async function Q({assetValue:B,memo:M="",recipient:I}){let{TxRaw:R}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),k=(await q?.getAccounts())?.[0]?.address;if(!(k&&q))throw new c.USwapError("toolbox_cosmos_no_signer");let $="signAmino"in q,F=await gy(),u=await Ay(T),d=await ZT(N,q,{aminoTypes:u,registry:F}),Ly=kf({assetValue:B,memo:M,recipient:I,sender:k});if($){let Y=await Fy(Ly,T),{signatures:C,authInfoBytes:O}=await d.sign(k,[Y],z,M),n=R.encode({authInfoBytes:O,bodyBytes:await VT({chain:T,memo:M,msgs:[Ly].map(Vy)}),signatures:C}).finish();return(await d.broadcastTx(n)).transactionHash}let Qy=Vy(Ly),l=await Fy(Qy,T);return(await d.signAndBroadcast(k,[l],z,M)).transactionHash}return{...Z,broadcastMultisigTx:Wx({prefix:L,rpcUrl:N}),buildAminoMsg:kf,buildEncodedTxBody:VT,convertToSignable:Fy,createDefaultAminoTypes:()=>Ay(T),createDefaultRegistry:gy,createMultisig:S1,createTransaction:R0(N),deposit:Q,getFees:J,importSignature:Hx,parseAminoMessageForDirectSigning:Vy,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:M}=(await import("@cosmjs/amino")).default;return M(B,L)},secp256k1HdWalletFromMnemonic:Qx({derivationPath:c.derivationPathToString(_),prefix:L}),signMultisigTx:Yx(T),signWithPrivateKey:Mx,transfer:Q}}var ny,c,uT;var S0=E(()=>{C0();FT();Kf();ny=require("@scure/base"),c=require("@tcswap/helpers"),uT=require("ts-pattern")});var uy,Ix=(T,x)=>{switch(T){case uy.Chain.Cosmos:case uy.Chain.Kujira:case uy.Chain.Noble:return nT({chain:T,...x});case uy.Chain.Maya:case uy.Chain.THORChain:return D0({chain:T,...x});default:throw new uy.USwapError("toolbox_cosmos_not_supported",{chain:T})}};var P1=E(()=>{Kf();S0();uy=require("@tcswap/helpers");Kf();S0()});var Ef={};qy(Ef,{verifySignature:()=>E1,transferMsgAmino:()=>M0,toBase64:()=>fx,parseAminoMessageForDirectSigning:()=>Vy,getSignerFromPrivateKey:()=>_x,getSignerFromPhrase:()=>k0,getMsgSendDenom:()=>Sy,getFeeRateFromSwapKit:()=>Zx,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Py,getCreateTransaction:()=>R0,getCosmosValidateAddress:()=>D1,getCosmosToolbox:()=>Ix,getAssetFromDenom:()=>W0,fromBase64:()=>xx,fetchFeeRateFromSwapKit:()=>E0,estimateTransactionFee:()=>Jx,depositMsgAmino:()=>I0,createThorchainToolbox:()=>D0,createStargateClient:()=>Uy,createSigningStargateClient:()=>ZT,createOfflineStargateClient:()=>B0,createDefaultRegistry:()=>gy,createDefaultAminoTypes:()=>Ay,createCosmosToolbox:()=>nT,cosmosCreateTransaction:()=>Y0,convertToSignable:()=>Fy,buildTransferTx:()=>I1,buildEncodedTxBody:()=>VT,buildDepositTx:()=>R1,buildAminoMsg:()=>kf,bech32ToBase64:()=>lT,base64ToBech32:()=>AT,YUM_KUJIRA_FACTORY_DENOM:()=>q1,USK_KUJIRA_FACTORY_DENOM:()=>Q0,THORCHAIN_GAS_VALUE:()=>Lx,MAYA_GAS_VALUE:()=>Xx,DEFAULT_NOBLE_FEE_MAINNET:()=>B1,DEFAULT_KUJI_FEE_MAINNET:()=>Q1,DEFAULT_COSMOS_FEE_MAINNET:()=>z1});module.exports=Yy(Ef);var Df=E(()=>{C0();P1();FT()});async function v1(T){let x=j.AssetValue.from({address:T,chain:j.Chain.Solana});if(x.symbol!=="UNKNOWN")return{decimals:x.decimal||0,id:T,logoURI:x.getIconUrl(),name:x.symbol,symbol:x.ticker};let N=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(N);if(!y.ok)return null;let f=await y.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((L)=>L.id===T)||null}catch{return null}}async function Rx(T){let x=await dy(),{PublicKey:N}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),f=new N(T),{baseDecimal:G}=j.getChainConfig(j.Chain.Solana),L=await x.getBalance(f),X=[j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:G,value:L||0})],_=await x.getParsedTokenAccountsByOwner(f,{programId:y});for(let{account:Z}of _.value){let q=Z.data.parsed.info,z=q.mint,J=q.tokenAmount.amount;if(Number(J)===0)continue;let Q=await v1(z),B=Q?.symbol||"UNKNOWN",M=Q?.decimals||q.tokenAmount.decimals;X.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${B}-${z}`,fromBaseDecimal:M,value:J}))}return X}async function v0(){let{PublicKey:T}=await import("@solana/web3.js");return(x)=>{try{let N=new T(x);return T.isOnCurve(N.toBytes())}catch{return!1}}}async function Cx(T){let x=T&&"index"in T?T.index||0:0,N=j.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:x})),y=await bT.match(T).with({phrase:bT.P.string},({phrase:L})=>U0({derivationPath:N,phrase:L})).with({signer:bT.P.any},({signer:L})=>L).otherwise(()=>{return});function f(){return y?.publicKey?U1(y.publicKey):""}function G(L){let X=L||f();if(!X)throw new j.USwapError("core_wallet_connection_not_found");return Rx(X)}return{broadcastTransaction:P0(dy),createKeysForPath:U0,createTransaction:l0(dy),createTransactionFromInstructions:Kx,estimateTransactionFee:wx(dy),getAddress:f,getAddressFromPubKey:U1,getAddressValidator:v0,getBalance:G,getConnection:dy,getPubkeyFromAddress:A0,signTransaction:Dx(dy,y),transfer:Ex(dy,y)}}function wx(T){return async({recipient:x,assetValue:N,memo:y,isProgramDerivedAddress:f,sender:G})=>{let L=await T(),_=(await l0(T)({assetValue:N,isProgramDerivedAddress:f,memo:y,recipient:x,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new j.USwapError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:q}=j.getChainConfig(j.Chain.Solana);return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:q,value:Z.value})}}async function dy(){let{Connection:T}=await import("@solana/web3.js"),x=await j.getRPCUrl(j.Chain.Solana);return new T(x,"confirmed")}function Ox(T){return async({assetValue:x,recipient:N,sender:y,isProgramDerivedAddress:f})=>{let G=await T(),L=await A0(y);if(x.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:x.getBaseValue("number"),toPubkey:new Z(N)}))}if(x.address)return kx({amount:x.getBaseValue("number"),connection:G,decimals:x.decimal,from:L,isProgramDerivedAddress:f,recipient:N,tokenAddress:x.address});return}}async function kx({tokenAddress:T,recipient:x,from:N,connection:y,amount:f,decimals:G,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:q}=await import("@solana/spl-token"),{Transaction:z,PublicKey:J}=await import("@solana/web3.js"),Q=new z,B=new J(T),M=await X(B,N),I=new J(x),R=await X(B,I,L),k=!1;try{await _(y,R),k=!0}catch{}if(!k)Q.add(Z(N,R,I,B));return Q.add(q(M,B,R,N,f,G)),Q}function l0(T){return async({recipient:x,assetValue:N,memo:y,isProgramDerivedAddress:f,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await A0(G),_=await v0();if(!(f||_(x)))throw new j.USwapError("core_transaction_invalid_recipient_address");let Z=await T(),q=await Ox(T)({assetValue:N,isProgramDerivedAddress:f,recipient:x,sender:G});if(!q)throw new j.USwapError("core_transaction_invalid_sender_address");if(y)q.add(L(y));let z=await Z.getLatestBlockhash();return q.recentBlockhash=z.blockhash,q.feePayer=X,q}}async function Kx({instructions:T}){let{Transaction:x}=await import("@solana/web3.js"),N=new x().add(...T);if(!N)throw new j.USwapError("core_transaction_invalid_sender_address");return N}function Ex(T,x){return async({recipient:N,assetValue:y,memo:f,isProgramDerivedAddress:G})=>{if(!x)throw new j.USwapError("core_transaction_invalid_sender_address");let L=x.publicKey?.toString()??(await x.connect()).publicKey.toString(),X=await l0(T)({assetValue:y,isProgramDerivedAddress:G,memo:f,recipient:N,sender:L});if("signTransaction"in x){let _=await x.signTransaction(X);return P0(T)(_)}return X.sign(x),P0(T)(X)}}function P0(T){return async(x)=>{return(await T()).sendRawTransaction(x.serialize())}}function Dx(T,x){return async(N)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!x)throw new j.USwapError("toolbox_solana_no_signer");if(!(N instanceof y)){let G=await(await T()).getLatestBlockhash();N.recentBlockhash=G.blockhash,N.feePayer=x.publicKey||void 0}if("connect"in x)return await x.signTransaction(N);return await N.sign([x]),N}}async function U0({phrase:T,derivationPath:x=j.DerivationPath.SOL}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),G=y(T),L=N.fromMasterSeed(G);return f.fromSeed(L.derive(x,!0).privateKey)}function U1(T){return T.toString()}async function A0(T){let{PublicKey:x}=await import("@solana/web3.js");return new x(T)}var j,bT;var l1=E(()=>{j=require("@tcswap/helpers"),bT=require("ts-pattern")});var F0={};qy(F0,{getSolanaToolbox:()=>Cx,getSolanaAddressValidator:()=>v0,fetchTokenMetaData:()=>v1,createKeysForPath:()=>U0});module.exports=Yy(F0);var V0=E(()=>{l1()});async function A1(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(N){try{return T(N)}catch{return!1}}}async function Sx({provider:T,...x}={}){let N=await A1(),y=await jT.match(x).with({phrase:jT.P.string},async({phrase:z})=>{let{Ed25519Keypair:J}=await import("@mysten/sui/keypairs/ed25519");return J.deriveKeypair(z)}).with({signer:jT.P.any},({signer:z})=>z).otherwise(()=>{return});async function f(z=T){let{SuiClient:J,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new J({url:z||Q("mainnet")})}function G(){return y?.toSuiAddress()||""}async function L(z){let J=z||G();if(!J)throw new fy.USwapError("toolbox_sui_address_required");let{baseDecimal:Q,chain:B}=fy.getChainConfig(fy.Chain.Sui);try{let M=await f(),{totalBalance:I}=await M.getBalance({owner:J}),R=[fy.AssetValue.from({chain:B,fromBaseDecimal:Q,value:I})],k=await M.getAllBalances({owner:J});for(let{coinType:$,totalBalance:F}of k){if($==="0x2::sui::SUI")continue;if(Number(F)>0){let u=$.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${B}.${u}-${$}`;R.push(fy.AssetValue.from({asset:d,fromBaseDecimal:Q,value:F}))}}return R}catch{return[fy.AssetValue.from({chain:B})]}}async function X(z){let J=fy.AssetValue.from({chain:fy.Chain.Sui,value:"0.01"});if(!z)return J;try{let Q=await f(),{txBytes:B}=await _(z),{effects:{status:M,gasUsed:I}}=await Q.dryRunTransactionBlock({transactionBlock:B});if(M.status!=="success")return J;let R=Number(I.computationCost)+Number(I.storageCost)-Number(I.storageRebate);return fy.AssetValue.from({chain:fy.Chain.Sui,value:R.toString()})}catch{return J}}async function _({recipient:z,assetValue:J,gasBudget:Q,sender:B}){let{Transaction:M}=await import("@mysten/sui/transactions"),I=B||G();if(!I)throw new fy.USwapError("toolbox_sui_no_sender");try{let R=new M;if(R.setSender(I),J.isGasAsset||J.symbol==="SUI"){let[F]=R.splitCoins(R.gas,[J.getBaseValue("string")]);R.transferObjects([F],z)}else throw new fy.USwapError("toolbox_sui_custom_token_transfer_not_implemented");if(Q)R.setGasBudget(Q);let k=await f(),$=await R.build({client:k});return{tx:R,txBytes:$}}catch(R){throw new fy.USwapError("toolbox_sui_transaction_creation_error",{error:R})}}async function Z(z){if(!y)throw new fy.USwapError("toolbox_sui_no_signer");if(z instanceof Uint8Array)return y.signTransaction(z);let{txBytes:J}="tx"in z?z:await _(z);return y.signTransaction(J)}async function q({assetValue:z,gasBudget:J,recipient:Q}){if(!y)throw new fy.USwapError("toolbox_sui_no_signer");let B=y.toSuiAddress()||G();if(!B)throw new fy.USwapError("toolbox_sui_no_sender");let{txBytes:M}=await _({assetValue:z,gasBudget:J,recipient:Q,sender:B}),I=await f(),{digest:R}=await I.signAndExecuteTransaction({signer:y,transaction:M});return R}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:q,validateAddress:N}}var fy,jT;var F1=E(()=>{fy=require("@tcswap/helpers"),jT=require("ts-pattern")});var Sf={};qy(Sf,{getSuiToolbox:()=>Sx,getSuiAddressValidator:()=>A1});module.exports=Yy(Sf);var Pf=E(()=>{F1()});async function Px(T={}){let{mnemonicToWalletKey:x}=await import("@ton/crypto"),{Address:N,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),G=await V1(),L,X,_=await oT.match(T).with({phrase:oT.P.string},async({phrase:R})=>x(R.split(" "))).with({signer:oT.P.any},({signer:R})=>R).otherwise(()=>{return});function Z(){let{rpcUrls:R}=Ty.getChainConfig(Ty.Chain.Ton),[k]=R;if(!L||L.parameters.endpoint!==k)L=new y({endpoint:k});return L}function q(R){if(!X||R){let k=Z(),$=R||_;if(!$)throw new Ty.USwapError("core_wallet_connection_not_found");let F=f.create({publicKey:$.publicKey,workchain:0});X=k.open(F)}return X}async function z(R){let k=Z(),{baseDecimal:$}=Ty.getChainConfig(Ty.Chain.Ton);try{let F=await k.getBalance(N.parse(R));return[Ty.AssetValue.from({chain:Ty.Chain.Ton,value:Ty.USwapNumber.fromBigInt(F,$)})]}catch{return[Ty.AssetValue.from({chain:Ty.Chain.Ton})]}}async function J({assetValue:R,recipient:k,memo:$}){let F=q();if(!F||!_)throw new Ty.USwapError("core_wallet_connection_not_found");let{toNano:u,comment:d,internal:Ly}=await import("@ton/ton"),Qy=await F.getSeqno(),l=u(R.getValue("string")),V=$?d($):void 0;return F.createTransfer({messages:[Ly({body:V,to:k,value:l})],secretKey:_.secretKey,seqno:Qy})}async function Q({assetValue:R,recipient:k,memo:$}){let F=q();if(!F||!_)throw new Ty.USwapError("core_wallet_connection_not_found");let u=await J({assetValue:R,memo:$,recipient:k});return await F.send(u),u.hash().toString()}async function B(R){let k=q();if(!k)throw new Ty.USwapError("core_wallet_connection_not_found");try{return await k.send(R),R.hash().toString("hex")}catch($){throw new Ty.USwapError("core_wallet_connection_not_found",{error:$})}}function M(){return q().address.toString()}function I(){return Promise.resolve(Ty.AssetValue.from({chain:Ty.Chain.Ton,value:"0.0001"}))}return{createTransaction:J,estimateTransactionFee:I,getAddress:M,getBalance:z,sendTransaction:B,transfer:Q,validateAddress:G}}async function V1(){let{Address:T}=await import("@ton/ton");return function(N){try{return T.parse(N),!0}catch{return!1}}}var Ty,oT;var $1=E(()=>{Ty=require("@tcswap/helpers"),oT=require("ts-pattern")});var Uf={};qy(Uf,{getTONToolbox:()=>Px,getTONAddressValidator:()=>V1});module.exports=Yy(Uf);var vf=E(()=>{$1()});var JT;var $0=E(()=>{JT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function u1(T){let x=await import("tronweb"),N=x.TronWeb??x.default?.TronWeb;try{let y=await fetch(`${Ux}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let f=await y.json();if(!(f.success&&f.data)||f.data.length===0)throw Error("Invalid response from TronGrid API");let G;try{G=N.address.toHex(T).toLowerCase()}catch{G=T.toLowerCase()}let L=f.data.find((X)=>{return X.address.toLowerCase()===G});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(y){throw new n1.USwapError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var n1,Ux="https://api.trongrid.io";var b1=E(()=>{n1=require("@tcswap/helpers")});async function n0(){let T=await import("tronweb"),x=T.TronWeb??T.default?.TronWeb;return(N)=>{return x.isAddress(N)}}async function o1({phrase:T,derivationPath:x,index:N}){let y=x||U.derivationPathToString(U.updateDerivationPath(U.NetworkDerivationPath[U.Chain.Tron],{index:N||0})),{HDKey:f}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),L=G(T),_=f.fromMasterSeed(L).derive(y);if(!_.privateKey)throw new U.USwapError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function Vx({phrase:T,derivationPath:x,tronWeb:N}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),G=f(T),X=y.fromMasterSeed(G).derive(x);if(!X.privateKey)throw new U.USwapError("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");N.setPrivateKey(_);let Z=N?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(q)=>{return await N.trx.sign(q,_)}}}var U,hT,vx=268,lx=13000,Ax=345,j1="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Fx="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",h1=async(T={})=>{let x=await import("tronweb"),N=x.TronWeb??x.default?.TronWeb,y=await U.getRPCUrl(U.Chain.Tron),f=void 0,G=new N({fullHost:y,headers:void 0}),L="index"in T?T.index||0:0,X=U.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:U.updateDerivationPath(U.NetworkDerivationPath[U.Chain.Tron],{index:L})),_=await hT.match(T).with({phrase:hT.P.string},async({phrase:l})=>Vx({derivationPath:X,phrase:l,tronWeb:G})).with({signer:hT.P.any},({signer:l})=>Promise.resolve(l)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new U.USwapError("toolbox_tron_no_signer");return await _.getAddress()},q=()=>{return 1e8},z=async()=>{try{let l=await G.trx.getChainParameters(),V={};for(let Y of l)V[Y.key]=Y.value;return{bandwidthFee:V.getTransactionFee||1000,createAccountFee:V.getCreateAccountFee||1e5,energyFee:V.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},J=async(l)=>{try{let V=await G.trx.getAccount(l);return V&&Object.keys(V).length>0}catch{return!1}},Q=async(l)=>{try{let V=await G.trx.getAccountResources(l);return{bandwidth:{free:V.freeNetLimit-V.freeNetUsed,total:V.NetLimit||0,used:V.NetUsed||0},energy:{total:V.EnergyLimit||0,used:V.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(l,V)=>{try{let Y=G.contract(JT,V);if(!Y.methods?.balanceOf)return 0n;let[C]=await Y.methods.balanceOf(l).call();return C?typeof C==="bigint"?C:BigInt(C):0n}catch(Y){let C=Y instanceof Error?Y.message:String(Y);return console.warn(`balanceOf() failed for ${V}: ${C}`),0n}},M=async(l,V)=>{try{G.setAddress(V);let Y=G.contract(JT,l),[C,O]=await Promise.all([Y.symbol().call().catch(()=>"UNKNOWN"),Y.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:C??"UNKNOWN"}}catch(Y){return U.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${l}: ${Y instanceof Error?Y.message:Y}`}),null}},I=async(l,V=!0)=>{let Y=[U.AssetValue.from({chain:U.Chain.Tron})];try{let C=await u1(l);if(C){let O=[];O.push(U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:6,value:C.balance}));for(let n of C.trc20){let[p,h]=Object.entries(n)[0]||[];if(!(p&&h))continue;let o=await M(p,l);if(!o)continue;O.push(U.AssetValue.from({asset:`TRON.${o.symbol}-${p}`,fromBaseDecimal:o.decimals,value:BigInt(h||0)}))}return O}return Y}catch(C){U.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${C instanceof Error?C.message:C}`});try{let O=[],n=await G.trx.getBalance(l);if(n&&Number(n)>0)O.push(U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:6,value:n}));let p=await B(l,j1);if(p)O.push(U.AssetValue.from({asset:`TRON.USDT-${j1}`,fromBaseDecimal:6,value:p}));if(O.length===0)return Y;return O}catch(O){let n=O instanceof Error?O.message:String(O);return console.error(`Tron balance fetch failed: ${n}`),Y}}},R=async({recipient:l,assetValue:V,memo:Y,expiration:C})=>{if(!_)throw new U.USwapError("toolbox_tron_no_signer");let O=await Z();G.setAddress(O);let n=await $({assetValue:V,expiration:C,memo:Y,recipient:l,sender:O}),p=await _.signTransaction(n),{txid:h}=await G.trx.sendRawTransaction(p);if(!h)throw new U.USwapError("toolbox_tron_token_transfer_failed");return h},k=async({assetValue:l,recipient:V,sender:Y})=>{let C=l.isGasAsset;try{let O=Y?Y:_?await Z():void 0;if(!O)return C?U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:0,value:0.1}):U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:0,value:15});let n=await z(),h=await J(V)?0:n.createAccountFee,o=await Q(O);if(C){let ty=vx,eT=o.bandwidth.free+(o.bandwidth.total-o.bandwidth.used),yf=0;if(ty>eT)yf=(ty-eT)*n.bandwidthFee;let Tf=h+yf;return U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:U.BaseDecimal.TRON,value:Tf})}let r=Ax,Xy=lx,zy=o.bandwidth.free+(o.bandwidth.total-o.bandwidth.used),By=o.energy.total-o.energy.used,py=0;if(r>zy)py=(r-zy)*n.bandwidthFee;let sT=0;if(Xy>By)sT=(Xy-By)*n.energyFee;let df=h+py+sT;return U.AssetValue.from({chain:U.Chain.Tron,fromBaseDecimal:U.BaseDecimal.TRON,value:df})}catch(O){throw U.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new U.USwapError("toolbox_tron_fee_estimation_failed",{error:O})}},$=async(l)=>{let{recipient:V,assetValue:Y,memo:C,sender:O,expiration:n}=l,p=Y.isGasAsset,h=async({transaction:r,memo:Xy,expiration:zy})=>{let By=Xy?await G.transactionBuilder.addUpdateData(r,Xy,"utf8"):r;return zy?await G.transactionBuilder.extendExpiration(By,zy):By};if(p){let r=await G.transactionBuilder.sendTrx(V,Y.getBaseValue("number"),O);return h({expiration:n,memo:C,transaction:r})}G.setAddress(O);let o=Y.address;if(!o)throw new U.USwapError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});try{let Xy=[{type:"address",value:V},{type:"uint256",value:Y.getBaseValue("string")}],zy={callValue:0,feeLimit:q()},{transaction:By}=await G.transactionBuilder.triggerSmartContract(o,"transfer(address,uint256)",zy,Xy,O);return h({expiration:n,memo:C,transaction:By})}catch(r){throw new U.USwapError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction.",originalError:r instanceof Error?r.message:String(r)})}},F=async(l)=>{if(!_)throw new U.USwapError("toolbox_tron_no_signer");return await _.signTransaction(l)},u=async(l)=>{let{txid:V}=await G.trx.sendRawTransaction(l);return V},d=async({assetAddress:l,spenderAddress:V,from:Y})=>{try{let C=G.contract(JT,l);if(!C.methods?.allowance)throw new U.USwapError("toolbox_tron_invalid_token_contract");let[O]=await C.methods.allowance(Y,V).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(C){throw new U.USwapError("toolbox_tron_allowance_check_failed",{error:C})}};return{approve:async({assetAddress:l,spenderAddress:V,amount:Y,from:C})=>{if(!_)throw new U.USwapError("toolbox_tron_no_signer");let O=C||await Z(),n=Y!==void 0?BigInt(Y).toString():Fx,p="approve(address,uint256)",h=[{type:"address",value:V},{type:"uint256",value:n}],r={callValue:0,feeLimit:q()};try{let{transaction:Xy}=await G.transactionBuilder.triggerSmartContract(l,p,r,h,O),zy=await _.signTransaction(Xy),{txid:By}=await G.trx.sendRawTransaction(zy);if(!By)throw new U.USwapError("toolbox_tron_approve_failed");return By}catch(Xy){throw new U.USwapError("toolbox_tron_approve_failed",{error:Xy})}},broadcastTransaction:u,createTransaction:$,estimateTransactionFee:k,getAddress:Z,getApprovedAmount:d,getBalance:I,isApproved:async({assetAddress:l,spenderAddress:V,from:Y,amount:C})=>{let O=await d({assetAddress:l,from:Y,spenderAddress:V});if(!C)return O>0n;let n=BigInt(C);return O>=n},signTransaction:F,transfer:R,tronWeb:G,validateAddress:await n0()}};var p1=E(()=>{$0();b1();U=require("@tcswap/helpers"),hT=require("ts-pattern")});var u0={};qy(u0,{trc20ABI:()=>JT,getTronPrivateKeyFromMnemonic:()=>o1,getTronAddressValidator:()=>n0,createTronToolbox:()=>h1});module.exports=Yy(u0);var b0=E(()=>{$0();p1()});async function $x({chain:T,txHash:x}){let N=`${lf(T)}/push/transaction`,y=JSON.stringify({data:x});try{let f=await b.RequestClient.post(N,{body:y,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new b.USwapError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||x}catch(f){let G=await b.getRPCUrl(T);if(G){let L=JSON.stringify({id:u5(),jsonrpc:"2.0",method:"sendrawtransaction",params:[x]}),X=await b.RequestClient.post(G,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new b.USwapError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new b.USwapError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw f}}function lf(T){return`https://api.blockchair.com/${nx(T)}`}function t1(T){switch(T){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function nx(T){switch(T){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function ux(T){try{let{feePerKb:x}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),N=x/1000;return Math.max(N,t1(T))}catch{return t1(T)}}async function j0(T,x){let N=await b.RequestClient.get(`${T}${x?`${T.includes("?")?"&":"?"}key=${x}`:""}`);if(!N||N.context.code!==200)throw new b.USwapError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return N.data}async function g1({address:T,chain:x,apiKey:N}){if(!T)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await j0(`${lf(x)}/dashboards/address/${T}?transaction_details=true`,N))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function bx({address:T,chain:x,apiKey:N}){return(await g1({address:T,apiKey:N,chain:x}))?.address.balance||0}async function d1({chain:T,apiKey:x,txHash:N}){if(!N)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await j0(`${lf(T)}/raw/transaction/${N}`,x))?.[N]?.raw_transaction||""}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function jx({chain:T,address:x,apiKey:N,offset:y=0,limit:f=30}){return(await j0(`${lf(T)}/outputs?q=recipient(${x}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${y}`,N)).map(({is_spent:_,script_hex:Z,block_id:q,transaction_hash:z,index:J,value:Q,spending_signature_hex:B})=>({hash:z,index:J,is_confirmed:q!==-1,is_spent:_,script_hex:Z,txHex:B,value:Q}))}function ox(T){return T.reduce((x,N)=>x+N.value,0)}function m1(T,x){let N=[...T].sort((y,f)=>f.value-y.value);if(x){let y=[],f=0;for(let G of N)if(y.push(G),f+=G.value,f>=x)break;return y}return N}async function r1({chain:T,address:x,apiKey:N,targetValue:y,accumulativeValue:f=0,offset:G=0,limit:L=30}){if(!x)throw new b.USwapError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await jx({address:x,apiKey:N,chain:T,limit:L,offset:G,targetValue:y}),Z=X.length<L,q=X.filter(({is_spent:I})=>!I),z=ox(q),J=f+z,Q=y&&J>=y;if(Z||Q)return m1(q,y);let B=await r1({accumulativeValue:J,address:x,apiKey:N,chain:T,limit:L,offset:G+L,targetValue:y}),M=[...q,...B];return m1(M,y)}catch(X){let _=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function hx({address:T,chain:x,apiKey:N,fetchTxHex:y=!0,targetValue:f}){let G=await r1({address:T,apiKey:N,chain:x,targetValue:f}),L=[];for(let{hash:X,index:_,script_hex:Z,value:q}of G){let z;if(y)z=await d1({apiKey:N,chain:x,txHash:X});L.push({address:T,hash:X,index:_,txHex:z,value:q,witnessUtxo:{script:Buffer.from(Z,"hex"),value:q}})}return L}function Hy(T){let x=b.USwapConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!x,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(N)=>$x({chain:T,txHash:N}),getAddressData:(N)=>g1({address:N,apiKey:x,chain:T}),getBalance:(N)=>bx({address:N,apiKey:x,chain:T}),getRawTx:(N)=>d1({apiKey:x,chain:T,txHash:N}),getSuggestedTxFee:()=>ux(T),getUtxos:(N)=>hx({...N,apiKey:x,chain:T})}}function px(T){return T}function Oy(){return function(x){switch(x){case b.Chain.Bitcoin:return i1.networks.bitcoin;case b.Chain.BitcoinCash:return qT.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return qT.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return qT.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let N={private:70615956,public:70617039},y=qT.default.dogecoin.test;return y.versions.bip32=N,qT.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return c1.networks.zcash;default:throw new b.USwapError("toolbox_utxo_not_supported",{chain:x})}}}var c1,b,i1,qT;var a1=E(()=>{OT();c1=require("@bitgo/utxo-lib"),b=require("@tcswap/helpers"),i1=require("bitcoinjs-lib"),qT=W(require("coininfo"))});function m0(T){try{return Af(T),!0}catch{return!1}}function c0(T){return Af(T)?.network}function zT(T){let x=Af(T);if(x?.format==="legacy")return T;return cx(x)}function pT(T){let x=Af(T);return ix(x)}function Af(T){try{let x=tx(T);if(x)return x}catch{}try{let x=mx(T);if(x)return x}catch{}throw new o0.USwapError("toolbox_utxo_invalid_address",{address:T})}function tx(T){try{let x=h0.default.decode(T);if(x.length!==21)throw new o0.USwapError("toolbox_utxo_invalid_address",{address:T});let N=x[0],y=Array.prototype.slice.call(x,1);switch(N){case ry.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case ry.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case ry.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case ry.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case ry.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case ry.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function mx(T){if(T.indexOf(":")!==-1)try{return s1(T)}catch{}else{let x=["bitcoincash","bchtest","bchreg"];for(let N of x)try{return s1(`${N}:${T}`)}catch{}}return}function s1(T){try{let{hash:x,prefix:N,type:y}=p0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(x,0),network:N==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function cx(T){let x=ry.legacy[T.network][T.type],N=Buffer.alloc(1+T.hash.length);return N[0]=x,N.set(T.hash,1),h0.default.encode(N)}function ix(T){let x=T.network==="mainnet"?"bitcoincash":"bchtest",N=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return p0.default.encode(x,N,y)}var o0,h0,p0,t0,ry;var e1=E(()=>{o0=require("@tcswap/helpers"),h0=W(require("bs58check")),p0=W(require("cashaddrjs"));((N)=>{N.Mainnet="mainnet";N.Testnet="testnet"})(t0||={});ry={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function ky(T){let x=Buffer.from(T,"utf8");return $f.script.compile([$f.opcodes.OP_RETURN,x])}var y2,$f,gx=1000,nf=10,T2=10,dx=41,rx=107,uf,Ff,Vf,tT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new y2.USwapError("toolbox_utxo_invalid_address",{address:T})},QT=({inputs:T,outputs:x,feeRate:N})=>{let y=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",f=T.filter((L)=>L.value>=Ff["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+by(X),0),G=x?.reduce((L,X)=>L+mT(X),0)||Vf[y];return nf+f+G},by=(T)=>{if("type"in T)return Ff[T.type];if("address"in T&&T.address)return Ff[tT(T.address)];return dx+rx},mT=(T,x)=>{if(T?.script)return T2+T.script.length+(T.script.length>=74?2:1);if(x)return Vf[x];return Vf.P2PKH};var i0=E(()=>{y2=require("@tcswap/helpers"),$f=require("bitcoinjs-lib");((N)=>{N.P2PKH="P2PKH";N.P2WPKH="P2WPKH"})(uf||={});Ff={["P2PKH"]:148,["P2WPKH"]:68},Vf={["P2PKH"]:34,["P2WPKH"]:31}});function bf(T){switch(T){case Ky.Chain.Bitcoin:case Ky.Chain.BitcoinCash:return 550;case Ky.Chain.Dash:case Ky.Chain.Litecoin:return 5500;case Ky.Chain.Dogecoin:return 1e5;case Ky.Chain.Zcash:return 546;default:throw new Ky.USwapError("toolbox_utxo_not_supported",{chain:T})}}function Ey({inputs:T,outputs:x,feeRate:N=1,chain:y=Ky.Chain.Bitcoin,changeAddress:f=""}){let G=Math.ceil(N),L=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",X=T.filter((Q)=>by(Q)*G<=Q.value),_=nf+x.reduce((Q,B)=>Q+mT(B,L),0),Z=x.reduce((Q,B)=>Q+B.value,0),q=_*G,z=0,J=[];for(let Q of X){let B=by(Q),M=G*B;q+=M,z+=Q.value,J.push(Q);let I=q+Z;if(z<I)continue;let R=z-I,k=G*mT({address:"",value:0},L);if(R>k){let $=k+q,F=z-(Z+$);if(F>Math.max(by({})*G,bf(y)))return{fee:$,inputs:J,outputs:x.concat({address:f,value:F})}}return{fee:q,inputs:J,outputs:x}}return{fee:G*QT({feeRate:G,inputs:T,outputs:x})}}var Ky;var f2=E(()=>{i0();Ky=require("@tcswap/helpers")});var BT=E(()=>{a1();e1();f2();i0()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let x=ay(T);return m0(x)&&c0(x)==="mainnet"}function YT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let x=jf.networks.zcash;try{return jf.address.toOutputScript(T,x),!0}catch{let N=x2.default.decode(T);if(N.length<21)return!1;let y=N[0];return y===x.pubKeyHash||y===x.scriptHash}}catch{return!1}}var jf,x2;var cT=E(()=>{BT();jf=require("@bitgo/utxo-lib"),x2=W(require("bs58check"))});function L2({inputs:T,outputs:x,chain:N,psbt:y,sender:f,compiledMemo:G}){for(let L of T){let X=!!L.witnessUtxo&&!iT.includes(N)&&{witnessUtxo:L.witnessUtxo},_=iT.includes(N)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};y.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of x){let X="address"in L&&L.address?L.address:f,_=L.script;if(_&&!G)continue;let Z=_?{script:G,value:0}:{address:X,value:L.value};Dy.initEccLib(of.default),y.addOutput(Z)}return{inputs:T,psbt:y}}async function X2({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f,fetchTxHex:G=!1}){let L=T.chain,X=N?await ky(N):null,_=await J2({assetValue:T,fetchTxHex:G,memo:N,recipient:x,sender:f}),{inputs:Z,outputs:q}=Ey({..._,chain:L,feeRate:y});if(!(Z&&q))throw new v.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let z=await Oy(),J=new Dy.Psbt({network:z(L)});if(L===v.Chain.Dogecoin)J.setMaximumFeeRate(650000000);let{psbt:Q,inputs:B}=await L2({chain:L,compiledMemo:X,inputs:Z,outputs:q,psbt:J,sender:f});return{inputs:B,psbt:Q,utxos:_.inputs}}async function _2(){let T=await Oy();return function({address:N,chain:y}){if(y===v.Chain.BitcoinCash)return jy(N);if(y===v.Chain.Zcash)return YT(N);try{return Dy.initEccLib(of.default),Dy.address.toOutputScript(N,T(y)),!0}catch{return!1}}}async function ax({chain:T,phrase:x,derivationPath:N}){let y=(await gT(T))({derivationPath:N,phrase:x});async function f(L){return await L.signAllInputs(y),L}function G(){return d0(T)(y)}return{getAddress:G,signTransaction:f}}async function sy({chain:T,...x}){let N="phrase"in x?x.phrase:void 0,y="index"in x?x.index||0:0,f=v.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:y})),G=N?await ax({chain:T,derivationPath:f,phrase:N}):("signer"in x)?x.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await _2(),_=await gT(T);return{accumulative:Ey,broadcastTx:(Z)=>Hy(T).broadcastTx(Z),calculateTxSize:QT,createKeysForPath:_,createTransaction:X2,estimateMaxSendableAmount:sx(T),estimateTransactionFee:ex(T),getAddress:L,getAddressFromKeys:d0(T),getBalance:TT(T),getFeeRates:()=>dT(T),getInputsOutputsFee:Z2,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:yG(G),validateAddress:(Z)=>X({address:Z,chain:T})}}async function Z2({assetValue:T,feeOptionKey:x=v.FeeOption.Fast,feeRate:N,memo:y,sender:f,recipient:G}){let L=T.chain,X=await J2({assetValue:T,memo:y,recipient:G,sender:f}),_=N?Math.floor(N):(await dT(L))[x];return Ey({...X,chain:L,feeRate:_})}function sx(T){return async function({from:N,memo:y,feeRate:f,feeOptionKey:G=v.FeeOption.Fast,recipients:L=1}){let X=await Hy(T).getAddressData(N),_=f?Math.ceil(f):(await dT(T))[G],Z=X?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(bf(T),by(B)*_));if(!Z?.length)return v.AssetValue.from({chain:T});let q=v.AssetValue.from({chain:T,value:Z.reduce((B,M)=>B+M.value,0)}),z=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(y){let B=await ky(y);z.push({address:N,script:B,value:0})}let Q=QT({feeRate:_,inputs:Z,outputs:z})*_;return q.sub(Q)}}function ex(T){return async(x)=>{let N=await Z2(x);return v.AssetValue.from({chain:T,value:v.USwapNumber.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function gT(T){let x=await Oy();switch(T){case v.Chain.BitcoinCash:return function({phrase:y,derivationPath:f=`${v.DerivationPath.BCH}/0`,wif:G}){let L=x(T);if(G)return hf.ECPair.fromWIF(G,L);if(!y)throw new v.USwapError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return hf.HDNode.fromSeedBuffer(Buffer.from(g0.mnemonicToSeedSync(y)),L).derivePath(f).keyPair};case v.Chain.Bitcoin:case v.Chain.Dogecoin:case v.Chain.Litecoin:case v.Chain.Zcash:case v.Chain.Dash:return function({phrase:y,wif:f,derivationPath:G}){if(!(f||y))throw new v.USwapError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=N2.ECPairFactory(of.default),X=x(T);if(f)return L.fromWIF(f,X);let _=g0.mnemonicToSeedSync(y),Z=G2.HDKey.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new v.USwapError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new v.USwapError("toolbox_utxo_not_supported",{chain:T})}}function d0(T){let x=Oy();return function(y){if(!y)throw new v.USwapError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=iT.includes(T)?Dy.payments.p2pkh:Dy.payments.p2wpkh,{address:G}=f({network:x(T),pubkey:y.publicKey});if(!G)throw new v.USwapError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function yG(T){return async function({memo:N,recipient:y,feeOptionKey:f,feeRate:G,assetValue:L}){let X=await T?.getAddress(),_=L.chain;if(!(T&&X))throw new v.USwapError("toolbox_utxo_no_signer");if(!y)throw new v.USwapError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await dT(_))[f||v.FeeOption.Fast],{psbt:q}=await X2({assetValue:L,feeRate:Z,memo:N,recipient:y,sender:X}),z=await T.signTransaction(q);return z.finalizeAllInputs(),Hy(_).broadcastTx(z.extractTransaction().toHex())}}async function dT(T){let x=await Hy(T).getSuggestedTxFee();return{[v.FeeOption.Average]:x,[v.FeeOption.Fast]:v.applyFeeMultiplier(x,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(x,v.FeeOption.Fastest)}}async function J2({assetValue:T,recipient:x,memo:N,sender:y,fetchTxHex:f=!1}){let G=T.chain,L=(await dT(G))[v.FeeOption.Fastest],X=f||iT.includes(G),_=T.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await Hy(G).getUtxos({address:y,fetchTxHex:X,targetValue:Z}),outputs:[{address:x,value:_},...N?[{address:"",script:await ky(N),value:0}]:[]]}}var of,hf,G2,g0,v,Dy,N2,iT;var rT=E(()=>{OT();BT();cT();of=W(require("@bitcoinerlab/secp256k1")),hf=require("@psf/bitcoincashjs-lib"),G2=require("@scure/bip32"),g0=require("@scure/bip39"),v=require("@tcswap/helpers"),Dy=require("bitcoinjs-lib"),N2=require("ecpair"),iT=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash]});function ey(T){return ay(pT(T))}function TG(T){function x({builder:y,utxos:f}){return f.forEach((G,L)=>{y.sign(L,T,void 0,65,G.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ey(y))},signTransaction:x}}async function r0(T){let x="phrase"in T?T.phrase:void 0,N="index"in T?T.index||0:0,y=Zy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Zy.updateDerivationPath(Zy.NetworkDerivationPath[Ry],{index:N})),f=x?(await gT(Ry))({derivationPath:y,phrase:x}):void 0,G=f?TG(f):("signer"in T)?T.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...q}=await sy({chain:Ry});function z(J,Q=!0){return X(ay(pT(J)))}return{...q,broadcastTx:Z,buildTx:xG,createTransaction:z2,getAddress:L,getAddressFromKeys:GG,getBalance:z,getFeeRates:_,stripPrefix:ay,stripToCashAddress:ey,transfer:fG({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:jy}}async function z2({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f}){if(!jy(x))throw new Zy.USwapError("toolbox_utxo_invalid_address",{address:x});let G=Math.ceil(T.getBaseValue("number")+y*7500),L=await Hy(Ry).getUtxos({address:ey(f),fetchTxHex:!0,targetValue:G}),X=N?await ky(N):null,_=[];_.push({address:x,value:T.getBaseValue("number")});let{inputs:Z,outputs:q}=Ey({chain:Ry,feeRate:y,inputs:L,outputs:_});if(!(Z&&q))throw new Zy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let z=await Oy(),J=new WT.TransactionBuilder(z(Ry));await Promise.all(Z.map(async(Q)=>{let B=await Hy(Ry).getRawTx(Q.hash);J.addInput(WT.Transaction.fromBuffer(Buffer.from(B,"hex")),Q.index)}));for(let Q of q){let B="address"in Q&&Q.address?Q.address:zT(f),M=await Oy(),I=WT.address.toOutputScript(zT(B),M(Ry));J.addOutput(I,Q.value)}if(X)J.addOutput(X,0);return{builder:J,utxos:Z}}function fG({broadcastTx:T,getFeeRates:x,signer:N}){return async function({recipient:f,assetValue:G,feeOptionKey:L=Zy.FeeOption.Fast,...X}){let _=await N?.getAddress();if(!(N&&_))throw new Zy.USwapError("toolbox_utxo_no_signer");if(!f)throw new Zy.USwapError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await x())[L],{builder:q,utxos:z}=await z2({...X,assetValue:G,feeRate:Z,recipient:f,sender:_}),Q=(await N.signTransaction({builder:q,utxos:z})).toHex();return T(Q)}}async function xG({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f,setSigHashType:G}){let L=pT(x);if(!jy(L))throw new Zy.USwapError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(T.getBaseValue("number")+y*7500),_=await Hy(Ry).getUtxos({address:ey(f),fetchTxHex:!1,targetValue:X}),Z=Number(y.toFixed(0)),q=N?await ky(N):null,z=[];if(z.push({address:zT(x),value:T.getBaseValue("number")}),q)z.push({script:q,value:0});let{inputs:J,outputs:Q}=Ey({chain:Ry,feeRate:Z,inputs:_,outputs:z});if(!(J&&Q))throw new Zy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let B=await Oy(),M=new q2.Psbt({network:B(Ry)});for(let{hash:I,index:R,witnessUtxo:k}of J)M.addInput({hash:I,index:R,sighashType:G?65:void 0,witnessUtxo:k});for(let I of Q){let R="address"in I&&I.address?I.address:zT(f),k=I.script?q?{script:q,value:0}:void 0:{address:R,value:I.value};if(k)M.addOutput(k)}return{inputs:J,psbt:M,utxos:_}}function GG(T){let x=T.getAddress(0);return ey(x)}var WT,Zy,q2,Ry;var pf=E(()=>{BT();rT();cT();WT=require("@psf/bitcoincashjs-lib"),Zy=require("@tcswap/helpers"),q2=require("bitcoinjs-lib"),Ry=Zy.Chain.BitcoinCash});function s0(){return Cy.networks.zcash}function Y2(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function NG({phrase:T,derivationPath:x}){let N=y5.mnemonicToSeedSync(T),f=e0.HDKey.fromMasterSeed(N).derive(x);if(!f.privateKey)throw new xy.USwapError("toolbox_utxo_invalid_params");let G=Y2(),L=Cy.ECPair.fromPrivateKey(Buffer.from(f.privateKey),{network:G}),X=Cy.crypto.hash160(L.publicKey),{isStagenet:_}=xy.USwapConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),q=Buffer.concat([Z,X]),z=B2.default.encode(q);return{getAddress:()=>Promise.resolve(z),signTransaction:(J)=>{let Q=J.signAllInputs(L);return Promise.resolve(Q)}}}function LG({inputs:T,outputs:x,psbt:N,sender:y,compiledMemo:f}){for(let G of T){let L=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},X=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};N.addInput({hash:G.hash,index:G.index,...L,...X})}for(let G of x){let L="address"in G&&G.address?G.address:y,X=G.script;if(X&&!f)continue;let _=X?{script:f,value:0n}:{script:Cy.address.toOutputScript(L,s0()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:T,psbt:N}}async function Q2(T){let{assetValue:x,recipient:N,memo:y,feeRate:f,sender:G,fetchTxHex:L}=T,X=y?ky(y):null,_=await Hy(xy.Chain.Zcash).getUtxos({address:G,fetchTxHex:L!==!1}),Z=[{address:N,value:Number(x.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:q,outputs:z}=Ey({chain:xy.Chain.Zcash,changeAddress:G,feeRate:f,inputs:_,outputs:Z});if(!(q&&z))throw new xy.USwapError("toolbox_utxo_insufficient_balance",{assetValue:x,sender:G});let J=Cy.bitgo.createPsbtForNetwork({network:s0()},{version:a0.ZcashTransaction.VERSION4_BRANCH_NU6_1}),{psbt:Q,inputs:B}=await LG({compiledMemo:X,inputs:q,outputs:z,psbt:J,sender:G});return Q.setDefaultsForVersion(s0(),a0.ZcashTransaction.VERSION4_BRANCH_NU6_1),{inputs:B,outputs:z,psbt:Q}}async function T5(T){let x=await HT.match(T).with({signer:HT.P.not(HT.P.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:HT.P.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||xy.NetworkDerivationPath[xy.Chain.Zcash]||[44,133,0,0,0],q=xy.updateDerivationPath(Z,{index:_}),z=xy.derivationPathToString(q);return NG({derivationPath:z,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),N=await sy({chain:xy.Chain.Zcash,signer:x});async function y({recipient:L,assetValue:X,feeOptionKey:_=xy.FeeOption.Fast,...Z}){let q=await x?.getAddress();if(!(x&&q))throw new xy.USwapError("toolbox_utxo_no_signer");let z=Z.feeRate||(await N.getFeeRates())[_],{psbt:J}=await Q2({...Z,assetValue:X,feeRate:z,recipient:L,sender:q}),Q=await x.signTransaction(J);Q.validateSignaturesOfAllInputs(),Q.finalizeAllInputs();let M=Q.extractTransaction().toHex();return N.broadcastTx(M)}function f({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=y5.mnemonicToSeedSync(L),q=e0.HDKey.fromMasterSeed(_).derive(X);if(!q.privateKey)throw new xy.USwapError("toolbox_utxo_invalid_params");let z=Y2();return Cy.ECPair.fromPrivateKey(Buffer.from(q.privateKey),{network:z})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return f({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:f,createTransaction:Q2,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:YT}}var Cy,a0,e0,y5,xy,B2,HT;var f5=E(()=>{BT();rT();cT();Cy=require("@bitgo/utxo-lib"),a0=require("@bitgo/utxo-lib/dist/src/bitgo"),e0=require("@scure/bip32"),y5=require("@scure/bip39"),xy=require("@tcswap/helpers"),B2=W(require("bs58check")),HT=require("ts-pattern")});async function XG(T,x){switch(T){case vy.Chain.BitcoinCash:return await r0(x||{});case vy.Chain.Zcash:return await T5(x);case vy.Chain.Bitcoin:case vy.Chain.Dogecoin:case vy.Chain.Litecoin:case vy.Chain.Dash:return await sy({chain:T,...x});default:throw new vy.USwapError("toolbox_utxo_not_supported",{chain:T})}}var vy;var W2=E(()=>{pf();rT();f5();pf();cT();vy=require("@tcswap/helpers")});var x5={};qy(x5,{validateZcashAddress:()=>YT,toLegacyAddress:()=>zT,toCashAddress:()=>pT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>iT,isValidAddress:()=>m0,getUtxoToolbox:()=>XG,getUtxoNetwork:()=>Oy,getUtxoApi:()=>Hy,getUTXOAddressValidator:()=>_2,getScriptTypeForAddress:()=>tT,getOutputSize:()=>mT,getInputSize:()=>by,getDustThreshold:()=>bf,getCreateKeysForPath:()=>gT,detectAddressNetwork:()=>c0,createZcashToolbox:()=>T5,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>px,createBCHToolbox:()=>r0,compileMemo:()=>ky,calculateTxSize:()=>QT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>d0,addInputsAndOutputs:()=>L2,accumulative:()=>Ey,UtxoNetwork:()=>t0,UTXOScriptType:()=>uf,TX_OVERHEAD:()=>nf,OutputSizes:()=>Vf,OP_RETURN_OVERHEAD:()=>T2,MIN_TX_FEE:()=>gx,InputSizes:()=>Ff});module.exports=Yy(x5);var G5=E(()=>{BT();W2();pf();rT();f5()});async function mf(){let{validateAccountId:T}=await import("near-sdk-js");return(x)=>{try{return T(x)}catch{let N=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return x.length>=2&&x.length<=64&&N.test(x)}}}async function cf(T){let{parseSeedPhrase:x}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),y=T.index||0,f=T.derivationPath?tf.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=x(T.phrase,f),L=N.fromString(G);return I2(L)}async function N5(T){let{KeyPair:x}=await import("@near-js/crypto"),N=x.fromString(T);return I2(N)}function I2(T){return new M2(T)}async function gf(T,x){let y=(await T.query({account_id:x,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!y)throw new tf.USwapError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),G=f.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:G}}var H2,tf,M2;var L5=E(()=>{H2=require("@near-js/signers"),tf=require("@tcswap/helpers");M2=class M2 extends H2.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),x=Buffer.from(T.data).toString("hex");return Promise.resolve(x)}}});function X5(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function _5(T){return"contractId"in T&&"methodName"in T}function Z5(T){return"actions"in T}function J5(T){return"newAccountId"in T}function q5(T){return"contractCode"in T}function z5(T){return"customEstimator"in T}function Q5(T){let x=0;for(let N of T)switch(N.enum){case"transfer":x+=Number(Jy.SIMPLE_TRANSFER);break;case"functionCall":x+=Number(Jy.CONTRACT_CALL);break;case"createAccount":x+=Number(Jy.ACCOUNT_CREATION);break;case"deployContract":x+=Number(Jy.CONTRACT_DEPLOYMENT);break;case"addKey":x+=Number(Jy.ACCESS_KEY_ADDITION);break;case"deleteKey":x+=Number(Jy.ACCESS_KEY_DELETION);break;case"stake":x+=Number(Jy.STAKE);break;default:x+=Number(Jy.CONTRACT_CALL)}return x.toString()}function B5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Jy.TOKEN_TRANSFER;if(T==="storage_deposit")return Jy.STORAGE_DEPOSIT;return Jy.CONTRACT_CALL}function _G(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function ZG(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Jy;var Y5=E(()=>{Jy={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 W5({account:T,contractId:x,viewMethods:N,changeMethods:y}){let{Contract:f}=await import("@near-js/accounts");return new f(T,x,{changeMethods:y,useLocalViewExecution:!0,viewMethods:N})}async function JG(T){let{P:x,match:N}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),f=await N(T).with({phrase:x.string},async(Y)=>{return await cf(Y)}).with({signer:x.any},({signer:Y})=>Y).otherwise(()=>{return}),G=await t.getRPCUrl(t.Chain.Near),L=new y({url:G});async function X(Y){let{Account:C}=await import("@near-js/accounts"),O=Y||await _();return new C(O,L,f)}async function _(){if(!f)throw new t.USwapError("toolbox_near_no_signer");return await f.getAddress()}async function Z(Y){return(await Ly({changeMethods:[],contractId:Y.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Y.accountId})}async function q(Y){let O=[await M({args:{account_id:Y.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await M({args:{amount:Y.assetValue.getBaseValue("string"),memo:Y.memo||null,receiver_id:Y.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return Qy({actions:O,receiverId:Y.contractId})}async function z(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");let{assetValue:C,recipient:O,memo:n}=Y,p=await _();if(!C.isGasAsset&&C.address){if(!await Z({accountId:O,contractId:C.address}))return q({assetValue:C,contractId:C.address,memo:n,recipient:O})}let h=await J({...Y,sender:p});return k(h)}async function J(Y){let{recipient:C,assetValue:O,memo:n,attachedDeposit:p,sender:h,functionCall:o}=Y,r=await mf();if(!r(C))throw new t.USwapError("toolbox_near_invalid_address",{recipient:C});if(!r(h))throw new t.USwapError("toolbox_near_invalid_address",{signerId:h});if(o)return B({...o,sender:h});if(!O.isGasAsset){let Tf=O.address;if(!Tf)throw new t.USwapError("toolbox_near_missing_contract_address");return B({args:{amount:O.getBaseValue("string"),memo:n||null,receiver_id:C},attachedDeposit:p||"1",contractId:Tf,gas:"250000000000000",methodName:"ft_transfer",sender:h})}let{publicKey:Xy,nonce:zy}=await gf(L,h),By=O.getBaseValue("bigint"),{actionCreators:py,createTransaction:sT}=await import("@near-js/transactions"),{baseDecode:df}=await import("@near-js/utils"),ty=[py.transfer(By)];if(n&&p)ty.push(py.functionCall("memo",{memo:n},BigInt("250000000000000"),BigInt(p)));let eT=await L.block({finality:"final"}),yf=df(eT.header.hash);return sT(h,Xy,C,zy+1,ty,yf)}function Q(Y){let C=Y.encode();return Buffer.from(C).toString("base64")}async function B(Y){let{sender:C}=Y,{publicKey:O,nonce:n}=await gf(L,C),{createTransaction:p,actionCreators:h}=await import("@near-js/transactions"),{baseDecode:o}=await import("@near-js/utils"),r=await L.block({finality:"final"}),Xy=o(r.header.hash),zy=[h.functionCall(Y.methodName,Buffer.from(JSON.stringify(Y.args)),BigInt(Y.gas),BigInt(Y.attachedDeposit))];return p(C,O,Y.contractId,n+1,zy,Xy)}async function M(Y){let{actionCreators:C}=await import("@near-js/transactions");return C.functionCall(Y.methodName,Buffer.from(JSON.stringify(Y.args)),BigInt(Y.gas),BigInt(Y.attachedDeposit))}async function I(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");let[C,O]=await f.signTransaction(Y);return O}async function R(Y){return(await L.sendTransaction(Y)).transaction.hash}async function k(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");try{let C=await I(Y);return await R(C)}catch{return f.signAndSendTransactions?.({transactions:[Y]})}}async function $(Y){if("assetValue"in Y){let p=BigInt("115123062500")+BigInt("108059500000"),h=await F(),o=p*BigInt(h.toString()),{baseDecimal:r}=t.getChainConfig(t.Chain.Near);return t.AssetValue.from({chain:t.Chain.Near,fromBaseDecimal:r,value:o.toString()})}let C=f?await X():void 0;return l(Y,C)}async function F(){try{return await L.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function u(Y,C,O){if(!f)throw new t.USwapError("toolbox_near_no_signer");let n=await X(),{formatNearAmount:p}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),o=p(O)||"0";return(await n.createAccount(Y,h.fromString(C),BigInt(o))).transaction.hash}async function d(Y){try{if(!f)throw new t.USwapError("toolbox_near_no_signer");let{actionCreators:C}=await import("@near-js/transactions"),{contractId:O,methodName:n,args:p,deposit:h}=Y,o=await X(),r=await l({args:p||{},contractId:O,methodName:n}),Xy=C.functionCall(n,p||{},r.getBaseValue("bigint"),BigInt(h||"1"));return(await o.signAndSendTransaction({actions:[Xy],receiverId:O})).transaction_outcome.id}catch(C){throw new t.USwapError("toolbox_near_transfer_failed",{error:C})}}async function Ly(Y){let C=await X();return W5({account:C,changeMethods:Y.changeMethods,contractId:Y.contractId,viewMethods:Y.viewMethods})}async function Qy(Y){if(!f)throw new t.USwapError("toolbox_near_no_signer");if(Y.actions.length===0)throw new t.USwapError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:Y.actions,receiverId:Y.receiverId})).transaction.hash}async function l(Y,C){let{baseDecimal:O}=t.getChainConfig(t.Chain.Near),n=await N(Y).when(X5,()=>Jy.SIMPLE_TRANSFER).when(_5,(o)=>B5(o.methodName)).when(Z5,(o)=>Q5(o.actions)).when(J5,()=>Jy.ACCOUNT_CREATION).when(q5,()=>Jy.CONTRACT_DEPLOYMENT).when(z5,(o)=>{if(!C)throw new t.USwapError("toolbox_near_no_account");return o.customEstimator(C)}).otherwise(()=>{throw new t.USwapError("toolbox_near_invalid_gas_params")}),h=BigInt(n)*BigInt(1000000000000);return t.AssetValue.from({chain:t.Chain.Near,fromBaseDecimal:O,value:h})}async function V(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:R,callFunction:d,createAction:M,createContract:Ly,createContractFunctionCall:B,createSubAccount:u,createTransaction:J,estimateGas:l,estimateTransactionFee:$,executeBatchTransaction:Qy,getAddress:_,getBalance:TT(t.Chain.Near),getGasPrice:V,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(Y)=>cf(Y),getSignerFromPrivateKey:N5,provider:L,serializeTransaction:Q,signAndSendTransaction:k,signTransaction:I,transfer:z,validateAddress:await mf()}}var t;var H5=E(()=>{OT();L5();Y5();t=require("@tcswap/helpers")});var R2=E(()=>{H5()});var M5={};qy(M5,{tgasToGas:()=>_G,isSimpleTransfer:()=>X5,isCustomEstimator:()=>z5,isContractDeployment:()=>q5,isContractCall:()=>_5,isBatchTransaction:()=>Z5,isAccountCreation:()=>J5,getValidateNearAddress:()=>mf,getNearToolbox:()=>JG,getNearSignerFromPrivateKey:()=>N5,getNearSignerFromPhrase:()=>cf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>B5,gasToTGas:()=>ZG,estimateBatchGas:()=>Q5,createNearContract:()=>W5,GAS_COSTS:()=>Jy});module.exports=Yy(M5);var I5=E(()=>{L5();Y5();H5();R2()});var R5={};qy(R5,{radixValidateAddress:()=>C2,RadixToolbox:()=>YG});module.exports=Yy(R5);function C2(T){return T.startsWith("account_rdx1")&&T.length===66}function qG({networkApi:T}){return async function(N){let y=await zG({address:N,networkApi:T}),f=await QG({networkApi:T,resources:y});if(!f.some((L)=>L.isGasAsset))return[wy.AssetValue.from({chain:wy.Chain.Radix}),...f];return f}}async function zG({address:T,networkApi:x}){let N=!0,y,f=[],G=await BG(x);while(N){let L={address:T,at_ledger_state:{state_version:G},cursor:y,limit_per_page:100},X=await x.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(f=f.concat(X.items),X.next_cursor)y=X.next_cursor;else N=!1}return f}async function QG({resources:T,networkApi:x}){let N=[],y=50,f=[];for(let G=0;G<T.length;G+=50)f.push(T.slice(G,G+50));for(let G of f){let L=G.map((Z)=>Z.resource_address),X=await x.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let q=Z.metadata?.items.find((J)=>J.key==="symbol"),z=q?.value.typed.type==="String"?q.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:z})}for(let Z of G)if(Z.aggregation_level==="Global"){let q=_.get(Z.resource_address)||{decimals:0,symbol:"?"},z=wy.AssetValue.from({asset:q.symbol!==wy.Chain.Radix?`${wy.Chain.Radix}.${q.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(z)}}return N}function BG(T){return T.status.getCurrent().then((x)=>x.ledger_state.state_version)}var wy,YG=async({dappConfig:T}={})=>{let{RadixDappToolkit:x}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:N}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||wy.USwapConfig.get("integrations").radix,f=x({...y,networkId:y.network?.networkId||1}),G=N.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:qG({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new wy.USwapError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:C2}};var C5=E(()=>{wy=require("@tcswap/helpers")});var O5={};qy(O5,{rippleValidateAddress:()=>w5,hashes:()=>O2.hashes,getRippleToolbox:()=>HG});module.exports=Yy(O5);function w2(T){let x=oy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(x.address),signTransaction:(N)=>Promise.resolve(x.sign(N))}}function w5(T){return oy.isValidAddress(T)}var m,oy,O2,WG,HG=async(T={})=>{let x="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?w2(T.phrase):void 0,N=await m.getRPCUrl(m.Chain.Ripple);if(!N)throw new m.USwapError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:m.Chain.Ripple}});let y=new oy.Client(N);await y.connect();let f=()=>{if(!x)throw new m.USwapError({errorKey:"toolbox_ripple_signer_not_found"});return x.getAddress()},G=async(J)=>{let Q=J||await f(),{baseDecimal:B}=m.getChainConfig(m.Chain.Ripple);try{let I=(await y.request({account:Q,command:"account_info"})).result.account_data.Balance;return[m.AssetValue.from({chain:m.Chain.Ripple,fromBaseDecimal:B,value:I})]}catch(M){if(M.data.error_code===WG.ACCOUNT_NOT_FOUND)return[m.AssetValue.from({chain:m.Chain.Ripple,value:0})];throw new m.USwapError("toolbox_ripple_get_balance_error",{info:{address:Q,error:M}})}},L=async()=>{let Q=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:B}=m.getChainConfig(m.Chain.Ripple);return m.AssetValue.from({chain:m.Chain.Ripple,fromBaseDecimal:B,value:m.USwapNumber.fromBigInt(BigInt(Q),B)})},X=async({assetValue:J,recipient:Q,memo:B,sender:M})=>{if(!w5(Q))throw new m.USwapError({errorKey:"core_transaction_invalid_recipient_address"});let I=M||await f();if(!J.isGasAsset||J.chain!==m.Chain.Ripple)throw new m.USwapError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let R={Account:I,Amount:oy.xrpToDrops(J.getValue("string")),Destination:Q,TransactionType:"Payment"};if(B)R.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(R)},_=(J)=>{if(!x)throw new m.USwapError({errorKey:"toolbox_ripple_signer_not_found"});return x.signTransaction(J)},Z=async(J)=>{let B=(await y.submitAndWait(J)).result;if(B.validated)return B.hash;throw new m.USwapError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:m.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:w2,createTransaction:X,disconnect:()=>y.disconnect(),estimateTransactionFee:L,getAddress:f,getBalance:G,signer:x,signTransaction:_,transfer:async(J)=>{if(!x)throw new m.USwapError({errorKey:"toolbox_ripple_signer_not_found"});let Q=await x.getAddress(),B=await X({...J,sender:Q}),M=await _(B);return Z(M.tx_blob)},validateAddress:w5}};var k5=E(()=>{m=require("@tcswap/helpers"),oy=require("xrpl"),O2=require("xrpl"),WG={ACCOUNT_NOT_FOUND:19}});async function MG(T,x,N){try{let y=await T.query.system?.account?.(N);if(!y)return[x.set(0)];let{data:{free:f}}=y,G=yT.USwapNumber.fromBigInt(BigInt(f.toString()),x.decimal).getValue("string");return[x.set(G)]}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Error fetching substrate balance: ${f}`),[x.set(0)]}}async function IG(T,x,N){try{let y=await T.query.flip?.account?.(N);if(!y)return[x.set(0)];let f=y.balance||y.data?.balance;if(!f||f.isEmpty)return[x.set(0)];let G=yT.USwapNumber.fromBigInt(BigInt(f.toString()),x.decimal).getValue("string");return[x.set(G)]}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Error fetching chainflip balance: ${f}`),[x.set(0)]}}function k2(T,x){return function(y){let f=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return IG(x,f,y);default:return MG(x,f,y)}}}var yT;var K2=E(()=>{yT=require("@tcswap/helpers")});var RG,CG,wG,hy;var K5=E(()=>{RG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},CG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},wG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},hy={DOT:RG,FLIP:CG,GENERIC:wG}});function OG(T,x){switch(T){case s.Chain.Chainflip:return D2(x);case s.Chain.Polkadot:return E2(x);default:throw new s.USwapError("toolbox_substrate_not_supported",{chain:T})}}function MT(T){return"address"in T}async function D5(T,x){let{Keyring:N}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new N({ss58Format:x,type:"sr25519"}).addFromUri(T)}function UG(T,x){let N=RT.decodeAddress(T);return RT.encodeAddress(N,x)}function S2(T,x){return IT.isHex(T)?IT.hexToU8a(T):RT.decodeAddress(T,void 0,x)}function P2(T,x="ss58",N){if(x==="hex")return IT.u8aToHex(T);return RT.encodeAddress(T,N)}async function U5({generic:T,chain:x,...N}){let{ApiPromise:y,WsProvider:f}=await import("@polkadot/api"),G=await s.getRPCUrl(x),L=new f(G),X=await y.create({noInitWarn:!0,provider:L}),_=s.AssetValue.from({chain:x}),Z=T?hy.GENERIC:hy[x],q=await aT.match(N).with({phrase:aT.P.string},({phrase:z})=>D5(z,hy[x].prefix)).with({signer:aT.P.any},({signer:z})=>z).otherwise(()=>{return});return U2({api:X,chain:x,gasAsset:_,network:Z,signer:q})}var IT,RT,s,aT,E2=({generic:T=!1,...x}={})=>{return U5({chain:s.Chain.Polkadot,generic:T,...x})},D2=async({generic:T=!1,...x}={})=>{return{...await U5({chain:s.Chain.Chainflip,generic:T,...x})}},S5=(T,x)=>T.rpc.system.accountNextIndex(x),E5=(T,x)=>{try{let N=S2(T,x);return P2(N,"ss58",x),!0}catch{return!1}},P5=(T,{recipient:x,assetValue:N})=>T.tx.balances?.transferAllowDeath?.(x,N.getBaseValue("number")),kG=async(T,x,{recipient:N,assetValue:y,sender:f})=>{let G=P5(T,{assetValue:y,recipient:N});if(!G)throw new s.USwapError("toolbox_substrate_transfer_error");let L=MT(x),X=L?x.address:f;if(!X)throw new s.USwapError("core_transaction_invalid_sender_address");let _=await S5(T,X);return(await G.signAndSend(L?x:X,{nonce:_,signer:L?void 0:x})).toString()},KG=async(T,x,N,{recipient:y,assetValue:f,sender:G})=>{let L=P5(T,{assetValue:f,recipient:y}),X=MT(x)?x.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await S5(T,X)})||{partialFee:0};return N.set(s.USwapNumber.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},EG=async(T,x)=>{if(x)return T.send(x);return(await T.send()).toString()},DG=async(T,x)=>{return await x.signAsync(T)},SG=(T,x,N)=>{if(N)return x.signAndSend(T,N);return x.signAndSend(T).toString()},PG=async({signer:T,address:x,tx:N,callback:y,api:f})=>{let G=await S5(f,x);if(y)N.signAndSend(x,{nonce:G,signer:T},y);return N.signAndSend(x,{nonce:G,signer:T}).toString()},U2=({api:T,network:x,gasAsset:N,signer:y,chain:f})=>({api:T,broadcast:EG,convertAddress:UG,createKeyring:(G)=>D5(G,x.prefix),createTransaction:(G)=>P5(T,G),decodeAddress:S2,encodeAddress:P2,estimateTransactionFee:(G)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");return KG(T,y,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||y;if(!L)throw new s.USwapError("core_wallet_not_keypair_wallet");return MT(L)?L.address:void 0},getBalance:k2(f||s.Chain.Polkadot,T),network:x,sign:(G)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");if(MT(y))return DG(y,G);throw new s.USwapError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:L,address:X})=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");if(MT(y))return SG(y,G,L);if(X)return PG({address:X,api:T,callback:L,signer:y,tx:G});throw new s.USwapError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new s.USwapError("core_wallet_not_keypair_wallet");return kG(T,y,G)},validateAddress:(G)=>E5(G,x.prefix)}),vG=({address:T,chain:x})=>{let{prefix:N}=x===s.Chain.Polkadot?hy.DOT:hy.FLIP;return E5(T,N)||E5(T,hy.GENERIC.prefix)};var v2=E(()=>{K2();K5();IT=require("@polkadot/util"),RT=require("@polkadot/util-crypto"),s=require("@tcswap/helpers"),aT=require("ts-pattern")});var v5={};qy(v5,{substrateValidateAddress:()=>vG,isKeyringPair:()=>MT,getSubstrateToolbox:()=>OG,createSubstrateToolbox:()=>U5,createKeyring:()=>D5,SubstrateNetwork:()=>hy,PolkadotToolbox:()=>E2,ChainflipToolbox:()=>D2,BaseSubstrateToolbox:()=>U2});module.exports=Yy(v5);var l5=E(()=>{v2();K5()});var FG={};qy(FG,{getToolbox:()=>A5,getFeeEstimator:()=>AG,getAddressValidator:()=>lG});module.exports=Yy(FG);var P=require("@tcswap/helpers");async function lG(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:x}=await Promise.resolve().then(() => (X1(),L1)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (q0(),J0)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Df(),Ef)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (V0(),F0)),{getSuiAddressValidator:G}=await Promise.resolve().then(() => (Pf(),Sf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (vf(),Uf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (b0(),u0)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (G5(),x5)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (I5(),M5)),{radixValidateAddress:q}=await Promise.resolve().then(() => (C5(),R5)),{rippleValidateAddress:z}=await Promise.resolve().then(() => (k5(),O5)),{substrateValidateAddress:J}=await Promise.resolve().then(() => (l5(),v5)),Q=await N(),B=await Z(),M=await f(),I=await G(),R=await L(),k=await X(),$=await _();return function({address:u,chain:d}){return T(d).with(...P.EVMChains,()=>x({address:u})).with(...P.UTXOChains,()=>$({address:u,chain:d})).with(P.Chain.Cosmos,P.Chain.Kujira,P.Chain.Noble,P.Chain.Maya,P.Chain.THORChain,(Qy)=>{return y(Qy)(u)}).with(P.Chain.Chainflip,P.Chain.Polkadot,()=>J({address:u,chain:d})).with(P.Chain.Radix,()=>q(u)).with(P.Chain.Near,()=>B(u)).with(P.Chain.Ripple,()=>z(u)).with(P.Chain.Solana,()=>M(u)).with(P.Chain.Sui,()=>I(u)).with(P.Chain.Ton,()=>R(u)).with(P.Chain.Tron,()=>k(u)).with(P.Chain.Cardano,()=>Q(u)).otherwise(()=>!1)}}function AG(T){return async function(N){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...P.EVMChains,async(f)=>{let G=await A5(f),L=await G.createTransaction(N);return G.estimateTransactionFee({...L,chain:f,feeOption:N.feeOptionKey||P.FeeOption.Fast})}).with(P.Chain.Bitcoin,P.Chain.BitcoinCash,P.Chain.Dogecoin,P.Chain.Dash,P.Chain.Litecoin,P.Chain.Polkadot,P.Chain.Solana,P.Chain.Ripple,P.Chain.Tron,P.Chain.Near,P.Chain.Cardano,async(f)=>{return(await A5(f)).estimateTransactionFee(N)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Pf(),Sf));return(await f()).estimateTransactionFee(N)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (vf(),Uf));return(await f()).estimateTransactionFee()}).with(...P.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Df(),Ef));return f(N)}).otherwise(async()=>P.AssetValue.from({chain:T}))}}async function A5(T,x){let{match:N}=await import("ts-pattern");return N(T).returnType().with(...P.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (_0(),x1));return await y(T,x)}).with(...P.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (G5(),x5));return await y(T,x)}).with(...P.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Df(),Ef));return await y(T,x)}).with(...P.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (l5(),v5));return await y(T,x)}).with(P.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (C5(),R5));return await y(x)}).with(P.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (k5(),O5));return await y(x)}).with(P.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (V0(),F0));return await y(x)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Pf(),Sf));return await y(x)}).with(P.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (b0(),u0));return await y(x)}).with(P.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (I5(),M5));return await y(x)}).with(P.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (q0(),J0));return await y(x)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (vf(),Uf));return await y(x)}).otherwise(()=>{throw new P.USwapError("toolbox_not_supported",{chain:T})})}
|
|
3
|
+
|
|
4
|
+
//# debugId=5EE7252C98C9308764756E2164756E21
|
|
5
|
+
//# sourceMappingURL=index.cjs.map
|