@swapkit/toolboxes 4.3.9 → 4.13.1
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/LICENSE +246 -0
- package/dist/src/aptos/index.cjs +1 -0
- package/dist/src/aptos/index.js +1 -0
- package/dist/src/cardano/index.cjs +1 -4
- package/dist/src/cardano/index.js +1 -4
- package/dist/src/cosmos/index.cjs +1 -4
- package/dist/src/cosmos/index.js +1 -4
- package/dist/src/evm/index.cjs +1 -4
- package/dist/src/evm/index.js +1 -4
- package/dist/src/index.cjs +1 -5
- package/dist/src/index.js +1 -5
- package/dist/src/near/index.cjs +1 -4
- package/dist/src/near/index.js +1 -4
- package/dist/src/radix/index.cjs +1 -4
- package/dist/src/radix/index.js +1 -4
- package/dist/src/ripple/index.cjs +1 -4
- package/dist/src/ripple/index.js +1 -4
- package/dist/src/solana/index.cjs +1 -4
- package/dist/src/solana/index.js +1 -4
- package/dist/src/starknet/index.cjs +1 -0
- package/dist/src/starknet/index.js +1 -0
- package/dist/src/stellar/index.cjs +1 -0
- package/dist/src/stellar/index.js +1 -0
- package/dist/src/substrate/index.cjs +1 -4
- package/dist/src/substrate/index.js +1 -4
- package/dist/src/sui/index.cjs +1 -4
- package/dist/src/sui/index.js +1 -4
- package/dist/src/ton/index.cjs +1 -4
- package/dist/src/ton/index.js +1 -4
- package/dist/src/tron/index.cjs +1 -4
- package/dist/src/tron/index.js +1 -4
- package/dist/src/utxo/index.cjs +1 -5
- package/dist/src/utxo/index.js +1 -5
- package/dist/types/aptos/index.d.ts +3 -0
- package/dist/types/aptos/index.d.ts.map +1 -0
- package/dist/types/aptos/toolbox.d.ts +21 -0
- package/dist/types/aptos/toolbox.d.ts.map +1 -0
- package/dist/types/aptos/types.d.ts +27 -0
- package/dist/types/aptos/types.d.ts.map +1 -0
- package/dist/types/cardano/toolbox.d.ts +19 -22
- package/dist/types/cardano/toolbox.d.ts.map +1 -1
- package/dist/types/cardano/types.d.ts +8 -3
- package/dist/types/cardano/types.d.ts.map +1 -1
- package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +1 -1
- package/dist/types/cosmos/thorchainUtils/messages.d.ts +3 -3
- package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +1 -1
- package/dist/types/cosmos/toolbox/cosmos.d.ts +11 -9
- package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
- package/dist/types/cosmos/toolbox/thorchain.d.ts +6 -51
- package/dist/types/cosmos/toolbox/thorchain.d.ts.map +1 -1
- package/dist/types/cosmos/types.d.ts +2 -2
- package/dist/types/cosmos/types.d.ts.map +1 -1
- package/dist/types/evm/helpers.d.ts +34 -1
- package/dist/types/evm/helpers.d.ts.map +1 -1
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +14 -7
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
- package/dist/types/evm/toolbox/evm.d.ts +236 -96
- package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
- package/dist/types/evm/toolbox/index.d.ts +3 -2
- package/dist/types/evm/toolbox/index.d.ts.map +1 -1
- package/dist/types/evm/toolbox/op.d.ts +13 -8
- package/dist/types/evm/toolbox/op.d.ts.map +1 -1
- package/dist/types/evm/types.d.ts +49 -27
- package/dist/types/evm/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +31 -25
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/near/helpers/core.d.ts +1 -1
- package/dist/types/near/helpers/core.d.ts.map +1 -1
- package/dist/types/near/index.d.ts +1 -1
- package/dist/types/near/index.d.ts.map +1 -1
- package/dist/types/near/toolbox.d.ts +13 -10
- package/dist/types/near/toolbox.d.ts.map +1 -1
- package/dist/types/near/types/index.d.ts +4 -0
- package/dist/types/near/types/index.d.ts.map +1 -0
- package/dist/types/near/types/toolbox.d.ts +2 -0
- package/dist/types/near/types/toolbox.d.ts.map +1 -1
- package/dist/types/radix/index.d.ts +7 -7
- package/dist/types/radix/index.d.ts.map +1 -1
- package/dist/types/ripple/currency.d.ts +5 -0
- package/dist/types/ripple/currency.d.ts.map +1 -0
- package/dist/types/ripple/index.d.ts +60 -17
- package/dist/types/ripple/index.d.ts.map +1 -1
- package/dist/types/ripple/tokens.d.ts +15 -0
- package/dist/types/ripple/tokens.d.ts.map +1 -0
- package/dist/types/solana/index.d.ts +1 -1
- package/dist/types/solana/index.d.ts.map +1 -1
- package/dist/types/solana/toolbox.d.ts +12 -10
- package/dist/types/solana/toolbox.d.ts.map +1 -1
- package/dist/types/starknet/index.d.ts +5 -0
- package/dist/types/starknet/index.d.ts.map +1 -0
- package/dist/types/starknet/toolbox.d.ts +34 -0
- package/dist/types/starknet/toolbox.d.ts.map +1 -0
- package/dist/types/starknet/types.d.ts +26 -0
- package/dist/types/starknet/types.d.ts.map +1 -0
- package/dist/types/stellar/index.d.ts +3 -0
- package/dist/types/stellar/index.d.ts.map +1 -0
- package/dist/types/stellar/toolbox.d.ts +21 -0
- package/dist/types/stellar/toolbox.d.ts.map +1 -0
- package/dist/types/stellar/types.d.ts +10 -0
- package/dist/types/stellar/types.d.ts.map +1 -0
- package/dist/types/substrate/balance.d.ts +3 -3
- package/dist/types/substrate/balance.d.ts.map +1 -1
- package/dist/types/substrate/substrate.d.ts +22 -97
- package/dist/types/substrate/substrate.d.ts.map +1 -1
- package/dist/types/substrate/types.d.ts +2 -2
- package/dist/types/substrate/types.d.ts.map +1 -1
- package/dist/types/sui/toolbox.d.ts +17 -8
- package/dist/types/sui/toolbox.d.ts.map +1 -1
- package/dist/types/sui/types.d.ts +11 -3
- package/dist/types/sui/types.d.ts.map +1 -1
- package/dist/types/ton/toolbox.d.ts +23 -13
- package/dist/types/ton/toolbox.d.ts.map +1 -1
- package/dist/types/ton/types.d.ts +9 -8
- package/dist/types/ton/types.d.ts.map +1 -1
- package/dist/types/tron/helpers/proto.d.ts +9 -0
- package/dist/types/tron/helpers/proto.d.ts.map +1 -0
- package/dist/types/tron/helpers/trongrid.d.ts +43 -3
- package/dist/types/tron/helpers/trongrid.d.ts.map +1 -1
- package/dist/types/tron/helpers/utils.d.ts +17 -0
- package/dist/types/tron/helpers/utils.d.ts.map +1 -0
- package/dist/types/tron/index.d.ts +4 -5
- package/dist/types/tron/index.d.ts.map +1 -1
- package/dist/types/tron/toolbox.d.ts +20 -18
- package/dist/types/tron/toolbox.d.ts.map +1 -1
- package/dist/types/tron/types.d.ts +31 -57
- package/dist/types/tron/types.d.ts.map +1 -1
- package/dist/types/types.d.ts +6 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utxo/hdWallet.d.ts +33 -0
- package/dist/types/utxo/hdWallet.d.ts.map +1 -0
- package/dist/types/utxo/helpers/api.d.ts +49 -1
- package/dist/types/utxo/helpers/api.d.ts.map +1 -1
- package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -1
- package/dist/types/utxo/helpers/cashaddr.d.ts +13 -0
- package/dist/types/utxo/helpers/cashaddr.d.ts.map +1 -0
- package/dist/types/utxo/helpers/coinselect.d.ts +9 -5
- package/dist/types/utxo/helpers/coinselect.d.ts.map +1 -1
- package/dist/types/utxo/helpers/txSize.d.ts +4 -3
- package/dist/types/utxo/helpers/txSize.d.ts.map +1 -1
- package/dist/types/utxo/index.d.ts +2 -1
- package/dist/types/utxo/index.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts +75 -15
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/index.d.ts +6 -5
- package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/params.d.ts +8 -16
- package/dist/types/utxo/toolbox/params.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/utxo.d.ts +135 -46
- package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/validators.d.ts +1 -1
- package/dist/types/utxo/toolbox/validators.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/zcash.d.ts +63 -10
- package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
- package/dist/types/utxo/types.d.ts +78 -15
- package/dist/types/utxo/types.d.ts.map +1 -1
- package/package.json +43 -53
- package/dist/src/cardano/index.cjs.map +0 -11
- package/dist/src/cardano/index.js.map +0 -11
- package/dist/src/cosmos/index.cjs.map +0 -20
- package/dist/src/cosmos/index.js.map +0 -20
- package/dist/src/evm/index.cjs.map +0 -20
- package/dist/src/evm/index.js.map +0 -20
- package/dist/src/index.cjs.map +0 -67
- package/dist/src/index.js.map +0 -67
- package/dist/src/near/index.cjs.map +0 -16
- package/dist/src/near/index.js.map +0 -16
- package/dist/src/radix/index.cjs.map +0 -10
- package/dist/src/radix/index.js.map +0 -10
- package/dist/src/ripple/index.cjs.map +0 -10
- package/dist/src/ripple/index.js.map +0 -10
- package/dist/src/solana/index.cjs.map +0 -11
- package/dist/src/solana/index.js.map +0 -11
- package/dist/src/substrate/index.cjs.map +0 -13
- package/dist/src/substrate/index.js.map +0 -13
- package/dist/src/sui/index.cjs.map +0 -11
- package/dist/src/sui/index.js.map +0 -11
- package/dist/src/ton/index.cjs.map +0 -11
- package/dist/src/ton/index.js.map +0 -11
- package/dist/src/tron/index.cjs.map +0 -13
- package/dist/src/tron/index.js.map +0 -13
- package/dist/src/utxo/index.cjs.map +0 -21
- package/dist/src/utxo/index.js.map +0 -21
- package/dist/types/tron/helpers/trc20.abi.d.ts +0 -156
- package/dist/types/tron/helpers/trc20.abi.d.ts.map +0 -1
- package/src/__tests__/address-validation-all-chains.test.ts +0 -162
- package/src/__tests__/addressValidator.test.ts +0 -162
- package/src/cardano/__tests__/toolbox.test.ts +0 -48
- package/src/cardano/index.ts +0 -2
- package/src/cardano/toolbox.ts +0 -168
- package/src/cardano/types.ts +0 -10
- package/src/cosmos/__tests__/toolbox.test.ts +0 -95
- package/src/cosmos/index.ts +0 -4
- package/src/cosmos/thorchainUtils/addressFormat.ts +0 -22
- package/src/cosmos/thorchainUtils/index.ts +0 -4
- package/src/cosmos/thorchainUtils/messages.ts +0 -212
- package/src/cosmos/thorchainUtils/registry.ts +0 -43
- package/src/cosmos/thorchainUtils/types/MsgCompiled.ts +0 -2800
- package/src/cosmos/thorchainUtils/types/client-types.ts +0 -54
- package/src/cosmos/thorchainUtils/types/index.ts +0 -1
- package/src/cosmos/toolbox/cosmos.ts +0 -345
- package/src/cosmos/toolbox/index.ts +0 -35
- package/src/cosmos/toolbox/thorchain.ts +0 -249
- package/src/cosmos/types.ts +0 -48
- package/src/cosmos/util.ts +0 -214
- package/src/evm/__tests__/address-validation.test.ts +0 -84
- package/src/evm/__tests__/ethereum.test.ts +0 -137
- package/src/evm/__tests__/signMessage.test.ts +0 -60
- package/src/evm/api.ts +0 -10
- package/src/evm/contracts/eth/multicall.ts +0 -165
- package/src/evm/contracts/op/gasOracle.ts +0 -145
- package/src/evm/helpers.ts +0 -71
- package/src/evm/index.ts +0 -4
- package/src/evm/toolbox/baseEVMToolbox.ts +0 -698
- package/src/evm/toolbox/evm.ts +0 -66
- package/src/evm/toolbox/index.ts +0 -44
- package/src/evm/toolbox/op.ts +0 -143
- package/src/evm/types.ts +0 -146
- package/src/index.ts +0 -260
- package/src/near/__tests__/core.test.ts +0 -70
- package/src/near/helpers/core.ts +0 -85
- package/src/near/helpers/gasEstimation.ts +0 -96
- package/src/near/helpers/nep141.ts +0 -50
- package/src/near/index.ts +0 -21
- package/src/near/toolbox.ts +0 -421
- package/src/near/types/contract.ts +0 -32
- package/src/near/types/nep141.ts +0 -34
- package/src/near/types/toolbox.ts +0 -55
- package/src/near/types.ts +0 -44
- package/src/radix/index.ts +0 -138
- package/src/ripple/index.ts +0 -179
- package/src/solana/index.ts +0 -36
- package/src/solana/toolbox.ts +0 -409
- package/src/substrate/balance.ts +0 -88
- package/src/substrate/index.ts +0 -2
- package/src/substrate/substrate.ts +0 -281
- package/src/substrate/types.ts +0 -115
- package/src/sui/__tests__/toolbox.test.ts +0 -86
- package/src/sui/index.ts +0 -2
- package/src/sui/toolbox.ts +0 -166
- package/src/sui/types.ts +0 -11
- package/src/ton/__tests__/toolbox.test.ts +0 -67
- package/src/ton/index.ts +0 -2
- package/src/ton/toolbox.ts +0 -136
- package/src/ton/types.ts +0 -13
- package/src/tron/__tests__/toolbox.test.ts +0 -221
- package/src/tron/helpers/trc20.abi.ts +0 -107
- package/src/tron/helpers/trongrid.ts +0 -53
- package/src/tron/index.ts +0 -21
- package/src/tron/toolbox.ts +0 -585
- package/src/tron/types.ts +0 -83
- package/src/types.ts +0 -28
- package/src/utils.ts +0 -34
- package/src/utxo/__tests__/zcash-integration.test.ts +0 -97
- package/src/utxo/helpers/api.ts +0 -471
- package/src/utxo/helpers/bchaddrjs.ts +0 -166
- package/src/utxo/helpers/coinselect.ts +0 -92
- package/src/utxo/helpers/index.ts +0 -4
- package/src/utxo/helpers/txSize.ts +0 -137
- package/src/utxo/index.ts +0 -6
- package/src/utxo/toolbox/bitcoinCash.ts +0 -243
- package/src/utxo/toolbox/index.ts +0 -59
- package/src/utxo/toolbox/params.ts +0 -18
- package/src/utxo/toolbox/utxo.ts +0 -439
- package/src/utxo/toolbox/validators.ts +0 -36
- package/src/utxo/toolbox/zcash.ts +0 -242
- package/src/utxo/types.ts +0 -39
package/dist/src/index.cjs
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
var lx=Object.create;var{getPrototypeOf:Ax,defineProperty:RT,getOwnPropertyNames:F1,getOwnPropertyDescriptor:Fx}=Object,V1=Object.prototype.hasOwnProperty;var W=(T,x,N)=>{N=T!=null?lx(Ax(T)):{};let y=x||!T||!T.__esModule?RT(N,"default",{value:T,enumerable:!0}):N;for(let f of F1(T))if(!V1.call(y,f))RT(y,f,{get:()=>T[f],enumerable:!0});return y},A1=new WeakMap,zy=(T)=>{var x=A1.get(T),N;if(x)return x;if(x=RT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")F1(T).map((y)=>!V1.call(x,y)&&RT(x,y,{get:()=>T[y],enumerable:!(N=Fx(T,y))||N.enumerable}));return A1.set(T,x),x};var qy=(T,x)=>{for(var N in x)RT(T,N,{get:x[N],enumerable:!0,configurable:!0,set:(y)=>x[N]=()=>y})};var k=(T,x)=>()=>(T&&(x=T(T=0)),x);function K1(){function T(){let x=Date.now(),N=rf||x;return rf=N,x>rf?x:N+1}return Vx+T().toString(36)}function TT(T){return async function(N,y=!0){let f=await $1.SwapKitApi.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,$1,Vx,rf=0;var CT=k(()=>{wT=require("@swapkit/helpers"),$1=require("@swapkit/helpers/api"),Vx=typeof process<"u"&&process.pid?process.pid.toString(36):""});function OT(T){return{getBalance:TT(T)}}function $x(T){return T}var ff=k(()=>{CT()});async function cy(T,x){let{JsonRpcProvider:N}=await import("ethers");return new N(x||await g.getRPCUrl(T))}function ET(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function af(T){let{explorerUrl:x,chainIdHex:N,rpcUrls:y}=g.getChainConfig(T);return function(){return T!==g.Chain.Ethereum?{...Kx({chain:T}),blockExplorerUrls:[x],chainId:N,rpcUrls:y}:void 0}}function sf(T){return![g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(T)}function Kx({chain:T}){let{name:x,nativeCurrency:N,baseDecimal:y}=g.getChainConfig(T);return n1.match(T).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:T}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:x,nativeCurrency:{decimals:y,name:N,symbol:N}}))}var g,n1;var fT=k(()=>{g=require("@swapkit/helpers"),n1=require("ts-pattern")});var u1;var b1=k(()=>{u1=[{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:hx({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),approvedAmount:p1({chain:T,provider:x}),broadcastTransaction:x.broadcastTransaction,call:G0({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),createApprovalTx:cx({chain:T,provider:x,signer:N}),createContract:T0({chain:T,provider:x}),createContractTxObject:ty({chain:T,provider:x}),createTransaction:ef({chain:T,provider:x,signer:N}),createTransferTx:ef({chain:T,provider:x,signer:N}),EIP1193SendTransaction:LT(x),estimateCall:m1({provider:x,signer:N}),estimateGasLimit:px({chain:T,provider:x,signer:N}),estimateGasPrices:gy({chain:T,isEIP1559Compatible:y,provider:x}),estimateTransactionFee:tx({chain:T,isEIP1559Compatible:y,provider:x}),getAddress:()=>{return N?N.getAddress():void 0},getBalance:OT(T).getBalance,getNetworkParams:af(T),isApproved:jx({chain:T,provider:x}),sendTransaction:c1({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),signMessage:N?(f)=>N.signMessage(f):void 0,transfer:ox({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.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:x});return N.stateMutability&&nx.includes(N.stateMutability)}function h1(T){return Wy.getAddress(T)}function LT(T){return function({value:N,...y}){if(!NT(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=y;return T.send("eth_sendTransaction",[{..._,value:ET(BigInt(N||0))}])}}function o1(T,x){let N=XT(T,x);if(N)return Wy.getAddress(N.toLowerCase());throw new H.SwapKitError("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=bx.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 ty({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 gy({chain:T,provider:x,isEIP1559Compatible:N=!0}){return j1.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.SwapKitError("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.SwapKitError("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.SwapKitError("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.SwapKitError("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.SwapKitError("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.SwapKitError("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.SwapKitError("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:Q=H.FeeOption.Fast}){let J=G||T;if(!L)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=f0({abi:X,funcName:_});if(B&&NT(J)&&N){let M=ty({chain:y,provider:J}),I=q?.from||await N?.getAddress(),O=await M({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...q,from:I}});return LT(J)(O)}let Y=DT(L,X,J);if(B){if(!N)throw new H.SwapKitError("toolbox_evm_no_signer");let M=q?.from||await N.getAddress();if(!M)throw new H.SwapKitError("toolbox_evm_no_signer_address");let I=Y.connect(N),O=gy({chain:y,isEIP1559Compatible:x,provider:T}),{maxFeePerGas:K,maxPriorityFeePerGas:V,gasPrice:u}=(await O())[Q],i=await Y.getFunction(_).estimateGas(...Z,q),Ly=await I[_](...Z,{...q,gasLimit:i,gasPrice:u,maxFeePerGas:K,maxPriorityFeePerGas:V,nonce:q?.nonce||await J.getTransactionCount(M)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let U=await Y[_]?.(...Z);return typeof U?.hash==="string"?U?.hash:U}}function p1({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 jx({provider:T,chain:x}){return async function({assetAddress:y,spenderAddress:f,from:G,amount:L=kT}){let X=await p1({chain:x,provider:T})({assetAddress:y,from:G,spenderAddress:f});return H.SwapKitNumber.fromBigInt(X).gte(H.SwapKitNumber.fromBigInt(BigInt(L)))}}function hx({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:Q}){let J=[L,BigInt(_||kT)],B=await T?.getAddress()||q,Y={abi:xT.erc20ABI,contractAddress:G,funcName:"approve",funcParams:J,signer:T,txOverrides:{from:B}};if(NT(N)){let M=ty({chain:y,provider:N}),I=LT(N),O=await M(Y);return I(O)}return G0({chain:y,isEIP1559Compatible:x,provider:N,signer:T})({...Y,feeOption:X,funcParams:J,txOverrides:{from:B,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:Q}})}}function ox({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:Q}=await import("ethers"),J=f.getBaseValue("bigint"),B=f.chain,Y=_||await T?.getAddress(),U=c1({chain:B,isEIP1559Compatible:x,provider:N,signer:T});if(!Y)throw new H.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let u={...Z,data:q(Q(G||"")),feeOptionKey:X,from:Y,to:L,value:J};return U(u)}if(!XT(f,B))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:I,maxPriorityFeePerGas:O,gasPrice:K}=(await gy({chain:B,isEIP1559Compatible:x,provider:N})())[X],V=await ef({chain:B,provider:N,signer:T})({assetValue:f,data:q(Q(G||"")),gasPrice:K,maxFeePerGas:I,maxPriorityFeePerGas:O,memo:G,recipient:L,sender:Y});return U(V)}}function m1({provider:T,signer:x}){return function({contractAddress:y,abi:f,funcName:G,funcParams:L=[],txOverrides:X}){if(!y)throw new H.SwapKitError("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 px({provider:T,signer:x}){return async function({assetValue:y,recipient:f,memo:G,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:q}){let Q=y.bigIntValue,J=y.isGasAsset?null:XT(y,y.chain);if(J&&_)return m1({provider:T,signer:x})({abi:xT.erc20ABI,contractAddress:J,funcName:_,funcParams:Z,txOverrides:q});let{hexlify:B,toUtf8Bytes:Y}=await import("ethers");return T.estimateGas({data:L?L:G?B(Y(G)):void 0,from:X,to:f,value:Q})}}function c1({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,...Q}=L;if(!x)throw new H.SwapKitError("toolbox_evm_no_signer");if(!_)throw new H.SwapKitError("toolbox_evm_no_to_address");let J={...Q,data:Z||"0x",from:X,to:_,value:BigInt(q||0)};if(NT(T))return LT(T)(J);let B=X||await x.getAddress(),Y=L.nonce||await T.getTransactionCount(B),U=(await T.getNetwork()).chainId,M=mx(J)||N,I=gy({chain:y,isEIP1559Compatible:N,provider:T}),O=M&&!(J.maxFeePerGas&&J.maxPriorityFeePerGas)||!J.gasPrice?Object.entries((await I())[G]).reduce((V,[u,i])=>({...V,[u]:ET(BigInt(i))}),{}):{},K;try{K=ET(J.gasLimit||await T.estimateGas(J)*11n/10n)}catch(V){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:V})}try{let V={...J,chainId:U,gasLimit:K,nonce:Y,type:M?2:0,...O};try{return(await x.sendTransaction(V)).hash}catch{let u=await x.signTransaction({...V,from:B});return(await T.broadcastTransaction(u)).hash}}catch(V){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:V})}}}function ef({provider:T,signer:x}){return async function({assetValue:y,memo:f,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:q,...Q}){let J=y.getBaseValue("bigint"),B=y.chain,Y=X||await x?.getAddress();if(!Y)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:I,toUtf8Bytes:O}=await import("ethers");return{...Q,data:L||I(O(f||"")),from:Y,to:G,value:J}}let U=XT(y,B);if(!U)throw new H.SwapKitError("toolbox_evm_no_contract_address");return ty({chain:y.chain,provider:T})({abi:xT.erc20ABI,contractAddress:U,funcName:"transfer",funcParams:[G,J],txOverrides:{from:Y,gasPrice:q,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function cx({provider:T,signer:x,chain:N}){return async function({assetAddress:f,spenderAddress:G,amount:L,from:X}){let _=await x?.getAddress()||X,Z=ty({chain:N,provider:T}),q=["bigint","number"].includes(typeof L)?L:L||kT;return await Z({abi:xT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[G,BigInt(q)],txOverrides:{from:_}})}}function tx({provider:T,isEIP1559Compatible:x=!0}){return async function({feeOption:y=H.FeeOption.Fast,chain:f,...G}){let X=await gy({chain:f,isEIP1559Compatible:x,provider:T})(),_=await T.estimateGas(G),Z=H.AssetValue.from({chain:f}),{gasPrice:q,maxFeePerGas:Q,maxPriorityFeePerGas:J}=X[y];if(!x&&q)return Z.set(H.SwapKitNumber.fromBigInt(q*_,Z.decimal));if(Q&&J){let B=(Q+J)*_;return Z.set(H.SwapKitNumber.fromBigInt(B,Z.decimal))}throw new H.SwapKitError("toolbox_evm_no_gas_price")}}var H,xT,Wy,j1,kT,nx,ux,x0,bx,mx=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var xf=k(()=>{ff();fT();H=require("@swapkit/helpers"),xT=require("@swapkit/helpers/contracts"),Wy=require("ethers"),j1=require("ts-pattern"),kT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");nx=["payable","nonpayable"];ux=H.EVMChains.reduce((T,x)=>{return T[x]="0x0000000000000000000000000000000000000000",T},{}),x0={...ux,[H.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[H.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},bx=[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:u1,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 cy(T,G),X=sf(T),_=PT.match(y).with({phrase:PT.P.string},({phrase:q})=>f.fromPhrase(q).connect(L)).with({signer:PT.P.any},({signer:q})=>q).otherwise(()=>{return});return GT({chain:T,isEIP1559Compatible:X,provider:L,signer:_})}}var a,PT,Nf,Lf,Xf,_f,Zf,Jf,t1,qf,Qf,Bf,Yf,zf,Wf,ST,Hf,Uf,Mf,If;var N0=k(()=>{b1();fT();xf();a=require("@swapkit/helpers"),PT=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),t1=Gy(a.Chain.Botanix),qf=Gy(a.Chain.Core),Qf=Gy(a.Chain.Corn),Bf=Gy(a.Chain.Cronos),Yf=Gy(a.Chain.Gnosis),zf=Gy(a.Chain.Hyperevm),Wf=Gy(a.Chain.Polygon),ST=Gy(a.Chain.Sonic),Hf=Gy(a.Chain.Unichain),Uf=Gy(a.Chain.XLayer),Mf=Gy(a.Chain.Monad),If=Gy(a.Chain.MegaETH)});var g1;var d1=k(()=>{g1=[{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 Rf.Contract(dx,g1,T)}function i1(T){return async function(){let N=L0(T);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function r1(T){return async function({from:N,to:y,nonce:f,...G}){let{Transaction:L}=await import("ethers");if(!y)throw new d.SwapKitError("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 a1(T){return async function(N){let y=L0(T),f=await r1(T)(N);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function s1(T){return async function(N){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(N);return y.mul(f)}}function ix(T){return async function(N){let y=await a1(T)(N),f=await s1(T)(N);return y.add(f)}}function rx(T){return async function(N){let y=L0(T),f=await r1(T)(N);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}async function ax(T){try{let{maxFeePerGas:x,maxPriorityFeePerGas:N,gasPrice:y}=await T.getFeeData(),f=await i1(T)(),G=y;if(!(x&&N))throw new d.SwapKitError("toolbox_evm_no_fee_data");return{[d.FeeOption.Average]:{gasPrice:G,l1GasPrice:f,maxFeePerGas:x,maxPriorityFeePerGas:N},[d.FeeOption.Fast]:{gasPrice:d.applyFeeMultiplierToBigInt(G,d.FeeOption.Fast),l1GasPrice:d.applyFeeMultiplierToBigInt(f||0n,d.FeeOption.Fast),maxFeePerGas:x,maxPriorityFeePerGas:d.applyFeeMultiplierToBigInt(N,d.FeeOption.Fast)},[d.FeeOption.Fastest]:{gasPrice:d.applyFeeMultiplierToBigInt(G,d.FeeOption.Fastest),l1GasPrice:d.applyFeeMultiplierToBigInt(f||0n,d.FeeOption.Fastest),maxFeePerGas:x,maxPriorityFeePerGas:d.applyFeeMultiplierToBigInt(N,d.FeeOption.Fastest)}}}catch(x){throw new d.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}async function wf({provider:T,...x}){let N=d.Chain.Optimism,y=await d.getRPCUrl(N),f=T||await cy(N,y),G=vT.match(x).with({phrase:vT.P.string},({phrase:_})=>Rf.HDNodeWallet.fromPhrase(_).connect(f)).with({signer:vT.P.any},({signer:_})=>_).otherwise(()=>{return}),L=GT({provider:f,signer:G}),X=i1(f);return{...L,estimateGasPrices:ax(f),estimateL1Gas:rx(f),estimateL1GasCost:a1(f),estimateL2GasCost:s1(f),estimateTotalGasCost:ix(f),getBalance:OT(d.Chain.Optimism).getBalance,getL1GasPrice:X}}var d,Rf,vT,dx="0x420000000000000000000000000000000000000f";var X0=k(()=>{ff();d1();fT();xf();d=require("@swapkit/helpers"),Rf=require("ethers"),vT=require("ts-pattern")});var T5={};qy(T5,{toChecksumAddress:()=>h1,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getEvmToolbox:()=>y5,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>ty,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>o1,evmValidateAddress:()=>y0,createContract:()=>DT,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>ST,OPToolbox:()=>wf,MONADToolbox:()=>Mf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>kT,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>zf,GNOToolbox:()=>Yf,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Bf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>t1,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});async function y5(T,x){let N={...x,provider:x?.provider||await cy(T)};return e1.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,()=>ST(N)).with(e.Chain.Core,()=>qf(N)).with(e.Chain.Corn,()=>Qf(N)).with(e.Chain.Cronos,()=>Bf(N)).with(e.Chain.Ethereum,()=>Gf(N)).with(e.Chain.Gnosis,()=>Yf(N)).with(e.Chain.Hyperevm,()=>zf(N)).with(e.Chain.Optimism,()=>wf(N)).with(e.Chain.Polygon,()=>Wf(N)).with(e.Chain.Sonic,()=>ST(N)).with(e.Chain.Unichain,()=>Hf(N)).with(e.Chain.XLayer,()=>Uf(N)).with(e.Chain.Monad,()=>Mf(N)).with(e.Chain.MegaETH,()=>If(N)).exhaustive()}var e,e1;var _0=k(()=>{fT();N0();X0();e=require("@swapkit/helpers"),e1=require("ts-pattern");xf();N0();X0()});var f5;var x5=k(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(f5||={})});var G5={};qy(G5,{toHexString:()=>ET,toChecksumAddress:()=>h1,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getProvider:()=>cy,getNetworkParams:()=>af,getIsEIP1559Compatible:()=>sf,getEvmToolbox:()=>y5,getEvmApi:()=>OT,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>ty,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>o1,evmValidateAddress:()=>y0,createCustomEvmApi:()=>$x,createContract:()=>DT,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>ST,OPToolbox:()=>wf,MONADToolbox:()=>Mf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>kT,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>zf,GNOToolbox:()=>Yf,EthNetwork:()=>f5,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Bf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>t1,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});module.exports=zy(G5);var N5=k(()=>{ff();fT();_0();x5()});async function Z0(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),x="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function ex(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===sx){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 L5(){let{deserializeAddress:T}=await import("@meshsdk/core");return(x)=>{try{return T(x),!0}catch{return!1}}}async function y2(T){let x=await L5(),N=await lT.match(T).with({phrase:lT.P.string},async({phrase:q})=>{let{MeshWallet:Q}=await import("@meshsdk/core"),J=await Z0(),B=new Q({fetcher:J,key:{type:"mnemonic",words:q.split(" ")},networkId:1,submitter:J});return await B.init(),B}).with({signer:lT.P.any},({signer:q})=>q).otherwise(()=>{return}),y=N&&"getChangeAddress"in N?await N.getChangeAddress():"";function f(){return y||""}function G(q){let Q=q||f();if(!Q)throw new yy.SwapKitError("core_wallet_connection_not_found");return ex(Q)}function L(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Cardano,value:"0.01"}))}async function X({recipient:q,assetValue:Q,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");let{Transaction:B}=await import("@meshsdk/core"),[,Y]=Q.symbol.split("-");if(!Q.isGasAsset&&!Y)throw new yy.SwapKitError("core_wallet_connection_not_found");let U=new B({initiator:N});if(U.sendAssets({address:q},[{quantity:Q.getBaseValue("string"),unit:Q.isGasAsset?"lovelace":Q.symbol}]),J)U.setMetadata(0,J);let M=await U.build();return{tx:U,unsignedTx:M}}function _(q){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");return N.signTx(q)}async function Z({recipient:q,assetValue:Q,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:B}=await X({assetValue:Q,memo:J,recipient:q}),Y=await _(B);return await(await Z0()).submitTx(Y)}return{createTransaction:X,estimateTransactionFee:L,getAddress:f,getBalance:G,signTransaction:_,transfer:Z,validateAddress:x}}var yy,lT,sx="lovelace";var X5=k(()=>{yy=require("@swapkit/helpers"),lT=require("ts-pattern")});var J0={};qy(J0,{getCardanoToolbox:()=>y2,getCardanoAddressValidator:()=>L5});module.exports=zy(J0);var q0=k(()=>{X5()});function AT(T){return Ay.base64.encode(Uint8Array.from(Ay.bech32.fromWords(Ay.bech32.decode(T).words)))}function FT(T,x="thor"){return Ay.bech32.encode(x,Ay.bech32.toWords(Ay.base64.decode(T)))}function T2(T){return Cf.fromByteArray(T)}function f2(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new _5.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Cf.toByteArray(T)}var Ay,_5,Cf;var Q0=k(()=>{Ay=require("@scure/base"),_5=require("@swapkit/helpers"),Cf=require("base64-js")});function Sy(T){switch(T){case D.Chain.Maya:return{amount:[],gas:"10000000000"};case D.Chain.THORChain:return{amount:[],gas:"500000000"};case D.Chain.Kujira:return q5;case D.Chain.Noble:return Q5;default:return J5}}async function vy(T){let x=await import("@cosmjs/stargate"),N=x.StargateClient??x.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.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 Y0(T,x){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(T,x)}async function z0({sender:T,recipient:x,assetValue:N,memo:y="",feeRate:f,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await D.getRPCUrl(X),Q=await(await vy(Z)).getAccount(T);if(!Q)throw new D.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let J=D.AssetValue.from({chain:X}),B=Py(J.symbol),Y=Sy(X),U=B&&f?{amount:[{amount:f.toString(),denom:B}],gas:Y.gas}:Y,M={amount:[{amount:N.getBaseValue("string"),denom:Py(N.symbol)}],fromAddress:T,toAddress:x};return{accountNumber:L??Q.accountNumber,chainId:_,fee:U,memo:y,msgs:[{typeUrl:x2(X),value:M}],sequence:G??Q.sequence}}var D,B0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Z5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",J5,q5,Q5,Py=(T,x=!1)=>{if(x)return T.toLowerCase();switch(T){case"uUSK":case"USK":return B0;case"uYUM":case"YUM":return Z5;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 Py(T,!1)},x2=(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.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},G2,W0=(T,x)=>{let N=G2[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 VT=k(()=>{D=require("@swapkit/helpers"),J5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},q5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Q5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};G2={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},[B0.toLowerCase()]:{asset:`${D.Chain.Kujira}.USK`,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal}}});var B5={};qy(B5,{$root:()=>w});var _y,F,Uy,E,w;var Y5=k(()=>{_y=W(require("protobufjs/minimal.js")),F=_y.default.Reader,Uy=_y.default.Writer,E=_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=Uy.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 F))y=F.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 F))y=new F(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(!E.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!E.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!E.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=E.Long?E.Long.fromBits(0,0,!1):0,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.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 F))y=F.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 F))y=new F(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(!E.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!E.isInteger(y.decimals)&&!(y.decimals&&E.isInteger(y.decimals.low)&&E.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(E.Long)(f.decimals=E.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 E.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="",E.Long){let L=new E.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?E.Long.prototype.toString.call(y.decimals):f.longs===Number?new E.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=Uy.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 F))y=F.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 F))y=new F(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(!E.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!E.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=E.emptyArray,x.prototype.gas=E.emptyArray,x.prototype.memo="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.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 F))y=F.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 F))y=new F(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(!E.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!E.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!E.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!E.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(!E.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=E.emptyArray,x.prototype.poolDeduct="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.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 F))y=F.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 F))y=new F(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(!E.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=Uy.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 F))y=F.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 F))y=new F(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(!E.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=E.emptyArray,x.prototype.memo="",x.prototype.signer=E.newBuffer([]),x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.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 F))y=F.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 F))y=new F(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(!E.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||E.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")E.base64.decode(y.signer,f.signer=E.newBuffer(E.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=E.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?E.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=E.newBuffer([]),x.prototype.toAddress=E.newBuffer([]),x.prototype.amount=E.emptyArray,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.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 F))y=F.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 F))y=new F(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"||E.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||E.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")E.base64.decode(y.fromAddress,f.fromAddress=E.newBuffer(E.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")E.base64.decode(y.toAddress,f.toAddress=E.newBuffer(E.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=E.newBuffer(G.fromAddress);if(f.bytes===String)G.toAddress="";else if(G.toAddress=[],f.bytes!==Array)G.toAddress=E.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=f.bytes===String?E.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?E.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=Uy.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 F))G=F.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 F))G=new F(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(!E.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!E.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=Uy.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 F))G=F.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 F))G=new F(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(!E.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!E.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=Uy.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 F))G=F.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 F))G=new F(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(!E.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=Uy.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 F))G=F.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 F))G=new F(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(!E.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 dy(){let{$root:T}=await Promise.resolve().then(() => (Y5(),B5)),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 Fy(T){let x=await import("@cosmjs/stargate"),N=x.AminoTypes??x.default?.AminoTypes,y=T===z5.Chain.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:f,...G})=>({...G,signer:AT(f)}),toAmino:({signer:f,...G})=>({...G,signer:FT(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:G,...L})=>({...L,fromAddress:AT(f),toAddress:AT(G)}),toAmino:({fromAddress:f,toAddress:G,...L})=>({...L,from_address:FT(f),to_address:FT(G)})}})}var z5;var H0=k(()=>{Q0();z5=require("@swapkit/helpers")});function I0(T){return function(N){let{assetValue:y,recipient:f,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(f)return H5(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,recipient:f,sender:L});return U5(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,sender:L})}}function $y(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=My.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 $T({chain:T,memo:x,msgs:N}){let y=await dy(),f=await Fy(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:x,messages:N.map((L)=>f.fromAmino(L))}};return y.encode(G)}var My,N2,L2,U0=({sender:T,recipient:x,assetValue:N})=>{return{type:`${N.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:Py(N.symbol,!0)}],from_address:T,to_address:x}}},M0=({sender:T,assetValue:x,memo:N=""})=>{return{type:`${x.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:x.getBaseValue("string"),asset:_T(x)}],memo:N,signer:T}}},Of=({sender:T,recipient:x,assetValue:N,memo:y})=>{return!x?M0({assetValue:N,memo:y,sender:T}):U0({assetValue:N,recipient:x,sender:T})},Vy=async(T,x)=>{return(await Fy(x)).fromAmino(T)},W5=async({rpcUrl:T,sender:x})=>{let y=await(await vy(T)).getAccount(x);if(!y)throw new My.SwapKitError("toolbox_cosmos_account_not_found",{sender:x});return y},H5=(T)=>async({sender:x,recipient:N,assetValue:y,memo:f="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await W5({rpcUrl:T,sender:x}),q=y.chain,{chainId:Q}=My.getChainConfig(q),J=U0({assetValue:y,recipient:N,sender:x}),B=G?await Vy(L?J:$y(J),q):J;return{accountNumber:_||Z.accountNumber,chainId:Q,fee:Sy(q),memo:f,msgs:[B],sequence:X||Z.sequence}},U5=(T)=>async({sender:x,assetValue:N,memo:y="",asSignable:f=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await W5({rpcUrl:T,sender:x}),Z=N.chain,{chainId:q}=My.getChainConfig(Z),Q=M0({assetValue:N,memo:y,sender:x}),J=f?await Vy(G?Q:$y(Q),Z):Q;return{accountNumber:X||_.accountNumber,chainId:q,fee:Sy(Z),memo:y,msgs:[J],sequence:L||_.sequence}};var M5=k(()=>{VT();H0();My=require("@swapkit/helpers"),N2=Sy(My.Chain.THORChain).gas,L2=Sy(My.Chain.Maya).gas});var I5=()=>{};var R5=k(()=>{I5()});var R0=k(()=>{Q0();M5();H0();R5()});async function k0(T,x){try{let y=(await E0.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}async function O0({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:`${v.DerivationPath[N.chain]}/${N.index}`;return f.fromMnemonic(T,{hdPaths:[L(X)],prefix:x})}async function X2({privateKey:T,prefix:x}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,x)}function O5(T){return async function({signature:N,message:y,address:f}){let G=await T(f);if(!G?.pubkey)throw new v.SwapKitError("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(Ky.base64.decode(N));return _.verifySignature(Z,Ky.base64.decode(y),G.pubkey.value)}}async function nT({chain:T,...x}){let N=await v.getRPCUrl(T),y=v.CosmosChainPrefixes[T],f="index"in x?x.index||0:0,G=v.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:f})),L=await KT.match(x).with({phrase:KT.P.string},({phrase:J})=>O0({derivationPath:G,phrase:J,prefix:y})).with({signer:KT.P.any},({signer:J})=>J).otherwise(()=>{return});async function X(J){return(await vy(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 v.SwapKitError("toolbox_cosmos_signer_not_defined");return Ky.base64.encode(J?.pubkey)}async function q({recipient:J,assetValue:B,memo:Y="",feeRate:U,feeOptionKey:M=v.FeeOption.Fast}){let I=await _();if(!(L&&I))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let O=v.AssetValue.from({chain:T}),K=_T(O),V=U||w5((await C0(T,w0[T]))[M],K),u=await ZT(N,L),i=Py(B.symbol),Ly=B.getBaseValue("string"),{TxRaw:By}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),A={amount:[{amount:Ly,denom:i}],fromAddress:I,toAddress:J},$=await u.sign(I,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:A}],V,Y),z=By.encode($).finish();return Buffer.from(z).toString("hex")}async function Q({recipient:J,assetValue:B,memo:Y="",feeRate:U,feeOptionKey:M=v.FeeOption.Fast,dryRun:I=!1}){if(I)return q({assetValue:B,feeOptionKey:M,feeRate:U,memo:Y,recipient:J});let O=await _();if(!(L&&O))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let K=v.AssetValue.from({chain:T}),V=_T(K),u=U||w5((await C0(T,w0[T]))[M],V),i=await ZT(N,L),Ly=Py(B.symbol),By=[{amount:B.getBaseValue("string"),denom:Ly}],{transactionHash:A}=await i.sendTokens(O,J,By,u,Y);return A}return{createPrivateKeyFromPhrase:q2(G),createTransaction:z0,fetchFeeRateFromSwapKit:k0,getAccount:X,getAddress:_,getBalance:async(J,B)=>{let Y=await C5(N)(J),U=await Promise.all(Y.filter(({denom:M})=>M&&!M.includes("IBC/")).map(({denom:M,amount:I})=>{let O=[v.Chain.THORChain,v.Chain.Maya].includes(T)&&(M.includes("/")||M.includes("˜"))?`${T}.${M}`:M;return W0(O,I)}));if(U.length===0)return[v.AssetValue.from({chain:T})];return U},getBalanceAsDenoms:C5(N),getFees:()=>C0(T,w0[T]),getPubKey:Z,getSignerFromPhrase:async({phrase:J,derivationPath:B})=>O0({derivationPath:v.derivationPathToString(B),index:f,phrase:J,prefix:y}),getSignerFromPrivateKey:async(J)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(J,y)},signTransaction:q,transfer:Q,validateAddress:E5(T),verifySignature:O5(X)}}async function _2(T,x){try{let y=(await E0.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}function Z2({assetValue:{chain:T}}){return v.AssetValue.from({chain:T,value:J2(T)})}async function C0(T,x){let{chainId:N,baseDecimal:y}=v.getChainConfig(T),f=await k0(N,x);return{average:v.SwapKitNumber.fromBigInt(BigInt(f),y),fast:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(f,v.FeeOption.Fast,!0)),y),fastest:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(f,v.FeeOption.Fastest,!0)),y)}}function w5(T,x){return{amount:[{amount:T.getBaseValue("string"),denom:x}],gas:"200000"}}function J2(T){return{[v.Chain.Cosmos]:0.007,[v.Chain.Kujira]:0.02,[v.Chain.Noble]:0.01,[v.Chain.THORChain]:0.02,[v.Chain.Maya]:0.02,[v.Chain.Harbor]:0.02}[T]||0}function E5(T){let x=v.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(x))return!1;try{let{prefix:f,words:G}=Ky.bech32.decode(y);return Ky.bech32.encode(f,G)===y.toLocaleLowerCase()}catch{return!1}}}function C5(T){return async function(N){return(await(await vy(T)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function q2(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:Q}=L.derivePath(G.Secp256k1,q,f(T));return Q}}var Ky,v,E0,KT,w0;var Ef=k(()=>{VT();Ky=require("@scure/base"),v=require("@swapkit/helpers"),E0=require("@swapkit/helpers/api"),KT=require("ts-pattern");w0={[v.Chain.Cosmos]:1000,[v.Chain.Kujira]:1000,[v.Chain.Noble]:1000,[v.Chain.THORChain]:5000000,[v.Chain.Maya]:5000000,[v.Chain.Harbor]:5000000}});function Q2({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 B2(T){return ny.base64.encode(T)}function Y2(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||"",Q=await Fy(T),J=await dy(),B=await Y0(N,{aminoTypes:Q,registry:J}),Y=[];for(let I of f){let O=await Vy(I,T);Y.push(O)}let{signatures:[U]}=await B.sign(q,Y,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await $T({chain:T,memo:Z,msgs:f.map($y)}),signature:B2(U)}}}function z2({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:Q,fee:J}=JSON.parse(y),B=await k5(G,L),Y=f.map((I)=>[Z(_(ny.base64.decode(I.pubKey)),T),ny.base64.decode(I.signature)]),U=await vy(x),{transactionHash:M}=await U.broadcastTx(q(B,Q,J,X,new Map(Y)));return M}}async function k5(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 W2(T){return ny.base64.decode(T)}async function H2({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 t.getRPCUrl(T),{nodeUrl:y}=t.getChainConfig(T),{isStagenet:f}=t.SKConfig.get("envs"),G=T===t.Chain.THORChain,L=`${f?"s":""}${t.CosmosChainPrefixes[T]}`,X="index"in x?x.index||0:0,_="derivationPath"in x&&x.derivationPath?x.derivationPath:t.updateDerivationPath(t.NetworkDerivationPath[T],{index:X}),Z=await nT({chain:T,...x}),q=await uT.match(x).with({phrase:uT.P.string},({phrase:Y})=>Z.getSignerFromPhrase({derivationPath:_,phrase:Y})).with({signer:uT.P.any},({signer:Y})=>Y).otherwise(()=>{return}),Q=Sy(T);async function J(){let Y,U=`${y}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await t.RequestClient.get(U);if(!M||Number.isNaN(M)||M<0)throw new t.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});Y=new t.SwapKitNumber(M)}catch{Y=new t.SwapKitNumber({decimal:t.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[t.FeeOption.Average]:Y,[t.FeeOption.Fast]:Y,[t.FeeOption.Fastest]:Y}}async function B({assetValue:Y,memo:U="",recipient:M}){let{TxRaw:I}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),O=(await q?.getAccounts())?.[0]?.address;if(!(O&&q))throw new t.SwapKitError("toolbox_cosmos_no_signer");let K="signAmino"in q,V=await dy(),u=await Fy(T),i=await ZT(N,q,{aminoTypes:u,registry:V}),Ly=Of({assetValue:Y,memo:U,recipient:M,sender:O});if(K){let z=await Vy(Ly,T),{signatures:R,authInfoBytes:C}=await i.sign(O,[z],Q,U),n=I.encode({authInfoBytes:C,bodyBytes:await $T({chain:T,memo:U,msgs:[Ly].map($y)}),signatures:R}).finish();return(await i.broadcastTx(n)).transactionHash}let By=$y(Ly),A=await Vy(By,T);return(await i.signAndBroadcast(O,[A],Q,U)).transactionHash}return{...Z,broadcastMultisigTx:z2({prefix:L,rpcUrl:N}),buildAminoMsg:Of,buildEncodedTxBody:$T,convertToSignable:Vy,createDefaultAminoTypes:()=>Fy(T),createDefaultRegistry:dy,createMultisig:k5,createTransaction:I0(N),deposit:B,getFees:J,importSignature:W2,parseAminoMessageForDirectSigning:$y,pubkeyToAddress:async(Y)=>{let{pubkeyToAddress:U}=(await import("@cosmjs/amino")).default;return U(Y,L)},secp256k1HdWalletFromMnemonic:Q2({derivationPath:t.derivationPathToString(_),prefix:L}),signMultisigTx:Y2(T),signWithPrivateKey:H2,transfer:B}}var ny,t,uT;var P0=k(()=>{R0();VT();Ef();ny=require("@scure/base"),t=require("@swapkit/helpers"),uT=require("ts-pattern")});var uy,U2=(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.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var D5=k(()=>{Ef();P0();uy=require("@swapkit/helpers");Ef();P0()});var kf={};qy(kf,{verifySignature:()=>O5,transferMsgAmino:()=>U0,toBase64:()=>T2,parseAminoMessageForDirectSigning:()=>$y,getSignerFromPrivateKey:()=>X2,getSignerFromPhrase:()=>O0,getMsgSendDenom:()=>Py,getFeeRateFromSwapKit:()=>_2,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Sy,getCreateTransaction:()=>I0,getCosmosValidateAddress:()=>E5,getCosmosToolbox:()=>U2,getAssetFromDenom:()=>W0,fromBase64:()=>f2,fetchFeeRateFromSwapKit:()=>k0,estimateTransactionFee:()=>Z2,depositMsgAmino:()=>M0,createThorchainToolbox:()=>D0,createStargateClient:()=>vy,createSigningStargateClient:()=>ZT,createOfflineStargateClient:()=>Y0,createDefaultRegistry:()=>dy,createDefaultAminoTypes:()=>Fy,createCosmosToolbox:()=>nT,cosmosCreateTransaction:()=>z0,convertToSignable:()=>Vy,buildTransferTx:()=>H5,buildEncodedTxBody:()=>$T,buildDepositTx:()=>U5,buildAminoMsg:()=>Of,bech32ToBase64:()=>AT,base64ToBech32:()=>FT,YUM_KUJIRA_FACTORY_DENOM:()=>Z5,USK_KUJIRA_FACTORY_DENOM:()=>B0,THORCHAIN_GAS_VALUE:()=>N2,MAYA_GAS_VALUE:()=>L2,DEFAULT_NOBLE_FEE_MAINNET:()=>Q5,DEFAULT_KUJI_FEE_MAINNET:()=>q5,DEFAULT_COSMOS_FEE_MAINNET:()=>J5});module.exports=zy(kf);var Df=k(()=>{R0();D5();VT()});async function S5(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 M2(T){let x=await iy(),{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,Q=q.mint,J=q.tokenAmount.amount;if(Number(J)===0)continue;let B=await S5(Q),Y=B?.symbol||"UNKNOWN",U=B?.decimals||q.tokenAmount.decimals;X.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${Y}-${Q}`,fromBaseDecimal:U,value:J}))}return X}async function l0(){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 I2(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})=>v0({derivationPath:N,phrase:L})).with({signer:bT.P.any},({signer:L})=>L).otherwise(()=>{return});function f(){return y?.publicKey?P5(y.publicKey):""}function G(L){let X=L||f();if(!X)throw new j.SwapKitError("core_wallet_connection_not_found");return M2(X)}return{broadcastTransaction:S0(iy),createKeysForPath:v0,createTransaction:A0(iy),createTransactionFromInstructions:O2,estimateTransactionFee:R2(iy),getAddress:f,getAddressFromPubKey:P5,getAddressValidator:l0,getBalance:G,getConnection:iy,getPubkeyFromAddress:F0,signTransaction:k2(iy,y),transfer:E2(iy,y)}}function R2(T){return async({recipient:x,assetValue:N,memo:y,isProgramDerivedAddress:f,sender:G})=>{let L=await T(),_=(await A0(T)({assetValue:N,isProgramDerivedAddress:f,memo:y,recipient:x,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new j.SwapKitError("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 iy(){let{Connection:T}=await import("@solana/web3.js"),x=await j.getRPCUrl(j.Chain.Solana);return new T(x,"confirmed")}function w2(T){return async({assetValue:x,recipient:N,sender:y,isProgramDerivedAddress:f})=>{let G=await T(),L=await F0(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 C2({amount:x.getBaseValue("number"),connection:G,decimals:x.decimal,from:L,isProgramDerivedAddress:f,recipient:N,tokenAddress:x.address});return}}async function C2({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:Q,PublicKey:J}=await import("@solana/web3.js"),B=new Q,Y=new J(T),U=await X(Y,N),M=new J(x),I=await X(Y,M,L),O=!1;try{await _(y,I),O=!0}catch{}if(!O)B.add(Z(N,I,M,Y));return B.add(q(U,Y,I,N,f,G)),B}function A0(T){return async({recipient:x,assetValue:N,memo:y,isProgramDerivedAddress:f,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await F0(G),_=await l0();if(!(f||_(x)))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let Z=await T(),q=await w2(T)({assetValue:N,isProgramDerivedAddress:f,recipient:x,sender:G});if(!q)throw new j.SwapKitError("core_transaction_invalid_sender_address");if(y)q.add(L(y));let Q=await Z.getLatestBlockhash();return q.recentBlockhash=Q.blockhash,q.feePayer=X,q}}async function O2({instructions:T}){let{Transaction:x}=await import("@solana/web3.js"),N=new x().add(...T);if(!N)throw new j.SwapKitError("core_transaction_invalid_sender_address");return N}function E2(T,x){return async({recipient:N,assetValue:y,memo:f,isProgramDerivedAddress:G})=>{if(!x)throw new j.SwapKitError("core_transaction_invalid_sender_address");let L=x.publicKey?.toString()??(await x.connect()).publicKey.toString(),X=await A0(T)({assetValue:y,isProgramDerivedAddress:G,memo:f,recipient:N,sender:L});if("signTransaction"in x){let _=await x.signTransaction(X);return S0(T)(_)}return X.sign(x),S0(T)(X)}}function S0(T){return async(x)=>{return(await T()).sendRawTransaction(x.serialize())}}function k2(T,x){return async(N)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!x)throw new j.SwapKitError("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 v0({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 P5(T){return T.toString()}async function F0(T){let{PublicKey:x}=await import("@solana/web3.js");return new x(T)}var j,bT;var v5=k(()=>{j=require("@swapkit/helpers"),bT=require("ts-pattern")});var V0={};qy(V0,{getSolanaToolbox:()=>I2,getSolanaAddressValidator:()=>l0,fetchTokenMetaData:()=>S5,createKeysForPath:()=>v0});module.exports=zy(V0);var $0=k(()=>{v5()});async function l5(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(N){try{return T(N)}catch{return!1}}}async function D2({provider:T,...x}={}){let N=await l5(),y=await jT.match(x).with({phrase:jT.P.string},async({phrase:Q})=>{let{Ed25519Keypair:J}=await import("@mysten/sui/keypairs/ed25519");return J.deriveKeypair(Q)}).with({signer:jT.P.any},({signer:Q})=>Q).otherwise(()=>{return});async function f(Q=T){let{SuiClient:J,getFullnodeUrl:B}=await import("@mysten/sui/client");return new J({url:Q||B("mainnet")})}function G(){return y?.toSuiAddress()||""}async function L(Q){let J=Q||G();if(!J)throw new fy.SwapKitError("toolbox_sui_address_required");let{baseDecimal:B,chain:Y}=fy.getChainConfig(fy.Chain.Sui);try{let U=await f(),{totalBalance:M}=await U.getBalance({owner:J}),I=[fy.AssetValue.from({chain:Y,fromBaseDecimal:B,value:M})],O=await U.getAllBalances({owner:J});for(let{coinType:K,totalBalance:V}of O){if(K==="0x2::sui::SUI")continue;if(Number(V)>0){let u=K.split("::").pop()?.toUpperCase()||"UNKNOWN",i=`${Y}.${u}-${K}`;I.push(fy.AssetValue.from({asset:i,fromBaseDecimal:B,value:V}))}}return I}catch{return[fy.AssetValue.from({chain:Y})]}}async function X(Q){let J=fy.AssetValue.from({chain:fy.Chain.Sui,value:"0.01"});if(!Q)return J;try{let B=await f(),{txBytes:Y}=await _(Q),{effects:{status:U,gasUsed:M}}=await B.dryRunTransactionBlock({transactionBlock:Y});if(U.status!=="success")return J;let I=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return fy.AssetValue.from({chain:fy.Chain.Sui,value:I.toString()})}catch{return J}}async function _({recipient:Q,assetValue:J,gasBudget:B,sender:Y}){let{Transaction:U}=await import("@mysten/sui/transactions"),M=Y||G();if(!M)throw new fy.SwapKitError("toolbox_sui_no_sender");try{let I=new U;if(I.setSender(M),J.isGasAsset||J.symbol==="SUI"){let[V]=I.splitCoins(I.gas,[J.getBaseValue("string")]);I.transferObjects([V],Q)}else throw new fy.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(B)I.setGasBudget(B);let O=await f(),K=await I.build({client:O});return{tx:I,txBytes:K}}catch(I){throw new fy.SwapKitError("toolbox_sui_transaction_creation_error",{error:I})}}async function Z(Q){if(!y)throw new fy.SwapKitError("toolbox_sui_no_signer");if(Q instanceof Uint8Array)return y.signTransaction(Q);let{txBytes:J}="tx"in Q?Q:await _(Q);return y.signTransaction(J)}async function q({assetValue:Q,gasBudget:J,recipient:B}){if(!y)throw new fy.SwapKitError("toolbox_sui_no_signer");let Y=y.toSuiAddress()||G();if(!Y)throw new fy.SwapKitError("toolbox_sui_no_sender");let{txBytes:U}=await _({assetValue:Q,gasBudget:J,recipient:B,sender:Y}),M=await f(),{digest:I}=await M.signAndExecuteTransaction({signer:y,transaction:U});return I}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:q,validateAddress:N}}var fy,jT;var A5=k(()=>{fy=require("@swapkit/helpers"),jT=require("ts-pattern")});var Pf={};qy(Pf,{getSuiToolbox:()=>D2,getSuiAddressValidator:()=>l5});module.exports=zy(Pf);var Sf=k(()=>{A5()});async function P2(T={}){let{mnemonicToWalletKey:x}=await import("@ton/crypto"),{Address:N,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),G=await F5(),L,X,_=await hT.match(T).with({phrase:hT.P.string},async({phrase:I})=>x(I.split(" "))).with({signer:hT.P.any},({signer:I})=>I).otherwise(()=>{return});function Z(){let{rpcUrls:I}=Ty.getChainConfig(Ty.Chain.Ton),[O]=I;if(!L||L.parameters.endpoint!==O)L=new y({endpoint:O});return L}function q(I){if(!X||I){let O=Z(),K=I||_;if(!K)throw new Ty.SwapKitError("core_wallet_connection_not_found");let V=f.create({publicKey:K.publicKey,workchain:0});X=O.open(V)}return X}async function Q(I){let O=Z(),{baseDecimal:K}=Ty.getChainConfig(Ty.Chain.Ton);try{let V=await O.getBalance(N.parse(I));return[Ty.AssetValue.from({chain:Ty.Chain.Ton,value:Ty.SwapKitNumber.fromBigInt(V,K)})]}catch{return[Ty.AssetValue.from({chain:Ty.Chain.Ton})]}}async function J({assetValue:I,recipient:O,memo:K}){let V=q();if(!V||!_)throw new Ty.SwapKitError("core_wallet_connection_not_found");let{toNano:u,comment:i,internal:Ly}=await import("@ton/ton"),By=await V.getSeqno(),A=u(I.getValue("string")),$=K?i(K):void 0;return V.createTransfer({messages:[Ly({body:$,to:O,value:A})],secretKey:_.secretKey,seqno:By})}async function B({assetValue:I,recipient:O,memo:K}){let V=q();if(!V||!_)throw new Ty.SwapKitError("core_wallet_connection_not_found");let u=await J({assetValue:I,memo:K,recipient:O});return await V.send(u),u.hash().toString()}async function Y(I){let O=q();if(!O)throw new Ty.SwapKitError("core_wallet_connection_not_found");try{return await O.send(I),I.hash().toString("hex")}catch(K){throw new Ty.SwapKitError("core_wallet_connection_not_found",{error:K})}}function U(){return q().address.toString()}function M(){return Promise.resolve(Ty.AssetValue.from({chain:Ty.Chain.Ton,value:"0.0001"}))}return{createTransaction:J,estimateTransactionFee:M,getAddress:U,getBalance:Q,sendTransaction:Y,transfer:B,validateAddress:G}}async function F5(){let{Address:T}=await import("@ton/ton");return function(N){try{return T.parse(N),!0}catch{return!1}}}var Ty,hT;var V5=k(()=>{Ty=require("@swapkit/helpers"),hT=require("ts-pattern")});var vf={};qy(vf,{getTONToolbox:()=>P2,getTONAddressValidator:()=>F5});module.exports=zy(vf);var lf=k(()=>{V5()});var JT;var K0=k(()=>{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 K5(T){let x=await import("tronweb"),N=x.TronWeb??x.default?.TronWeb;try{let y=await fetch(`${S2}/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 $5.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var $5,S2="https://api.trongrid.io";var n5=k(()=>{$5=require("@swapkit/helpers")});async function n0(){let T=await import("tronweb"),x=T.TronWeb??T.default?.TronWeb;return(N)=>{return x.isAddress(N)}}async function b5({phrase:T,derivationPath:x,index:N}){let y=x||S.derivationPathToString(S.updateDerivationPath(S.NetworkDerivationPath[S.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 S.SwapKitError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function V2({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 S.SwapKitError("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 S,oT,v2=268,l2=13000,A2=345,u5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",F2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",j5=async(T={})=>{let x=await import("tronweb"),N=x.TronWeb??x.default?.TronWeb,y=await S.getRPCUrl(S.Chain.Tron),f=void 0,G=new N({fullHost:y,headers:void 0}),L="index"in T?T.index||0:0,X=S.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:L})),_=await oT.match(T).with({phrase:oT.P.string},async({phrase:A})=>V2({derivationPath:X,phrase:A,tronWeb:G})).with({signer:oT.P.any},({signer:A})=>Promise.resolve(A)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");return await _.getAddress()},q=()=>{return 1e8},Q=async()=>{try{let A=await G.trx.getChainParameters(),$={};for(let z of A)$[z.key]=z.value;return{bandwidthFee:$.getTransactionFee||1000,createAccountFee:$.getCreateAccountFee||1e5,energyFee:$.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},J=async(A)=>{try{let $=await G.trx.getAccount(A);return $&&Object.keys($).length>0}catch{return!1}},B=async(A)=>{try{let $=await G.trx.getAccountResources(A);return{bandwidth:{free:$.freeNetLimit-$.freeNetUsed,total:$.NetLimit||0,used:$.NetUsed||0},energy:{total:$.EnergyLimit||0,used:$.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Y=async(A,$)=>{try{let z=G.contract(JT,$);if(!z.methods?.balanceOf)return 0n;let[R]=await z.methods.balanceOf(A).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(z){let R=z instanceof Error?z.message:String(z);return console.warn(`balanceOf() failed for ${$}: ${R}`),0n}},U=async(A,$)=>{try{G.setAddress($);let z=G.contract(JT,A),[R,C]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(C??18),symbol:R??"UNKNOWN"}}catch(z){return S.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${A}: ${z instanceof Error?z.message:z}`}),null}},M=async(A,$=!0)=>{let z=[S.AssetValue.from({chain:S.Chain.Tron})];try{let R=await K5(A);if(R){let C=[];C.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:R.balance}));for(let n of R.trc20){let[p,o]=Object.entries(n)[0]||[];if(!(p&&o))continue;let h=await U(p,A);if(!h)continue;C.push(S.AssetValue.from({asset:`TRON.${h.symbol}-${p}`,fromBaseDecimal:h.decimals,value:BigInt(o||0)}))}return C}return z}catch(R){S.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let C=[],n=await G.trx.getBalance(A);if(n&&Number(n)>0)C.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:n}));let p=await Y(A,u5);if(p)C.push(S.AssetValue.from({asset:`TRON.USDT-${u5}`,fromBaseDecimal:6,value:p}));if(C.length===0)return z;return C}catch(C){let n=C instanceof Error?C.message:String(C);return console.error(`Tron balance fetch failed: ${n}`),z}}},I=async({recipient:A,assetValue:$,memo:z,expiration:R})=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");let C=await Z();G.setAddress(C);let n=await K({assetValue:$,expiration:R,memo:z,recipient:A,sender:C}),p=await _.signTransaction(n),{txid:o}=await G.trx.sendRawTransaction(p);if(!o)throw new S.SwapKitError("toolbox_tron_token_transfer_failed");return o},O=async({assetValue:A,recipient:$,sender:z})=>{let R=A.isGasAsset;try{let C=z?z:_?await Z():void 0;if(!C)return R?S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:0.1}):S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:15});let n=await Q(),o=await J($)?0:n.createAccountFee,h=await B(C);if(R){let my=v2,eT=h.bandwidth.free+(h.bandwidth.total-h.bandwidth.used),yf=0;if(my>eT)yf=(my-eT)*n.bandwidthFee;let Tf=o+yf;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:Tf})}let r=A2,Xy=l2,Qy=h.bandwidth.free+(h.bandwidth.total-h.bandwidth.used),Yy=h.energy.total-h.energy.used,py=0;if(r>Qy)py=(r-Qy)*n.bandwidthFee;let sT=0;if(Xy>Yy)sT=(Xy-Yy)*n.energyFee;let df=o+py+sT;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:df})}catch(C){throw S.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${C instanceof Error?C.message:C}`}),new S.SwapKitError("toolbox_tron_fee_estimation_failed",{error:C})}},K=async(A)=>{let{recipient:$,assetValue:z,memo:R,sender:C,expiration:n}=A,p=z.isGasAsset,o=async({transaction:r,memo:Xy,expiration:Qy})=>{let Yy=Xy?await G.transactionBuilder.addUpdateData(r,Xy,"utf8"):r;return Qy?await G.transactionBuilder.extendExpiration(Yy,Qy):Yy};if(p){let r=await G.transactionBuilder.sendTrx($,z.getBaseValue("number"),C);return o({expiration:n,memo:R,transaction:r})}G.setAddress(C);let h=z.address;if(!h)throw new S.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let Xy=[{type:"address",value:$},{type:"uint256",value:z.getBaseValue("string")}],Qy={callValue:0,feeLimit:q()},{transaction:Yy}=await G.transactionBuilder.triggerSmartContract(h,"transfer(address,uint256)",Qy,Xy,C);return o({expiration:n,memo:R,transaction:Yy})}catch(r){throw new S.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction.",originalError:r instanceof Error?r.message:String(r)})}},V=async(A)=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");return await _.signTransaction(A)},u=async(A)=>{let{txid:$}=await G.trx.sendRawTransaction(A);return $},i=async({assetAddress:A,spenderAddress:$,from:z})=>{try{let R=G.contract(JT,A);if(!R.methods?.allowance)throw new S.SwapKitError("toolbox_tron_invalid_token_contract");let[C]=await R.methods.allowance(z,$).call();return C?typeof C==="bigint"?C:BigInt(C):0n}catch(R){throw new S.SwapKitError("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:A,spenderAddress:$,amount:z,from:R})=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");let C=R||await Z(),n=z!==void 0?BigInt(z).toString():F2,p="approve(address,uint256)",o=[{type:"address",value:$},{type:"uint256",value:n}],r={callValue:0,feeLimit:q()};try{let{transaction:Xy}=await G.transactionBuilder.triggerSmartContract(A,p,r,o,C),Qy=await _.signTransaction(Xy),{txid:Yy}=await G.trx.sendRawTransaction(Qy);if(!Yy)throw new S.SwapKitError("toolbox_tron_approve_failed");return Yy}catch(Xy){throw new S.SwapKitError("toolbox_tron_approve_failed",{error:Xy})}},broadcastTransaction:u,createTransaction:K,estimateTransactionFee:O,getAddress:Z,getApprovedAmount:i,getBalance:M,isApproved:async({assetAddress:A,spenderAddress:$,from:z,amount:R})=>{let C=await i({assetAddress:A,from:z,spenderAddress:$});if(!R)return C>0n;let n=BigInt(R);return C>=n},signTransaction:V,transfer:I,tronWeb:G,validateAddress:await n0()}};var h5=k(()=>{K0();n5();S=require("@swapkit/helpers"),oT=require("ts-pattern")});var u0={};qy(u0,{trc20ABI:()=>JT,getTronPrivateKeyFromMnemonic:()=>b5,getTronAddressValidator:()=>n0,createTronToolbox:()=>j5});module.exports=zy(u0);var b0=k(()=>{K0();h5()});async function $2({chain:T,txHash:x}){let N=`${Af(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.SwapKitError("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:K1(),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.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new b.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw f}}function Af(T){return`https://api.blockchair.com/${K2(T)}`}function o5(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 K2(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 n2(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,o5(T))}catch{return o5(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.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return N.data}async function t5({address:T,chain:x,apiKey:N}){if(!T)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await j0(`${Af(x)}/dashboards/address/${T}?transaction_details=true`,N))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function u2({address:T,chain:x,apiKey:N}){return(await t5({address:T,apiKey:N,chain:x}))?.address.balance||0}async function g5({chain:T,apiKey:x,txHash:N}){if(!N)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await j0(`${Af(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 b2({chain:T,address:x,apiKey:N,offset:y=0,limit:f=30}){return(await j0(`${Af(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:Q,index:J,value:B,spending_signature_hex:Y})=>({hash:Q,index:J,is_confirmed:q!==-1,is_spent:_,script_hex:Z,txHex:Y,value:B}))}function j2(T){return T.reduce((x,N)=>x+N.value,0)}function p5(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 d5({chain:T,address:x,apiKey:N,targetValue:y,accumulativeValue:f=0,offset:G=0,limit:L=30}){if(!x)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await b2({address:x,apiKey:N,chain:T,limit:L,offset:G,targetValue:y}),Z=X.length<L,q=X.filter(({is_spent:M})=>!M),Q=j2(q),J=f+Q,B=y&&J>=y;if(Z||B)return p5(q,y);let Y=await d5({accumulativeValue:J,address:x,apiKey:N,chain:T,limit:L,offset:G+L,targetValue:y}),U=[...q,...Y];return p5(U,y)}catch(X){let _=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function h2({address:T,chain:x,apiKey:N,fetchTxHex:y=!0,targetValue:f}){let G=await d5({address:T,apiKey:N,chain:x,targetValue:f}),L=[];for(let{hash:X,index:_,script_hex:Z,value:q}of G){let Q;if(y)Q=await g5({apiKey:N,chain:x,txHash:X});L.push({address:T,hash:X,index:_,txHex:Q,value:q,witnessUtxo:{script:Buffer.from(Z,"hex"),value:q}})}return L}function Hy(T){let x=b.SKConfig.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)=>$2({chain:T,txHash:N}),getAddressData:(N)=>t5({address:N,apiKey:x,chain:T}),getBalance:(N)=>u2({address:N,apiKey:x,chain:T}),getRawTx:(N)=>g5({apiKey:x,chain:T,txHash:N}),getSuggestedTxFee:()=>n2(T),getUtxos:(N)=>h2({...N,apiKey:x,chain:T})}}function o2(T){return T}function Cy(){return function(x){switch(x){case b.Chain.Bitcoin:return c5.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 m5.networks.zcash;default:throw new b.SwapKitError("toolbox_utxo_not_supported",{chain:x})}}}var m5,b,c5,qT;var i5=k(()=>{CT();m5=require("@bitgo/utxo-lib"),b=require("@swapkit/helpers"),c5=require("bitcoinjs-lib"),qT=W(require("coininfo"))});function c0(T){try{return Ff(T),!0}catch{return!1}}function t0(T){return Ff(T)?.network}function QT(T){let x=Ff(T);if(x?.format==="legacy")return T;return c2(x)}function pT(T){let x=Ff(T);return t2(x)}function Ff(T){try{let x=p2(T);if(x)return x}catch{}try{let x=m2(T);if(x)return x}catch{}throw new h0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function p2(T){try{let x=o0.default.decode(T);if(x.length!==21)throw new h0.SwapKitError("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 m2(T){if(T.indexOf(":")!==-1)try{return r5(T)}catch{}else{let x=["bitcoincash","bchtest","bchreg"];for(let N of x)try{return r5(`${N}:${T}`)}catch{}}return}function r5(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 c2(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),o0.default.encode(N)}function t2(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 h0,o0,p0,m0,ry;var a5=k(()=>{h0=require("@swapkit/helpers"),o0=W(require("bs58check")),p0=W(require("cashaddrjs"));((N)=>{N.Mainnet="mainnet";N.Testnet="testnet"})(m0||={});ry={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Oy(T){let x=Buffer.from(T,"utf8");return Kf.script.compile([Kf.opcodes.OP_RETURN,x])}var s5,Kf,g2=1000,nf=10,e5=10,d2=41,i2=107,uf,Vf,$f,mT=(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 s5.SwapKitError("toolbox_utxo_invalid_address",{address:T})},BT=({inputs:T,outputs:x,feeRate:N})=>{let y=T[0]&&"address"in T[0]&&T[0].address?mT(T[0].address):"P2PKH",f=T.filter((L)=>L.value>=Vf["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+by(X),0),G=x?.reduce((L,X)=>L+cT(X),0)||$f[y];return nf+f+G},by=(T)=>{if("type"in T)return Vf[T.type];if("address"in T&&T.address)return Vf[mT(T.address)];return d2+i2},cT=(T,x)=>{if(T?.script)return e5+T.script.length+(T.script.length>=74?2:1);if(x)return $f[x];return $f.P2PKH};var g0=k(()=>{s5=require("@swapkit/helpers"),Kf=require("bitcoinjs-lib");((N)=>{N.P2PKH="P2PKH";N.P2WPKH="P2WPKH"})(uf||={});Vf={["P2PKH"]:148,["P2WPKH"]:68},$f={["P2PKH"]:34,["P2WPKH"]:31}});function bf(T){switch(T){case Ey.Chain.Bitcoin:case Ey.Chain.BitcoinCash:return 550;case Ey.Chain.Dash:case Ey.Chain.Litecoin:return 5500;case Ey.Chain.Dogecoin:return 1e5;case Ey.Chain.Zcash:return 546;default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function ky({inputs:T,outputs:x,feeRate:N=1,chain:y=Ey.Chain.Bitcoin,changeAddress:f=""}){let G=Math.ceil(N),L=T[0]&&"address"in T[0]&&T[0].address?mT(T[0].address):"P2PKH",X=T.filter((B)=>by(B)*G<=B.value),_=nf+x.reduce((B,Y)=>B+cT(Y,L),0),Z=x.reduce((B,Y)=>B+Y.value,0),q=_*G,Q=0,J=[];for(let B of X){let Y=by(B),U=G*Y;q+=U,Q+=B.value,J.push(B);let M=q+Z;if(Q<M)continue;let I=Q-M,O=G*cT({address:"",value:0},L);if(I>O){let K=O+q,V=Q-(Z+K);if(V>Math.max(by({})*G,bf(y)))return{fee:K,inputs:J,outputs:x.concat({address:f,value:V})}}return{fee:q,inputs:J,outputs:x}}return{fee:G*BT({feeRate:G,inputs:T,outputs:x})}}var Ey;var yx=k(()=>{g0();Ey=require("@swapkit/helpers")});var YT=k(()=>{i5();a5();yx();g0()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let x=ay(T);return c0(x)&&t0(x)==="mainnet"}function zT(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=Tx.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,Tx;var tT=k(()=>{YT();jf=require("@bitgo/utxo-lib"),Tx=W(require("bs58check"))});function Gx({inputs:T,outputs:x,chain:N,psbt:y,sender:f,compiledMemo:G}){for(let L of T){let X=!!L.witnessUtxo&&!gT.includes(N)&&{witnessUtxo:L.witnessUtxo},_=gT.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(hf.default),y.addOutput(Z)}return{inputs:T,psbt:y}}async function Nx({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f,fetchTxHex:G=!1}){let L=T.chain,X=N?await Oy(N):null,_=await _x({assetValue:T,fetchTxHex:G,memo:N,recipient:x,sender:f}),{inputs:Z,outputs:q}=ky({..._,chain:L,feeRate:y});if(!(Z&&q))throw new l.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let Q=await Cy(),J=new Dy.Psbt({network:Q(L)});if(L===l.Chain.Dogecoin)J.setMaximumFeeRate(650000000);let{psbt:B,inputs:Y}=await Gx({chain:L,compiledMemo:X,inputs:Z,outputs:q,psbt:J,sender:f});return{inputs:Y,psbt:B,utxos:_.inputs}}async function Lx(){let T=await Cy();return function({address:N,chain:y}){if(y===l.Chain.BitcoinCash)return jy(N);if(y===l.Chain.Zcash)return zT(N);try{return Dy.initEccLib(hf.default),Dy.address.toOutputScript(N,T(y)),!0}catch{return!1}}}async function r2({chain:T,phrase:x,derivationPath:N}){let y=(await dT(T))({derivationPath:N,phrase:x});async function f(L){return await L.signAllInputs(y),L}function G(){return i0(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=l.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:l.updateDerivationPath(l.NetworkDerivationPath[T],{index:y})),G=N?await r2({chain:T,derivationPath:f,phrase:N}):("signer"in x)?x.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await Lx(),_=await dT(T);return{accumulative:ky,broadcastTx:(Z)=>Hy(T).broadcastTx(Z),calculateTxSize:BT,createKeysForPath:_,createTransaction:Nx,estimateMaxSendableAmount:a2(T),estimateTransactionFee:s2(T),getAddress:L,getAddressFromKeys:i0(T),getBalance:TT(T),getFeeRates:()=>iT(T),getInputsOutputsFee:Xx,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:e2(G),validateAddress:(Z)=>X({address:Z,chain:T})}}async function Xx({assetValue:T,feeOptionKey:x=l.FeeOption.Fast,feeRate:N,memo:y,sender:f,recipient:G}){let L=T.chain,X=await _x({assetValue:T,memo:y,recipient:G,sender:f}),_=N?Math.floor(N):(await iT(L))[x];return ky({...X,chain:L,feeRate:_})}function a2(T){return async function({from:N,memo:y,feeRate:f,feeOptionKey:G=l.FeeOption.Fast,recipients:L=1}){let X=await Hy(T).getAddressData(N),_=f?Math.ceil(f):(await iT(T))[G],Z=X?.utxo.map((Y)=>({...Y,hash:"",type:"P2PKH"})).filter((Y)=>Y.value>Math.max(bf(T),by(Y)*_));if(!Z?.length)return l.AssetValue.from({chain:T});let q=l.AssetValue.from({chain:T,value:Z.reduce((Y,U)=>Y+U.value,0)}),Q=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(y){let Y=await Oy(y);Q.push({address:N,script:Y,value:0})}let B=BT({feeRate:_,inputs:Z,outputs:Q})*_;return q.sub(B)}}function s2(T){return async(x)=>{let N=await Xx(x);return l.AssetValue.from({chain:T,value:l.SwapKitNumber.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function dT(T){let x=await Cy();switch(T){case l.Chain.BitcoinCash:return function({phrase:y,derivationPath:f=`${l.DerivationPath.BCH}/0`,wif:G}){let L=x(T);if(G)return of.ECPair.fromWIF(G,L);if(!y)throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return of.HDNode.fromSeedBuffer(Buffer.from(d0.mnemonicToSeedSync(y)),L).derivePath(f).keyPair};case l.Chain.Bitcoin:case l.Chain.Dogecoin:case l.Chain.Litecoin:case l.Chain.Zcash:case l.Chain.Dash:return function({phrase:y,wif:f,derivationPath:G}){if(!(f||y))throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=xx.ECPairFactory(hf.default),X=x(T);if(f)return L.fromWIF(f,X);let _=d0.mnemonicToSeedSync(y),Z=fx.HDKey.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new l.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function i0(T){let x=Cy();return function(y){if(!y)throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=gT.includes(T)?Dy.payments.p2pkh:Dy.payments.p2wpkh,{address:G}=f({network:x(T),pubkey:y.publicKey});if(!G)throw new l.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function e2(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 l.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await iT(_))[f||l.FeeOption.Fast],{psbt:q}=await Nx({assetValue:L,feeRate:Z,memo:N,recipient:y,sender:X}),Q=await T.signTransaction(q);return Q.finalizeAllInputs(),Hy(_).broadcastTx(Q.extractTransaction().toHex())}}async function iT(T){let x=await Hy(T).getSuggestedTxFee();return{[l.FeeOption.Average]:x,[l.FeeOption.Fast]:l.applyFeeMultiplier(x,l.FeeOption.Fast),[l.FeeOption.Fastest]:l.applyFeeMultiplier(x,l.FeeOption.Fastest)}}async function _x({assetValue:T,recipient:x,memo:N,sender:y,fetchTxHex:f=!1}){let G=T.chain,L=(await iT(G))[l.FeeOption.Fastest],X=f||gT.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 Oy(N),value:0}]:[]]}}var hf,of,fx,d0,l,Dy,xx,gT;var rT=k(()=>{CT();YT();tT();hf=W(require("@bitcoinerlab/secp256k1")),of=require("@psf/bitcoincashjs-lib"),fx=require("@scure/bip32"),d0=require("@scure/bip39"),l=require("@swapkit/helpers"),Dy=require("bitcoinjs-lib"),xx=require("ecpair"),gT=[l.Chain.Dash,l.Chain.Dogecoin,l.Chain.Zcash,l.Chain.BitcoinCash]});function ey(T){return ay(pT(T))}function yG(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[Iy],{index:N})),f=x?(await dT(Iy))({derivationPath:y,phrase:x}):void 0,G=f?yG(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:Iy});function Q(J,B=!0){return X(ay(pT(J)))}return{...q,broadcastTx:Z,buildTx:fG,createTransaction:Jx,getAddress:L,getAddressFromKeys:xG,getBalance:Q,getFeeRates:_,stripPrefix:ay,stripToCashAddress:ey,transfer:TG({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:jy}}async function Jx({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f}){if(!jy(x))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:x});let G=Math.ceil(T.getBaseValue("number")+y*7500),L=await Hy(Iy).getUtxos({address:ey(f),fetchTxHex:!0,targetValue:G}),X=N?await Oy(N):null,_=[];_.push({address:x,value:T.getBaseValue("number")});let{inputs:Z,outputs:q}=ky({chain:Iy,feeRate:y,inputs:L,outputs:_});if(!(Z&&q))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let Q=await Cy(),J=new WT.TransactionBuilder(Q(Iy));await Promise.all(Z.map(async(B)=>{let Y=await Hy(Iy).getRawTx(B.hash);J.addInput(WT.Transaction.fromBuffer(Buffer.from(Y,"hex")),B.index)}));for(let B of q){let Y="address"in B&&B.address?B.address:QT(f),U=await Cy(),M=WT.address.toOutputScript(QT(Y),U(Iy));J.addOutput(M,B.value)}if(X)J.addOutput(X,0);return{builder:J,utxos:Z}}function TG({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.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Zy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await x())[L],{builder:q,utxos:Q}=await Jx({...X,assetValue:G,feeRate:Z,recipient:f,sender:_}),B=(await N.signTransaction({builder:q,utxos:Q})).toHex();return T(B)}}async function fG({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f,setSigHashType:G}){let L=pT(x);if(!jy(L))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(T.getBaseValue("number")+y*7500),_=await Hy(Iy).getUtxos({address:ey(f),fetchTxHex:!1,targetValue:X}),Z=Number(y.toFixed(0)),q=N?await Oy(N):null,Q=[];if(Q.push({address:QT(x),value:T.getBaseValue("number")}),q)Q.push({script:q,value:0});let{inputs:J,outputs:B}=ky({chain:Iy,feeRate:Z,inputs:_,outputs:Q});if(!(J&&B))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let Y=await Cy(),U=new Zx.Psbt({network:Y(Iy)});for(let{hash:M,index:I,witnessUtxo:O}of J)U.addInput({hash:M,index:I,sighashType:G?65:void 0,witnessUtxo:O});for(let M of B){let I="address"in M&&M.address?M.address:QT(f),O=M.script?q?{script:q,value:0}:void 0:{address:I,value:M.value};if(O)U.addOutput(O)}return{inputs:J,psbt:U,utxos:_}}function xG(T){let x=T.getAddress(0);return ey(x)}var WT,Zy,Zx,Iy;var pf=k(()=>{YT();rT();tT();WT=require("@psf/bitcoincashjs-lib"),Zy=require("@swapkit/helpers"),Zx=require("bitcoinjs-lib"),Iy=Zy.Chain.BitcoinCash});function Bx(){return Ry.networks.zcash}function Yx(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function GG({phrase:T,derivationPath:x}){let N=s0.mnemonicToSeedSync(T),f=a0.HDKey.fromMasterSeed(N).derive(x);if(!f.privateKey)throw new xy.SwapKitError("toolbox_utxo_invalid_params");let G=Yx(),L=Ry.ECPair.fromPrivateKey(Buffer.from(f.privateKey),{network:G}),X=Ry.crypto.hash160(L.publicKey),{isStagenet:_}=xy.SKConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),q=Buffer.concat([Z,X]),Q=Qx.default.encode(q);return{getAddress:()=>Promise.resolve(Q),signTransaction:(J)=>{let B=J.signAllInputs(L);return Promise.resolve(B)}}}function NG({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:Ry.address.toOutputScript(L,Bx()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:T,psbt:N}}async function qx(T){let{assetValue:x,recipient:N,memo:y,feeRate:f,sender:G,fetchTxHex:L}=T,X=y?Oy(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:Q}=ky({chain:xy.Chain.Zcash,changeAddress:G,feeRate:f,inputs:_,outputs:Z});if(!(q&&Q))throw new xy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:x,sender:G});let J=Ry.bitgo.createPsbtForNetwork({network:Bx()},{version:455}),B=1307332080,Y=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),U=Buffer.allocUnsafe(4);U.writeUInt32LE(B>>>0,0),J.addUnknownKeyValToGlobal({key:Y,value:U});let{psbt:M,inputs:I}=await NG({compiledMemo:X,inputs:q,outputs:Q,psbt:J,sender:G});return{inputs:I,outputs:Q,psbt:M}}async function e0(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:_}),Q=xy.derivationPathToString(q);return GG({derivationPath:Q,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.SwapKitError("toolbox_utxo_no_signer");let Q=Z.feeRate||(await N.getFeeRates())[_],{psbt:J}=await qx({...Z,assetValue:X,feeRate:Q,recipient:L,sender:q}),B=await x.signTransaction(J);return B.finalizeAllInputs(),N.broadcastTx(B.extractTransaction().toHex())}function f({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=s0.mnemonicToSeedSync(L),q=a0.HDKey.fromMasterSeed(_).derive(X);if(!q.privateKey)throw new xy.SwapKitError("toolbox_utxo_invalid_params");let Q=Yx();return Ry.ECPair.fromPrivateKey(Buffer.from(q.privateKey),{network:Q})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return f({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:f,createTransaction:qx,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:zT}}var Ry,a0,s0,xy,Qx,HT;var y1=k(()=>{YT();rT();tT();Ry=require("@bitgo/utxo-lib"),a0=require("@scure/bip32"),s0=require("@scure/bip39"),xy=require("@swapkit/helpers"),Qx=W(require("bs58check")),HT=require("ts-pattern")});async function LG(T,x){switch(T){case ly.Chain.BitcoinCash:return await r0(x||{});case ly.Chain.Zcash:return await e0(x);case ly.Chain.Bitcoin:case ly.Chain.Dogecoin:case ly.Chain.Litecoin:case ly.Chain.Dash:return await sy({chain:T,...x});default:throw new ly.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var ly;var zx=k(()=>{pf();rT();y1();pf();tT();ly=require("@swapkit/helpers")});var T1={};qy(T1,{validateZcashAddress:()=>zT,toLegacyAddress:()=>QT,toCashAddress:()=>pT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>gT,isValidAddress:()=>c0,getUtxoToolbox:()=>LG,getUtxoNetwork:()=>Cy,getUtxoApi:()=>Hy,getUTXOAddressValidator:()=>Lx,getScriptTypeForAddress:()=>mT,getOutputSize:()=>cT,getInputSize:()=>by,getDustThreshold:()=>bf,getCreateKeysForPath:()=>dT,detectAddressNetwork:()=>t0,createZcashToolbox:()=>e0,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>o2,createBCHToolbox:()=>r0,compileMemo:()=>Oy,calculateTxSize:()=>BT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>i0,addInputsAndOutputs:()=>Gx,accumulative:()=>ky,UtxoNetwork:()=>m0,UTXOScriptType:()=>uf,TX_OVERHEAD:()=>nf,OutputSizes:()=>$f,OP_RETURN_OVERHEAD:()=>e5,MIN_TX_FEE:()=>g2,InputSizes:()=>Vf});module.exports=zy(T1);var f1=k(()=>{YT();zx();pf();rT();y1()});async function cf(){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 tf(T){let{parseSeedPhrase:x}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),y=T.index||0,f=T.derivationPath?mf.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=x(T.phrase,f),L=N.fromString(G);return Ux(L)}async function x1(T){let{KeyPair:x}=await import("@near-js/crypto"),N=x.fromString(T);return Ux(N)}function Ux(T){return new Hx(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 mf.SwapKitError("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 Wx,mf,Hx;var G1=k(()=>{Wx=require("@near-js/signers"),mf=require("@swapkit/helpers");Hx=class Hx extends Wx.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 N1(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function L1(T){return"contractId"in T&&"methodName"in T}function X1(T){return"actions"in T}function _1(T){return"newAccountId"in T}function Z1(T){return"contractCode"in T}function J1(T){return"customEstimator"in T}function q1(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 Q1(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 XG(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function _G(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Jy;var B1=k(()=>{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 Y1({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 ZG(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(z)=>{return await tf(z)}).with({signer:x.any},({signer:z})=>z).otherwise(()=>{return}),G=await m.getRPCUrl(m.Chain.Near),L=new y({url:G});async function X(z){let{Account:R}=await import("@near-js/accounts"),C=z||await _();return new R(C,L,f)}async function _(){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");return await f.getAddress()}async function Z(z){return(await Ly({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function q(z){let C=[await U({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return By({actions:C,receiverId:z.contractId})}async function Q(z){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");let{assetValue:R,recipient:C,memo:n}=z,p=await _();if(!R.isGasAsset&&R.address){if(!await Z({accountId:C,contractId:R.address}))return q({assetValue:R,contractId:R.address,memo:n,recipient:C})}let o=await J({...z,sender:p});return O(o)}async function J(z){let{recipient:R,assetValue:C,memo:n,attachedDeposit:p,sender:o,functionCall:h}=z,r=await cf();if(!r(R))throw new m.SwapKitError("toolbox_near_invalid_address",{recipient:R});if(!r(o))throw new m.SwapKitError("toolbox_near_invalid_address",{signerId:o});if(h)return Y({...h,sender:o});if(!C.isGasAsset){let Tf=C.address;if(!Tf)throw new m.SwapKitError("toolbox_near_missing_contract_address");return Y({args:{amount:C.getBaseValue("string"),memo:n||null,receiver_id:R},attachedDeposit:p||"1",contractId:Tf,gas:"250000000000000",methodName:"ft_transfer",sender:o})}let{publicKey:Xy,nonce:Qy}=await gf(L,o),Yy=C.getBaseValue("bigint"),{actionCreators:py,createTransaction:sT}=await import("@near-js/transactions"),{baseDecode:df}=await import("@near-js/utils"),my=[py.transfer(Yy)];if(n&&p)my.push(py.functionCall("memo",{memo:n},BigInt("250000000000000"),BigInt(p)));let eT=await L.block({finality:"final"}),yf=df(eT.header.hash);return sT(o,Xy,R,Qy+1,my,yf)}function B(z){let R=z.encode();return Buffer.from(R).toString("base64")}async function Y(z){let{sender:R}=z,{publicKey:C,nonce:n}=await gf(L,R),{createTransaction:p,actionCreators:o}=await import("@near-js/transactions"),{baseDecode:h}=await import("@near-js/utils"),r=await L.block({finality:"final"}),Xy=h(r.header.hash),Qy=[o.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))];return p(R,C,z.contractId,n+1,Qy,Xy)}async function U(z){let{actionCreators:R}=await import("@near-js/transactions");return R.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function M(z){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");let[R,C]=await f.signTransaction(z);return C}async function I(z){return(await L.sendTransaction(z)).transaction.hash}async function O(z){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");try{let R=await M(z);return await I(R)}catch{return f.signAndSendTransactions?.({transactions:[z]})}}async function K(z){if("assetValue"in z){let p=BigInt("115123062500")+BigInt("108059500000"),o=await V(),h=p*BigInt(o.toString()),{baseDecimal:r}=m.getChainConfig(m.Chain.Near);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:r,value:h.toString()})}let R=f?await X():void 0;return A(z,R)}async function V(){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(z,R,C){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");let n=await X(),{formatNearAmount:p}=await import("@near-js/utils"),{PublicKey:o}=await import("@near-js/crypto"),h=p(C)||"0";return(await n.createAccount(z,o.fromString(R),BigInt(h))).transaction.hash}async function i(z){try{if(!f)throw new m.SwapKitError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:C,methodName:n,args:p,deposit:o}=z,h=await X(),r=await A({args:p||{},contractId:C,methodName:n}),Xy=R.functionCall(n,p||{},r.getBaseValue("bigint"),BigInt(o||"1"));return(await h.signAndSendTransaction({actions:[Xy],receiverId:C})).transaction_outcome.id}catch(R){throw new m.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function Ly(z){let R=await X();return Y1({account:R,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function By(z){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");if(z.actions.length===0)throw new m.SwapKitError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function A(z,R){let{baseDecimal:C}=m.getChainConfig(m.Chain.Near),n=await N(z).when(N1,()=>Jy.SIMPLE_TRANSFER).when(L1,(h)=>Q1(h.methodName)).when(X1,(h)=>q1(h.actions)).when(_1,()=>Jy.ACCOUNT_CREATION).when(Z1,()=>Jy.CONTRACT_DEPLOYMENT).when(J1,(h)=>{if(!R)throw new m.SwapKitError("toolbox_near_no_account");return h.customEstimator(R)}).otherwise(()=>{throw new m.SwapKitError("toolbox_near_invalid_gas_params")}),o=BigInt(n)*BigInt(1000000000000);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:C,value:o})}async function $(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:I,callFunction:i,createAction:U,createContract:Ly,createContractFunctionCall:Y,createSubAccount:u,createTransaction:J,estimateGas:A,estimateTransactionFee:K,executeBatchTransaction:By,getAddress:_,getBalance:TT(m.Chain.Near),getGasPrice:$,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(z)=>tf(z),getSignerFromPrivateKey:x1,provider:L,serializeTransaction:B,signAndSendTransaction:O,signTransaction:M,transfer:Q,validateAddress:await cf()}}var m;var z1=k(()=>{CT();G1();B1();m=require("@swapkit/helpers")});var Mx=k(()=>{z1()});var W1={};qy(W1,{tgasToGas:()=>XG,isSimpleTransfer:()=>N1,isCustomEstimator:()=>J1,isContractDeployment:()=>Z1,isContractCall:()=>L1,isBatchTransaction:()=>X1,isAccountCreation:()=>_1,getValidateNearAddress:()=>cf,getNearToolbox:()=>ZG,getNearSignerFromPrivateKey:()=>x1,getNearSignerFromPhrase:()=>tf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>Q1,gasToTGas:()=>_G,estimateBatchGas:()=>q1,createNearContract:()=>Y1,GAS_COSTS:()=>Jy});module.exports=zy(W1);var H1=k(()=>{G1();B1();z1();Mx()});var U1={};qy(U1,{radixValidateAddress:()=>Ix,RadixToolbox:()=>YG});module.exports=zy(U1);function Ix(T){return T.startsWith("account_rdx1")&&T.length===66}function JG({networkApi:T}){return async function(N){let y=await qG({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 qG({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"),Q=q?.value.typed.type==="String"?q.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:Q})}for(let Z of G)if(Z.aggregation_level==="Global"){let q=_.get(Z.resource_address)||{decimals:0,symbol:"?"},Q=wy.AssetValue.from({asset:q.symbol!==wy.Chain.Radix?`${wy.Chain.Radix}.${q.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(Q)}}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.SKConfig.get("integrations").radix,f=x({...y,networkId:y.network?.networkId||1}),G=N.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:JG({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new wy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:Ix}};var M1=k(()=>{wy=require("@swapkit/helpers")});var R1={};qy(R1,{rippleValidateAddress:()=>I1,hashes:()=>wx.hashes,getRippleToolbox:()=>WG});module.exports=zy(R1);function Rx(T){let x=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(x.address),signTransaction:(N)=>Promise.resolve(x.sign(N))}}function I1(T){return hy.isValidAddress(T)}var c,hy,wx,zG,WG=async(T={})=>{let x="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?Rx(T.phrase):void 0,N=await c.getRPCUrl(c.Chain.Ripple);if(!N)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let y=new hy.Client(N);await y.connect();let f=()=>{if(!x)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return x.getAddress()},G=async(J)=>{let B=J||await f(),{baseDecimal:Y}=c.getChainConfig(c.Chain.Ripple);try{let M=(await y.request({account:B,command:"account_info"})).result.account_data.Balance;return[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:Y,value:M})]}catch(U){if(U.data.error_code===zG.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:B,error:U}})}},L=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Y}=c.getChainConfig(c.Chain.Ripple);return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:Y,value:c.SwapKitNumber.fromBigInt(BigInt(B),Y)})},X=async({assetValue:J,recipient:B,memo:Y,sender:U})=>{if(!I1(B))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let M=U||await f();if(!J.isGasAsset||J.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let I={Account:M,Amount:hy.xrpToDrops(J.getValue("string")),Destination:B,TransactionType:"Payment"};if(Y)I.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];return await y.autofill(I)},_=(J)=>{if(!x)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return x.signTransaction(J)},Z=async(J)=>{let Y=(await y.submitAndWait(J)).result;if(Y.validated)return Y.hash;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:Rx,createTransaction:X,disconnect:()=>y.disconnect(),estimateTransactionFee:L,getAddress:f,getBalance:G,signer:x,signTransaction:_,transfer:async(J)=>{if(!x)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let B=await x.getAddress(),Y=await X({...J,sender:B}),U=await _(Y);return Z(U.tx_blob)},validateAddress:I1}};var w1=k(()=>{c=require("@swapkit/helpers"),hy=require("xrpl"),wx=require("xrpl"),zG={ACCOUNT_NOT_FOUND:19}});async function HG(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.SwapKitNumber.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 UG(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.SwapKitNumber.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 Cx(T,x){return function(y){let f=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return UG(x,f,y);default:return HG(x,f,y)}}}var yT;var Ox=k(()=>{yT=require("@swapkit/helpers")});var MG,IG,RG,oy;var C1=k(()=>{MG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},IG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},RG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},oy={DOT:MG,FLIP:IG,GENERIC:RG}});function wG(T,x){switch(T){case s.Chain.Chainflip:return kx(x);case s.Chain.Polkadot:return Ex(x);default:throw new s.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function UT(T){return"address"in T}async function E1(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 SG(T,x){let N=IT.decodeAddress(T);return IT.encodeAddress(N,x)}function Dx(T,x){return MT.isHex(T)?MT.hexToU8a(T):IT.decodeAddress(T,void 0,x)}function Px(T,x="ss58",N){if(x==="hex")return MT.u8aToHex(T);return IT.encodeAddress(T,N)}async function P1({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?oy.GENERIC:oy[x],q=await aT.match(N).with({phrase:aT.P.string},({phrase:Q})=>E1(Q,oy[x].prefix)).with({signer:aT.P.any},({signer:Q})=>Q).otherwise(()=>{return});return Sx({api:X,chain:x,gasAsset:_,network:Z,signer:q})}var MT,IT,s,aT,Ex=({generic:T=!1,...x}={})=>{return P1({chain:s.Chain.Polkadot,generic:T,...x})},kx=async({generic:T=!1,...x}={})=>{return{...await P1({chain:s.Chain.Chainflip,generic:T,...x})}},k1=(T,x)=>T.rpc.system.accountNextIndex(x),O1=(T,x)=>{try{let N=Dx(T,x);return Px(N,"ss58",x),!0}catch{return!1}},D1=(T,{recipient:x,assetValue:N})=>T.tx.balances?.transferAllowDeath?.(x,N.getBaseValue("number")),CG=async(T,x,{recipient:N,assetValue:y,sender:f})=>{let G=D1(T,{assetValue:y,recipient:N});if(!G)throw new s.SwapKitError("toolbox_substrate_transfer_error");let L=UT(x),X=L?x.address:f;if(!X)throw new s.SwapKitError("core_transaction_invalid_sender_address");let _=await k1(T,X);return(await G.signAndSend(L?x:X,{nonce:_,signer:L?void 0:x})).toString()},OG=async(T,x,N,{recipient:y,assetValue:f,sender:G})=>{let L=D1(T,{assetValue:f,recipient:y}),X=UT(x)?x.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await k1(T,X)})||{partialFee:0};return N.set(s.SwapKitNumber.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},EG=async(T,x)=>{if(x)return T.send(x);return(await T.send()).toString()},kG=async(T,x)=>{return await x.signAsync(T)},DG=(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 k1(f,x);if(y)N.signAndSend(x,{nonce:G,signer:T},y);return N.signAndSend(x,{nonce:G,signer:T}).toString()},Sx=({api:T,network:x,gasAsset:N,signer:y,chain:f})=>({api:T,broadcast:EG,convertAddress:SG,createKeyring:(G)=>E1(G,x.prefix),createTransaction:(G)=>D1(T,G),decodeAddress:Dx,encodeAddress:Px,estimateTransactionFee:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return OG(T,y,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||y;if(!L)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return UT(L)?L.address:void 0},getBalance:Cx(f||s.Chain.Polkadot,T),network:x,sign:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");if(UT(y))return kG(y,G);throw new s.SwapKitError("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.SwapKitError("core_wallet_not_keypair_wallet");if(UT(y))return DG(y,G,L);if(X)return PG({address:X,api:T,callback:L,signer:y,tx:G});throw new s.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return CG(T,y,G)},validateAddress:(G)=>O1(G,x.prefix)}),vG=({address:T,chain:x})=>{let{prefix:N}=x===s.Chain.Polkadot?oy.DOT:oy.FLIP;return O1(T,N)||O1(T,oy.GENERIC.prefix)};var vx=k(()=>{Ox();C1();MT=require("@polkadot/util"),IT=require("@polkadot/util-crypto"),s=require("@swapkit/helpers"),aT=require("ts-pattern")});var S1={};qy(S1,{substrateValidateAddress:()=>vG,isKeyringPair:()=>UT,getSubstrateToolbox:()=>wG,createSubstrateToolbox:()=>P1,createKeyring:()=>E1,SubstrateNetwork:()=>oy,PolkadotToolbox:()=>Ex,ChainflipToolbox:()=>kx,BaseSubstrateToolbox:()=>Sx});module.exports=zy(S1);var v1=k(()=>{vx();C1()});var FG={};qy(FG,{getToolbox:()=>l1,getFeeEstimator:()=>AG,getAddressValidator:()=>lG});module.exports=zy(FG);var P=require("@swapkit/helpers");async function lG(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:x}=await Promise.resolve().then(() => (N5(),G5)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (q0(),J0)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Df(),kf)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => ($0(),V0)),{getSuiAddressValidator:G}=await Promise.resolve().then(() => (Sf(),Pf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (lf(),vf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (b0(),u0)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (f1(),T1)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (H1(),W1)),{radixValidateAddress:q}=await Promise.resolve().then(() => (M1(),U1)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (w1(),R1)),{substrateValidateAddress:J}=await Promise.resolve().then(() => (v1(),S1)),B=await N(),Y=await Z(),U=await f(),M=await G(),I=await L(),O=await X(),K=await _();return function({address:u,chain:i}){return T(i).with(...P.EVMChains,()=>x({address:u})).with(...P.UTXOChains,()=>K({address:u,chain:i})).with(P.Chain.Cosmos,P.Chain.Kujira,P.Chain.Noble,P.Chain.Maya,P.Chain.THORChain,(By)=>{return y(By)(u)}).with(P.Chain.Chainflip,P.Chain.Polkadot,()=>J({address:u,chain:i})).with(P.Chain.Radix,()=>q(u)).with(P.Chain.Near,()=>Y(u)).with(P.Chain.Ripple,()=>Q(u)).with(P.Chain.Solana,()=>U(u)).with(P.Chain.Sui,()=>M(u)).with(P.Chain.Ton,()=>I(u)).with(P.Chain.Tron,()=>O(u)).with(P.Chain.Cardano,()=>B(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 l1(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 l1(f)).estimateTransactionFee(N)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Sf(),Pf));return(await f()).estimateTransactionFee(N)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (lf(),vf));return(await f()).estimateTransactionFee()}).with(...P.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Df(),kf));return f(N)}).otherwise(async()=>P.AssetValue.from({chain:T}))}}async function l1(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(),T5));return await y(T,x)}).with(...P.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (f1(),T1));return await y(T,x)}).with(...P.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Df(),kf));return await y(T,x)}).with(...P.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (v1(),S1));return await y(T,x)}).with(P.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (M1(),U1));return await y(x)}).with(P.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (w1(),R1));return await y(x)}).with(P.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => ($0(),V0));return await y(x)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Sf(),Pf));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(() => (H1(),W1));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(() => (lf(),vf));return await y(x)}).otherwise(()=>{throw new P.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
3
|
-
|
|
4
|
-
//# debugId=39A293D608F6ABD064756E2164756E21
|
|
5
|
-
//# sourceMappingURL=index.cjs.map
|
|
1
|
+
var SG=Object.create;var{getPrototypeOf:EG,defineProperty:mf,getOwnPropertyNames:E5,getOwnPropertyDescriptor:nG}=Object,n5=Object.prototype.hasOwnProperty;function V5(f){return this[f]}var VG,vG,v5=(f,y,G)=>{var T=f!=null&&typeof f==="object";if(T){var _=y?VG??=new WeakMap:vG??=new WeakMap,X=_.get(f);if(X)return X}G=f!=null?SG(EG(f)):{};let W=y||!f||!f.__esModule?mf(G,"default",{value:f,enumerable:!0}):G;for(let Z of E5(f))if(!n5.call(W,Z))mf(W,Z,{get:V5.bind(f,Z),enumerable:!0});if(T)_.set(f,W);return W},HT=(f)=>{var y=(S5??=new WeakMap).get(f),G;if(y)return y;if(y=mf({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var T of E5(f))if(!n5.call(y,T))mf(y,T,{get:V5.bind(f,T),enumerable:!(G=nG(f,T))||G.enumerable})}return S5.set(f,y),y},S5;var oG=(f)=>f;function KG(f,y){this[f]=oG.bind(null,y)}var wT=(f,y)=>{for(var G in y)mf(f,G,{get:y[G],enumerable:!0,configurable:!0,set:KG.bind(y,G)})};var E=(f,y)=>()=>(f&&(y=f(f=0)),y);function Cf(f){if(!f||typeof f!=="string"||!f.startsWith("0x"))return!1;let y=f.slice(2);if(y.length===0||y.length>64)return!1;return jG.test(y)}function o5({derivationPath:f,provider:y,...G}={}){let T,_=u.derivationPathToString(f||u.NetworkDerivationPath[u.Chain.Aptos],{allHardened:!0});async function X(){if(T)return T;return T=await Yf.match(G).with({phrase:Yf.P.string},async({phrase:z})=>{let{Ed25519Account:B}=await import("@aptos-labs/ts-sdk");return B.fromDerivationPath({mnemonic:z,path:_})}).with({signer:Yf.P.any},({signer:z})=>z).otherwise(()=>{return}),T}async function W(){let{Aptos:z,AptosConfig:B}=await import("@aptos-labs/ts-sdk"),k=new B({fullnode:y||u.getRPCUrlSync(u.Chain.Aptos)});return new z(k)}async function Z(){return(await X())?.accountAddress.toString()||""}async function J(z){let B=z||await Z();if(!B)throw new u.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:k,chain:H}=u.getChainConfig(u.Chain.Aptos);try{let F=await W(),w=await F.getAccountAPTAmount({accountAddress:B}),Y=[u.AssetValue.from({chain:H,fromBaseDecimal:k,value:w.toString()})],q=await F.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:B}}}});for(let D of q){if(D.asset_type===Qf.COIN_TYPE||Number(D.amount)<=0)continue;let R=D.asset_type;if(R){let C=("metadata"in D&&typeof D.metadata==="object"&&D.metadata!==null?D.metadata:void 0)?.decimals??k;Y.push(u.AssetValue.from({asset:`${u.Chain.Aptos}.APT-${R}`,fromBaseDecimal:C,value:String(D.amount)}))}}return Y}catch{return[u.AssetValue.from({chain:H})]}}async function Q(z){if(!z){let{baseDecimal:q}=u.getChainConfig(u.Chain.Aptos),D=y||u.getRPCUrlSync(u.Chain.Aptos),R=await fetch(`${D}/estimate_gas_price`),{gas_estimate:$}=await R.json();return u.AssetValue.from({chain:u.Chain.Aptos,fromBaseDecimal:q,value:String($)})}let B=await X();if(!B)throw new u.SwapKitError("toolbox_aptos_no_signer");let k=await L(z),H=await W(),[F]=await H.transaction.simulate.simple({signerPublicKey:B.publicKey,transaction:k});if(!F)throw new u.SwapKitError("toolbox_aptos_transaction_creation_error");let w=BigInt(F.gas_used)*BigInt(F.gas_unit_price),{baseDecimal:Y}=u.getChainConfig(u.Chain.Aptos);return u.AssetValue.from({chain:u.Chain.Aptos,fromBaseDecimal:Y,value:w.toString()})}async function L({recipient:z,assetValue:B,maxGasAmount:k,sender:H}){if(!Cf(z))throw new u.SwapKitError("core_transaction_invalid_recipient_address");let F=H||await Z();if(!F)throw new u.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:w}=await import("@aptos-labs/ts-sdk"),Y=await W(),q=w.from(F);try{let D=B.isGasAsset?Qf.TRANSFER:Qf.FUNGIBLE_STORE_TRANSFER,R=Yf.match({address:B?.address,isGasAsset:B.isGasAsset}).with({isGasAsset:!0},()=>[w.from(z),B.getBaseValue("bigint")]).with({address:Yf.P.string},({address:$})=>[w.from($),w.from(z),B.getBaseValue("bigint")]).otherwise(()=>null);if(!R)throw new u.SwapKitError("toolbox_aptos_missing_asset_type");return Y.transaction.build.simple({data:{function:D,functionArguments:R,typeArguments:B.isGasAsset?[]:[Qf.FUNGIBLE_ASSET_METADATA]},options:k?{maxGasAmount:k}:void 0,sender:q})}catch(D){if(D instanceof u.SwapKitError)throw D;throw new u.SwapKitError("toolbox_aptos_transaction_creation_error",D)}}async function O(z){let B=await X();if(!B)throw new u.SwapKitError("toolbox_aptos_no_signer");return(await W()).transaction.sign({signer:B,transaction:z})}async function U({assetValue:z,maxGasAmount:B,recipient:k}){let H=await X();if(!H)throw new u.SwapKitError("toolbox_aptos_no_signer");if(!Cf(k))throw new u.SwapKitError("core_transaction_invalid_recipient_address");try{let F=H.accountAddress.toString(),w=await L({assetValue:z,maxGasAmount:B,recipient:k,sender:F});return(await(await W()).signAndSubmitTransaction({signer:H,transaction:w})).hash}catch(F){if(F instanceof u.SwapKitError)throw F;throw new u.SwapKitError("toolbox_aptos_transaction_creation_error",F)}}async function M({senderAuthenticator:z,transaction:B}){try{return(await(await W()).transaction.submit.simple({senderAuthenticator:z,transaction:B})).hash}catch(k){throw new u.SwapKitError("toolbox_aptos_broadcast_error",k)}}async function N(z){let B=await O(z);return M({senderAuthenticator:B,transaction:z})}return{broadcastTransaction:M,createTransaction:L,estimateTransactionFee:Q,getAddress:Z,getBalance:J,signAndBroadcastTransaction:N,signTransaction:O,transfer:U,validateAddress:Cf}}function K5({provider:f}){return async function({assetValue:G,recipient:T}){if(!Cf(T))throw new u.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:_}=await import("@aptos-labs/ts-sdk");if(G.isGasAsset)return(await f.signAndSubmitTransaction({arguments:[_.from(T).toString(),G.getBaseValue("string")],function:Qf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let X=G.address;if(!X)throw new u.SwapKitError("toolbox_aptos_missing_asset_type");return(await f.signAndSubmitTransaction({arguments:[X,_.from(T).toString(),G.getBaseValue("string")],function:Qf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Qf.FUNGIBLE_ASSET_METADATA]})).hash}}var u,Yf,Qf,jG;var j5=E(()=>{u=require("@swapkit/helpers"),Yf=require("ts-pattern"),Qf={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},jG=/^[0-9a-fA-F]+$/});var C0={};wT(C0,{validateAptosAddress:()=>Cf,getAptosToolbox:()=>o5,createAptosExtensionTransfer:()=>K5});module.exports=HT(C0);var F0=E(()=>{j5()});function l5(){function f(){let y=Date.now(),G=Ky||y;return Ky=G,y>Ky?y:G+1}return bG+f().toString(36)}function ST(f){return async function(G,T=!0){let _=await b5.SwapKitApi.getChainBalance({address:G,chain:f,scamFilter:T}),{baseDecimal:X}=pf.getChainConfig(f),W=_.map(({identifier:J,value:Q,decimal:L})=>{return new pf.AssetValue({decimal:L||X,identifier:J,value:Q})});if(!W.some((J)=>J.isGasAsset))return[pf.AssetValue.from({chain:f}),...W];return W}}var pf,b5,bG,Ky=0;var dT=E(()=>{pf=require("@swapkit/helpers"),b5=require("@swapkit/helpers/api"),bG=typeof process<"u"&&process.pid?process.pid.toString(36):""});function tf(f){return{getBalance:ST(f)}}function lG(f){return f}var k0=E(()=>{dT()});function h5(f){return new qf.JsonRpcProvider(f)}async function hy(f,y){return h5(y||await r.getRPCUrl(f))}function cf(f){return f>0n?`0x${f.toString(16)}`:"0x0"}function my(f){let{explorerUrl:y,chainIdHex:G,rpcUrls:T}=r.getChainConfig(f);return function(){return f!==r.Chain.Ethereum?{...uG({chain:f}),blockExplorerUrls:[y],chainId:G,rpcUrls:T}:void 0}}function py(f){return![r.Chain.Adi,r.Chain.Arbitrum,r.Chain.BinanceSmartChain].includes(f)}function uG({chain:f}){let{name:y,nativeCurrency:G,baseDecimal:T}=r.getChainConfig(f);return uy.match(f).with(r.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:T,name:"Ethereum",symbol:r.Chain.Ethereum}})).with(r.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:r.Chain.Ethereum}})).with(r.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:T,name:"Avalanche",symbol:f}})).with(r.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:r.Chain.Ethereum}})).with(r.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:T,name:"Berachain",symbol:"BERA"}})).with(r.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:T,name:"OKB",symbol:"OKB"}})).with(r.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:T,name:"Binance Coin",symbol:"BNB"}})).with(r.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:T,name:"xDAI",symbol:"XDAI"}})).with(r.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:r.Chain.Ethereum}})).with(r.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:T,name:"Polygon",symbol:r.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:T,name:G,symbol:G}}))}async function ty(f,y){if(!("authorize"in f))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let G={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await f.authorize(G)}function m5(f,y){let G=y!==void 0?`index ${y}: `:"",T=(_,X)=>{throw new r.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:_,message:`${G}${X}`}})};uy.match(f).when(({chainId:_})=>typeof _!=="bigint",()=>T("chainId","chainId must be a bigint")).when(({address:_})=>!hG(_),()=>T("address","address must be a valid checksummed address")).when(({nonce:_})=>typeof _!=="bigint"||_<0n,()=>T("nonce","nonce must be a non-negative bigint")).when(({signature:_})=>!_,()=>T("signature","signature is required")).when(({signature:_})=>typeof _?.yParity!=="number"||![0,1].includes(_.yParity),()=>T("signature.yParity","yParity must be 0 or 1")).when(({signature:_})=>!u5(_?.r),()=>T("signature.r","r must be a 32-byte hex string")).when(({signature:_})=>!u5(_?.s),()=>T("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function p5(f){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>f[y]!=null).map(({key:y,type:G})=>({name:y,type:G}))}function jy(f){return f.charAt(0).toUpperCase()+f.slice(1)}function by(f,y){if(f.isTuple()&&f.components){let G=jy(f.name);return y[G]=f.components.map((T)=>({name:T.name,type:by(T,y)})),G}if(f.isArray()){let G=f.arrayChildren;if(G?.isTuple()&&G.components){let T=jy(f.name.replace(/s$/,""));return y[T]=G.components.map((_)=>({name:_.name,type:by(_,y)})),`${T}[]`}return`${G?.type??"bytes"}[]`}return f.type}function ly(f,y){if(typeof f==="bigint")return f;if(y?.isTuple()&&typeof f?.toObject==="function"){let G=f.toObject(),T={};for(let[_,X]of(y.components??[]).entries())T[X.name]=ly(G[X.name]??f[_],X);return T}if(Array.isArray(f)){let G=y?.arrayChildren;return f.map((T)=>ly(T,G??void 0))}return f}function mG({chain:f,abi:y,data:G,to:T}){let X=new qf.Interface(y).parseTransaction({data:G});if(!X)throw new r.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let W={},Z=jy(X.name);W[Z]=X.fragment.inputs.map((U)=>({name:U.name,type:by(U,W)}));let J={};for(let[U,M]of X.fragment.inputs.entries())J[M.name]=ly(X.args[U],M);let{chainId:Q}=r.getChainConfig(f),L={chainId:Number(Q),verifyingContract:qf.getAddress(T)},O=p5(L);return{domain:L,message:J,primaryType:Z,types:{EIP712Domain:O,...W}}}function cy(f,y){if(!Array.isArray(f)||f.length===0)throw new r.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[G,T]of f.entries())if(m5(T,G),y!==void 0&&T.chainId!==y)throw new r.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${G}: authorization chainId (${T.chainId}) does not match transaction chainId (${y})`}})}var r,qf,uy,u5=(f)=>typeof f==="string"&&/^0x[a-fA-F0-9]{64}$/.test(f),hG=(f)=>{try{return typeof f==="string"&&!!qf.getAddress(f)}catch{return!1}};var gf=E(()=>{r=require("@swapkit/helpers"),qf=require("ethers"),uy=require("ts-pattern")});var t5;var c5=E(()=>{t5=[{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 kf({chain:f=A.Chain.Ethereum,provider:y,signer:G,isEIP1559Compatible:T=!0}){return{approve:iG({chain:f,isEIP1559Compatible:T,provider:y,signer:G}),approvedAmount:d5({chain:f,provider:y}),broadcastTransaction:y.broadcastTransaction,call:ey({chain:f,isEIP1559Compatible:T,provider:y,signer:G}),createApprovalTx:sG({chain:f,provider:y,signer:G}),createContract:ry({chain:f,provider:y}),createContractTxObject:Lf({chain:f,provider:y}),createTransaction:gy({chain:f,provider:y,signer:G}),createTransferTx:gy({chain:f,provider:y,signer:G}),EIP1193SendTransaction:If(y),estimateCall:r5({provider:y,signer:G}),estimateGasLimit:rG({chain:f,provider:y,signer:G}),estimateGasPrices:zf({chain:f,isEIP1559Compatible:T,provider:y}),estimateTransactionFee:eG({chain:f,isEIP1559Compatible:T,provider:y}),getAddress:()=>{return G?G.getAddress():void 0},getBalance:tf(f).getBalance,getNetworkParams:my(f),isApproved:gG({chain:f,provider:y}),sendTransaction:a5({chain:f,isEIP1559Compatible:T,provider:y,signer:G}),signAuthorization:aG({signer:G}),signMessage:G?(_)=>G.signMessage(_):void 0,signTypedData:G?({domain:_,types:X,value:W})=>G.signTypedData(_,X,W):void 0,transfer:dG({chain:f,isEIP1559Compatible:T,provider:y,signer:G}),validateAddress:dy}}function dy(f){try{return AT.getAddress(f),!0}catch{return!1}}function $f(f){return f instanceof AT.BrowserProvider}function rf(f,y,G){return new AT.Contract(f,AT.Interface.from(y),G)}function ry({provider:f}){return function(G,T){return new AT.Contract(G,AT.Interface.from(T),f)}}function ay({abi:f,funcName:y}){let G=f.find((T)=>T.name===y);if(!G)throw new A.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return G.stateMutability&&pG.includes(G.stateMutability)}function g5(f){return AT.getAddress(f)}function If(f){return function({value:G,...T}){if(!$f(f))throw new A.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:_,gasPrice:X,maxFeePerGas:W,maxPriorityFeePerGas:Z,...J}=T;return f.send("eth_sendTransaction",[{...J,value:cf(BigInt(G||0))}])}}function i5(f,y){let G=Af(f,y);if(G)return AT.getAddress(G.toLowerCase());throw new A.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function Af({chain:f,symbol:y,ticker:G},T){try{let _=f===A.Chain.BinanceSmartChain&&y==="BNB"&&G==="BNB",X=f===A.Chain.Hyperevm&&y==="HYPE"&&G==="HYPE",W=f===T&&y===T&&G===T,Z=cG.includes(f)&&y==="ETH"&&G==="ETH";if(W||_||X||Z)return sy[T];return AT.getAddress(y.slice(G.length+1).replace(/^0X/,""))}catch{return null}}function Lf({provider:f}){return async({contractAddress:y,abi:G,funcName:T,funcParams:_=[],txOverrides:X})=>rf(y,G,f).getFunction(T).populateTransaction(..._.concat(X).filter((W)=>typeof W<"u"))}function zf({chain:f,provider:y,isEIP1559Compatible:G=!0}){return iy.match(f).with(A.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:_,maxPriorityFeePerGas:X}=await y.getFeeData();if(!_||X===null)throw new A.SwapKitError("toolbox_evm_no_fee_data");return{[A.FeeOption.Average]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Average),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Average)},[A.FeeOption.Fast]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Fast),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Fast)},[A.FeeOption.Fastest]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Fastest),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Fastest)}}}catch(_){throw new A.SwapKitError("toolbox_evm_gas_estimation_error",{error:_.msg??_.toString()})}}}).with(A.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:_}=await y.getFeeData();if(!_)throw new A.SwapKitError("toolbox_evm_no_fee_data");return{[A.FeeOption.Average]:{gasPrice:_},[A.FeeOption.Fast]:{gasPrice:_},[A.FeeOption.Fastest]:{gasPrice:_}}}catch(_){throw new A.SwapKitError("toolbox_evm_gas_estimation_error",{error:_.msg??_.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:_,maxPriorityFeePerGas:X,gasPrice:W}=await y.getFeeData();if(G){if(_===null||X===null)throw new A.SwapKitError("toolbox_evm_no_fee_data");return{[A.FeeOption.Average]:{maxFeePerGas:_,maxPriorityFeePerGas:X},[A.FeeOption.Fast]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Fast),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Fast)},[A.FeeOption.Fastest]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Fastest),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Fastest)}}}if(!W)throw new A.SwapKitError("toolbox_evm_no_gas_price");return{[A.FeeOption.Average]:{gasPrice:W},[A.FeeOption.Fast]:{gasPrice:A.applyFeeMultiplierToBigInt(W,A.FeeOption.Fast)},[A.FeeOption.Fastest]:{gasPrice:A.applyFeeMultiplierToBigInt(W,A.FeeOption.Fastest)}}}catch(_){throw new A.SwapKitError("toolbox_evm_gas_estimation_error",{error:_.msg??_.toString()})}}})}function ey({provider:f,isEIP1559Compatible:y,signer:G,chain:T}){return async function({callProvider:X,contractAddress:W,abi:Z,funcName:J,funcParams:Q=[],txOverrides:L={},feeOption:O=A.FeeOption.Fast}){let U=X||f;if(!W)throw new A.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let M=ay({abi:Z,funcName:J});if(M&&$f(U)&&G){let B=Lf({chain:T,provider:U}),k=L?.from||await G?.getAddress(),H=await B({abi:Z,contractAddress:W,funcName:J,funcParams:Q,txOverrides:{...L,from:k}});return If(U)(H)}let N=rf(W,Z,U);if(M){if(!G)throw new A.SwapKitError("toolbox_evm_no_signer");let B=L?.from||await G.getAddress();if(!B)throw new A.SwapKitError("toolbox_evm_no_signer_address");let k=N.connect(G),H=zf({chain:T,isEIP1559Compatible:y,provider:f}),{maxFeePerGas:F,maxPriorityFeePerGas:w,gasPrice:Y}=(await H())[O],q=await N.getFunction(J).estimateGas(...Q,L),D=await k[J](...Q,{...L,gasLimit:q,gasPrice:Y,maxFeePerGas:F,maxPriorityFeePerGas:w,nonce:L?.nonce||await U.getTransactionCount(B)});return typeof D?.hash==="string"?D?.hash:D}let z=await N[J]?.(...Q);return typeof z?.hash==="string"?z?.hash:z}}function d5({provider:f,chain:y}){return function({assetAddress:T,spenderAddress:_,from:X}){return ey({chain:y,isEIP1559Compatible:!0,provider:f})({abi:Ff.erc20ABI,contractAddress:T,funcName:"allowance",funcParams:[X,_]})}}function gG({provider:f,chain:y}){return async function({assetAddress:T,spenderAddress:_,from:X,amount:W=df}){let Z=await d5({chain:y,provider:f})({assetAddress:T,from:X,spenderAddress:_});return A.SwapKitNumber.fromBigInt(Z).gte(A.SwapKitNumber.fromBigInt(BigInt(W)))}}function iG({signer:f,isEIP1559Compatible:y=!0,provider:G,chain:T}){return async function({assetAddress:X,spenderAddress:W,feeOptionKey:Z=A.FeeOption.Fast,amount:J,gasLimitFallback:Q,from:L,nonce:O}){let U=[W,BigInt(J||df)],M=await f?.getAddress()||L,N={abi:Ff.erc20ABI,contractAddress:X,funcName:"approve",funcParams:U,signer:f,txOverrides:{from:M}};if($f(G)){let B=Lf({chain:T,provider:G}),k=If(G),H=await B(N);return k(H)}return ey({chain:T,isEIP1559Compatible:y,provider:G,signer:f})({...N,feeOption:Z,funcParams:U,txOverrides:{from:M,gasLimit:Q?BigInt(Q.toString()):void 0,nonce:O}})}}function dG({signer:f,isEIP1559Compatible:y=!0,provider:G}){return async function({assetValue:_,memo:X,recipient:W,feeOptionKey:Z=A.FeeOption.Fast,sender:J,...Q}){let{hexlify:L,toUtf8Bytes:O}=await import("ethers"),U=_.getBaseValue("bigint"),M=_.chain,N=J||await f?.getAddress(),z=a5({chain:M,isEIP1559Compatible:y,provider:G,signer:f});if(!N)throw new A.SwapKitError("toolbox_evm_no_from_address");if(_.isGasAsset){let Y={...Q,data:L(O(X||"")),feeOptionKey:Z,from:N,to:W,value:U};return z(Y)}if(!Af(_,M))throw new A.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:k,maxPriorityFeePerGas:H,gasPrice:F}=(await zf({chain:M,isEIP1559Compatible:y,provider:G})())[Z],w=await gy({chain:M,provider:G,signer:f})({assetValue:_,data:L(O(X||"")),gasPrice:F,maxFeePerGas:k,maxPriorityFeePerGas:H,memo:X,recipient:W,sender:N});return z(w)}}function r5({provider:f,signer:y}){return function({contractAddress:T,abi:_,funcName:X,funcParams:W=[],txOverrides:Z}){if(!T)throw new A.SwapKitError("toolbox_evm_no_contract_address");let J=rf(T,_,f);return y?J.connect(y).getFunction(X).estimateGas(...W,Z):J.getFunction(X).estimateGas(...W,Z)}}function rG({provider:f,signer:y}){return async function({assetValue:T,recipient:_,memo:X,data:W,sender:Z,funcName:J,funcParams:Q,txOverrides:L}){let O=T.bigIntValue,U=T.isGasAsset?null:Af(T,T.chain);if(U&&J)return r5({provider:f,signer:y})({abi:Ff.erc20ABI,contractAddress:U,funcName:J,funcParams:Q,txOverrides:L});let{hexlify:M,toUtf8Bytes:N}=await import("ethers");return f.estimateGas({data:W?W:X?M(N(X)):void 0,from:Z,to:_,value:O})}}function aG({signer:f}){if(!f)return;return(y)=>ty(f,y)}function a5({provider:f,signer:y,isEIP1559Compatible:G=!0,chain:T}){return async function({feeOptionKey:X=A.FeeOption.Fast,...W}){let{from:Z,to:J,data:Q,value:L,...O}=W;if(!y)throw new A.SwapKitError("toolbox_evm_no_signer");if(!J)throw new A.SwapKitError("toolbox_evm_no_to_address");let U={...O,data:Q||"0x",from:Z,to:J,value:BigInt(L||0)};if($f(f))return If(f)(U);let M=Z||await y.getAddress(),N=W.nonce||await f.getTransactionCount(M),z=(await f.getNetwork()).chainId,B=f1(U,G);if(B==="eip7702")cy(U.authorizations||[],z);let k=iy.match(B).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),H={...U,chainId:z,nonce:N,type:k,...B==="eip7702"&&{authorizationList:U.authorizations}},F=zf({chain:T,isEIP1559Compatible:G,provider:f}),Y=B!=="legacy"&&!(U.maxFeePerGas&&U.maxPriorityFeePerGas)||!U.gasPrice?Object.entries((await F())[X]).reduce((D,[R,$])=>({...D,[R]:cf(BigInt($))}),{}):{},q;try{q=cf(U.gasLimit||await f.estimateGas(H)*11n/10n)}catch(D){throw new A.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:D})}try{let D={...H,gasLimit:q,...Y};try{return(await y.sendTransaction(D)).hash}catch{let R=await y.signTransaction({...D,from:M});return(await f.broadcastTransaction(R)).hash}}catch(D){throw new A.SwapKitError("toolbox_evm_error_sending_transaction",{error:D})}}}function gy({provider:f,signer:y}){return async function({assetValue:T,memo:_,recipient:X,data:W,sender:Z,maxFeePerGas:J,maxPriorityFeePerGas:Q,gasPrice:L,...O}){let U=T.getBaseValue("bigint"),M=T.chain,N=Z||await y?.getAddress();if(!N)throw new A.SwapKitError("toolbox_evm_no_from_address");if(A.isGasAsset(T)){let{hexlify:k,toUtf8Bytes:H}=await import("ethers");return{...O,data:W||k(H(_||"")),from:N,to:X,value:U}}let z=Af(T,M);if(!z)throw new A.SwapKitError("toolbox_evm_no_contract_address");return Lf({chain:T.chain,provider:f})({abi:Ff.erc20ABI,contractAddress:z,funcName:"transfer",funcParams:[X,U],txOverrides:{from:N,gasPrice:L,maxFeePerGas:J,maxPriorityFeePerGas:Q}})}}function sG({provider:f,signer:y,chain:G}){return async function({assetAddress:_,spenderAddress:X,amount:W,from:Z}){let J=await y?.getAddress()||Z,Q=Lf({chain:G,provider:f}),L=["bigint","number"].includes(typeof W)?W:W||df;return await Q({abi:Ff.erc20ABI,contractAddress:_,funcName:"approve",funcParams:[X,BigInt(L)],txOverrides:{from:J}})}}function eG({provider:f,isEIP1559Compatible:y=!0,chain:G}){return async function({feeOption:_=A.FeeOption.Fast,...X}){let Z=await zf({chain:G,isEIP1559Compatible:y,provider:f})(),J=await f.estimateGas(X),Q=A.AssetValue.from({chain:G}),{gasPrice:L,maxFeePerGas:O,maxPriorityFeePerGas:U}=Z[_];if(!y&&L)return Q.set(A.SwapKitNumber.fromBigInt(L*J,Q.decimal));if(O&&U){let M=(O+U)*J;return Q.set(A.SwapKitNumber.fromBigInt(M,Q.decimal))}throw new A.SwapKitError("toolbox_evm_no_gas_price")}}var A,Ff,AT,iy,df,pG,tG,sy,cG,$0=(f)=>f.type===4||(f.authorizations?.length??0)>0,T1=(f)=>!$0(f)&&(f.type===2||!!f.maxFeePerGas||!!f.maxPriorityFeePerGas),f1=(f,y=!0)=>{if($0(f))return"eip7702";if(T1(f)||y)return"eip1559";return"legacy"};var I0=E(()=>{k0();gf();A=require("@swapkit/helpers"),Ff=require("@swapkit/helpers/contracts"),AT=require("ethers"),iy=require("ts-pattern"),df=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");pG=["payable","nonpayable"];tG=A.EVMChains.reduce((f,y)=>{return f[y]="0x0000000000000000000000000000000000000000",f},{}),sy={...tG,[A.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[A.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},cG=[A.Chain.Arbitrum,A.Chain.Aurora,A.Chain.Base,A.Chain.Optimism]});function A0(f){let y=YT(_T.Chain.Ethereum)(f);async function G(T,_="0x5ba1e12693dc8f9c48aad8770482f4739beed696",X="aggregate",W=_T.FeeOption.Fast){let Z=await y.createContractTxObject({abi:t5,contractAddress:_,funcName:X,funcParams:[T]});return y.sendTransaction({...Z,feeOptionKey:W})}return{...y,multicall:G}}function YT(f){return function({provider:G,...T}){let _=py(f),X=af.match(T).with({phrase:af.P.string},({phrase:Z})=>s5.HDNodeWallet.fromPhrase(Z).connect(G)).with({signer:af.P.any},({signer:Z})=>Z).otherwise(()=>{return});return kf({chain:f,isEIP1559Compatible:_,provider:G,signer:X})}}var _T,s5,af,P0,x0,S0,E0,n0,V0,v0,e5,o0,K0,j0,b0,l0,u0,sf,h0,m0,p0,t0;var y1=E(()=>{c5();gf();I0();_T=require("@swapkit/helpers"),s5=require("ethers"),af=require("ts-pattern");P0=YT(_T.Chain.Adi),x0=YT(_T.Chain.Arbitrum),S0=YT(_T.Chain.Aurora),E0=YT(_T.Chain.Avalanche),n0=YT(_T.Chain.Base),V0=YT(_T.Chain.Berachain),v0=YT(_T.Chain.BinanceSmartChain),e5=YT(_T.Chain.Botanix),o0=YT(_T.Chain.Core),K0=YT(_T.Chain.Corn),j0=YT(_T.Chain.Cronos),b0=YT(_T.Chain.Gnosis),l0=YT(_T.Chain.Hyperevm),u0=YT(_T.Chain.Polygon),sf=YT(_T.Chain.Sonic),h0=YT(_T.Chain.Unichain),m0=YT(_T.Chain.XLayer),p0=YT(_T.Chain.Monad),t0=YT(_T.Chain.MegaETH)});var T_;var f_=E(()=>{T_=[{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 _1(f){return new c0.Contract(fX,T_,f)}function y_(f){return async function(){let G=_1(f);if(G&&"l1BaseFee"in G)return await G?.l1BaseFee();return}}function __(f){return async function({from:G,to:T,nonce:_,...X}){let{Transaction:W}=await import("ethers");if(!T)throw new GT.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return W.from({...X,authorizationList:X.authorizationList,nonce:_?_:G?await f.getTransactionCount(G):0,to:T}).serialized}}function G_(f){return async function(G){let T=_1(f),_=await __(f)(G);if(T&&"getL1Fee"in T)return T.getL1Fee(_)}}function X_(f){return async function(G){let _=(await f.getFeeData()).gasPrice??0n,X=await f.estimateGas(G);return _*X}}function yX(f){return async function(G){let T=await G_(f)(G)??0n,_=await X_(f)(G);return T+_}}function _X(f){return async function(G){let T=_1(f),_=await __(f)(G);if(T&&"getL1GasUsed"in T)return T.getL1GasUsed(_)}}function GX(f){return async function(){try{let{maxFeePerGas:G,maxPriorityFeePerGas:T,gasPrice:_}=await f.getFeeData(),X=await y_(f)(),W=_;if(!(G&&T))throw new GT.SwapKitError("toolbox_evm_no_fee_data");return{[GT.FeeOption.Average]:{gasPrice:W,l1GasPrice:X,maxFeePerGas:G,maxPriorityFeePerGas:T},[GT.FeeOption.Fast]:{gasPrice:GT.applyFeeMultiplierToBigInt(W,GT.FeeOption.Fast),l1GasPrice:GT.applyFeeMultiplierToBigInt(X||0n,GT.FeeOption.Fast),maxFeePerGas:G,maxPriorityFeePerGas:GT.applyFeeMultiplierToBigInt(T,GT.FeeOption.Fast)},[GT.FeeOption.Fastest]:{gasPrice:GT.applyFeeMultiplierToBigInt(W,GT.FeeOption.Fastest),l1GasPrice:GT.applyFeeMultiplierToBigInt(X||0n,GT.FeeOption.Fastest),maxFeePerGas:G,maxPriorityFeePerGas:GT.applyFeeMultiplierToBigInt(T,GT.FeeOption.Fastest)}}}catch(G){throw new GT.SwapKitError("toolbox_evm_gas_estimation_error",{error:G.msg??G.toString()})}}}function g0({provider:f,...y}){let G=ef.match(y).with({phrase:ef.P.string},({phrase:X})=>c0.HDNodeWallet.fromPhrase(X).connect(f)).with({signer:ef.P.any},({signer:X})=>X).otherwise(()=>{return}),T=kf({provider:f,signer:G}),_=y_(f);return{...T,estimateGasPrices:GX(f),estimateL1Gas:_X(f),estimateL1GasCost:G_(f),estimateL2GasCost:X_(f),estimateTotalGasCost:yX(f),getBalance:tf(GT.Chain.Optimism).getBalance,getL1GasPrice:_}}var GT,c0,ef,fX="0x420000000000000000000000000000000000000f";var G1=E(()=>{k0();f_();I0();GT=require("@swapkit/helpers"),c0=require("ethers"),ef=require("ts-pattern")});var J_={};wT(J_,{validateEVMAddress:()=>dy,toChecksumAddress:()=>g5,isStateChangingCall:()=>ay,isEIP7702Transaction:()=>$0,isEIP1559Transaction:()=>T1,isBrowserProvider:()=>$f,getTokenAddress:()=>Af,getEvmToolboxAsync:()=>Z_,getEvmToolbox:()=>X1,getEstimateGasPrices:()=>zf,getEVMTxType:()=>f1,getEIP1193SendTransaction:()=>If,getCreateContractTxObject:()=>Lf,getCreateContract:()=>ry,getChecksumAddressFromAsset:()=>i5,createContract:()=>rf,XLayerToolbox:()=>m0,UNIToolbox:()=>h0,SONICToolbox:()=>sf,OPToolbox:()=>g0,MONADToolbox:()=>p0,MEGAETHToolbox:()=>t0,MAX_APPROVAL:()=>df,MATICToolbox:()=>u0,HYPEREVMToolbox:()=>l0,GNOToolbox:()=>b0,ETHToolbox:()=>A0,ContractAddress:()=>sy,CROToolbox:()=>j0,CORNToolbox:()=>K0,COREToolbox:()=>o0,BotanixToolbox:()=>e5,BaseEVMToolbox:()=>kf,BSCToolbox:()=>v0,BERAToolbox:()=>V0,BASEToolbox:()=>n0,AVAXToolbox:()=>E0,AURORAToolbox:()=>S0,ARBToolbox:()=>x0,ADIToolbox:()=>P0});function X1(f,y){return W_.match(f).with(QT.Chain.Adi,()=>P0(y)).with(QT.Chain.Arbitrum,()=>x0(y)).with(QT.Chain.Aurora,()=>S0(y)).with(QT.Chain.Avalanche,()=>E0(y)).with(QT.Chain.Base,()=>n0(y)).with(QT.Chain.Berachain,()=>V0(y)).with(QT.Chain.BinanceSmartChain,()=>v0(y)).with(QT.Chain.Botanix,()=>sf(y)).with(QT.Chain.Core,()=>o0(y)).with(QT.Chain.Corn,()=>K0(y)).with(QT.Chain.Cronos,()=>j0(y)).with(QT.Chain.Ethereum,()=>A0(y)).with(QT.Chain.Gnosis,()=>b0(y)).with(QT.Chain.Hyperevm,()=>l0(y)).with(QT.Chain.Optimism,()=>g0(y)).with(QT.Chain.Polygon,()=>u0(y)).with(QT.Chain.Sonic,()=>sf(y)).with(QT.Chain.Unichain,()=>h0(y)).with(QT.Chain.XLayer,()=>m0(y)).with(QT.Chain.Monad,()=>p0(y)).with(QT.Chain.MegaETH,()=>t0(y)).exhaustive()}async function Z_(f,y){let G={...y,provider:y?.provider||await hy(f)};return X1(f,G)}var QT,W_;var W1=E(()=>{gf();y1();G1();QT=require("@swapkit/helpers"),W_=require("ts-pattern");I0();y1();G1()});var Q_;var Y_=E(()=>{((G)=>{G.Test="goerli";G.Main="homestead"})(Q_||={})});var q_={};wT(q_,{validateEVMAddress:()=>dy,validateAuthorizations:()=>cy,validateAuthorization:()=>m5,toHexString:()=>cf,toChecksumAddress:()=>g5,signAuthorization:()=>ty,parseEIP712FromEVMTx:()=>mG,isStateChangingCall:()=>ay,isEIP7702Transaction:()=>$0,isEIP1559Transaction:()=>T1,isBrowserProvider:()=>$f,getTokenAddress:()=>Af,getProviderSync:()=>h5,getProvider:()=>hy,getNetworkParams:()=>my,getIsEIP1559Compatible:()=>py,getEvmToolboxAsync:()=>Z_,getEvmToolbox:()=>X1,getEvmApi:()=>tf,getEstimateGasPrices:()=>zf,getEVMTxType:()=>f1,getEIP1193SendTransaction:()=>If,getCreateContractTxObject:()=>Lf,getCreateContract:()=>ry,getChecksumAddressFromAsset:()=>i5,createCustomEvmApi:()=>lG,createContract:()=>rf,buildEIP712DomainType:()=>p5,XLayerToolbox:()=>m0,UNIToolbox:()=>h0,SONICToolbox:()=>sf,OPToolbox:()=>g0,MONADToolbox:()=>p0,MEGAETHToolbox:()=>t0,MAX_APPROVAL:()=>df,MATICToolbox:()=>u0,HYPEREVMToolbox:()=>l0,GNOToolbox:()=>b0,EthNetwork:()=>Q_,ETHToolbox:()=>A0,ContractAddress:()=>sy,CROToolbox:()=>j0,CORNToolbox:()=>K0,COREToolbox:()=>o0,BotanixToolbox:()=>e5,BaseEVMToolbox:()=>kf,BSCToolbox:()=>v0,BERAToolbox:()=>V0,BASEToolbox:()=>n0,AVAXToolbox:()=>E0,AURORAToolbox:()=>S0,ARBToolbox:()=>x0,ADIToolbox:()=>P0});module.exports=HT(q_);var L_=E(()=>{k0();gf();W1();Y_()});async function J1(f,y){let G=await fetch(`${D_}${f}`,{...y,headers:{project_id:w_,...y?.headers}});if(!G.ok)throw Error(`Blockfrost API error: ${G.status} ${G.statusText}`);return G.json()}async function O_(f){try{return await J1(`/addresses/${f}/utxos`)}catch{return[]}}async function WX(){return(await J1("/blocks/latest")).slot}async function ZX(){let f=await J1("/epochs/latest/parameters"),y={PlutusScriptV1:f.cost_models.PlutusV1?Object.values(f.cost_models.PlutusV1):[],PlutusScriptV2:f.cost_models.PlutusV2?Object.values(f.cost_models.PlutusV2):[],PlutusScriptV3:f.cost_models.PlutusV3?Object.values(f.cost_models.PlutusV3):[]};return{collateralPercent:new IT.default(f.collateral_percent),languageView:y,lovelacePerUtxoWord:new IT.default(0),maxValueSize:Number.parseInt(f.max_val_size,10),minFeeA:new IT.default(f.min_fee_a),minFeeB:new IT.default(f.min_fee_b),minFeeRefScriptCostPerByte:new IT.default(15),priceMem:new IT.default(f.price_mem),priceSteps:new IT.default(f.price_step),stakeKeyDeposit:new IT.default(2000000),utxoCostPerByte:new IT.default(f.coins_per_utxo_size)}}async function N_(f){let y=await fetch(`${D_}/tx/submit`,{body:Buffer.from(f,"hex"),headers:{"Content-Type":"application/cbor",project_id:w_},method:"POST"});if(!y.ok){let G=await y.text();throw Error(`Transaction submission failed: ${G}`)}return y.json()}function JX(f,y){return f.map((G)=>{let T=G.amount.find((W)=>W.unit==="lovelace"),_=T?new IT.default(T.quantity):new IT.default(0),X=G.amount.filter((W)=>W.unit!=="lovelace").map((W)=>({amount:new IT.default(W.quantity),assetName:W.unit.slice(56),policyId:W.unit.slice(0,56)}));return{address:y,amount:_,index:G.output_index,tokens:X,txId:G.tx_hash}})}async function QX(f){try{let y=await O_(f),G=0n,T=new Map;for(let W of y){if(!W.amount||!Array.isArray(W.amount))continue;for(let Z of W.amount){let{unit:J,quantity:Q}=Z;if(J==="lovelace")G+=BigInt(Q);else{let L=T.get(J)||0n;T.set(J,L+BigInt(Q))}}}let _=[],{baseDecimal:X}=XT.getChainConfig(XT.Chain.Cardano);if(G>0n)_.push(XT.AssetValue.from({chain:XT.Chain.Cardano,fromBaseDecimal:X,value:G.toString()}));for(let[W,Z]of T)_.push(XT.AssetValue.from({asset:`${XT.Chain.Cardano}.${W}`,value:Z.toString()}));if(_.length===0)return[XT.AssetValue.from({chain:XT.Chain.Cardano})];return _}catch(y){let G=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${G}`),[XT.AssetValue.from({chain:XT.Chain.Cardano})]}}function H_(f){if(!f||typeof f!=="string")return!1;try{let y=U_.bech32.decode(f,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function YX(f,y=0,G=0){let T=await M_.mnemonicToSeed(f,""),X=(await B_.Bip32PrivateKey.fromEntropy(Buffer.from(T.slice(0,64)))).derive(Z1+1852).derive(Z1+1815).derive(Z1+y),W=X.derive(0).derive(G),Z=W.toBip32PublicKey().toPublicKey().toBytes(),J=RT.crypto.hash28(Z),L=X.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),O=RT.crypto.hash28(L),U={hash:J,type:RT.types.HashType.ADDRESS},M={hash:O,type:RT.types.HashType.ADDRESS},z=new RT.address.BaseAddress(XX,U,M).getBech32(),B=W.toPrivateKey();return{getAddress:()=>z,publicKey:Z,publicKeyHash:J,signTransaction:async(k)=>{try{let H=await import("@stricahq/cbors"),F=Buffer.from(k,"hex"),w=H.Decoder.decode(F),[Y,q,D,R]=w.value,$=H.Encoder.encode(Y),C=RT.crypto.hash32($),I=B.sign(C),P=q instanceof Map?q:new Map,n=P.get(z_)||[];n.push([Z,I]),P.set(z_,n);let b=[Y,P,D,R];return H.Encoder.encode(b).toString("hex")}catch(H){throw new XT.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(H)})}}}}function qX(f){let y,G,T;async function _(){if(!T)T=await ZX();return T}async function X(){if(y!==void 0)return y;if(f&&"phrase"in f&&f.phrase){let M=f.index??0;return y=await YX(f.phrase,0,M),y}if(f&&"signer"in f&&f.signer)return y=f.signer,y;return}async function W(){if(G)return G;let M=await X();if(!M)return"";if("getAddress"in M)return G=await M.getAddress(),G;return""}async function Z(M){let N=M||await W();if(!N)throw new XT.SwapKitError("core_wallet_connection_not_found");return QX(N)}async function J(M){if(M)try{let{tx:k}=await Q(M),H=k.getFee();return XT.AssetValue.from({chain:XT.Chain.Cardano,fromBaseDecimal:6,value:H.toString()})}catch{}let N=await _(),z=400,B=N.minFeeB.plus(N.minFeeA.times(z));return XT.AssetValue.from({chain:XT.Chain.Cardano,fromBaseDecimal:6,value:B.toString()})}async function Q({sender:M="",recipient:N,assetValue:z,memo:B,pureLovelaceOnly:k=!1}){let H=M||await W();if(!H)throw new XT.SwapKitError("core_wallet_connection_not_found");let[F,w,Y]=await Promise.all([O_(H),WX(),_()]),q=F.filter((g)=>k?g.amount.every((TT)=>TT.unit==="lovelace"):g.amount.some((TT)=>TT.unit==="lovelace")).sort((g,TT)=>{let UT=g.amount.some((DT)=>DT.unit!=="lovelace"),FT=TT.amount.some((DT)=>DT.unit!=="lovelace");if(UT===FT)return 0;return UT?1:-1}),D=RT.utils.getAddressFromString(H),R=RT.utils.getAddressFromString(N),$=JX(q,D),C=new IT.default(z.getBaseValue("string")),I=[{address:R,amount:C,tokens:[]}],P;if(B){let g=new Map;g.set("msg",[B]),P={metadata:[{data:g,label:674}]}}let b=new RT.Transaction({protocolParams:Y}).paymentTransaction({auxiliaryData:P,changeAddress:D,inputs:$,outputs:I,ttl:w+3600}),{payload:h}=b.buildTransaction();return{tx:b,unsignedTx:h}}async function L(M){let N=await X();if(!N||!("signTransaction"in N))throw new XT.SwapKitError("core_wallet_connection_not_found");return N.signTransaction(M)}async function O({recipient:M,assetValue:N,memo:z}){let B=await X();if(!B||!("signTransaction"in B))throw new XT.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:k}=await Q({assetValue:N,memo:z,recipient:M,sender:await W()}),H=await L(k);return await N_(H)}async function U(M){let N=await L(M);return await N_(N)}return{createTransaction:Q,estimateTransactionFee:J,getAddress:W,getBalance:Z,signAndBroadcastTransaction:U,signTransaction:L,transfer:O,validateAddress:H_}}var U_,M_,B_,RT,XT,IT,w_="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",D_="https://cardano-mainnet.blockfrost.io/api/v0",XX,Z1=2147483648,z_=0;var R_=E(()=>{U_=require("@scure/base"),M_=require("@scure/bip39"),B_=require("@stricahq/bip32ed25519"),RT=require("@stricahq/typhonjs"),XT=require("@swapkit/helpers"),IT=v5(require("bignumber.js")),XX=RT.types.NetworkId.MAINNET});var Q1={};wT(Q1,{validateCardanoAddress:()=>H_,getCardanoToolbox:()=>qX});module.exports=HT(Q1);var Y1=E(()=>{R_()});function T0(f){return jT.base64.encode(Uint8Array.from(jT.bech32.fromWords(jT.bech32.decode(f).words)))}function f0(f,y="thor"){return jT.bech32.encode(y,jT.bech32.toWords(jT.base64.decode(f)))}function LX(f){return jT.base64.encode(f)}function zX(f){if(!f.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new C_.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return jT.base64.decode(f)}var jT,C_;var q1=E(()=>{jT=require("@scure/base"),C_=require("@swapkit/helpers")});function uT(f){switch(f){case K.Chain.Maya:return{amount:[],gas:"10000000000"};case K.Chain.THORChain:return{amount:[],gas:"500000000"};case K.Chain.Kujira:return $_;case K.Chain.Noble:return I_;default:return k_}}async function hT(f){let y=await import("@cosmjs/stargate"),G=y.StargateClient??y.default?.StargateClient,T=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return G.connect({headers:T,url:f})}async function Nf(f,y,G={}){let T=await import("@cosmjs/stargate"),_=T.SigningStargateClient??T.default?.SigningStargateClient,X=T.GasPrice??T.default?.GasPrice,W=typeof G==="string"?G:"0.0003uatom",Z=typeof G==="string"?{}:G;return _.connectWithSigner(f,y,{gasPrice:X.fromString(W),...Z})}async function z1(f,y){let G=await import("@cosmjs/stargate");return(G.SigningStargateClient??G.default?.SigningStargateClient).offline(f,y)}async function N1({sender:f,recipient:y,assetValue:G,memo:T="",feeRate:_,sequence:X,accountNumber:W}){let{chain:Z,chainId:J}=G,Q=await K.getRPCUrl(Z),O=await(await hT(Q)).getAccount(f);if(!O)throw new K.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});let U=K.AssetValue.from({chain:Z}),M=rT(U.symbol),N=uT(Z),z=M&&_?{amount:[{amount:_.toString(),denom:M}],gas:N.gas}:N,B={amount:[{amount:G.getBaseValue("string"),denom:rT(G.symbol)}],fromAddress:f,toAddress:y};return{accountNumber:W??O.accountNumber,chainId:J,fee:z,memo:T,msgs:[{typeUrl:NX(Z),value:B}],sequence:X??O.sequence}}var K,L1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",F_="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",k_,$_,I_,rT=(f,y=!1)=>{if(y)return f.toLowerCase();switch(f){case"uUSK":case"USK":return L1;case"uYUM":case"YUM":return F_;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return f}},y0=({symbol:f,chain:y})=>{if(y===K.Chain.Maya)return(f.toUpperCase()!=="CACAO"?f:`${K.Chain.Maya}.${f}`).toUpperCase();if(y===K.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(f.toUpperCase())?`${K.Chain.THORChain}.${f}`:f).toUpperCase();return rT(f,!1)},NX=(f)=>{switch(f){case K.Chain.Maya:case K.Chain.THORChain:return"/types.MsgSend";case K.Chain.Cosmos:case K.Chain.Kujira:case K.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new K.SwapKitError("toolbox_cosmos_not_supported",{chain:f})}},UX,U1=(f,y)=>{let G=UX[f.toLowerCase()];if(!G)return K.AssetValue.from({asset:f,fromBaseDecimal:8,value:y});let{chain:T,asset:_,decimals:X}=G,W=T?{chain:T}:{asset:_};return K.AssetValue.from({...W,fromBaseDecimal:X,value:y})};var _0=E(()=>{K=require("@swapkit/helpers"),k_={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},$_={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},I_={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};UX={atom:{chain:K.Chain.Cosmos,decimals:K.getChainConfig(K.Chain.Cosmos).baseDecimal},cacao:{chain:K.Chain.Maya,decimals:10},kuji:{chain:K.Chain.Kujira,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal},maya:{asset:`${K.Chain.Maya}.${K.Chain.Maya}`,decimals:4},rune:{chain:K.Chain.THORChain,decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},uatom:{chain:K.Chain.Cosmos,decimals:K.getChainConfig(K.Chain.Cosmos).baseDecimal},ukuji:{chain:K.Chain.Kujira,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal},usdc:{chain:K.Chain.Noble,decimals:K.getChainConfig(K.Chain.Noble).baseDecimal},uusdc:{chain:K.Chain.Noble,decimals:K.getChainConfig(K.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},[L1.toLowerCase()]:{asset:`${K.Chain.Kujira}.USK`,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal}}});var A_={};wT(A_,{$root:()=>S});var MT,l,ET,v,S;var P_=E(()=>{MT=v5(require("protobufjs/minimal.js")),l=MT.default.Reader,ET=MT.default.Writer,v=MT.default.util,S=MT.default.roots.default||(MT.default.roots.default={});S.common=(()=>{let f={};return f.Asset=(()=>{function y(G){if(G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))_.uint32(10).string(T.chain);if(T.symbol!=null&&Object.hasOwnProperty.call(T,"symbol"))_.uint32(18).string(T.symbol);if(T.ticker!=null&&Object.hasOwnProperty.call(T,"ticker"))_.uint32(26).string(T.ticker);if(T.synth!=null&&Object.hasOwnProperty.call(T,"synth"))_.uint32(32).bool(T.synth);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.Asset;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.chain=T.string();break;case 2:W.symbol=T.string();break;case 3:W.ticker=T.string();break;case 4:W.synth=T.bool();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.chain!=null&&T.hasOwnProperty("chain")){if(!v.isString(T.chain))return"chain: string expected"}if(T.symbol!=null&&T.hasOwnProperty("symbol")){if(!v.isString(T.symbol))return"symbol: string expected"}if(T.ticker!=null&&T.hasOwnProperty("ticker")){if(!v.isString(T.ticker))return"ticker: string expected"}if(T.synth!=null&&T.hasOwnProperty("synth")){if(typeof T.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(T){if(T instanceof S.common.Asset)return T;let _=new S.common.Asset;if(T.chain!=null)_.chain=String(T.chain);if(T.symbol!=null)_.symbol=String(T.symbol);if(T.ticker!=null)_.ticker=String(T.ticker);if(T.synth!=null)_.synth=Boolean(T.synth);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.defaults)X.chain="",X.symbol="",X.ticker="",X.synth=!1;if(T.chain!=null&&T.hasOwnProperty("chain"))X.chain=T.chain;if(T.symbol!=null&&T.hasOwnProperty("symbol"))X.symbol=T.symbol;if(T.ticker!=null&&T.hasOwnProperty("ticker"))X.ticker=T.ticker;if(T.synth!=null&&T.hasOwnProperty("synth"))X.synth=T.synth;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.Coin=(()=>{function y(G){if(G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=v.Long?v.Long.fromBits(0,0,!1):0,y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.asset!=null&&Object.hasOwnProperty.call(T,"asset"))S.common.Asset.encode(T.asset,_.uint32(10).fork()).ldelim();if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))_.uint32(18).string(T.amount);if(T.decimals!=null&&Object.hasOwnProperty.call(T,"decimals"))_.uint32(24).int64(T.decimals);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.Coin;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.asset=S.common.Asset.decode(T,T.uint32());break;case 2:W.amount=T.string();break;case 3:W.decimals=T.int64();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.asset!=null&&T.hasOwnProperty("asset")){let _=S.common.Asset.verify(T.asset);if(_)return"asset."+_}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!v.isString(T.amount))return"amount: string expected"}if(T.decimals!=null&&T.hasOwnProperty("decimals")){if(!v.isInteger(T.decimals)&&!(T.decimals&&v.isInteger(T.decimals.low)&&v.isInteger(T.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(T){if(T instanceof S.common.Coin)return T;let _=new S.common.Coin;if(T.asset!=null){if(typeof T.asset!=="object")throw TypeError(".common.Coin.asset: object expected");_.asset=S.common.Asset.fromObject(T.asset)}if(T.amount!=null)_.amount=String(T.amount);if(T.decimals!=null){if(v.Long)(_.decimals=v.Long.fromValue(T.decimals)).unsigned=!1;else if(typeof T.decimals==="string")_.decimals=Number.parseInt(T.decimals,10);else if(typeof T.decimals==="number")_.decimals=T.decimals;else if(typeof T.decimals==="object")_.decimals=new v.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber()}return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.defaults)if(X.asset=null,X.amount="",v.Long){let W=new v.Long(0,0,!1);X.decimals=_.longs===String?W.toString():_.longs===Number?W.toNumber():W}else X.decimals=_.longs===String?"0":0;if(T.asset!=null&&T.hasOwnProperty("asset"))X.asset=S.common.Asset.toObject(T.asset,_);if(T.amount!=null&&T.hasOwnProperty("amount"))X.amount=T.amount;if(T.decimals!=null&&T.hasOwnProperty("decimals"))if(typeof T.decimals==="number")X.decimals=_.longs===String?String(T.decimals):T.decimals;else X.decimals=_.longs===String?v.Long.prototype.toString.call(T.decimals):_.longs===Number?new v.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber():T.decimals;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.PubKeySet=(()=>{function y(G){if(G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.secp256k1!=null&&Object.hasOwnProperty.call(T,"secp256k1"))_.uint32(10).string(T.secp256k1);if(T.ed25519!=null&&Object.hasOwnProperty.call(T,"ed25519"))_.uint32(18).string(T.ed25519);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.PubKeySet;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.secp256k1=T.string();break;case 2:W.ed25519=T.string();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1")){if(!v.isString(T.secp256k1))return"secp256k1: string expected"}if(T.ed25519!=null&&T.hasOwnProperty("ed25519")){if(!v.isString(T.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(T){if(T instanceof S.common.PubKeySet)return T;let _=new S.common.PubKeySet;if(T.secp256k1!=null)_.secp256k1=String(T.secp256k1);if(T.ed25519!=null)_.ed25519=String(T.ed25519);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.defaults)X.secp256k1="",X.ed25519="";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1"))X.secp256k1=T.secp256k1;if(T.ed25519!=null&&T.hasOwnProperty("ed25519"))X.ed25519=T.ed25519;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.Tx=(()=>{function y(G){if(this.coins=[],this.gas=[],G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=v.emptyArray,y.prototype.gas=v.emptyArray,y.prototype.memo="",y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.id!=null&&Object.hasOwnProperty.call(T,"id"))_.uint32(10).string(T.id);if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))_.uint32(18).string(T.chain);if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))_.uint32(26).string(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))_.uint32(34).string(T.toAddress);if(T.coins?.length)for(let X=0;X<T.coins.length;++X)S.common.Coin.encode(T.coins[X],_.uint32(42).fork()).ldelim();if(T.gas?.length)for(let X=0;X<T.gas.length;++X)S.common.Coin.encode(T.gas[X],_.uint32(50).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))_.uint32(58).string(T.memo);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.Tx;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.id=T.string();break;case 2:W.chain=T.string();break;case 3:W.fromAddress=T.string();break;case 4:W.toAddress=T.string();break;case 5:if(!W.coins?.length)W.coins=[];W.coins.push(S.common.Coin.decode(T,T.uint32()));break;case 6:if(!W.gas?.length)W.gas=[];W.gas.push(S.common.Coin.decode(T,T.uint32()));break;case 7:W.memo=T.string();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.id!=null&&T.hasOwnProperty("id")){if(!v.isString(T.id))return"id: string expected"}if(T.chain!=null&&T.hasOwnProperty("chain")){if(!v.isString(T.chain))return"chain: string expected"}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!v.isString(T.fromAddress))return"fromAddress: string expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!v.isString(T.toAddress))return"toAddress: string expected"}if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let _=0;_<T.coins.length;++_){let X=S.common.Coin.verify(T.coins[_]);if(X)return"coins."+X}}if(T.gas!=null&&T.hasOwnProperty("gas")){if(!Array.isArray(T.gas))return"gas: array expected";for(let _=0;_<T.gas.length;++_){let X=S.common.Coin.verify(T.gas[_]);if(X)return"gas."+X}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!v.isString(T.memo))return"memo: string expected"}return null},y.fromObject=function(T){if(T instanceof S.common.Tx)return T;let _=new S.common.Tx;if(T.id!=null)_.id=String(T.id);if(T.chain!=null)_.chain=String(T.chain);if(T.fromAddress!=null)_.fromAddress=String(T.fromAddress);if(T.toAddress!=null)_.toAddress=String(T.toAddress);if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Tx.coins: array expected");_.coins=[];for(let X=0;X<T.coins.length;++X){if(typeof T.coins[X]!=="object")throw TypeError(".common.Tx.coins: object expected");_.coins[X]=S.common.Coin.fromObject(T.coins[X])}}if(T.gas){if(!Array.isArray(T.gas))throw TypeError(".common.Tx.gas: array expected");_.gas=[];for(let X=0;X<T.gas.length;++X){if(typeof T.gas[X]!=="object")throw TypeError(".common.Tx.gas: object expected");_.gas[X]=S.common.Coin.fromObject(T.gas[X])}}if(T.memo!=null)_.memo=String(T.memo);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.arrays||_.defaults)X.coins=[],X.gas=[];if(_.defaults)X.id="",X.chain="",X.fromAddress="",X.toAddress="",X.memo="";if(T.id!=null&&T.hasOwnProperty("id"))X.id=T.id;if(T.chain!=null&&T.hasOwnProperty("chain"))X.chain=T.chain;if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))X.fromAddress=T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))X.toAddress=T.toAddress;if(T.coins?.length){X.coins=[];for(let W=0;W<T.coins.length;++W)X.coins[W]=S.common.Coin.toObject(T.coins[W],_)}if(T.gas?.length){X.gas=[];for(let W=0;W<T.gas.length;++W)X.gas[W]=S.common.Coin.toObject(T.gas[W],_)}if(T.memo!=null&&T.hasOwnProperty("memo"))X.memo=T.memo;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.Fee=(()=>{function y(G){if(this.coins=[],G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.coins=v.emptyArray,y.prototype.poolDeduct="",y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.coins?.length)for(let X=0;X<T.coins.length;++X)S.common.Coin.encode(T.coins[X],_.uint32(10).fork()).ldelim();if(T.poolDeduct!=null&&Object.hasOwnProperty.call(T,"poolDeduct"))_.uint32(18).string(T.poolDeduct);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.Fee;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:if(!W.coins?.length)W.coins=[];W.coins.push(S.common.Coin.decode(T,T.uint32()));break;case 2:W.poolDeduct=T.string();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let _=0;_<T.coins.length;++_){let X=S.common.Coin.verify(T.coins[_]);if(X)return"coins."+X}}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct")){if(!v.isString(T.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(T){if(T instanceof S.common.Fee)return T;let _=new S.common.Fee;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Fee.coins: array expected");_.coins=[];for(let X=0;X<T.coins.length;++X){if(typeof T.coins[X]!=="object")throw TypeError(".common.Fee.coins: object expected");_.coins[X]=S.common.Coin.fromObject(T.coins[X])}}if(T.poolDeduct!=null)_.poolDeduct=String(T.poolDeduct);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.arrays||_.defaults)X.coins=[];if(_.defaults)X.poolDeduct="";if(T.coins?.length){X.coins=[];for(let W=0;W<T.coins.length;++W)X.coins[W]=S.common.Coin.toObject(T.coins[W],_)}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct"))X.poolDeduct=T.poolDeduct;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.ProtoUint=(()=>{function y(G){if(G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.value="",y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.value!=null&&Object.hasOwnProperty.call(T,"value"))_.uint32(10).string(T.value);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.ProtoUint;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.value=T.string();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.value!=null&&T.hasOwnProperty("value")){if(!v.isString(T.value))return"value: string expected"}return null},y.fromObject=function(T){if(T instanceof S.common.ProtoUint)return T;let _=new S.common.ProtoUint;if(T.value!=null)_.value=String(T.value);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.defaults)X.value="";if(T.value!=null&&T.hasOwnProperty("value"))X.value=T.value;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f})();S.types=(()=>{let f={};return f.MsgDeposit=(()=>{function y(G){if(this.coins=[],G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.coins=v.emptyArray,y.prototype.memo="",y.prototype.signer=v.newBuffer([]),y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.coins?.length)for(let X=0;X<T.coins.length;++X)S.common.Coin.encode(T.coins[X],_.uint32(10).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))_.uint32(18).string(T.memo);if(T.signer!=null&&Object.hasOwnProperty.call(T,"signer"))_.uint32(26).bytes(T.signer);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.types.MsgDeposit;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:if(!W.coins?.length)W.coins=[];W.coins.push(S.common.Coin.decode(T,T.uint32()));break;case 2:W.memo=T.string();break;case 3:W.signer=T.bytes();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let _=0;_<T.coins.length;++_){let X=S.common.Coin.verify(T.coins[_]);if(X)return"coins."+X}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!v.isString(T.memo))return"memo: string expected"}if(T.signer!=null&&T.hasOwnProperty("signer")){if(!(T.signer&&typeof T.signer.length==="number"||v.isString(T.signer)))return"signer: buffer expected"}return null},y.fromObject=function(T){if(T instanceof S.types.MsgDeposit)return T;let _=new S.types.MsgDeposit;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".types.MsgDeposit.coins: array expected");_.coins=[];for(let X=0;X<T.coins.length;++X){if(typeof T.coins[X]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");_.coins[X]=S.common.Coin.fromObject(T.coins[X])}}if(T.memo!=null)_.memo=String(T.memo);if(T.signer!=null){if(typeof T.signer==="string")v.base64.decode(T.signer,_.signer=v.newBuffer(v.base64.length(T.signer)),0);else if(T.signer.length)_.signer=T.signer}return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.arrays||_.defaults)X.coins=[];if(_.defaults){if(X.memo="",_.bytes===String)X.signer="";else if(X.signer=[],_.bytes!==Array)X.signer=v.newBuffer(X.signer)}if(T.coins?.length){X.coins=[];for(let W=0;W<T.coins.length;++W)X.coins[W]=S.common.Coin.toObject(T.coins[W],_)}if(T.memo!=null&&T.hasOwnProperty("memo"))X.memo=T.memo;if(T.signer!=null&&T.hasOwnProperty("signer"))X.signer=_.bytes===String?v.base64.encode(T.signer,0,T.signer.length):_.bytes===Array?Array.prototype.slice.call(T.signer):T.signer;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.MsgSend=(()=>{function y(G){if(this.amount=[],G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.fromAddress=v.newBuffer([]),y.prototype.toAddress=v.newBuffer([]),y.prototype.amount=v.emptyArray,y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))_.uint32(10).bytes(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))_.uint32(18).bytes(T.toAddress);if(T.amount?.length)for(let X=0;X<T.amount.length;++X)S.cosmos.base.v1beta1.Coin.encode(T.amount[X],_.uint32(26).fork()).ldelim();return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.types.MsgSend;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.fromAddress=T.bytes();break;case 2:W.toAddress=T.bytes();break;case 3:if(!W.amount?.length)W.amount=[];W.amount.push(S.cosmos.base.v1beta1.Coin.decode(T,T.uint32()));break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!(T.fromAddress&&typeof T.fromAddress.length==="number"||v.isString(T.fromAddress)))return"fromAddress: buffer expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!(T.toAddress&&typeof T.toAddress.length==="number"||v.isString(T.toAddress)))return"toAddress: buffer expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!Array.isArray(T.amount))return"amount: array expected";for(let _=0;_<T.amount.length;++_){let X=S.cosmos.base.v1beta1.Coin.verify(T.amount[_]);if(X)return"amount."+X}}return null},y.fromObject=function(T){if(T instanceof S.types.MsgSend)return T;let _=new S.types.MsgSend;if(T.fromAddress!=null){if(typeof T.fromAddress==="string")v.base64.decode(T.fromAddress,_.fromAddress=v.newBuffer(v.base64.length(T.fromAddress)),0);else if(T.fromAddress.length)_.fromAddress=T.fromAddress}if(T.toAddress!=null){if(typeof T.toAddress==="string")v.base64.decode(T.toAddress,_.toAddress=v.newBuffer(v.base64.length(T.toAddress)),0);else if(T.toAddress.length)_.toAddress=T.toAddress}if(T.amount){if(!Array.isArray(T.amount))throw TypeError(".types.MsgSend.amount: array expected");_.amount=[];for(let X=0;X<T.amount.length;++X){if(typeof T.amount[X]!=="object")throw TypeError(".types.MsgSend.amount: object expected");_.amount[X]=S.cosmos.base.v1beta1.Coin.fromObject(T.amount[X])}}return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.arrays||_.defaults)X.amount=[];if(_.defaults){if(_.bytes===String)X.fromAddress="";else if(X.fromAddress=[],_.bytes!==Array)X.fromAddress=v.newBuffer(X.fromAddress);if(_.bytes===String)X.toAddress="";else if(X.toAddress=[],_.bytes!==Array)X.toAddress=v.newBuffer(X.toAddress)}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))X.fromAddress=_.bytes===String?v.base64.encode(T.fromAddress,0,T.fromAddress.length):_.bytes===Array?Array.prototype.slice.call(T.fromAddress):T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))X.toAddress=_.bytes===String?v.base64.encode(T.toAddress,0,T.toAddress.length):_.bytes===Array?Array.prototype.slice.call(T.toAddress):T.toAddress;if(T.amount?.length){X.amount=[];for(let W=0;W<T.amount.length;++W)X.amount[W]=S.cosmos.base.v1beta1.Coin.toObject(T.amount[W],_)}return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f})();S.cosmos=(()=>{let f={};return f.base=(()=>{let y={};return y.v1beta1=(()=>{let G={};return G.Coin=(()=>{function T(_){if(_){for(let X=Object.keys(_),W=0;W<X.length;++W)if(_[X[W]]!=null)this[X[W]]=_[X[W]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(X){return new T(X)},T.encode=function(X,W){if(!W)W=ET.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))W.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))W.uint32(18).string(X.amount);return W},T.encodeDelimited=function(X,W){return this.encode(X,W).ldelim()},T.decode=function(X,W){if(!(X instanceof l))X=l.create(X);let Z=W===void 0?X.len:X.pos+W,J=new S.cosmos.base.v1beta1.Coin;while(X.pos<Z){let Q=X.uint32();switch(Q>>>3){case 1:J.denom=X.string();break;case 2:J.amount=X.string();break;default:X.skipType(Q&7);break}}return J},T.decodeDelimited=function(X){if(!(X instanceof l))X=new l(X);return this.decode(X,X.uint32())},T.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!v.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!v.isString(X.amount))return"amount: string expected"}return null},T.fromObject=function(X){if(X instanceof S.cosmos.base.v1beta1.Coin)return X;let W=new S.cosmos.base.v1beta1.Coin;if(X.denom!=null)W.denom=String(X.denom);if(X.amount!=null)W.amount=String(X.amount);return W},T.toObject=function(X,W){if(!W)W={};let Z={};if(W.defaults)Z.denom="",Z.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))Z.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))Z.amount=X.amount;return Z},T.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},T})(),G.DecCoin=(()=>{function T(_){if(_){for(let X=Object.keys(_),W=0;W<X.length;++W)if(_[X[W]]!=null)this[X[W]]=_[X[W]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(X){return new T(X)},T.encode=function(X,W){if(!W)W=ET.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))W.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))W.uint32(18).string(X.amount);return W},T.encodeDelimited=function(X,W){return this.encode(X,W).ldelim()},T.decode=function(X,W){if(!(X instanceof l))X=l.create(X);let Z=W===void 0?X.len:X.pos+W,J=new S.cosmos.base.v1beta1.DecCoin;while(X.pos<Z){let Q=X.uint32();switch(Q>>>3){case 1:J.denom=X.string();break;case 2:J.amount=X.string();break;default:X.skipType(Q&7);break}}return J},T.decodeDelimited=function(X){if(!(X instanceof l))X=new l(X);return this.decode(X,X.uint32())},T.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!v.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!v.isString(X.amount))return"amount: string expected"}return null},T.fromObject=function(X){if(X instanceof S.cosmos.base.v1beta1.DecCoin)return X;let W=new S.cosmos.base.v1beta1.DecCoin;if(X.denom!=null)W.denom=String(X.denom);if(X.amount!=null)W.amount=String(X.amount);return W},T.toObject=function(X,W){if(!W)W={};let Z={};if(W.defaults)Z.denom="",Z.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))Z.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))Z.amount=X.amount;return Z},T.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},T})(),G.IntProto=(()=>{function T(_){if(_){for(let X=Object.keys(_),W=0;W<X.length;++W)if(_[X[W]]!=null)this[X[W]]=_[X[W]]}}return T.prototype.int="",T.create=function(X){return new T(X)},T.encode=function(X,W){if(!W)W=ET.create();if(X.int!=null&&Object.hasOwnProperty.call(X,"int"))W.uint32(10).string(X.int);return W},T.encodeDelimited=function(X,W){return this.encode(X,W).ldelim()},T.decode=function(X,W){if(!(X instanceof l))X=l.create(X);let Z=W===void 0?X.len:X.pos+W,J=new S.cosmos.base.v1beta1.IntProto;while(X.pos<Z){let Q=X.uint32();switch(Q>>>3){case 1:J.int=X.string();break;default:X.skipType(Q&7);break}}return J},T.decodeDelimited=function(X){if(!(X instanceof l))X=new l(X);return this.decode(X,X.uint32())},T.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.int!=null&&X.hasOwnProperty("int")){if(!v.isString(X.int))return"int: string expected"}return null},T.fromObject=function(X){if(X instanceof S.cosmos.base.v1beta1.IntProto)return X;let W=new S.cosmos.base.v1beta1.IntProto;if(X.int!=null)W.int=String(X.int);return W},T.toObject=function(X,W){if(!W)W={};let Z={};if(W.defaults)Z.int="";if(X.int!=null&&X.hasOwnProperty("int"))Z.int=X.int;return Z},T.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},T})(),G.DecProto=(()=>{function T(_){if(_){for(let X=Object.keys(_),W=0;W<X.length;++W)if(_[X[W]]!=null)this[X[W]]=_[X[W]]}}return T.prototype.dec="",T.create=function(X){return new T(X)},T.encode=function(X,W){if(!W)W=ET.create();if(X.dec!=null&&Object.hasOwnProperty.call(X,"dec"))W.uint32(10).string(X.dec);return W},T.encodeDelimited=function(X,W){return this.encode(X,W).ldelim()},T.decode=function(X,W){if(!(X instanceof l))X=l.create(X);let Z=W===void 0?X.len:X.pos+W,J=new S.cosmos.base.v1beta1.DecProto;while(X.pos<Z){let Q=X.uint32();switch(Q>>>3){case 1:J.dec=X.string();break;default:X.skipType(Q&7);break}}return J},T.decodeDelimited=function(X){if(!(X instanceof l))X=new l(X);return this.decode(X,X.uint32())},T.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.dec!=null&&X.hasOwnProperty("dec")){if(!v.isString(X.dec))return"dec: string expected"}return null},T.fromObject=function(X){if(X instanceof S.cosmos.base.v1beta1.DecProto)return X;let W=new S.cosmos.base.v1beta1.DecProto;if(X.dec!=null)W.dec=String(X.dec);return W},T.toObject=function(X,W){if(!W)W={};let Z={};if(W.defaults)Z.dec="";if(X.dec!=null&&X.hasOwnProperty("dec"))Z.dec=X.dec;return Z},T.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},T})(),G})(),y})(),f})()});async function Uf(){let{$root:f}=await Promise.resolve().then(() => (P_(),A_)),y=await import("@cosmjs/proto-signing"),G=y.Registry??y.default?.Registry,T=await import("@cosmjs/stargate"),_=T.defaultRegistryTypes??T.default?.defaultRegistryTypes;return new G([..._,["/types.MsgSend",f.types.MsgSend],["/types.MsgDeposit",f.types.MsgDeposit]])}async function aT(f){let y=await import("@cosmjs/stargate"),G=y.AminoTypes??y.default?.AminoTypes,T=f===x_.Chain.THORChain?"thorchain":"mayachain";return new G({"/types.MsgDeposit":{aminoType:`${T}/MsgDeposit`,fromAmino:({signer:_,...X})=>({...X,signer:T0(_)}),toAmino:({signer:_,...X})=>({...X,signer:f0(_)})},"/types.MsgSend":{aminoType:`${T}/MsgSend`,fromAmino:({from_address:_,to_address:X,...W})=>({...W,fromAddress:T0(_),toAddress:T0(X)}),toAmino:({fromAddress:_,toAddress:X,...W})=>({...W,from_address:f0(_),to_address:f0(X)})}})}var x_;var M1=E(()=>{q1();x_=require("@swapkit/helpers")});function D1(f){let{assetValue:y,recipient:G,memo:T,sender:_,asSignable:X,asAminoMessage:W}=f;if(G)return E_({asAminoMessage:W,asSignable:X,assetValue:y,memo:T,recipient:G,sender:_});return n_({asAminoMessage:W,asSignable:X,assetValue:y,memo:T,sender:_})}async function E_({sender:f,recipient:y,assetValue:G,memo:T="",asSignable:_=!0,asAminoMessage:X=!1,sequence:W,accountNumber:Z}){let J=G.chain,Q=await CT.getRPCUrl(J),L=await S_({rpcUrl:Q,sender:f}),{chainId:O}=CT.getChainConfig(J),U=B1({assetValue:G,recipient:y,sender:f}),M=_?await sT(X?U:eT(U),J):U;return{accountNumber:Z||L.accountNumber,chainId:O,fee:uT(J),memo:T,msgs:[M],sequence:W||L.sequence}}async function n_({sender:f,assetValue:y,memo:G="",asSignable:T=!0,asAminoMessage:_=!1,sequence:X,accountNumber:W}){let Z=y.chain,J=await CT.getRPCUrl(Z),Q=await S_({rpcUrl:J,sender:f}),{chainId:L}=CT.getChainConfig(Z),O=w1({assetValue:y,memo:G,sender:f}),U=T?await sT(_?O:eT(O),Z):O;return{accountNumber:W||Q.accountNumber,chainId:L,fee:uT(Z),memo:G,msgs:[U],sequence:X||Q.sequence}}function eT(f){if(f.type==="thorchain/MsgSend"||f.type==="mayachain/MsgSend")return f;return{...f,value:{...f.value,coins:f.value.coins.map((y)=>{let G=CT.AssetValue.from({asset:y.asset}),T=(G.isSynthetic?G.symbol.split("/")?.[1]:G.symbol)?.toUpperCase(),_=(G.isSynthetic?G.symbol.split("/")?.[0]:G.chain)?.toUpperCase();return{...y,asset:{chain:_,symbol:T,synth:G.isSynthetic,ticker:G.ticker}}})}}}async function G0({chain:f,memo:y,msgs:G}){let T=await Uf(),_=await aT(f),X={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:G.map((W)=>_.fromAmino(W))}};return T.encode(X)}var CT,MX,BX,B1=({sender:f,recipient:y,assetValue:G})=>{return{type:`${G.chain===CT.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:G.getBaseValue("string"),denom:rT(G.symbol,!0)}],from_address:f,to_address:y}}},w1=({sender:f,assetValue:y,memo:G=""})=>{return{type:`${y.chain===CT.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:y0(y)}],memo:G,signer:f}}},i0=({sender:f,recipient:y,assetValue:G,memo:T})=>{return!y?w1({assetValue:G,memo:T,sender:f}):B1({assetValue:G,recipient:y,sender:f})},sT=async(f,y)=>{return(await aT(y)).fromAmino(f)},S_=async({rpcUrl:f,sender:y})=>{let T=await(await hT(f)).getAccount(y);if(!T)throw new CT.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return T};var V_=E(()=>{_0();M1();CT=require("@swapkit/helpers"),MX=uT(CT.Chain.THORChain).gas,BX=uT(CT.Chain.Maya).gas});var v_=()=>{};var o_=E(()=>{v_()});var O1=E(()=>{q1();V_();M1();o_()});async function C1(f,y){try{let T=(await R1.SwapKitApi.getGasRate()).find((_)=>_.chainId===f)?.value;return T?Number.parseFloat(T):y}catch{return y}}async function H1({phrase:f,prefix:y,...G}){let T="derivationPath"in G?G.derivationPath:`${V.DerivationPath[G.chain]}/${G.index}`;return await u_.DirectSecp256k1HdWallet.fromMnemonic(f,{hdPaths:[l_.stringToPath(T)],prefix:y})}async function wX({privateKey:f,prefix:y}){let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(f,y)}function h_(f){return async function({signature:G,message:T,address:_}){let X=await f(_);if(!X?.pubkey)throw new V.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let W=await import("@cosmjs/crypto"),Z=W.Secp256k1Signature??W.default?.Secp256k1Signature,J=W.Secp256k1??W.default?.Secp256k1,Q=Z.fromFixedLength(Tf.base64.decode(G));return J.verifySignature(Q,Tf.base64.decode(T),X.pubkey.value)}}function W0({chain:f,...y}){let G=V.CosmosChainPrefixes[f],T="index"in y?y.index||0:0,_=V.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:V.updateDerivationPath(V.NetworkDerivationPath[f],{index:T})),X;async function W(){if(X)return X;return X=await X0.match(y).with({phrase:X0.P.string},({phrase:M})=>H1({derivationPath:_,phrase:M,prefix:G})).with({signer:X0.P.any},({signer:M})=>M).otherwise(()=>{return}),X}async function Z(M){let N=await V.getRPCUrl(f);return(await hT(N)).getAccount(M)}async function J(){let M=await W(),[N]=await M?.getAccounts()||[];return N?.address}async function Q(){let M=await W(),[N]=await M?.getAccounts()||[];if(!N?.pubkey)throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");return Tf.base64.encode(N?.pubkey)}async function L(M){let N=await W(),z=await J(),B=await V.getRPCUrl(f);if(!(N&&z))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Nf(B,N)).sign(z,M.msgs,M.fee,M.memo,{accountNumber:M.accountNumber,chainId:M.chainId,sequence:M.sequence})}async function O(M){let N=await W(),z=await J(),B=await V.getRPCUrl(f);if(!(N&&z))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");let H=await(await Nf(B,N)).signAndBroadcast(z,M.msgs,M.fee,M.memo);if(H.code!==0)throw new V.SwapKitError("core_swap_transaction_error",{code:H.code,message:H.rawLog});return H.transactionHash}async function U({recipient:M,assetValue:N,memo:z="",feeRate:B,feeOptionKey:k=V.FeeOption.Fast}){let H=await W(),F=await J();if(!(H&&F))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");let w=await V.getRPCUrl(f),Y=V.AssetValue.from({chain:f}),q=y0(Y),D=B||HX((await j_(f,K_[f]))[k],q),R=await Nf(w,H),$=rT(N.symbol),C=[{amount:N.getBaseValue("string"),denom:$}],{transactionHash:I}=await R.sendTokens(F,M,C,D,z);return I}return{createPrivateKeyFromPhrase:CX(_),createTransaction:N1,fetchFeeRateFromSwapKit:C1,getAccount:Z,getAddress:J,getBalance:async(M,N)=>{let z=await b_(f)(M),B=await Promise.all(z.filter(({denom:k})=>k&&!k.includes("IBC/")&&!([V.Chain.THORChain,V.Chain.Maya].includes(f)&&k.split("-").length>2)).map(({denom:k,amount:H})=>{let F=[V.Chain.THORChain,V.Chain.Maya].includes(f)&&(k.includes("/")||k.includes("˜"))?`${f}.${k}`:k;return U1(F,H)}));if(B.length===0)return[V.AssetValue.from({chain:f})];return B},getBalanceAsDenoms:b_(f),getFees:()=>j_(f,K_[f]),getPubKey:Q,getSignerFromPhrase:({phrase:M,derivationPath:N})=>H1({derivationPath:V.derivationPathToString(N),index:T,phrase:M,prefix:G}),getSignerFromPrivateKey:async(M)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(M,G)},signAndBroadcastTransaction:O,signTransaction:L,transfer:U,validateAddress:m_(f),verifySignature:h_(Z)}}async function DX(f,y){try{let T=(await R1.SwapKitApi.getGasRate()).find((_)=>_.chainId===f)?.value;return T?Number.parseFloat(T):y}catch{return y}}function OX({assetValue:{chain:f}}){return V.AssetValue.from({chain:f,value:RX(f)})}async function j_(f,y){let{chainId:G,baseDecimal:T}=V.getChainConfig(f),_=await C1(G,y);return{average:V.SwapKitNumber.fromBigInt(BigInt(_),T),fast:V.SwapKitNumber.fromBigInt(BigInt(V.applyFeeMultiplier(_,V.FeeOption.Fast,!0)),T),fastest:V.SwapKitNumber.fromBigInt(BigInt(V.applyFeeMultiplier(_,V.FeeOption.Fastest,!0)),T)}}function HX(f,y){return{amount:[{amount:f.getBaseValue("string"),denom:y}],gas:"200000"}}function RX(f){return{[V.Chain.Cosmos]:0.007,[V.Chain.Kujira]:0.02,[V.Chain.Noble]:0.01,[V.Chain.THORChain]:0.02,[V.Chain.Maya]:0.02,[V.Chain.Harbor]:0.02}[f]||0}function m_(f){let y=V.CosmosChainPrefixes[f];return function(T){if(!T.startsWith(y))return!1;try{let{prefix:_,words:X}=Tf.bech32.decode(T);return Tf.bech32.encode(_,X)===T.toLocaleLowerCase()}catch{return!1}}}function b_(f){return async function(G){let T=await V.getRPCUrl(f);return(await(await hT(T)).getAllBalances(G)).map((Z)=>({...Z,denom:Z.denom.includes("/")?Z.denom.toUpperCase():Z.denom}))}}function CX(f){return async function(G){let T=await import("@cosmjs/crypto"),_=T.stringToPath??T.default?.stringToPath,X=T.Slip10Curve??T.default?.Slip10Curve,W=T.Slip10??T.default?.Slip10,Z=T.EnglishMnemonic??T.default?.EnglishMnemonic,J=T.Bip39??T.default?.Bip39,Q=new Z(G),L=await J.mnemonicToSeed(Q),{privkey:O}=W.derivePath(X.Secp256k1,L,_(f));return O}}var l_,u_,Tf,V,R1,X0,K_;var d0=E(()=>{_0();l_=require("@cosmjs/crypto"),u_=require("@cosmjs/proto-signing"),Tf=require("@scure/base"),V=require("@swapkit/helpers"),R1=require("@swapkit/helpers/api"),X0=require("ts-pattern");K_={[V.Chain.Cosmos]:1000,[V.Chain.Kujira]:1000,[V.Chain.Noble]:1000,[V.Chain.THORChain]:5000000,[V.Chain.Maya]:5000000,[V.Chain.Harbor]:5000000}});function FX({prefix:f,derivationPath:y}){return async function(T,_=0){let X=await import("@cosmjs/amino"),W=X.Secp256k1HdWallet??X.default?.Secp256k1HdWallet,Z=await import("@cosmjs/crypto"),J=Z.stringToPath??Z.default?.stringToPath;return W.fromMnemonic(T,{hdPaths:[J(`${y}/${_}`)],prefix:f})}}function kX(f){return ff.base64.encode(f)}function $X(f){return async function({wallet:G,tx:T}){let{msgs:_,accountNumber:X,sequence:W,chainId:Z,fee:J,memo:Q}=typeof T==="string"?JSON.parse(T):T,L=(await G.getAccounts())?.[0]?.address||"",O=await aT(f),U=await Uf(),M=await z1(G,{aminoTypes:O,registry:U}),N=[];for(let k of _){let H=await sT(k,f);N.push(H)}let{signatures:[z]}=await M.sign(L,N,J,Q,{accountNumber:X,chainId:Z,sequence:W});return{bodyBytes:await G0({chain:f,memo:Q,msgs:_.map(eT)}),signature:kX(z)}}}function IX({prefix:f,chain:y}){return async function(T,_,X,W,Z){let J=await s.getRPCUrl(y),{encodeSecp256k1Pubkey:Q,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:O}=(await import("@cosmjs/stargate")).default,{sequence:U,fee:M}=JSON.parse(T),N=await p_(X,W),z=_.map((H)=>[L(Q(ff.base64.decode(H.pubKey)),f),ff.base64.decode(H.signature)]),B=await hT(J),{transactionHash:k}=await B.broadcastTx(O(N,U,M,Z,new Map(z)));return k}}async function p_(f,y,G=!0){let{createMultisigThresholdPubkey:T,encodeSecp256k1Pubkey:_}=(await import("@cosmjs/amino")).default;return T(f.map((X)=>_(ff.base64.decode(X))),y,G)}function AX(f){return ff.base64.decode(f)}async function PX({privateKey:f,message:y}){let{Secp256k1:G}=(await import("@cosmjs/crypto")).default,T=await G.createSignature(ff.base64.decode(y),f);return ff.base64.encode(Buffer.concat([T.r(32),T.s(32)]))}function F1({chain:f,...y}){let{nodeUrl:G}=s.getChainConfig(f),{isStagenet:T}=s.SKConfig.get("envs"),_=f===s.Chain.THORChain,X=`${T?"s":""}${s.CosmosChainPrefixes[f]}`,W="index"in y?y.index||0:0,Z="derivationPath"in y&&y.derivationPath?y.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[f],{index:W}),J=W0({chain:f,...y}),Q=uT(f);async function L(){let U,M=`${G}/${_?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:N}}=await s.RequestClient.get(M);if(!N||Number.isNaN(N)||N<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:N.toString()});U=new s.SwapKitNumber(N)}catch{U=new s.SwapKitNumber({decimal:s.getChainConfig(f).baseDecimal,value:_?0.02:1})}return{[s.FeeOption.Average]:U,[s.FeeOption.Fast]:U,[s.FeeOption.Fastest]:U}}async function O({assetValue:U,memo:M="",recipient:N}){let z=await s.getRPCUrl(f),B=await Z0.match(y).with({phrase:Z0.P.string},({phrase:I})=>J.getSignerFromPhrase({derivationPath:Z,phrase:I})).with({signer:Z0.P.any},({signer:I})=>I).otherwise(()=>{return}),{TxRaw:k}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),H=(await B?.getAccounts())?.[0]?.address;if(!(H&&B))throw new s.SwapKitError("toolbox_cosmos_no_signer");let F="signAmino"in B,w=await Uf(),Y=await aT(f),q=await Nf(z,B,{aminoTypes:Y,registry:w}),D=i0({assetValue:U,memo:M,recipient:N,sender:H});if(F){let I=await sT(D,f),{signatures:P,authInfoBytes:n}=await q.sign(H,[I],Q,M),b=k.encode({authInfoBytes:n,bodyBytes:await G0({chain:f,memo:M,msgs:[D].map(eT)}),signatures:P}).finish();return(await q.broadcastTx(b)).transactionHash}let R=eT(D),$=await sT(R,f);return(await q.signAndBroadcast(H,[$],Q,M)).transactionHash}return{...J,broadcastMultisigTx:IX({chain:f,prefix:X}),buildAminoMsg:i0,buildEncodedTxBody:G0,convertToSignable:sT,createDefaultAminoTypes:()=>aT(f),createDefaultRegistry:Uf,createMultisig:p_,createTransaction:D1,deposit:O,getFees:L,importSignature:AX,parseAminoMessageForDirectSigning:eT,pubkeyToAddress:async(U)=>{let{pubkeyToAddress:M}=(await import("@cosmjs/amino")).default;return M(U,X)},secp256k1HdWalletFromMnemonic:FX({derivationPath:s.derivationPathToString(Z),prefix:X}),signMultisigTx:$X(f),signWithPrivateKey:PX,transfer:O}}var ff,s,Z0;var k1=E(()=>{O1();_0();d0();ff=require("@scure/base"),s=require("@swapkit/helpers"),Z0=require("ts-pattern")});var yf,xX=(f,y)=>{switch(f){case yf.Chain.Cosmos:case yf.Chain.Kujira:case yf.Chain.Noble:return W0({chain:f,...y});case yf.Chain.Maya:case yf.Chain.THORChain:return F1({chain:f,...y});default:throw new yf.SwapKitError("toolbox_cosmos_not_supported",{chain:f})}};var t_=E(()=>{d0();k1();yf=require("@swapkit/helpers");d0();k1()});var r0={};wT(r0,{verifySignature:()=>h_,transferMsgAmino:()=>B1,toBase64:()=>LX,parseAminoMessageForDirectSigning:()=>eT,getSignerFromPrivateKey:()=>wX,getSignerFromPhrase:()=>H1,getMsgSendDenom:()=>rT,getFeeRateFromSwapKit:()=>DX,getDenomWithChain:()=>y0,getDefaultChainFee:()=>uT,getCosmosToolbox:()=>xX,getCosmosAddressValidator:()=>m_,getAssetFromDenom:()=>U1,fromBase64:()=>zX,fetchFeeRateFromSwapKit:()=>C1,estimateTransactionFee:()=>OX,depositMsgAmino:()=>w1,createTransaction:()=>D1,createThorchainToolbox:()=>F1,createStargateClient:()=>hT,createSigningStargateClient:()=>Nf,createOfflineStargateClient:()=>z1,createDefaultRegistry:()=>Uf,createDefaultAminoTypes:()=>aT,createCosmosToolbox:()=>W0,cosmosCreateTransaction:()=>N1,convertToSignable:()=>sT,buildTransferTx:()=>E_,buildEncodedTxBody:()=>G0,buildDepositTx:()=>n_,buildAminoMsg:()=>i0,bech32ToBase64:()=>T0,base64ToBech32:()=>f0,YUM_KUJIRA_FACTORY_DENOM:()=>F_,USK_KUJIRA_FACTORY_DENOM:()=>L1,THORCHAIN_GAS_VALUE:()=>MX,MAYA_GAS_VALUE:()=>BX,DEFAULT_NOBLE_FEE_MAINNET:()=>I_,DEFAULT_KUJI_FEE_MAINNET:()=>$_,DEFAULT_COSMOS_FEE_MAINNET:()=>k_});module.exports=HT(r0);var a0=E(()=>{O1();t_();_0()});async function i_(f){let y=d.AssetValue.from({address:f,chain:d.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:f,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let G=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(f)}`;try{let T=await fetch(G);if(!T.ok)return null;let _=await T.json();if(!Array.isArray(_)||_.length===0)return null;return _.find((W)=>W.id===f)||null}catch{return null}}async function SX(f){let y=await mT(),{PublicKey:G}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:T}=await import("@solana/spl-token"),_=new G(f),{baseDecimal:X}=d.getChainConfig(d.Chain.Solana),W=await y.getBalance(_),Z=[d.AssetValue.from({chain:d.Chain.Solana,fromBaseDecimal:X,value:W||0})],J=await y.getParsedTokenAccountsByOwner(_,{programId:T});for(let{account:Q}of J.value){let L=Q.data.parsed.info,O=L.mint,U=L.tokenAmount.amount;if(Number(U)===0)continue;let M=await i_(O),N=M?.symbol||"UNKNOWN",z=M?.decimals||L.tokenAmount.decimals;Z.push(d.AssetValue.from({asset:`${d.Chain.Solana}.${N}-${O}`,fromBaseDecimal:z,value:U}))}return Z}function I1(f){try{let y=new pT.PublicKey(f);return pT.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function EX(f){let y=f&&"index"in f?f.index||0:0,G=d.derivationPathToString(f&&"derivationPath"in f&&f.derivationPath?f.derivationPath:d.updateDerivationPath(d.NetworkDerivationPath[d.Chain.Solana],{index:y})),T;async function _(){if(T)return T;return T=await J0.match(f).with({phrase:J0.P.string},({phrase:W})=>$1({derivationPath:G,phrase:W})).with({signer:J0.P.any},({signer:W})=>W).otherwise(()=>{return}),T}async function X(){let W=await _();return W?.publicKey?g_(W.publicKey):""}return{broadcastTransaction:s0(mT),createKeysForPath:$1,createTransaction:A1(mT),createTransactionFromInstructions:oX,estimateTransactionFee:nX(mT),getAddress:X,getAddressFromPubKey:g_,getBalance:ST(d.Chain.Solana),getBalanceFromRPC:SX,getConnection:mT,getPubkeyFromAddress:(W)=>new pT.PublicKey(W),signAndBroadcastTransaction:async(W)=>{let Z=await c_(mT,_)(W);return s0(mT)(Z)},signTransaction:c_(mT,_),transfer:KX(mT,_),validateAddress:I1}}function nX(f){return async({recipient:y,assetValue:G,memo:T,isProgramDerivedAddress:_,sender:X})=>{let W=await f(),J=(await A1(f)({assetValue:G,isProgramDerivedAddress:_,memo:T,recipient:y,sender:X})).compileMessage(),Q=await W.getFeeForMessage(J);if(Q.value===null)throw new d.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:L}=d.getChainConfig(d.Chain.Solana);return d.AssetValue.from({chain:d.Chain.Solana,fromBaseDecimal:L,value:Q.value})}}async function mT(){let{Connection:f}=await import("@solana/web3.js"),y=await d.getRPCUrl(d.Chain.Solana);return new f(y,{commitment:"confirmed",fetchMiddleware:(G,T,_)=>{let X={};for(let[W,Z]of Object.entries(T?.headers??{})){let J=W.toLowerCase();if(J!=="pragma"&&J!=="solana-client")X[W]=Z}_(G,{...T,headers:X})}})}function VX(f){return async({assetValue:y,recipient:G,sender:T,isProgramDerivedAddress:_})=>{let X=await f(),W=new pT.PublicKey(T);if(y.isGasAsset){let{Transaction:Z,SystemProgram:J}=await import("@solana/web3.js");return new Z().add(J.transfer({fromPubkey:W,lamports:y.getBaseValue("number"),toPubkey:new pT.PublicKey(G)}))}if(y.address)return vX({amount:y.getBaseValue("number"),connection:X,decimals:y.decimal,from:W,isProgramDerivedAddress:_,recipient:G,tokenAddress:y.address});return}}async function vX({tokenAddress:f,recipient:y,from:G,connection:T,amount:_,decimals:X,isProgramDerivedAddress:W}){let{getAssociatedTokenAddress:Z,getAccount:J,createAssociatedTokenAccountInstruction:Q,createTransferCheckedInstruction:L}=await import("@solana/spl-token"),{Transaction:O}=await import("@solana/web3.js"),U=new O,M=new pT.PublicKey(f),N=await Z(M,G),z=new pT.PublicKey(y),B=await Z(M,z,W),k=!1;try{await J(T,B),k=!0}catch{}if(!k)U.add(Q(G,B,z,M));return U.add(L(N,M,B,G,_,X)),U}function A1(f){return async({recipient:y,assetValue:G,memo:T,isProgramDerivedAddress:_,sender:X})=>{let{createMemoInstruction:W}=await import("@solana/spl-memo"),Z=new pT.PublicKey(X);if(!(_||I1(y)))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let J=await f(),Q=await VX(f)({assetValue:G,isProgramDerivedAddress:_,recipient:y,sender:X});if(!Q)throw new d.SwapKitError("core_transaction_invalid_sender_address");if(T)Q.add(W(T));let L=await J.getLatestBlockhash();return Q.recentBlockhash=L.blockhash,Q.feePayer=Z,Q}}async function oX({instructions:f}){let{Transaction:y}=await import("@solana/web3.js"),G=new y().add(...f);if(!G)throw new d.SwapKitError("core_transaction_invalid_sender_address");return G}function KX(f,y){return async({recipient:G,assetValue:T,memo:_,isProgramDerivedAddress:X})=>{let W=await y();if(!W)throw new d.SwapKitError("core_transaction_invalid_sender_address");let Z=W.publicKey?.toString()??(await W.connect()).publicKey.toString(),J=await A1(f)({assetValue:T,isProgramDerivedAddress:X,memo:_,recipient:G,sender:Z});if("signTransaction"in W){let Q=await W.signTransaction(J);return s0(f)(Q)}return J.sign(W),s0(f)(J)}}function s0(f){return async(y)=>{return(await f()).sendRawTransaction(y.serialize())}}function c_(f,y){return async(G)=>{let T=await y();if(!T)throw new d.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:_}=await import("@solana/web3.js");if(!(G instanceof _)){let W=await(await f()).getLatestBlockhash();G.recentBlockhash=W.blockhash,G.feePayer=T.publicKey||void 0}if("connect"in T)return await T.signTransaction(G);return G.sign([T]),G}}async function $1({phrase:f,derivationPath:y=d.DerivationPath.SOL}){let{HDKey:G}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:T}=await import("@scure/bip39"),{Keypair:_}=await import("@solana/web3.js"),X=T(f),W=G.fromMasterSeed(X);return _.fromSeed(W.derive(y,!0).privateKey)}function g_(f){return f.toString()}var pT,d,J0;var d_=E(()=>{dT();pT=require("@solana/web3.js"),d=require("@swapkit/helpers"),J0=require("ts-pattern")});var P1={};wT(P1,{validateSolanaAddress:()=>I1,getSolanaToolbox:()=>EX,fetchTokenMetaData:()=>i_,createKeysForPath:()=>$1});module.exports=HT(P1);var x1=E(()=>{d_()});function e0(f){if(!f)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(f)}async function Ty({phrase:f,derivationPath:y=p.DerivationPath.STRK}){let{HDKey:G}=await import("@scure/bip32"),{mnemonicToSeedSync:T}=await import("@scure/bip39"),{ec:_,hash:X,encode:W,CallData:Z}=await import("starknet"),J=T(f),L=G.fromMasterSeed(J).derive(y);if(!L.privateKey)throw new p.SwapKitError("toolbox_starknet_no_signer");let O=W.addHexPrefix(Buffer.from(L.privateKey).toString("hex")),U=_.starkCurve.grindKey(O),M=W.addHexPrefix(U),N=_.starkCurve.getStarkKey(M),z=Z.compile([N,0]);return{address:X.calculateContractAddressFromHash(N,E1,z,0),privateKey:M,publicKey:N}}async function n1({phrase:f,derivationPath:y=p.DerivationPath.STRK}){let{Account:G,RpcProvider:T}=await import("starknet"),{privateKey:_,address:X}=await Ty({derivationPath:y,phrase:f}),W=await p.getRPCUrl(p.Chain.Starknet),Z=new T({nodeUrl:W});return new G({address:X,provider:Z,signer:_})}function a_(f){let y=p.Chain.Starknet,G=f&&"index"in f?f.index||0:0,T=p.derivationPathToString(f&&"derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[y],{index:G})),_,X,W;async function Z(){if(X)return X;let{RpcProvider:Y}=await import("starknet"),q=await p.getRPCUrl(y);return X=new Y({nodeUrl:q}),X}async function J(Y){let q=await Z(),D=Y||await U();if(!D)return!1;try{return await q.getClassHashAt(D),!0}catch(R){if(R instanceof Error&&R.message.includes("Contract not found"))return!1;let $=R;if($?.code===20||$?.code===19)return!1;throw R}}async function Q(){let{CallData:Y,hash:q}=await import("starknet"),D=await Z(),R=await O();if(!R)throw new p.SwapKitError("toolbox_starknet_no_signer");if(!W)throw new p.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await J())return R.address;let C=Y.compile([W,0]);if(q.calculateContractAddressFromHash(W,E1,C,0).toLowerCase()!==R.address.toLowerCase())throw new p.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let P={addressSalt:W,classHash:E1,constructorCalldata:C},{transaction_hash:n}=await R.deployAccount(P);return await D.waitForTransaction(n),n}async function L(){if(!await J()){if(!W)throw new p.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await Q()}}async function O(){if(_)return _;return _=await VT.match(f).with({phrase:VT.P.string},async({phrase:Y})=>{let{Account:q,RpcProvider:D}=await import("starknet"),{privateKey:R,address:$,publicKey:C}=await Ty({derivationPath:T,phrase:Y});W=C;let I=await p.getRPCUrl(p.Chain.Starknet),P=new D({nodeUrl:I});return new q({address:$,provider:P,signer:R})}).with({address:VT.P.string,privateKey:VT.P.string},async({privateKey:Y,address:q})=>{let{Account:D}=await import("starknet"),R=await Z();return new D({address:q,provider:R,signer:Y})}).with({signer:VT.P.instanceOf(Object)},({signer:Y})=>Y).otherwise(()=>{return}),_}async function U(){return(await O())?.address??""}async function M(Y){let q=await Z(),{uint256:D,CallData:R}=await import("starknet"),$=[],C=[S1,r_];for(let I of C)try{let[P="0",n="0"]=await q.callContract({calldata:R.compile({account:Y}),contractAddress:I,entrypoint:"balanceOf"}),b=D.uint256ToBN({high:P,low:n});VT.match(I).with(S1,()=>{$.push(p.AssetValue.from({chain:y,value:b}))}).with(r_,()=>{if(b>0n)$.push(p.AssetValue.from({asset:`${y}.ETH-${I}`,value:b}))}).otherwise(()=>{})}catch{}return $}async function N({recipient:Y,assetValue:q}){let{CallData:D,uint256:R}=await import("starknet");if(!e0(Y))throw new p.SwapKitError("core_transaction_invalid_recipient_address",{address:Y});let $=q.isGasAsset?S1:q.address;if(!$)throw new p.SwapKitError("toolbox_starknet_invalid_address",{address:$,assetValue:q});let C=R.bnToUint256(q.getBaseValue("bigint"));return[{calldata:D.compile([Y,C]),contractAddress:$,entrypoint:"transfer"}]}async function z({recipient:Y,assetValue:q,sender:D}){let{baseDecimal:R}=p.getChainConfig(p.Chain.Starknet),$=await O(),C=await VT.match({sender:D,signer:$}).with({sender:VT.P.string},async({sender:I})=>{let{Account:P}=await import("starknet"),n=await Z();return new P({address:I,provider:n,signer:"0x0"})}).with({signer:VT.P.nonNullable},({signer:I})=>I).otherwise((I)=>{throw new p.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:I}})});try{let I=await N({assetValue:q,recipient:Y}),P=await C.estimateInvokeFee(I);if(P?.overall_fee)return p.AssetValue.from({chain:y,fromBaseDecimal:R,value:P.overall_fee})}catch(I){throw new p.SwapKitError("toolbox_starknet_fee_estimation_failed",I)}return p.AssetValue.from({chain:y,value:"0.00001"})}async function B({recipient:Y,assetValue:q,memo:D}){let R=await O();if(!R)throw new p.SwapKitError("toolbox_starknet_no_signer");await L();let $=await N({assetValue:q,memo:D,recipient:Y});return(await R.execute($)).transaction_hash}async function k(Y){let q=await O();if(!q)throw new p.SwapKitError("toolbox_starknet_no_signer");let D=await q.signMessage(Y);return Array.isArray(D)?D:[D.r.toString(),D.s.toString()]}async function H(Y){let q=await O();if(!q)throw new p.SwapKitError("toolbox_starknet_no_signer");return await L(),(await q.execute(Y)).transaction_hash}function F(Y){return H(Y)}function w(Y,q=!0){try{return ST(y)(Y,q)}catch{return M(Y)}}return{broadcastTransaction:H,createKeysForPath:n1,createTransaction:N,deployAccount:Q,estimateTransactionFee:z,getAddress:U,getBalance:w,getProvider:Z,isAccountDeployed:J,signAndBroadcastTransaction:F,signMessage:k,transfer:B,validateAddress:e0}}var p,VT,S1="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",r_="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",E1="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var s_=E(()=>{dT();p=require("@swapkit/helpers"),VT=require("ts-pattern")});var fy={};wT(fy,{validateStarknetAddress:()=>e0,starknetCreateKeysForPath:()=>n1,getStarknetToolbox:()=>a_,deriveStarknetKeys:()=>Ty});module.exports=HT(fy);var yy=E(()=>{s_()});async function f2(f,y,G,T=[],_){let X=await f.getCoins({coinType:G,cursor:_,owner:y}),W=[...T,...X.data];return X.hasNextPage?f2(f,y,G,W,X.nextCursor):W}function jX(f,y,G){let T=y.reduce((J,Q)=>J+BigInt(Q.balance),0n);if(T<G)throw new fT.SwapKitError("toolbox_sui_insufficient_balance",{available:T.toString(),required:G.toString()});let{ids:_}=y.reduce((J,Q)=>{if(J.total>=G)return J;return{ids:[...J.ids,Q.coinObjectId],total:J.total+BigInt(Q.balance)}},{ids:[],total:0n}),X=_[0],W=_.slice(1);if(W.length>0)f.mergeCoins(X,W);let[Z]=f.splitCoins(X,[G]);return Z}function y2(f){try{return T2.isValidSuiAddress(f)}catch{return!1}}function e_(f){return"signWithIntent"in f}function bX({provider:f,...y}={}){let G;async function T(){if(G)return G;return G=await Q0.match(y).with({phrase:Q0.P.string},async({phrase:N})=>{let{Ed25519Keypair:z}=await import("@mysten/sui/keypairs/ed25519");return z.deriveKeypair(N)}).with({signer:Q0.P.any},({signer:N})=>N).otherwise(()=>{return}),G}async function _(N=f){let{SuiClient:z,getFullnodeUrl:B}=await import("@mysten/sui/client");return new z({url:N||B("mainnet")})}async function X(){return(await T())?.toSuiAddress()||""}function W(N){try{let z=fT.AssetValue.from({address:N,chain:fT.Chain.Sui});return{asset:z.toString(),decimals:z.decimal}}catch{}return null}async function Z(N){let z=N||await X();if(!z)throw new fT.SwapKitError("toolbox_sui_address_required");let{baseDecimal:B,chain:k}=fT.getChainConfig(fT.Chain.Sui);try{let H=await _(),{totalBalance:F}=await H.getBalance({owner:z}),w=[fT.AssetValue.from({chain:k,fromBaseDecimal:B,value:F})],Y=await H.getAllBalances({owner:z});for(let{coinType:q,totalBalance:D}of Y){if(q==="0x2::sui::SUI"||Number(D)<=0)continue;let R=W(q);if(R)w.push(fT.AssetValue.from({asset:R.asset,fromBaseDecimal:R.decimals,value:D}))}return w}catch{return[fT.AssetValue.from({chain:k})]}}async function J(N){let z=fT.AssetValue.from({chain:fT.Chain.Sui,value:"0.01"});if(!N)return z;try{let B=await _(),{txBytes:k}=await Q(N),{effects:{status:H,gasUsed:F}}=await B.dryRunTransactionBlock({transactionBlock:k});if(H.status!=="success")return z;let w=Number(F.computationCost)+Number(F.storageCost)-Number(F.storageRebate);return fT.AssetValue.from({chain:fT.Chain.Sui,value:w.toString()})}catch{return z}}async function Q({recipient:N,assetValue:z,gasBudget:B,sender:k}){let{Transaction:H}=await import("@mysten/sui/transactions"),F=k||await X();if(!F)throw new fT.SwapKitError("toolbox_sui_no_sender");try{let w=new H;if(w.setSender(F),z.isGasAsset||z.symbol==="SUI"){let[D]=w.splitCoins(w.gas,[z.getBaseValue("string")]);w.transferObjects([D],N)}else{let D=z.address;if(!D)throw new fT.SwapKitError("toolbox_sui_missing_coin_type");let R=await _(),$=z.getBaseValue("bigint"),C=await f2(R,F,D);if(!C.length)throw new fT.SwapKitError("toolbox_sui_no_coins_found",{coinType:D});let I=jX(w,C,$);w.transferObjects([I],N)}if(B)w.setGasBudget(B);let Y=await _(),q=await w.build({client:Y});return{tx:w,txBytes:q}}catch(w){if(w instanceof fT.SwapKitError)throw w;throw new fT.SwapKitError("toolbox_sui_transaction_creation_error",{error:w})}}async function L(N){let z=await T();if(!z)throw new fT.SwapKitError("toolbox_sui_no_signer");if(N instanceof Uint8Array)return z.signTransaction(N);let{txBytes:B}="tx"in N?N:await Q(N);return z.signTransaction(B)}async function O({assetValue:N,gasBudget:z,recipient:B}){let k=await T();if(!k)throw new fT.SwapKitError("toolbox_sui_no_signer");let H=k.toSuiAddress()||await X();if(!H)throw new fT.SwapKitError("toolbox_sui_no_sender");let{txBytes:F}=await Q({assetValue:N,gasBudget:z,recipient:B,sender:H}),w=await _();if(!e_(k)){let q=await k.signTransaction(F),{digest:D}=await w.executeTransactionBlock({signature:q.signature,transactionBlock:q.bytes});return D}let{digest:Y}=await w.signAndExecuteTransaction({signer:k,transaction:F});return Y}async function U(N){let z=await _(),{digest:B}=await z.executeTransactionBlock({signature:N.signature,transactionBlock:N.bytes});return B}async function M(N){let z=await T();if(!z)throw new fT.SwapKitError("toolbox_sui_no_signer");let B=await _(),k;if(typeof N==="string")k=Uint8Array.from(Buffer.from(N,"base64"));else if(N instanceof Uint8Array)k=N;else k=await N.build({client:B});if(!e_(z)){let F=await z.signTransaction(k),{digest:w}=await B.executeTransactionBlock({signature:F.signature,transactionBlock:F.bytes});return w}let{digest:H}=await B.signAndExecuteTransaction({signer:z,transaction:k});return H}return{broadcastTransaction:U,createTransaction:Q,estimateTransactionFee:J,getAddress:X,getBalance:Z,signAndBroadcastTransaction:M,signTransaction:L,transfer:O,validateAddress:y2}}var T2,fT,Q0;var _2=E(()=>{T2=require("@mysten/sui/utils"),fT=require("@swapkit/helpers"),Q0=require("ts-pattern")});var _y={};wT(_y,{validateSuiAddress:()=>y2,getSuiToolbox:()=>bX});module.exports=HT(_y);var Gy=E(()=>{_2()});async function pX(){let f=Date.now();if(Xy&&f-X2<mX)return Xy;try{return Xy=await W2.getHttpEndpoint(),X2=f,Xy}catch{return qT.getRPCUrl(qT.Chain.Ton)}}function tX(f={}){let y,G,T;async function _(){if(!y){let w=f.provider??await pX();y=new c.TonClient({endpoint:w})}return y}async function X(){return(await Z()).address.toString()}async function W(){if(T)return T;return T=await Mf.match(f).with({phrase:Mf.P.string},async({phrase:w})=>Z2.mnemonicToWalletKey(w.split(" "))).with({signer:Mf.P.any},({signer:w})=>w).otherwise(()=>{return}),T}async function Z(w){if(!G||w){let Y=await W(),q=await _(),D=w||Y;if(!D)throw new qT.SwapKitError("core_wallet_connection_not_found");let R=c.WalletContractV4.create({publicKey:D.publicKey,workchain:0});G=q.open(R)}return G}let J=ST(qT.Chain.Ton);async function Q({assetValue:w,recipient:Y,memo:q,sender:D}){if(w.isGasAsset){let g=q?F(q).toBoc().toString("base64"):void 0;return[{address:Y,amount:w.getBaseValue("string"),payload:g}]}let R=w.address;if(!R)throw new qT.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:w.toString()}});let $=D??await X(),C=await k({jettonMasterAddress:R,ownerAddress:$}),I=c.Address.parse(Y),P=c.Address.parse($),n=w.getBaseValue("bigint"),b=q?F(q):void 0,h=H({destinationAddress:I,forwardPayload:b,jettonAmount:n,responseAddress:P});return[{address:C.toString(),amount:hX.toString(),payload:h.toBoc().toString("base64")}]}function L({sender:w,...Y}){return Q({...Y,sender:w})}function O(w){return w.map((Y)=>{let q=Y.payload?c.Cell.fromBase64(Y.payload):void 0,D=Y.stateInit?c.loadStateInit(c.Cell.fromBase64(Y.stateInit).asSlice()):void 0,R=c.Address.parse(Y.address),$=c.Address.isFriendly(Y.address)?c.Address.parseFriendly(Y.address).isBounceable:!0;return c.internal({body:q,bounce:$,init:D,to:R,value:BigInt(Y.amount)})})}async function U(w){let Y=await W(),q=await Z();if(!q||!Y)throw new qT.SwapKitError("core_wallet_connection_not_found");let D=await _(),{state:R}=await D.getContractState(q.address),$=R==="active",C=$?await q.getSeqno():0,I=q.createTransfer({messages:O(w),secretKey:Y.secretKey,sendMode:G2,seqno:C}),P=c.external({body:I,init:$?void 0:q.init,to:q.address});return c.beginCell().store(c.storeMessage(P)).endCell()}async function M(w){return await(await _()).sendFile(w.toBoc()),w.hash().toString("hex")}async function N(w){let Y=await U(w);return M(Y)}async function z({assetValue:w,recipient:Y,memo:q}){let D=await L({assetValue:w,memo:q,recipient:Y});return N(D)}async function B({sender:w,...Y}){let{baseDecimal:q}=qT.getChainConfig(qT.Chain.Ton),D=await Mf.match(w).with(Mf.P.string,(C)=>{return c.Address.parseFriendly(C).address}).otherwise(async()=>{return(await Z()).address});if(!D)throw new qT.SwapKitError("toolbox_fee_estimation_failed",{chain:qT.Chain.Ton});let R=qT.AssetValue.from({chain:qT.Chain.Ton,value:"0.01"}),$=await _();try{let C=await L({sender:w,...Y}),I=await W(),P=await Z();if(!P||!I)return R;let n=await P.getSeqno(),b=P.createTransfer({messages:O(C),secretKey:I.secretKey,sendMode:G2,seqno:n}),{source_fees:h}=await $.estimateExternalMessageFee(D,{body:b,ignoreSignature:!0,initCode:null,initData:null}),g=h.in_fwd_fee+h.storage_fee+h.gas_fee+h.fwd_fee;return R.set(qT.SwapKitNumber.fromBigInt(BigInt(g),q))}catch{return R}}async function k({jettonMasterAddress:w,ownerAddress:Y}){try{let q=await _(),D=c.Address.parse(w),R=c.Address.parse(Y);return await q.open(c.JettonMaster.create(D)).getWalletAddress(R)}catch{throw new qT.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:w,ownerAddress:Y}})}}function H({jettonAmount:w,destinationAddress:Y,responseAddress:q,forwardAmount:D=uX,forwardPayload:R}){let $=c.beginCell().storeUint(lX,32).storeUint(0,64).storeCoins(w).storeAddress(Y).storeAddress(q).storeBit(0).storeCoins(D);if(R)$.storeBit(1).storeRef(R);else $.storeBit(0);return $.endCell()}function F(w){return c.beginCell().storeUint(0,32).storeStringTail(w).endCell()}return{broadcastTransaction:M,createTransaction:L,estimateTransactionFee:B,getAddress:X,getBalance:J,getJettonWalletAddress:k,sign:U,signAndBroadcastTransaction:N,transfer:z,validateAddress:J2}}function J2(f){try{return c.Address.parse(f),!0}catch{return!1}}var W2,qT,Z2,c,Mf,lX=260734629,uX,hX,G2,mX=60000,Xy,X2=0;var Q2=E(()=>{dT();W2=require("@orbs-network/ton-access"),qT=require("@swapkit/helpers"),Z2=require("@ton/crypto"),c=require("@ton/ton"),Mf=require("ts-pattern"),uX=c.toNano("0.01"),hX=c.toNano("0.05"),G2=c.SendMode.PAY_GAS_SEPARATELY+c.SendMode.IGNORE_ERRORS});var Wy={};wT(Wy,{validateTonAddress:()=>J2,getTONToolbox:()=>tX});module.exports=HT(Wy);var Zy=E(()=>{Q2()});function Y2({deriveAddress:f,getBalance:y,getUtxos:G}){async function T(Z){let{count:J,startIndex:Q=0,change:L=!1}=Z,O=[];for(let U=0;U<J;U++){let M=await f({change:L,index:Q+U});if(M)O.push(M)}return O}async function _(Z){let{gapLimit:J=20,change:Q=!1}=Z??{},L=[],O=0,U=0;while(O<J){let M=await f({change:Q,index:U});if(!M)break;if((await y(M.address)).some((B)=>B.getValue("number")>0))L.push(M),O=0;else O++;U++}return L}async function X(Z=20){let[J,Q]=await Promise.all([_({change:!1,gapLimit:Z}),_({change:!0,gapLimit:Z})]),L=[...J,...Q],O=await Promise.all(L.map(async(M)=>{let z=(await y(M.address)).reduce((B,k)=>B+k.getValue("number"),0);return{...M,balance:z}})),U=O.reduce((M,N)=>M+N.balance,0);return{addresses:O,total:U}}async function W(Z=20){let[J,Q]=await Promise.all([_({change:!1,gapLimit:Z}),_({change:!0,gapLimit:Z})]),L=[...J,...Q];return(await Promise.all(L.map(async(U)=>{return(await G(U.address)).map((N)=>({...N,address:U.address,derivationIndex:U.index,isChange:U.change}))}))).flat()}return{deriveAddresses:T,getAggregatedBalance:X,getAggregatedUtxos:W,scanForAddresses:_}}async function cX({chain:f,txHash:y}){let G=`${Y0(f)}/push/transaction`,T=JSON.stringify({data:y});try{let _=await m.RequestClient.post(G,{body:T,headers:{"Content-Type":"application/json"}});if(_.context.code!==200)throw new m.SwapKitError("toolbox_utxo_broadcast_failed",{error:_.context.error||"Transaction broadcast failed"});return _.data?.transaction_hash||y}catch(_){let X=await m.getRPCUrl(f);if(X){let W=JSON.stringify({id:l5(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),Z=await m.RequestClient.post(X,{body:W,headers:{"Content-Type":"application/json"}});if(Z.error)throw new m.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.error?.message});if(Z.result.includes('"code":-26'))throw new m.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Z.result}throw _}}function Y0(f){return`https://api.blockchair.com/${gX(f)}`}function q2(f){switch(f){case m.Chain.Bitcoin:return 5;case m.Chain.Dogecoin:return 1e4;case m.Chain.Litecoin:return 1;case m.Chain.Zcash:return 1;default:return 2}}function gX(f){switch(f){case m.Chain.BitcoinCash:return"bitcoin-cash";case m.Chain.Litecoin:return"litecoin";case m.Chain.Dash:return"dash";case m.Chain.Dogecoin:return"dogecoin";case m.Chain.Zcash:return"zcash";case m.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function iX(f){try{let{feePerKb:y}=await m.RequestClient.get(`https://app.bitgo.com/api/v2/${f.toLowerCase()}/tx/fee`),G=y/1000;return Math.max(G,q2(f))}catch{return q2(f)}}async function Jy(f,y){let G=await m.RequestClient.get(`${f}${y?`${f.includes("?")?"&":"?"}key=${y}`:""}`);if(!G||G.context.code!==200)throw new m.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${f}`});return G.data}async function z2({address:f,chain:y,apiKey:G}){if(!f)throw new m.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Jy(`${Y0(y)}/dashboards/address/${f}?transaction_details=true`,G))[f]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function dX({address:f,chain:y,apiKey:G}){return(await z2({address:f,apiKey:G,chain:y}))?.address.balance||0}async function N2({chain:f,apiKey:y,txHash:G}){if(!G)throw new m.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Jy(`${Y0(f)}/raw/transaction/${G}`,y))?.[G]?.raw_transaction||""}catch(T){let _=T instanceof Error?T.message:String(T);return console.error(`Failed to fetch raw transaction: ${_}`),""}}async function aX({chain:f,apiKey:y,txHash:G}){if(!G)throw new m.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let _=(await Jy(`${Y0(f)}/dashboards/transaction/${G}`,y))?.[G];if(!_)throw new m.SwapKitError("toolbox_utxo_tx_not_found",{txHash:G});let{transaction:X,inputs:W,outputs:Z}=_,J=W.map((L)=>L.spending_sequence),Q=X.is_rbf===!0||J.some((L)=>L<rX);return{blockId:X.block_id,confirmed:X.block_id!==-1,fee:X.fee,inputs:W,isRBF:Q,outputs:Z,sequences:J,size:X.size,txid:X.hash,weight:X.weight}}async function sX({chain:f,address:y,apiKey:G,offset:T=0,limit:_=30}){return(await Jy(`${Y0(f)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${_}&offset=${T}`,G)).map(({is_spent:J,script_hex:Q,block_id:L,transaction_hash:O,index:U,value:M,spending_signature_hex:N})=>({hash:O,index:U,is_confirmed:L!==-1,is_spent:J,script_hex:Q,txHex:N,value:M}))}function eX(f){return f.reduce((y,G)=>y+G.value,0)}function L2(f,y){let G=[...f].sort((T,_)=>_.value-T.value);if(y){let T=[],_=0;for(let X of G)if(T.push(X),_+=X.value,_>=y)break;return T}return G}async function U2({chain:f,address:y,apiKey:G,targetValue:T,accumulativeValue:_=0,offset:X=0,limit:W=30}){if(!y)throw new m.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Z=await sX({address:y,apiKey:G,chain:f,limit:W,offset:X,targetValue:T}),Q=Z.length<W,L=Z.filter(({is_spent:B})=>!B),O=eX(L),U=_+O,M=T&&U>=T;if(Q||M)return L2(L,T);let N=await U2({accumulativeValue:U,address:y,apiKey:G,chain:f,limit:W,offset:X+W,targetValue:T}),z=[...L,...N];return L2(z,T)}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return console.error(`Failed to fetch unspent UTXOs: ${J}`),[]}}async function T6({address:f,chain:y,apiKey:G,fetchTxHex:T=!0,targetValue:_}){let X=await U2({address:f,apiKey:G,chain:y,targetValue:_}),W=[];for(let{hash:Z,index:J,script_hex:Q,value:L}of X){let O;if(T)O=await N2({apiKey:G,chain:y,txHash:Z});W.push({address:f,hash:Z,index:J,txHex:O,value:L,witnessUtxo:{script:Buffer.from(Q,"hex"),value:L}})}return W}function BT(f){let y=m.SKConfig.get("apiKeys").blockchair||"";return m.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(G)=>cX({chain:f,txHash:G}),getAddressData:(G)=>z2({address:G,apiKey:y,chain:f}),getBalance:(G)=>dX({address:G,apiKey:y,chain:f}),getRawTx:(G)=>N2({apiKey:y,chain:f,txHash:G}),getSuggestedTxFee:()=>iX(f),getTransactionDetails:(G)=>aX({apiKey:y,chain:f,txHash:G}),getUtxos:(G)=>T6({...G,apiKey:y,chain:f})}}function f6(f){return f}function y6(){return function(y){switch(y){case m.Chain.Bitcoin:return Bf.NETWORKS.bitcoin;case m.Chain.BitcoinCash:return Bf.NETWORKS.bitcoinCash;case m.Chain.Dash:return Bf.NETWORKS.dash;case m.Chain.Litecoin:return Bf.NETWORKS.litecoin;case m.Chain.Dogecoin:return Bf.NETWORKS.dogecoin;case m.Chain.Zcash:return Bf.NETWORKS.zcash;default:throw new m.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var m,Bf,rX=4294967294;var M2=E(()=>{dT();m=require("@swapkit/helpers"),Bf=require("@swapkit/utxo-signer")});function X6(f,y,G){return tT.encodeCashAddr({hash:G,prefix:f,type:_6[y]})}function W6(f){let y=tT.decodeCashAddr(f),G=G6[y.type];if(!G)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:G}}var tT,_6,G6,V1;var B2=E(()=>{tT=require("@swapkit/utxo-signer"),_6={P2PKH:tT.CashAddrType.P2PKH,P2SH:tT.CashAddrType.P2SH},G6={[tT.CashAddrType.P2PKH]:"P2PKH",[tT.CashAddrType.P2SH]:"P2SH"};V1={decode:W6,encode:X6}});function K1(f){try{return Qy(f),!0}catch{return!1}}function j1(f){return Qy(f)?.network}function cT(f){let y=Qy(f);if(y?.format==="legacy")return f;return Q6(y)}function q0(f){let y=Qy(f);return Y6(y)}function Qy(f){try{let y=Z6(f);if(y)return y}catch{}try{let y=J6(f);if(y)return y}catch{}throw new v1.SwapKitError("toolbox_utxo_invalid_address",{address:f})}function Z6(f){try{let y=H2.decode(f);if(y.length!==21)throw new v1.SwapKitError("toolbox_utxo_invalid_address",{address:f});let G=y[0],T=Array.prototype.slice.call(y,1);switch(G){case wf.legacy.mainnet.p2pkh:return{format:"legacy",hash:T,network:"mainnet",type:"p2pkh"};case wf.legacy.mainnet.p2sh:return{format:"legacy",hash:T,network:"mainnet",type:"p2sh"};case wf.legacy.testnet.p2pkh:return{format:"legacy",hash:T,network:"testnet",type:"p2pkh"};case wf.legacy.testnet.p2sh:return{format:"legacy",hash:T,network:"testnet",type:"p2sh"};case wf.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2pkh"};case wf.bitpay.mainnet.p2sh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function J6(f){if(f.indexOf(":")!==-1)try{return w2(f)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let G of y)try{return w2(`${G}:${f}`)}catch{}}return}function w2(f){try{let{hash:y,prefix:G,type:T}=V1.decode(f);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:G==="bitcoincash"?"mainnet":"testnet",type:T==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function Q6(f){let y=wf.legacy[f.network][f.type],G=Buffer.alloc(1+f.hash.length);return G[0]=y,G.set(f.hash,1),H2.encode(G)}function Y6(f){let y=f.network==="mainnet"?"bitcoincash":"bchtest",G=f.type==="p2pkh"?"P2PKH":"P2SH",T=new Uint8Array(f.hash);return V1.encode(y,G,T)}var D2,O2,v1,H2,o1,wf;var R2=E(()=>{B2();D2=require("@noble/hashes/sha2.js"),O2=require("@scure/base"),v1=require("@swapkit/helpers"),H2=O2.createBase58check(D2.sha256);((G)=>{G.Mainnet="mainnet";G.Testnet="testnet"})(o1||={});wf={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function PT(f){let y=new Uint8Array(Buffer.from(f,"utf8"));return F2.Script.encode(["RETURN",y])}var C2,F2,q6=1000,qy=10,Ly=2,k2=10,L6=41,z6=107,zy,Yy,L0,Pf=(f)=>{if(f.startsWith("bc1")||f.startsWith("tb1")||f.startsWith("ltc1")||f.startsWith("tltc1"))return"P2WPKH";if(f.startsWith("1")||f.startsWith("m")||f.startsWith("n")||f.startsWith("bitcoincash:q")||f.startsWith("bitcoincash:p")||f.startsWith("q")||f.startsWith("p")||f.startsWith("L")||f.startsWith("M")||f.startsWith("3")||f.startsWith("D")||f.startsWith("A")||f.startsWith("9")||f.startsWith("X")||f.startsWith("7")||f.startsWith("y")||f.startsWith("t1")||f.startsWith("t3")||f.startsWith("tm"))return"P2PKH";throw new C2.SwapKitError("toolbox_utxo_invalid_address",{address:f})},Df=({inputs:f,outputs:y,feeRate:G})=>{let T=f[0]&&"address"in f[0]&&f[0].address?Pf(f[0].address):"P2PKH",X=(G?f.filter((Q)=>Q.value>=Yy["type"in Q&&Q.type?Q.type:"P2PKH"]*Math.ceil(G)):f).reduce((Q,L)=>Q+_f(L),0),W=y?.reduce((Q,L)=>Q+z0(L),0)||L0[T],Z=qy+X+W;return T==="P2WPKH"?Math.ceil(Z+Ly/4):Z},_f=(f)=>{if("type"in f&&f.type)return Yy[f.type];if("address"in f&&f.address)return Yy[Pf(f.address)];return L6+z6},z0=(f,y)=>{if(f?.script)return k2+f.script.length+(f.script.length>=74?2:1);if(y)return L0[y];if("address"in f&&f.address)return L0[Pf(f.address)];return L0.P2PKH};var b1=E(()=>{C2=require("@swapkit/helpers"),F2=require("@swapkit/utxo-signer");((G)=>{G.P2PKH="P2PKH";G.P2WPKH="P2WPKH"})(zy||={});Yy={["P2PKH"]:148,["P2WPKH"]:68},L0={["P2PKH"]:34,["P2WPKH"]:31}});function N0(f){switch(f){case bT.Chain.Bitcoin:case bT.Chain.BitcoinCash:return 550;case bT.Chain.Dash:case bT.Chain.Litecoin:return 5500;case bT.Chain.Dogecoin:return 1e5;case bT.Chain.Zcash:return 546;default:throw new bT.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}function vT({inputs:f,outputs:y,feeRate:G=1,chain:T=bT.Chain.Bitcoin,changeAddress:_=""}){let X=f[0]&&"address"in f[0]&&f[0].address?Pf(f[0].address):"P2PKH",W=f.filter((N)=>_f(N)*G<=N.value),J=X==="P2WPKH"?Math.ceil(Ly/4):0,Q=qy+J+y.reduce((N,z)=>N+z0(z),0),L=y.reduce((N,z)=>N+z.value,0),O=Q*G,U=0,M=[];for(let N of W){let z=_f(N),B=G*z;O+=B,U+=N.value,M.push(N);let k=O+L;if(U<k)continue;let H=U-k,F=G*z0({address:_,value:0});if(H>F){let w=F+O,Y=U-(L+Math.ceil(w));if(Y>Math.max(_f({value:0})*G,N0(T)))return{fee:Math.ceil(w),inputs:M,outputs:y.concat({address:_,value:Y})}}return{fee:Math.ceil(O),inputs:M,outputs:y}}return{fee:Math.ceil(G*Df({inputs:f,outputs:y}))}}var bT;var $2=E(()=>{b1();bT=require("@swapkit/helpers")});var xf=E(()=>{M2();R2();$2();b1()});function Of(f){return f.replace(/(bchtest:|bitcoincash:)/,"")}function Gf(f){let y=Of(f);return K1(y)&&j1(y)==="mainnet"}function Sf(f){try{if(f.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let G=Ny.Address(Ny.ZCASH_NETWORK).decode(f);return G.type==="pkh"||G.type==="sh"}catch{return!1}}var Ny;var U0=E(()=>{xf();Ny=require("@swapkit/utxo-signer")});function h1({address:f,chain:y}){return u1.match(y).with(x.Chain.BitcoinCash,()=>Gf(f)).with(x.Chain.Zcash,()=>Sf(f)).otherwise(()=>{try{return i.Address(xT(y)).decode(f),!0}catch{return!1}})}function xT(f){return u1.match(f).with(x.Chain.Bitcoin,()=>i.NETWORKS.bitcoin).with(x.Chain.BitcoinCash,()=>i.NETWORKS.bitcoinCash).with(x.Chain.Dash,()=>i.NETWORKS.dash).with(x.Chain.Dogecoin,()=>i.NETWORKS.dogecoin).with(x.Chain.Litecoin,()=>i.NETWORKS.litecoin).with(x.Chain.Zcash,()=>i.NETWORKS.zcash).exhaustive()}function N6({phrase:f,derivationPath:y,network:G,seed:T}){let _=T??My.mnemonicToSeedSync(f),W=l1.HDKey.fromMasterSeed(_,G.bip32).derive(y);if(!W.privateKey)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return W.privateKey}function I2(f){return A2.secp256k1.getPublicKey(f,!0)}function m1({publicKey:f,chain:y,network:G}){if(y===x.Chain.BitcoinCash){let X=i.p2pkh(f,G);if(!X.hash)throw new x.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return i.encodeCashAddr({hash:X.hash,prefix:i.CashAddrPrefix.MAINNET,type:i.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let _=!M0.includes(y)?i.p2wpkh(f,G):i.p2pkh(f,G);if(!_.address)throw new x.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return _.address}function Ef({phrase:f,derivationPath:y,chain:G,wif:T,seed:_}){let X=xT(G);if(T){let Q=i.WIF(X).decode(T),L=I2(Q);return{privateKey:Q,publicKey:L}}if(!f)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let W=y||x.derivationPathToString(x.NetworkDerivationPath[G]),Z=N6({derivationPath:W,network:X,phrase:f,seed:_}),J=I2(Z);return{privateKey:Z,publicKey:J}}function U6(f,y){return i.WIF(xT(y)).encode(f)}function M6({phrase:f,derivationPath:y,chain:G,seed:T}){let _=y.split("/");if(_.length<4)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${_.length}): ${y}`});let X=xT(G),W=T??My.mnemonicToSeedSync(f),Z=l1.HDKey.fromMasterSeed(W,X.bip32),J=_.slice(0,4).join("/");return Z.derive(J)}function Wf({inputs:f,outputs:y,chain:G,tx:T,sender:_,compiledMemo:X,enableRBF:W=!1}){let Z=xT(G),J=!M0.includes(G),Q=W?i.RBF_SEQUENCE:void 0,L=new Set;for(let O of f){let U=`${O.hash}:${O.index}`;if(L.has(U))throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});L.add(U);let M=typeof O.hash==="string"?Xf.hex.decode(O.hash):O.hash;if(J&&O.witnessUtxo)T.addInput({index:O.index,sequence:Q,txid:M,witnessUtxo:{amount:BigInt(O.witnessUtxo.value),script:O.witnessUtxo.script}});else if(O.txHex)T.addInput({index:O.index,nonWitnessUtxo:Xf.hex.decode(O.txHex),sequence:Q,txid:M,...G===x.Chain.BitcoinCash?{sighashType:i.BCHSigHash.ALL}:{}});else throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let O of y){let U="address"in O&&O.address?O.address:_;if(G===x.Chain.BitcoinCash)U=cT(U);if(O.script){if(X)T.addOutput({amount:0n,script:X})}else T.addOutputAddress(U,BigInt(O.value),Z)}return{inputs:f,tx:T}}async function nf(f){let y=await BT(f).getSuggestedTxFee();return{[x.FeeOption.Average]:y,[x.FeeOption.Fast]:x.applyFeeMultiplier(y,x.FeeOption.Fast),[x.FeeOption.Fastest]:x.applyFeeMultiplier(y,x.FeeOption.Fastest)}}async function P2({assetValue:f,recipient:y,memo:G,sender:T,fetchTxHex:_=!1}){let X=f.chain,W=(await nf(X))[x.FeeOption.Fastest],Z=_||M0.includes(X),J=f.getBaseValue("number"),Q=Math.ceil(J+W*5000);return{inputs:await BT(X).getUtxos({address:T,fetchTxHex:Z,targetValue:Q}),outputs:[{address:y,value:J},...G?[{address:"",script:PT(G),value:0}]:[]]}}async function x2({assetValue:f,recipient:y,memo:G,feeRate:T,sender:_,fetchTxHex:X=!1,enableRBF:W=!1}){let Z=f.chain,J=G?PT(G):null,Q=await P2({assetValue:f,fetchTxHex:X,memo:G,recipient:y,sender:_}),{inputs:L,outputs:O}=vT({...Q,chain:Z,feeRate:T});if(!(L&&O))throw new x.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:_});let U=new i.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!J,version:1}),{inputs:M,tx:N}=Wf({chain:Z,compiledMemo:J,enableRBF:W,inputs:L,outputs:O,sender:_,tx:U});return{inputs:M,tx:N,utxos:Q.inputs}}async function S2({assetValue:f,feeOptionKey:y=x.FeeOption.Fast,feeRate:G,memo:T,sender:_,recipient:X}){let W=f.chain,Z=await P2({assetValue:f,memo:T,recipient:X,sender:_}),J=G?Math.floor(G):(await nf(W))[y];return vT({...Z,chain:W,feeRate:J})}function B6(f){return async function({from:G,memo:T,feeRate:_,feeOptionKey:X=x.FeeOption.Fast,recipients:W=1}){let Z=await BT(f).getAddressData(G),J=_?Math.ceil(_):(await nf(f))[X],Q=Z?.utxo.map((z)=>({...z,hash:"",type:"P2PKH"})).filter((z)=>z.value>Math.max(N0(f),_f(z)*J));if(!Q?.length)return x.AssetValue.from({chain:f});let L=BigInt(Q.reduce((z,B)=>z+B.value,0)),O=x.AssetValue.from({chain:f,value:L}),U=typeof W==="number"?Array.from({length:W},()=>({address:G,value:0})):W;if(T)U.push({address:G,script:PT(T),value:0});let M=Df({inputs:Q,outputs:U}),N=x.AssetValue.from({chain:f,value:BigInt(M*J)});return O.sub(N)}}function w6(f){return async function(G){let{fee:T}=await S2(G);return x.AssetValue.from({chain:f,value:x.SwapKitNumber.fromBigInt(BigInt(T),8).getValue("string")})}}function D6({chain:f,phrase:y,derivationPath:G,seed:T}){let _=xT(f),{privateKey:X,publicKey:W}=Ef({chain:f,derivationPath:G,phrase:y,seed:T}),Z=f===x.Chain.BitcoinCash?[i.BCHSigHash.ALL]:[i.SigHash.ALL];return{getAddress:()=>m1({chain:f,network:_,publicKey:W}),privateKey:X,publicKey:W,signTransaction:(J)=>{return J.sign(X,Z),J}}}function O6(f,y){return async function({memo:T,recipient:_,feeOptionKey:X,feeRate:W,assetValue:Z,enableRBF:J=!1}){let Q=y?.getAddress();if(!(y&&Q))throw new x.SwapKitError("toolbox_utxo_no_signer");if(!_)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});x.warnOnce({condition:J&&!Uy.includes(f),id:`rbf_not_supported_${f}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${f}. Transaction will be created without RBF signaling.`});let L=J&&Uy.includes(f),O=W||(await nf(f))[X||x.FeeOption.Fast],{tx:U}=await x2({assetValue:Z,enableRBF:L,feeRate:O,memo:T,recipient:_,sender:Q});return y.signTransaction(U),U.finalize(),BT(f).broadcastTx(Xf.hex.encode(U.extract()))}}function p1(f){return(y)=>h1({address:y,chain:f})}function t1(f){let y=xT(f);return function(T){if(!T)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return m1({chain:f,network:y,publicKey:T.publicKey})}}function Zf({chain:f,...y}){let G="phrase"in y?y.phrase:void 0,T="index"in y?y.index||0:0,_=G?My.mnemonicToSeedSync(G):void 0,X=x.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:x.updateDerivationPath(x.NetworkDerivationPath[f],{index:T})),W=G?D6({chain:f,derivationPath:X,phrase:G,seed:_}):void 0,Z="signer"in y?y.signer:void 0,J=G?Ef({chain:f,derivationPath:X,phrase:G,seed:_}):void 0;function Q(){if(W)return Promise.resolve(W.getAddress());if(Z)return Z.getAddress();return Promise.resolve(void 0)}let L=G?M6({chain:f,derivationPath:X,phrase:G,seed:_}):void 0;function O(){if(!L)return;return L.publicExtendedKey}function U({index:w,change:Y=!1}){if(!L)return;if(!Number.isInteger(w)||w<0)throw RangeError(`index must be a non-negative integer, got: ${w}`);let q=xT(f),D=L.deriveChild(Number(Y)).deriveChild(w);if(!D.publicKey)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let R=m1({chain:f,network:q,publicKey:D.publicKey}),$=Xf.hex.encode(D.publicKey);return{address:R,change:Y,index:w,pubkey:$}}async function M(w){if(!Uy.includes(f))return{reason:`RBF is not supported on ${f}`,supported:!1};let Y=await BT(f).getTransactionDetails(w);return{canReplace:Y.isRBF&&!Y.confirmed,confirmed:Y.confirmed,enabled:Y.isRBF,fee:Y.fee,sequences:Y.sequences,supported:!0}}async function N({txid:w,newFeeRate:Y,recipient:q,memo:D}){if(!Uy.includes(f))throw new x.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:f});let R=await BT(f).getTransactionDetails(w);if(!R.isRBF)throw new x.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:w});if(R.confirmed)throw new x.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:R.blockId,txid:w});let $=R.inputs.reduce((JT,$T)=>JT+$T.value,0),I=R.outputs.find((JT)=>JT.recipient===q)?.value||0;if(I===0)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let P=await Promise.all(R.inputs.map(async(JT)=>{let $T=await BT(f).getRawTx(JT.transaction_hash);return{hash:JT.transaction_hash,index:JT.index,txHex:$T,value:JT.value,witnessUtxo:void 0}})),n=D?PT(D):null,b=Df({feeRate:Y,inputs:P.map((JT)=>({...JT,type:"P2WPKH"})),outputs:[{address:q,value:I}]}),h=Math.ceil(b*Y);if(h<=R.fee)throw new x.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:h,originalFee:R.fee});let g=h-R.fee,TT=I-g;if(TT<=0)throw new x.SwapKitError("toolbox_utxo_rbf_insufficient_change");let UT=new i.Transaction({allowLegacyWitnessUtxo:!0,version:1}),FT=[{address:q,value:TT},...D?[{address:"",script:PT(D),value:0}]:[]],DT=$-TT-h,kT=await Q();if(DT>N0(f)&&kT)FT.push({address:kT,value:DT});return Wf({chain:f,compiledMemo:n,inputs:P,outputs:FT,sender:kT||q,tx:UT}),{feeDelta:g,newFee:h,originalFee:R.fee,tx:UT}}async function z({txid:w,newFeeRate:Y,recipient:q,memo:D}){if(!W)throw new x.SwapKitError("toolbox_utxo_no_signer");let{tx:R,originalFee:$,newFee:C}=await N({memo:D,newFeeRate:Y,recipient:q,txid:w});W.signTransaction(R),R.finalize();let I=await BT(f).broadcastTx(Xf.hex.encode(R.extract()));return{newFee:C,originalFee:$,txid:I}}function B({index:w,change:Y=!1}){if(!L)return;return L.deriveChild(Number(Y)).deriveChild(w).privateKey||void 0}function k({tx:w,inputDerivations:Y}){if(!L)throw new x.SwapKitError("toolbox_utxo_no_signer");let q=f===x.Chain.BitcoinCash?[i.BCHSigHash.ALL]:[i.SigHash.ALL];for(let D=0;D<Y.length;D++){let R=Y[D];if(!R)continue;let{derivationIndex:$,isChange:C}=R,I=B({change:C,index:$});if(!I)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${D} at index ${$}`});w.signIdx(I,D,q)}return w}async function H({utxos:w,recipient:Y,assetValue:q,memo:D,feeRate:R,feeOptionKey:$,changeAddress:C}){if(!L)throw new x.SwapKitError("toolbox_utxo_no_signer");let I=R||(await nf(f))[$||x.FeeOption.Fast],P=D?PT(D):null,n=[{address:Y,value:q.getBaseValue("number")}];if(P)n.push({address:"",script:P,value:0});let b=w.map(({hash:kT,index:JT,value:$T,txHex:Jf,witnessUtxo:Rf})=>({hash:kT,index:JT,txHex:Jf,value:$T,witnessUtxo:Rf?{script:Rf.script,value:Rf.value}:void 0})),{inputs:h,outputs:g}=vT({chain:f,feeRate:I,inputs:b,outputs:n});if(!(h&&g))throw new x.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:q,sender:"multiple addresses"});let TT=new i.Transaction({allowLegacyWitnessUtxo:!0,version:1}),UT=w[0]?.address,FT=C||await Q()||UT||Y;Wf({chain:f,compiledMemo:P,inputs:h,outputs:g,sender:FT,tx:TT});let DT=h.map((kT)=>{let JT=w.find(($T)=>$T.hash===kT.hash&&$T.index===kT.index);return JT?{derivationIndex:JT.derivationIndex,isChange:JT.isChange}:{derivationIndex:0,isChange:!1}});return k({inputDerivations:DT,tx:TT}),TT.finalize(),BT(f).broadcastTx(Xf.hex.encode(TT.extract()))}function F({address:w,gapLimit:Y=20}){if(!L)return;for(let q=0;q<Y;q++){let D=U({change:!1,index:q}),R=U({change:!0,index:q}),$=D?.address===w?!1:R?.address===w;if(D?.address===w||R?.address===w)return{change:$,index:q}}return}return{accumulative:vT,broadcastTx:(w)=>BT(f).broadcastTx(w),bumpFee:z,calculateTxSize:Df,createKeysForPath:(w)=>Ef({...w,chain:f}),createReplacementTransaction:N,createTransaction:x2,deriveAddressAtIndex:U,derivePrivateKeyAtIndex:B,estimateMaxSendableAmount:B6(f),estimateTransactionFee:w6(f),getAddress:Q,getAddressFromKeys:t1(f),getBalance:ST(f),getExtendedPublicKey:O,getFeeRates:()=>nf(f),getInputsOutputsFee:S2,getNetworkForChain:()=>xT(f),getPrivateKeyFromMnemonic:(w)=>U6(Ef({...w,chain:f}).privateKey,f),isRBFEnabled:M,keys:J,resolveDerivationIndex:F,signAndBroadcastTransaction:async(w)=>{if(!W)throw new x.SwapKitError("toolbox_utxo_no_signer");return W.signTransaction(w),w.finalize(),await BT(f).broadcastTx(Xf.hex.encode(w.extract()))},signTransactionWithMultipleKeys:k,transfer:O6(f,W),transferFromMultipleAddresses:H,validateAddress:p1(f)}}var A2,Xf,l1,My,x,i,u1,M0,Uy;var B0=E(()=>{dT();xf();U0();A2=require("@noble/curves/secp256k1.js"),Xf=require("@scure/base"),l1=require("@scure/bip32"),My=require("@scure/bip39"),x=require("@swapkit/helpers"),i=require("@swapkit/utxo-signer"),u1=require("ts-pattern"),M0=[x.Chain.Dash,x.Chain.Dogecoin,x.Chain.Zcash,x.Chain.BitcoinCash],Uy=[x.Chain.Bitcoin]});function w0(f){return Of(q0(f))}function H6(f){let y=xT(lT);function G(_){return _.sign(f.privateKey,[zT.BCHSigHash.ALL]),_}function T(){let _=zT.p2pkh(f.publicKey,y);if(!_.hash)throw new LT.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let X=zT.encodeCashAddr({hash:_.hash,prefix:zT.CashAddrPrefix.MAINNET,type:zT.CashAddrType.P2PKH});return Promise.resolve(X.replace(/^bitcoincash:/,""))}return{getAddress:T,signTransaction:G}}function c1(f){let y="phrase"in f?f.phrase:void 0,G="index"in f?f.index||0:0,T=LT.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:LT.updateDerivationPath(LT.NetworkDerivationPath[lT],{index:G})),_=y?Ef({chain:lT,derivationPath:T,phrase:y}):void 0,X=_?H6(_):("signer"in f)?f.signer:void 0;function W(){return Promise.resolve(X?.getAddress())}let{getBalance:Z,getFeeRates:J,broadcastTx:Q,...L}=Zf({chain:lT});function O(U,M=!0){return Z(Of(q0(U)))}return{...L,broadcastTx:Q,buildTx:C6,createTransaction:n2,getAddress:W,getAddressFromKeys:F6,getBalance:O,getFeeRates:J,stripPrefix:Of,stripToCashAddress:w0,transfer:R6({broadcastTx:Q,getFeeRates:J,signer:X}),validateAddress:Gf}}async function n2({assetValue:f,recipient:y,memo:G,feeRate:T,sender:_}){if(!Gf(y))throw new LT.SwapKitError("toolbox_utxo_invalid_address",{address:y});let X=Math.ceil(f.getBaseValue("number")+T*7500),W=await BT(lT).getUtxos({address:w0(_),fetchTxHex:!0,targetValue:X}),Z=G?PT(G):null,J=[],Q=cT(y);if(J.push({address:Q,value:f.getBaseValue("number")}),Z)J.push({script:Z,value:0});let{inputs:L,outputs:O}=vT({chain:lT,feeRate:T,inputs:W,outputs:J});if(!(L&&O))throw new LT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:_});let U=new zT.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Z,version:1}),M=cT(_),{inputs:N,tx:z}=Wf({chain:lT,compiledMemo:Z,inputs:L,outputs:O.map((B)=>("address"in B)&&B.address?{...B,address:cT(B.address)}:B),sender:M,tx:U});return{inputs:N,tx:z,utxos:L}}function R6({broadcastTx:f,getFeeRates:y,signer:G}){return async function({recipient:_,assetValue:X,feeOptionKey:W=LT.FeeOption.Fast,...Z}){let J=await G?.getAddress();if(!(G&&J))throw new LT.SwapKitError("toolbox_utxo_no_signer");if(!_)throw new LT.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Q=Z.feeRate||(await y())[W],{tx:L}=await n2({...Z,assetValue:X,feeRate:Q,recipient:_,sender:J}),O=await G.signTransaction(L);return O.finalize(),f(E2.hex.encode(O.extract()))}}async function C6({assetValue:f,recipient:y,memo:G,feeRate:T,sender:_}){let X=q0(y);if(!Gf(X))throw new LT.SwapKitError("toolbox_utxo_invalid_address",{address:X});let W=Math.ceil(f.getBaseValue("number")+T*7500),Z=await BT(lT).getUtxos({address:w0(_),fetchTxHex:!0,targetValue:W}),J=Number(T.toFixed(0)),Q=G?PT(G):null,L=[];if(L.push({address:cT(y),value:f.getBaseValue("number")}),Q)L.push({script:Q,value:0});let{inputs:O,outputs:U}=vT({chain:lT,feeRate:J,inputs:Z,outputs:L});if(!(O&&U))throw new LT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:_});let M=new zT.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Q,version:1}),{inputs:N,tx:z}=Wf({chain:lT,compiledMemo:Q,inputs:O,outputs:U,sender:cT(_),tx:M});return{inputs:N,tx:z,utxos:Z}}function F6(f){let y=zT.NETWORKS.bitcoinCash,G=zT.p2pkh(f.publicKey,y);if(!G.hash)throw new LT.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return zT.encodeCashAddr({hash:G.hash,prefix:zT.CashAddrPrefix.MAINNET,type:zT.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var E2,LT,zT,lT;var By=E(()=>{xf();B0();U0();E2=require("@scure/base"),LT=require("@swapkit/helpers"),zT=require("@swapkit/utxo-signer"),lT=LT.Chain.BitcoinCash});function v2(){let{isStagenet:f}=ZT.SKConfig.get("envs");return f?yT.ZCASH_TEST_NETWORK:yT.ZCASH_NETWORK}function $6(f){return k6.encode(f)}function I6({phrase:f,derivationPath:y}){let G=i1.mnemonicToSeedSync(f),_=g1.HDKey.fromMasterSeed(G).derive(y);if(!_.privateKey||!_.publicKey)throw new ZT.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:X,publicKey:W}=_,Z=yT.utils.hash160(W),{isStagenet:J}=ZT.SKConfig.get("envs"),Q=J?new Uint8Array([29,37]):new Uint8Array([28,184]),L=new Uint8Array(Q.length+Z.length);L.set(Q,0),L.set(Z,Q.length);let O=$6(L);return{getAddress:()=>Promise.resolve(O),signTransaction:(U)=>{if(U instanceof yT.PCZT)return U.signAllInputs(X,W,yT.ZcashSigHash.ALL),U.finalizeAllInputs(),Promise.resolve(U.extract());return U.signAllInputs(X,W,yT.ZcashSigHash.ALL),Promise.resolve(U)}}}function A6({inputs:f,outputs:y,tx:G,sender:T,compiledMemo:_}){let X=v2();for(let W of f){let Z=yT.Address(X).decode(T),J=yT.OutScript.encode(Z);G.addInput({index:W.index,script:J,sequence:4294967295,txid:wy.hex.decode(W.hash),value:BigInt(W.value)})}for(let W of y){let Z="address"in W&&W.address?W.address:T,J=W.script;if(J&&!_)continue;if(J&&_)G.addOutput({amount:0n,script:_});else G.addOutputAddress(Z,BigInt(W.value),X)}return{inputs:f,tx:G}}async function V2(f){let{assetValue:y,recipient:G,memo:T,feeRate:_,sender:X,fetchTxHex:W}=f,Z=T?PT(T):null,J=await BT(ZT.Chain.Zcash).getUtxos({address:X,fetchTxHex:W!==!1}),Q=[{address:G,value:Number(y.getBaseValue("string"))},...Z?[{script:Z,value:0}]:[]],{inputs:L,outputs:O}=vT({chain:ZT.Chain.Zcash,changeAddress:X,feeRate:_,inputs:J,outputs:Q});if(!(L&&O))throw new ZT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:X});let U=yT.createZcashTransaction({consensusBranchId:yT.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:yT.ZcashVersionGroupId.SAPLING}),{tx:M,inputs:N}=A6({compiledMemo:Z,inputs:L,outputs:O,sender:X,tx:U});return{inputs:N,outputs:O,tx:M}}function d1(f){let y=Vf.match(f).with({signer:Vf.P.not(Vf.P.nullish)},({signer:J})=>J).with({phrase:Vf.P.string},({phrase:J,derivationPath:Q,index:L=0})=>{let O=Q||ZT.NetworkDerivationPath[ZT.Chain.Zcash]||[44,133,0,0,0],U=ZT.updateDerivationPath(O,{index:L}),M=ZT.derivationPathToString(U);return I6({derivationPath:M,phrase:J})}).otherwise(()=>{return}),G=Zf({chain:ZT.Chain.Zcash,signer:y});async function T({recipient:J,assetValue:Q,feeOptionKey:L=ZT.FeeOption.Fast,...O}){let U=await y?.getAddress();if(!(y&&U))throw new ZT.SwapKitError("toolbox_utxo_no_signer");let M=O.feeRate||(await G.getFeeRates())[L],{tx:N}=await V2({...O,assetValue:Q,feeRate:M,recipient:J,sender:U}),B=(await y.signTransaction(N)).toHex();return G.broadcastTx(B)}function _({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let L=i1.mnemonicToSeedSync(J),U=g1.HDKey.fromMasterSeed(L).derive(Q);if(!U.privateKey||!U.publicKey)throw new ZT.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:U.privateKey,publicKey:U.publicKey}}function X({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let L=_({derivationPath:Q,phrase:J}),O=v2();return yT.WIF(O).encode(L.privateKey)}function W(J){return async function(L){if(!J)throw new ZT.SwapKitError("toolbox_utxo_no_signer");return await J.signTransaction(L)}}function Z(J){return async function(L){if(!J)throw new ZT.SwapKitError("toolbox_utxo_no_signer");let O=await J.signTransaction(L);return G.broadcastTx(O.toHex())}}return{...G,createKeysForPath:_,createTransaction:V2,getPrivateKeyFromMnemonic:X,signAndBroadcastTransaction:Z(y),signTransaction:W(y),transfer:T,validateAddress:Sf}}var wy,g1,i1,ZT,yT,Vf,k6;var r1=E(()=>{xf();B0();U0();wy=require("@scure/base"),g1=require("@scure/bip32"),i1=require("@scure/bip39"),ZT=require("@swapkit/helpers"),yT=require("@swapkit/utxo-signer"),Vf=require("ts-pattern");k6=wy.createBase58check(yT.utils.sha256)});function P6(f,y){switch(f){case gT.Chain.BitcoinCash:return c1(y||{});case gT.Chain.Zcash:return d1(y);case gT.Chain.Bitcoin:case gT.Chain.Dogecoin:case gT.Chain.Litecoin:case gT.Chain.Dash:return Zf({chain:f,...y});default:throw new gT.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}var gT;var o2=E(()=>{By();B0();r1();By();U0();gT=require("@swapkit/helpers")});var a1={};wT(a1,{validateZcashAddress:()=>Sf,validateUtxoAddress:()=>h1,validateBchAddress:()=>Gf,toLegacyAddress:()=>cT,toCashAddress:()=>q0,stripToCashAddress:()=>w0,stripPrefix:()=>Of,nonSegwitChains:()=>M0,isValidAddress:()=>K1,getUtxoToolbox:()=>P6,getUtxoNetwork:()=>y6,getUtxoApi:()=>BT,getUTXOAddressValidator:()=>p1,getScriptTypeForAddress:()=>Pf,getOutputSize:()=>z0,getNetworkForChain:()=>xT,getInputSize:()=>_f,getDustThreshold:()=>N0,detectAddressNetwork:()=>j1,createZcashToolbox:()=>d1,createUTXOToolbox:()=>Zf,createHDWalletHelpers:()=>Y2,createCustomUtxoApi:()=>f6,createBCHToolbox:()=>c1,compileMemo:()=>PT,calculateTxSize:()=>Df,addressFromKeysGetter:()=>t1,addInputsAndOutputs:()=>Wf,accumulative:()=>vT,UtxoNetwork:()=>o1,UTXOScriptType:()=>zy,TX_OVERHEAD:()=>qy,SEGWIT_MARKER_FLAG_WEIGHT:()=>Ly,OutputSizes:()=>L0,OP_RETURN_OVERHEAD:()=>k2,MIN_TX_FEE:()=>q6,InputSizes:()=>Yy});module.exports=HT(a1);var s1=E(()=>{B0();xf();o2();By();r1()});function D0(f){return f.length>=2&&f.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(f)}async function Oy(f){let{parseSeedPhrase:y}=await import("near-seed-phrase"),{KeyPair:G}=await import("@near-js/crypto"),T=f.index||0,_=f.derivationPath?Dy.derivationPathToString(f.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:X}=y(f.phrase,_),W=G.fromString(X);return b2(W)}async function e1(f){let{KeyPair:y}=await import("@near-js/crypto"),G=y.fromString(f);return b2(G)}function b2(f){return new j2(f)}async function Hy(f,y){let T=(await f.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((Z)=>Z.access_key.permission==="FullAccess");if(!T)throw new Dy.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:_}=await import("@near-js/crypto"),X=_.fromString(T.public_key);return{nonce:T.access_key.nonce||0,publicKey:X}}var K2,Dy,j2;var T5=E(()=>{K2=require("@near-js/signers"),Dy=require("@swapkit/helpers");j2=class j2 extends K2.KeyPairSigner{#T;constructor(f){super(f);this.#T=f}getAddress(){let f=this.#T.getPublicKey(),y=Buffer.from(f.data).toString("hex");return Promise.resolve(y)}}});function f5(f){return"recipient"in f&&"amount"in f&&!("contractId"in f)}function y5(f){return"contractId"in f&&"methodName"in f}function _5(f){return"actions"in f}function G5(f){return"newAccountId"in f}function X5(f){return"contractCode"in f}function W5(f){return"customEstimator"in f}function Z5(f){let y=0;for(let G of f)switch(G.enum){case"transfer":y+=Number(OT.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(OT.CONTRACT_CALL);break;case"createAccount":y+=Number(OT.ACCOUNT_CREATION);break;case"deployContract":y+=Number(OT.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(OT.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(OT.ACCESS_KEY_DELETION);break;case"stake":y+=Number(OT.STAKE);break;default:y+=Number(OT.CONTRACT_CALL)}return y.toString()}function J5(f){if(f==="ft_transfer"||f==="ft_transfer_call")return OT.TOKEN_TRANSFER;if(f==="storage_deposit")return OT.STORAGE_DEPOSIT;return OT.CONTRACT_CALL}function x6(f){return(BigInt(f)*BigInt(1000000000000)).toString()}function S6(f){return(BigInt(f)/BigInt(1000000000000)).toString()}var OT;var Q5=E(()=>{OT={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 Y5({account:f,contractId:y,viewMethods:G,changeMethods:T}){let{Contract:_}=await import("@near-js/accounts");return new _(f,y,{changeMethods:T,useLocalViewExecution:!0,viewMethods:G})}function E6(f){let y;async function G(){if(y)return y;return y=await vf.match(f).with({phrase:vf.P.string},async(C)=>{return await Oy(C)}).with({signer:vf.P.any},({signer:C})=>C).otherwise(()=>{return}),y}async function T(){let C=await e.getRPCUrl(e.Chain.Near);return new l2.JsonRpcProvider({url:C})}async function _(C){let{Account:I}=await import("@near-js/accounts"),P=await T(),n=await G(),b=C||await X();return new I(b,P,n)}async function X(){let C=await G();if(!C)throw new e.SwapKitError("toolbox_near_no_signer");return await C.getAddress()}async function W(C){return(await w({changeMethods:[],contractId:C.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:C.accountId})}async function Z(C){let P=[await U({args:{account_id:C.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:C.assetValue.getBaseValue("string"),memo:C.memo||null,receiver_id:C.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return Y({actions:P,receiverId:C.contractId})}async function J(C){if(!await G())throw new e.SwapKitError("toolbox_near_no_signer");let{assetValue:P,recipient:n,memo:b}=C,h=await X();if(!P.isGasAsset&&P.address){if(!await W({accountId:n,contractId:P.address}))return Z({assetValue:P,contractId:P.address,memo:b,recipient:n})}let g=await Q({...C,sender:h});return z(g)}async function Q({recipient:C,assetValue:I,memo:P,attachedDeposit:n,sender:b,functionCall:h}){let g=await T();if(!D0(C))throw new e.SwapKitError("toolbox_near_invalid_address",{recipient:C});if(!D0(b))throw new e.SwapKitError("toolbox_near_invalid_address",{sender:b});if(h)return O({...h,sender:b});if(!I.isGasAsset){let x5=I.address;if(!x5)throw new e.SwapKitError("toolbox_near_missing_contract_address");return O({args:{amount:I.getBaseValue("string"),memo:P||null,receiver_id:C},attachedDeposit:n||"1",contractId:x5,gas:"250000000000000",methodName:"ft_transfer",sender:b})}let{publicKey:TT,nonce:UT}=await Hy(g,b),FT=I.getBaseValue("bigint"),{actionCreators:DT,createTransaction:kT}=await import("@near-js/transactions"),{baseDecode:JT}=await import("@near-js/utils"),$T=[DT.transfer(FT)];if(P&&n)$T.push(DT.functionCall("memo",{memo:P},BigInt("250000000000000"),BigInt(n)));let Jf=await g.block({finality:"final"}),Rf=JT(Jf.header.hash);return kT(b,TT,C,UT+1,$T,Rf)}function L(C){let I=C.encode();return Buffer.from(I).toString("base64")}async function O({args:C,attachedDeposit:I,contractId:P,gas:n,methodName:b,sender:h}){let g=await T(),{publicKey:TT,nonce:UT}=await Hy(g,h),{createTransaction:FT,actionCreators:DT}=await import("@near-js/transactions"),{baseDecode:kT}=await import("@near-js/utils"),JT=await g.block({finality:"final"}),$T=kT(JT.header.hash),Jf=[DT.functionCall(b,Buffer.from(JSON.stringify(C)),BigInt(n),BigInt(I))];return FT(h,TT,P,UT+1,Jf,$T)}async function U(C){let{actionCreators:I}=await import("@near-js/transactions");return I.functionCall(C.methodName,Buffer.from(JSON.stringify(C.args)),BigInt(C.gas),BigInt(C.attachedDeposit))}async function M(C){let I=await G();if(!I)throw new e.SwapKitError("toolbox_near_no_signer");let[P,n]=await I.signTransaction(C);return n}async function N(C){return(await(await T()).sendTransaction(C)).transaction.hash}async function z(C){let I=await G();if(!I)throw new e.SwapKitError("toolbox_near_no_signer");try{let P=await M(C);return await N(P)}catch{return I.signAndSendTransactions?.({transactions:[C]})}}async function B(C){let I=await G();if("assetValue"in C){let n=await k();try{let b=await e.getRPCUrl(e.Chain.Near),h=await fetch(b,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:g}}=await h.json(),{execution:TT,send_sir:UT}=g.transaction_costs.action_receipt_creation_config,{execution:FT,send_sir:DT}=g.transaction_costs.action_creation_config.transfer_cost,kT=BigInt(DT)+BigInt(FT),JT=BigInt(UT)+BigInt(TT),Jf=(kT+JT)*BigInt(n.toString());return e.AssetValue.from({chain:e.Chain.Near,value:Jf})}catch(b){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",b);let h=BigInt("115123062500"),g=BigInt("108059500000"),UT=(h+g)*BigInt(n.toString());return e.AssetValue.from({chain:e.Chain.Near,value:UT})}}let P=I?await _():void 0;return q(C,P)}async function k(){let C=await T();try{return await C.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function H(C,I,P){if(!await G())throw new e.SwapKitError("toolbox_near_no_signer");let b=await _(),{formatNearAmount:h}=await import("@near-js/utils"),{PublicKey:g}=await import("@near-js/crypto"),TT=h(P)||"0";return(await b.createAccount(C,g.fromString(I),BigInt(TT))).transaction.hash}async function F(C){let I=await G();try{if(!I)throw new e.SwapKitError("toolbox_near_no_signer");let{actionCreators:P}=await import("@near-js/transactions"),{contractId:n,methodName:b,args:h,deposit:g}=C,TT=await _(),UT=await q({args:h||{},contractId:n,methodName:b}),FT=P.functionCall(b,h||{},UT.getBaseValue("bigint"),BigInt(g||"1"));return(await TT.signAndSendTransaction({actions:[FT],receiverId:n})).transaction_outcome.id}catch(P){throw new e.SwapKitError("toolbox_near_transfer_failed",{error:P})}}async function w(C){let I=await _();return Y5({account:I,changeMethods:C.changeMethods,contractId:C.contractId,viewMethods:C.viewMethods})}async function Y(C){if(!await G())throw new e.SwapKitError("toolbox_near_no_signer");if(C.actions.length===0)throw new e.SwapKitError("toolbox_near_empty_batch");return(await(await _()).signAndSendTransaction({actions:C.actions,receiverId:C.receiverId})).transaction.hash}async function q(C,I){let P=await vf.match(C).when(f5,()=>OT.SIMPLE_TRANSFER).when(y5,(b)=>J5(b.methodName)).when(_5,(b)=>Z5(b.actions)).when(G5,()=>OT.ACCOUNT_CREATION).when(X5,()=>OT.CONTRACT_DEPLOYMENT).when(W5,(b)=>{if(!I)throw new e.SwapKitError("toolbox_near_no_account");return b.customEstimator(I)}).otherwise(()=>{throw new e.SwapKitError("toolbox_near_invalid_gas_params")}),n=BigInt(P)*BigInt(1000000000000);return e.AssetValue.from({chain:e.Chain.Near,value:n})}function D(C,I){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),q(C,I)}async function R(){let C=await T();try{return(await C.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function $(){let C=await G();return C?(await C.getPublicKey()).toString():""}return{broadcastTransaction:N,callFunction:F,createAction:U,createContract:w,createContractFunctionCall:O,createSubAccount:H,createTransaction:Q,estimateGas:D,estimateGasLimit:q,estimateTransactionFee:B,executeBatchTransaction:Y,getAddress:X,getBalance:ST(e.Chain.Near),getGasPrice:R,getNearProvider:T,getPublicKey:$,getSignerFromPhrase:Oy,getSignerFromPrivateKey:e1,serializeTransaction:L,signAndBroadcastTransaction:z,signTransaction:M,transfer:J,validateAddress:D0}}var l2,e,vf;var q5=E(()=>{dT();T5();Q5();l2=require("@near-js/providers"),e=require("@swapkit/helpers"),vf=require("ts-pattern")});var u2=E(()=>{q5()});var L5={};wT(L5,{validateNearAddress:()=>D0,tgasToGas:()=>x6,isSimpleTransfer:()=>f5,isCustomEstimator:()=>W5,isContractDeployment:()=>X5,isContractCall:()=>y5,isBatchTransaction:()=>_5,isAccountCreation:()=>G5,getNearToolbox:()=>E6,getNearSignerFromPrivateKey:()=>e1,getNearSignerFromPhrase:()=>Oy,getFullAccessPublicKey:()=>Hy,getContractMethodGas:()=>J5,gasToTGas:()=>S6,estimateBatchGas:()=>Z5,createNearContract:()=>Y5,GAS_COSTS:()=>OT});module.exports=HT(L5);var z5=E(()=>{T5();Q5();q5();u2()});var N5={};wT(N5,{validateRadixAddress:()=>p2,getRadixToolbox:()=>K6});module.exports=HT(N5);function p2(f){return f.startsWith("account_rdx1")&&f.length===66}function n6({networkApi:f}){return async function(G){let T=await V6({address:G,networkApi:f}),_=await v6({networkApi:f,resources:T});if(!_.some((W)=>W.isGasAsset))return[oT.AssetValue.from({chain:oT.Chain.Radix}),..._];return _}}async function V6({address:f,networkApi:y}){let G=!0,T,_=[],X=await o6(y);while(G){let W={address:f,at_ledger_state:{state_version:X},cursor:T,limit_per_page:100},Z=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:W});if(_=_.concat(Z.items),Z.next_cursor)T=Z.next_cursor;else G=!1}return _}async function v6({resources:f,networkApi:y}){let G=[],T=50,_=[];for(let X=0;X<f.length;X+=50)_.push(f.slice(X,X+50));for(let X of _){let W=X.map((Q)=>Q.resource_address),Z=await y.state.getEntityDetailsVaultAggregated(W),J=new Map;for(let Q of Z)if(Q.details!==void 0){let L=Q.metadata?.items.find((U)=>U.key==="symbol"),O=L?.value.typed.type==="String"?L.value.typed.value:"?";if(Q.details.type==="FungibleResource")J.set(Q.address,{decimals:Q.details.divisibility,symbol:O})}for(let Q of X)if(Q.aggregation_level==="Global"){let L=J.get(Q.resource_address)||{decimals:0,symbol:"?"},O=oT.AssetValue.from({asset:L.symbol!==oT.Chain.Radix?`${oT.Chain.Radix}.${L.symbol}-${Q.resource_address}`:"XRD.XRD",value:Q.amount});G.push(O)}}return G}async function o6(f){return(await f.status.getCurrent()).ledger_state.state_version}function K6({dappConfig:f}={}){let y=f||oT.SKConfig.get("integrations").radix,G=m2.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),T=h2.GatewayApiClient.initialize(G.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:n6({networkApi:T}),networkApi:T,signAndBroadcast:()=>{throw new oT.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:p2}}var h2,m2,oT;var U5=E(()=>{h2=require("@radixdlt/babylon-gateway-api-sdk"),m2=require("@radixdlt/radix-dapp-toolkit"),oT=require("@swapkit/helpers")});function Ry(f){return/^[0-9A-Fa-f]{40}$/.test(f)}function O0(f){if(Ry(f))return f.toUpperCase();if(f.length<=3){let G=Buffer.from(f.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${G}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(f).toString("hex").toUpperCase();if(y.length>40)throw new t2.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:f,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function j6(f){if(!Ry(f))return f;if(f.toUpperCase().startsWith("00")){let y=f.slice(24,30);try{let G=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(G)&&G.length>0)return G}catch{}return f.toUpperCase()}try{let y=f.replace(/0+$/,""),G=y.length%2===0?y:`${y}0`,T=Buffer.from(G,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(T))return T}catch{}return f.toUpperCase()}function of(f){if(Ry(f))return f.toUpperCase();if(f.length<=3)return f;return O0(f)}var t2;var Cy=E(()=>{t2=require("@swapkit/helpers")});async function b6(f,y){let G=of(f),T=ky.find((_)=>of(_.currency)===G&&_.issuer===y);if(T)return T;try{let _=await Fy.RequestClient.get(`https://api.xrplmeta.org/token/${f}:${y}`);if(_)return{currency:f,decimals:15,description:_.desc,domain:_.domain,icon:_.icon,issuer:y,name:_.name,verified:_.self_assessment?.is_regulated||_.self_assessment?.is_licensed}}catch(_){Fy.warnOnce({condition:!0,id:`xrpl_token_lookup_${f}_${y}`,warning:`Failed to fetch XRPL token info for ${f}:${y}: ${_}`})}return{currency:f,decimals:15,issuer:y,verified:!1}}function l6(f){return ky.filter((y)=>y.issuer===f)}function u6(f,y){let G=of(f);return ky.some((T)=>of(T.currency)===G&&T.issuer===y)}var Fy,ky;var c2=E(()=>{Cy();Fy=require("@swapkit/helpers"),ky=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var M5={};wT(M5,{validateRippleAddress:()=>Iy,parseXrplTokenIdentifier:()=>d2,normalizeCurrency:()=>of,isKnownToken:()=>u6,isHexCurrency:()=>Ry,hexToCurrency:()=>j6,hashes:()=>a2.hashes,getXrplTokenInfo:()=>b6,getRippleToolbox:()=>m6,getKnownTokensByIssuer:()=>l6,formatXrplTokenIdentifier:()=>r2,currencyToHex:()=>O0,XRPL_TOKEN_ERROR_CODES:()=>$y,XRPL_KNOWN_TOKENS:()=>ky});module.exports=HT(M5);function d2(f){let y=f.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!iT.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function r2(f,y){return`${t.Chain.Ripple}.${f}-${y}`}function h6(f){if(f.isGasAsset)return iT.xrpToDrops(f.getValue("string"));let y=d2(f.toString());if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:f.toString()}});return{currency:y.currency,issuer:y.issuer,value:f.getValue("string")}}function i2(f){let y=iT.Wallet.fromMnemonic(f);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(G)=>Promise.resolve(y.sign(G))}}function Iy(f){return iT.isValidAddress(f)}function m6(f={}){let y=Kf.match(f).with({phrase:Kf.P.string},({phrase:H})=>i2(H)).with({signer:Kf.P.any},({signer:H})=>H).otherwise(()=>{return}),G;async function T(){let H=await t.getRPCUrl(t.Chain.Ripple);if(!H)throw new t.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:t.Chain.Ripple}});let F=new iT.Client(H);return await F.connect(),F}async function _(){if(G){let H=await G.catch(()=>null);if(H?.isConnected())return H}return G=T(),G}let X=()=>{if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},W=async(H)=>{let F=H||await X(),{baseDecimal:w}=t.getChainConfig(t.Chain.Ripple),Y=await _();try{let[q,D]=await Promise.all([Y.request({account:F,command:"account_info"}),Y.request({account:F,command:"account_lines"})]),R=q.result.account_data.Balance,$=[t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:w,value:R})];for(let C of D.result.lines){let I=r2(C.currency,C.account);if(Number.parseFloat(C.balance)!==0)$.push(t.AssetValue.from({asset:I,asyncTokenLookup:!1,value:C.balance}))}return $}catch(q){if(q.data?.error_code===g2.ACCOUNT_NOT_FOUND)return[t.AssetValue.from({chain:t.Chain.Ripple,value:0})];throw new t.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:F,error:q}})}},Z=async()=>{let{baseDecimal:H}=t.getChainConfig(t.Chain.Ripple),Y=(await(await _()).request({command:"fee"})).result.drops.open_ledger_fee;return t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:H,value:Y})};async function J(H){let F=H||await X(),w=await _();try{return(await w.request({account:F,command:"account_lines"})).result.lines.map((q)=>({account:q.account,authorized:q.authorized??!1,balance:q.balance,currency:q.currency,freeze:q.freeze??!1,freezePeer:q.freeze_peer??!1,limit:q.limit,limitPeer:q.limit_peer,noRipple:q.no_ripple??!1,noRipplePeer:q.no_ripple_peer??!1,peerAuthorized:q.peer_authorized??!1,qualityIn:q.quality_in??0,qualityOut:q.quality_out??0}))}catch(Y){if(Y.data?.error_code===g2.ACCOUNT_NOT_FOUND)return[];throw new t.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:F,error:Y}})}}async function Q({address:H,currency:F,issuer:w}){let Y=await J(H),q=O0(F);return Y.some((D)=>{return O0(D.currency)===q&&D.account===w})}async function L({currency:H,issuer:F,limit:w,sender:Y}){let q=Y||await X();if(!Iy(F))throw new t.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:F}});let D=Number.parseFloat(w);if(Number.isNaN(D)||D<0)throw new t.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:w}});let R=await _(),$={Account:q,LimitAmount:{currency:H,issuer:F,value:w},TransactionType:"TrustSet"};return R.autofill($)}async function O({assetValue:H,recipient:F,memo:w,sender:Y,destinationTag:q,extendBySeconds:D=150}){if(!Iy(F))throw new t.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let R=Y||await X();if(H.chain!==t.Chain.Ripple)throw new t.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:H.toString()}});let $=h6(H),C={Account:R,Amount:$,Destination:F,TransactionType:"Payment",...q!==void 0&&{DestinationTag:q}};if(w)C.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];let P=await(await _()).autofill(C);if(P.LastLedgerSequence&&D>0)P.LastLedgerSequence+=Math.ceil(D/4);return P}function U(H){if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(H)}async function M(H){let w=await(await _()).submitAndWait(H),{result:Y}=w;if(Y.validated)return Y.hash;let q=Y.meta?.TransactionResult,D=Kf.match(q).with($y.tecNO_LINE,()=>"No trust line exists for this token").with($y.tecPATH_DRY,()=>"Payment path could not deliver funds").with($y.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new t.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:t.Chain.Ripple,...D?{reason:D}:{txResult:q}}})}let N=async(H)=>{try{let F=await U(H);return M(F.tx_blob)}catch(F){if(F instanceof t.SwapKitError)throw F;throw new t.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:t.Chain.Ripple,error:F}})}};async function z(H){if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let F=await y.getAddress(),w=await O({...H,sender:F}),Y=await U(w);return M(Y.tx_blob)}async function B(H){if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let F=await y.getAddress(),w=await L({...H,sender:F}),Y=await U(w);return M(Y.tx_blob)}function k(){let H=G;if(G=null,H)H.then((F)=>{if(F?.isConnected())return F.disconnect();return}).catch((F)=>{console.warn("XRPL Cleanup failed silently:",F)})}return{broadcastTransaction:M,createSigner:i2,createTransaction:O,disconnect:k,estimateTransactionFee:Z,getAddress:X,getBalance:W,getTrustLines:J,hasTrustLine:Q,setTrustLine:L,setTrustLineAndBroadcast:B,signAndBroadcastTransaction:N,signTransaction:U,transfer:z,validateAddress:Iy}}var t,Kf,iT,a2,g2,$y;var B5=E(()=>{Cy();t=require("@swapkit/helpers"),Kf=require("ts-pattern"),iT=require("xrpl");Cy();c2();a2=require("xrpl"),g2={ACCOUNT_NOT_FOUND:19},$y={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function w5(f,y){let G=0n,T=0n,_=y;while(_<f.length&&_-y<10){let X=f[_++];if(X===void 0)break;if(G|=BigInt(X&127)<<T,T+=7n,(X&128)===0)return[G,_]}throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed")}function H0(f){let y=[],G=f<0n?f+2n**64n:f;while(G>=128n)y.push(Number(G&0x7fn)|128),G>>=7n;return y.push(Number(G)),y}function Ay(f,y,G){let T=f.get(y);if(T)T.push(G);else f.set(y,[G])}function g6(f){let y=new Map,G=0;while(G<f.length){let[T,_]=w5(f,G);G=_;let X=Number(T>>3n),W=Number(T&7n);if(W===Py){let[Z,J]=w5(f,G);G=J,Ay(y,X,{data:new Uint8Array(H0(Z)),wireType:Py})}else if(W===xy){let[Z,J]=w5(f,G);G=J;let Q=Number(Z);if(Q<0||G+Q>f.length)throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed");let L=f.slice(G,G+Q);G+=Q,Ay(y,X,{data:L,wireType:xy})}else if(W===s2){if(G+8>f.length)throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=f.slice(G,G+8);G+=8,Ay(y,X,{data:Z,wireType:s2})}else if(W===e2){if(G+4>f.length)throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=f.slice(G,G+4);G+=4,Ay(y,X,{data:Z,wireType:e2})}else throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function i6(f){let y=[];for(let[X,W]of[...f.entries()].sort(([Z],[J])=>Z-J))for(let{wireType:Z,data:J}of W){let Q=BigInt(X<<3|Z);if(y.push(new Uint8Array(H0(Q))),Z===xy)y.push(new Uint8Array(H0(BigInt(J.length))));y.push(J)}let G=y.reduce((X,W)=>X+W.length,0),T=new Uint8Array(G),_=0;for(let X of y)T.set(X,_),_+=X.length;return T}function fG(f,y){if(!f||f.length%2!==0)throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed");let G=jf.hexToBytes(f),T=g6(G);if(y.expiration!==void 0)T.set(p6,[{data:new Uint8Array(H0(BigInt(y.expiration))),wireType:Py}]);if(y.data!==void 0)T.set(t6,[{data:jf.hexToBytes(y.data),wireType:xy}]);if(y.fee_limit!==void 0)T.set(c6,[{data:new Uint8Array(H0(BigInt(y.fee_limit))),wireType:Py}]);let _=i6(T),X=jf.bytesToHex(_),W=jf.bytesToHex(TG.sha256(_));return{raw_data_hex:X,txID:W}}var TG,jf,Hf,Py=0,s2=1,xy=2,e2=5,p6=8,t6=10,c6=18;var yG=E(()=>{TG=require("@noble/hashes/sha2.js"),jf=require("@noble/hashes/utils.js"),Hf=require("@swapkit/helpers")});function KT(f){if(typeof f!=="string")return!1;try{let y=Sy.decode(f);return y.length===21&&y[0]===XG}catch{return!1}}function WG(f){return nT.bytesToHex(Sy.decode(f))}function r6(f){return Sy.decode(f).slice(1)}function ZG(f){let y=D5.secp256k1.getPublicKey(nT.hexToBytes(f),!1),G=_G.keccak_256(y.slice(1)).slice(-20),T=new Uint8Array(21);return T[0]=XG,T.set(G,1),Sy.encode(T)}function JG({txID:f,privateKey:y}){let G=D5.secp256k1.sign(nT.hexToBytes(f),nT.hexToBytes(y),{format:"recovered",prehash:!1}),T=G[0]??0,_=nT.bytesToHex(G.slice(1,33)),X=nT.bytesToHex(G.slice(33,65)),W=(T+27).toString(16).padStart(2,"0");return _+X+W}function bf({txID:f,raw_data_hex:y}){let G=nT.bytesToHex(O5.sha256(nT.hexToBytes(y)));if(f!==G)throw new H5.SwapKitError("toolbox_tron_token_transfer_failed")}function a6(f){return`000000000000000000000000${nT.bytesToHex(r6(f))}`}function s6(f){let y=typeof f==="bigint"?f:BigInt(f);if(y<0n||y>=d6)throw new H5.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function lf(f){return f.map(({type:y,value:G})=>y==="address"?a6(G):s6(BigInt(G))).join("")}function QG(f){return nT.bytesToHex(new TextEncoder().encode(f))}var D5,O5,_G,nT,GG,H5,Sy,XG=65,d6;var R5=E(()=>{D5=require("@noble/curves/secp256k1.js"),O5=require("@noble/hashes/sha2.js"),_G=require("@noble/hashes/sha3.js"),nT=require("@noble/hashes/utils.js"),GG=require("@scure/base"),H5=require("@swapkit/helpers"),Sy=GG.createBase58check(O5.sha256),d6=2n**256n});function qG(){try{return NT.getRPCUrlSync(NT.Chain.Tron)}catch{return YG}}function LG(){let f=new AbortController,y=setTimeout(()=>f.abort(),y8);return{cleanup:()=>clearTimeout(y),signal:f.signal}}async function uf(f,y){let{signal:G,cleanup:T}=LG();try{let _=await fetch(`${qG()}${f}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:G});if(!_.ok)throw new NT.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${_.status} ${_.statusText} on ${f}`});return await _.json()}finally{T()}}async function zG(f,y){let{signal:G,cleanup:T}=LG();try{let _=await fetch(`${y??qG()}${f}`,{headers:{"Content-Type":"application/json"},signal:G});if(!_.ok)throw new NT.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${_.status} ${_.statusText} on ${f}`});return await _.json()}finally{T()}}async function NG(f){if(!KT(f))throw new NT.SwapKitError("toolbox_tron_trongrid_api_error",{address:f,message:"Invalid address"});try{let y=await zG(`/v1/accounts/${f}`,YG);if(!(y.success&&y.data)||y.data.length===0)return;let G;try{G=WG(f).toLowerCase()}catch{G=f.toLowerCase()}let T=y.data.find((_)=>_.address.toLowerCase()===G);if(!T)return;return{balance:T.balance,trc20:T.trc20||[]}}catch(y){if(y instanceof NT.SwapKitError)throw y;throw new NT.SwapKitError("toolbox_tron_trongrid_api_error",{address:f,message:y instanceof Error?y.message:"Unknown error"})}}async function UG({from:f,to:y,amount:G}){let _=await uf("/wallet/createtransaction",{amount:G,owner_address:f,to_address:y,visible:!0});if(!_.txID||!_.raw_data_hex||!_.raw_data)throw new NT.SwapKitError("toolbox_tron_transaction_creation_failed");let W=_.raw_data?.contract?.[0]?.parameter?.value;if(W?.to_address!==y||W?.owner_address!==f||W?.amount!==G)throw new NT.SwapKitError("toolbox_tron_transaction_creation_failed");return bf(_),_}async function MG({ownerAddress:f,contractAddress:y,functionSelector:G,parameter:T,feeLimit:_,callValue:X=0}){let W=await uf("/wallet/triggersmartcontract",{call_value:X,contract_address:y,fee_limit:_,function_selector:G,owner_address:f,parameter:T,visible:!0});if(!W.result.result||!W.transaction?.txID||!W.transaction?.raw_data_hex)throw new NT.SwapKitError("toolbox_tron_transaction_creation_failed");let J=W.transaction.raw_data?.contract?.[0]?.parameter?.value;if(J?.contract_address!==y||J?.owner_address!==f)throw new NT.SwapKitError("toolbox_tron_transaction_creation_failed");return bf(W.transaction),W.transaction}function BG({ownerAddress:f,contractAddress:y,functionSelector:G,parameter:T}){return uf("/wallet/triggerconstantcontract",{contract_address:y,function_selector:G,owner_address:f,parameter:T,visible:!0})}async function R0(f){let{result:y,txid:G}=await uf("/wallet/broadcasttransaction",{raw_data:f.raw_data,raw_data_hex:f.raw_data_hex,signature:f.signature,txID:f.txID,visible:f.visible});if(!y||!G)throw new NT.SwapKitError("toolbox_tron_token_transfer_failed");return G}async function Ey(){let f={};try{let{chainParameter:y}=await zG("/wallet/getchainparameters");for(let G of y)f[G.key]=G.value}catch(y){NT.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:f.getTransactionFee??e6,createAccountFee:f.getCreateAccountFee??T8,energyFee:f.getEnergyFee??f8}}async function C5(f){try{let y=await uf("/wallet/getaccountresource",{address:f,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return NT.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function F5(f){try{let y=await uf("/wallet/getaccount",{address:f,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function k5(f){try{let{energy_used:y}=await BG({...f,ownerAddress:f.sender});return y}catch(y){return NT.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function wG({assetAddress:f,owner:y,spender:G}){let T=lf([{type:"address",value:y},{type:"address",value:G}]),X=(await BG({contractAddress:f,functionSelector:"allowance(address,address)",ownerAddress:G,parameter:T})).constant_result?.[0];if(!X)return 0n;try{return BigInt(`0x${X}`)}catch{return 0n}}var NT,YG="https://api.trongrid.io",e6=1000,T8=1e5,f8=420,y8=30000;var DG=E(()=>{R5();NT=require("@swapkit/helpers")});function kG({phrase:f,derivationPath:y}){let G=RG.HDKey.fromMasterSeed(CG.mnemonicToSeedSync(f)).derive(y);if(!G.privateKey)throw new o.SwapKitError("toolbox_tron_no_signer");return HG.bytesToHex(G.privateKey)}function $G({phrase:f,derivationPath:y,index:G}){let T=y||o.derivationPathToString(o.updateDerivationPath(o.NetworkDerivationPath[o.Chain.Tron],{index:G||0}));return kG({derivationPath:T,phrase:f})}function Z8({phrase:f,derivationPath:y}){let G=kG({derivationPath:y,phrase:f}),T=ZG(G);return{getAddress:()=>Promise.resolve(T),signTransaction:(_)=>{bf(_);let X=JG({privateKey:G,txID:_.txID});return Promise.resolve({..._,signature:[X]})}}}function OG({transaction:f,memo:y,expiration:G,feeLimit:T}){let _={},X={};if(T!==void 0&&f.raw_data)_.fee_limit=T,X.fee_limit=T;if(y){let J=QG(y);_.data=J,X.data=J}if(G){let J=f.raw_data.expiration+G*1000;_.expiration=J,X.expiration=J}if(Object.keys(_).length===0)return f;let{raw_data_hex:W,txID:Z}=fG(f.raw_data_hex,_);return{...f,raw_data:{...f.raw_data,...X},raw_data_hex:W,txID:Z}}function IG(f={}){let y="index"in f?f.index||0:0,G=o.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:o.updateDerivationPath(o.NetworkDerivationPath[o.Chain.Tron],{index:y})),T,_=!1;function X(){if(_)return Promise.resolve(T);return T=hf.match(f).with({phrase:hf.P.string},({phrase:Y})=>Z8({derivationPath:G,phrase:Y})).with({signer:hf.P.not(hf.P.nullish)},({signer:Y})=>Y).otherwise(()=>{return}),_=!0,Promise.resolve(T)}async function W(){let Y=await X();if(!Y)throw new o.SwapKitError("toolbox_tron_no_signer");return Y.getAddress()}async function Z(Y){let q=Y||G8,D=await Ey(),R=q*D.energyFee,$=Math.ceil(R*1.5);return Math.min(Math.max($,1e7),150000000)}async function J({contractAddress:Y,functionSelector:q,parameter:D,sender:R,memo:$,expiration:C}){let I=await k5({contractAddress:Y,functionSelector:q,parameter:D,sender:R}),P=await Z(I),n=await MG({contractAddress:Y,feeLimit:P,functionSelector:q,ownerAddress:R,parameter:D});return OG({expiration:C,feeLimit:P,memo:$,transaction:n})}async function Q(Y){if(!KT(Y))return[o.AssetValue.from({chain:o.Chain.Tron})];try{let q=await NG(Y);if(!q)return[o.AssetValue.from({chain:o.Chain.Tron})];let D=[o.AssetValue.from({chain:o.Chain.Tron,fromBaseDecimal:6,value:String(q.balance)})],R=q.trc20?.find(($)=>($5 in $));if(R){let $=R[$5];D.push(o.AssetValue.from({asset:`TRON.USDT-${$5}`,fromBaseDecimal:6,value:$}))}return D}catch(q){return o.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${q instanceof Error?q.message:q}`}),[o.AssetValue.from({chain:o.Chain.Tron})]}}async function L({recipient:Y,assetValue:q,memo:D,expiration:R}){if(!KT(Y))throw new o.SwapKitError("toolbox_tron_token_transfer_failed");let $=await X();if(!$)throw new o.SwapKitError("toolbox_tron_no_signer");let C=await W(),I=await z({assetValue:q,expiration:R,memo:D,recipient:Y,sender:C}),P=await $.signTransaction(I),n=await R0(P);if(!n)throw new o.SwapKitError("toolbox_tron_token_transfer_failed");return n}function O({requiredBandwidth:Y,resources:q,feePerUnit:D}){let R=Math.max(0,q.free+q.total-q.used);return Y>R?(Y-R)*D:0}async function U({recipient:Y,senderAddress:q}){let[D,R,$]=await Promise.all([Ey(),F5(Y),C5(q)]),C=R?0:D.createAccountFee,I=O({feePerUnit:D.bandwidthFee,requiredBandwidth:_8,resources:$.bandwidth});return o.AssetValue.from({chain:o.Chain.Tron,fromBaseDecimal:o.BaseDecimal.TRON,value:C+I})}async function M({assetValue:Y,recipient:q,senderAddress:D}){let R=Y.address;if(!R)throw new o.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});let[$,C,I,P]=await Promise.all([Ey(),F5(q),C5(D),k5({contractAddress:R,functionSelector:"transfer(address,uint256)",parameter:lf([{type:"address",value:q},{type:"uint256",value:Y.getBaseValue("string")}]),sender:D})]),n=C?0:$.createAccountFee,b=O({feePerUnit:$.bandwidthFee,requiredBandwidth:X8,resources:I.bandwidth}),h=Math.max(0,I.energy.total-I.energy.used),g=P>h?(P-h)*$.energyFee:0;return o.AssetValue.from({chain:o.Chain.Tron,fromBaseDecimal:o.BaseDecimal.TRON,value:n+b+g})}async function N({assetValue:Y,recipient:q,sender:D}){let R=await X();try{let $=D?D:R?await W():void 0;if(!$)return Y.isGasAsset?o.AssetValue.from({chain:o.Chain.Tron,value:0.1}):o.AssetValue.from({chain:o.Chain.Tron,value:15});return Y.isGasAsset?U({recipient:q,senderAddress:$}):M({assetValue:Y,recipient:q,senderAddress:$})}catch($){throw o.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${$ instanceof Error?$.message:$}`}),new o.SwapKitError("toolbox_fee_estimation_failed",{chain:o.Chain.Tron,error:$})}}async function z({recipient:Y,assetValue:q,memo:D,sender:R,expiration:$}){if(!KT(Y)||!KT(R))throw new o.SwapKitError("toolbox_tron_token_transfer_failed");if(q.isGasAsset){let I=await UG({amount:q.getBaseValue("number"),from:R,to:Y});return OG({expiration:$,memo:D,transaction:I})}let C=q.address;if(!C)throw new o.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:q.toString()});return J({contractAddress:C,expiration:$,functionSelector:"transfer(address,uint256)",memo:D,parameter:lf([{type:"address",value:Y},{type:"uint256",value:q.getBaseValue("string")}]),sender:R})}async function B(Y){bf(Y);let q=await X();if(!q)throw new o.SwapKitError("toolbox_tron_no_signer");return q.signTransaction(Y)}async function k(Y){let q=await B(Y);return R0(q)}function H({assetAddress:Y,spenderAddress:q,from:D}){return wG({assetAddress:Y,owner:D,spender:q})}async function F({assetAddress:Y,spenderAddress:q,from:D,amount:R}){let $=await H({assetAddress:Y,from:D,spenderAddress:q});if(!R)return $>0n;return $>=BigInt(R)}async function w({assetAddress:Y,spenderAddress:q,amount:D,from:R}){if(!KT(Y)||!KT(q))throw new o.SwapKitError("toolbox_tron_approve_failed");let $=await X();if(!$)throw new o.SwapKitError("toolbox_tron_no_signer");let C=R||await W(),I=D!==void 0?BigInt(D).toString():W8;try{let P=await J({contractAddress:Y,functionSelector:"approve(address,uint256)",parameter:lf([{type:"address",value:q},{type:"uint256",value:I}]),sender:C}),n=await $.signTransaction(P),b=await R0(n);if(!b)throw new o.SwapKitError("toolbox_tron_approve_failed");return b}catch(P){if(P instanceof o.SwapKitError)throw P;throw new o.SwapKitError("toolbox_tron_approve_failed",{error:P})}}return{approve:w,broadcastTransaction:R0,createTransaction:z,estimateTransactionFee:N,getAddress:W,getApprovedAmount:H,getBalance:Q,getRpcUrl:()=>o.getRPCUrl(o.Chain.Tron),isApproved:F,signAndBroadcastTransaction:k,signTransaction:B,transfer:L,validateAddress:KT}}var HG,RG,CG,o,hf,FG,_8=268,G8=65000,X8=345,$5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",W8="115792089237316195423570985008687907853269984665640564039457584007913129639935";var AG=E(()=>{yG();DG();R5();HG=require("@noble/hashes/utils.js"),RG=require("@scure/bip32"),CG=require("@scure/bip39"),o=require("@swapkit/helpers"),hf=require("ts-pattern"),FG=KT});var I5={};wT(I5,{validateTronAddress:()=>FG,getTronToolbox:()=>IG,getTronPrivateKeyFromMnemonic:()=>$G});module.exports=HT(I5);var A5=E(()=>{AG()});function Vy(f){if(!f||typeof f!=="string"||!f.startsWith("G")||f.length!==56)return!1;return J8.test(f)}async function Q8(f){if(!Vy(f))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(f)}catch{return!1}}function PG(f={}){let y,G=f.derivationPath||a.NetworkDerivationPath[a.Chain.Stellar],T=a.derivationPathToString(G.slice(0,3));async function _({phrase:z,path:B}){let{HDKey:k}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:H}=await import("@scure/bip39"),{Keypair:F}=await import("@stellar/stellar-sdk"),w=H(z),q=k.fromMasterSeed(w).derive(B,!0);return F.fromRawEd25519Seed(Buffer.from(q.privateKey))}async function X(){if(y)return y;let z=ny.match(f).with({phrase:ny.P.string},({phrase:B})=>B).otherwise(()=>{return});if(!z)throw new a.SwapKitError("toolbox_stellar_no_signer");return y=await _({path:T,phrase:z}),y}async function W(){let{Horizon:z}=await import("@stellar/stellar-sdk"),B=await a.getRPCUrl(a.Chain.Stellar);return new z.Server(B)}async function Z(){try{return(await X()).publicKey()}catch{return""}}async function J(z){let B=z||await Z();if(!B)throw new a.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await W()).loadAccount(B)).balances.map((F)=>{if(F.asset_type==="native")return a.AssetValue.from({chain:a.Chain.Stellar,value:F.balance});let w="asset_code"in F?F.asset_code:"",Y="asset_issuer"in F?F.asset_issuer:"";return a.AssetValue.from({asset:`${a.Chain.Stellar}.${w}-${Y}`,asyncTokenLookup:!1,value:F.balance})})}catch{return[a.AssetValue.from({chain:a.Chain.Stellar,value:0})]}}async function Q({recipient:z,assetValue:B,memo:k,sender:H}){if(k){if(new TextEncoder().encode(k).length>28)throw new a.SwapKitError("helpers_invalid_memo_type")}if(!await Q8(z))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let w=H||await Z();if(!w)throw new a.SwapKitError("toolbox_stellar_no_signer");let{Asset:Y,Memo:q,Networks:D,Operation:R,TransactionBuilder:$}=await import("@stellar/stellar-sdk"),C=await W(),I=await C.fetchBaseFee(),P=await C.loadAccount(w),n=new $(P,{fee:String(I),networkPassphrase:D.PUBLIC});if(B.isGasAsset)try{await C.loadAccount(z),n.addOperation(R.payment({amount:B.getValue("string"),asset:Y.native(),destination:z}))}catch{n.addOperation(R.createAccount({destination:z,startingBalance:B.getValue("string")}))}else n.addOperation(R.payment({amount:B.getValue("string"),asset:new Y(B.symbol,B.address),destination:z}));if(k)n.addMemo(q.text(k));return n.setTimeout(30).build()}async function L(z){let{TransactionBuilder:B,Networks:k}=await import("@stellar/stellar-sdk"),H=await X(),F=B.fromXDR(z.toXDR(),k.PUBLIC);return F.sign(H),F}async function O(z){try{let B=await W(),{hash:k}=await B.submitTransaction(z);return k}catch(B){throw new a.SwapKitError("toolbox_stellar_broadcast_error",B)}}async function U({recipient:z,assetValue:B,memo:k}){let H=await X(),F=H.publicKey(),w=await Q({assetValue:B,memo:k,recipient:z,sender:F});w.sign(H);try{return(await(await W()).submitTransaction(w)).hash}catch(Y){if(Y instanceof a.SwapKitError)throw Y;throw new a.SwapKitError("toolbox_stellar_transaction_failed",Y)}}async function M(z){let B=await L(z);return O(B)}async function N(){let{baseDecimal:z}=a.getChainConfig(a.Chain.Stellar);try{let H=(await(await W()).feeStats()).fee_charged.p50;return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:z,value:H})}catch{return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:z,value:"100"})}}return{broadcastTransaction:O,createTransaction:Q,estimateTransactionFee:N,getAddress:Z,getBalance:J,signAndBroadcastTransaction:M,signTransaction:L,transfer:U,validateAddress:Vy}}var a,ny,J8;var xG=E(()=>{a=require("@swapkit/helpers"),ny=require("ts-pattern"),J8=/^G[A-Z2-7]{55}$/});var vy={};wT(vy,{validateStellarAddress:()=>Vy,getStellarToolbox:()=>PG});module.exports=HT(vy);var oy=E(()=>{xG()});var L8={};wT(L8,{getToolbox:()=>P5,getFeeEstimator:()=>q8,getAddressValidator:()=>Y8});module.exports=HT(L8);var j=require("@swapkit/helpers");async function Y8(){let{match:f}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (F0(),C0)),{validateEVMAddress:G}=await Promise.resolve().then(() => (L_(),q_)),{validateCardanoAddress:T}=await Promise.resolve().then(() => (Y1(),Q1)),{getCosmosAddressValidator:_}=await Promise.resolve().then(() => (a0(),r0)),{validateSolanaAddress:X}=await Promise.resolve().then(() => (x1(),P1)),{validateStarknetAddress:W}=await Promise.resolve().then(() => (yy(),fy)),{validateSuiAddress:Z}=await Promise.resolve().then(() => (Gy(),_y)),{validateTonAddress:J}=await Promise.resolve().then(() => (Zy(),Wy)),{getUTXOAddressValidator:Q}=await Promise.resolve().then(() => (s1(),a1)),{validateNearAddress:L}=await Promise.resolve().then(() => (z5(),L5)),{validateRadixAddress:O}=await Promise.resolve().then(() => (U5(),N5)),{validateRippleAddress:U}=await Promise.resolve().then(() => (B5(),M5)),{validateTronAddress:M}=await Promise.resolve().then(() => (A5(),I5)),{validateStellarAddress:N}=await Promise.resolve().then(() => (oy(),vy));return function({address:B,chain:k}){return f(k).with(...j.EVMChains,()=>G(B)).with(...j.UTXOChains,(F)=>{return Q(F)(B)}).with(...j.CosmosChains,(F)=>{return _(F)(B)}).with(j.Chain.Aptos,()=>y(B)).with(j.Chain.Radix,()=>O(B)).with(j.Chain.Near,()=>L(B)).with(j.Chain.Ripple,()=>U(B)).with(j.Chain.Solana,()=>X(B)).with(j.Chain.Stellar,()=>N(B)).with(j.Chain.Starknet,()=>W(B)).with(j.Chain.Sui,()=>Z(B)).with(j.Chain.Ton,()=>J(B)).with(j.Chain.Tron,()=>M(B)).with(j.Chain.Cardano,()=>T(B)).otherwise(()=>!1)}}function q8(f){return async function(G){let{match:T}=await import("ts-pattern");return T(f).returnType().with(...j.EVMChains,async(_)=>{let X=await P5(_),W=await X.createTransaction(G),Z="feeOptionKey"in G?G.feeOptionKey:j.FeeOption.Fast;return X.estimateTransactionFee({...W,feeOption:Z})}).with(j.Chain.Bitcoin,j.Chain.BitcoinCash,j.Chain.Dogecoin,j.Chain.Dash,j.Chain.Litecoin,j.Chain.Solana,j.Chain.Ripple,j.Chain.Tron,j.Chain.Near,j.Chain.Cardano,async(_)=>{return(await P5(_)).estimateTransactionFee(G)}).with(j.Chain.Aptos,async()=>{let{getAptosToolbox:_}=await Promise.resolve().then(() => (F0(),C0));return _().estimateTransactionFee(G)}).with(j.Chain.Starknet,async()=>{let{getStarknetToolbox:_}=await Promise.resolve().then(() => (yy(),fy));return(await _()).estimateTransactionFee(G)}).with(j.Chain.Stellar,async()=>{let{getStellarToolbox:_}=await Promise.resolve().then(() => (oy(),vy));return _().estimateTransactionFee()}).with(j.Chain.Sui,async()=>{let{getSuiToolbox:_}=await Promise.resolve().then(() => (Gy(),_y));return _().estimateTransactionFee(G)}).with(j.Chain.Ton,async()=>{let{getTONToolbox:_}=await Promise.resolve().then(() => (Zy(),Wy));return _().estimateTransactionFee(G)}).with(...j.CosmosChains,async()=>{let{estimateTransactionFee:_}=await Promise.resolve().then(() => (a0(),r0));return _(G)}).otherwise(async()=>j.AssetValue.from({chain:f}))}}async function P5(f,y){let{match:G}=await import("ts-pattern");return G(f).returnType().with(...j.EVMChains,async()=>{let{getEvmToolboxAsync:T}=await Promise.resolve().then(() => (W1(),J_));return await T(f,y)}).with(...j.UTXOChains,async()=>{let{getUtxoToolbox:T}=await Promise.resolve().then(() => (s1(),a1));return T(f,y)}).with(...j.CosmosChains,async()=>{let{getCosmosToolbox:T}=await Promise.resolve().then(() => (a0(),r0));return T(f,y)}).with(j.Chain.Aptos,async()=>{let{getAptosToolbox:T}=await Promise.resolve().then(() => (F0(),C0));return T(y)}).with(j.Chain.Radix,async()=>{let{getRadixToolbox:T}=await Promise.resolve().then(() => (U5(),N5));return T(y)}).with(j.Chain.Ripple,async()=>{let{getRippleToolbox:T}=await Promise.resolve().then(() => (B5(),M5));return T(y)}).with(j.Chain.Solana,async()=>{let{getSolanaToolbox:T}=await Promise.resolve().then(() => (x1(),P1));return T(y)}).with(j.Chain.Stellar,async()=>{let{getStellarToolbox:T}=await Promise.resolve().then(() => (oy(),vy));return T(y)}).with(j.Chain.Starknet,async()=>{let{getStarknetToolbox:T}=await Promise.resolve().then(() => (yy(),fy));return T(y)}).with(j.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (Gy(),_y));return T(y)}).with(j.Chain.Tron,async()=>{let{getTronToolbox:T}=await Promise.resolve().then(() => (A5(),I5));return T(y)}).with(j.Chain.Near,async()=>{let{getNearToolbox:T}=await Promise.resolve().then(() => (z5(),L5));return T(y)}).with(j.Chain.Cardano,async()=>{let{getCardanoToolbox:T}=await Promise.resolve().then(() => (Y1(),Q1));return T(y)}).with(j.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (Zy(),Wy));return T(y)}).otherwise(()=>{throw new j.SwapKitError("toolbox_not_supported",{chain:f})})}
|