@uswap/toolboxes 4.3.14 → 4.3.15

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