@swapkit/toolboxes 4.3.10 → 4.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/dist/LICENSE +246 -0
  2. package/dist/src/aptos/index.cjs +1 -0
  3. package/dist/src/aptos/index.js +1 -0
  4. package/dist/src/cardano/index.cjs +1 -4
  5. package/dist/src/cardano/index.js +1 -4
  6. package/dist/src/cosmos/index.cjs +1 -4
  7. package/dist/src/cosmos/index.js +1 -4
  8. package/dist/src/evm/index.cjs +1 -4
  9. package/dist/src/evm/index.js +1 -4
  10. package/dist/src/index.cjs +1 -5
  11. package/dist/src/index.js +1 -5
  12. package/dist/src/near/index.cjs +1 -4
  13. package/dist/src/near/index.js +1 -4
  14. package/dist/src/radix/index.cjs +1 -4
  15. package/dist/src/radix/index.js +1 -4
  16. package/dist/src/ripple/index.cjs +1 -4
  17. package/dist/src/ripple/index.js +1 -4
  18. package/dist/src/solana/index.cjs +1 -4
  19. package/dist/src/solana/index.js +1 -4
  20. package/dist/src/starknet/index.cjs +1 -0
  21. package/dist/src/starknet/index.js +1 -0
  22. package/dist/src/stellar/index.cjs +1 -0
  23. package/dist/src/stellar/index.js +1 -0
  24. package/dist/src/substrate/index.cjs +1 -4
  25. package/dist/src/substrate/index.js +1 -4
  26. package/dist/src/sui/index.cjs +1 -4
  27. package/dist/src/sui/index.js +1 -4
  28. package/dist/src/ton/index.cjs +1 -4
  29. package/dist/src/ton/index.js +1 -4
  30. package/dist/src/tron/index.cjs +1 -4
  31. package/dist/src/tron/index.js +1 -4
  32. package/dist/src/utxo/index.cjs +1 -5
  33. package/dist/src/utxo/index.js +1 -5
  34. package/dist/types/aptos/index.d.ts +3 -0
  35. package/dist/types/aptos/index.d.ts.map +1 -0
  36. package/dist/types/aptos/toolbox.d.ts +21 -0
  37. package/dist/types/aptos/toolbox.d.ts.map +1 -0
  38. package/dist/types/aptos/types.d.ts +27 -0
  39. package/dist/types/aptos/types.d.ts.map +1 -0
  40. package/dist/types/cardano/toolbox.d.ts +19 -22
  41. package/dist/types/cardano/toolbox.d.ts.map +1 -1
  42. package/dist/types/cardano/types.d.ts +8 -3
  43. package/dist/types/cardano/types.d.ts.map +1 -1
  44. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +1 -1
  45. package/dist/types/cosmos/thorchainUtils/messages.d.ts +3 -3
  46. package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +1 -1
  47. package/dist/types/cosmos/toolbox/cosmos.d.ts +11 -9
  48. package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
  49. package/dist/types/cosmos/toolbox/thorchain.d.ts +6 -51
  50. package/dist/types/cosmos/toolbox/thorchain.d.ts.map +1 -1
  51. package/dist/types/cosmos/types.d.ts +2 -2
  52. package/dist/types/cosmos/types.d.ts.map +1 -1
  53. package/dist/types/evm/helpers.d.ts +34 -1
  54. package/dist/types/evm/helpers.d.ts.map +1 -1
  55. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +14 -7
  56. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
  57. package/dist/types/evm/toolbox/evm.d.ts +236 -96
  58. package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
  59. package/dist/types/evm/toolbox/index.d.ts +3 -2
  60. package/dist/types/evm/toolbox/index.d.ts.map +1 -1
  61. package/dist/types/evm/toolbox/op.d.ts +13 -8
  62. package/dist/types/evm/toolbox/op.d.ts.map +1 -1
  63. package/dist/types/evm/types.d.ts +49 -27
  64. package/dist/types/evm/types.d.ts.map +1 -1
  65. package/dist/types/index.d.ts +31 -25
  66. package/dist/types/index.d.ts.map +1 -1
  67. package/dist/types/near/helpers/core.d.ts +1 -1
  68. package/dist/types/near/helpers/core.d.ts.map +1 -1
  69. package/dist/types/near/index.d.ts +1 -1
  70. package/dist/types/near/index.d.ts.map +1 -1
  71. package/dist/types/near/toolbox.d.ts +13 -10
  72. package/dist/types/near/toolbox.d.ts.map +1 -1
  73. package/dist/types/near/types/index.d.ts +4 -0
  74. package/dist/types/near/types/index.d.ts.map +1 -0
  75. package/dist/types/near/types/toolbox.d.ts +2 -0
  76. package/dist/types/near/types/toolbox.d.ts.map +1 -1
  77. package/dist/types/radix/index.d.ts +7 -7
  78. package/dist/types/radix/index.d.ts.map +1 -1
  79. package/dist/types/ripple/currency.d.ts +5 -0
  80. package/dist/types/ripple/currency.d.ts.map +1 -0
  81. package/dist/types/ripple/index.d.ts +60 -17
  82. package/dist/types/ripple/index.d.ts.map +1 -1
  83. package/dist/types/ripple/tokens.d.ts +15 -0
  84. package/dist/types/ripple/tokens.d.ts.map +1 -0
  85. package/dist/types/solana/index.d.ts +1 -1
  86. package/dist/types/solana/index.d.ts.map +1 -1
  87. package/dist/types/solana/toolbox.d.ts +12 -10
  88. package/dist/types/solana/toolbox.d.ts.map +1 -1
  89. package/dist/types/starknet/index.d.ts +5 -0
  90. package/dist/types/starknet/index.d.ts.map +1 -0
  91. package/dist/types/starknet/toolbox.d.ts +34 -0
  92. package/dist/types/starknet/toolbox.d.ts.map +1 -0
  93. package/dist/types/starknet/types.d.ts +26 -0
  94. package/dist/types/starknet/types.d.ts.map +1 -0
  95. package/dist/types/stellar/index.d.ts +3 -0
  96. package/dist/types/stellar/index.d.ts.map +1 -0
  97. package/dist/types/stellar/toolbox.d.ts +21 -0
  98. package/dist/types/stellar/toolbox.d.ts.map +1 -0
  99. package/dist/types/stellar/types.d.ts +10 -0
  100. package/dist/types/stellar/types.d.ts.map +1 -0
  101. package/dist/types/substrate/balance.d.ts +3 -3
  102. package/dist/types/substrate/balance.d.ts.map +1 -1
  103. package/dist/types/substrate/substrate.d.ts +22 -97
  104. package/dist/types/substrate/substrate.d.ts.map +1 -1
  105. package/dist/types/substrate/types.d.ts +2 -2
  106. package/dist/types/substrate/types.d.ts.map +1 -1
  107. package/dist/types/sui/toolbox.d.ts +17 -8
  108. package/dist/types/sui/toolbox.d.ts.map +1 -1
  109. package/dist/types/sui/types.d.ts +11 -3
  110. package/dist/types/sui/types.d.ts.map +1 -1
  111. package/dist/types/ton/toolbox.d.ts +23 -13
  112. package/dist/types/ton/toolbox.d.ts.map +1 -1
  113. package/dist/types/ton/types.d.ts +9 -8
  114. package/dist/types/ton/types.d.ts.map +1 -1
  115. package/dist/types/tron/helpers/proto.d.ts +9 -0
  116. package/dist/types/tron/helpers/proto.d.ts.map +1 -0
  117. package/dist/types/tron/helpers/trongrid.d.ts +43 -3
  118. package/dist/types/tron/helpers/trongrid.d.ts.map +1 -1
  119. package/dist/types/tron/helpers/utils.d.ts +17 -0
  120. package/dist/types/tron/helpers/utils.d.ts.map +1 -0
  121. package/dist/types/tron/index.d.ts +4 -5
  122. package/dist/types/tron/index.d.ts.map +1 -1
  123. package/dist/types/tron/toolbox.d.ts +20 -18
  124. package/dist/types/tron/toolbox.d.ts.map +1 -1
  125. package/dist/types/tron/types.d.ts +31 -57
  126. package/dist/types/tron/types.d.ts.map +1 -1
  127. package/dist/types/types.d.ts +6 -0
  128. package/dist/types/types.d.ts.map +1 -1
  129. package/dist/types/utxo/hdWallet.d.ts +33 -0
  130. package/dist/types/utxo/hdWallet.d.ts.map +1 -0
  131. package/dist/types/utxo/helpers/api.d.ts +49 -1
  132. package/dist/types/utxo/helpers/api.d.ts.map +1 -1
  133. package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -1
  134. package/dist/types/utxo/helpers/cashaddr.d.ts +13 -0
  135. package/dist/types/utxo/helpers/cashaddr.d.ts.map +1 -0
  136. package/dist/types/utxo/helpers/coinselect.d.ts +9 -5
  137. package/dist/types/utxo/helpers/coinselect.d.ts.map +1 -1
  138. package/dist/types/utxo/helpers/txSize.d.ts +4 -3
  139. package/dist/types/utxo/helpers/txSize.d.ts.map +1 -1
  140. package/dist/types/utxo/index.d.ts +2 -1
  141. package/dist/types/utxo/index.d.ts.map +1 -1
  142. package/dist/types/utxo/toolbox/bitcoinCash.d.ts +75 -15
  143. package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
  144. package/dist/types/utxo/toolbox/index.d.ts +6 -5
  145. package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
  146. package/dist/types/utxo/toolbox/params.d.ts +8 -16
  147. package/dist/types/utxo/toolbox/params.d.ts.map +1 -1
  148. package/dist/types/utxo/toolbox/utxo.d.ts +135 -46
  149. package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
  150. package/dist/types/utxo/toolbox/validators.d.ts +1 -1
  151. package/dist/types/utxo/toolbox/validators.d.ts.map +1 -1
  152. package/dist/types/utxo/toolbox/zcash.d.ts +63 -10
  153. package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
  154. package/dist/types/utxo/types.d.ts +78 -15
  155. package/dist/types/utxo/types.d.ts.map +1 -1
  156. package/package.json +43 -53
  157. package/dist/src/cardano/index.cjs.map +0 -11
  158. package/dist/src/cardano/index.js.map +0 -11
  159. package/dist/src/cosmos/index.cjs.map +0 -20
  160. package/dist/src/cosmos/index.js.map +0 -20
  161. package/dist/src/evm/index.cjs.map +0 -20
  162. package/dist/src/evm/index.js.map +0 -20
  163. package/dist/src/index.cjs.map +0 -67
  164. package/dist/src/index.js.map +0 -67
  165. package/dist/src/near/index.cjs.map +0 -16
  166. package/dist/src/near/index.js.map +0 -16
  167. package/dist/src/radix/index.cjs.map +0 -10
  168. package/dist/src/radix/index.js.map +0 -10
  169. package/dist/src/ripple/index.cjs.map +0 -10
  170. package/dist/src/ripple/index.js.map +0 -10
  171. package/dist/src/solana/index.cjs.map +0 -11
  172. package/dist/src/solana/index.js.map +0 -11
  173. package/dist/src/substrate/index.cjs.map +0 -13
  174. package/dist/src/substrate/index.js.map +0 -13
  175. package/dist/src/sui/index.cjs.map +0 -11
  176. package/dist/src/sui/index.js.map +0 -11
  177. package/dist/src/ton/index.cjs.map +0 -11
  178. package/dist/src/ton/index.js.map +0 -11
  179. package/dist/src/tron/index.cjs.map +0 -13
  180. package/dist/src/tron/index.js.map +0 -13
  181. package/dist/src/utxo/index.cjs.map +0 -21
  182. package/dist/src/utxo/index.js.map +0 -21
  183. package/dist/types/tron/helpers/trc20.abi.d.ts +0 -156
  184. package/dist/types/tron/helpers/trc20.abi.d.ts.map +0 -1
  185. package/src/__tests__/address-validation-all-chains.test.ts +0 -162
  186. package/src/__tests__/addressValidator.test.ts +0 -162
  187. package/src/cardano/__tests__/toolbox.test.ts +0 -48
  188. package/src/cardano/index.ts +0 -2
  189. package/src/cardano/toolbox.ts +0 -168
  190. package/src/cardano/types.ts +0 -10
  191. package/src/cosmos/__tests__/toolbox.test.ts +0 -95
  192. package/src/cosmos/index.ts +0 -4
  193. package/src/cosmos/thorchainUtils/addressFormat.ts +0 -22
  194. package/src/cosmos/thorchainUtils/index.ts +0 -4
  195. package/src/cosmos/thorchainUtils/messages.ts +0 -212
  196. package/src/cosmos/thorchainUtils/registry.ts +0 -43
  197. package/src/cosmos/thorchainUtils/types/MsgCompiled.ts +0 -2800
  198. package/src/cosmos/thorchainUtils/types/client-types.ts +0 -54
  199. package/src/cosmos/thorchainUtils/types/index.ts +0 -1
  200. package/src/cosmos/toolbox/cosmos.ts +0 -350
  201. package/src/cosmos/toolbox/index.ts +0 -35
  202. package/src/cosmos/toolbox/thorchain.ts +0 -249
  203. package/src/cosmos/types.ts +0 -48
  204. package/src/cosmos/util.ts +0 -214
  205. package/src/evm/__tests__/address-validation.test.ts +0 -84
  206. package/src/evm/__tests__/ethereum.test.ts +0 -137
  207. package/src/evm/__tests__/signMessage.test.ts +0 -60
  208. package/src/evm/api.ts +0 -10
  209. package/src/evm/contracts/eth/multicall.ts +0 -165
  210. package/src/evm/contracts/op/gasOracle.ts +0 -145
  211. package/src/evm/helpers.ts +0 -71
  212. package/src/evm/index.ts +0 -4
  213. package/src/evm/toolbox/baseEVMToolbox.ts +0 -698
  214. package/src/evm/toolbox/evm.ts +0 -66
  215. package/src/evm/toolbox/index.ts +0 -44
  216. package/src/evm/toolbox/op.ts +0 -143
  217. package/src/evm/types.ts +0 -146
  218. package/src/index.ts +0 -260
  219. package/src/near/__tests__/core.test.ts +0 -70
  220. package/src/near/helpers/core.ts +0 -85
  221. package/src/near/helpers/gasEstimation.ts +0 -96
  222. package/src/near/helpers/nep141.ts +0 -50
  223. package/src/near/index.ts +0 -21
  224. package/src/near/toolbox.ts +0 -421
  225. package/src/near/types/contract.ts +0 -32
  226. package/src/near/types/nep141.ts +0 -34
  227. package/src/near/types/toolbox.ts +0 -55
  228. package/src/near/types.ts +0 -44
  229. package/src/radix/index.ts +0 -138
  230. package/src/ripple/index.ts +0 -179
  231. package/src/solana/index.ts +0 -36
  232. package/src/solana/toolbox.ts +0 -409
  233. package/src/substrate/balance.ts +0 -88
  234. package/src/substrate/index.ts +0 -2
  235. package/src/substrate/substrate.ts +0 -281
  236. package/src/substrate/types.ts +0 -115
  237. package/src/sui/__tests__/toolbox.test.ts +0 -86
  238. package/src/sui/index.ts +0 -2
  239. package/src/sui/toolbox.ts +0 -166
  240. package/src/sui/types.ts +0 -11
  241. package/src/ton/__tests__/toolbox.test.ts +0 -67
  242. package/src/ton/index.ts +0 -2
  243. package/src/ton/toolbox.ts +0 -136
  244. package/src/ton/types.ts +0 -13
  245. package/src/tron/__tests__/toolbox.test.ts +0 -221
  246. package/src/tron/helpers/trc20.abi.ts +0 -107
  247. package/src/tron/helpers/trongrid.ts +0 -53
  248. package/src/tron/index.ts +0 -21
  249. package/src/tron/toolbox.ts +0 -585
  250. package/src/tron/types.ts +0 -83
  251. package/src/types.ts +0 -28
  252. package/src/utils.ts +0 -34
  253. package/src/utxo/__tests__/zcash-integration.test.ts +0 -97
  254. package/src/utxo/helpers/api.ts +0 -471
  255. package/src/utxo/helpers/bchaddrjs.ts +0 -166
  256. package/src/utxo/helpers/coinselect.ts +0 -92
  257. package/src/utxo/helpers/index.ts +0 -4
  258. package/src/utxo/helpers/txSize.ts +0 -137
  259. package/src/utxo/index.ts +0 -6
  260. package/src/utxo/toolbox/bitcoinCash.ts +0 -243
  261. package/src/utxo/toolbox/index.ts +0 -59
  262. package/src/utxo/toolbox/params.ts +0 -18
  263. package/src/utxo/toolbox/utxo.ts +0 -439
  264. package/src/utxo/toolbox/validators.ts +0 -36
  265. package/src/utxo/toolbox/zcash.ts +0 -242
  266. package/src/utxo/types.ts +0 -39
@@ -1,5 +1 @@
1
- var Ax=Object.create;var{getPrototypeOf:Fx,defineProperty:RT,getOwnPropertyNames:$1,getOwnPropertyDescriptor:Vx}=Object,K1=Object.prototype.hasOwnProperty;var W=(T,x,N)=>{N=T!=null?Ax(Fx(T)):{};let y=x||!T||!T.__esModule?RT(N,"default",{value:T,enumerable:!0}):N;for(let f of $1(T))if(!K1.call(y,f))RT(y,f,{get:()=>T[f],enumerable:!0});return y},V1=new WeakMap,zy=(T)=>{var x=V1.get(T),N;if(x)return x;if(x=RT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")$1(T).map((y)=>!K1.call(x,y)&&RT(x,y,{get:()=>T[y],enumerable:!(N=Vx(T,y))||N.enumerable}));return V1.set(T,x),x};var qy=(T,x)=>{for(var N in x)RT(T,N,{get:x[N],enumerable:!0,configurable:!0,set:(y)=>x[N]=()=>y})};var k=(T,x)=>()=>(T&&(x=T(T=0)),x);function u1(){function T(){let x=Date.now(),N=rf||x;return rf=N,x>rf?x:N+1}return $x+T().toString(36)}function TT(T){return async function(N,y=!0){let f=await n1.SwapKitApi.getChainBalance({address:N,chain:T,scamFilter:y}),{baseDecimal:G}=wT.getChainConfig(T),L=f.map(({identifier:_,value:Z,decimal:q})=>{return new wT.AssetValue({decimal:q||G,identifier:_,value:Z})});if(!L.some((_)=>_.isGasAsset))return[wT.AssetValue.from({chain:T}),...L];return L}}var wT,n1,$x,rf=0;var CT=k(()=>{wT=require("@swapkit/helpers"),n1=require("@swapkit/helpers/api"),$x=typeof process<"u"&&process.pid?process.pid.toString(36):""});function OT(T){return{getBalance:TT(T)}}function Kx(T){return T}var ff=k(()=>{CT()});async function cy(T,x){let{JsonRpcProvider:N}=await import("ethers");return new N(x||await g.getRPCUrl(T))}function ET(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function af(T){let{explorerUrl:x,chainIdHex:N,rpcUrls:y}=g.getChainConfig(T);return function(){return T!==g.Chain.Ethereum?{...nx({chain:T}),blockExplorerUrls:[x],chainId:N,rpcUrls:y}:void 0}}function sf(T){return![g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(T)}function nx({chain:T}){let{name:x,nativeCurrency:N,baseDecimal:y}=g.getChainConfig(T);return b1.match(T).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:T}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:x,nativeCurrency:{decimals:y,name:N,symbol:N}}))}var g,b1;var fT=k(()=>{g=require("@swapkit/helpers"),b1=require("ts-pattern")});var j1;var h1=k(()=>{j1=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function GT({chain:T=H.Chain.Ethereum,provider:x,signer:N,isEIP1559Compatible:y=!0}){return{approve:ox({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),approvedAmount:c1({chain:T,provider:x}),broadcastTransaction:x.broadcastTransaction,call:G0({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),createApprovalTx:tx({chain:T,provider:x,signer:N}),createContract:T0({chain:T,provider:x}),createContractTxObject:ty({chain:T,provider:x}),createTransaction:ef({chain:T,provider:x,signer:N}),createTransferTx:ef({chain:T,provider:x,signer:N}),EIP1193SendTransaction:LT(x),estimateCall:t1({provider:x,signer:N}),estimateGasLimit:mx({chain:T,provider:x,signer:N}),estimateGasPrices:gy({chain:T,isEIP1559Compatible:y,provider:x}),estimateTransactionFee:gx({chain:T,isEIP1559Compatible:y,provider:x}),getAddress:()=>{return N?N.getAddress():void 0},getBalance:OT(T).getBalance,getNetworkParams:af(T),isApproved:hx({chain:T,provider:x}),sendTransaction:g1({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),signMessage:N?(f)=>N.signMessage(f):void 0,transfer:px({chain:T,isEIP1559Compatible:y,provider:x,signer:N}),validateAddress:(f)=>y0({address:f})}}function y0({address:T}){try{return Wy.getAddress(T),!0}catch{return!1}}function NT(T){return T instanceof Wy.BrowserProvider}function DT(T,x,N){return new Wy.Contract(T,Wy.Interface.from(x),N)}function T0({provider:T}){return function(N,y){return new Wy.Contract(N,Wy.Interface.from(y),T)}}function f0({abi:T,funcName:x}){let N=T.find((y)=>y.name===x);if(!N)throw new H.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:x});return N.stateMutability&&ux.includes(N.stateMutability)}function p1(T){return Wy.getAddress(T)}function LT(T){return function({value:N,...y}){if(!NT(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=y;return T.send("eth_sendTransaction",[{..._,value:ET(BigInt(N||0))}])}}function m1(T,x){let N=XT(T,x);if(N)return Wy.getAddress(N.toLowerCase());throw new H.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function XT({chain:T,symbol:x,ticker:N},y){try{let f=T===H.Chain.BinanceSmartChain&&x==="BNB"&&N==="BNB",G=T===y&&x===y&&N===y,L=jx.includes(T)&&x==="ETH"&&N==="ETH";if(G||f||L)return x0[y];return Wy.getAddress(x.slice(N.length+1).replace(/^0X/,""))}catch{return null}}function ty({provider:T}){return async({contractAddress:x,abi:N,funcName:y,funcParams:f=[],txOverrides:G})=>DT(x,N,T).getFunction(y).populateTransaction(...f.concat(G).filter((L)=>typeof L<"u"))}function gy({chain:T,provider:x,isEIP1559Compatible:N=!0}){return o1.match(T).with(H.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:G}=await x.getFeeData();if(!f||G===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Average),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Average)},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}catch(f){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(H.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await x.getFeeData();if(!f)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:f},[H.FeeOption.Fast]:{gasPrice:f},[H.FeeOption.Fastest]:{gasPrice:f}}}catch(f){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:G,gasPrice:L}=await x.getFeeData();if(N){if(f===null||G===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:G},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}if(!L)throw new H.SwapKitError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:L},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest)}}}catch(f){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function G0({provider:T,isEIP1559Compatible:x,signer:N,chain:y}){return async function({callProvider:G,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:q={},feeOption:Q=H.FeeOption.Fast}){let J=G||T;if(!L)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=f0({abi:X,funcName:_});if(B&&NT(J)&&N){let M=ty({chain:y,provider:J}),I=q?.from||await N?.getAddress(),O=await M({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...q,from:I}});return LT(J)(O)}let Y=DT(L,X,J);if(B){if(!N)throw new H.SwapKitError("toolbox_evm_no_signer");let M=q?.from||await N.getAddress();if(!M)throw new H.SwapKitError("toolbox_evm_no_signer_address");let I=Y.connect(N),O=gy({chain:y,isEIP1559Compatible:x,provider:T}),{maxFeePerGas:K,maxPriorityFeePerGas:V,gasPrice:u}=(await O())[Q],i=await Y.getFunction(_).estimateGas(...Z,q),Ly=await I[_](...Z,{...q,gasLimit:i,gasPrice:u,maxFeePerGas:K,maxPriorityFeePerGas:V,nonce:q?.nonce||await J.getTransactionCount(M)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let U=await Y[_]?.(...Z);return typeof U?.hash==="string"?U?.hash:U}}function c1({provider:T,chain:x}){return function({assetAddress:y,spenderAddress:f,from:G}){return G0({chain:x,isEIP1559Compatible:!0,provider:T})({abi:xT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[G,f]})}}function hx({provider:T,chain:x}){return async function({assetAddress:y,spenderAddress:f,from:G,amount:L=kT}){let X=await c1({chain:x,provider:T})({assetAddress:y,from:G,spenderAddress:f});return H.SwapKitNumber.fromBigInt(X).gte(H.SwapKitNumber.fromBigInt(BigInt(L)))}}function ox({signer:T,isEIP1559Compatible:x=!0,provider:N,chain:y}){return async function({assetAddress:G,spenderAddress:L,feeOptionKey:X=H.FeeOption.Fast,amount:_,gasLimitFallback:Z,from:q,nonce:Q}){let J=[L,BigInt(_||kT)],B=await T?.getAddress()||q,Y={abi:xT.erc20ABI,contractAddress:G,funcName:"approve",funcParams:J,signer:T,txOverrides:{from:B}};if(NT(N)){let M=ty({chain:y,provider:N}),I=LT(N),O=await M(Y);return I(O)}return G0({chain:y,isEIP1559Compatible:x,provider:N,signer:T})({...Y,feeOption:X,funcParams:J,txOverrides:{from:B,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:Q}})}}function px({signer:T,isEIP1559Compatible:x=!0,provider:N}){return async function({assetValue:f,memo:G,recipient:L,feeOptionKey:X=H.FeeOption.Fast,sender:_,...Z}){let{hexlify:q,toUtf8Bytes:Q}=await import("ethers"),J=f.getBaseValue("bigint"),B=f.chain,Y=_||await T?.getAddress(),U=g1({chain:B,isEIP1559Compatible:x,provider:N,signer:T});if(!Y)throw new H.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let u={...Z,data:q(Q(G||"")),feeOptionKey:X,from:Y,to:L,value:J};return U(u)}if(!XT(f,B))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:I,maxPriorityFeePerGas:O,gasPrice:K}=(await gy({chain:B,isEIP1559Compatible:x,provider:N})())[X],V=await ef({chain:B,provider:N,signer:T})({assetValue:f,data:q(Q(G||"")),gasPrice:K,maxFeePerGas:I,maxPriorityFeePerGas:O,memo:G,recipient:L,sender:Y});return U(V)}}function t1({provider:T,signer:x}){return function({contractAddress:y,abi:f,funcName:G,funcParams:L=[],txOverrides:X}){if(!y)throw new H.SwapKitError("toolbox_evm_no_contract_address");let _=DT(y,f,T);return x?_.connect(x).getFunction(G).estimateGas(...L,X):_.getFunction(G).estimateGas(...L,X)}}function mx({provider:T,signer:x}){return async function({assetValue:y,recipient:f,memo:G,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:q}){let Q=y.bigIntValue,J=y.isGasAsset?null:XT(y,y.chain);if(J&&_)return t1({provider:T,signer:x})({abi:xT.erc20ABI,contractAddress:J,funcName:_,funcParams:Z,txOverrides:q});let{hexlify:B,toUtf8Bytes:Y}=await import("ethers");return T.estimateGas({data:L?L:G?B(Y(G)):void 0,from:X,to:f,value:Q})}}function g1({provider:T,signer:x,isEIP1559Compatible:N=!0,chain:y}){return async function({feeOptionKey:G=H.FeeOption.Fast,...L}){let{from:X,to:_,data:Z,value:q,...Q}=L;if(!x)throw new H.SwapKitError("toolbox_evm_no_signer");if(!_)throw new H.SwapKitError("toolbox_evm_no_to_address");let J={...Q,data:Z||"0x",from:X,to:_,value:BigInt(q||0)};if(NT(T))return LT(T)(J);let B=X||await x.getAddress(),Y=L.nonce||await T.getTransactionCount(B),U=(await T.getNetwork()).chainId,M=cx(J)||N,I=gy({chain:y,isEIP1559Compatible:N,provider:T}),O=M&&!(J.maxFeePerGas&&J.maxPriorityFeePerGas)||!J.gasPrice?Object.entries((await I())[G]).reduce((V,[u,i])=>({...V,[u]:ET(BigInt(i))}),{}):{},K;try{K=ET(J.gasLimit||await T.estimateGas(J)*11n/10n)}catch(V){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:V})}try{let V={...J,chainId:U,gasLimit:K,nonce:Y,type:M?2:0,...O};try{return(await x.sendTransaction(V)).hash}catch{let u=await x.signTransaction({...V,from:B});return(await T.broadcastTransaction(u)).hash}}catch(V){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:V})}}}function ef({provider:T,signer:x}){return async function({assetValue:y,memo:f,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:q,...Q}){let J=y.getBaseValue("bigint"),B=y.chain,Y=X||await x?.getAddress();if(!Y)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:I,toUtf8Bytes:O}=await import("ethers");return{...Q,data:L||I(O(f||"")),from:Y,to:G,value:J}}let U=XT(y,B);if(!U)throw new H.SwapKitError("toolbox_evm_no_contract_address");return ty({chain:y.chain,provider:T})({abi:xT.erc20ABI,contractAddress:U,funcName:"transfer",funcParams:[G,J],txOverrides:{from:Y,gasPrice:q,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function tx({provider:T,signer:x,chain:N}){return async function({assetAddress:f,spenderAddress:G,amount:L,from:X}){let _=await x?.getAddress()||X,Z=ty({chain:N,provider:T}),q=["bigint","number"].includes(typeof L)?L:L||kT;return await Z({abi:xT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[G,BigInt(q)],txOverrides:{from:_}})}}function gx({provider:T,isEIP1559Compatible:x=!0}){return async function({feeOption:y=H.FeeOption.Fast,chain:f,...G}){let X=await gy({chain:f,isEIP1559Compatible:x,provider:T})(),_=await T.estimateGas(G),Z=H.AssetValue.from({chain:f}),{gasPrice:q,maxFeePerGas:Q,maxPriorityFeePerGas:J}=X[y];if(!x&&q)return Z.set(H.SwapKitNumber.fromBigInt(q*_,Z.decimal));if(Q&&J){let B=(Q+J)*_;return Z.set(H.SwapKitNumber.fromBigInt(B,Z.decimal))}throw new H.SwapKitError("toolbox_evm_no_gas_price")}}var H,xT,Wy,o1,kT,ux,bx,x0,jx,cx=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var xf=k(()=>{ff();fT();H=require("@swapkit/helpers"),xT=require("@swapkit/helpers/contracts"),Wy=require("ethers"),o1=require("ts-pattern"),kT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");ux=["payable","nonpayable"];bx=H.EVMChains.reduce((T,x)=>{return T[x]="0x0000000000000000000000000000000000000000",T},{}),x0={...bx,[H.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[H.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},jx=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism]});async function Gf({provider:T,...x}){let N=await Gy(a.Chain.Ethereum)({provider:T,...x});async function y(f,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=a.FeeOption.Fast){let _=await N.createContractTxObject({abi:j1,contractAddress:G,funcName:L,funcParams:[f]});return N.sendTransaction({..._,feeOptionKey:X})}return{...N,multicall:y}}function Gy(T){return async function({provider:N,...y}){let{HDNodeWallet:f}=await import("ethers"),G=await a.getRPCUrl(T),L=N||await cy(T,G),X=sf(T),_=PT.match(y).with({phrase:PT.P.string},({phrase:q})=>f.fromPhrase(q).connect(L)).with({signer:PT.P.any},({signer:q})=>q).otherwise(()=>{return});return GT({chain:T,isEIP1559Compatible:X,provider:L,signer:_})}}var a,PT,Nf,Lf,Xf,_f,Zf,Jf,d1,qf,Qf,Bf,Yf,zf,Wf,ST,Hf,Uf,Mf,If;var N0=k(()=>{h1();fT();xf();a=require("@swapkit/helpers"),PT=require("ts-pattern");Nf=Gy(a.Chain.Arbitrum),Lf=Gy(a.Chain.Aurora),Xf=Gy(a.Chain.Avalanche),_f=Gy(a.Chain.Base),Zf=Gy(a.Chain.Berachain),Jf=Gy(a.Chain.BinanceSmartChain),d1=Gy(a.Chain.Botanix),qf=Gy(a.Chain.Core),Qf=Gy(a.Chain.Corn),Bf=Gy(a.Chain.Cronos),Yf=Gy(a.Chain.Gnosis),zf=Gy(a.Chain.Hyperevm),Wf=Gy(a.Chain.Polygon),ST=Gy(a.Chain.Sonic),Hf=Gy(a.Chain.Unichain),Uf=Gy(a.Chain.XLayer),Mf=Gy(a.Chain.Monad),If=Gy(a.Chain.MegaETH)});var i1;var r1=k(()=>{i1=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function L0(T){return new Rf.Contract(ix,i1,T)}function a1(T){return async function(){let N=L0(T);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function s1(T){return async function({from:N,to:y,nonce:f,...G}){let{Transaction:L}=await import("ethers");if(!y)throw new d.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...G,authorizationList:G.authorizationList,nonce:f?f:N?await T.getTransactionCount(N):0,to:y}).serialized}}function e1(T){return async function(N){let y=L0(T),f=await s1(T)(N);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function y5(T){return async function(N){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(N);return y.mul(f)}}function rx(T){return async function(N){let y=await e1(T)(N),f=await y5(T)(N);return y.add(f)}}function ax(T){return async function(N){let y=L0(T),f=await s1(T)(N);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}async function sx(T){try{let{maxFeePerGas:x,maxPriorityFeePerGas:N,gasPrice:y}=await T.getFeeData(),f=await a1(T)(),G=y;if(!(x&&N))throw new d.SwapKitError("toolbox_evm_no_fee_data");return{[d.FeeOption.Average]:{gasPrice:G,l1GasPrice:f,maxFeePerGas:x,maxPriorityFeePerGas:N},[d.FeeOption.Fast]:{gasPrice:d.applyFeeMultiplierToBigInt(G,d.FeeOption.Fast),l1GasPrice:d.applyFeeMultiplierToBigInt(f||0n,d.FeeOption.Fast),maxFeePerGas:x,maxPriorityFeePerGas:d.applyFeeMultiplierToBigInt(N,d.FeeOption.Fast)},[d.FeeOption.Fastest]:{gasPrice:d.applyFeeMultiplierToBigInt(G,d.FeeOption.Fastest),l1GasPrice:d.applyFeeMultiplierToBigInt(f||0n,d.FeeOption.Fastest),maxFeePerGas:x,maxPriorityFeePerGas:d.applyFeeMultiplierToBigInt(N,d.FeeOption.Fastest)}}}catch(x){throw new d.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}async function wf({provider:T,...x}){let N=d.Chain.Optimism,y=await d.getRPCUrl(N),f=T||await cy(N,y),G=vT.match(x).with({phrase:vT.P.string},({phrase:_})=>Rf.HDNodeWallet.fromPhrase(_).connect(f)).with({signer:vT.P.any},({signer:_})=>_).otherwise(()=>{return}),L=GT({provider:f,signer:G}),X=a1(f);return{...L,estimateGasPrices:sx(f),estimateL1Gas:ax(f),estimateL1GasCost:e1(f),estimateL2GasCost:y5(f),estimateTotalGasCost:rx(f),getBalance:OT(d.Chain.Optimism).getBalance,getL1GasPrice:X}}var d,Rf,vT,ix="0x420000000000000000000000000000000000000f";var X0=k(()=>{ff();r1();fT();xf();d=require("@swapkit/helpers"),Rf=require("ethers"),vT=require("ts-pattern")});var x5={};qy(x5,{toChecksumAddress:()=>p1,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getEvmToolbox:()=>f5,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>ty,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>m1,evmValidateAddress:()=>y0,createContract:()=>DT,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>ST,OPToolbox:()=>wf,MONADToolbox:()=>Mf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>kT,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>zf,GNOToolbox:()=>Yf,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Bf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>d1,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});async function f5(T,x){let N={...x,provider:x?.provider||await cy(T)};return T5.match(T).returnType().with(e.Chain.Arbitrum,()=>Nf(N)).with(e.Chain.Aurora,()=>Lf(N)).with(e.Chain.Avalanche,()=>Xf(N)).with(e.Chain.Base,()=>_f(N)).with(e.Chain.Berachain,()=>Zf(N)).with(e.Chain.BinanceSmartChain,()=>Jf(N)).with(e.Chain.Botanix,()=>ST(N)).with(e.Chain.Core,()=>qf(N)).with(e.Chain.Corn,()=>Qf(N)).with(e.Chain.Cronos,()=>Bf(N)).with(e.Chain.Ethereum,()=>Gf(N)).with(e.Chain.Gnosis,()=>Yf(N)).with(e.Chain.Hyperevm,()=>zf(N)).with(e.Chain.Optimism,()=>wf(N)).with(e.Chain.Polygon,()=>Wf(N)).with(e.Chain.Sonic,()=>ST(N)).with(e.Chain.Unichain,()=>Hf(N)).with(e.Chain.XLayer,()=>Uf(N)).with(e.Chain.Monad,()=>Mf(N)).with(e.Chain.MegaETH,()=>If(N)).exhaustive()}var e,T5;var _0=k(()=>{fT();N0();X0();e=require("@swapkit/helpers"),T5=require("ts-pattern");xf();N0();X0()});var G5;var N5=k(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(G5||={})});var L5={};qy(L5,{toHexString:()=>ET,toChecksumAddress:()=>p1,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getProvider:()=>cy,getNetworkParams:()=>af,getIsEIP1559Compatible:()=>sf,getEvmToolbox:()=>f5,getEvmApi:()=>OT,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>ty,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>m1,evmValidateAddress:()=>y0,createCustomEvmApi:()=>Kx,createContract:()=>DT,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>ST,OPToolbox:()=>wf,MONADToolbox:()=>Mf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>kT,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>zf,GNOToolbox:()=>Yf,EthNetwork:()=>G5,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Bf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>d1,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});module.exports=zy(L5);var X5=k(()=>{ff();fT();_0();N5()});async function Z0(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),x="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function y2(T){try{let{MeshWallet:x}=await import("@meshsdk/core"),N=await Z0(),y=new x({fetcher:N,key:{address:T,type:"address"},networkId:1});await y.init();let f=await y.getBalance(),G=[];for(let L of f)if(L.unit===ex){let{baseDecimal:X}=yy.getChainConfig(yy.Chain.Cardano);G.push(yy.AssetValue.from({chain:yy.Chain.Cardano,fromBaseDecimal:X,value:L.quantity}))}else G.push(yy.AssetValue.from({asset:`${yy.Chain.Cardano}.${L.unit}`,value:L.quantity}));if(G.length===0)return[yy.AssetValue.from({chain:yy.Chain.Cardano})];return G}catch(x){let N=x instanceof Error?x.message:String(x);return console.error(`Cardano balance fetch error: ${N}`),[yy.AssetValue.from({chain:yy.Chain.Cardano})]}}async function _5(){let{deserializeAddress:T}=await import("@meshsdk/core");return(x)=>{try{return T(x),!0}catch{return!1}}}async function T2(T){let x=await _5(),N=await lT.match(T).with({phrase:lT.P.string},async({phrase:q})=>{let{MeshWallet:Q}=await import("@meshsdk/core"),J=await Z0(),B=new Q({fetcher:J,key:{type:"mnemonic",words:q.split(" ")},networkId:1,submitter:J});return await B.init(),B}).with({signer:lT.P.any},({signer:q})=>q).otherwise(()=>{return}),y=N&&"getChangeAddress"in N?await N.getChangeAddress():"";function f(){return y||""}function G(q){let Q=q||f();if(!Q)throw new yy.SwapKitError("core_wallet_connection_not_found");return y2(Q)}function L(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Cardano,value:"0.01"}))}async function X({recipient:q,assetValue:Q,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");let{Transaction:B}=await import("@meshsdk/core"),[,Y]=Q.symbol.split("-");if(!Q.isGasAsset&&!Y)throw new yy.SwapKitError("core_wallet_connection_not_found");let U=new B({initiator:N});if(U.sendAssets({address:q},[{quantity:Q.getBaseValue("string"),unit:Q.isGasAsset?"lovelace":Q.symbol}]),J)U.setMetadata(0,J);let M=await U.build();return{tx:U,unsignedTx:M}}function _(q){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");return N.signTx(q)}async function Z({recipient:q,assetValue:Q,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:B}=await X({assetValue:Q,memo:J,recipient:q}),Y=await _(B);return await(await Z0()).submitTx(Y)}return{createTransaction:X,estimateTransactionFee:L,getAddress:f,getBalance:G,signTransaction:_,transfer:Z,validateAddress:x}}var yy,lT,ex="lovelace";var Z5=k(()=>{yy=require("@swapkit/helpers"),lT=require("ts-pattern")});var J0={};qy(J0,{getCardanoToolbox:()=>T2,getCardanoAddressValidator:()=>_5});module.exports=zy(J0);var q0=k(()=>{Z5()});function AT(T){return Ay.base64.encode(Uint8Array.from(Ay.bech32.fromWords(Ay.bech32.decode(T).words)))}function FT(T,x="thor"){return Ay.bech32.encode(x,Ay.bech32.toWords(Ay.base64.decode(T)))}function f2(T){return Cf.fromByteArray(T)}function x2(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new J5.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Cf.toByteArray(T)}var Ay,J5,Cf;var Q0=k(()=>{Ay=require("@scure/base"),J5=require("@swapkit/helpers"),Cf=require("base64-js")});function Sy(T){switch(T){case D.Chain.Maya:return{amount:[],gas:"10000000000"};case D.Chain.THORChain:return{amount:[],gas:"500000000"};case D.Chain.Kujira:return B5;case D.Chain.Noble:return Y5;default:return Q5}}async function vy(T){let x=await import("@cosmjs/stargate"),N=x.StargateClient??x.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return N.connect({headers:y,url:T})}async function ZT(T,x,N={}){let y=await import("@cosmjs/stargate"),f=y.SigningStargateClient??y.default?.SigningStargateClient,G=y.GasPrice??y.default?.GasPrice,L=typeof N==="string"?N:"0.0003uatom",X=typeof N==="string"?{}:N;return f.connectWithSigner(T,x,{gasPrice:G.fromString(L),...X})}async function Y0(T,x){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(T,x)}async function z0({sender:T,recipient:x,assetValue:N,memo:y="",feeRate:f,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await D.getRPCUrl(X),Q=await(await vy(Z)).getAccount(T);if(!Q)throw new D.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let J=D.AssetValue.from({chain:X}),B=Py(J.symbol),Y=Sy(X),U=B&&f?{amount:[{amount:f.toString(),denom:B}],gas:Y.gas}:Y,M={amount:[{amount:N.getBaseValue("string"),denom:Py(N.symbol)}],fromAddress:T,toAddress:x};return{accountNumber:L??Q.accountNumber,chainId:_,fee:U,memo:y,msgs:[{typeUrl:G2(X),value:M}],sequence:G??Q.sequence}}var D,B0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",q5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Q5,B5,Y5,Py=(T,x=!1)=>{if(x)return T.toLowerCase();switch(T){case"uUSK":case"USK":return B0;case"uYUM":case"YUM":return q5;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},_T=({symbol:T,chain:x})=>{if(x===D.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${D.Chain.Maya}.${T}`).toUpperCase();if(x===D.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${D.Chain.THORChain}.${T}`:T).toUpperCase();return Py(T,!1)},G2=(T)=>{switch(T){case D.Chain.Maya:case D.Chain.THORChain:return"/types.MsgSend";case D.Chain.Cosmos:case D.Chain.Kujira:case D.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new D.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},N2,W0=(T,x)=>{let N=N2[T.toLowerCase()];if(!N)return D.AssetValue.from({asset:T,fromBaseDecimal:8,value:x});let{chain:y,asset:f,decimals:G}=N,L=y?{chain:y}:{asset:f};return D.AssetValue.from({...L,fromBaseDecimal:G,value:x})};var VT=k(()=>{D=require("@swapkit/helpers"),Q5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},B5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Y5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};N2={atom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},cacao:{chain:D.Chain.Maya,decimals:10},kuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},maya:{asset:`${D.Chain.Maya}.${D.Chain.Maya}`,decimals:4},rune:{chain:D.Chain.THORChain,decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},uatom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},ukuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},usdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},uusdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},[B0.toLowerCase()]:{asset:`${D.Chain.Kujira}.USK`,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal}}});var z5={};qy(z5,{$root:()=>w});var _y,F,Uy,E,w;var W5=k(()=>{_y=W(require("protobufjs/minimal.js")),F=_y.default.Reader,Uy=_y.default.Writer,E=_y.default.util,w=_y.default.roots.default||(_y.default.roots.default={});w.common=(()=>{let T={};return T.Asset=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.chain="",x.prototype.symbol="",x.prototype.ticker="",x.prototype.synth=!1,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))f.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))f.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))f.uint32(32).bool(y.synth);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof F))y=F.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Asset;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.chain=y.string();break;case 2:L.symbol=y.string();break;case 3:L.ticker=y.string();break;case 4:L.synth=y.bool();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!E.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!E.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!E.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Asset)return y;let f=new w.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))G.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))G.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))G.synth=y.synth;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Coin=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.asset=null,x.prototype.amount="",x.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))w.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof F))y=F.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Coin;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.asset=w.common.Asset.decode(y,y.uint32());break;case 2:L.amount=y.string();break;case 3:L.decimals=y.int64();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let f=w.common.Asset.verify(y.asset);if(f)return"asset."+f}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!E.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!E.isInteger(y.decimals)&&!(y.decimals&&E.isInteger(y.decimals.low)&&E.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Coin)return y;let f=new w.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=w.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(E.Long)(f.decimals=E.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new E.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)if(G.asset=null,G.amount="",E.Long){let L=new E.Long(0,0,!1);G.decimals=f.longs===String?L.toString():f.longs===Number?L.toNumber():L}else G.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))G.asset=w.common.Asset.toObject(y.asset,f);if(y.amount!=null&&y.hasOwnProperty("amount"))G.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")G.decimals=f.longs===String?String(y.decimals):y.decimals;else G.decimals=f.longs===String?E.Long.prototype.toString.call(y.decimals):f.longs===Number?new E.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.PubKeySet=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.secp256k1="",x.prototype.ed25519="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))f.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))f.uint32(18).string(y.ed25519);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof F))y=F.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.PubKeySet;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.secp256k1=y.string();break;case 2:L.ed25519=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!E.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!E.isString(y.ed25519))return"ed25519: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.PubKeySet)return y;let f=new w.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)G.secp256k1="",G.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))G.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))G.ed25519=y.ed25519;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Tx=(()=>{function x(N){if(this.coins=[],this.gas=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.id="",x.prototype.chain="",x.prototype.fromAddress="",x.prototype.toAddress="",x.prototype.coins=E.emptyArray,x.prototype.gas=E.emptyArray,x.prototype.memo="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))f.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(34).string(y.toAddress);if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let G=0;G<y.gas.length;++G)w.common.Coin.encode(y.gas[G],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof F))y=F.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Tx;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.id=y.string();break;case 2:L.chain=y.string();break;case 3:L.fromAddress=y.string();break;case 4:L.toAddress=y.string();break;case 5:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(w.common.Coin.decode(y,y.uint32()));break;case 7:L.memo=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!E.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!E.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!E.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!E.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);if(G)return"coins."+G}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let G=w.common.Coin.verify(y.gas[f]);if(G)return"gas."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!E.isString(y.memo))return"memo: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Tx)return y;let f=new w.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let G=0;G<y.gas.length;++G){if(typeof y.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[G]=w.common.Coin.fromObject(y.gas[G])}}if(y.memo!=null)f.memo=String(y.memo);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[],G.gas=[];if(f.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(y.id!=null&&y.hasOwnProperty("id"))G.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=y.toAddress;if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],f)}if(y.gas?.length){G.gas=[];for(let L=0;L<y.gas.length;++L)G.gas[L]=w.common.Coin.toObject(y.gas[L],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.Fee=(()=>{function x(N){if(this.coins=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.coins=E.emptyArray,x.prototype.poolDeduct="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof F))y=F.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.Fee;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.poolDeduct=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);if(G)return"coins."+G}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!E.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.Fee)return y;let f=new w.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[];if(f.defaults)G.poolDeduct="";if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))G.poolDeduct=y.poolDeduct;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.ProtoUint=(()=>{function x(N){if(N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.value="",x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))f.uint32(10).string(y.value);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof F))y=F.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.common.ProtoUint;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.value=y.string();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!E.isString(y.value))return"value: string expected"}return null},x.fromObject=function(y){if(y instanceof w.common.ProtoUint)return y;let f=new w.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.defaults)G.value="";if(y.value!=null&&y.hasOwnProperty("value"))G.value=y.value;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T})();w.types=(()=>{let T={};return T.MsgDeposit=(()=>{function x(N){if(this.coins=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.coins=E.emptyArray,x.prototype.memo="",x.prototype.signer=E.newBuffer([]),x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof F))y=F.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.types.MsgDeposit;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.memo=y.string();break;case 3:L.signer=y.bytes();break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let G=w.common.Coin.verify(y.coins[f]);if(G)return"coins."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!E.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||E.isString(y.signer)))return"signer: buffer expected"}return null},x.fromObject=function(y){if(y instanceof w.types.MsgDeposit)return y;let f=new w.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")E.base64.decode(y.signer,f.signer=E.newBuffer(E.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.coins=[];if(f.defaults){if(G.memo="",f.bytes===String)G.signer="";else if(G.signer=[],f.bytes!==Array)G.signer=E.newBuffer(G.signer)}if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))G.signer=f.bytes===String?E.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T.MsgSend=(()=>{function x(N){if(this.amount=[],N){for(let y=Object.keys(N),f=0;f<y.length;++f)if(N[y[f]]!=null)this[y[f]]=N[y[f]]}}return x.prototype.fromAddress=E.newBuffer([]),x.prototype.toAddress=E.newBuffer([]),x.prototype.amount=E.emptyArray,x.create=function(y){return new x(y)},x.encode=function(y,f){if(!f)f=Uy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let G=0;G<y.amount.length;++G)w.cosmos.base.v1beta1.Coin.encode(y.amount[G],f.uint32(26).fork()).ldelim();return f},x.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},x.decode=function(y,f){if(!(y instanceof F))y=F.create(y);let G=f===void 0?y.len:y.pos+f,L=new w.types.MsgSend;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.fromAddress=y.bytes();break;case 2:L.toAddress=y.bytes();break;case 3:if(!L.amount?.length)L.amount=[];L.amount.push(w.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(X&7);break}}return L},x.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},x.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||E.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||E.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let f=0;f<y.amount.length;++f){let G=w.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(G)return"amount."+G}}return null},x.fromObject=function(y){if(y instanceof w.types.MsgSend)return y;let f=new w.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")E.base64.decode(y.fromAddress,f.fromAddress=E.newBuffer(E.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")E.base64.decode(y.toAddress,f.toAddress=E.newBuffer(E.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let G=0;G<y.amount.length;++G){if(typeof y.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[G]=w.cosmos.base.v1beta1.Coin.fromObject(y.amount[G])}}return f},x.toObject=function(y,f){if(!f)f={};let G={};if(f.arrays||f.defaults)G.amount=[];if(f.defaults){if(f.bytes===String)G.fromAddress="";else if(G.fromAddress=[],f.bytes!==Array)G.fromAddress=E.newBuffer(G.fromAddress);if(f.bytes===String)G.toAddress="";else if(G.toAddress=[],f.bytes!==Array)G.toAddress=E.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=f.bytes===String?E.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=f.bytes===String?E.base64.encode(y.toAddress,0,y.toAddress.length):f.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){G.amount=[];for(let L=0;L<y.amount.length;++L)G.amount[L]=w.cosmos.base.v1beta1.Coin.toObject(y.amount[L],f)}return G},x.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},x})(),T})();w.cosmos=(()=>{let T={};return T.base=(()=>{let x={};return x.v1beta1=(()=>{let N={};return N.Coin=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.Coin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!E.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!E.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.Coin)return G;let L=new w.cosmos.base.v1beta1.Coin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.DecCoin=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.DecCoin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!E.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!E.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.DecCoin)return G;let L=new w.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.IntProto=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.int="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))L.uint32(10).string(G.int);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.IntProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.int=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!E.isString(G.int))return"int: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.IntProto)return G;let L=new w.cosmos.base.v1beta1.IntProto;if(G.int!=null)L.int=String(G.int);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(G.int!=null&&G.hasOwnProperty("int"))X.int=G.int;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.DecProto=(()=>{function y(f){if(f){for(let G=Object.keys(f),L=0;L<G.length;++L)if(f[G[L]]!=null)this[G[L]]=f[G[L]]}}return y.prototype.dec="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))L.uint32(10).string(G.dec);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.DecProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.dec=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!E.isString(G.dec))return"dec: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.DecProto)return G;let L=new w.cosmos.base.v1beta1.DecProto;if(G.dec!=null)L.dec=String(G.dec);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))X.dec=G.dec;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N})(),x})(),T})()});async function dy(){let{$root:T}=await Promise.resolve().then(() => (W5(),z5)),x=await import("@cosmjs/proto-signing"),N=x.Registry??x.default?.Registry,y=await import("@cosmjs/stargate"),f=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new N([...f,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Fy(T){let x=await import("@cosmjs/stargate"),N=x.AminoTypes??x.default?.AminoTypes,y=T===H5.Chain.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:f,...G})=>({...G,signer:AT(f)}),toAmino:({signer:f,...G})=>({...G,signer:FT(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:G,...L})=>({...L,fromAddress:AT(f),toAddress:AT(G)}),toAmino:({fromAddress:f,toAddress:G,...L})=>({...L,from_address:FT(f),to_address:FT(G)})}})}var H5;var H0=k(()=>{Q0();H5=require("@swapkit/helpers")});function I0(T){return function(N){let{assetValue:y,recipient:f,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(f)return M5(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,recipient:f,sender:L});return I5(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,sender:L})}}function $y(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((x)=>{let N=My.AssetValue.from({asset:x.asset}),y=(N.isSynthetic?N.symbol.split("/")?.[1]:N.symbol)?.toUpperCase(),f=(N.isSynthetic?N.symbol.split("/")?.[0]:N.chain)?.toUpperCase();return{...x,asset:{chain:f,symbol:y,synth:N.isSynthetic,ticker:N.ticker}}})}}}async function $T({chain:T,memo:x,msgs:N}){let y=await dy(),f=await Fy(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:x,messages:N.map((L)=>f.fromAmino(L))}};return y.encode(G)}var My,L2,X2,U0=({sender:T,recipient:x,assetValue:N})=>{return{type:`${N.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:Py(N.symbol,!0)}],from_address:T,to_address:x}}},M0=({sender:T,assetValue:x,memo:N=""})=>{return{type:`${x.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:x.getBaseValue("string"),asset:_T(x)}],memo:N,signer:T}}},Of=({sender:T,recipient:x,assetValue:N,memo:y})=>{return!x?M0({assetValue:N,memo:y,sender:T}):U0({assetValue:N,recipient:x,sender:T})},Vy=async(T,x)=>{return(await Fy(x)).fromAmino(T)},U5=async({rpcUrl:T,sender:x})=>{let y=await(await vy(T)).getAccount(x);if(!y)throw new My.SwapKitError("toolbox_cosmos_account_not_found",{sender:x});return y},M5=(T)=>async({sender:x,recipient:N,assetValue:y,memo:f="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await U5({rpcUrl:T,sender:x}),q=y.chain,{chainId:Q}=My.getChainConfig(q),J=U0({assetValue:y,recipient:N,sender:x}),B=G?await Vy(L?J:$y(J),q):J;return{accountNumber:_||Z.accountNumber,chainId:Q,fee:Sy(q),memo:f,msgs:[B],sequence:X||Z.sequence}},I5=(T)=>async({sender:x,assetValue:N,memo:y="",asSignable:f=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await U5({rpcUrl:T,sender:x}),Z=N.chain,{chainId:q}=My.getChainConfig(Z),Q=M0({assetValue:N,memo:y,sender:x}),J=f?await Vy(G?Q:$y(Q),Z):Q;return{accountNumber:X||_.accountNumber,chainId:q,fee:Sy(Z),memo:y,msgs:[J],sequence:L||_.sequence}};var R5=k(()=>{VT();H0();My=require("@swapkit/helpers"),L2=Sy(My.Chain.THORChain).gas,X2=Sy(My.Chain.Maya).gas});var w5=()=>{};var C5=k(()=>{w5()});var R0=k(()=>{Q0();R5();H0();C5()});async function k0(T,x){try{let y=(await E0.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}async function O0({phrase:T,prefix:x,...N}){let y=await import("@cosmjs/proto-signing"),f=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),L=G.stringToPath??G.default?.stringToPath,X="derivationPath"in N?N.derivationPath:`${P.DerivationPath[N.chain]}/${N.index}`;return f.fromMnemonic(T,{hdPaths:[L(X)],prefix:x})}async function _2({privateKey:T,prefix:x}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,x)}function k5(T){return async function({signature:N,message:y,address:f}){let G=await T(f);if(!G?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength(Ky.base64.decode(N));return _.verifySignature(Z,Ky.base64.decode(y),G.pubkey.value)}}async function nT({chain:T,...x}){let N=await P.getRPCUrl(T),y=P.CosmosChainPrefixes[T],f="index"in x?x.index||0:0,G=P.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[T],{index:f})),L=await KT.match(x).with({phrase:KT.P.string},({phrase:J})=>O0({derivationPath:G,phrase:J,prefix:y})).with({signer:KT.P.any},({signer:J})=>J).otherwise(()=>{return});async function X(J){return(await vy(N)).getAccount(J)}async function _(){let[J]=await L?.getAccounts()||[];return J?.address}async function Z(){let[J]=await L?.getAccounts()||[];if(!J?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return Ky.base64.encode(J?.pubkey)}async function q({recipient:J,assetValue:B,memo:Y="",feeRate:U,feeOptionKey:M=P.FeeOption.Fast}){let I=await _();if(!(L&&I))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let O=P.AssetValue.from({chain:T}),K=_T(O),V=U||O5((await C0(T,w0[T]))[M],K),u=await ZT(N,L),i=Py(B.symbol),Ly=B.getBaseValue("string"),{TxRaw:By}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),A={amount:[{amount:Ly,denom:i}],fromAddress:I,toAddress:J},$=await u.sign(I,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:A}],V,Y),z=By.encode($).finish();return Buffer.from(z).toString("hex")}async function Q({recipient:J,assetValue:B,memo:Y="",feeRate:U,feeOptionKey:M=P.FeeOption.Fast,dryRun:I=!1}){if(I)return q({assetValue:B,feeOptionKey:M,feeRate:U,memo:Y,recipient:J});let O=await _();if(!(L&&O))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let K=P.AssetValue.from({chain:T}),V=_T(K),u=U||O5((await C0(T,w0[T]))[M],V),i=await ZT(N,L),Ly=Py(B.symbol),By=[{amount:B.getBaseValue("string"),denom:Ly}],{transactionHash:A}=await i.sendTokens(O,J,By,u,Y);return A}return{createPrivateKeyFromPhrase:Q2(G),createTransaction:z0,fetchFeeRateFromSwapKit:k0,getAccount:X,getAddress:_,getBalance:async(J,B)=>{let Y=await E5(N)(J),U=await Promise.all(Y.filter(({denom:M})=>M&&!M.includes("IBC/")&&!([P.Chain.THORChain,P.Chain.Maya].includes(T)&&M.split("-").length>2)).map(({denom:M,amount:I})=>{let O=[P.Chain.THORChain,P.Chain.Maya].includes(T)&&(M.includes("/")||M.includes("˜"))?`${T}.${M}`:M;return W0(O,I)}));if(U.length===0)return[P.AssetValue.from({chain:T})];return U},getBalanceAsDenoms:E5(N),getFees:()=>C0(T,w0[T]),getPubKey:Z,getSignerFromPhrase:async({phrase:J,derivationPath:B})=>O0({derivationPath:P.derivationPathToString(B),index:f,phrase:J,prefix:y}),getSignerFromPrivateKey:async(J)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(J,y)},signTransaction:q,transfer:Q,validateAddress:D5(T),verifySignature:k5(X)}}async function Z2(T,x){try{let y=(await E0.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):x}catch{return x}}function J2({assetValue:{chain:T}}){return P.AssetValue.from({chain:T,value:q2(T)})}async function C0(T,x){let{chainId:N,baseDecimal:y}=P.getChainConfig(T),f=await k0(N,x);return{average:P.SwapKitNumber.fromBigInt(BigInt(f),y),fast:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fast,!0)),y),fastest:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fastest,!0)),y)}}function O5(T,x){return{amount:[{amount:T.getBaseValue("string"),denom:x}],gas:"200000"}}function q2(T){return{[P.Chain.Cosmos]:0.007,[P.Chain.Kujira]:0.02,[P.Chain.Noble]:0.01,[P.Chain.THORChain]:0.02,[P.Chain.Maya]:0.02,[P.Chain.Harbor]:0.02}[T]||0}function D5(T){let x=P.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(x))return!1;try{let{prefix:f,words:G}=Ky.bech32.decode(y);return Ky.bech32.encode(f,G)===y.toLocaleLowerCase()}catch{return!1}}}function E5(T){return async function(N){return(await(await vy(T)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function Q2(T){return async function(N){let y=await import("@cosmjs/crypto"),f=y.stringToPath??y.default?.stringToPath,G=y.Slip10Curve??y.default?.Slip10Curve,L=y.Slip10??y.default?.Slip10,X=y.EnglishMnemonic??y.default?.EnglishMnemonic,_=y.Bip39??y.default?.Bip39,Z=new X(N),q=await _.mnemonicToSeed(Z),{privkey:Q}=L.derivePath(G.Secp256k1,q,f(T));return Q}}var Ky,P,E0,KT,w0;var Ef=k(()=>{VT();Ky=require("@scure/base"),P=require("@swapkit/helpers"),E0=require("@swapkit/helpers/api"),KT=require("ts-pattern");w0={[P.Chain.Cosmos]:1000,[P.Chain.Kujira]:1000,[P.Chain.Noble]:1000,[P.Chain.THORChain]:5000000,[P.Chain.Maya]:5000000,[P.Chain.Harbor]:5000000}});function B2({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 Y2(T){return ny.base64.encode(T)}function z2(T){return async function({wallet:N,tx:y}){let{msgs:f,accountNumber:G,sequence:L,chainId:X,fee:_,memo:Z}=typeof y==="string"?JSON.parse(y):y,q=(await N.getAccounts())?.[0]?.address||"",Q=await Fy(T),J=await dy(),B=await Y0(N,{aminoTypes:Q,registry:J}),Y=[];for(let I of f){let O=await Vy(I,T);Y.push(O)}let{signatures:[U]}=await B.sign(q,Y,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await $T({chain:T,memo:Z,msgs:f.map($y)}),signature:Y2(U)}}}function W2({prefix:T,rpcUrl:x}){return async function(y,f,G,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:q}=(await import("@cosmjs/stargate")).default,{sequence:Q,fee:J}=JSON.parse(y),B=await P5(G,L),Y=f.map((I)=>[Z(_(ny.base64.decode(I.pubKey)),T),ny.base64.decode(I.signature)]),U=await vy(x),{transactionHash:M}=await U.broadcastTx(q(B,Q,J,X,new Map(Y)));return M}}async function P5(T,x,N=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return y(T.map((G)=>f(ny.base64.decode(G))),x,N)}function H2(T){return ny.base64.decode(T)}async function U2({privateKey:T,message:x}){let{Secp256k1:N}=(await import("@cosmjs/crypto")).default,y=await N.createSignature(ny.base64.decode(x),T);return ny.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function D0({chain:T,...x}){let N=await t.getRPCUrl(T),{nodeUrl:y}=t.getChainConfig(T),{isStagenet:f}=t.SKConfig.get("envs"),G=T===t.Chain.THORChain,L=`${f?"s":""}${t.CosmosChainPrefixes[T]}`,X="index"in x?x.index||0:0,_="derivationPath"in x&&x.derivationPath?x.derivationPath:t.updateDerivationPath(t.NetworkDerivationPath[T],{index:X}),Z=await nT({chain:T,...x}),q=await uT.match(x).with({phrase:uT.P.string},({phrase:Y})=>Z.getSignerFromPhrase({derivationPath:_,phrase:Y})).with({signer:uT.P.any},({signer:Y})=>Y).otherwise(()=>{return}),Q=Sy(T);async function J(){let Y,U=`${y}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await t.RequestClient.get(U);if(!M||Number.isNaN(M)||M<0)throw new t.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});Y=new t.SwapKitNumber(M)}catch{Y=new t.SwapKitNumber({decimal:t.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[t.FeeOption.Average]:Y,[t.FeeOption.Fast]:Y,[t.FeeOption.Fastest]:Y}}async function B({assetValue:Y,memo:U="",recipient:M}){let{TxRaw:I}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),O=(await q?.getAccounts())?.[0]?.address;if(!(O&&q))throw new t.SwapKitError("toolbox_cosmos_no_signer");let K="signAmino"in q,V=await dy(),u=await Fy(T),i=await ZT(N,q,{aminoTypes:u,registry:V}),Ly=Of({assetValue:Y,memo:U,recipient:M,sender:O});if(K){let z=await Vy(Ly,T),{signatures:R,authInfoBytes:C}=await i.sign(O,[z],Q,U),n=I.encode({authInfoBytes:C,bodyBytes:await $T({chain:T,memo:U,msgs:[Ly].map($y)}),signatures:R}).finish();return(await i.broadcastTx(n)).transactionHash}let By=$y(Ly),A=await Vy(By,T);return(await i.signAndBroadcast(O,[A],Q,U)).transactionHash}return{...Z,broadcastMultisigTx:W2({prefix:L,rpcUrl:N}),buildAminoMsg:Of,buildEncodedTxBody:$T,convertToSignable:Vy,createDefaultAminoTypes:()=>Fy(T),createDefaultRegistry:dy,createMultisig:P5,createTransaction:I0(N),deposit:B,getFees:J,importSignature:H2,parseAminoMessageForDirectSigning:$y,pubkeyToAddress:async(Y)=>{let{pubkeyToAddress:U}=(await import("@cosmjs/amino")).default;return U(Y,L)},secp256k1HdWalletFromMnemonic:B2({derivationPath:t.derivationPathToString(_),prefix:L}),signMultisigTx:z2(T),signWithPrivateKey:U2,transfer:B}}var ny,t,uT;var P0=k(()=>{R0();VT();Ef();ny=require("@scure/base"),t=require("@swapkit/helpers"),uT=require("ts-pattern")});var uy,M2=(T,x)=>{switch(T){case uy.Chain.Cosmos:case uy.Chain.Kujira:case uy.Chain.Noble:return nT({chain:T,...x});case uy.Chain.Maya:case uy.Chain.THORChain:return D0({chain:T,...x});default:throw new uy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var S5=k(()=>{Ef();P0();uy=require("@swapkit/helpers");Ef();P0()});var kf={};qy(kf,{verifySignature:()=>k5,transferMsgAmino:()=>U0,toBase64:()=>f2,parseAminoMessageForDirectSigning:()=>$y,getSignerFromPrivateKey:()=>_2,getSignerFromPhrase:()=>O0,getMsgSendDenom:()=>Py,getFeeRateFromSwapKit:()=>Z2,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Sy,getCreateTransaction:()=>I0,getCosmosValidateAddress:()=>D5,getCosmosToolbox:()=>M2,getAssetFromDenom:()=>W0,fromBase64:()=>x2,fetchFeeRateFromSwapKit:()=>k0,estimateTransactionFee:()=>J2,depositMsgAmino:()=>M0,createThorchainToolbox:()=>D0,createStargateClient:()=>vy,createSigningStargateClient:()=>ZT,createOfflineStargateClient:()=>Y0,createDefaultRegistry:()=>dy,createDefaultAminoTypes:()=>Fy,createCosmosToolbox:()=>nT,cosmosCreateTransaction:()=>z0,convertToSignable:()=>Vy,buildTransferTx:()=>M5,buildEncodedTxBody:()=>$T,buildDepositTx:()=>I5,buildAminoMsg:()=>Of,bech32ToBase64:()=>AT,base64ToBech32:()=>FT,YUM_KUJIRA_FACTORY_DENOM:()=>q5,USK_KUJIRA_FACTORY_DENOM:()=>B0,THORCHAIN_GAS_VALUE:()=>L2,MAYA_GAS_VALUE:()=>X2,DEFAULT_NOBLE_FEE_MAINNET:()=>Y5,DEFAULT_KUJI_FEE_MAINNET:()=>B5,DEFAULT_COSMOS_FEE_MAINNET:()=>Q5});module.exports=zy(kf);var Df=k(()=>{R0();S5();VT()});async function l5(T){let x=j.AssetValue.from({address:T,chain:j.Chain.Solana});if(x.symbol!=="UNKNOWN")return{decimals:x.decimal||0,id:T,logoURI:x.getIconUrl(),name:x.symbol,symbol:x.ticker};let N=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(N);if(!y.ok)return null;let f=await y.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((L)=>L.id===T)||null}catch{return null}}async function I2(T){let x=await iy(),{PublicKey:N}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),f=new N(T),{baseDecimal:G}=j.getChainConfig(j.Chain.Solana),L=await x.getBalance(f),X=[j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:G,value:L||0})],_=await x.getParsedTokenAccountsByOwner(f,{programId:y});for(let{account:Z}of _.value){let q=Z.data.parsed.info,Q=q.mint,J=q.tokenAmount.amount;if(Number(J)===0)continue;let B=await l5(Q),Y=B?.symbol||"UNKNOWN",U=B?.decimals||q.tokenAmount.decimals;X.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${Y}-${Q}`,fromBaseDecimal:U,value:J}))}return X}async function l0(){let{PublicKey:T}=await import("@solana/web3.js");return(x)=>{try{let N=new T(x);return T.isOnCurve(N.toBytes())}catch{return!1}}}async function R2(T){let x=T&&"index"in T?T.index||0:0,N=j.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:x})),y=await bT.match(T).with({phrase:bT.P.string},({phrase:L})=>v0({derivationPath:N,phrase:L})).with({signer:bT.P.any},({signer:L})=>L).otherwise(()=>{return});function f(){return y?.publicKey?v5(y.publicKey):""}function G(L){let X=L||f();if(!X)throw new j.SwapKitError("core_wallet_connection_not_found");return I2(X)}return{broadcastTransaction:S0(iy),createKeysForPath:v0,createTransaction:A0(iy),createTransactionFromInstructions:E2,estimateTransactionFee:w2(iy),getAddress:f,getAddressFromPubKey:v5,getAddressValidator:l0,getBalance:G,getConnection:iy,getPubkeyFromAddress:F0,signTransaction:D2(iy,y),transfer:k2(iy,y)}}function w2(T){return async({recipient:x,assetValue:N,memo:y,isProgramDerivedAddress:f,sender:G})=>{let L=await T(),_=(await A0(T)({assetValue:N,isProgramDerivedAddress:f,memo:y,recipient:x,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new j.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:q}=j.getChainConfig(j.Chain.Solana);return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:q,value:Z.value})}}async function iy(){let{Connection:T}=await import("@solana/web3.js"),x=await j.getRPCUrl(j.Chain.Solana);return new T(x,"confirmed")}function C2(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 O2({amount:x.getBaseValue("number"),connection:G,decimals:x.decimal,from:L,isProgramDerivedAddress:f,recipient:N,tokenAddress:x.address});return}}async function O2({tokenAddress:T,recipient:x,from:N,connection:y,amount:f,decimals:G,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:q}=await import("@solana/spl-token"),{Transaction:Q,PublicKey:J}=await import("@solana/web3.js"),B=new Q,Y=new J(T),U=await X(Y,N),M=new J(x),I=await X(Y,M,L),O=!1;try{await _(y,I),O=!0}catch{}if(!O)B.add(Z(N,I,M,Y));return B.add(q(U,Y,I,N,f,G)),B}function A0(T){return async({recipient:x,assetValue:N,memo:y,isProgramDerivedAddress:f,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await F0(G),_=await l0();if(!(f||_(x)))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let Z=await T(),q=await C2(T)({assetValue:N,isProgramDerivedAddress:f,recipient:x,sender:G});if(!q)throw new j.SwapKitError("core_transaction_invalid_sender_address");if(y)q.add(L(y));let Q=await Z.getLatestBlockhash();return q.recentBlockhash=Q.blockhash,q.feePayer=X,q}}async function E2({instructions:T}){let{Transaction:x}=await import("@solana/web3.js"),N=new x().add(...T);if(!N)throw new j.SwapKitError("core_transaction_invalid_sender_address");return N}function k2(T,x){return async({recipient:N,assetValue:y,memo:f,isProgramDerivedAddress:G})=>{if(!x)throw new j.SwapKitError("core_transaction_invalid_sender_address");let L=x.publicKey?.toString()??(await x.connect()).publicKey.toString(),X=await A0(T)({assetValue:y,isProgramDerivedAddress:G,memo:f,recipient:N,sender:L});if("signTransaction"in x){let _=await x.signTransaction(X);return S0(T)(_)}return X.sign(x),S0(T)(X)}}function S0(T){return async(x)=>{return(await T()).sendRawTransaction(x.serialize())}}function D2(T,x){return async(N)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!x)throw new j.SwapKitError("toolbox_solana_no_signer");if(!(N instanceof y)){let G=await(await T()).getLatestBlockhash();N.recentBlockhash=G.blockhash,N.feePayer=x.publicKey||void 0}if("connect"in x)return await x.signTransaction(N);return await N.sign([x]),N}}async function v0({phrase:T,derivationPath:x=j.DerivationPath.SOL}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),G=y(T),L=N.fromMasterSeed(G);return f.fromSeed(L.derive(x,!0).privateKey)}function v5(T){return T.toString()}async function F0(T){let{PublicKey:x}=await import("@solana/web3.js");return new x(T)}var j,bT;var A5=k(()=>{j=require("@swapkit/helpers"),bT=require("ts-pattern")});var V0={};qy(V0,{getSolanaToolbox:()=>R2,getSolanaAddressValidator:()=>l0,fetchTokenMetaData:()=>l5,createKeysForPath:()=>v0});module.exports=zy(V0);var $0=k(()=>{A5()});async function F5(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(N){try{return T(N)}catch{return!1}}}async function P2({provider:T,...x}={}){let N=await F5(),y=await jT.match(x).with({phrase:jT.P.string},async({phrase:Q})=>{let{Ed25519Keypair:J}=await import("@mysten/sui/keypairs/ed25519");return J.deriveKeypair(Q)}).with({signer:jT.P.any},({signer:Q})=>Q).otherwise(()=>{return});async function f(Q=T){let{SuiClient:J,getFullnodeUrl:B}=await import("@mysten/sui/client");return new J({url:Q||B("mainnet")})}function G(){return y?.toSuiAddress()||""}async function L(Q){let J=Q||G();if(!J)throw new fy.SwapKitError("toolbox_sui_address_required");let{baseDecimal:B,chain:Y}=fy.getChainConfig(fy.Chain.Sui);try{let U=await f(),{totalBalance:M}=await U.getBalance({owner:J}),I=[fy.AssetValue.from({chain:Y,fromBaseDecimal:B,value:M})],O=await U.getAllBalances({owner:J});for(let{coinType:K,totalBalance:V}of O){if(K==="0x2::sui::SUI")continue;if(Number(V)>0){let u=K.split("::").pop()?.toUpperCase()||"UNKNOWN",i=`${Y}.${u}-${K}`;I.push(fy.AssetValue.from({asset:i,fromBaseDecimal:B,value:V}))}}return I}catch{return[fy.AssetValue.from({chain:Y})]}}async function X(Q){let J=fy.AssetValue.from({chain:fy.Chain.Sui,value:"0.01"});if(!Q)return J;try{let B=await f(),{txBytes:Y}=await _(Q),{effects:{status:U,gasUsed:M}}=await B.dryRunTransactionBlock({transactionBlock:Y});if(U.status!=="success")return J;let I=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return fy.AssetValue.from({chain:fy.Chain.Sui,value:I.toString()})}catch{return J}}async function _({recipient:Q,assetValue:J,gasBudget:B,sender:Y}){let{Transaction:U}=await import("@mysten/sui/transactions"),M=Y||G();if(!M)throw new fy.SwapKitError("toolbox_sui_no_sender");try{let I=new U;if(I.setSender(M),J.isGasAsset||J.symbol==="SUI"){let[V]=I.splitCoins(I.gas,[J.getBaseValue("string")]);I.transferObjects([V],Q)}else throw new fy.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(B)I.setGasBudget(B);let O=await f(),K=await I.build({client:O});return{tx:I,txBytes:K}}catch(I){throw new fy.SwapKitError("toolbox_sui_transaction_creation_error",{error:I})}}async function Z(Q){if(!y)throw new fy.SwapKitError("toolbox_sui_no_signer");if(Q instanceof Uint8Array)return y.signTransaction(Q);let{txBytes:J}="tx"in Q?Q:await _(Q);return y.signTransaction(J)}async function q({assetValue:Q,gasBudget:J,recipient:B}){if(!y)throw new fy.SwapKitError("toolbox_sui_no_signer");let Y=y.toSuiAddress()||G();if(!Y)throw new fy.SwapKitError("toolbox_sui_no_sender");let{txBytes:U}=await _({assetValue:Q,gasBudget:J,recipient:B,sender:Y}),M=await f(),{digest:I}=await M.signAndExecuteTransaction({signer:y,transaction:U});return I}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:q,validateAddress:N}}var fy,jT;var V5=k(()=>{fy=require("@swapkit/helpers"),jT=require("ts-pattern")});var Pf={};qy(Pf,{getSuiToolbox:()=>P2,getSuiAddressValidator:()=>F5});module.exports=zy(Pf);var Sf=k(()=>{V5()});async function S2(T={}){let{mnemonicToWalletKey:x}=await import("@ton/crypto"),{Address:N,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),G=await $5(),L,X,_=await hT.match(T).with({phrase:hT.P.string},async({phrase:I})=>x(I.split(" "))).with({signer:hT.P.any},({signer:I})=>I).otherwise(()=>{return});function Z(){let{rpcUrls:I}=Ty.getChainConfig(Ty.Chain.Ton),[O]=I;if(!L||L.parameters.endpoint!==O)L=new y({endpoint:O});return L}function q(I){if(!X||I){let O=Z(),K=I||_;if(!K)throw new Ty.SwapKitError("core_wallet_connection_not_found");let V=f.create({publicKey:K.publicKey,workchain:0});X=O.open(V)}return X}async function Q(I){let O=Z(),{baseDecimal:K}=Ty.getChainConfig(Ty.Chain.Ton);try{let V=await O.getBalance(N.parse(I));return[Ty.AssetValue.from({chain:Ty.Chain.Ton,value:Ty.SwapKitNumber.fromBigInt(V,K)})]}catch{return[Ty.AssetValue.from({chain:Ty.Chain.Ton})]}}async function J({assetValue:I,recipient:O,memo:K}){let V=q();if(!V||!_)throw new Ty.SwapKitError("core_wallet_connection_not_found");let{toNano:u,comment:i,internal:Ly}=await import("@ton/ton"),By=await V.getSeqno(),A=u(I.getValue("string")),$=K?i(K):void 0;return V.createTransfer({messages:[Ly({body:$,to:O,value:A})],secretKey:_.secretKey,seqno:By})}async function B({assetValue:I,recipient:O,memo:K}){let V=q();if(!V||!_)throw new Ty.SwapKitError("core_wallet_connection_not_found");let u=await J({assetValue:I,memo:K,recipient:O});return await V.send(u),u.hash().toString()}async function Y(I){let O=q();if(!O)throw new Ty.SwapKitError("core_wallet_connection_not_found");try{return await O.send(I),I.hash().toString("hex")}catch(K){throw new Ty.SwapKitError("core_wallet_connection_not_found",{error:K})}}function U(){return q().address.toString()}function M(){return Promise.resolve(Ty.AssetValue.from({chain:Ty.Chain.Ton,value:"0.0001"}))}return{createTransaction:J,estimateTransactionFee:M,getAddress:U,getBalance:Q,sendTransaction:Y,transfer:B,validateAddress:G}}async function $5(){let{Address:T}=await import("@ton/ton");return function(N){try{return T.parse(N),!0}catch{return!1}}}var Ty,hT;var K5=k(()=>{Ty=require("@swapkit/helpers"),hT=require("ts-pattern")});var vf={};qy(vf,{getTONToolbox:()=>S2,getTONAddressValidator:()=>$5});module.exports=zy(vf);var lf=k(()=>{K5()});var JT;var K0=k(()=>{JT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function u5(T){let x=await import("tronweb"),N=x.TronWeb??x.default?.TronWeb;try{let y=await fetch(`${v2}/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 n5.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var n5,v2="https://api.trongrid.io";var b5=k(()=>{n5=require("@swapkit/helpers")});async function n0(){let T=await import("tronweb"),x=T.TronWeb??T.default?.TronWeb;return(N)=>{return x.isAddress(N)}}async function h5({phrase:T,derivationPath:x,index:N}){let y=x||v.derivationPathToString(v.updateDerivationPath(v.NetworkDerivationPath[v.Chain.Tron],{index:N||0})),{HDKey:f}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),L=G(T),_=f.fromMasterSeed(L).derive(y);if(!_.privateKey)throw new v.SwapKitError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function $2({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 v.SwapKitError("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");N.setPrivateKey(_);let Z=N?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(q)=>{return await N.trx.sign(q,_)}}}var v,oT,l2=268,A2=13000,F2=345,j5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",V2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",o5=async(T={})=>{let x=await import("tronweb"),N=x.TronWeb??x.default?.TronWeb,y=await v.getRPCUrl(v.Chain.Tron),f=void 0,G=new N({fullHost:y,headers:void 0}),L="index"in T?T.index||0:0,X=v.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[v.Chain.Tron],{index:L})),_=await oT.match(T).with({phrase:oT.P.string},async({phrase:A})=>$2({derivationPath:X,phrase:A,tronWeb:G})).with({signer:oT.P.any},({signer:A})=>Promise.resolve(A)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new v.SwapKitError("toolbox_tron_no_signer");return await _.getAddress()},q=()=>{return 1e8},Q=async()=>{try{let A=await G.trx.getChainParameters(),$={};for(let z of A)$[z.key]=z.value;return{bandwidthFee:$.getTransactionFee||1000,createAccountFee:$.getCreateAccountFee||1e5,energyFee:$.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},J=async(A)=>{try{let $=await G.trx.getAccount(A);return $&&Object.keys($).length>0}catch{return!1}},B=async(A)=>{try{let $=await G.trx.getAccountResources(A);return{bandwidth:{free:$.freeNetLimit-$.freeNetUsed,total:$.NetLimit||0,used:$.NetUsed||0},energy:{total:$.EnergyLimit||0,used:$.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Y=async(A,$)=>{try{let z=G.contract(JT,$);if(!z.methods?.balanceOf)return 0n;let[R]=await z.methods.balanceOf(A).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(z){let R=z instanceof Error?z.message:String(z);return console.warn(`balanceOf() failed for ${$}: ${R}`),0n}},U=async(A,$)=>{try{G.setAddress($);let z=G.contract(JT,A),[R,C]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(C??18),symbol:R??"UNKNOWN"}}catch(z){return v.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${A}: ${z instanceof Error?z.message:z}`}),null}},M=async(A,$=!0)=>{let z=[v.AssetValue.from({chain:v.Chain.Tron})];try{let R=await u5(A);if(R){let C=[];C.push(v.AssetValue.from({chain:v.Chain.Tron,fromBaseDecimal:6,value:R.balance}));for(let n of R.trc20){let[p,o]=Object.entries(n)[0]||[];if(!(p&&o))continue;let h=await U(p,A);if(!h)continue;C.push(v.AssetValue.from({asset:`TRON.${h.symbol}-${p}`,fromBaseDecimal:h.decimals,value:BigInt(o||0)}))}return C}return z}catch(R){v.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let C=[],n=await G.trx.getBalance(A);if(n&&Number(n)>0)C.push(v.AssetValue.from({chain:v.Chain.Tron,fromBaseDecimal:6,value:n}));let p=await Y(A,j5);if(p)C.push(v.AssetValue.from({asset:`TRON.USDT-${j5}`,fromBaseDecimal:6,value:p}));if(C.length===0)return z;return C}catch(C){let n=C instanceof Error?C.message:String(C);return console.error(`Tron balance fetch failed: ${n}`),z}}},I=async({recipient:A,assetValue:$,memo:z,expiration:R})=>{if(!_)throw new v.SwapKitError("toolbox_tron_no_signer");let C=await Z();G.setAddress(C);let n=await K({assetValue:$,expiration:R,memo:z,recipient:A,sender:C}),p=await _.signTransaction(n),{txid:o}=await G.trx.sendRawTransaction(p);if(!o)throw new v.SwapKitError("toolbox_tron_token_transfer_failed");return o},O=async({assetValue:A,recipient:$,sender:z})=>{let R=A.isGasAsset;try{let C=z?z:_?await Z():void 0;if(!C)return R?v.AssetValue.from({chain:v.Chain.Tron,fromBaseDecimal:0,value:0.1}):v.AssetValue.from({chain:v.Chain.Tron,fromBaseDecimal:0,value:15});let n=await Q(),o=await J($)?0:n.createAccountFee,h=await B(C);if(R){let my=l2,eT=h.bandwidth.free+(h.bandwidth.total-h.bandwidth.used),yf=0;if(my>eT)yf=(my-eT)*n.bandwidthFee;let Tf=o+yf;return v.AssetValue.from({chain:v.Chain.Tron,fromBaseDecimal:v.BaseDecimal.TRON,value:Tf})}let r=F2,Xy=A2,Qy=h.bandwidth.free+(h.bandwidth.total-h.bandwidth.used),Yy=h.energy.total-h.energy.used,py=0;if(r>Qy)py=(r-Qy)*n.bandwidthFee;let sT=0;if(Xy>Yy)sT=(Xy-Yy)*n.energyFee;let df=o+py+sT;return v.AssetValue.from({chain:v.Chain.Tron,fromBaseDecimal:v.BaseDecimal.TRON,value:df})}catch(C){throw v.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${C instanceof Error?C.message:C}`}),new v.SwapKitError("toolbox_tron_fee_estimation_failed",{error:C})}},K=async(A)=>{let{recipient:$,assetValue:z,memo:R,sender:C,expiration:n}=A,p=z.isGasAsset,o=async({transaction:r,memo:Xy,expiration:Qy})=>{let Yy=Xy?await G.transactionBuilder.addUpdateData(r,Xy,"utf8"):r;return Qy?await G.transactionBuilder.extendExpiration(Yy,Qy):Yy};if(p){let r=await G.transactionBuilder.sendTrx($,z.getBaseValue("number"),C);return o({expiration:n,memo:R,transaction:r})}G.setAddress(C);let h=z.address;if(!h)throw new v.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let Xy=[{type:"address",value:$},{type:"uint256",value:z.getBaseValue("string")}],Qy={callValue:0,feeLimit:q()},{transaction:Yy}=await G.transactionBuilder.triggerSmartContract(h,"transfer(address,uint256)",Qy,Xy,C);return o({expiration:n,memo:R,transaction:Yy})}catch(r){throw new v.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction.",originalError:r instanceof Error?r.message:String(r)})}},V=async(A)=>{if(!_)throw new v.SwapKitError("toolbox_tron_no_signer");return await _.signTransaction(A)},u=async(A)=>{let{txid:$}=await G.trx.sendRawTransaction(A);return $},i=async({assetAddress:A,spenderAddress:$,from:z})=>{try{let R=G.contract(JT,A);if(!R.methods?.allowance)throw new v.SwapKitError("toolbox_tron_invalid_token_contract");let[C]=await R.methods.allowance(z,$).call();return C?typeof C==="bigint"?C:BigInt(C):0n}catch(R){throw new v.SwapKitError("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:A,spenderAddress:$,amount:z,from:R})=>{if(!_)throw new v.SwapKitError("toolbox_tron_no_signer");let C=R||await Z(),n=z!==void 0?BigInt(z).toString():V2,p="approve(address,uint256)",o=[{type:"address",value:$},{type:"uint256",value:n}],r={callValue:0,feeLimit:q()};try{let{transaction:Xy}=await G.transactionBuilder.triggerSmartContract(A,p,r,o,C),Qy=await _.signTransaction(Xy),{txid:Yy}=await G.trx.sendRawTransaction(Qy);if(!Yy)throw new v.SwapKitError("toolbox_tron_approve_failed");return Yy}catch(Xy){throw new v.SwapKitError("toolbox_tron_approve_failed",{error:Xy})}},broadcastTransaction:u,createTransaction:K,estimateTransactionFee:O,getAddress:Z,getApprovedAmount:i,getBalance:M,isApproved:async({assetAddress:A,spenderAddress:$,from:z,amount:R})=>{let C=await i({assetAddress:A,from:z,spenderAddress:$});if(!R)return C>0n;let n=BigInt(R);return C>=n},signTransaction:V,transfer:I,tronWeb:G,validateAddress:await n0()}};var p5=k(()=>{K0();b5();v=require("@swapkit/helpers"),oT=require("ts-pattern")});var u0={};qy(u0,{trc20ABI:()=>JT,getTronPrivateKeyFromMnemonic:()=>h5,getTronAddressValidator:()=>n0,createTronToolbox:()=>o5});module.exports=zy(u0);var b0=k(()=>{K0();p5()});async function K2({chain:T,txHash:x}){let N=`${Af(T)}/push/transaction`,y=JSON.stringify({data:x});try{let f=await b.RequestClient.post(N,{body:y,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||x}catch(f){let G=await b.getRPCUrl(T);if(G){let L=JSON.stringify({id:u1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[x]}),X=await b.RequestClient.post(G,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new b.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw f}}function Af(T){return`https://api.blockchair.com/${n2(T)}`}function m5(T){switch(T){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function n2(T){switch(T){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function u2(T){try{let{feePerKb:x}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),N=x/1000;return Math.max(N,m5(T))}catch{return m5(T)}}async function j0(T,x){let N=await b.RequestClient.get(`${T}${x?`${T.includes("?")?"&":"?"}key=${x}`:""}`);if(!N||N.context.code!==200)throw new b.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return N.data}async function d5({address:T,chain:x,apiKey:N}){if(!T)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await j0(`${Af(x)}/dashboards/address/${T}?transaction_details=true`,N))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function b2({address:T,chain:x,apiKey:N}){return(await d5({address:T,apiKey:N,chain:x}))?.address.balance||0}async function i5({chain:T,apiKey:x,txHash:N}){if(!N)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await j0(`${Af(T)}/raw/transaction/${N}`,x))?.[N]?.raw_transaction||""}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function j2({chain:T,address:x,apiKey:N,offset:y=0,limit:f=30}){return(await j0(`${Af(T)}/outputs?q=recipient(${x}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${y}`,N)).map(({is_spent:_,script_hex:Z,block_id:q,transaction_hash:Q,index:J,value:B,spending_signature_hex:Y})=>({hash:Q,index:J,is_confirmed:q!==-1,is_spent:_,script_hex:Z,txHex:Y,value:B}))}function h2(T){return T.reduce((x,N)=>x+N.value,0)}function c5(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 r5({chain:T,address:x,apiKey:N,targetValue:y,accumulativeValue:f=0,offset:G=0,limit:L=30}){if(!x)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await j2({address:x,apiKey:N,chain:T,limit:L,offset:G,targetValue:y}),Z=X.length<L,q=X.filter(({is_spent:M})=>!M),Q=h2(q),J=f+Q,B=y&&J>=y;if(Z||B)return c5(q,y);let Y=await r5({accumulativeValue:J,address:x,apiKey:N,chain:T,limit:L,offset:G+L,targetValue:y}),U=[...q,...Y];return c5(U,y)}catch(X){let _=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function o2({address:T,chain:x,apiKey:N,fetchTxHex:y=!0,targetValue:f}){let G=await r5({address:T,apiKey:N,chain:x,targetValue:f}),L=[];for(let{hash:X,index:_,script_hex:Z,value:q}of G){let Q;if(y)Q=await i5({apiKey:N,chain:x,txHash:X});L.push({address:T,hash:X,index:_,txHex:Q,value:q,witnessUtxo:{script:Buffer.from(Z,"hex"),value:q}})}return L}function Hy(T){let x=b.SKConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!x,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(N)=>K2({chain:T,txHash:N}),getAddressData:(N)=>d5({address:N,apiKey:x,chain:T}),getBalance:(N)=>b2({address:N,apiKey:x,chain:T}),getRawTx:(N)=>i5({apiKey:x,chain:T,txHash:N}),getSuggestedTxFee:()=>u2(T),getUtxos:(N)=>o2({...N,apiKey:x,chain:T})}}function p2(T){return T}function Cy(){return function(x){switch(x){case b.Chain.Bitcoin:return g5.networks.bitcoin;case b.Chain.BitcoinCash:return qT.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return qT.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return qT.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let N={private:70615956,public:70617039},y=qT.default.dogecoin.test;return y.versions.bip32=N,qT.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return t5.networks.zcash;default:throw new b.SwapKitError("toolbox_utxo_not_supported",{chain:x})}}}var t5,b,g5,qT;var a5=k(()=>{CT();t5=require("@bitgo/utxo-lib"),b=require("@swapkit/helpers"),g5=require("bitcoinjs-lib"),qT=W(require("coininfo"))});function c0(T){try{return Ff(T),!0}catch{return!1}}function t0(T){return Ff(T)?.network}function QT(T){let x=Ff(T);if(x?.format==="legacy")return T;return t2(x)}function pT(T){let x=Ff(T);return g2(x)}function Ff(T){try{let x=m2(T);if(x)return x}catch{}try{let x=c2(T);if(x)return x}catch{}throw new h0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function m2(T){try{let x=o0.default.decode(T);if(x.length!==21)throw new h0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let N=x[0],y=Array.prototype.slice.call(x,1);switch(N){case ry.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case ry.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case ry.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case ry.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case ry.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case ry.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function c2(T){if(T.indexOf(":")!==-1)try{return s5(T)}catch{}else{let x=["bitcoincash","bchtest","bchreg"];for(let N of x)try{return s5(`${N}:${T}`)}catch{}}return}function s5(T){try{let{hash:x,prefix:N,type:y}=p0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(x,0),network:N==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function t2(T){let x=ry.legacy[T.network][T.type],N=Buffer.alloc(1+T.hash.length);return N[0]=x,N.set(T.hash,1),o0.default.encode(N)}function g2(T){let x=T.network==="mainnet"?"bitcoincash":"bchtest",N=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return p0.default.encode(x,N,y)}var h0,o0,p0,m0,ry;var e5=k(()=>{h0=require("@swapkit/helpers"),o0=W(require("bs58check")),p0=W(require("cashaddrjs"));((N)=>{N.Mainnet="mainnet";N.Testnet="testnet"})(m0||={});ry={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Oy(T){let x=Buffer.from(T,"utf8");return Kf.script.compile([Kf.opcodes.OP_RETURN,x])}var yx,Kf,d2=1000,nf=10,Tx=10,i2=41,r2=107,uf,Vf,$f,mT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new yx.SwapKitError("toolbox_utxo_invalid_address",{address:T})},BT=({inputs:T,outputs:x,feeRate:N})=>{let y=T[0]&&"address"in T[0]&&T[0].address?mT(T[0].address):"P2PKH",f=T.filter((L)=>L.value>=Vf["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+by(X),0),G=x?.reduce((L,X)=>L+cT(X),0)||$f[y];return nf+f+G},by=(T)=>{if("type"in T)return Vf[T.type];if("address"in T&&T.address)return Vf[mT(T.address)];return i2+r2},cT=(T,x)=>{if(T?.script)return Tx+T.script.length+(T.script.length>=74?2:1);if(x)return $f[x];return $f.P2PKH};var g0=k(()=>{yx=require("@swapkit/helpers"),Kf=require("bitcoinjs-lib");((N)=>{N.P2PKH="P2PKH";N.P2WPKH="P2WPKH"})(uf||={});Vf={["P2PKH"]:148,["P2WPKH"]:68},$f={["P2PKH"]:34,["P2WPKH"]:31}});function bf(T){switch(T){case Ey.Chain.Bitcoin:case Ey.Chain.BitcoinCash:return 550;case Ey.Chain.Dash:case Ey.Chain.Litecoin:return 5500;case Ey.Chain.Dogecoin:return 1e5;case Ey.Chain.Zcash:return 546;default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function ky({inputs:T,outputs:x,feeRate:N=1,chain:y=Ey.Chain.Bitcoin,changeAddress:f=""}){let G=Math.ceil(N),L=T[0]&&"address"in T[0]&&T[0].address?mT(T[0].address):"P2PKH",X=T.filter((B)=>by(B)*G<=B.value),_=nf+x.reduce((B,Y)=>B+cT(Y,L),0),Z=x.reduce((B,Y)=>B+Y.value,0),q=_*G,Q=0,J=[];for(let B of X){let Y=by(B),U=G*Y;q+=U,Q+=B.value,J.push(B);let M=q+Z;if(Q<M)continue;let I=Q-M,O=G*cT({address:"",value:0},L);if(I>O){let K=O+q,V=Q-(Z+K);if(V>Math.max(by({})*G,bf(y)))return{fee:K,inputs:J,outputs:x.concat({address:f,value:V})}}return{fee:q,inputs:J,outputs:x}}return{fee:G*BT({feeRate:G,inputs:T,outputs:x})}}var Ey;var fx=k(()=>{g0();Ey=require("@swapkit/helpers")});var YT=k(()=>{a5();e5();fx();g0()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let x=ay(T);return c0(x)&&t0(x)==="mainnet"}function zT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let x=jf.networks.zcash;try{return jf.address.toOutputScript(T,x),!0}catch{let N=xx.default.decode(T);if(N.length<21)return!1;let y=N[0];return y===x.pubKeyHash||y===x.scriptHash}}catch{return!1}}var jf,xx;var tT=k(()=>{YT();jf=require("@bitgo/utxo-lib"),xx=W(require("bs58check"))});function Lx({inputs:T,outputs:x,chain:N,psbt:y,sender:f,compiledMemo:G}){for(let L of T){let X=!!L.witnessUtxo&&!gT.includes(N)&&{witnessUtxo:L.witnessUtxo},_=gT.includes(N)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};y.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of x){let X="address"in L&&L.address?L.address:f,_=L.script;if(_&&!G)continue;let Z=_?{script:G,value:0}:{address:X,value:L.value};Dy.initEccLib(hf.default),y.addOutput(Z)}return{inputs:T,psbt:y}}async function Xx({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f,fetchTxHex:G=!1}){let L=T.chain,X=N?await Oy(N):null,_=await Jx({assetValue:T,fetchTxHex:G,memo:N,recipient:x,sender:f}),{inputs:Z,outputs:q}=ky({..._,chain:L,feeRate:y});if(!(Z&&q))throw new l.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let Q=await Cy(),J=new Dy.Psbt({network:Q(L)});if(L===l.Chain.Dogecoin)J.setMaximumFeeRate(650000000);let{psbt:B,inputs:Y}=await Lx({chain:L,compiledMemo:X,inputs:Z,outputs:q,psbt:J,sender:f});return{inputs:Y,psbt:B,utxos:_.inputs}}async function _x(){let T=await Cy();return function({address:N,chain:y}){if(y===l.Chain.BitcoinCash)return jy(N);if(y===l.Chain.Zcash)return zT(N);try{return Dy.initEccLib(hf.default),Dy.address.toOutputScript(N,T(y)),!0}catch{return!1}}}async function a2({chain:T,phrase:x,derivationPath:N}){let y=(await dT(T))({derivationPath:N,phrase:x});async function f(L){return await L.signAllInputs(y),L}function G(){return i0(T)(y)}return{getAddress:G,signTransaction:f}}async function sy({chain:T,...x}){let N="phrase"in x?x.phrase:void 0,y="index"in x?x.index||0:0,f=l.derivationPathToString("derivationPath"in x&&x.derivationPath?x.derivationPath:l.updateDerivationPath(l.NetworkDerivationPath[T],{index:y})),G=N?await a2({chain:T,derivationPath:f,phrase:N}):("signer"in x)?x.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await _x(),_=await dT(T);return{accumulative:ky,broadcastTx:(Z)=>Hy(T).broadcastTx(Z),calculateTxSize:BT,createKeysForPath:_,createTransaction:Xx,estimateMaxSendableAmount:s2(T),estimateTransactionFee:e2(T),getAddress:L,getAddressFromKeys:i0(T),getBalance:TT(T),getFeeRates:()=>iT(T),getInputsOutputsFee:Zx,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:yG(G),validateAddress:(Z)=>X({address:Z,chain:T})}}async function Zx({assetValue:T,feeOptionKey:x=l.FeeOption.Fast,feeRate:N,memo:y,sender:f,recipient:G}){let L=T.chain,X=await Jx({assetValue:T,memo:y,recipient:G,sender:f}),_=N?Math.floor(N):(await iT(L))[x];return ky({...X,chain:L,feeRate:_})}function s2(T){return async function({from:N,memo:y,feeRate:f,feeOptionKey:G=l.FeeOption.Fast,recipients:L=1}){let X=await Hy(T).getAddressData(N),_=f?Math.ceil(f):(await iT(T))[G],Z=X?.utxo.map((Y)=>({...Y,hash:"",type:"P2PKH"})).filter((Y)=>Y.value>Math.max(bf(T),by(Y)*_));if(!Z?.length)return l.AssetValue.from({chain:T});let q=l.AssetValue.from({chain:T,value:Z.reduce((Y,U)=>Y+U.value,0)}),Q=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(y){let Y=await Oy(y);Q.push({address:N,script:Y,value:0})}let B=BT({feeRate:_,inputs:Z,outputs:Q})*_;return q.sub(B)}}function e2(T){return async(x)=>{let N=await Zx(x);return l.AssetValue.from({chain:T,value:l.SwapKitNumber.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function dT(T){let x=await Cy();switch(T){case l.Chain.BitcoinCash:return function({phrase:y,derivationPath:f=`${l.DerivationPath.BCH}/0`,wif:G}){let L=x(T);if(G)return of.ECPair.fromWIF(G,L);if(!y)throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return of.HDNode.fromSeedBuffer(Buffer.from(d0.mnemonicToSeedSync(y)),L).derivePath(f).keyPair};case l.Chain.Bitcoin:case l.Chain.Dogecoin:case l.Chain.Litecoin:case l.Chain.Zcash:case l.Chain.Dash:return function({phrase:y,wif:f,derivationPath:G}){if(!(f||y))throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=Nx.ECPairFactory(hf.default),X=x(T);if(f)return L.fromWIF(f,X);let _=d0.mnemonicToSeedSync(y),Z=Gx.HDKey.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new l.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function i0(T){let x=Cy();return function(y){if(!y)throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=gT.includes(T)?Dy.payments.p2pkh:Dy.payments.p2wpkh,{address:G}=f({network:x(T),pubkey:y.publicKey});if(!G)throw new l.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function yG(T){return async function({memo:N,recipient:y,feeOptionKey:f,feeRate:G,assetValue:L}){let X=await T?.getAddress(),_=L.chain;if(!(T&&X))throw new l.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new l.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await iT(_))[f||l.FeeOption.Fast],{psbt:q}=await Xx({assetValue:L,feeRate:Z,memo:N,recipient:y,sender:X}),Q=await T.signTransaction(q);return Q.finalizeAllInputs(),Hy(_).broadcastTx(Q.extractTransaction().toHex())}}async function iT(T){let x=await Hy(T).getSuggestedTxFee();return{[l.FeeOption.Average]:x,[l.FeeOption.Fast]:l.applyFeeMultiplier(x,l.FeeOption.Fast),[l.FeeOption.Fastest]:l.applyFeeMultiplier(x,l.FeeOption.Fastest)}}async function Jx({assetValue:T,recipient:x,memo:N,sender:y,fetchTxHex:f=!1}){let G=T.chain,L=(await iT(G))[l.FeeOption.Fastest],X=f||gT.includes(G),_=T.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await Hy(G).getUtxos({address:y,fetchTxHex:X,targetValue:Z}),outputs:[{address:x,value:_},...N?[{address:"",script:await Oy(N),value:0}]:[]]}}var hf,of,Gx,d0,l,Dy,Nx,gT;var rT=k(()=>{CT();YT();tT();hf=W(require("@bitcoinerlab/secp256k1")),of=require("@psf/bitcoincashjs-lib"),Gx=require("@scure/bip32"),d0=require("@scure/bip39"),l=require("@swapkit/helpers"),Dy=require("bitcoinjs-lib"),Nx=require("ecpair"),gT=[l.Chain.Dash,l.Chain.Dogecoin,l.Chain.Zcash,l.Chain.BitcoinCash]});function ey(T){return ay(pT(T))}function TG(T){function x({builder:y,utxos:f}){return f.forEach((G,L)=>{y.sign(L,T,void 0,65,G.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ey(y))},signTransaction:x}}async function r0(T){let x="phrase"in T?T.phrase:void 0,N="index"in T?T.index||0:0,y=Zy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Zy.updateDerivationPath(Zy.NetworkDerivationPath[Iy],{index:N})),f=x?(await dT(Iy))({derivationPath:y,phrase:x}):void 0,G=f?TG(f):("signer"in T)?T.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...q}=await sy({chain:Iy});function Q(J,B=!0){return X(ay(pT(J)))}return{...q,broadcastTx:Z,buildTx:xG,createTransaction:Qx,getAddress:L,getAddressFromKeys:GG,getBalance:Q,getFeeRates:_,stripPrefix:ay,stripToCashAddress:ey,transfer:fG({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:jy}}async function Qx({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f}){if(!jy(x))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:x});let G=Math.ceil(T.getBaseValue("number")+y*7500),L=await Hy(Iy).getUtxos({address:ey(f),fetchTxHex:!0,targetValue:G}),X=N?await Oy(N):null,_=[];_.push({address:x,value:T.getBaseValue("number")});let{inputs:Z,outputs:q}=ky({chain:Iy,feeRate:y,inputs:L,outputs:_});if(!(Z&&q))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let Q=await Cy(),J=new WT.TransactionBuilder(Q(Iy));await Promise.all(Z.map(async(B)=>{let Y=await Hy(Iy).getRawTx(B.hash);J.addInput(WT.Transaction.fromBuffer(Buffer.from(Y,"hex")),B.index)}));for(let B of q){let Y="address"in B&&B.address?B.address:QT(f),U=await Cy(),M=WT.address.toOutputScript(QT(Y),U(Iy));J.addOutput(M,B.value)}if(X)J.addOutput(X,0);return{builder:J,utxos:Z}}function fG({broadcastTx:T,getFeeRates:x,signer:N}){return async function({recipient:f,assetValue:G,feeOptionKey:L=Zy.FeeOption.Fast,...X}){let _=await N?.getAddress();if(!(N&&_))throw new Zy.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Zy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await x())[L],{builder:q,utxos:Q}=await Qx({...X,assetValue:G,feeRate:Z,recipient:f,sender:_}),B=(await N.signTransaction({builder:q,utxos:Q})).toHex();return T(B)}}async function xG({assetValue:T,recipient:x,memo:N,feeRate:y,sender:f,setSigHashType:G}){let L=pT(x);if(!jy(L))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(T.getBaseValue("number")+y*7500),_=await Hy(Iy).getUtxos({address:ey(f),fetchTxHex:!1,targetValue:X}),Z=Number(y.toFixed(0)),q=N?await Oy(N):null,Q=[];if(Q.push({address:QT(x),value:T.getBaseValue("number")}),q)Q.push({script:q,value:0});let{inputs:J,outputs:B}=ky({chain:Iy,feeRate:Z,inputs:_,outputs:Q});if(!(J&&B))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let Y=await Cy(),U=new qx.Psbt({network:Y(Iy)});for(let{hash:M,index:I,witnessUtxo:O}of J)U.addInput({hash:M,index:I,sighashType:G?65:void 0,witnessUtxo:O});for(let M of B){let I="address"in M&&M.address?M.address:QT(f),O=M.script?q?{script:q,value:0}:void 0:{address:I,value:M.value};if(O)U.addOutput(O)}return{inputs:J,psbt:U,utxos:_}}function GG(T){let x=T.getAddress(0);return ey(x)}var WT,Zy,qx,Iy;var pf=k(()=>{YT();rT();tT();WT=require("@psf/bitcoincashjs-lib"),Zy=require("@swapkit/helpers"),qx=require("bitcoinjs-lib"),Iy=Zy.Chain.BitcoinCash});function s0(){return Ry.networks.zcash}function zx(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
- `,pubKeyHash:28,scriptHash:28,wif:128}}function NG({phrase:T,derivationPath:x}){let N=y1.mnemonicToSeedSync(T),f=e0.HDKey.fromMasterSeed(N).derive(x);if(!f.privateKey)throw new xy.SwapKitError("toolbox_utxo_invalid_params");let G=zx(),L=Ry.ECPair.fromPrivateKey(Buffer.from(f.privateKey),{network:G}),X=Ry.crypto.hash160(L.publicKey),{isStagenet:_}=xy.SKConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),q=Buffer.concat([Z,X]),Q=Yx.default.encode(q);return{getAddress:()=>Promise.resolve(Q),signTransaction:(J)=>{let B=J.signAllInputs(L);return Promise.resolve(B)}}}function LG({inputs:T,outputs:x,psbt:N,sender:y,compiledMemo:f}){for(let G of T){let L=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},X=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};N.addInput({hash:G.hash,index:G.index,...L,...X})}for(let G of x){let L="address"in G&&G.address?G.address:y,X=G.script;if(X&&!f)continue;let _=X?{script:f,value:0n}:{script:Ry.address.toOutputScript(L,s0()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:T,psbt:N}}async function Bx(T){let{assetValue:x,recipient:N,memo:y,feeRate:f,sender:G,fetchTxHex:L}=T,X=y?Oy(y):null,_=await Hy(xy.Chain.Zcash).getUtxos({address:G,fetchTxHex:L!==!1}),Z=[{address:N,value:Number(x.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:q,outputs:Q}=ky({chain:xy.Chain.Zcash,changeAddress:G,feeRate:f,inputs:_,outputs:Z});if(!(q&&Q))throw new xy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:x,sender:G});let J=Ry.bitgo.createPsbtForNetwork({network:s0()},{version:a0.ZcashTransaction.VERSION4_BRANCH_NU6_1}),{psbt:B,inputs:Y}=await LG({compiledMemo:X,inputs:q,outputs:Q,psbt:J,sender:G});return B.setDefaultsForVersion(s0(),a0.ZcashTransaction.VERSION4_BRANCH_NU6_1),{inputs:Y,outputs:Q,psbt:B}}async function T1(T){let x=await HT.match(T).with({signer:HT.P.not(HT.P.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:HT.P.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||xy.NetworkDerivationPath[xy.Chain.Zcash]||[44,133,0,0,0],q=xy.updateDerivationPath(Z,{index:_}),Q=xy.derivationPathToString(q);return NG({derivationPath:Q,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),N=await sy({chain:xy.Chain.Zcash,signer:x});async function y({recipient:L,assetValue:X,feeOptionKey:_=xy.FeeOption.Fast,...Z}){let q=await x?.getAddress();if(!(x&&q))throw new xy.SwapKitError("toolbox_utxo_no_signer");let Q=Z.feeRate||(await N.getFeeRates())[_],{psbt:J}=await Bx({...Z,assetValue:X,feeRate:Q,recipient:L,sender:q}),B=await x.signTransaction(J);B.validateSignaturesOfAllInputs(),B.finalizeAllInputs();let U=B.extractTransaction().toHex();return N.broadcastTx(U)}function f({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=y1.mnemonicToSeedSync(L),q=e0.HDKey.fromMasterSeed(_).derive(X);if(!q.privateKey)throw new xy.SwapKitError("toolbox_utxo_invalid_params");let Q=zx();return Ry.ECPair.fromPrivateKey(Buffer.from(q.privateKey),{network:Q})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return f({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:f,createTransaction:Bx,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:zT}}var Ry,a0,e0,y1,xy,Yx,HT;var f1=k(()=>{YT();rT();tT();Ry=require("@bitgo/utxo-lib"),a0=require("@bitgo/utxo-lib/dist/src/bitgo"),e0=require("@scure/bip32"),y1=require("@scure/bip39"),xy=require("@swapkit/helpers"),Yx=W(require("bs58check")),HT=require("ts-pattern")});async function XG(T,x){switch(T){case ly.Chain.BitcoinCash:return await r0(x||{});case ly.Chain.Zcash:return await T1(x);case ly.Chain.Bitcoin:case ly.Chain.Dogecoin:case ly.Chain.Litecoin:case ly.Chain.Dash:return await sy({chain:T,...x});default:throw new ly.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var ly;var Wx=k(()=>{pf();rT();f1();pf();tT();ly=require("@swapkit/helpers")});var x1={};qy(x1,{validateZcashAddress:()=>zT,toLegacyAddress:()=>QT,toCashAddress:()=>pT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>gT,isValidAddress:()=>c0,getUtxoToolbox:()=>XG,getUtxoNetwork:()=>Cy,getUtxoApi:()=>Hy,getUTXOAddressValidator:()=>_x,getScriptTypeForAddress:()=>mT,getOutputSize:()=>cT,getInputSize:()=>by,getDustThreshold:()=>bf,getCreateKeysForPath:()=>dT,detectAddressNetwork:()=>t0,createZcashToolbox:()=>T1,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>p2,createBCHToolbox:()=>r0,compileMemo:()=>Oy,calculateTxSize:()=>BT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>i0,addInputsAndOutputs:()=>Lx,accumulative:()=>ky,UtxoNetwork:()=>m0,UTXOScriptType:()=>uf,TX_OVERHEAD:()=>nf,OutputSizes:()=>$f,OP_RETURN_OVERHEAD:()=>Tx,MIN_TX_FEE:()=>d2,InputSizes:()=>Vf});module.exports=zy(x1);var G1=k(()=>{YT();Wx();pf();rT();f1()});async function cf(){let{validateAccountId:T}=await import("near-sdk-js");return(x)=>{try{return T(x)}catch{let N=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return x.length>=2&&x.length<=64&&N.test(x)}}}async function tf(T){let{parseSeedPhrase:x}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),y=T.index||0,f=T.derivationPath?mf.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=x(T.phrase,f),L=N.fromString(G);return Mx(L)}async function N1(T){let{KeyPair:x}=await import("@near-js/crypto"),N=x.fromString(T);return Mx(N)}function Mx(T){return new Ux(T)}async function gf(T,x){let y=(await T.query({account_id:x,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!y)throw new mf.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),G=f.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:G}}var Hx,mf,Ux;var L1=k(()=>{Hx=require("@near-js/signers"),mf=require("@swapkit/helpers");Ux=class Ux extends Hx.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),x=Buffer.from(T.data).toString("hex");return Promise.resolve(x)}}});function X1(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function _1(T){return"contractId"in T&&"methodName"in T}function Z1(T){return"actions"in T}function J1(T){return"newAccountId"in T}function q1(T){return"contractCode"in T}function Q1(T){return"customEstimator"in T}function B1(T){let x=0;for(let N of T)switch(N.enum){case"transfer":x+=Number(Jy.SIMPLE_TRANSFER);break;case"functionCall":x+=Number(Jy.CONTRACT_CALL);break;case"createAccount":x+=Number(Jy.ACCOUNT_CREATION);break;case"deployContract":x+=Number(Jy.CONTRACT_DEPLOYMENT);break;case"addKey":x+=Number(Jy.ACCESS_KEY_ADDITION);break;case"deleteKey":x+=Number(Jy.ACCESS_KEY_DELETION);break;case"stake":x+=Number(Jy.STAKE);break;default:x+=Number(Jy.CONTRACT_CALL)}return x.toString()}function Y1(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Jy.TOKEN_TRANSFER;if(T==="storage_deposit")return Jy.STORAGE_DEPOSIT;return Jy.CONTRACT_CALL}function _G(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function ZG(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Jy;var z1=k(()=>{Jy={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function W1({account:T,contractId:x,viewMethods:N,changeMethods:y}){let{Contract:f}=await import("@near-js/accounts");return new f(T,x,{changeMethods:y,useLocalViewExecution:!0,viewMethods:N})}async function JG(T){let{P:x,match:N}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),f=await N(T).with({phrase:x.string},async(z)=>{return await tf(z)}).with({signer:x.any},({signer:z})=>z).otherwise(()=>{return}),G=await m.getRPCUrl(m.Chain.Near),L=new y({url:G});async function X(z){let{Account:R}=await import("@near-js/accounts"),C=z||await _();return new R(C,L,f)}async function _(){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");return await f.getAddress()}async function Z(z){return(await Ly({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function q(z){let C=[await U({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return By({actions:C,receiverId:z.contractId})}async function Q(z){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");let{assetValue:R,recipient:C,memo:n}=z,p=await _();if(!R.isGasAsset&&R.address){if(!await Z({accountId:C,contractId:R.address}))return q({assetValue:R,contractId:R.address,memo:n,recipient:C})}let o=await J({...z,sender:p});return O(o)}async function J(z){let{recipient:R,assetValue:C,memo:n,attachedDeposit:p,sender:o,functionCall:h}=z,r=await cf();if(!r(R))throw new m.SwapKitError("toolbox_near_invalid_address",{recipient:R});if(!r(o))throw new m.SwapKitError("toolbox_near_invalid_address",{signerId:o});if(h)return Y({...h,sender:o});if(!C.isGasAsset){let Tf=C.address;if(!Tf)throw new m.SwapKitError("toolbox_near_missing_contract_address");return Y({args:{amount:C.getBaseValue("string"),memo:n||null,receiver_id:R},attachedDeposit:p||"1",contractId:Tf,gas:"250000000000000",methodName:"ft_transfer",sender:o})}let{publicKey:Xy,nonce:Qy}=await gf(L,o),Yy=C.getBaseValue("bigint"),{actionCreators:py,createTransaction:sT}=await import("@near-js/transactions"),{baseDecode:df}=await import("@near-js/utils"),my=[py.transfer(Yy)];if(n&&p)my.push(py.functionCall("memo",{memo:n},BigInt("250000000000000"),BigInt(p)));let eT=await L.block({finality:"final"}),yf=df(eT.header.hash);return sT(o,Xy,R,Qy+1,my,yf)}function B(z){let R=z.encode();return Buffer.from(R).toString("base64")}async function Y(z){let{sender:R}=z,{publicKey:C,nonce:n}=await gf(L,R),{createTransaction:p,actionCreators:o}=await import("@near-js/transactions"),{baseDecode:h}=await import("@near-js/utils"),r=await L.block({finality:"final"}),Xy=h(r.header.hash),Qy=[o.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))];return p(R,C,z.contractId,n+1,Qy,Xy)}async function U(z){let{actionCreators:R}=await import("@near-js/transactions");return R.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function M(z){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");let[R,C]=await f.signTransaction(z);return C}async function I(z){return(await L.sendTransaction(z)).transaction.hash}async function O(z){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");try{let R=await M(z);return await I(R)}catch{return f.signAndSendTransactions?.({transactions:[z]})}}async function K(z){if("assetValue"in z){let p=BigInt("115123062500")+BigInt("108059500000"),o=await V(),h=p*BigInt(o.toString()),{baseDecimal:r}=m.getChainConfig(m.Chain.Near);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:r,value:h.toString()})}let R=f?await X():void 0;return A(z,R)}async function V(){try{return await L.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function u(z,R,C){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");let n=await X(),{formatNearAmount:p}=await import("@near-js/utils"),{PublicKey:o}=await import("@near-js/crypto"),h=p(C)||"0";return(await n.createAccount(z,o.fromString(R),BigInt(h))).transaction.hash}async function i(z){try{if(!f)throw new m.SwapKitError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:C,methodName:n,args:p,deposit:o}=z,h=await X(),r=await A({args:p||{},contractId:C,methodName:n}),Xy=R.functionCall(n,p||{},r.getBaseValue("bigint"),BigInt(o||"1"));return(await h.signAndSendTransaction({actions:[Xy],receiverId:C})).transaction_outcome.id}catch(R){throw new m.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function Ly(z){let R=await X();return W1({account:R,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function By(z){if(!f)throw new m.SwapKitError("toolbox_near_no_signer");if(z.actions.length===0)throw new m.SwapKitError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function A(z,R){let{baseDecimal:C}=m.getChainConfig(m.Chain.Near),n=await N(z).when(X1,()=>Jy.SIMPLE_TRANSFER).when(_1,(h)=>Y1(h.methodName)).when(Z1,(h)=>B1(h.actions)).when(J1,()=>Jy.ACCOUNT_CREATION).when(q1,()=>Jy.CONTRACT_DEPLOYMENT).when(Q1,(h)=>{if(!R)throw new m.SwapKitError("toolbox_near_no_account");return h.customEstimator(R)}).otherwise(()=>{throw new m.SwapKitError("toolbox_near_invalid_gas_params")}),o=BigInt(n)*BigInt(1000000000000);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:C,value:o})}async function $(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:I,callFunction:i,createAction:U,createContract:Ly,createContractFunctionCall:Y,createSubAccount:u,createTransaction:J,estimateGas:A,estimateTransactionFee:K,executeBatchTransaction:By,getAddress:_,getBalance:TT(m.Chain.Near),getGasPrice:$,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(z)=>tf(z),getSignerFromPrivateKey:N1,provider:L,serializeTransaction:B,signAndSendTransaction:O,signTransaction:M,transfer:Q,validateAddress:await cf()}}var m;var H1=k(()=>{CT();L1();z1();m=require("@swapkit/helpers")});var Ix=k(()=>{H1()});var U1={};qy(U1,{tgasToGas:()=>_G,isSimpleTransfer:()=>X1,isCustomEstimator:()=>Q1,isContractDeployment:()=>q1,isContractCall:()=>_1,isBatchTransaction:()=>Z1,isAccountCreation:()=>J1,getValidateNearAddress:()=>cf,getNearToolbox:()=>JG,getNearSignerFromPrivateKey:()=>N1,getNearSignerFromPhrase:()=>tf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>Y1,gasToTGas:()=>ZG,estimateBatchGas:()=>B1,createNearContract:()=>W1,GAS_COSTS:()=>Jy});module.exports=zy(U1);var M1=k(()=>{L1();z1();H1();Ix()});var I1={};qy(I1,{radixValidateAddress:()=>Rx,RadixToolbox:()=>zG});module.exports=zy(I1);function Rx(T){return T.startsWith("account_rdx1")&&T.length===66}function qG({networkApi:T}){return async function(N){let y=await QG({address:N,networkApi:T}),f=await BG({networkApi:T,resources:y});if(!f.some((L)=>L.isGasAsset))return[wy.AssetValue.from({chain:wy.Chain.Radix}),...f];return f}}async function QG({address:T,networkApi:x}){let N=!0,y,f=[],G=await YG(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 BG({resources:T,networkApi:x}){let N=[],y=50,f=[];for(let G=0;G<T.length;G+=50)f.push(T.slice(G,G+50));for(let G of f){let L=G.map((Z)=>Z.resource_address),X=await x.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let q=Z.metadata?.items.find((J)=>J.key==="symbol"),Q=q?.value.typed.type==="String"?q.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:Q})}for(let Z of G)if(Z.aggregation_level==="Global"){let q=_.get(Z.resource_address)||{decimals:0,symbol:"?"},Q=wy.AssetValue.from({asset:q.symbol!==wy.Chain.Radix?`${wy.Chain.Radix}.${q.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(Q)}}return N}function YG(T){return T.status.getCurrent().then((x)=>x.ledger_state.state_version)}var wy,zG=async({dappConfig:T}={})=>{let{RadixDappToolkit:x}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:N}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||wy.SKConfig.get("integrations").radix,f=x({...y,networkId:y.network?.networkId||1}),G=N.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:qG({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new wy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:Rx}};var R1=k(()=>{wy=require("@swapkit/helpers")});var C1={};qy(C1,{rippleValidateAddress:()=>w1,hashes:()=>Cx.hashes,getRippleToolbox:()=>HG});module.exports=zy(C1);function wx(T){let x=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(x.address),signTransaction:(N)=>Promise.resolve(x.sign(N))}}function w1(T){return hy.isValidAddress(T)}var c,hy,Cx,WG,HG=async(T={})=>{let x="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?wx(T.phrase):void 0,N=await c.getRPCUrl(c.Chain.Ripple);if(!N)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let y=new hy.Client(N);await y.connect();let f=()=>{if(!x)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return x.getAddress()},G=async(J)=>{let B=J||await f(),{baseDecimal:Y}=c.getChainConfig(c.Chain.Ripple);try{let M=(await y.request({account:B,command:"account_info"})).result.account_data.Balance;return[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:Y,value:M})]}catch(U){if(U.data.error_code===WG.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:B,error:U}})}},L=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Y}=c.getChainConfig(c.Chain.Ripple);return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:Y,value:c.SwapKitNumber.fromBigInt(BigInt(B),Y)})},X=async({assetValue:J,recipient:B,memo:Y,sender:U})=>{if(!w1(B))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let M=U||await f();if(!J.isGasAsset||J.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let I={Account:M,Amount:hy.xrpToDrops(J.getValue("string")),Destination:B,TransactionType:"Payment"};if(Y)I.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];return await y.autofill(I)},_=(J)=>{if(!x)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return x.signTransaction(J)},Z=async(J)=>{let Y=(await y.submitAndWait(J)).result;if(Y.validated)return Y.hash;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:wx,createTransaction:X,disconnect:()=>y.disconnect(),estimateTransactionFee:L,getAddress:f,getBalance:G,signer:x,signTransaction:_,transfer:async(J)=>{if(!x)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let B=await x.getAddress(),Y=await X({...J,sender:B}),U=await _(Y);return Z(U.tx_blob)},validateAddress:w1}};var O1=k(()=>{c=require("@swapkit/helpers"),hy=require("xrpl"),Cx=require("xrpl"),WG={ACCOUNT_NOT_FOUND:19}});async function UG(T,x,N){try{let y=await T.query.system?.account?.(N);if(!y)return[x.set(0)];let{data:{free:f}}=y,G=yT.SwapKitNumber.fromBigInt(BigInt(f.toString()),x.decimal).getValue("string");return[x.set(G)]}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Error fetching substrate balance: ${f}`),[x.set(0)]}}async function MG(T,x,N){try{let y=await T.query.flip?.account?.(N);if(!y)return[x.set(0)];let f=y.balance||y.data?.balance;if(!f||f.isEmpty)return[x.set(0)];let G=yT.SwapKitNumber.fromBigInt(BigInt(f.toString()),x.decimal).getValue("string");return[x.set(G)]}catch(y){let f=y instanceof Error?y.message:String(y);return console.error(`Error fetching chainflip balance: ${f}`),[x.set(0)]}}function Ox(T,x){return function(y){let f=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return MG(x,f,y);default:return UG(x,f,y)}}}var yT;var Ex=k(()=>{yT=require("@swapkit/helpers")});var IG,RG,wG,oy;var E1=k(()=>{IG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},RG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},wG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},oy={DOT:IG,FLIP:RG,GENERIC:wG}});function CG(T,x){switch(T){case s.Chain.Chainflip:return Dx(x);case s.Chain.Polkadot:return kx(x);default:throw new s.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function UT(T){return"address"in T}async function D1(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 vG(T,x){let N=IT.decodeAddress(T);return IT.encodeAddress(N,x)}function Px(T,x){return MT.isHex(T)?MT.hexToU8a(T):IT.decodeAddress(T,void 0,x)}function Sx(T,x="ss58",N){if(x==="hex")return MT.u8aToHex(T);return IT.encodeAddress(T,N)}async function v1({generic:T,chain:x,...N}){let{ApiPromise:y,WsProvider:f}=await import("@polkadot/api"),G=await s.getRPCUrl(x),L=new f(G),X=await y.create({noInitWarn:!0,provider:L}),_=s.AssetValue.from({chain:x}),Z=T?oy.GENERIC:oy[x],q=await aT.match(N).with({phrase:aT.P.string},({phrase:Q})=>D1(Q,oy[x].prefix)).with({signer:aT.P.any},({signer:Q})=>Q).otherwise(()=>{return});return vx({api:X,chain:x,gasAsset:_,network:Z,signer:q})}var MT,IT,s,aT,kx=({generic:T=!1,...x}={})=>{return v1({chain:s.Chain.Polkadot,generic:T,...x})},Dx=async({generic:T=!1,...x}={})=>{return{...await v1({chain:s.Chain.Chainflip,generic:T,...x})}},P1=(T,x)=>T.rpc.system.accountNextIndex(x),k1=(T,x)=>{try{let N=Px(T,x);return Sx(N,"ss58",x),!0}catch{return!1}},S1=(T,{recipient:x,assetValue:N})=>T.tx.balances?.transferAllowDeath?.(x,N.getBaseValue("number")),OG=async(T,x,{recipient:N,assetValue:y,sender:f})=>{let G=S1(T,{assetValue:y,recipient:N});if(!G)throw new s.SwapKitError("toolbox_substrate_transfer_error");let L=UT(x),X=L?x.address:f;if(!X)throw new s.SwapKitError("core_transaction_invalid_sender_address");let _=await P1(T,X);return(await G.signAndSend(L?x:X,{nonce:_,signer:L?void 0:x})).toString()},EG=async(T,x,N,{recipient:y,assetValue:f,sender:G})=>{let L=S1(T,{assetValue:f,recipient:y}),X=UT(x)?x.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await P1(T,X)})||{partialFee:0};return N.set(s.SwapKitNumber.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},kG=async(T,x)=>{if(x)return T.send(x);return(await T.send()).toString()},DG=async(T,x)=>{return await x.signAsync(T)},PG=(T,x,N)=>{if(N)return x.signAndSend(T,N);return x.signAndSend(T).toString()},SG=async({signer:T,address:x,tx:N,callback:y,api:f})=>{let G=await P1(f,x);if(y)N.signAndSend(x,{nonce:G,signer:T},y);return N.signAndSend(x,{nonce:G,signer:T}).toString()},vx=({api:T,network:x,gasAsset:N,signer:y,chain:f})=>({api:T,broadcast:kG,convertAddress:vG,createKeyring:(G)=>D1(G,x.prefix),createTransaction:(G)=>S1(T,G),decodeAddress:Px,encodeAddress:Sx,estimateTransactionFee:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return EG(T,y,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||y;if(!L)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return UT(L)?L.address:void 0},getBalance:Ox(f||s.Chain.Polkadot,T),network:x,sign:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");if(UT(y))return DG(y,G);throw new s.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:L,address:X})=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");if(UT(y))return PG(y,G,L);if(X)return SG({address:X,api:T,callback:L,signer:y,tx:G});throw new s.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return OG(T,y,G)},validateAddress:(G)=>k1(G,x.prefix)}),lG=({address:T,chain:x})=>{let{prefix:N}=x===s.Chain.Polkadot?oy.DOT:oy.FLIP;return k1(T,N)||k1(T,oy.GENERIC.prefix)};var lx=k(()=>{Ex();E1();MT=require("@polkadot/util"),IT=require("@polkadot/util-crypto"),s=require("@swapkit/helpers"),aT=require("ts-pattern")});var l1={};qy(l1,{substrateValidateAddress:()=>lG,isKeyringPair:()=>UT,getSubstrateToolbox:()=>CG,createSubstrateToolbox:()=>v1,createKeyring:()=>D1,SubstrateNetwork:()=>oy,PolkadotToolbox:()=>kx,ChainflipToolbox:()=>Dx,BaseSubstrateToolbox:()=>vx});module.exports=zy(l1);var A1=k(()=>{lx();E1()});var VG={};qy(VG,{getToolbox:()=>F1,getFeeEstimator:()=>FG,getAddressValidator:()=>AG});module.exports=zy(VG);var S=require("@swapkit/helpers");async function AG(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:x}=await Promise.resolve().then(() => (X5(),L5)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (q0(),J0)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Df(),kf)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => ($0(),V0)),{getSuiAddressValidator:G}=await Promise.resolve().then(() => (Sf(),Pf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (lf(),vf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (b0(),u0)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (G1(),x1)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (M1(),U1)),{radixValidateAddress:q}=await Promise.resolve().then(() => (R1(),I1)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (O1(),C1)),{substrateValidateAddress:J}=await Promise.resolve().then(() => (A1(),l1)),B=await N(),Y=await Z(),U=await f(),M=await G(),I=await L(),O=await X(),K=await _();return function({address:u,chain:i}){return T(i).with(...S.EVMChains,()=>x({address:u})).with(...S.UTXOChains,()=>K({address:u,chain:i})).with(S.Chain.Cosmos,S.Chain.Kujira,S.Chain.Noble,S.Chain.Maya,S.Chain.THORChain,(By)=>{return y(By)(u)}).with(S.Chain.Chainflip,S.Chain.Polkadot,()=>J({address:u,chain:i})).with(S.Chain.Radix,()=>q(u)).with(S.Chain.Near,()=>Y(u)).with(S.Chain.Ripple,()=>Q(u)).with(S.Chain.Solana,()=>U(u)).with(S.Chain.Sui,()=>M(u)).with(S.Chain.Ton,()=>I(u)).with(S.Chain.Tron,()=>O(u)).with(S.Chain.Cardano,()=>B(u)).otherwise(()=>!1)}}function FG(T){return async function(N){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...S.EVMChains,async(f)=>{let G=await F1(f),L=await G.createTransaction(N);return G.estimateTransactionFee({...L,chain:f,feeOption:N.feeOptionKey||S.FeeOption.Fast})}).with(S.Chain.Bitcoin,S.Chain.BitcoinCash,S.Chain.Dogecoin,S.Chain.Dash,S.Chain.Litecoin,S.Chain.Polkadot,S.Chain.Solana,S.Chain.Ripple,S.Chain.Tron,S.Chain.Near,S.Chain.Cardano,async(f)=>{return(await F1(f)).estimateTransactionFee(N)}).with(S.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Sf(),Pf));return(await f()).estimateTransactionFee(N)}).with(S.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (lf(),vf));return(await f()).estimateTransactionFee()}).with(...S.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Df(),kf));return f(N)}).otherwise(async()=>S.AssetValue.from({chain:T}))}}async function F1(T,x){let{match:N}=await import("ts-pattern");return N(T).returnType().with(...S.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (_0(),x5));return await y(T,x)}).with(...S.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (G1(),x1));return await y(T,x)}).with(...S.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Df(),kf));return await y(T,x)}).with(...S.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (A1(),l1));return await y(T,x)}).with(S.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (R1(),I1));return await y(x)}).with(S.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (O1(),C1));return await y(x)}).with(S.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => ($0(),V0));return await y(x)}).with(S.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Sf(),Pf));return await y(x)}).with(S.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (b0(),u0));return await y(x)}).with(S.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (M1(),U1));return await y(x)}).with(S.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (q0(),J0));return await y(x)}).with(S.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (lf(),vf));return await y(x)}).otherwise(()=>{throw new S.SwapKitError("toolbox_not_supported",{chain:T})})}
3
-
4
- //# debugId=BA5BB7ADEBA0737564756E2164756E21
5
- //# sourceMappingURL=index.cjs.map
1
+ var SG=Object.create;var{getPrototypeOf:EG,defineProperty:mf,getOwnPropertyNames:E5,getOwnPropertyDescriptor:nG}=Object,n5=Object.prototype.hasOwnProperty;function V5(f){return this[f]}var VG,vG,v5=(f,y,G)=>{var T=f!=null&&typeof f==="object";if(T){var _=y?VG??=new WeakMap:vG??=new WeakMap,X=_.get(f);if(X)return X}G=f!=null?SG(EG(f)):{};let W=y||!f||!f.__esModule?mf(G,"default",{value:f,enumerable:!0}):G;for(let Z of E5(f))if(!n5.call(W,Z))mf(W,Z,{get:V5.bind(f,Z),enumerable:!0});if(T)_.set(f,W);return W},HT=(f)=>{var y=(S5??=new WeakMap).get(f),G;if(y)return y;if(y=mf({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var T of E5(f))if(!n5.call(y,T))mf(y,T,{get:V5.bind(f,T),enumerable:!(G=nG(f,T))||G.enumerable})}return S5.set(f,y),y},S5;var oG=(f)=>f;function KG(f,y){this[f]=oG.bind(null,y)}var wT=(f,y)=>{for(var G in y)mf(f,G,{get:y[G],enumerable:!0,configurable:!0,set:KG.bind(y,G)})};var E=(f,y)=>()=>(f&&(y=f(f=0)),y);function Cf(f){if(!f||typeof f!=="string"||!f.startsWith("0x"))return!1;let y=f.slice(2);if(y.length===0||y.length>64)return!1;return jG.test(y)}function o5({derivationPath:f,provider:y,...G}={}){let T,_=u.derivationPathToString(f||u.NetworkDerivationPath[u.Chain.Aptos],{allHardened:!0});async function X(){if(T)return T;return T=await Yf.match(G).with({phrase:Yf.P.string},async({phrase:z})=>{let{Ed25519Account:B}=await import("@aptos-labs/ts-sdk");return B.fromDerivationPath({mnemonic:z,path:_})}).with({signer:Yf.P.any},({signer:z})=>z).otherwise(()=>{return}),T}async function W(){let{Aptos:z,AptosConfig:B}=await import("@aptos-labs/ts-sdk"),k=new B({fullnode:y||u.getRPCUrlSync(u.Chain.Aptos)});return new z(k)}async function Z(){return(await X())?.accountAddress.toString()||""}async function J(z){let B=z||await Z();if(!B)throw new u.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:k,chain:H}=u.getChainConfig(u.Chain.Aptos);try{let F=await W(),w=await F.getAccountAPTAmount({accountAddress:B}),Y=[u.AssetValue.from({chain:H,fromBaseDecimal:k,value:w.toString()})],q=await F.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:B}}}});for(let D of q){if(D.asset_type===Qf.COIN_TYPE||Number(D.amount)<=0)continue;let R=D.asset_type;if(R){let C=("metadata"in D&&typeof D.metadata==="object"&&D.metadata!==null?D.metadata:void 0)?.decimals??k;Y.push(u.AssetValue.from({asset:`${u.Chain.Aptos}.APT-${R}`,fromBaseDecimal:C,value:String(D.amount)}))}}return Y}catch{return[u.AssetValue.from({chain:H})]}}async function Q(z){if(!z){let{baseDecimal:q}=u.getChainConfig(u.Chain.Aptos),D=y||u.getRPCUrlSync(u.Chain.Aptos),R=await fetch(`${D}/estimate_gas_price`),{gas_estimate:$}=await R.json();return u.AssetValue.from({chain:u.Chain.Aptos,fromBaseDecimal:q,value:String($)})}let B=await X();if(!B)throw new u.SwapKitError("toolbox_aptos_no_signer");let k=await L(z),H=await W(),[F]=await H.transaction.simulate.simple({signerPublicKey:B.publicKey,transaction:k});if(!F)throw new u.SwapKitError("toolbox_aptos_transaction_creation_error");let w=BigInt(F.gas_used)*BigInt(F.gas_unit_price),{baseDecimal:Y}=u.getChainConfig(u.Chain.Aptos);return u.AssetValue.from({chain:u.Chain.Aptos,fromBaseDecimal:Y,value:w.toString()})}async function L({recipient:z,assetValue:B,maxGasAmount:k,sender:H}){if(!Cf(z))throw new u.SwapKitError("core_transaction_invalid_recipient_address");let F=H||await Z();if(!F)throw new u.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:w}=await import("@aptos-labs/ts-sdk"),Y=await W(),q=w.from(F);try{let D=B.isGasAsset?Qf.TRANSFER:Qf.FUNGIBLE_STORE_TRANSFER,R=Yf.match({address:B?.address,isGasAsset:B.isGasAsset}).with({isGasAsset:!0},()=>[w.from(z),B.getBaseValue("bigint")]).with({address:Yf.P.string},({address:$})=>[w.from($),w.from(z),B.getBaseValue("bigint")]).otherwise(()=>null);if(!R)throw new u.SwapKitError("toolbox_aptos_missing_asset_type");return Y.transaction.build.simple({data:{function:D,functionArguments:R,typeArguments:B.isGasAsset?[]:[Qf.FUNGIBLE_ASSET_METADATA]},options:k?{maxGasAmount:k}:void 0,sender:q})}catch(D){if(D instanceof u.SwapKitError)throw D;throw new u.SwapKitError("toolbox_aptos_transaction_creation_error",D)}}async function O(z){let B=await X();if(!B)throw new u.SwapKitError("toolbox_aptos_no_signer");return(await W()).transaction.sign({signer:B,transaction:z})}async function U({assetValue:z,maxGasAmount:B,recipient:k}){let H=await X();if(!H)throw new u.SwapKitError("toolbox_aptos_no_signer");if(!Cf(k))throw new u.SwapKitError("core_transaction_invalid_recipient_address");try{let F=H.accountAddress.toString(),w=await L({assetValue:z,maxGasAmount:B,recipient:k,sender:F});return(await(await W()).signAndSubmitTransaction({signer:H,transaction:w})).hash}catch(F){if(F instanceof u.SwapKitError)throw F;throw new u.SwapKitError("toolbox_aptos_transaction_creation_error",F)}}async function M({senderAuthenticator:z,transaction:B}){try{return(await(await W()).transaction.submit.simple({senderAuthenticator:z,transaction:B})).hash}catch(k){throw new u.SwapKitError("toolbox_aptos_broadcast_error",k)}}async function N(z){let B=await O(z);return M({senderAuthenticator:B,transaction:z})}return{broadcastTransaction:M,createTransaction:L,estimateTransactionFee:Q,getAddress:Z,getBalance:J,signAndBroadcastTransaction:N,signTransaction:O,transfer:U,validateAddress:Cf}}function K5({provider:f}){return async function({assetValue:G,recipient:T}){if(!Cf(T))throw new u.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:_}=await import("@aptos-labs/ts-sdk");if(G.isGasAsset)return(await f.signAndSubmitTransaction({arguments:[_.from(T).toString(),G.getBaseValue("string")],function:Qf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let X=G.address;if(!X)throw new u.SwapKitError("toolbox_aptos_missing_asset_type");return(await f.signAndSubmitTransaction({arguments:[X,_.from(T).toString(),G.getBaseValue("string")],function:Qf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Qf.FUNGIBLE_ASSET_METADATA]})).hash}}var u,Yf,Qf,jG;var j5=E(()=>{u=require("@swapkit/helpers"),Yf=require("ts-pattern"),Qf={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},jG=/^[0-9a-fA-F]+$/});var C0={};wT(C0,{validateAptosAddress:()=>Cf,getAptosToolbox:()=>o5,createAptosExtensionTransfer:()=>K5});module.exports=HT(C0);var F0=E(()=>{j5()});function l5(){function f(){let y=Date.now(),G=Ky||y;return Ky=G,y>Ky?y:G+1}return bG+f().toString(36)}function ST(f){return async function(G,T=!0){let _=await b5.SwapKitApi.getChainBalance({address:G,chain:f,scamFilter:T}),{baseDecimal:X}=pf.getChainConfig(f),W=_.map(({identifier:J,value:Q,decimal:L})=>{return new pf.AssetValue({decimal:L||X,identifier:J,value:Q})});if(!W.some((J)=>J.isGasAsset))return[pf.AssetValue.from({chain:f}),...W];return W}}var pf,b5,bG,Ky=0;var dT=E(()=>{pf=require("@swapkit/helpers"),b5=require("@swapkit/helpers/api"),bG=typeof process<"u"&&process.pid?process.pid.toString(36):""});function tf(f){return{getBalance:ST(f)}}function lG(f){return f}var k0=E(()=>{dT()});function h5(f){return new qf.JsonRpcProvider(f)}async function hy(f,y){return h5(y||await r.getRPCUrl(f))}function cf(f){return f>0n?`0x${f.toString(16)}`:"0x0"}function my(f){let{explorerUrl:y,chainIdHex:G,rpcUrls:T}=r.getChainConfig(f);return function(){return f!==r.Chain.Ethereum?{...uG({chain:f}),blockExplorerUrls:[y],chainId:G,rpcUrls:T}:void 0}}function py(f){return![r.Chain.Adi,r.Chain.Arbitrum,r.Chain.BinanceSmartChain].includes(f)}function uG({chain:f}){let{name:y,nativeCurrency:G,baseDecimal:T}=r.getChainConfig(f);return uy.match(f).with(r.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:T,name:"Ethereum",symbol:r.Chain.Ethereum}})).with(r.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:r.Chain.Ethereum}})).with(r.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:T,name:"Avalanche",symbol:f}})).with(r.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:r.Chain.Ethereum}})).with(r.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:T,name:"Berachain",symbol:"BERA"}})).with(r.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:T,name:"OKB",symbol:"OKB"}})).with(r.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:T,name:"Binance Coin",symbol:"BNB"}})).with(r.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:T,name:"xDAI",symbol:"XDAI"}})).with(r.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:r.Chain.Ethereum}})).with(r.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:T,name:"Polygon",symbol:r.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:T,name:G,symbol:G}}))}async function ty(f,y){if(!("authorize"in f))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let G={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await f.authorize(G)}function m5(f,y){let G=y!==void 0?`index ${y}: `:"",T=(_,X)=>{throw new r.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:_,message:`${G}${X}`}})};uy.match(f).when(({chainId:_})=>typeof _!=="bigint",()=>T("chainId","chainId must be a bigint")).when(({address:_})=>!hG(_),()=>T("address","address must be a valid checksummed address")).when(({nonce:_})=>typeof _!=="bigint"||_<0n,()=>T("nonce","nonce must be a non-negative bigint")).when(({signature:_})=>!_,()=>T("signature","signature is required")).when(({signature:_})=>typeof _?.yParity!=="number"||![0,1].includes(_.yParity),()=>T("signature.yParity","yParity must be 0 or 1")).when(({signature:_})=>!u5(_?.r),()=>T("signature.r","r must be a 32-byte hex string")).when(({signature:_})=>!u5(_?.s),()=>T("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function p5(f){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>f[y]!=null).map(({key:y,type:G})=>({name:y,type:G}))}function jy(f){return f.charAt(0).toUpperCase()+f.slice(1)}function by(f,y){if(f.isTuple()&&f.components){let G=jy(f.name);return y[G]=f.components.map((T)=>({name:T.name,type:by(T,y)})),G}if(f.isArray()){let G=f.arrayChildren;if(G?.isTuple()&&G.components){let T=jy(f.name.replace(/s$/,""));return y[T]=G.components.map((_)=>({name:_.name,type:by(_,y)})),`${T}[]`}return`${G?.type??"bytes"}[]`}return f.type}function ly(f,y){if(typeof f==="bigint")return f;if(y?.isTuple()&&typeof f?.toObject==="function"){let G=f.toObject(),T={};for(let[_,X]of(y.components??[]).entries())T[X.name]=ly(G[X.name]??f[_],X);return T}if(Array.isArray(f)){let G=y?.arrayChildren;return f.map((T)=>ly(T,G??void 0))}return f}function mG({chain:f,abi:y,data:G,to:T}){let X=new qf.Interface(y).parseTransaction({data:G});if(!X)throw new r.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let W={},Z=jy(X.name);W[Z]=X.fragment.inputs.map((U)=>({name:U.name,type:by(U,W)}));let J={};for(let[U,M]of X.fragment.inputs.entries())J[M.name]=ly(X.args[U],M);let{chainId:Q}=r.getChainConfig(f),L={chainId:Number(Q),verifyingContract:qf.getAddress(T)},O=p5(L);return{domain:L,message:J,primaryType:Z,types:{EIP712Domain:O,...W}}}function cy(f,y){if(!Array.isArray(f)||f.length===0)throw new r.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[G,T]of f.entries())if(m5(T,G),y!==void 0&&T.chainId!==y)throw new r.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${G}: authorization chainId (${T.chainId}) does not match transaction chainId (${y})`}})}var r,qf,uy,u5=(f)=>typeof f==="string"&&/^0x[a-fA-F0-9]{64}$/.test(f),hG=(f)=>{try{return typeof f==="string"&&!!qf.getAddress(f)}catch{return!1}};var gf=E(()=>{r=require("@swapkit/helpers"),qf=require("ethers"),uy=require("ts-pattern")});var t5;var c5=E(()=>{t5=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function kf({chain:f=A.Chain.Ethereum,provider:y,signer:G,isEIP1559Compatible:T=!0}){return{approve:iG({chain:f,isEIP1559Compatible:T,provider:y,signer:G}),approvedAmount:d5({chain:f,provider:y}),broadcastTransaction:y.broadcastTransaction,call:ey({chain:f,isEIP1559Compatible:T,provider:y,signer:G}),createApprovalTx:sG({chain:f,provider:y,signer:G}),createContract:ry({chain:f,provider:y}),createContractTxObject:Lf({chain:f,provider:y}),createTransaction:gy({chain:f,provider:y,signer:G}),createTransferTx:gy({chain:f,provider:y,signer:G}),EIP1193SendTransaction:If(y),estimateCall:r5({provider:y,signer:G}),estimateGasLimit:rG({chain:f,provider:y,signer:G}),estimateGasPrices:zf({chain:f,isEIP1559Compatible:T,provider:y}),estimateTransactionFee:eG({chain:f,isEIP1559Compatible:T,provider:y}),getAddress:()=>{return G?G.getAddress():void 0},getBalance:tf(f).getBalance,getNetworkParams:my(f),isApproved:gG({chain:f,provider:y}),sendTransaction:a5({chain:f,isEIP1559Compatible:T,provider:y,signer:G}),signAuthorization:aG({signer:G}),signMessage:G?(_)=>G.signMessage(_):void 0,signTypedData:G?({domain:_,types:X,value:W})=>G.signTypedData(_,X,W):void 0,transfer:dG({chain:f,isEIP1559Compatible:T,provider:y,signer:G}),validateAddress:dy}}function dy(f){try{return AT.getAddress(f),!0}catch{return!1}}function $f(f){return f instanceof AT.BrowserProvider}function rf(f,y,G){return new AT.Contract(f,AT.Interface.from(y),G)}function ry({provider:f}){return function(G,T){return new AT.Contract(G,AT.Interface.from(T),f)}}function ay({abi:f,funcName:y}){let G=f.find((T)=>T.name===y);if(!G)throw new A.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return G.stateMutability&&pG.includes(G.stateMutability)}function g5(f){return AT.getAddress(f)}function If(f){return function({value:G,...T}){if(!$f(f))throw new A.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:_,gasPrice:X,maxFeePerGas:W,maxPriorityFeePerGas:Z,...J}=T;return f.send("eth_sendTransaction",[{...J,value:cf(BigInt(G||0))}])}}function i5(f,y){let G=Af(f,y);if(G)return AT.getAddress(G.toLowerCase());throw new A.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function Af({chain:f,symbol:y,ticker:G},T){try{let _=f===A.Chain.BinanceSmartChain&&y==="BNB"&&G==="BNB",X=f===A.Chain.Hyperevm&&y==="HYPE"&&G==="HYPE",W=f===T&&y===T&&G===T,Z=cG.includes(f)&&y==="ETH"&&G==="ETH";if(W||_||X||Z)return sy[T];return AT.getAddress(y.slice(G.length+1).replace(/^0X/,""))}catch{return null}}function Lf({provider:f}){return async({contractAddress:y,abi:G,funcName:T,funcParams:_=[],txOverrides:X})=>rf(y,G,f).getFunction(T).populateTransaction(..._.concat(X).filter((W)=>typeof W<"u"))}function zf({chain:f,provider:y,isEIP1559Compatible:G=!0}){return iy.match(f).with(A.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:_,maxPriorityFeePerGas:X}=await y.getFeeData();if(!_||X===null)throw new A.SwapKitError("toolbox_evm_no_fee_data");return{[A.FeeOption.Average]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Average),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Average)},[A.FeeOption.Fast]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Fast),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Fast)},[A.FeeOption.Fastest]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Fastest),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Fastest)}}}catch(_){throw new A.SwapKitError("toolbox_evm_gas_estimation_error",{error:_.msg??_.toString()})}}}).with(A.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:_}=await y.getFeeData();if(!_)throw new A.SwapKitError("toolbox_evm_no_fee_data");return{[A.FeeOption.Average]:{gasPrice:_},[A.FeeOption.Fast]:{gasPrice:_},[A.FeeOption.Fastest]:{gasPrice:_}}}catch(_){throw new A.SwapKitError("toolbox_evm_gas_estimation_error",{error:_.msg??_.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:_,maxPriorityFeePerGas:X,gasPrice:W}=await y.getFeeData();if(G){if(_===null||X===null)throw new A.SwapKitError("toolbox_evm_no_fee_data");return{[A.FeeOption.Average]:{maxFeePerGas:_,maxPriorityFeePerGas:X},[A.FeeOption.Fast]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Fast),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Fast)},[A.FeeOption.Fastest]:{maxFeePerGas:A.applyFeeMultiplierToBigInt(_,A.FeeOption.Fastest),maxPriorityFeePerGas:A.applyFeeMultiplierToBigInt(X,A.FeeOption.Fastest)}}}if(!W)throw new A.SwapKitError("toolbox_evm_no_gas_price");return{[A.FeeOption.Average]:{gasPrice:W},[A.FeeOption.Fast]:{gasPrice:A.applyFeeMultiplierToBigInt(W,A.FeeOption.Fast)},[A.FeeOption.Fastest]:{gasPrice:A.applyFeeMultiplierToBigInt(W,A.FeeOption.Fastest)}}}catch(_){throw new A.SwapKitError("toolbox_evm_gas_estimation_error",{error:_.msg??_.toString()})}}})}function ey({provider:f,isEIP1559Compatible:y,signer:G,chain:T}){return async function({callProvider:X,contractAddress:W,abi:Z,funcName:J,funcParams:Q=[],txOverrides:L={},feeOption:O=A.FeeOption.Fast}){let U=X||f;if(!W)throw new A.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let M=ay({abi:Z,funcName:J});if(M&&$f(U)&&G){let B=Lf({chain:T,provider:U}),k=L?.from||await G?.getAddress(),H=await B({abi:Z,contractAddress:W,funcName:J,funcParams:Q,txOverrides:{...L,from:k}});return If(U)(H)}let N=rf(W,Z,U);if(M){if(!G)throw new A.SwapKitError("toolbox_evm_no_signer");let B=L?.from||await G.getAddress();if(!B)throw new A.SwapKitError("toolbox_evm_no_signer_address");let k=N.connect(G),H=zf({chain:T,isEIP1559Compatible:y,provider:f}),{maxFeePerGas:F,maxPriorityFeePerGas:w,gasPrice:Y}=(await H())[O],q=await N.getFunction(J).estimateGas(...Q,L),D=await k[J](...Q,{...L,gasLimit:q,gasPrice:Y,maxFeePerGas:F,maxPriorityFeePerGas:w,nonce:L?.nonce||await U.getTransactionCount(B)});return typeof D?.hash==="string"?D?.hash:D}let z=await N[J]?.(...Q);return typeof z?.hash==="string"?z?.hash:z}}function d5({provider:f,chain:y}){return function({assetAddress:T,spenderAddress:_,from:X}){return ey({chain:y,isEIP1559Compatible:!0,provider:f})({abi:Ff.erc20ABI,contractAddress:T,funcName:"allowance",funcParams:[X,_]})}}function gG({provider:f,chain:y}){return async function({assetAddress:T,spenderAddress:_,from:X,amount:W=df}){let Z=await d5({chain:y,provider:f})({assetAddress:T,from:X,spenderAddress:_});return A.SwapKitNumber.fromBigInt(Z).gte(A.SwapKitNumber.fromBigInt(BigInt(W)))}}function iG({signer:f,isEIP1559Compatible:y=!0,provider:G,chain:T}){return async function({assetAddress:X,spenderAddress:W,feeOptionKey:Z=A.FeeOption.Fast,amount:J,gasLimitFallback:Q,from:L,nonce:O}){let U=[W,BigInt(J||df)],M=await f?.getAddress()||L,N={abi:Ff.erc20ABI,contractAddress:X,funcName:"approve",funcParams:U,signer:f,txOverrides:{from:M}};if($f(G)){let B=Lf({chain:T,provider:G}),k=If(G),H=await B(N);return k(H)}return ey({chain:T,isEIP1559Compatible:y,provider:G,signer:f})({...N,feeOption:Z,funcParams:U,txOverrides:{from:M,gasLimit:Q?BigInt(Q.toString()):void 0,nonce:O}})}}function dG({signer:f,isEIP1559Compatible:y=!0,provider:G}){return async function({assetValue:_,memo:X,recipient:W,feeOptionKey:Z=A.FeeOption.Fast,sender:J,...Q}){let{hexlify:L,toUtf8Bytes:O}=await import("ethers"),U=_.getBaseValue("bigint"),M=_.chain,N=J||await f?.getAddress(),z=a5({chain:M,isEIP1559Compatible:y,provider:G,signer:f});if(!N)throw new A.SwapKitError("toolbox_evm_no_from_address");if(_.isGasAsset){let Y={...Q,data:L(O(X||"")),feeOptionKey:Z,from:N,to:W,value:U};return z(Y)}if(!Af(_,M))throw new A.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:k,maxPriorityFeePerGas:H,gasPrice:F}=(await zf({chain:M,isEIP1559Compatible:y,provider:G})())[Z],w=await gy({chain:M,provider:G,signer:f})({assetValue:_,data:L(O(X||"")),gasPrice:F,maxFeePerGas:k,maxPriorityFeePerGas:H,memo:X,recipient:W,sender:N});return z(w)}}function r5({provider:f,signer:y}){return function({contractAddress:T,abi:_,funcName:X,funcParams:W=[],txOverrides:Z}){if(!T)throw new A.SwapKitError("toolbox_evm_no_contract_address");let J=rf(T,_,f);return y?J.connect(y).getFunction(X).estimateGas(...W,Z):J.getFunction(X).estimateGas(...W,Z)}}function rG({provider:f,signer:y}){return async function({assetValue:T,recipient:_,memo:X,data:W,sender:Z,funcName:J,funcParams:Q,txOverrides:L}){let O=T.bigIntValue,U=T.isGasAsset?null:Af(T,T.chain);if(U&&J)return r5({provider:f,signer:y})({abi:Ff.erc20ABI,contractAddress:U,funcName:J,funcParams:Q,txOverrides:L});let{hexlify:M,toUtf8Bytes:N}=await import("ethers");return f.estimateGas({data:W?W:X?M(N(X)):void 0,from:Z,to:_,value:O})}}function aG({signer:f}){if(!f)return;return(y)=>ty(f,y)}function a5({provider:f,signer:y,isEIP1559Compatible:G=!0,chain:T}){return async function({feeOptionKey:X=A.FeeOption.Fast,...W}){let{from:Z,to:J,data:Q,value:L,...O}=W;if(!y)throw new A.SwapKitError("toolbox_evm_no_signer");if(!J)throw new A.SwapKitError("toolbox_evm_no_to_address");let U={...O,data:Q||"0x",from:Z,to:J,value:BigInt(L||0)};if($f(f))return If(f)(U);let M=Z||await y.getAddress(),N=W.nonce||await f.getTransactionCount(M),z=(await f.getNetwork()).chainId,B=f1(U,G);if(B==="eip7702")cy(U.authorizations||[],z);let k=iy.match(B).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),H={...U,chainId:z,nonce:N,type:k,...B==="eip7702"&&{authorizationList:U.authorizations}},F=zf({chain:T,isEIP1559Compatible:G,provider:f}),Y=B!=="legacy"&&!(U.maxFeePerGas&&U.maxPriorityFeePerGas)||!U.gasPrice?Object.entries((await F())[X]).reduce((D,[R,$])=>({...D,[R]:cf(BigInt($))}),{}):{},q;try{q=cf(U.gasLimit||await f.estimateGas(H)*11n/10n)}catch(D){throw new A.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:D})}try{let D={...H,gasLimit:q,...Y};try{return(await y.sendTransaction(D)).hash}catch{let R=await y.signTransaction({...D,from:M});return(await f.broadcastTransaction(R)).hash}}catch(D){throw new A.SwapKitError("toolbox_evm_error_sending_transaction",{error:D})}}}function gy({provider:f,signer:y}){return async function({assetValue:T,memo:_,recipient:X,data:W,sender:Z,maxFeePerGas:J,maxPriorityFeePerGas:Q,gasPrice:L,...O}){let U=T.getBaseValue("bigint"),M=T.chain,N=Z||await y?.getAddress();if(!N)throw new A.SwapKitError("toolbox_evm_no_from_address");if(A.isGasAsset(T)){let{hexlify:k,toUtf8Bytes:H}=await import("ethers");return{...O,data:W||k(H(_||"")),from:N,to:X,value:U}}let z=Af(T,M);if(!z)throw new A.SwapKitError("toolbox_evm_no_contract_address");return Lf({chain:T.chain,provider:f})({abi:Ff.erc20ABI,contractAddress:z,funcName:"transfer",funcParams:[X,U],txOverrides:{from:N,gasPrice:L,maxFeePerGas:J,maxPriorityFeePerGas:Q}})}}function sG({provider:f,signer:y,chain:G}){return async function({assetAddress:_,spenderAddress:X,amount:W,from:Z}){let J=await y?.getAddress()||Z,Q=Lf({chain:G,provider:f}),L=["bigint","number"].includes(typeof W)?W:W||df;return await Q({abi:Ff.erc20ABI,contractAddress:_,funcName:"approve",funcParams:[X,BigInt(L)],txOverrides:{from:J}})}}function eG({provider:f,isEIP1559Compatible:y=!0,chain:G}){return async function({feeOption:_=A.FeeOption.Fast,...X}){let Z=await zf({chain:G,isEIP1559Compatible:y,provider:f})(),J=await f.estimateGas(X),Q=A.AssetValue.from({chain:G}),{gasPrice:L,maxFeePerGas:O,maxPriorityFeePerGas:U}=Z[_];if(!y&&L)return Q.set(A.SwapKitNumber.fromBigInt(L*J,Q.decimal));if(O&&U){let M=(O+U)*J;return Q.set(A.SwapKitNumber.fromBigInt(M,Q.decimal))}throw new A.SwapKitError("toolbox_evm_no_gas_price")}}var A,Ff,AT,iy,df,pG,tG,sy,cG,$0=(f)=>f.type===4||(f.authorizations?.length??0)>0,T1=(f)=>!$0(f)&&(f.type===2||!!f.maxFeePerGas||!!f.maxPriorityFeePerGas),f1=(f,y=!0)=>{if($0(f))return"eip7702";if(T1(f)||y)return"eip1559";return"legacy"};var I0=E(()=>{k0();gf();A=require("@swapkit/helpers"),Ff=require("@swapkit/helpers/contracts"),AT=require("ethers"),iy=require("ts-pattern"),df=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");pG=["payable","nonpayable"];tG=A.EVMChains.reduce((f,y)=>{return f[y]="0x0000000000000000000000000000000000000000",f},{}),sy={...tG,[A.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[A.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},cG=[A.Chain.Arbitrum,A.Chain.Aurora,A.Chain.Base,A.Chain.Optimism]});function A0(f){let y=YT(_T.Chain.Ethereum)(f);async function G(T,_="0x5ba1e12693dc8f9c48aad8770482f4739beed696",X="aggregate",W=_T.FeeOption.Fast){let Z=await y.createContractTxObject({abi:t5,contractAddress:_,funcName:X,funcParams:[T]});return y.sendTransaction({...Z,feeOptionKey:W})}return{...y,multicall:G}}function YT(f){return function({provider:G,...T}){let _=py(f),X=af.match(T).with({phrase:af.P.string},({phrase:Z})=>s5.HDNodeWallet.fromPhrase(Z).connect(G)).with({signer:af.P.any},({signer:Z})=>Z).otherwise(()=>{return});return kf({chain:f,isEIP1559Compatible:_,provider:G,signer:X})}}var _T,s5,af,P0,x0,S0,E0,n0,V0,v0,e5,o0,K0,j0,b0,l0,u0,sf,h0,m0,p0,t0;var y1=E(()=>{c5();gf();I0();_T=require("@swapkit/helpers"),s5=require("ethers"),af=require("ts-pattern");P0=YT(_T.Chain.Adi),x0=YT(_T.Chain.Arbitrum),S0=YT(_T.Chain.Aurora),E0=YT(_T.Chain.Avalanche),n0=YT(_T.Chain.Base),V0=YT(_T.Chain.Berachain),v0=YT(_T.Chain.BinanceSmartChain),e5=YT(_T.Chain.Botanix),o0=YT(_T.Chain.Core),K0=YT(_T.Chain.Corn),j0=YT(_T.Chain.Cronos),b0=YT(_T.Chain.Gnosis),l0=YT(_T.Chain.Hyperevm),u0=YT(_T.Chain.Polygon),sf=YT(_T.Chain.Sonic),h0=YT(_T.Chain.Unichain),m0=YT(_T.Chain.XLayer),p0=YT(_T.Chain.Monad),t0=YT(_T.Chain.MegaETH)});var T_;var f_=E(()=>{T_=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function _1(f){return new c0.Contract(fX,T_,f)}function y_(f){return async function(){let G=_1(f);if(G&&"l1BaseFee"in G)return await G?.l1BaseFee();return}}function __(f){return async function({from:G,to:T,nonce:_,...X}){let{Transaction:W}=await import("ethers");if(!T)throw new GT.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return W.from({...X,authorizationList:X.authorizationList,nonce:_?_:G?await f.getTransactionCount(G):0,to:T}).serialized}}function G_(f){return async function(G){let T=_1(f),_=await __(f)(G);if(T&&"getL1Fee"in T)return T.getL1Fee(_)}}function X_(f){return async function(G){let _=(await f.getFeeData()).gasPrice??0n,X=await f.estimateGas(G);return _*X}}function yX(f){return async function(G){let T=await G_(f)(G)??0n,_=await X_(f)(G);return T+_}}function _X(f){return async function(G){let T=_1(f),_=await __(f)(G);if(T&&"getL1GasUsed"in T)return T.getL1GasUsed(_)}}function GX(f){return async function(){try{let{maxFeePerGas:G,maxPriorityFeePerGas:T,gasPrice:_}=await f.getFeeData(),X=await y_(f)(),W=_;if(!(G&&T))throw new GT.SwapKitError("toolbox_evm_no_fee_data");return{[GT.FeeOption.Average]:{gasPrice:W,l1GasPrice:X,maxFeePerGas:G,maxPriorityFeePerGas:T},[GT.FeeOption.Fast]:{gasPrice:GT.applyFeeMultiplierToBigInt(W,GT.FeeOption.Fast),l1GasPrice:GT.applyFeeMultiplierToBigInt(X||0n,GT.FeeOption.Fast),maxFeePerGas:G,maxPriorityFeePerGas:GT.applyFeeMultiplierToBigInt(T,GT.FeeOption.Fast)},[GT.FeeOption.Fastest]:{gasPrice:GT.applyFeeMultiplierToBigInt(W,GT.FeeOption.Fastest),l1GasPrice:GT.applyFeeMultiplierToBigInt(X||0n,GT.FeeOption.Fastest),maxFeePerGas:G,maxPriorityFeePerGas:GT.applyFeeMultiplierToBigInt(T,GT.FeeOption.Fastest)}}}catch(G){throw new GT.SwapKitError("toolbox_evm_gas_estimation_error",{error:G.msg??G.toString()})}}}function g0({provider:f,...y}){let G=ef.match(y).with({phrase:ef.P.string},({phrase:X})=>c0.HDNodeWallet.fromPhrase(X).connect(f)).with({signer:ef.P.any},({signer:X})=>X).otherwise(()=>{return}),T=kf({provider:f,signer:G}),_=y_(f);return{...T,estimateGasPrices:GX(f),estimateL1Gas:_X(f),estimateL1GasCost:G_(f),estimateL2GasCost:X_(f),estimateTotalGasCost:yX(f),getBalance:tf(GT.Chain.Optimism).getBalance,getL1GasPrice:_}}var GT,c0,ef,fX="0x420000000000000000000000000000000000000f";var G1=E(()=>{k0();f_();I0();GT=require("@swapkit/helpers"),c0=require("ethers"),ef=require("ts-pattern")});var J_={};wT(J_,{validateEVMAddress:()=>dy,toChecksumAddress:()=>g5,isStateChangingCall:()=>ay,isEIP7702Transaction:()=>$0,isEIP1559Transaction:()=>T1,isBrowserProvider:()=>$f,getTokenAddress:()=>Af,getEvmToolboxAsync:()=>Z_,getEvmToolbox:()=>X1,getEstimateGasPrices:()=>zf,getEVMTxType:()=>f1,getEIP1193SendTransaction:()=>If,getCreateContractTxObject:()=>Lf,getCreateContract:()=>ry,getChecksumAddressFromAsset:()=>i5,createContract:()=>rf,XLayerToolbox:()=>m0,UNIToolbox:()=>h0,SONICToolbox:()=>sf,OPToolbox:()=>g0,MONADToolbox:()=>p0,MEGAETHToolbox:()=>t0,MAX_APPROVAL:()=>df,MATICToolbox:()=>u0,HYPEREVMToolbox:()=>l0,GNOToolbox:()=>b0,ETHToolbox:()=>A0,ContractAddress:()=>sy,CROToolbox:()=>j0,CORNToolbox:()=>K0,COREToolbox:()=>o0,BotanixToolbox:()=>e5,BaseEVMToolbox:()=>kf,BSCToolbox:()=>v0,BERAToolbox:()=>V0,BASEToolbox:()=>n0,AVAXToolbox:()=>E0,AURORAToolbox:()=>S0,ARBToolbox:()=>x0,ADIToolbox:()=>P0});function X1(f,y){return W_.match(f).with(QT.Chain.Adi,()=>P0(y)).with(QT.Chain.Arbitrum,()=>x0(y)).with(QT.Chain.Aurora,()=>S0(y)).with(QT.Chain.Avalanche,()=>E0(y)).with(QT.Chain.Base,()=>n0(y)).with(QT.Chain.Berachain,()=>V0(y)).with(QT.Chain.BinanceSmartChain,()=>v0(y)).with(QT.Chain.Botanix,()=>sf(y)).with(QT.Chain.Core,()=>o0(y)).with(QT.Chain.Corn,()=>K0(y)).with(QT.Chain.Cronos,()=>j0(y)).with(QT.Chain.Ethereum,()=>A0(y)).with(QT.Chain.Gnosis,()=>b0(y)).with(QT.Chain.Hyperevm,()=>l0(y)).with(QT.Chain.Optimism,()=>g0(y)).with(QT.Chain.Polygon,()=>u0(y)).with(QT.Chain.Sonic,()=>sf(y)).with(QT.Chain.Unichain,()=>h0(y)).with(QT.Chain.XLayer,()=>m0(y)).with(QT.Chain.Monad,()=>p0(y)).with(QT.Chain.MegaETH,()=>t0(y)).exhaustive()}async function Z_(f,y){let G={...y,provider:y?.provider||await hy(f)};return X1(f,G)}var QT,W_;var W1=E(()=>{gf();y1();G1();QT=require("@swapkit/helpers"),W_=require("ts-pattern");I0();y1();G1()});var Q_;var Y_=E(()=>{((G)=>{G.Test="goerli";G.Main="homestead"})(Q_||={})});var q_={};wT(q_,{validateEVMAddress:()=>dy,validateAuthorizations:()=>cy,validateAuthorization:()=>m5,toHexString:()=>cf,toChecksumAddress:()=>g5,signAuthorization:()=>ty,parseEIP712FromEVMTx:()=>mG,isStateChangingCall:()=>ay,isEIP7702Transaction:()=>$0,isEIP1559Transaction:()=>T1,isBrowserProvider:()=>$f,getTokenAddress:()=>Af,getProviderSync:()=>h5,getProvider:()=>hy,getNetworkParams:()=>my,getIsEIP1559Compatible:()=>py,getEvmToolboxAsync:()=>Z_,getEvmToolbox:()=>X1,getEvmApi:()=>tf,getEstimateGasPrices:()=>zf,getEVMTxType:()=>f1,getEIP1193SendTransaction:()=>If,getCreateContractTxObject:()=>Lf,getCreateContract:()=>ry,getChecksumAddressFromAsset:()=>i5,createCustomEvmApi:()=>lG,createContract:()=>rf,buildEIP712DomainType:()=>p5,XLayerToolbox:()=>m0,UNIToolbox:()=>h0,SONICToolbox:()=>sf,OPToolbox:()=>g0,MONADToolbox:()=>p0,MEGAETHToolbox:()=>t0,MAX_APPROVAL:()=>df,MATICToolbox:()=>u0,HYPEREVMToolbox:()=>l0,GNOToolbox:()=>b0,EthNetwork:()=>Q_,ETHToolbox:()=>A0,ContractAddress:()=>sy,CROToolbox:()=>j0,CORNToolbox:()=>K0,COREToolbox:()=>o0,BotanixToolbox:()=>e5,BaseEVMToolbox:()=>kf,BSCToolbox:()=>v0,BERAToolbox:()=>V0,BASEToolbox:()=>n0,AVAXToolbox:()=>E0,AURORAToolbox:()=>S0,ARBToolbox:()=>x0,ADIToolbox:()=>P0});module.exports=HT(q_);var L_=E(()=>{k0();gf();W1();Y_()});async function J1(f,y){let G=await fetch(`${D_}${f}`,{...y,headers:{project_id:w_,...y?.headers}});if(!G.ok)throw Error(`Blockfrost API error: ${G.status} ${G.statusText}`);return G.json()}async function O_(f){try{return await J1(`/addresses/${f}/utxos`)}catch{return[]}}async function WX(){return(await J1("/blocks/latest")).slot}async function ZX(){let f=await J1("/epochs/latest/parameters"),y={PlutusScriptV1:f.cost_models.PlutusV1?Object.values(f.cost_models.PlutusV1):[],PlutusScriptV2:f.cost_models.PlutusV2?Object.values(f.cost_models.PlutusV2):[],PlutusScriptV3:f.cost_models.PlutusV3?Object.values(f.cost_models.PlutusV3):[]};return{collateralPercent:new IT.default(f.collateral_percent),languageView:y,lovelacePerUtxoWord:new IT.default(0),maxValueSize:Number.parseInt(f.max_val_size,10),minFeeA:new IT.default(f.min_fee_a),minFeeB:new IT.default(f.min_fee_b),minFeeRefScriptCostPerByte:new IT.default(15),priceMem:new IT.default(f.price_mem),priceSteps:new IT.default(f.price_step),stakeKeyDeposit:new IT.default(2000000),utxoCostPerByte:new IT.default(f.coins_per_utxo_size)}}async function N_(f){let y=await fetch(`${D_}/tx/submit`,{body:Buffer.from(f,"hex"),headers:{"Content-Type":"application/cbor",project_id:w_},method:"POST"});if(!y.ok){let G=await y.text();throw Error(`Transaction submission failed: ${G}`)}return y.json()}function JX(f,y){return f.map((G)=>{let T=G.amount.find((W)=>W.unit==="lovelace"),_=T?new IT.default(T.quantity):new IT.default(0),X=G.amount.filter((W)=>W.unit!=="lovelace").map((W)=>({amount:new IT.default(W.quantity),assetName:W.unit.slice(56),policyId:W.unit.slice(0,56)}));return{address:y,amount:_,index:G.output_index,tokens:X,txId:G.tx_hash}})}async function QX(f){try{let y=await O_(f),G=0n,T=new Map;for(let W of y){if(!W.amount||!Array.isArray(W.amount))continue;for(let Z of W.amount){let{unit:J,quantity:Q}=Z;if(J==="lovelace")G+=BigInt(Q);else{let L=T.get(J)||0n;T.set(J,L+BigInt(Q))}}}let _=[],{baseDecimal:X}=XT.getChainConfig(XT.Chain.Cardano);if(G>0n)_.push(XT.AssetValue.from({chain:XT.Chain.Cardano,fromBaseDecimal:X,value:G.toString()}));for(let[W,Z]of T)_.push(XT.AssetValue.from({asset:`${XT.Chain.Cardano}.${W}`,value:Z.toString()}));if(_.length===0)return[XT.AssetValue.from({chain:XT.Chain.Cardano})];return _}catch(y){let G=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${G}`),[XT.AssetValue.from({chain:XT.Chain.Cardano})]}}function H_(f){if(!f||typeof f!=="string")return!1;try{let y=U_.bech32.decode(f,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function YX(f,y=0,G=0){let T=await M_.mnemonicToSeed(f,""),X=(await B_.Bip32PrivateKey.fromEntropy(Buffer.from(T.slice(0,64)))).derive(Z1+1852).derive(Z1+1815).derive(Z1+y),W=X.derive(0).derive(G),Z=W.toBip32PublicKey().toPublicKey().toBytes(),J=RT.crypto.hash28(Z),L=X.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),O=RT.crypto.hash28(L),U={hash:J,type:RT.types.HashType.ADDRESS},M={hash:O,type:RT.types.HashType.ADDRESS},z=new RT.address.BaseAddress(XX,U,M).getBech32(),B=W.toPrivateKey();return{getAddress:()=>z,publicKey:Z,publicKeyHash:J,signTransaction:async(k)=>{try{let H=await import("@stricahq/cbors"),F=Buffer.from(k,"hex"),w=H.Decoder.decode(F),[Y,q,D,R]=w.value,$=H.Encoder.encode(Y),C=RT.crypto.hash32($),I=B.sign(C),P=q instanceof Map?q:new Map,n=P.get(z_)||[];n.push([Z,I]),P.set(z_,n);let b=[Y,P,D,R];return H.Encoder.encode(b).toString("hex")}catch(H){throw new XT.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(H)})}}}}function qX(f){let y,G,T;async function _(){if(!T)T=await ZX();return T}async function X(){if(y!==void 0)return y;if(f&&"phrase"in f&&f.phrase){let M=f.index??0;return y=await YX(f.phrase,0,M),y}if(f&&"signer"in f&&f.signer)return y=f.signer,y;return}async function W(){if(G)return G;let M=await X();if(!M)return"";if("getAddress"in M)return G=await M.getAddress(),G;return""}async function Z(M){let N=M||await W();if(!N)throw new XT.SwapKitError("core_wallet_connection_not_found");return QX(N)}async function J(M){if(M)try{let{tx:k}=await Q(M),H=k.getFee();return XT.AssetValue.from({chain:XT.Chain.Cardano,fromBaseDecimal:6,value:H.toString()})}catch{}let N=await _(),z=400,B=N.minFeeB.plus(N.minFeeA.times(z));return XT.AssetValue.from({chain:XT.Chain.Cardano,fromBaseDecimal:6,value:B.toString()})}async function Q({sender:M="",recipient:N,assetValue:z,memo:B,pureLovelaceOnly:k=!1}){let H=M||await W();if(!H)throw new XT.SwapKitError("core_wallet_connection_not_found");let[F,w,Y]=await Promise.all([O_(H),WX(),_()]),q=F.filter((g)=>k?g.amount.every((TT)=>TT.unit==="lovelace"):g.amount.some((TT)=>TT.unit==="lovelace")).sort((g,TT)=>{let UT=g.amount.some((DT)=>DT.unit!=="lovelace"),FT=TT.amount.some((DT)=>DT.unit!=="lovelace");if(UT===FT)return 0;return UT?1:-1}),D=RT.utils.getAddressFromString(H),R=RT.utils.getAddressFromString(N),$=JX(q,D),C=new IT.default(z.getBaseValue("string")),I=[{address:R,amount:C,tokens:[]}],P;if(B){let g=new Map;g.set("msg",[B]),P={metadata:[{data:g,label:674}]}}let b=new RT.Transaction({protocolParams:Y}).paymentTransaction({auxiliaryData:P,changeAddress:D,inputs:$,outputs:I,ttl:w+3600}),{payload:h}=b.buildTransaction();return{tx:b,unsignedTx:h}}async function L(M){let N=await X();if(!N||!("signTransaction"in N))throw new XT.SwapKitError("core_wallet_connection_not_found");return N.signTransaction(M)}async function O({recipient:M,assetValue:N,memo:z}){let B=await X();if(!B||!("signTransaction"in B))throw new XT.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:k}=await Q({assetValue:N,memo:z,recipient:M,sender:await W()}),H=await L(k);return await N_(H)}async function U(M){let N=await L(M);return await N_(N)}return{createTransaction:Q,estimateTransactionFee:J,getAddress:W,getBalance:Z,signAndBroadcastTransaction:U,signTransaction:L,transfer:O,validateAddress:H_}}var U_,M_,B_,RT,XT,IT,w_="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",D_="https://cardano-mainnet.blockfrost.io/api/v0",XX,Z1=2147483648,z_=0;var R_=E(()=>{U_=require("@scure/base"),M_=require("@scure/bip39"),B_=require("@stricahq/bip32ed25519"),RT=require("@stricahq/typhonjs"),XT=require("@swapkit/helpers"),IT=v5(require("bignumber.js")),XX=RT.types.NetworkId.MAINNET});var Q1={};wT(Q1,{validateCardanoAddress:()=>H_,getCardanoToolbox:()=>qX});module.exports=HT(Q1);var Y1=E(()=>{R_()});function T0(f){return jT.base64.encode(Uint8Array.from(jT.bech32.fromWords(jT.bech32.decode(f).words)))}function f0(f,y="thor"){return jT.bech32.encode(y,jT.bech32.toWords(jT.base64.decode(f)))}function LX(f){return jT.base64.encode(f)}function zX(f){if(!f.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new C_.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return jT.base64.decode(f)}var jT,C_;var q1=E(()=>{jT=require("@scure/base"),C_=require("@swapkit/helpers")});function uT(f){switch(f){case K.Chain.Maya:return{amount:[],gas:"10000000000"};case K.Chain.THORChain:return{amount:[],gas:"500000000"};case K.Chain.Kujira:return $_;case K.Chain.Noble:return I_;default:return k_}}async function hT(f){let y=await import("@cosmjs/stargate"),G=y.StargateClient??y.default?.StargateClient,T=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return G.connect({headers:T,url:f})}async function Nf(f,y,G={}){let T=await import("@cosmjs/stargate"),_=T.SigningStargateClient??T.default?.SigningStargateClient,X=T.GasPrice??T.default?.GasPrice,W=typeof G==="string"?G:"0.0003uatom",Z=typeof G==="string"?{}:G;return _.connectWithSigner(f,y,{gasPrice:X.fromString(W),...Z})}async function z1(f,y){let G=await import("@cosmjs/stargate");return(G.SigningStargateClient??G.default?.SigningStargateClient).offline(f,y)}async function N1({sender:f,recipient:y,assetValue:G,memo:T="",feeRate:_,sequence:X,accountNumber:W}){let{chain:Z,chainId:J}=G,Q=await K.getRPCUrl(Z),O=await(await hT(Q)).getAccount(f);if(!O)throw new K.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});let U=K.AssetValue.from({chain:Z}),M=rT(U.symbol),N=uT(Z),z=M&&_?{amount:[{amount:_.toString(),denom:M}],gas:N.gas}:N,B={amount:[{amount:G.getBaseValue("string"),denom:rT(G.symbol)}],fromAddress:f,toAddress:y};return{accountNumber:W??O.accountNumber,chainId:J,fee:z,memo:T,msgs:[{typeUrl:NX(Z),value:B}],sequence:X??O.sequence}}var K,L1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",F_="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",k_,$_,I_,rT=(f,y=!1)=>{if(y)return f.toLowerCase();switch(f){case"uUSK":case"USK":return L1;case"uYUM":case"YUM":return F_;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return f}},y0=({symbol:f,chain:y})=>{if(y===K.Chain.Maya)return(f.toUpperCase()!=="CACAO"?f:`${K.Chain.Maya}.${f}`).toUpperCase();if(y===K.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(f.toUpperCase())?`${K.Chain.THORChain}.${f}`:f).toUpperCase();return rT(f,!1)},NX=(f)=>{switch(f){case K.Chain.Maya:case K.Chain.THORChain:return"/types.MsgSend";case K.Chain.Cosmos:case K.Chain.Kujira:case K.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new K.SwapKitError("toolbox_cosmos_not_supported",{chain:f})}},UX,U1=(f,y)=>{let G=UX[f.toLowerCase()];if(!G)return K.AssetValue.from({asset:f,fromBaseDecimal:8,value:y});let{chain:T,asset:_,decimals:X}=G,W=T?{chain:T}:{asset:_};return K.AssetValue.from({...W,fromBaseDecimal:X,value:y})};var _0=E(()=>{K=require("@swapkit/helpers"),k_={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},$_={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},I_={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};UX={atom:{chain:K.Chain.Cosmos,decimals:K.getChainConfig(K.Chain.Cosmos).baseDecimal},cacao:{chain:K.Chain.Maya,decimals:10},kuji:{chain:K.Chain.Kujira,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal},maya:{asset:`${K.Chain.Maya}.${K.Chain.Maya}`,decimals:4},rune:{chain:K.Chain.THORChain,decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},uatom:{chain:K.Chain.Cosmos,decimals:K.getChainConfig(K.Chain.Cosmos).baseDecimal},ukuji:{chain:K.Chain.Kujira,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal},usdc:{chain:K.Chain.Noble,decimals:K.getChainConfig(K.Chain.Noble).baseDecimal},uusdc:{chain:K.Chain.Noble,decimals:K.getChainConfig(K.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},[L1.toLowerCase()]:{asset:`${K.Chain.Kujira}.USK`,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal}}});var A_={};wT(A_,{$root:()=>S});var MT,l,ET,v,S;var P_=E(()=>{MT=v5(require("protobufjs/minimal.js")),l=MT.default.Reader,ET=MT.default.Writer,v=MT.default.util,S=MT.default.roots.default||(MT.default.roots.default={});S.common=(()=>{let f={};return f.Asset=(()=>{function y(G){if(G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))_.uint32(10).string(T.chain);if(T.symbol!=null&&Object.hasOwnProperty.call(T,"symbol"))_.uint32(18).string(T.symbol);if(T.ticker!=null&&Object.hasOwnProperty.call(T,"ticker"))_.uint32(26).string(T.ticker);if(T.synth!=null&&Object.hasOwnProperty.call(T,"synth"))_.uint32(32).bool(T.synth);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.Asset;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.chain=T.string();break;case 2:W.symbol=T.string();break;case 3:W.ticker=T.string();break;case 4:W.synth=T.bool();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.chain!=null&&T.hasOwnProperty("chain")){if(!v.isString(T.chain))return"chain: string expected"}if(T.symbol!=null&&T.hasOwnProperty("symbol")){if(!v.isString(T.symbol))return"symbol: string expected"}if(T.ticker!=null&&T.hasOwnProperty("ticker")){if(!v.isString(T.ticker))return"ticker: string expected"}if(T.synth!=null&&T.hasOwnProperty("synth")){if(typeof T.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(T){if(T instanceof S.common.Asset)return T;let _=new S.common.Asset;if(T.chain!=null)_.chain=String(T.chain);if(T.symbol!=null)_.symbol=String(T.symbol);if(T.ticker!=null)_.ticker=String(T.ticker);if(T.synth!=null)_.synth=Boolean(T.synth);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.defaults)X.chain="",X.symbol="",X.ticker="",X.synth=!1;if(T.chain!=null&&T.hasOwnProperty("chain"))X.chain=T.chain;if(T.symbol!=null&&T.hasOwnProperty("symbol"))X.symbol=T.symbol;if(T.ticker!=null&&T.hasOwnProperty("ticker"))X.ticker=T.ticker;if(T.synth!=null&&T.hasOwnProperty("synth"))X.synth=T.synth;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.Coin=(()=>{function y(G){if(G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=v.Long?v.Long.fromBits(0,0,!1):0,y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.asset!=null&&Object.hasOwnProperty.call(T,"asset"))S.common.Asset.encode(T.asset,_.uint32(10).fork()).ldelim();if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))_.uint32(18).string(T.amount);if(T.decimals!=null&&Object.hasOwnProperty.call(T,"decimals"))_.uint32(24).int64(T.decimals);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.Coin;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.asset=S.common.Asset.decode(T,T.uint32());break;case 2:W.amount=T.string();break;case 3:W.decimals=T.int64();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.asset!=null&&T.hasOwnProperty("asset")){let _=S.common.Asset.verify(T.asset);if(_)return"asset."+_}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!v.isString(T.amount))return"amount: string expected"}if(T.decimals!=null&&T.hasOwnProperty("decimals")){if(!v.isInteger(T.decimals)&&!(T.decimals&&v.isInteger(T.decimals.low)&&v.isInteger(T.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(T){if(T instanceof S.common.Coin)return T;let _=new S.common.Coin;if(T.asset!=null){if(typeof T.asset!=="object")throw TypeError(".common.Coin.asset: object expected");_.asset=S.common.Asset.fromObject(T.asset)}if(T.amount!=null)_.amount=String(T.amount);if(T.decimals!=null){if(v.Long)(_.decimals=v.Long.fromValue(T.decimals)).unsigned=!1;else if(typeof T.decimals==="string")_.decimals=Number.parseInt(T.decimals,10);else if(typeof T.decimals==="number")_.decimals=T.decimals;else if(typeof T.decimals==="object")_.decimals=new v.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber()}return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.defaults)if(X.asset=null,X.amount="",v.Long){let W=new v.Long(0,0,!1);X.decimals=_.longs===String?W.toString():_.longs===Number?W.toNumber():W}else X.decimals=_.longs===String?"0":0;if(T.asset!=null&&T.hasOwnProperty("asset"))X.asset=S.common.Asset.toObject(T.asset,_);if(T.amount!=null&&T.hasOwnProperty("amount"))X.amount=T.amount;if(T.decimals!=null&&T.hasOwnProperty("decimals"))if(typeof T.decimals==="number")X.decimals=_.longs===String?String(T.decimals):T.decimals;else X.decimals=_.longs===String?v.Long.prototype.toString.call(T.decimals):_.longs===Number?new v.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber():T.decimals;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.PubKeySet=(()=>{function y(G){if(G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.secp256k1!=null&&Object.hasOwnProperty.call(T,"secp256k1"))_.uint32(10).string(T.secp256k1);if(T.ed25519!=null&&Object.hasOwnProperty.call(T,"ed25519"))_.uint32(18).string(T.ed25519);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.PubKeySet;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.secp256k1=T.string();break;case 2:W.ed25519=T.string();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1")){if(!v.isString(T.secp256k1))return"secp256k1: string expected"}if(T.ed25519!=null&&T.hasOwnProperty("ed25519")){if(!v.isString(T.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(T){if(T instanceof S.common.PubKeySet)return T;let _=new S.common.PubKeySet;if(T.secp256k1!=null)_.secp256k1=String(T.secp256k1);if(T.ed25519!=null)_.ed25519=String(T.ed25519);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.defaults)X.secp256k1="",X.ed25519="";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1"))X.secp256k1=T.secp256k1;if(T.ed25519!=null&&T.hasOwnProperty("ed25519"))X.ed25519=T.ed25519;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.Tx=(()=>{function y(G){if(this.coins=[],this.gas=[],G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=v.emptyArray,y.prototype.gas=v.emptyArray,y.prototype.memo="",y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.id!=null&&Object.hasOwnProperty.call(T,"id"))_.uint32(10).string(T.id);if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))_.uint32(18).string(T.chain);if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))_.uint32(26).string(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))_.uint32(34).string(T.toAddress);if(T.coins?.length)for(let X=0;X<T.coins.length;++X)S.common.Coin.encode(T.coins[X],_.uint32(42).fork()).ldelim();if(T.gas?.length)for(let X=0;X<T.gas.length;++X)S.common.Coin.encode(T.gas[X],_.uint32(50).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))_.uint32(58).string(T.memo);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.Tx;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.id=T.string();break;case 2:W.chain=T.string();break;case 3:W.fromAddress=T.string();break;case 4:W.toAddress=T.string();break;case 5:if(!W.coins?.length)W.coins=[];W.coins.push(S.common.Coin.decode(T,T.uint32()));break;case 6:if(!W.gas?.length)W.gas=[];W.gas.push(S.common.Coin.decode(T,T.uint32()));break;case 7:W.memo=T.string();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.id!=null&&T.hasOwnProperty("id")){if(!v.isString(T.id))return"id: string expected"}if(T.chain!=null&&T.hasOwnProperty("chain")){if(!v.isString(T.chain))return"chain: string expected"}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!v.isString(T.fromAddress))return"fromAddress: string expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!v.isString(T.toAddress))return"toAddress: string expected"}if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let _=0;_<T.coins.length;++_){let X=S.common.Coin.verify(T.coins[_]);if(X)return"coins."+X}}if(T.gas!=null&&T.hasOwnProperty("gas")){if(!Array.isArray(T.gas))return"gas: array expected";for(let _=0;_<T.gas.length;++_){let X=S.common.Coin.verify(T.gas[_]);if(X)return"gas."+X}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!v.isString(T.memo))return"memo: string expected"}return null},y.fromObject=function(T){if(T instanceof S.common.Tx)return T;let _=new S.common.Tx;if(T.id!=null)_.id=String(T.id);if(T.chain!=null)_.chain=String(T.chain);if(T.fromAddress!=null)_.fromAddress=String(T.fromAddress);if(T.toAddress!=null)_.toAddress=String(T.toAddress);if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Tx.coins: array expected");_.coins=[];for(let X=0;X<T.coins.length;++X){if(typeof T.coins[X]!=="object")throw TypeError(".common.Tx.coins: object expected");_.coins[X]=S.common.Coin.fromObject(T.coins[X])}}if(T.gas){if(!Array.isArray(T.gas))throw TypeError(".common.Tx.gas: array expected");_.gas=[];for(let X=0;X<T.gas.length;++X){if(typeof T.gas[X]!=="object")throw TypeError(".common.Tx.gas: object expected");_.gas[X]=S.common.Coin.fromObject(T.gas[X])}}if(T.memo!=null)_.memo=String(T.memo);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.arrays||_.defaults)X.coins=[],X.gas=[];if(_.defaults)X.id="",X.chain="",X.fromAddress="",X.toAddress="",X.memo="";if(T.id!=null&&T.hasOwnProperty("id"))X.id=T.id;if(T.chain!=null&&T.hasOwnProperty("chain"))X.chain=T.chain;if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))X.fromAddress=T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))X.toAddress=T.toAddress;if(T.coins?.length){X.coins=[];for(let W=0;W<T.coins.length;++W)X.coins[W]=S.common.Coin.toObject(T.coins[W],_)}if(T.gas?.length){X.gas=[];for(let W=0;W<T.gas.length;++W)X.gas[W]=S.common.Coin.toObject(T.gas[W],_)}if(T.memo!=null&&T.hasOwnProperty("memo"))X.memo=T.memo;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.Fee=(()=>{function y(G){if(this.coins=[],G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.coins=v.emptyArray,y.prototype.poolDeduct="",y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.coins?.length)for(let X=0;X<T.coins.length;++X)S.common.Coin.encode(T.coins[X],_.uint32(10).fork()).ldelim();if(T.poolDeduct!=null&&Object.hasOwnProperty.call(T,"poolDeduct"))_.uint32(18).string(T.poolDeduct);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.Fee;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:if(!W.coins?.length)W.coins=[];W.coins.push(S.common.Coin.decode(T,T.uint32()));break;case 2:W.poolDeduct=T.string();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let _=0;_<T.coins.length;++_){let X=S.common.Coin.verify(T.coins[_]);if(X)return"coins."+X}}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct")){if(!v.isString(T.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(T){if(T instanceof S.common.Fee)return T;let _=new S.common.Fee;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Fee.coins: array expected");_.coins=[];for(let X=0;X<T.coins.length;++X){if(typeof T.coins[X]!=="object")throw TypeError(".common.Fee.coins: object expected");_.coins[X]=S.common.Coin.fromObject(T.coins[X])}}if(T.poolDeduct!=null)_.poolDeduct=String(T.poolDeduct);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.arrays||_.defaults)X.coins=[];if(_.defaults)X.poolDeduct="";if(T.coins?.length){X.coins=[];for(let W=0;W<T.coins.length;++W)X.coins[W]=S.common.Coin.toObject(T.coins[W],_)}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct"))X.poolDeduct=T.poolDeduct;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.ProtoUint=(()=>{function y(G){if(G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.value="",y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.value!=null&&Object.hasOwnProperty.call(T,"value"))_.uint32(10).string(T.value);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.common.ProtoUint;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.value=T.string();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.value!=null&&T.hasOwnProperty("value")){if(!v.isString(T.value))return"value: string expected"}return null},y.fromObject=function(T){if(T instanceof S.common.ProtoUint)return T;let _=new S.common.ProtoUint;if(T.value!=null)_.value=String(T.value);return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.defaults)X.value="";if(T.value!=null&&T.hasOwnProperty("value"))X.value=T.value;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f})();S.types=(()=>{let f={};return f.MsgDeposit=(()=>{function y(G){if(this.coins=[],G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.coins=v.emptyArray,y.prototype.memo="",y.prototype.signer=v.newBuffer([]),y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.coins?.length)for(let X=0;X<T.coins.length;++X)S.common.Coin.encode(T.coins[X],_.uint32(10).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))_.uint32(18).string(T.memo);if(T.signer!=null&&Object.hasOwnProperty.call(T,"signer"))_.uint32(26).bytes(T.signer);return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.types.MsgDeposit;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:if(!W.coins?.length)W.coins=[];W.coins.push(S.common.Coin.decode(T,T.uint32()));break;case 2:W.memo=T.string();break;case 3:W.signer=T.bytes();break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let _=0;_<T.coins.length;++_){let X=S.common.Coin.verify(T.coins[_]);if(X)return"coins."+X}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!v.isString(T.memo))return"memo: string expected"}if(T.signer!=null&&T.hasOwnProperty("signer")){if(!(T.signer&&typeof T.signer.length==="number"||v.isString(T.signer)))return"signer: buffer expected"}return null},y.fromObject=function(T){if(T instanceof S.types.MsgDeposit)return T;let _=new S.types.MsgDeposit;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".types.MsgDeposit.coins: array expected");_.coins=[];for(let X=0;X<T.coins.length;++X){if(typeof T.coins[X]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");_.coins[X]=S.common.Coin.fromObject(T.coins[X])}}if(T.memo!=null)_.memo=String(T.memo);if(T.signer!=null){if(typeof T.signer==="string")v.base64.decode(T.signer,_.signer=v.newBuffer(v.base64.length(T.signer)),0);else if(T.signer.length)_.signer=T.signer}return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.arrays||_.defaults)X.coins=[];if(_.defaults){if(X.memo="",_.bytes===String)X.signer="";else if(X.signer=[],_.bytes!==Array)X.signer=v.newBuffer(X.signer)}if(T.coins?.length){X.coins=[];for(let W=0;W<T.coins.length;++W)X.coins[W]=S.common.Coin.toObject(T.coins[W],_)}if(T.memo!=null&&T.hasOwnProperty("memo"))X.memo=T.memo;if(T.signer!=null&&T.hasOwnProperty("signer"))X.signer=_.bytes===String?v.base64.encode(T.signer,0,T.signer.length):_.bytes===Array?Array.prototype.slice.call(T.signer):T.signer;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f.MsgSend=(()=>{function y(G){if(this.amount=[],G){for(let T=Object.keys(G),_=0;_<T.length;++_)if(G[T[_]]!=null)this[T[_]]=G[T[_]]}}return y.prototype.fromAddress=v.newBuffer([]),y.prototype.toAddress=v.newBuffer([]),y.prototype.amount=v.emptyArray,y.create=function(T){return new y(T)},y.encode=function(T,_){if(!_)_=ET.create();if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))_.uint32(10).bytes(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))_.uint32(18).bytes(T.toAddress);if(T.amount?.length)for(let X=0;X<T.amount.length;++X)S.cosmos.base.v1beta1.Coin.encode(T.amount[X],_.uint32(26).fork()).ldelim();return _},y.encodeDelimited=function(T,_){return this.encode(T,_).ldelim()},y.decode=function(T,_){if(!(T instanceof l))T=l.create(T);let X=_===void 0?T.len:T.pos+_,W=new S.types.MsgSend;while(T.pos<X){let Z=T.uint32();switch(Z>>>3){case 1:W.fromAddress=T.bytes();break;case 2:W.toAddress=T.bytes();break;case 3:if(!W.amount?.length)W.amount=[];W.amount.push(S.cosmos.base.v1beta1.Coin.decode(T,T.uint32()));break;default:T.skipType(Z&7);break}}return W},y.decodeDelimited=function(T){if(!(T instanceof l))T=new l(T);return this.decode(T,T.uint32())},y.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!(T.fromAddress&&typeof T.fromAddress.length==="number"||v.isString(T.fromAddress)))return"fromAddress: buffer expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!(T.toAddress&&typeof T.toAddress.length==="number"||v.isString(T.toAddress)))return"toAddress: buffer expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!Array.isArray(T.amount))return"amount: array expected";for(let _=0;_<T.amount.length;++_){let X=S.cosmos.base.v1beta1.Coin.verify(T.amount[_]);if(X)return"amount."+X}}return null},y.fromObject=function(T){if(T instanceof S.types.MsgSend)return T;let _=new S.types.MsgSend;if(T.fromAddress!=null){if(typeof T.fromAddress==="string")v.base64.decode(T.fromAddress,_.fromAddress=v.newBuffer(v.base64.length(T.fromAddress)),0);else if(T.fromAddress.length)_.fromAddress=T.fromAddress}if(T.toAddress!=null){if(typeof T.toAddress==="string")v.base64.decode(T.toAddress,_.toAddress=v.newBuffer(v.base64.length(T.toAddress)),0);else if(T.toAddress.length)_.toAddress=T.toAddress}if(T.amount){if(!Array.isArray(T.amount))throw TypeError(".types.MsgSend.amount: array expected");_.amount=[];for(let X=0;X<T.amount.length;++X){if(typeof T.amount[X]!=="object")throw TypeError(".types.MsgSend.amount: object expected");_.amount[X]=S.cosmos.base.v1beta1.Coin.fromObject(T.amount[X])}}return _},y.toObject=function(T,_){if(!_)_={};let X={};if(_.arrays||_.defaults)X.amount=[];if(_.defaults){if(_.bytes===String)X.fromAddress="";else if(X.fromAddress=[],_.bytes!==Array)X.fromAddress=v.newBuffer(X.fromAddress);if(_.bytes===String)X.toAddress="";else if(X.toAddress=[],_.bytes!==Array)X.toAddress=v.newBuffer(X.toAddress)}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))X.fromAddress=_.bytes===String?v.base64.encode(T.fromAddress,0,T.fromAddress.length):_.bytes===Array?Array.prototype.slice.call(T.fromAddress):T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))X.toAddress=_.bytes===String?v.base64.encode(T.toAddress,0,T.toAddress.length):_.bytes===Array?Array.prototype.slice.call(T.toAddress):T.toAddress;if(T.amount?.length){X.amount=[];for(let W=0;W<T.amount.length;++W)X.amount[W]=S.cosmos.base.v1beta1.Coin.toObject(T.amount[W],_)}return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},y})(),f})();S.cosmos=(()=>{let f={};return f.base=(()=>{let y={};return y.v1beta1=(()=>{let G={};return G.Coin=(()=>{function T(_){if(_){for(let X=Object.keys(_),W=0;W<X.length;++W)if(_[X[W]]!=null)this[X[W]]=_[X[W]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(X){return new T(X)},T.encode=function(X,W){if(!W)W=ET.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))W.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))W.uint32(18).string(X.amount);return W},T.encodeDelimited=function(X,W){return this.encode(X,W).ldelim()},T.decode=function(X,W){if(!(X instanceof l))X=l.create(X);let Z=W===void 0?X.len:X.pos+W,J=new S.cosmos.base.v1beta1.Coin;while(X.pos<Z){let Q=X.uint32();switch(Q>>>3){case 1:J.denom=X.string();break;case 2:J.amount=X.string();break;default:X.skipType(Q&7);break}}return J},T.decodeDelimited=function(X){if(!(X instanceof l))X=new l(X);return this.decode(X,X.uint32())},T.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!v.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!v.isString(X.amount))return"amount: string expected"}return null},T.fromObject=function(X){if(X instanceof S.cosmos.base.v1beta1.Coin)return X;let W=new S.cosmos.base.v1beta1.Coin;if(X.denom!=null)W.denom=String(X.denom);if(X.amount!=null)W.amount=String(X.amount);return W},T.toObject=function(X,W){if(!W)W={};let Z={};if(W.defaults)Z.denom="",Z.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))Z.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))Z.amount=X.amount;return Z},T.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},T})(),G.DecCoin=(()=>{function T(_){if(_){for(let X=Object.keys(_),W=0;W<X.length;++W)if(_[X[W]]!=null)this[X[W]]=_[X[W]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(X){return new T(X)},T.encode=function(X,W){if(!W)W=ET.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))W.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))W.uint32(18).string(X.amount);return W},T.encodeDelimited=function(X,W){return this.encode(X,W).ldelim()},T.decode=function(X,W){if(!(X instanceof l))X=l.create(X);let Z=W===void 0?X.len:X.pos+W,J=new S.cosmos.base.v1beta1.DecCoin;while(X.pos<Z){let Q=X.uint32();switch(Q>>>3){case 1:J.denom=X.string();break;case 2:J.amount=X.string();break;default:X.skipType(Q&7);break}}return J},T.decodeDelimited=function(X){if(!(X instanceof l))X=new l(X);return this.decode(X,X.uint32())},T.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!v.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!v.isString(X.amount))return"amount: string expected"}return null},T.fromObject=function(X){if(X instanceof S.cosmos.base.v1beta1.DecCoin)return X;let W=new S.cosmos.base.v1beta1.DecCoin;if(X.denom!=null)W.denom=String(X.denom);if(X.amount!=null)W.amount=String(X.amount);return W},T.toObject=function(X,W){if(!W)W={};let Z={};if(W.defaults)Z.denom="",Z.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))Z.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))Z.amount=X.amount;return Z},T.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},T})(),G.IntProto=(()=>{function T(_){if(_){for(let X=Object.keys(_),W=0;W<X.length;++W)if(_[X[W]]!=null)this[X[W]]=_[X[W]]}}return T.prototype.int="",T.create=function(X){return new T(X)},T.encode=function(X,W){if(!W)W=ET.create();if(X.int!=null&&Object.hasOwnProperty.call(X,"int"))W.uint32(10).string(X.int);return W},T.encodeDelimited=function(X,W){return this.encode(X,W).ldelim()},T.decode=function(X,W){if(!(X instanceof l))X=l.create(X);let Z=W===void 0?X.len:X.pos+W,J=new S.cosmos.base.v1beta1.IntProto;while(X.pos<Z){let Q=X.uint32();switch(Q>>>3){case 1:J.int=X.string();break;default:X.skipType(Q&7);break}}return J},T.decodeDelimited=function(X){if(!(X instanceof l))X=new l(X);return this.decode(X,X.uint32())},T.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.int!=null&&X.hasOwnProperty("int")){if(!v.isString(X.int))return"int: string expected"}return null},T.fromObject=function(X){if(X instanceof S.cosmos.base.v1beta1.IntProto)return X;let W=new S.cosmos.base.v1beta1.IntProto;if(X.int!=null)W.int=String(X.int);return W},T.toObject=function(X,W){if(!W)W={};let Z={};if(W.defaults)Z.int="";if(X.int!=null&&X.hasOwnProperty("int"))Z.int=X.int;return Z},T.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},T})(),G.DecProto=(()=>{function T(_){if(_){for(let X=Object.keys(_),W=0;W<X.length;++W)if(_[X[W]]!=null)this[X[W]]=_[X[W]]}}return T.prototype.dec="",T.create=function(X){return new T(X)},T.encode=function(X,W){if(!W)W=ET.create();if(X.dec!=null&&Object.hasOwnProperty.call(X,"dec"))W.uint32(10).string(X.dec);return W},T.encodeDelimited=function(X,W){return this.encode(X,W).ldelim()},T.decode=function(X,W){if(!(X instanceof l))X=l.create(X);let Z=W===void 0?X.len:X.pos+W,J=new S.cosmos.base.v1beta1.DecProto;while(X.pos<Z){let Q=X.uint32();switch(Q>>>3){case 1:J.dec=X.string();break;default:X.skipType(Q&7);break}}return J},T.decodeDelimited=function(X){if(!(X instanceof l))X=new l(X);return this.decode(X,X.uint32())},T.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.dec!=null&&X.hasOwnProperty("dec")){if(!v.isString(X.dec))return"dec: string expected"}return null},T.fromObject=function(X){if(X instanceof S.cosmos.base.v1beta1.DecProto)return X;let W=new S.cosmos.base.v1beta1.DecProto;if(X.dec!=null)W.dec=String(X.dec);return W},T.toObject=function(X,W){if(!W)W={};let Z={};if(W.defaults)Z.dec="";if(X.dec!=null&&X.hasOwnProperty("dec"))Z.dec=X.dec;return Z},T.prototype.toJSON=function(){return this.constructor.toObject(this,MT.default.util.toJSONOptions)},T})(),G})(),y})(),f})()});async function Uf(){let{$root:f}=await Promise.resolve().then(() => (P_(),A_)),y=await import("@cosmjs/proto-signing"),G=y.Registry??y.default?.Registry,T=await import("@cosmjs/stargate"),_=T.defaultRegistryTypes??T.default?.defaultRegistryTypes;return new G([..._,["/types.MsgSend",f.types.MsgSend],["/types.MsgDeposit",f.types.MsgDeposit]])}async function aT(f){let y=await import("@cosmjs/stargate"),G=y.AminoTypes??y.default?.AminoTypes,T=f===x_.Chain.THORChain?"thorchain":"mayachain";return new G({"/types.MsgDeposit":{aminoType:`${T}/MsgDeposit`,fromAmino:({signer:_,...X})=>({...X,signer:T0(_)}),toAmino:({signer:_,...X})=>({...X,signer:f0(_)})},"/types.MsgSend":{aminoType:`${T}/MsgSend`,fromAmino:({from_address:_,to_address:X,...W})=>({...W,fromAddress:T0(_),toAddress:T0(X)}),toAmino:({fromAddress:_,toAddress:X,...W})=>({...W,from_address:f0(_),to_address:f0(X)})}})}var x_;var M1=E(()=>{q1();x_=require("@swapkit/helpers")});function D1(f){let{assetValue:y,recipient:G,memo:T,sender:_,asSignable:X,asAminoMessage:W}=f;if(G)return E_({asAminoMessage:W,asSignable:X,assetValue:y,memo:T,recipient:G,sender:_});return n_({asAminoMessage:W,asSignable:X,assetValue:y,memo:T,sender:_})}async function E_({sender:f,recipient:y,assetValue:G,memo:T="",asSignable:_=!0,asAminoMessage:X=!1,sequence:W,accountNumber:Z}){let J=G.chain,Q=await CT.getRPCUrl(J),L=await S_({rpcUrl:Q,sender:f}),{chainId:O}=CT.getChainConfig(J),U=B1({assetValue:G,recipient:y,sender:f}),M=_?await sT(X?U:eT(U),J):U;return{accountNumber:Z||L.accountNumber,chainId:O,fee:uT(J),memo:T,msgs:[M],sequence:W||L.sequence}}async function n_({sender:f,assetValue:y,memo:G="",asSignable:T=!0,asAminoMessage:_=!1,sequence:X,accountNumber:W}){let Z=y.chain,J=await CT.getRPCUrl(Z),Q=await S_({rpcUrl:J,sender:f}),{chainId:L}=CT.getChainConfig(Z),O=w1({assetValue:y,memo:G,sender:f}),U=T?await sT(_?O:eT(O),Z):O;return{accountNumber:W||Q.accountNumber,chainId:L,fee:uT(Z),memo:G,msgs:[U],sequence:X||Q.sequence}}function eT(f){if(f.type==="thorchain/MsgSend"||f.type==="mayachain/MsgSend")return f;return{...f,value:{...f.value,coins:f.value.coins.map((y)=>{let G=CT.AssetValue.from({asset:y.asset}),T=(G.isSynthetic?G.symbol.split("/")?.[1]:G.symbol)?.toUpperCase(),_=(G.isSynthetic?G.symbol.split("/")?.[0]:G.chain)?.toUpperCase();return{...y,asset:{chain:_,symbol:T,synth:G.isSynthetic,ticker:G.ticker}}})}}}async function G0({chain:f,memo:y,msgs:G}){let T=await Uf(),_=await aT(f),X={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:G.map((W)=>_.fromAmino(W))}};return T.encode(X)}var CT,MX,BX,B1=({sender:f,recipient:y,assetValue:G})=>{return{type:`${G.chain===CT.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:G.getBaseValue("string"),denom:rT(G.symbol,!0)}],from_address:f,to_address:y}}},w1=({sender:f,assetValue:y,memo:G=""})=>{return{type:`${y.chain===CT.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:y0(y)}],memo:G,signer:f}}},i0=({sender:f,recipient:y,assetValue:G,memo:T})=>{return!y?w1({assetValue:G,memo:T,sender:f}):B1({assetValue:G,recipient:y,sender:f})},sT=async(f,y)=>{return(await aT(y)).fromAmino(f)},S_=async({rpcUrl:f,sender:y})=>{let T=await(await hT(f)).getAccount(y);if(!T)throw new CT.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return T};var V_=E(()=>{_0();M1();CT=require("@swapkit/helpers"),MX=uT(CT.Chain.THORChain).gas,BX=uT(CT.Chain.Maya).gas});var v_=()=>{};var o_=E(()=>{v_()});var O1=E(()=>{q1();V_();M1();o_()});async function C1(f,y){try{let T=(await R1.SwapKitApi.getGasRate()).find((_)=>_.chainId===f)?.value;return T?Number.parseFloat(T):y}catch{return y}}async function H1({phrase:f,prefix:y,...G}){let T="derivationPath"in G?G.derivationPath:`${V.DerivationPath[G.chain]}/${G.index}`;return await u_.DirectSecp256k1HdWallet.fromMnemonic(f,{hdPaths:[l_.stringToPath(T)],prefix:y})}async function wX({privateKey:f,prefix:y}){let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(f,y)}function h_(f){return async function({signature:G,message:T,address:_}){let X=await f(_);if(!X?.pubkey)throw new V.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let W=await import("@cosmjs/crypto"),Z=W.Secp256k1Signature??W.default?.Secp256k1Signature,J=W.Secp256k1??W.default?.Secp256k1,Q=Z.fromFixedLength(Tf.base64.decode(G));return J.verifySignature(Q,Tf.base64.decode(T),X.pubkey.value)}}function W0({chain:f,...y}){let G=V.CosmosChainPrefixes[f],T="index"in y?y.index||0:0,_=V.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:V.updateDerivationPath(V.NetworkDerivationPath[f],{index:T})),X;async function W(){if(X)return X;return X=await X0.match(y).with({phrase:X0.P.string},({phrase:M})=>H1({derivationPath:_,phrase:M,prefix:G})).with({signer:X0.P.any},({signer:M})=>M).otherwise(()=>{return}),X}async function Z(M){let N=await V.getRPCUrl(f);return(await hT(N)).getAccount(M)}async function J(){let M=await W(),[N]=await M?.getAccounts()||[];return N?.address}async function Q(){let M=await W(),[N]=await M?.getAccounts()||[];if(!N?.pubkey)throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");return Tf.base64.encode(N?.pubkey)}async function L(M){let N=await W(),z=await J(),B=await V.getRPCUrl(f);if(!(N&&z))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Nf(B,N)).sign(z,M.msgs,M.fee,M.memo,{accountNumber:M.accountNumber,chainId:M.chainId,sequence:M.sequence})}async function O(M){let N=await W(),z=await J(),B=await V.getRPCUrl(f);if(!(N&&z))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");let H=await(await Nf(B,N)).signAndBroadcast(z,M.msgs,M.fee,M.memo);if(H.code!==0)throw new V.SwapKitError("core_swap_transaction_error",{code:H.code,message:H.rawLog});return H.transactionHash}async function U({recipient:M,assetValue:N,memo:z="",feeRate:B,feeOptionKey:k=V.FeeOption.Fast}){let H=await W(),F=await J();if(!(H&&F))throw new V.SwapKitError("toolbox_cosmos_signer_not_defined");let w=await V.getRPCUrl(f),Y=V.AssetValue.from({chain:f}),q=y0(Y),D=B||HX((await j_(f,K_[f]))[k],q),R=await Nf(w,H),$=rT(N.symbol),C=[{amount:N.getBaseValue("string"),denom:$}],{transactionHash:I}=await R.sendTokens(F,M,C,D,z);return I}return{createPrivateKeyFromPhrase:CX(_),createTransaction:N1,fetchFeeRateFromSwapKit:C1,getAccount:Z,getAddress:J,getBalance:async(M,N)=>{let z=await b_(f)(M),B=await Promise.all(z.filter(({denom:k})=>k&&!k.includes("IBC/")&&!([V.Chain.THORChain,V.Chain.Maya].includes(f)&&k.split("-").length>2)).map(({denom:k,amount:H})=>{let F=[V.Chain.THORChain,V.Chain.Maya].includes(f)&&(k.includes("/")||k.includes("˜"))?`${f}.${k}`:k;return U1(F,H)}));if(B.length===0)return[V.AssetValue.from({chain:f})];return B},getBalanceAsDenoms:b_(f),getFees:()=>j_(f,K_[f]),getPubKey:Q,getSignerFromPhrase:({phrase:M,derivationPath:N})=>H1({derivationPath:V.derivationPathToString(N),index:T,phrase:M,prefix:G}),getSignerFromPrivateKey:async(M)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(M,G)},signAndBroadcastTransaction:O,signTransaction:L,transfer:U,validateAddress:m_(f),verifySignature:h_(Z)}}async function DX(f,y){try{let T=(await R1.SwapKitApi.getGasRate()).find((_)=>_.chainId===f)?.value;return T?Number.parseFloat(T):y}catch{return y}}function OX({assetValue:{chain:f}}){return V.AssetValue.from({chain:f,value:RX(f)})}async function j_(f,y){let{chainId:G,baseDecimal:T}=V.getChainConfig(f),_=await C1(G,y);return{average:V.SwapKitNumber.fromBigInt(BigInt(_),T),fast:V.SwapKitNumber.fromBigInt(BigInt(V.applyFeeMultiplier(_,V.FeeOption.Fast,!0)),T),fastest:V.SwapKitNumber.fromBigInt(BigInt(V.applyFeeMultiplier(_,V.FeeOption.Fastest,!0)),T)}}function HX(f,y){return{amount:[{amount:f.getBaseValue("string"),denom:y}],gas:"200000"}}function RX(f){return{[V.Chain.Cosmos]:0.007,[V.Chain.Kujira]:0.02,[V.Chain.Noble]:0.01,[V.Chain.THORChain]:0.02,[V.Chain.Maya]:0.02,[V.Chain.Harbor]:0.02}[f]||0}function m_(f){let y=V.CosmosChainPrefixes[f];return function(T){if(!T.startsWith(y))return!1;try{let{prefix:_,words:X}=Tf.bech32.decode(T);return Tf.bech32.encode(_,X)===T.toLocaleLowerCase()}catch{return!1}}}function b_(f){return async function(G){let T=await V.getRPCUrl(f);return(await(await hT(T)).getAllBalances(G)).map((Z)=>({...Z,denom:Z.denom.includes("/")?Z.denom.toUpperCase():Z.denom}))}}function CX(f){return async function(G){let T=await import("@cosmjs/crypto"),_=T.stringToPath??T.default?.stringToPath,X=T.Slip10Curve??T.default?.Slip10Curve,W=T.Slip10??T.default?.Slip10,Z=T.EnglishMnemonic??T.default?.EnglishMnemonic,J=T.Bip39??T.default?.Bip39,Q=new Z(G),L=await J.mnemonicToSeed(Q),{privkey:O}=W.derivePath(X.Secp256k1,L,_(f));return O}}var l_,u_,Tf,V,R1,X0,K_;var d0=E(()=>{_0();l_=require("@cosmjs/crypto"),u_=require("@cosmjs/proto-signing"),Tf=require("@scure/base"),V=require("@swapkit/helpers"),R1=require("@swapkit/helpers/api"),X0=require("ts-pattern");K_={[V.Chain.Cosmos]:1000,[V.Chain.Kujira]:1000,[V.Chain.Noble]:1000,[V.Chain.THORChain]:5000000,[V.Chain.Maya]:5000000,[V.Chain.Harbor]:5000000}});function FX({prefix:f,derivationPath:y}){return async function(T,_=0){let X=await import("@cosmjs/amino"),W=X.Secp256k1HdWallet??X.default?.Secp256k1HdWallet,Z=await import("@cosmjs/crypto"),J=Z.stringToPath??Z.default?.stringToPath;return W.fromMnemonic(T,{hdPaths:[J(`${y}/${_}`)],prefix:f})}}function kX(f){return ff.base64.encode(f)}function $X(f){return async function({wallet:G,tx:T}){let{msgs:_,accountNumber:X,sequence:W,chainId:Z,fee:J,memo:Q}=typeof T==="string"?JSON.parse(T):T,L=(await G.getAccounts())?.[0]?.address||"",O=await aT(f),U=await Uf(),M=await z1(G,{aminoTypes:O,registry:U}),N=[];for(let k of _){let H=await sT(k,f);N.push(H)}let{signatures:[z]}=await M.sign(L,N,J,Q,{accountNumber:X,chainId:Z,sequence:W});return{bodyBytes:await G0({chain:f,memo:Q,msgs:_.map(eT)}),signature:kX(z)}}}function IX({prefix:f,chain:y}){return async function(T,_,X,W,Z){let J=await s.getRPCUrl(y),{encodeSecp256k1Pubkey:Q,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:O}=(await import("@cosmjs/stargate")).default,{sequence:U,fee:M}=JSON.parse(T),N=await p_(X,W),z=_.map((H)=>[L(Q(ff.base64.decode(H.pubKey)),f),ff.base64.decode(H.signature)]),B=await hT(J),{transactionHash:k}=await B.broadcastTx(O(N,U,M,Z,new Map(z)));return k}}async function p_(f,y,G=!0){let{createMultisigThresholdPubkey:T,encodeSecp256k1Pubkey:_}=(await import("@cosmjs/amino")).default;return T(f.map((X)=>_(ff.base64.decode(X))),y,G)}function AX(f){return ff.base64.decode(f)}async function PX({privateKey:f,message:y}){let{Secp256k1:G}=(await import("@cosmjs/crypto")).default,T=await G.createSignature(ff.base64.decode(y),f);return ff.base64.encode(Buffer.concat([T.r(32),T.s(32)]))}function F1({chain:f,...y}){let{nodeUrl:G}=s.getChainConfig(f),{isStagenet:T}=s.SKConfig.get("envs"),_=f===s.Chain.THORChain,X=`${T?"s":""}${s.CosmosChainPrefixes[f]}`,W="index"in y?y.index||0:0,Z="derivationPath"in y&&y.derivationPath?y.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[f],{index:W}),J=W0({chain:f,...y}),Q=uT(f);async function L(){let U,M=`${G}/${_?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:N}}=await s.RequestClient.get(M);if(!N||Number.isNaN(N)||N<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:N.toString()});U=new s.SwapKitNumber(N)}catch{U=new s.SwapKitNumber({decimal:s.getChainConfig(f).baseDecimal,value:_?0.02:1})}return{[s.FeeOption.Average]:U,[s.FeeOption.Fast]:U,[s.FeeOption.Fastest]:U}}async function O({assetValue:U,memo:M="",recipient:N}){let z=await s.getRPCUrl(f),B=await Z0.match(y).with({phrase:Z0.P.string},({phrase:I})=>J.getSignerFromPhrase({derivationPath:Z,phrase:I})).with({signer:Z0.P.any},({signer:I})=>I).otherwise(()=>{return}),{TxRaw:k}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),H=(await B?.getAccounts())?.[0]?.address;if(!(H&&B))throw new s.SwapKitError("toolbox_cosmos_no_signer");let F="signAmino"in B,w=await Uf(),Y=await aT(f),q=await Nf(z,B,{aminoTypes:Y,registry:w}),D=i0({assetValue:U,memo:M,recipient:N,sender:H});if(F){let I=await sT(D,f),{signatures:P,authInfoBytes:n}=await q.sign(H,[I],Q,M),b=k.encode({authInfoBytes:n,bodyBytes:await G0({chain:f,memo:M,msgs:[D].map(eT)}),signatures:P}).finish();return(await q.broadcastTx(b)).transactionHash}let R=eT(D),$=await sT(R,f);return(await q.signAndBroadcast(H,[$],Q,M)).transactionHash}return{...J,broadcastMultisigTx:IX({chain:f,prefix:X}),buildAminoMsg:i0,buildEncodedTxBody:G0,convertToSignable:sT,createDefaultAminoTypes:()=>aT(f),createDefaultRegistry:Uf,createMultisig:p_,createTransaction:D1,deposit:O,getFees:L,importSignature:AX,parseAminoMessageForDirectSigning:eT,pubkeyToAddress:async(U)=>{let{pubkeyToAddress:M}=(await import("@cosmjs/amino")).default;return M(U,X)},secp256k1HdWalletFromMnemonic:FX({derivationPath:s.derivationPathToString(Z),prefix:X}),signMultisigTx:$X(f),signWithPrivateKey:PX,transfer:O}}var ff,s,Z0;var k1=E(()=>{O1();_0();d0();ff=require("@scure/base"),s=require("@swapkit/helpers"),Z0=require("ts-pattern")});var yf,xX=(f,y)=>{switch(f){case yf.Chain.Cosmos:case yf.Chain.Kujira:case yf.Chain.Noble:return W0({chain:f,...y});case yf.Chain.Maya:case yf.Chain.THORChain:return F1({chain:f,...y});default:throw new yf.SwapKitError("toolbox_cosmos_not_supported",{chain:f})}};var t_=E(()=>{d0();k1();yf=require("@swapkit/helpers");d0();k1()});var r0={};wT(r0,{verifySignature:()=>h_,transferMsgAmino:()=>B1,toBase64:()=>LX,parseAminoMessageForDirectSigning:()=>eT,getSignerFromPrivateKey:()=>wX,getSignerFromPhrase:()=>H1,getMsgSendDenom:()=>rT,getFeeRateFromSwapKit:()=>DX,getDenomWithChain:()=>y0,getDefaultChainFee:()=>uT,getCosmosToolbox:()=>xX,getCosmosAddressValidator:()=>m_,getAssetFromDenom:()=>U1,fromBase64:()=>zX,fetchFeeRateFromSwapKit:()=>C1,estimateTransactionFee:()=>OX,depositMsgAmino:()=>w1,createTransaction:()=>D1,createThorchainToolbox:()=>F1,createStargateClient:()=>hT,createSigningStargateClient:()=>Nf,createOfflineStargateClient:()=>z1,createDefaultRegistry:()=>Uf,createDefaultAminoTypes:()=>aT,createCosmosToolbox:()=>W0,cosmosCreateTransaction:()=>N1,convertToSignable:()=>sT,buildTransferTx:()=>E_,buildEncodedTxBody:()=>G0,buildDepositTx:()=>n_,buildAminoMsg:()=>i0,bech32ToBase64:()=>T0,base64ToBech32:()=>f0,YUM_KUJIRA_FACTORY_DENOM:()=>F_,USK_KUJIRA_FACTORY_DENOM:()=>L1,THORCHAIN_GAS_VALUE:()=>MX,MAYA_GAS_VALUE:()=>BX,DEFAULT_NOBLE_FEE_MAINNET:()=>I_,DEFAULT_KUJI_FEE_MAINNET:()=>$_,DEFAULT_COSMOS_FEE_MAINNET:()=>k_});module.exports=HT(r0);var a0=E(()=>{O1();t_();_0()});async function i_(f){let y=d.AssetValue.from({address:f,chain:d.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:f,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let G=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(f)}`;try{let T=await fetch(G);if(!T.ok)return null;let _=await T.json();if(!Array.isArray(_)||_.length===0)return null;return _.find((W)=>W.id===f)||null}catch{return null}}async function SX(f){let y=await mT(),{PublicKey:G}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:T}=await import("@solana/spl-token"),_=new G(f),{baseDecimal:X}=d.getChainConfig(d.Chain.Solana),W=await y.getBalance(_),Z=[d.AssetValue.from({chain:d.Chain.Solana,fromBaseDecimal:X,value:W||0})],J=await y.getParsedTokenAccountsByOwner(_,{programId:T});for(let{account:Q}of J.value){let L=Q.data.parsed.info,O=L.mint,U=L.tokenAmount.amount;if(Number(U)===0)continue;let M=await i_(O),N=M?.symbol||"UNKNOWN",z=M?.decimals||L.tokenAmount.decimals;Z.push(d.AssetValue.from({asset:`${d.Chain.Solana}.${N}-${O}`,fromBaseDecimal:z,value:U}))}return Z}function I1(f){try{let y=new pT.PublicKey(f);return pT.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function EX(f){let y=f&&"index"in f?f.index||0:0,G=d.derivationPathToString(f&&"derivationPath"in f&&f.derivationPath?f.derivationPath:d.updateDerivationPath(d.NetworkDerivationPath[d.Chain.Solana],{index:y})),T;async function _(){if(T)return T;return T=await J0.match(f).with({phrase:J0.P.string},({phrase:W})=>$1({derivationPath:G,phrase:W})).with({signer:J0.P.any},({signer:W})=>W).otherwise(()=>{return}),T}async function X(){let W=await _();return W?.publicKey?g_(W.publicKey):""}return{broadcastTransaction:s0(mT),createKeysForPath:$1,createTransaction:A1(mT),createTransactionFromInstructions:oX,estimateTransactionFee:nX(mT),getAddress:X,getAddressFromPubKey:g_,getBalance:ST(d.Chain.Solana),getBalanceFromRPC:SX,getConnection:mT,getPubkeyFromAddress:(W)=>new pT.PublicKey(W),signAndBroadcastTransaction:async(W)=>{let Z=await c_(mT,_)(W);return s0(mT)(Z)},signTransaction:c_(mT,_),transfer:KX(mT,_),validateAddress:I1}}function nX(f){return async({recipient:y,assetValue:G,memo:T,isProgramDerivedAddress:_,sender:X})=>{let W=await f(),J=(await A1(f)({assetValue:G,isProgramDerivedAddress:_,memo:T,recipient:y,sender:X})).compileMessage(),Q=await W.getFeeForMessage(J);if(Q.value===null)throw new d.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:L}=d.getChainConfig(d.Chain.Solana);return d.AssetValue.from({chain:d.Chain.Solana,fromBaseDecimal:L,value:Q.value})}}async function mT(){let{Connection:f}=await import("@solana/web3.js"),y=await d.getRPCUrl(d.Chain.Solana);return new f(y,{commitment:"confirmed",fetchMiddleware:(G,T,_)=>{let X={};for(let[W,Z]of Object.entries(T?.headers??{})){let J=W.toLowerCase();if(J!=="pragma"&&J!=="solana-client")X[W]=Z}_(G,{...T,headers:X})}})}function VX(f){return async({assetValue:y,recipient:G,sender:T,isProgramDerivedAddress:_})=>{let X=await f(),W=new pT.PublicKey(T);if(y.isGasAsset){let{Transaction:Z,SystemProgram:J}=await import("@solana/web3.js");return new Z().add(J.transfer({fromPubkey:W,lamports:y.getBaseValue("number"),toPubkey:new pT.PublicKey(G)}))}if(y.address)return vX({amount:y.getBaseValue("number"),connection:X,decimals:y.decimal,from:W,isProgramDerivedAddress:_,recipient:G,tokenAddress:y.address});return}}async function vX({tokenAddress:f,recipient:y,from:G,connection:T,amount:_,decimals:X,isProgramDerivedAddress:W}){let{getAssociatedTokenAddress:Z,getAccount:J,createAssociatedTokenAccountInstruction:Q,createTransferCheckedInstruction:L}=await import("@solana/spl-token"),{Transaction:O}=await import("@solana/web3.js"),U=new O,M=new pT.PublicKey(f),N=await Z(M,G),z=new pT.PublicKey(y),B=await Z(M,z,W),k=!1;try{await J(T,B),k=!0}catch{}if(!k)U.add(Q(G,B,z,M));return U.add(L(N,M,B,G,_,X)),U}function A1(f){return async({recipient:y,assetValue:G,memo:T,isProgramDerivedAddress:_,sender:X})=>{let{createMemoInstruction:W}=await import("@solana/spl-memo"),Z=new pT.PublicKey(X);if(!(_||I1(y)))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let J=await f(),Q=await VX(f)({assetValue:G,isProgramDerivedAddress:_,recipient:y,sender:X});if(!Q)throw new d.SwapKitError("core_transaction_invalid_sender_address");if(T)Q.add(W(T));let L=await J.getLatestBlockhash();return Q.recentBlockhash=L.blockhash,Q.feePayer=Z,Q}}async function oX({instructions:f}){let{Transaction:y}=await import("@solana/web3.js"),G=new y().add(...f);if(!G)throw new d.SwapKitError("core_transaction_invalid_sender_address");return G}function KX(f,y){return async({recipient:G,assetValue:T,memo:_,isProgramDerivedAddress:X})=>{let W=await y();if(!W)throw new d.SwapKitError("core_transaction_invalid_sender_address");let Z=W.publicKey?.toString()??(await W.connect()).publicKey.toString(),J=await A1(f)({assetValue:T,isProgramDerivedAddress:X,memo:_,recipient:G,sender:Z});if("signTransaction"in W){let Q=await W.signTransaction(J);return s0(f)(Q)}return J.sign(W),s0(f)(J)}}function s0(f){return async(y)=>{return(await f()).sendRawTransaction(y.serialize())}}function c_(f,y){return async(G)=>{let T=await y();if(!T)throw new d.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:_}=await import("@solana/web3.js");if(!(G instanceof _)){let W=await(await f()).getLatestBlockhash();G.recentBlockhash=W.blockhash,G.feePayer=T.publicKey||void 0}if("connect"in T)return await T.signTransaction(G);return G.sign([T]),G}}async function $1({phrase:f,derivationPath:y=d.DerivationPath.SOL}){let{HDKey:G}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:T}=await import("@scure/bip39"),{Keypair:_}=await import("@solana/web3.js"),X=T(f),W=G.fromMasterSeed(X);return _.fromSeed(W.derive(y,!0).privateKey)}function g_(f){return f.toString()}var pT,d,J0;var d_=E(()=>{dT();pT=require("@solana/web3.js"),d=require("@swapkit/helpers"),J0=require("ts-pattern")});var P1={};wT(P1,{validateSolanaAddress:()=>I1,getSolanaToolbox:()=>EX,fetchTokenMetaData:()=>i_,createKeysForPath:()=>$1});module.exports=HT(P1);var x1=E(()=>{d_()});function e0(f){if(!f)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(f)}async function Ty({phrase:f,derivationPath:y=p.DerivationPath.STRK}){let{HDKey:G}=await import("@scure/bip32"),{mnemonicToSeedSync:T}=await import("@scure/bip39"),{ec:_,hash:X,encode:W,CallData:Z}=await import("starknet"),J=T(f),L=G.fromMasterSeed(J).derive(y);if(!L.privateKey)throw new p.SwapKitError("toolbox_starknet_no_signer");let O=W.addHexPrefix(Buffer.from(L.privateKey).toString("hex")),U=_.starkCurve.grindKey(O),M=W.addHexPrefix(U),N=_.starkCurve.getStarkKey(M),z=Z.compile([N,0]);return{address:X.calculateContractAddressFromHash(N,E1,z,0),privateKey:M,publicKey:N}}async function n1({phrase:f,derivationPath:y=p.DerivationPath.STRK}){let{Account:G,RpcProvider:T}=await import("starknet"),{privateKey:_,address:X}=await Ty({derivationPath:y,phrase:f}),W=await p.getRPCUrl(p.Chain.Starknet),Z=new T({nodeUrl:W});return new G({address:X,provider:Z,signer:_})}function a_(f){let y=p.Chain.Starknet,G=f&&"index"in f?f.index||0:0,T=p.derivationPathToString(f&&"derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[y],{index:G})),_,X,W;async function Z(){if(X)return X;let{RpcProvider:Y}=await import("starknet"),q=await p.getRPCUrl(y);return X=new Y({nodeUrl:q}),X}async function J(Y){let q=await Z(),D=Y||await U();if(!D)return!1;try{return await q.getClassHashAt(D),!0}catch(R){if(R instanceof Error&&R.message.includes("Contract not found"))return!1;let $=R;if($?.code===20||$?.code===19)return!1;throw R}}async function Q(){let{CallData:Y,hash:q}=await import("starknet"),D=await Z(),R=await O();if(!R)throw new p.SwapKitError("toolbox_starknet_no_signer");if(!W)throw new p.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await J())return R.address;let C=Y.compile([W,0]);if(q.calculateContractAddressFromHash(W,E1,C,0).toLowerCase()!==R.address.toLowerCase())throw new p.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let P={addressSalt:W,classHash:E1,constructorCalldata:C},{transaction_hash:n}=await R.deployAccount(P);return await D.waitForTransaction(n),n}async function L(){if(!await J()){if(!W)throw new p.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await Q()}}async function O(){if(_)return _;return _=await VT.match(f).with({phrase:VT.P.string},async({phrase:Y})=>{let{Account:q,RpcProvider:D}=await import("starknet"),{privateKey:R,address:$,publicKey:C}=await Ty({derivationPath:T,phrase:Y});W=C;let I=await p.getRPCUrl(p.Chain.Starknet),P=new D({nodeUrl:I});return new q({address:$,provider:P,signer:R})}).with({address:VT.P.string,privateKey:VT.P.string},async({privateKey:Y,address:q})=>{let{Account:D}=await import("starknet"),R=await Z();return new D({address:q,provider:R,signer:Y})}).with({signer:VT.P.instanceOf(Object)},({signer:Y})=>Y).otherwise(()=>{return}),_}async function U(){return(await O())?.address??""}async function M(Y){let q=await Z(),{uint256:D,CallData:R}=await import("starknet"),$=[],C=[S1,r_];for(let I of C)try{let[P="0",n="0"]=await q.callContract({calldata:R.compile({account:Y}),contractAddress:I,entrypoint:"balanceOf"}),b=D.uint256ToBN({high:P,low:n});VT.match(I).with(S1,()=>{$.push(p.AssetValue.from({chain:y,value:b}))}).with(r_,()=>{if(b>0n)$.push(p.AssetValue.from({asset:`${y}.ETH-${I}`,value:b}))}).otherwise(()=>{})}catch{}return $}async function N({recipient:Y,assetValue:q}){let{CallData:D,uint256:R}=await import("starknet");if(!e0(Y))throw new p.SwapKitError("core_transaction_invalid_recipient_address",{address:Y});let $=q.isGasAsset?S1:q.address;if(!$)throw new p.SwapKitError("toolbox_starknet_invalid_address",{address:$,assetValue:q});let C=R.bnToUint256(q.getBaseValue("bigint"));return[{calldata:D.compile([Y,C]),contractAddress:$,entrypoint:"transfer"}]}async function z({recipient:Y,assetValue:q,sender:D}){let{baseDecimal:R}=p.getChainConfig(p.Chain.Starknet),$=await O(),C=await VT.match({sender:D,signer:$}).with({sender:VT.P.string},async({sender:I})=>{let{Account:P}=await import("starknet"),n=await Z();return new P({address:I,provider:n,signer:"0x0"})}).with({signer:VT.P.nonNullable},({signer:I})=>I).otherwise((I)=>{throw new p.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:I}})});try{let I=await N({assetValue:q,recipient:Y}),P=await C.estimateInvokeFee(I);if(P?.overall_fee)return p.AssetValue.from({chain:y,fromBaseDecimal:R,value:P.overall_fee})}catch(I){throw new p.SwapKitError("toolbox_starknet_fee_estimation_failed",I)}return p.AssetValue.from({chain:y,value:"0.00001"})}async function B({recipient:Y,assetValue:q,memo:D}){let R=await O();if(!R)throw new p.SwapKitError("toolbox_starknet_no_signer");await L();let $=await N({assetValue:q,memo:D,recipient:Y});return(await R.execute($)).transaction_hash}async function k(Y){let q=await O();if(!q)throw new p.SwapKitError("toolbox_starknet_no_signer");let D=await q.signMessage(Y);return Array.isArray(D)?D:[D.r.toString(),D.s.toString()]}async function H(Y){let q=await O();if(!q)throw new p.SwapKitError("toolbox_starknet_no_signer");return await L(),(await q.execute(Y)).transaction_hash}function F(Y){return H(Y)}function w(Y,q=!0){try{return ST(y)(Y,q)}catch{return M(Y)}}return{broadcastTransaction:H,createKeysForPath:n1,createTransaction:N,deployAccount:Q,estimateTransactionFee:z,getAddress:U,getBalance:w,getProvider:Z,isAccountDeployed:J,signAndBroadcastTransaction:F,signMessage:k,transfer:B,validateAddress:e0}}var p,VT,S1="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",r_="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",E1="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var s_=E(()=>{dT();p=require("@swapkit/helpers"),VT=require("ts-pattern")});var fy={};wT(fy,{validateStarknetAddress:()=>e0,starknetCreateKeysForPath:()=>n1,getStarknetToolbox:()=>a_,deriveStarknetKeys:()=>Ty});module.exports=HT(fy);var yy=E(()=>{s_()});async function f2(f,y,G,T=[],_){let X=await f.getCoins({coinType:G,cursor:_,owner:y}),W=[...T,...X.data];return X.hasNextPage?f2(f,y,G,W,X.nextCursor):W}function jX(f,y,G){let T=y.reduce((J,Q)=>J+BigInt(Q.balance),0n);if(T<G)throw new fT.SwapKitError("toolbox_sui_insufficient_balance",{available:T.toString(),required:G.toString()});let{ids:_}=y.reduce((J,Q)=>{if(J.total>=G)return J;return{ids:[...J.ids,Q.coinObjectId],total:J.total+BigInt(Q.balance)}},{ids:[],total:0n}),X=_[0],W=_.slice(1);if(W.length>0)f.mergeCoins(X,W);let[Z]=f.splitCoins(X,[G]);return Z}function y2(f){try{return T2.isValidSuiAddress(f)}catch{return!1}}function e_(f){return"signWithIntent"in f}function bX({provider:f,...y}={}){let G;async function T(){if(G)return G;return G=await Q0.match(y).with({phrase:Q0.P.string},async({phrase:N})=>{let{Ed25519Keypair:z}=await import("@mysten/sui/keypairs/ed25519");return z.deriveKeypair(N)}).with({signer:Q0.P.any},({signer:N})=>N).otherwise(()=>{return}),G}async function _(N=f){let{SuiClient:z,getFullnodeUrl:B}=await import("@mysten/sui/client");return new z({url:N||B("mainnet")})}async function X(){return(await T())?.toSuiAddress()||""}function W(N){try{let z=fT.AssetValue.from({address:N,chain:fT.Chain.Sui});return{asset:z.toString(),decimals:z.decimal}}catch{}return null}async function Z(N){let z=N||await X();if(!z)throw new fT.SwapKitError("toolbox_sui_address_required");let{baseDecimal:B,chain:k}=fT.getChainConfig(fT.Chain.Sui);try{let H=await _(),{totalBalance:F}=await H.getBalance({owner:z}),w=[fT.AssetValue.from({chain:k,fromBaseDecimal:B,value:F})],Y=await H.getAllBalances({owner:z});for(let{coinType:q,totalBalance:D}of Y){if(q==="0x2::sui::SUI"||Number(D)<=0)continue;let R=W(q);if(R)w.push(fT.AssetValue.from({asset:R.asset,fromBaseDecimal:R.decimals,value:D}))}return w}catch{return[fT.AssetValue.from({chain:k})]}}async function J(N){let z=fT.AssetValue.from({chain:fT.Chain.Sui,value:"0.01"});if(!N)return z;try{let B=await _(),{txBytes:k}=await Q(N),{effects:{status:H,gasUsed:F}}=await B.dryRunTransactionBlock({transactionBlock:k});if(H.status!=="success")return z;let w=Number(F.computationCost)+Number(F.storageCost)-Number(F.storageRebate);return fT.AssetValue.from({chain:fT.Chain.Sui,value:w.toString()})}catch{return z}}async function Q({recipient:N,assetValue:z,gasBudget:B,sender:k}){let{Transaction:H}=await import("@mysten/sui/transactions"),F=k||await X();if(!F)throw new fT.SwapKitError("toolbox_sui_no_sender");try{let w=new H;if(w.setSender(F),z.isGasAsset||z.symbol==="SUI"){let[D]=w.splitCoins(w.gas,[z.getBaseValue("string")]);w.transferObjects([D],N)}else{let D=z.address;if(!D)throw new fT.SwapKitError("toolbox_sui_missing_coin_type");let R=await _(),$=z.getBaseValue("bigint"),C=await f2(R,F,D);if(!C.length)throw new fT.SwapKitError("toolbox_sui_no_coins_found",{coinType:D});let I=jX(w,C,$);w.transferObjects([I],N)}if(B)w.setGasBudget(B);let Y=await _(),q=await w.build({client:Y});return{tx:w,txBytes:q}}catch(w){if(w instanceof fT.SwapKitError)throw w;throw new fT.SwapKitError("toolbox_sui_transaction_creation_error",{error:w})}}async function L(N){let z=await T();if(!z)throw new fT.SwapKitError("toolbox_sui_no_signer");if(N instanceof Uint8Array)return z.signTransaction(N);let{txBytes:B}="tx"in N?N:await Q(N);return z.signTransaction(B)}async function O({assetValue:N,gasBudget:z,recipient:B}){let k=await T();if(!k)throw new fT.SwapKitError("toolbox_sui_no_signer");let H=k.toSuiAddress()||await X();if(!H)throw new fT.SwapKitError("toolbox_sui_no_sender");let{txBytes:F}=await Q({assetValue:N,gasBudget:z,recipient:B,sender:H}),w=await _();if(!e_(k)){let q=await k.signTransaction(F),{digest:D}=await w.executeTransactionBlock({signature:q.signature,transactionBlock:q.bytes});return D}let{digest:Y}=await w.signAndExecuteTransaction({signer:k,transaction:F});return Y}async function U(N){let z=await _(),{digest:B}=await z.executeTransactionBlock({signature:N.signature,transactionBlock:N.bytes});return B}async function M(N){let z=await T();if(!z)throw new fT.SwapKitError("toolbox_sui_no_signer");let B=await _(),k;if(typeof N==="string")k=Uint8Array.from(Buffer.from(N,"base64"));else if(N instanceof Uint8Array)k=N;else k=await N.build({client:B});if(!e_(z)){let F=await z.signTransaction(k),{digest:w}=await B.executeTransactionBlock({signature:F.signature,transactionBlock:F.bytes});return w}let{digest:H}=await B.signAndExecuteTransaction({signer:z,transaction:k});return H}return{broadcastTransaction:U,createTransaction:Q,estimateTransactionFee:J,getAddress:X,getBalance:Z,signAndBroadcastTransaction:M,signTransaction:L,transfer:O,validateAddress:y2}}var T2,fT,Q0;var _2=E(()=>{T2=require("@mysten/sui/utils"),fT=require("@swapkit/helpers"),Q0=require("ts-pattern")});var _y={};wT(_y,{validateSuiAddress:()=>y2,getSuiToolbox:()=>bX});module.exports=HT(_y);var Gy=E(()=>{_2()});async function pX(){let f=Date.now();if(Xy&&f-X2<mX)return Xy;try{return Xy=await W2.getHttpEndpoint(),X2=f,Xy}catch{return qT.getRPCUrl(qT.Chain.Ton)}}function tX(f={}){let y,G,T;async function _(){if(!y){let w=f.provider??await pX();y=new c.TonClient({endpoint:w})}return y}async function X(){return(await Z()).address.toString()}async function W(){if(T)return T;return T=await Mf.match(f).with({phrase:Mf.P.string},async({phrase:w})=>Z2.mnemonicToWalletKey(w.split(" "))).with({signer:Mf.P.any},({signer:w})=>w).otherwise(()=>{return}),T}async function Z(w){if(!G||w){let Y=await W(),q=await _(),D=w||Y;if(!D)throw new qT.SwapKitError("core_wallet_connection_not_found");let R=c.WalletContractV4.create({publicKey:D.publicKey,workchain:0});G=q.open(R)}return G}let J=ST(qT.Chain.Ton);async function Q({assetValue:w,recipient:Y,memo:q,sender:D}){if(w.isGasAsset){let g=q?F(q).toBoc().toString("base64"):void 0;return[{address:Y,amount:w.getBaseValue("string"),payload:g}]}let R=w.address;if(!R)throw new qT.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:w.toString()}});let $=D??await X(),C=await k({jettonMasterAddress:R,ownerAddress:$}),I=c.Address.parse(Y),P=c.Address.parse($),n=w.getBaseValue("bigint"),b=q?F(q):void 0,h=H({destinationAddress:I,forwardPayload:b,jettonAmount:n,responseAddress:P});return[{address:C.toString(),amount:hX.toString(),payload:h.toBoc().toString("base64")}]}function L({sender:w,...Y}){return Q({...Y,sender:w})}function O(w){return w.map((Y)=>{let q=Y.payload?c.Cell.fromBase64(Y.payload):void 0,D=Y.stateInit?c.loadStateInit(c.Cell.fromBase64(Y.stateInit).asSlice()):void 0,R=c.Address.parse(Y.address),$=c.Address.isFriendly(Y.address)?c.Address.parseFriendly(Y.address).isBounceable:!0;return c.internal({body:q,bounce:$,init:D,to:R,value:BigInt(Y.amount)})})}async function U(w){let Y=await W(),q=await Z();if(!q||!Y)throw new qT.SwapKitError("core_wallet_connection_not_found");let D=await _(),{state:R}=await D.getContractState(q.address),$=R==="active",C=$?await q.getSeqno():0,I=q.createTransfer({messages:O(w),secretKey:Y.secretKey,sendMode:G2,seqno:C}),P=c.external({body:I,init:$?void 0:q.init,to:q.address});return c.beginCell().store(c.storeMessage(P)).endCell()}async function M(w){return await(await _()).sendFile(w.toBoc()),w.hash().toString("hex")}async function N(w){let Y=await U(w);return M(Y)}async function z({assetValue:w,recipient:Y,memo:q}){let D=await L({assetValue:w,memo:q,recipient:Y});return N(D)}async function B({sender:w,...Y}){let{baseDecimal:q}=qT.getChainConfig(qT.Chain.Ton),D=await Mf.match(w).with(Mf.P.string,(C)=>{return c.Address.parseFriendly(C).address}).otherwise(async()=>{return(await Z()).address});if(!D)throw new qT.SwapKitError("toolbox_fee_estimation_failed",{chain:qT.Chain.Ton});let R=qT.AssetValue.from({chain:qT.Chain.Ton,value:"0.01"}),$=await _();try{let C=await L({sender:w,...Y}),I=await W(),P=await Z();if(!P||!I)return R;let n=await P.getSeqno(),b=P.createTransfer({messages:O(C),secretKey:I.secretKey,sendMode:G2,seqno:n}),{source_fees:h}=await $.estimateExternalMessageFee(D,{body:b,ignoreSignature:!0,initCode:null,initData:null}),g=h.in_fwd_fee+h.storage_fee+h.gas_fee+h.fwd_fee;return R.set(qT.SwapKitNumber.fromBigInt(BigInt(g),q))}catch{return R}}async function k({jettonMasterAddress:w,ownerAddress:Y}){try{let q=await _(),D=c.Address.parse(w),R=c.Address.parse(Y);return await q.open(c.JettonMaster.create(D)).getWalletAddress(R)}catch{throw new qT.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:w,ownerAddress:Y}})}}function H({jettonAmount:w,destinationAddress:Y,responseAddress:q,forwardAmount:D=uX,forwardPayload:R}){let $=c.beginCell().storeUint(lX,32).storeUint(0,64).storeCoins(w).storeAddress(Y).storeAddress(q).storeBit(0).storeCoins(D);if(R)$.storeBit(1).storeRef(R);else $.storeBit(0);return $.endCell()}function F(w){return c.beginCell().storeUint(0,32).storeStringTail(w).endCell()}return{broadcastTransaction:M,createTransaction:L,estimateTransactionFee:B,getAddress:X,getBalance:J,getJettonWalletAddress:k,sign:U,signAndBroadcastTransaction:N,transfer:z,validateAddress:J2}}function J2(f){try{return c.Address.parse(f),!0}catch{return!1}}var W2,qT,Z2,c,Mf,lX=260734629,uX,hX,G2,mX=60000,Xy,X2=0;var Q2=E(()=>{dT();W2=require("@orbs-network/ton-access"),qT=require("@swapkit/helpers"),Z2=require("@ton/crypto"),c=require("@ton/ton"),Mf=require("ts-pattern"),uX=c.toNano("0.01"),hX=c.toNano("0.05"),G2=c.SendMode.PAY_GAS_SEPARATELY+c.SendMode.IGNORE_ERRORS});var Wy={};wT(Wy,{validateTonAddress:()=>J2,getTONToolbox:()=>tX});module.exports=HT(Wy);var Zy=E(()=>{Q2()});function Y2({deriveAddress:f,getBalance:y,getUtxos:G}){async function T(Z){let{count:J,startIndex:Q=0,change:L=!1}=Z,O=[];for(let U=0;U<J;U++){let M=await f({change:L,index:Q+U});if(M)O.push(M)}return O}async function _(Z){let{gapLimit:J=20,change:Q=!1}=Z??{},L=[],O=0,U=0;while(O<J){let M=await f({change:Q,index:U});if(!M)break;if((await y(M.address)).some((B)=>B.getValue("number")>0))L.push(M),O=0;else O++;U++}return L}async function X(Z=20){let[J,Q]=await Promise.all([_({change:!1,gapLimit:Z}),_({change:!0,gapLimit:Z})]),L=[...J,...Q],O=await Promise.all(L.map(async(M)=>{let z=(await y(M.address)).reduce((B,k)=>B+k.getValue("number"),0);return{...M,balance:z}})),U=O.reduce((M,N)=>M+N.balance,0);return{addresses:O,total:U}}async function W(Z=20){let[J,Q]=await Promise.all([_({change:!1,gapLimit:Z}),_({change:!0,gapLimit:Z})]),L=[...J,...Q];return(await Promise.all(L.map(async(U)=>{return(await G(U.address)).map((N)=>({...N,address:U.address,derivationIndex:U.index,isChange:U.change}))}))).flat()}return{deriveAddresses:T,getAggregatedBalance:X,getAggregatedUtxos:W,scanForAddresses:_}}async function cX({chain:f,txHash:y}){let G=`${Y0(f)}/push/transaction`,T=JSON.stringify({data:y});try{let _=await m.RequestClient.post(G,{body:T,headers:{"Content-Type":"application/json"}});if(_.context.code!==200)throw new m.SwapKitError("toolbox_utxo_broadcast_failed",{error:_.context.error||"Transaction broadcast failed"});return _.data?.transaction_hash||y}catch(_){let X=await m.getRPCUrl(f);if(X){let W=JSON.stringify({id:l5(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),Z=await m.RequestClient.post(X,{body:W,headers:{"Content-Type":"application/json"}});if(Z.error)throw new m.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.error?.message});if(Z.result.includes('"code":-26'))throw new m.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Z.result}throw _}}function Y0(f){return`https://api.blockchair.com/${gX(f)}`}function q2(f){switch(f){case m.Chain.Bitcoin:return 5;case m.Chain.Dogecoin:return 1e4;case m.Chain.Litecoin:return 1;case m.Chain.Zcash:return 1;default:return 2}}function gX(f){switch(f){case m.Chain.BitcoinCash:return"bitcoin-cash";case m.Chain.Litecoin:return"litecoin";case m.Chain.Dash:return"dash";case m.Chain.Dogecoin:return"dogecoin";case m.Chain.Zcash:return"zcash";case m.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function iX(f){try{let{feePerKb:y}=await m.RequestClient.get(`https://app.bitgo.com/api/v2/${f.toLowerCase()}/tx/fee`),G=y/1000;return Math.max(G,q2(f))}catch{return q2(f)}}async function Jy(f,y){let G=await m.RequestClient.get(`${f}${y?`${f.includes("?")?"&":"?"}key=${y}`:""}`);if(!G||G.context.code!==200)throw new m.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${f}`});return G.data}async function z2({address:f,chain:y,apiKey:G}){if(!f)throw new m.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Jy(`${Y0(y)}/dashboards/address/${f}?transaction_details=true`,G))[f]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function dX({address:f,chain:y,apiKey:G}){return(await z2({address:f,apiKey:G,chain:y}))?.address.balance||0}async function N2({chain:f,apiKey:y,txHash:G}){if(!G)throw new m.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Jy(`${Y0(f)}/raw/transaction/${G}`,y))?.[G]?.raw_transaction||""}catch(T){let _=T instanceof Error?T.message:String(T);return console.error(`Failed to fetch raw transaction: ${_}`),""}}async function aX({chain:f,apiKey:y,txHash:G}){if(!G)throw new m.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let _=(await Jy(`${Y0(f)}/dashboards/transaction/${G}`,y))?.[G];if(!_)throw new m.SwapKitError("toolbox_utxo_tx_not_found",{txHash:G});let{transaction:X,inputs:W,outputs:Z}=_,J=W.map((L)=>L.spending_sequence),Q=X.is_rbf===!0||J.some((L)=>L<rX);return{blockId:X.block_id,confirmed:X.block_id!==-1,fee:X.fee,inputs:W,isRBF:Q,outputs:Z,sequences:J,size:X.size,txid:X.hash,weight:X.weight}}async function sX({chain:f,address:y,apiKey:G,offset:T=0,limit:_=30}){return(await Jy(`${Y0(f)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${_}&offset=${T}`,G)).map(({is_spent:J,script_hex:Q,block_id:L,transaction_hash:O,index:U,value:M,spending_signature_hex:N})=>({hash:O,index:U,is_confirmed:L!==-1,is_spent:J,script_hex:Q,txHex:N,value:M}))}function eX(f){return f.reduce((y,G)=>y+G.value,0)}function L2(f,y){let G=[...f].sort((T,_)=>_.value-T.value);if(y){let T=[],_=0;for(let X of G)if(T.push(X),_+=X.value,_>=y)break;return T}return G}async function U2({chain:f,address:y,apiKey:G,targetValue:T,accumulativeValue:_=0,offset:X=0,limit:W=30}){if(!y)throw new m.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Z=await sX({address:y,apiKey:G,chain:f,limit:W,offset:X,targetValue:T}),Q=Z.length<W,L=Z.filter(({is_spent:B})=>!B),O=eX(L),U=_+O,M=T&&U>=T;if(Q||M)return L2(L,T);let N=await U2({accumulativeValue:U,address:y,apiKey:G,chain:f,limit:W,offset:X+W,targetValue:T}),z=[...L,...N];return L2(z,T)}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return console.error(`Failed to fetch unspent UTXOs: ${J}`),[]}}async function T6({address:f,chain:y,apiKey:G,fetchTxHex:T=!0,targetValue:_}){let X=await U2({address:f,apiKey:G,chain:y,targetValue:_}),W=[];for(let{hash:Z,index:J,script_hex:Q,value:L}of X){let O;if(T)O=await N2({apiKey:G,chain:y,txHash:Z});W.push({address:f,hash:Z,index:J,txHex:O,value:L,witnessUtxo:{script:Buffer.from(Q,"hex"),value:L}})}return W}function BT(f){let y=m.SKConfig.get("apiKeys").blockchair||"";return m.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(G)=>cX({chain:f,txHash:G}),getAddressData:(G)=>z2({address:G,apiKey:y,chain:f}),getBalance:(G)=>dX({address:G,apiKey:y,chain:f}),getRawTx:(G)=>N2({apiKey:y,chain:f,txHash:G}),getSuggestedTxFee:()=>iX(f),getTransactionDetails:(G)=>aX({apiKey:y,chain:f,txHash:G}),getUtxos:(G)=>T6({...G,apiKey:y,chain:f})}}function f6(f){return f}function y6(){return function(y){switch(y){case m.Chain.Bitcoin:return Bf.NETWORKS.bitcoin;case m.Chain.BitcoinCash:return Bf.NETWORKS.bitcoinCash;case m.Chain.Dash:return Bf.NETWORKS.dash;case m.Chain.Litecoin:return Bf.NETWORKS.litecoin;case m.Chain.Dogecoin:return Bf.NETWORKS.dogecoin;case m.Chain.Zcash:return Bf.NETWORKS.zcash;default:throw new m.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var m,Bf,rX=4294967294;var M2=E(()=>{dT();m=require("@swapkit/helpers"),Bf=require("@swapkit/utxo-signer")});function X6(f,y,G){return tT.encodeCashAddr({hash:G,prefix:f,type:_6[y]})}function W6(f){let y=tT.decodeCashAddr(f),G=G6[y.type];if(!G)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:G}}var tT,_6,G6,V1;var B2=E(()=>{tT=require("@swapkit/utxo-signer"),_6={P2PKH:tT.CashAddrType.P2PKH,P2SH:tT.CashAddrType.P2SH},G6={[tT.CashAddrType.P2PKH]:"P2PKH",[tT.CashAddrType.P2SH]:"P2SH"};V1={decode:W6,encode:X6}});function K1(f){try{return Qy(f),!0}catch{return!1}}function j1(f){return Qy(f)?.network}function cT(f){let y=Qy(f);if(y?.format==="legacy")return f;return Q6(y)}function q0(f){let y=Qy(f);return Y6(y)}function Qy(f){try{let y=Z6(f);if(y)return y}catch{}try{let y=J6(f);if(y)return y}catch{}throw new v1.SwapKitError("toolbox_utxo_invalid_address",{address:f})}function Z6(f){try{let y=H2.decode(f);if(y.length!==21)throw new v1.SwapKitError("toolbox_utxo_invalid_address",{address:f});let G=y[0],T=Array.prototype.slice.call(y,1);switch(G){case wf.legacy.mainnet.p2pkh:return{format:"legacy",hash:T,network:"mainnet",type:"p2pkh"};case wf.legacy.mainnet.p2sh:return{format:"legacy",hash:T,network:"mainnet",type:"p2sh"};case wf.legacy.testnet.p2pkh:return{format:"legacy",hash:T,network:"testnet",type:"p2pkh"};case wf.legacy.testnet.p2sh:return{format:"legacy",hash:T,network:"testnet",type:"p2sh"};case wf.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2pkh"};case wf.bitpay.mainnet.p2sh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function J6(f){if(f.indexOf(":")!==-1)try{return w2(f)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let G of y)try{return w2(`${G}:${f}`)}catch{}}return}function w2(f){try{let{hash:y,prefix:G,type:T}=V1.decode(f);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:G==="bitcoincash"?"mainnet":"testnet",type:T==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function Q6(f){let y=wf.legacy[f.network][f.type],G=Buffer.alloc(1+f.hash.length);return G[0]=y,G.set(f.hash,1),H2.encode(G)}function Y6(f){let y=f.network==="mainnet"?"bitcoincash":"bchtest",G=f.type==="p2pkh"?"P2PKH":"P2SH",T=new Uint8Array(f.hash);return V1.encode(y,G,T)}var D2,O2,v1,H2,o1,wf;var R2=E(()=>{B2();D2=require("@noble/hashes/sha2.js"),O2=require("@scure/base"),v1=require("@swapkit/helpers"),H2=O2.createBase58check(D2.sha256);((G)=>{G.Mainnet="mainnet";G.Testnet="testnet"})(o1||={});wf={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function PT(f){let y=new Uint8Array(Buffer.from(f,"utf8"));return F2.Script.encode(["RETURN",y])}var C2,F2,q6=1000,qy=10,Ly=2,k2=10,L6=41,z6=107,zy,Yy,L0,Pf=(f)=>{if(f.startsWith("bc1")||f.startsWith("tb1")||f.startsWith("ltc1")||f.startsWith("tltc1"))return"P2WPKH";if(f.startsWith("1")||f.startsWith("m")||f.startsWith("n")||f.startsWith("bitcoincash:q")||f.startsWith("bitcoincash:p")||f.startsWith("q")||f.startsWith("p")||f.startsWith("L")||f.startsWith("M")||f.startsWith("3")||f.startsWith("D")||f.startsWith("A")||f.startsWith("9")||f.startsWith("X")||f.startsWith("7")||f.startsWith("y")||f.startsWith("t1")||f.startsWith("t3")||f.startsWith("tm"))return"P2PKH";throw new C2.SwapKitError("toolbox_utxo_invalid_address",{address:f})},Df=({inputs:f,outputs:y,feeRate:G})=>{let T=f[0]&&"address"in f[0]&&f[0].address?Pf(f[0].address):"P2PKH",X=(G?f.filter((Q)=>Q.value>=Yy["type"in Q&&Q.type?Q.type:"P2PKH"]*Math.ceil(G)):f).reduce((Q,L)=>Q+_f(L),0),W=y?.reduce((Q,L)=>Q+z0(L),0)||L0[T],Z=qy+X+W;return T==="P2WPKH"?Math.ceil(Z+Ly/4):Z},_f=(f)=>{if("type"in f&&f.type)return Yy[f.type];if("address"in f&&f.address)return Yy[Pf(f.address)];return L6+z6},z0=(f,y)=>{if(f?.script)return k2+f.script.length+(f.script.length>=74?2:1);if(y)return L0[y];if("address"in f&&f.address)return L0[Pf(f.address)];return L0.P2PKH};var b1=E(()=>{C2=require("@swapkit/helpers"),F2=require("@swapkit/utxo-signer");((G)=>{G.P2PKH="P2PKH";G.P2WPKH="P2WPKH"})(zy||={});Yy={["P2PKH"]:148,["P2WPKH"]:68},L0={["P2PKH"]:34,["P2WPKH"]:31}});function N0(f){switch(f){case bT.Chain.Bitcoin:case bT.Chain.BitcoinCash:return 550;case bT.Chain.Dash:case bT.Chain.Litecoin:return 5500;case bT.Chain.Dogecoin:return 1e5;case bT.Chain.Zcash:return 546;default:throw new bT.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}function vT({inputs:f,outputs:y,feeRate:G=1,chain:T=bT.Chain.Bitcoin,changeAddress:_=""}){let X=f[0]&&"address"in f[0]&&f[0].address?Pf(f[0].address):"P2PKH",W=f.filter((N)=>_f(N)*G<=N.value),J=X==="P2WPKH"?Math.ceil(Ly/4):0,Q=qy+J+y.reduce((N,z)=>N+z0(z),0),L=y.reduce((N,z)=>N+z.value,0),O=Q*G,U=0,M=[];for(let N of W){let z=_f(N),B=G*z;O+=B,U+=N.value,M.push(N);let k=O+L;if(U<k)continue;let H=U-k,F=G*z0({address:_,value:0});if(H>F){let w=F+O,Y=U-(L+Math.ceil(w));if(Y>Math.max(_f({value:0})*G,N0(T)))return{fee:Math.ceil(w),inputs:M,outputs:y.concat({address:_,value:Y})}}return{fee:Math.ceil(O),inputs:M,outputs:y}}return{fee:Math.ceil(G*Df({inputs:f,outputs:y}))}}var bT;var $2=E(()=>{b1();bT=require("@swapkit/helpers")});var xf=E(()=>{M2();R2();$2();b1()});function Of(f){return f.replace(/(bchtest:|bitcoincash:)/,"")}function Gf(f){let y=Of(f);return K1(y)&&j1(y)==="mainnet"}function Sf(f){try{if(f.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let G=Ny.Address(Ny.ZCASH_NETWORK).decode(f);return G.type==="pkh"||G.type==="sh"}catch{return!1}}var Ny;var U0=E(()=>{xf();Ny=require("@swapkit/utxo-signer")});function h1({address:f,chain:y}){return u1.match(y).with(x.Chain.BitcoinCash,()=>Gf(f)).with(x.Chain.Zcash,()=>Sf(f)).otherwise(()=>{try{return i.Address(xT(y)).decode(f),!0}catch{return!1}})}function xT(f){return u1.match(f).with(x.Chain.Bitcoin,()=>i.NETWORKS.bitcoin).with(x.Chain.BitcoinCash,()=>i.NETWORKS.bitcoinCash).with(x.Chain.Dash,()=>i.NETWORKS.dash).with(x.Chain.Dogecoin,()=>i.NETWORKS.dogecoin).with(x.Chain.Litecoin,()=>i.NETWORKS.litecoin).with(x.Chain.Zcash,()=>i.NETWORKS.zcash).exhaustive()}function N6({phrase:f,derivationPath:y,network:G,seed:T}){let _=T??My.mnemonicToSeedSync(f),W=l1.HDKey.fromMasterSeed(_,G.bip32).derive(y);if(!W.privateKey)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return W.privateKey}function I2(f){return A2.secp256k1.getPublicKey(f,!0)}function m1({publicKey:f,chain:y,network:G}){if(y===x.Chain.BitcoinCash){let X=i.p2pkh(f,G);if(!X.hash)throw new x.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return i.encodeCashAddr({hash:X.hash,prefix:i.CashAddrPrefix.MAINNET,type:i.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let _=!M0.includes(y)?i.p2wpkh(f,G):i.p2pkh(f,G);if(!_.address)throw new x.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return _.address}function Ef({phrase:f,derivationPath:y,chain:G,wif:T,seed:_}){let X=xT(G);if(T){let Q=i.WIF(X).decode(T),L=I2(Q);return{privateKey:Q,publicKey:L}}if(!f)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let W=y||x.derivationPathToString(x.NetworkDerivationPath[G]),Z=N6({derivationPath:W,network:X,phrase:f,seed:_}),J=I2(Z);return{privateKey:Z,publicKey:J}}function U6(f,y){return i.WIF(xT(y)).encode(f)}function M6({phrase:f,derivationPath:y,chain:G,seed:T}){let _=y.split("/");if(_.length<4)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${_.length}): ${y}`});let X=xT(G),W=T??My.mnemonicToSeedSync(f),Z=l1.HDKey.fromMasterSeed(W,X.bip32),J=_.slice(0,4).join("/");return Z.derive(J)}function Wf({inputs:f,outputs:y,chain:G,tx:T,sender:_,compiledMemo:X,enableRBF:W=!1}){let Z=xT(G),J=!M0.includes(G),Q=W?i.RBF_SEQUENCE:void 0,L=new Set;for(let O of f){let U=`${O.hash}:${O.index}`;if(L.has(U))throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});L.add(U);let M=typeof O.hash==="string"?Xf.hex.decode(O.hash):O.hash;if(J&&O.witnessUtxo)T.addInput({index:O.index,sequence:Q,txid:M,witnessUtxo:{amount:BigInt(O.witnessUtxo.value),script:O.witnessUtxo.script}});else if(O.txHex)T.addInput({index:O.index,nonWitnessUtxo:Xf.hex.decode(O.txHex),sequence:Q,txid:M,...G===x.Chain.BitcoinCash?{sighashType:i.BCHSigHash.ALL}:{}});else throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let O of y){let U="address"in O&&O.address?O.address:_;if(G===x.Chain.BitcoinCash)U=cT(U);if(O.script){if(X)T.addOutput({amount:0n,script:X})}else T.addOutputAddress(U,BigInt(O.value),Z)}return{inputs:f,tx:T}}async function nf(f){let y=await BT(f).getSuggestedTxFee();return{[x.FeeOption.Average]:y,[x.FeeOption.Fast]:x.applyFeeMultiplier(y,x.FeeOption.Fast),[x.FeeOption.Fastest]:x.applyFeeMultiplier(y,x.FeeOption.Fastest)}}async function P2({assetValue:f,recipient:y,memo:G,sender:T,fetchTxHex:_=!1}){let X=f.chain,W=(await nf(X))[x.FeeOption.Fastest],Z=_||M0.includes(X),J=f.getBaseValue("number"),Q=Math.ceil(J+W*5000);return{inputs:await BT(X).getUtxos({address:T,fetchTxHex:Z,targetValue:Q}),outputs:[{address:y,value:J},...G?[{address:"",script:PT(G),value:0}]:[]]}}async function x2({assetValue:f,recipient:y,memo:G,feeRate:T,sender:_,fetchTxHex:X=!1,enableRBF:W=!1}){let Z=f.chain,J=G?PT(G):null,Q=await P2({assetValue:f,fetchTxHex:X,memo:G,recipient:y,sender:_}),{inputs:L,outputs:O}=vT({...Q,chain:Z,feeRate:T});if(!(L&&O))throw new x.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:_});let U=new i.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!J,version:1}),{inputs:M,tx:N}=Wf({chain:Z,compiledMemo:J,enableRBF:W,inputs:L,outputs:O,sender:_,tx:U});return{inputs:M,tx:N,utxos:Q.inputs}}async function S2({assetValue:f,feeOptionKey:y=x.FeeOption.Fast,feeRate:G,memo:T,sender:_,recipient:X}){let W=f.chain,Z=await P2({assetValue:f,memo:T,recipient:X,sender:_}),J=G?Math.floor(G):(await nf(W))[y];return vT({...Z,chain:W,feeRate:J})}function B6(f){return async function({from:G,memo:T,feeRate:_,feeOptionKey:X=x.FeeOption.Fast,recipients:W=1}){let Z=await BT(f).getAddressData(G),J=_?Math.ceil(_):(await nf(f))[X],Q=Z?.utxo.map((z)=>({...z,hash:"",type:"P2PKH"})).filter((z)=>z.value>Math.max(N0(f),_f(z)*J));if(!Q?.length)return x.AssetValue.from({chain:f});let L=BigInt(Q.reduce((z,B)=>z+B.value,0)),O=x.AssetValue.from({chain:f,value:L}),U=typeof W==="number"?Array.from({length:W},()=>({address:G,value:0})):W;if(T)U.push({address:G,script:PT(T),value:0});let M=Df({inputs:Q,outputs:U}),N=x.AssetValue.from({chain:f,value:BigInt(M*J)});return O.sub(N)}}function w6(f){return async function(G){let{fee:T}=await S2(G);return x.AssetValue.from({chain:f,value:x.SwapKitNumber.fromBigInt(BigInt(T),8).getValue("string")})}}function D6({chain:f,phrase:y,derivationPath:G,seed:T}){let _=xT(f),{privateKey:X,publicKey:W}=Ef({chain:f,derivationPath:G,phrase:y,seed:T}),Z=f===x.Chain.BitcoinCash?[i.BCHSigHash.ALL]:[i.SigHash.ALL];return{getAddress:()=>m1({chain:f,network:_,publicKey:W}),privateKey:X,publicKey:W,signTransaction:(J)=>{return J.sign(X,Z),J}}}function O6(f,y){return async function({memo:T,recipient:_,feeOptionKey:X,feeRate:W,assetValue:Z,enableRBF:J=!1}){let Q=y?.getAddress();if(!(y&&Q))throw new x.SwapKitError("toolbox_utxo_no_signer");if(!_)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});x.warnOnce({condition:J&&!Uy.includes(f),id:`rbf_not_supported_${f}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${f}. Transaction will be created without RBF signaling.`});let L=J&&Uy.includes(f),O=W||(await nf(f))[X||x.FeeOption.Fast],{tx:U}=await x2({assetValue:Z,enableRBF:L,feeRate:O,memo:T,recipient:_,sender:Q});return y.signTransaction(U),U.finalize(),BT(f).broadcastTx(Xf.hex.encode(U.extract()))}}function p1(f){return(y)=>h1({address:y,chain:f})}function t1(f){let y=xT(f);return function(T){if(!T)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return m1({chain:f,network:y,publicKey:T.publicKey})}}function Zf({chain:f,...y}){let G="phrase"in y?y.phrase:void 0,T="index"in y?y.index||0:0,_=G?My.mnemonicToSeedSync(G):void 0,X=x.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:x.updateDerivationPath(x.NetworkDerivationPath[f],{index:T})),W=G?D6({chain:f,derivationPath:X,phrase:G,seed:_}):void 0,Z="signer"in y?y.signer:void 0,J=G?Ef({chain:f,derivationPath:X,phrase:G,seed:_}):void 0;function Q(){if(W)return Promise.resolve(W.getAddress());if(Z)return Z.getAddress();return Promise.resolve(void 0)}let L=G?M6({chain:f,derivationPath:X,phrase:G,seed:_}):void 0;function O(){if(!L)return;return L.publicExtendedKey}function U({index:w,change:Y=!1}){if(!L)return;if(!Number.isInteger(w)||w<0)throw RangeError(`index must be a non-negative integer, got: ${w}`);let q=xT(f),D=L.deriveChild(Number(Y)).deriveChild(w);if(!D.publicKey)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let R=m1({chain:f,network:q,publicKey:D.publicKey}),$=Xf.hex.encode(D.publicKey);return{address:R,change:Y,index:w,pubkey:$}}async function M(w){if(!Uy.includes(f))return{reason:`RBF is not supported on ${f}`,supported:!1};let Y=await BT(f).getTransactionDetails(w);return{canReplace:Y.isRBF&&!Y.confirmed,confirmed:Y.confirmed,enabled:Y.isRBF,fee:Y.fee,sequences:Y.sequences,supported:!0}}async function N({txid:w,newFeeRate:Y,recipient:q,memo:D}){if(!Uy.includes(f))throw new x.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:f});let R=await BT(f).getTransactionDetails(w);if(!R.isRBF)throw new x.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:w});if(R.confirmed)throw new x.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:R.blockId,txid:w});let $=R.inputs.reduce((JT,$T)=>JT+$T.value,0),I=R.outputs.find((JT)=>JT.recipient===q)?.value||0;if(I===0)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let P=await Promise.all(R.inputs.map(async(JT)=>{let $T=await BT(f).getRawTx(JT.transaction_hash);return{hash:JT.transaction_hash,index:JT.index,txHex:$T,value:JT.value,witnessUtxo:void 0}})),n=D?PT(D):null,b=Df({feeRate:Y,inputs:P.map((JT)=>({...JT,type:"P2WPKH"})),outputs:[{address:q,value:I}]}),h=Math.ceil(b*Y);if(h<=R.fee)throw new x.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:h,originalFee:R.fee});let g=h-R.fee,TT=I-g;if(TT<=0)throw new x.SwapKitError("toolbox_utxo_rbf_insufficient_change");let UT=new i.Transaction({allowLegacyWitnessUtxo:!0,version:1}),FT=[{address:q,value:TT},...D?[{address:"",script:PT(D),value:0}]:[]],DT=$-TT-h,kT=await Q();if(DT>N0(f)&&kT)FT.push({address:kT,value:DT});return Wf({chain:f,compiledMemo:n,inputs:P,outputs:FT,sender:kT||q,tx:UT}),{feeDelta:g,newFee:h,originalFee:R.fee,tx:UT}}async function z({txid:w,newFeeRate:Y,recipient:q,memo:D}){if(!W)throw new x.SwapKitError("toolbox_utxo_no_signer");let{tx:R,originalFee:$,newFee:C}=await N({memo:D,newFeeRate:Y,recipient:q,txid:w});W.signTransaction(R),R.finalize();let I=await BT(f).broadcastTx(Xf.hex.encode(R.extract()));return{newFee:C,originalFee:$,txid:I}}function B({index:w,change:Y=!1}){if(!L)return;return L.deriveChild(Number(Y)).deriveChild(w).privateKey||void 0}function k({tx:w,inputDerivations:Y}){if(!L)throw new x.SwapKitError("toolbox_utxo_no_signer");let q=f===x.Chain.BitcoinCash?[i.BCHSigHash.ALL]:[i.SigHash.ALL];for(let D=0;D<Y.length;D++){let R=Y[D];if(!R)continue;let{derivationIndex:$,isChange:C}=R,I=B({change:C,index:$});if(!I)throw new x.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${D} at index ${$}`});w.signIdx(I,D,q)}return w}async function H({utxos:w,recipient:Y,assetValue:q,memo:D,feeRate:R,feeOptionKey:$,changeAddress:C}){if(!L)throw new x.SwapKitError("toolbox_utxo_no_signer");let I=R||(await nf(f))[$||x.FeeOption.Fast],P=D?PT(D):null,n=[{address:Y,value:q.getBaseValue("number")}];if(P)n.push({address:"",script:P,value:0});let b=w.map(({hash:kT,index:JT,value:$T,txHex:Jf,witnessUtxo:Rf})=>({hash:kT,index:JT,txHex:Jf,value:$T,witnessUtxo:Rf?{script:Rf.script,value:Rf.value}:void 0})),{inputs:h,outputs:g}=vT({chain:f,feeRate:I,inputs:b,outputs:n});if(!(h&&g))throw new x.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:q,sender:"multiple addresses"});let TT=new i.Transaction({allowLegacyWitnessUtxo:!0,version:1}),UT=w[0]?.address,FT=C||await Q()||UT||Y;Wf({chain:f,compiledMemo:P,inputs:h,outputs:g,sender:FT,tx:TT});let DT=h.map((kT)=>{let JT=w.find(($T)=>$T.hash===kT.hash&&$T.index===kT.index);return JT?{derivationIndex:JT.derivationIndex,isChange:JT.isChange}:{derivationIndex:0,isChange:!1}});return k({inputDerivations:DT,tx:TT}),TT.finalize(),BT(f).broadcastTx(Xf.hex.encode(TT.extract()))}function F({address:w,gapLimit:Y=20}){if(!L)return;for(let q=0;q<Y;q++){let D=U({change:!1,index:q}),R=U({change:!0,index:q}),$=D?.address===w?!1:R?.address===w;if(D?.address===w||R?.address===w)return{change:$,index:q}}return}return{accumulative:vT,broadcastTx:(w)=>BT(f).broadcastTx(w),bumpFee:z,calculateTxSize:Df,createKeysForPath:(w)=>Ef({...w,chain:f}),createReplacementTransaction:N,createTransaction:x2,deriveAddressAtIndex:U,derivePrivateKeyAtIndex:B,estimateMaxSendableAmount:B6(f),estimateTransactionFee:w6(f),getAddress:Q,getAddressFromKeys:t1(f),getBalance:ST(f),getExtendedPublicKey:O,getFeeRates:()=>nf(f),getInputsOutputsFee:S2,getNetworkForChain:()=>xT(f),getPrivateKeyFromMnemonic:(w)=>U6(Ef({...w,chain:f}).privateKey,f),isRBFEnabled:M,keys:J,resolveDerivationIndex:F,signAndBroadcastTransaction:async(w)=>{if(!W)throw new x.SwapKitError("toolbox_utxo_no_signer");return W.signTransaction(w),w.finalize(),await BT(f).broadcastTx(Xf.hex.encode(w.extract()))},signTransactionWithMultipleKeys:k,transfer:O6(f,W),transferFromMultipleAddresses:H,validateAddress:p1(f)}}var A2,Xf,l1,My,x,i,u1,M0,Uy;var B0=E(()=>{dT();xf();U0();A2=require("@noble/curves/secp256k1.js"),Xf=require("@scure/base"),l1=require("@scure/bip32"),My=require("@scure/bip39"),x=require("@swapkit/helpers"),i=require("@swapkit/utxo-signer"),u1=require("ts-pattern"),M0=[x.Chain.Dash,x.Chain.Dogecoin,x.Chain.Zcash,x.Chain.BitcoinCash],Uy=[x.Chain.Bitcoin]});function w0(f){return Of(q0(f))}function H6(f){let y=xT(lT);function G(_){return _.sign(f.privateKey,[zT.BCHSigHash.ALL]),_}function T(){let _=zT.p2pkh(f.publicKey,y);if(!_.hash)throw new LT.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let X=zT.encodeCashAddr({hash:_.hash,prefix:zT.CashAddrPrefix.MAINNET,type:zT.CashAddrType.P2PKH});return Promise.resolve(X.replace(/^bitcoincash:/,""))}return{getAddress:T,signTransaction:G}}function c1(f){let y="phrase"in f?f.phrase:void 0,G="index"in f?f.index||0:0,T=LT.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:LT.updateDerivationPath(LT.NetworkDerivationPath[lT],{index:G})),_=y?Ef({chain:lT,derivationPath:T,phrase:y}):void 0,X=_?H6(_):("signer"in f)?f.signer:void 0;function W(){return Promise.resolve(X?.getAddress())}let{getBalance:Z,getFeeRates:J,broadcastTx:Q,...L}=Zf({chain:lT});function O(U,M=!0){return Z(Of(q0(U)))}return{...L,broadcastTx:Q,buildTx:C6,createTransaction:n2,getAddress:W,getAddressFromKeys:F6,getBalance:O,getFeeRates:J,stripPrefix:Of,stripToCashAddress:w0,transfer:R6({broadcastTx:Q,getFeeRates:J,signer:X}),validateAddress:Gf}}async function n2({assetValue:f,recipient:y,memo:G,feeRate:T,sender:_}){if(!Gf(y))throw new LT.SwapKitError("toolbox_utxo_invalid_address",{address:y});let X=Math.ceil(f.getBaseValue("number")+T*7500),W=await BT(lT).getUtxos({address:w0(_),fetchTxHex:!0,targetValue:X}),Z=G?PT(G):null,J=[],Q=cT(y);if(J.push({address:Q,value:f.getBaseValue("number")}),Z)J.push({script:Z,value:0});let{inputs:L,outputs:O}=vT({chain:lT,feeRate:T,inputs:W,outputs:J});if(!(L&&O))throw new LT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:_});let U=new zT.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Z,version:1}),M=cT(_),{inputs:N,tx:z}=Wf({chain:lT,compiledMemo:Z,inputs:L,outputs:O.map((B)=>("address"in B)&&B.address?{...B,address:cT(B.address)}:B),sender:M,tx:U});return{inputs:N,tx:z,utxos:L}}function R6({broadcastTx:f,getFeeRates:y,signer:G}){return async function({recipient:_,assetValue:X,feeOptionKey:W=LT.FeeOption.Fast,...Z}){let J=await G?.getAddress();if(!(G&&J))throw new LT.SwapKitError("toolbox_utxo_no_signer");if(!_)throw new LT.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Q=Z.feeRate||(await y())[W],{tx:L}=await n2({...Z,assetValue:X,feeRate:Q,recipient:_,sender:J}),O=await G.signTransaction(L);return O.finalize(),f(E2.hex.encode(O.extract()))}}async function C6({assetValue:f,recipient:y,memo:G,feeRate:T,sender:_}){let X=q0(y);if(!Gf(X))throw new LT.SwapKitError("toolbox_utxo_invalid_address",{address:X});let W=Math.ceil(f.getBaseValue("number")+T*7500),Z=await BT(lT).getUtxos({address:w0(_),fetchTxHex:!0,targetValue:W}),J=Number(T.toFixed(0)),Q=G?PT(G):null,L=[];if(L.push({address:cT(y),value:f.getBaseValue("number")}),Q)L.push({script:Q,value:0});let{inputs:O,outputs:U}=vT({chain:lT,feeRate:J,inputs:Z,outputs:L});if(!(O&&U))throw new LT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:_});let M=new zT.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Q,version:1}),{inputs:N,tx:z}=Wf({chain:lT,compiledMemo:Q,inputs:O,outputs:U,sender:cT(_),tx:M});return{inputs:N,tx:z,utxos:Z}}function F6(f){let y=zT.NETWORKS.bitcoinCash,G=zT.p2pkh(f.publicKey,y);if(!G.hash)throw new LT.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return zT.encodeCashAddr({hash:G.hash,prefix:zT.CashAddrPrefix.MAINNET,type:zT.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var E2,LT,zT,lT;var By=E(()=>{xf();B0();U0();E2=require("@scure/base"),LT=require("@swapkit/helpers"),zT=require("@swapkit/utxo-signer"),lT=LT.Chain.BitcoinCash});function v2(){let{isStagenet:f}=ZT.SKConfig.get("envs");return f?yT.ZCASH_TEST_NETWORK:yT.ZCASH_NETWORK}function $6(f){return k6.encode(f)}function I6({phrase:f,derivationPath:y}){let G=i1.mnemonicToSeedSync(f),_=g1.HDKey.fromMasterSeed(G).derive(y);if(!_.privateKey||!_.publicKey)throw new ZT.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:X,publicKey:W}=_,Z=yT.utils.hash160(W),{isStagenet:J}=ZT.SKConfig.get("envs"),Q=J?new Uint8Array([29,37]):new Uint8Array([28,184]),L=new Uint8Array(Q.length+Z.length);L.set(Q,0),L.set(Z,Q.length);let O=$6(L);return{getAddress:()=>Promise.resolve(O),signTransaction:(U)=>{if(U instanceof yT.PCZT)return U.signAllInputs(X,W,yT.ZcashSigHash.ALL),U.finalizeAllInputs(),Promise.resolve(U.extract());return U.signAllInputs(X,W,yT.ZcashSigHash.ALL),Promise.resolve(U)}}}function A6({inputs:f,outputs:y,tx:G,sender:T,compiledMemo:_}){let X=v2();for(let W of f){let Z=yT.Address(X).decode(T),J=yT.OutScript.encode(Z);G.addInput({index:W.index,script:J,sequence:4294967295,txid:wy.hex.decode(W.hash),value:BigInt(W.value)})}for(let W of y){let Z="address"in W&&W.address?W.address:T,J=W.script;if(J&&!_)continue;if(J&&_)G.addOutput({amount:0n,script:_});else G.addOutputAddress(Z,BigInt(W.value),X)}return{inputs:f,tx:G}}async function V2(f){let{assetValue:y,recipient:G,memo:T,feeRate:_,sender:X,fetchTxHex:W}=f,Z=T?PT(T):null,J=await BT(ZT.Chain.Zcash).getUtxos({address:X,fetchTxHex:W!==!1}),Q=[{address:G,value:Number(y.getBaseValue("string"))},...Z?[{script:Z,value:0}]:[]],{inputs:L,outputs:O}=vT({chain:ZT.Chain.Zcash,changeAddress:X,feeRate:_,inputs:J,outputs:Q});if(!(L&&O))throw new ZT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:X});let U=yT.createZcashTransaction({consensusBranchId:yT.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:yT.ZcashVersionGroupId.SAPLING}),{tx:M,inputs:N}=A6({compiledMemo:Z,inputs:L,outputs:O,sender:X,tx:U});return{inputs:N,outputs:O,tx:M}}function d1(f){let y=Vf.match(f).with({signer:Vf.P.not(Vf.P.nullish)},({signer:J})=>J).with({phrase:Vf.P.string},({phrase:J,derivationPath:Q,index:L=0})=>{let O=Q||ZT.NetworkDerivationPath[ZT.Chain.Zcash]||[44,133,0,0,0],U=ZT.updateDerivationPath(O,{index:L}),M=ZT.derivationPathToString(U);return I6({derivationPath:M,phrase:J})}).otherwise(()=>{return}),G=Zf({chain:ZT.Chain.Zcash,signer:y});async function T({recipient:J,assetValue:Q,feeOptionKey:L=ZT.FeeOption.Fast,...O}){let U=await y?.getAddress();if(!(y&&U))throw new ZT.SwapKitError("toolbox_utxo_no_signer");let M=O.feeRate||(await G.getFeeRates())[L],{tx:N}=await V2({...O,assetValue:Q,feeRate:M,recipient:J,sender:U}),B=(await y.signTransaction(N)).toHex();return G.broadcastTx(B)}function _({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let L=i1.mnemonicToSeedSync(J),U=g1.HDKey.fromMasterSeed(L).derive(Q);if(!U.privateKey||!U.publicKey)throw new ZT.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:U.privateKey,publicKey:U.publicKey}}function X({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let L=_({derivationPath:Q,phrase:J}),O=v2();return yT.WIF(O).encode(L.privateKey)}function W(J){return async function(L){if(!J)throw new ZT.SwapKitError("toolbox_utxo_no_signer");return await J.signTransaction(L)}}function Z(J){return async function(L){if(!J)throw new ZT.SwapKitError("toolbox_utxo_no_signer");let O=await J.signTransaction(L);return G.broadcastTx(O.toHex())}}return{...G,createKeysForPath:_,createTransaction:V2,getPrivateKeyFromMnemonic:X,signAndBroadcastTransaction:Z(y),signTransaction:W(y),transfer:T,validateAddress:Sf}}var wy,g1,i1,ZT,yT,Vf,k6;var r1=E(()=>{xf();B0();U0();wy=require("@scure/base"),g1=require("@scure/bip32"),i1=require("@scure/bip39"),ZT=require("@swapkit/helpers"),yT=require("@swapkit/utxo-signer"),Vf=require("ts-pattern");k6=wy.createBase58check(yT.utils.sha256)});function P6(f,y){switch(f){case gT.Chain.BitcoinCash:return c1(y||{});case gT.Chain.Zcash:return d1(y);case gT.Chain.Bitcoin:case gT.Chain.Dogecoin:case gT.Chain.Litecoin:case gT.Chain.Dash:return Zf({chain:f,...y});default:throw new gT.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}var gT;var o2=E(()=>{By();B0();r1();By();U0();gT=require("@swapkit/helpers")});var a1={};wT(a1,{validateZcashAddress:()=>Sf,validateUtxoAddress:()=>h1,validateBchAddress:()=>Gf,toLegacyAddress:()=>cT,toCashAddress:()=>q0,stripToCashAddress:()=>w0,stripPrefix:()=>Of,nonSegwitChains:()=>M0,isValidAddress:()=>K1,getUtxoToolbox:()=>P6,getUtxoNetwork:()=>y6,getUtxoApi:()=>BT,getUTXOAddressValidator:()=>p1,getScriptTypeForAddress:()=>Pf,getOutputSize:()=>z0,getNetworkForChain:()=>xT,getInputSize:()=>_f,getDustThreshold:()=>N0,detectAddressNetwork:()=>j1,createZcashToolbox:()=>d1,createUTXOToolbox:()=>Zf,createHDWalletHelpers:()=>Y2,createCustomUtxoApi:()=>f6,createBCHToolbox:()=>c1,compileMemo:()=>PT,calculateTxSize:()=>Df,addressFromKeysGetter:()=>t1,addInputsAndOutputs:()=>Wf,accumulative:()=>vT,UtxoNetwork:()=>o1,UTXOScriptType:()=>zy,TX_OVERHEAD:()=>qy,SEGWIT_MARKER_FLAG_WEIGHT:()=>Ly,OutputSizes:()=>L0,OP_RETURN_OVERHEAD:()=>k2,MIN_TX_FEE:()=>q6,InputSizes:()=>Yy});module.exports=HT(a1);var s1=E(()=>{B0();xf();o2();By();r1()});function D0(f){return f.length>=2&&f.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(f)}async function Oy(f){let{parseSeedPhrase:y}=await import("near-seed-phrase"),{KeyPair:G}=await import("@near-js/crypto"),T=f.index||0,_=f.derivationPath?Dy.derivationPathToString(f.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:X}=y(f.phrase,_),W=G.fromString(X);return b2(W)}async function e1(f){let{KeyPair:y}=await import("@near-js/crypto"),G=y.fromString(f);return b2(G)}function b2(f){return new j2(f)}async function Hy(f,y){let T=(await f.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((Z)=>Z.access_key.permission==="FullAccess");if(!T)throw new Dy.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:_}=await import("@near-js/crypto"),X=_.fromString(T.public_key);return{nonce:T.access_key.nonce||0,publicKey:X}}var K2,Dy,j2;var T5=E(()=>{K2=require("@near-js/signers"),Dy=require("@swapkit/helpers");j2=class j2 extends K2.KeyPairSigner{#T;constructor(f){super(f);this.#T=f}getAddress(){let f=this.#T.getPublicKey(),y=Buffer.from(f.data).toString("hex");return Promise.resolve(y)}}});function f5(f){return"recipient"in f&&"amount"in f&&!("contractId"in f)}function y5(f){return"contractId"in f&&"methodName"in f}function _5(f){return"actions"in f}function G5(f){return"newAccountId"in f}function X5(f){return"contractCode"in f}function W5(f){return"customEstimator"in f}function Z5(f){let y=0;for(let G of f)switch(G.enum){case"transfer":y+=Number(OT.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(OT.CONTRACT_CALL);break;case"createAccount":y+=Number(OT.ACCOUNT_CREATION);break;case"deployContract":y+=Number(OT.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(OT.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(OT.ACCESS_KEY_DELETION);break;case"stake":y+=Number(OT.STAKE);break;default:y+=Number(OT.CONTRACT_CALL)}return y.toString()}function J5(f){if(f==="ft_transfer"||f==="ft_transfer_call")return OT.TOKEN_TRANSFER;if(f==="storage_deposit")return OT.STORAGE_DEPOSIT;return OT.CONTRACT_CALL}function x6(f){return(BigInt(f)*BigInt(1000000000000)).toString()}function S6(f){return(BigInt(f)/BigInt(1000000000000)).toString()}var OT;var Q5=E(()=>{OT={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function Y5({account:f,contractId:y,viewMethods:G,changeMethods:T}){let{Contract:_}=await import("@near-js/accounts");return new _(f,y,{changeMethods:T,useLocalViewExecution:!0,viewMethods:G})}function E6(f){let y;async function G(){if(y)return y;return y=await vf.match(f).with({phrase:vf.P.string},async(C)=>{return await Oy(C)}).with({signer:vf.P.any},({signer:C})=>C).otherwise(()=>{return}),y}async function T(){let C=await e.getRPCUrl(e.Chain.Near);return new l2.JsonRpcProvider({url:C})}async function _(C){let{Account:I}=await import("@near-js/accounts"),P=await T(),n=await G(),b=C||await X();return new I(b,P,n)}async function X(){let C=await G();if(!C)throw new e.SwapKitError("toolbox_near_no_signer");return await C.getAddress()}async function W(C){return(await w({changeMethods:[],contractId:C.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:C.accountId})}async function Z(C){let P=[await U({args:{account_id:C.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:C.assetValue.getBaseValue("string"),memo:C.memo||null,receiver_id:C.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return Y({actions:P,receiverId:C.contractId})}async function J(C){if(!await G())throw new e.SwapKitError("toolbox_near_no_signer");let{assetValue:P,recipient:n,memo:b}=C,h=await X();if(!P.isGasAsset&&P.address){if(!await W({accountId:n,contractId:P.address}))return Z({assetValue:P,contractId:P.address,memo:b,recipient:n})}let g=await Q({...C,sender:h});return z(g)}async function Q({recipient:C,assetValue:I,memo:P,attachedDeposit:n,sender:b,functionCall:h}){let g=await T();if(!D0(C))throw new e.SwapKitError("toolbox_near_invalid_address",{recipient:C});if(!D0(b))throw new e.SwapKitError("toolbox_near_invalid_address",{sender:b});if(h)return O({...h,sender:b});if(!I.isGasAsset){let x5=I.address;if(!x5)throw new e.SwapKitError("toolbox_near_missing_contract_address");return O({args:{amount:I.getBaseValue("string"),memo:P||null,receiver_id:C},attachedDeposit:n||"1",contractId:x5,gas:"250000000000000",methodName:"ft_transfer",sender:b})}let{publicKey:TT,nonce:UT}=await Hy(g,b),FT=I.getBaseValue("bigint"),{actionCreators:DT,createTransaction:kT}=await import("@near-js/transactions"),{baseDecode:JT}=await import("@near-js/utils"),$T=[DT.transfer(FT)];if(P&&n)$T.push(DT.functionCall("memo",{memo:P},BigInt("250000000000000"),BigInt(n)));let Jf=await g.block({finality:"final"}),Rf=JT(Jf.header.hash);return kT(b,TT,C,UT+1,$T,Rf)}function L(C){let I=C.encode();return Buffer.from(I).toString("base64")}async function O({args:C,attachedDeposit:I,contractId:P,gas:n,methodName:b,sender:h}){let g=await T(),{publicKey:TT,nonce:UT}=await Hy(g,h),{createTransaction:FT,actionCreators:DT}=await import("@near-js/transactions"),{baseDecode:kT}=await import("@near-js/utils"),JT=await g.block({finality:"final"}),$T=kT(JT.header.hash),Jf=[DT.functionCall(b,Buffer.from(JSON.stringify(C)),BigInt(n),BigInt(I))];return FT(h,TT,P,UT+1,Jf,$T)}async function U(C){let{actionCreators:I}=await import("@near-js/transactions");return I.functionCall(C.methodName,Buffer.from(JSON.stringify(C.args)),BigInt(C.gas),BigInt(C.attachedDeposit))}async function M(C){let I=await G();if(!I)throw new e.SwapKitError("toolbox_near_no_signer");let[P,n]=await I.signTransaction(C);return n}async function N(C){return(await(await T()).sendTransaction(C)).transaction.hash}async function z(C){let I=await G();if(!I)throw new e.SwapKitError("toolbox_near_no_signer");try{let P=await M(C);return await N(P)}catch{return I.signAndSendTransactions?.({transactions:[C]})}}async function B(C){let I=await G();if("assetValue"in C){let n=await k();try{let b=await e.getRPCUrl(e.Chain.Near),h=await fetch(b,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:g}}=await h.json(),{execution:TT,send_sir:UT}=g.transaction_costs.action_receipt_creation_config,{execution:FT,send_sir:DT}=g.transaction_costs.action_creation_config.transfer_cost,kT=BigInt(DT)+BigInt(FT),JT=BigInt(UT)+BigInt(TT),Jf=(kT+JT)*BigInt(n.toString());return e.AssetValue.from({chain:e.Chain.Near,value:Jf})}catch(b){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",b);let h=BigInt("115123062500"),g=BigInt("108059500000"),UT=(h+g)*BigInt(n.toString());return e.AssetValue.from({chain:e.Chain.Near,value:UT})}}let P=I?await _():void 0;return q(C,P)}async function k(){let C=await T();try{return await C.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function H(C,I,P){if(!await G())throw new e.SwapKitError("toolbox_near_no_signer");let b=await _(),{formatNearAmount:h}=await import("@near-js/utils"),{PublicKey:g}=await import("@near-js/crypto"),TT=h(P)||"0";return(await b.createAccount(C,g.fromString(I),BigInt(TT))).transaction.hash}async function F(C){let I=await G();try{if(!I)throw new e.SwapKitError("toolbox_near_no_signer");let{actionCreators:P}=await import("@near-js/transactions"),{contractId:n,methodName:b,args:h,deposit:g}=C,TT=await _(),UT=await q({args:h||{},contractId:n,methodName:b}),FT=P.functionCall(b,h||{},UT.getBaseValue("bigint"),BigInt(g||"1"));return(await TT.signAndSendTransaction({actions:[FT],receiverId:n})).transaction_outcome.id}catch(P){throw new e.SwapKitError("toolbox_near_transfer_failed",{error:P})}}async function w(C){let I=await _();return Y5({account:I,changeMethods:C.changeMethods,contractId:C.contractId,viewMethods:C.viewMethods})}async function Y(C){if(!await G())throw new e.SwapKitError("toolbox_near_no_signer");if(C.actions.length===0)throw new e.SwapKitError("toolbox_near_empty_batch");return(await(await _()).signAndSendTransaction({actions:C.actions,receiverId:C.receiverId})).transaction.hash}async function q(C,I){let P=await vf.match(C).when(f5,()=>OT.SIMPLE_TRANSFER).when(y5,(b)=>J5(b.methodName)).when(_5,(b)=>Z5(b.actions)).when(G5,()=>OT.ACCOUNT_CREATION).when(X5,()=>OT.CONTRACT_DEPLOYMENT).when(W5,(b)=>{if(!I)throw new e.SwapKitError("toolbox_near_no_account");return b.customEstimator(I)}).otherwise(()=>{throw new e.SwapKitError("toolbox_near_invalid_gas_params")}),n=BigInt(P)*BigInt(1000000000000);return e.AssetValue.from({chain:e.Chain.Near,value:n})}function D(C,I){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),q(C,I)}async function R(){let C=await T();try{return(await C.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function $(){let C=await G();return C?(await C.getPublicKey()).toString():""}return{broadcastTransaction:N,callFunction:F,createAction:U,createContract:w,createContractFunctionCall:O,createSubAccount:H,createTransaction:Q,estimateGas:D,estimateGasLimit:q,estimateTransactionFee:B,executeBatchTransaction:Y,getAddress:X,getBalance:ST(e.Chain.Near),getGasPrice:R,getNearProvider:T,getPublicKey:$,getSignerFromPhrase:Oy,getSignerFromPrivateKey:e1,serializeTransaction:L,signAndBroadcastTransaction:z,signTransaction:M,transfer:J,validateAddress:D0}}var l2,e,vf;var q5=E(()=>{dT();T5();Q5();l2=require("@near-js/providers"),e=require("@swapkit/helpers"),vf=require("ts-pattern")});var u2=E(()=>{q5()});var L5={};wT(L5,{validateNearAddress:()=>D0,tgasToGas:()=>x6,isSimpleTransfer:()=>f5,isCustomEstimator:()=>W5,isContractDeployment:()=>X5,isContractCall:()=>y5,isBatchTransaction:()=>_5,isAccountCreation:()=>G5,getNearToolbox:()=>E6,getNearSignerFromPrivateKey:()=>e1,getNearSignerFromPhrase:()=>Oy,getFullAccessPublicKey:()=>Hy,getContractMethodGas:()=>J5,gasToTGas:()=>S6,estimateBatchGas:()=>Z5,createNearContract:()=>Y5,GAS_COSTS:()=>OT});module.exports=HT(L5);var z5=E(()=>{T5();Q5();q5();u2()});var N5={};wT(N5,{validateRadixAddress:()=>p2,getRadixToolbox:()=>K6});module.exports=HT(N5);function p2(f){return f.startsWith("account_rdx1")&&f.length===66}function n6({networkApi:f}){return async function(G){let T=await V6({address:G,networkApi:f}),_=await v6({networkApi:f,resources:T});if(!_.some((W)=>W.isGasAsset))return[oT.AssetValue.from({chain:oT.Chain.Radix}),..._];return _}}async function V6({address:f,networkApi:y}){let G=!0,T,_=[],X=await o6(y);while(G){let W={address:f,at_ledger_state:{state_version:X},cursor:T,limit_per_page:100},Z=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:W});if(_=_.concat(Z.items),Z.next_cursor)T=Z.next_cursor;else G=!1}return _}async function v6({resources:f,networkApi:y}){let G=[],T=50,_=[];for(let X=0;X<f.length;X+=50)_.push(f.slice(X,X+50));for(let X of _){let W=X.map((Q)=>Q.resource_address),Z=await y.state.getEntityDetailsVaultAggregated(W),J=new Map;for(let Q of Z)if(Q.details!==void 0){let L=Q.metadata?.items.find((U)=>U.key==="symbol"),O=L?.value.typed.type==="String"?L.value.typed.value:"?";if(Q.details.type==="FungibleResource")J.set(Q.address,{decimals:Q.details.divisibility,symbol:O})}for(let Q of X)if(Q.aggregation_level==="Global"){let L=J.get(Q.resource_address)||{decimals:0,symbol:"?"},O=oT.AssetValue.from({asset:L.symbol!==oT.Chain.Radix?`${oT.Chain.Radix}.${L.symbol}-${Q.resource_address}`:"XRD.XRD",value:Q.amount});G.push(O)}}return G}async function o6(f){return(await f.status.getCurrent()).ledger_state.state_version}function K6({dappConfig:f}={}){let y=f||oT.SKConfig.get("integrations").radix,G=m2.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),T=h2.GatewayApiClient.initialize(G.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:n6({networkApi:T}),networkApi:T,signAndBroadcast:()=>{throw new oT.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:p2}}var h2,m2,oT;var U5=E(()=>{h2=require("@radixdlt/babylon-gateway-api-sdk"),m2=require("@radixdlt/radix-dapp-toolkit"),oT=require("@swapkit/helpers")});function Ry(f){return/^[0-9A-Fa-f]{40}$/.test(f)}function O0(f){if(Ry(f))return f.toUpperCase();if(f.length<=3){let G=Buffer.from(f.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${G}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(f).toString("hex").toUpperCase();if(y.length>40)throw new t2.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:f,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function j6(f){if(!Ry(f))return f;if(f.toUpperCase().startsWith("00")){let y=f.slice(24,30);try{let G=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(G)&&G.length>0)return G}catch{}return f.toUpperCase()}try{let y=f.replace(/0+$/,""),G=y.length%2===0?y:`${y}0`,T=Buffer.from(G,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(T))return T}catch{}return f.toUpperCase()}function of(f){if(Ry(f))return f.toUpperCase();if(f.length<=3)return f;return O0(f)}var t2;var Cy=E(()=>{t2=require("@swapkit/helpers")});async function b6(f,y){let G=of(f),T=ky.find((_)=>of(_.currency)===G&&_.issuer===y);if(T)return T;try{let _=await Fy.RequestClient.get(`https://api.xrplmeta.org/token/${f}:${y}`);if(_)return{currency:f,decimals:15,description:_.desc,domain:_.domain,icon:_.icon,issuer:y,name:_.name,verified:_.self_assessment?.is_regulated||_.self_assessment?.is_licensed}}catch(_){Fy.warnOnce({condition:!0,id:`xrpl_token_lookup_${f}_${y}`,warning:`Failed to fetch XRPL token info for ${f}:${y}: ${_}`})}return{currency:f,decimals:15,issuer:y,verified:!1}}function l6(f){return ky.filter((y)=>y.issuer===f)}function u6(f,y){let G=of(f);return ky.some((T)=>of(T.currency)===G&&T.issuer===y)}var Fy,ky;var c2=E(()=>{Cy();Fy=require("@swapkit/helpers"),ky=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var M5={};wT(M5,{validateRippleAddress:()=>Iy,parseXrplTokenIdentifier:()=>d2,normalizeCurrency:()=>of,isKnownToken:()=>u6,isHexCurrency:()=>Ry,hexToCurrency:()=>j6,hashes:()=>a2.hashes,getXrplTokenInfo:()=>b6,getRippleToolbox:()=>m6,getKnownTokensByIssuer:()=>l6,formatXrplTokenIdentifier:()=>r2,currencyToHex:()=>O0,XRPL_TOKEN_ERROR_CODES:()=>$y,XRPL_KNOWN_TOKENS:()=>ky});module.exports=HT(M5);function d2(f){let y=f.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!iT.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function r2(f,y){return`${t.Chain.Ripple}.${f}-${y}`}function h6(f){if(f.isGasAsset)return iT.xrpToDrops(f.getValue("string"));let y=d2(f.toString());if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:f.toString()}});return{currency:y.currency,issuer:y.issuer,value:f.getValue("string")}}function i2(f){let y=iT.Wallet.fromMnemonic(f);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(G)=>Promise.resolve(y.sign(G))}}function Iy(f){return iT.isValidAddress(f)}function m6(f={}){let y=Kf.match(f).with({phrase:Kf.P.string},({phrase:H})=>i2(H)).with({signer:Kf.P.any},({signer:H})=>H).otherwise(()=>{return}),G;async function T(){let H=await t.getRPCUrl(t.Chain.Ripple);if(!H)throw new t.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:t.Chain.Ripple}});let F=new iT.Client(H);return await F.connect(),F}async function _(){if(G){let H=await G.catch(()=>null);if(H?.isConnected())return H}return G=T(),G}let X=()=>{if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},W=async(H)=>{let F=H||await X(),{baseDecimal:w}=t.getChainConfig(t.Chain.Ripple),Y=await _();try{let[q,D]=await Promise.all([Y.request({account:F,command:"account_info"}),Y.request({account:F,command:"account_lines"})]),R=q.result.account_data.Balance,$=[t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:w,value:R})];for(let C of D.result.lines){let I=r2(C.currency,C.account);if(Number.parseFloat(C.balance)!==0)$.push(t.AssetValue.from({asset:I,asyncTokenLookup:!1,value:C.balance}))}return $}catch(q){if(q.data?.error_code===g2.ACCOUNT_NOT_FOUND)return[t.AssetValue.from({chain:t.Chain.Ripple,value:0})];throw new t.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:F,error:q}})}},Z=async()=>{let{baseDecimal:H}=t.getChainConfig(t.Chain.Ripple),Y=(await(await _()).request({command:"fee"})).result.drops.open_ledger_fee;return t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:H,value:Y})};async function J(H){let F=H||await X(),w=await _();try{return(await w.request({account:F,command:"account_lines"})).result.lines.map((q)=>({account:q.account,authorized:q.authorized??!1,balance:q.balance,currency:q.currency,freeze:q.freeze??!1,freezePeer:q.freeze_peer??!1,limit:q.limit,limitPeer:q.limit_peer,noRipple:q.no_ripple??!1,noRipplePeer:q.no_ripple_peer??!1,peerAuthorized:q.peer_authorized??!1,qualityIn:q.quality_in??0,qualityOut:q.quality_out??0}))}catch(Y){if(Y.data?.error_code===g2.ACCOUNT_NOT_FOUND)return[];throw new t.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:F,error:Y}})}}async function Q({address:H,currency:F,issuer:w}){let Y=await J(H),q=O0(F);return Y.some((D)=>{return O0(D.currency)===q&&D.account===w})}async function L({currency:H,issuer:F,limit:w,sender:Y}){let q=Y||await X();if(!Iy(F))throw new t.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:F}});let D=Number.parseFloat(w);if(Number.isNaN(D)||D<0)throw new t.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:w}});let R=await _(),$={Account:q,LimitAmount:{currency:H,issuer:F,value:w},TransactionType:"TrustSet"};return R.autofill($)}async function O({assetValue:H,recipient:F,memo:w,sender:Y,destinationTag:q,extendBySeconds:D=150}){if(!Iy(F))throw new t.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let R=Y||await X();if(H.chain!==t.Chain.Ripple)throw new t.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:H.toString()}});let $=h6(H),C={Account:R,Amount:$,Destination:F,TransactionType:"Payment",...q!==void 0&&{DestinationTag:q}};if(w)C.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];let P=await(await _()).autofill(C);if(P.LastLedgerSequence&&D>0)P.LastLedgerSequence+=Math.ceil(D/4);return P}function U(H){if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(H)}async function M(H){let w=await(await _()).submitAndWait(H),{result:Y}=w;if(Y.validated)return Y.hash;let q=Y.meta?.TransactionResult,D=Kf.match(q).with($y.tecNO_LINE,()=>"No trust line exists for this token").with($y.tecPATH_DRY,()=>"Payment path could not deliver funds").with($y.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new t.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:t.Chain.Ripple,...D?{reason:D}:{txResult:q}}})}let N=async(H)=>{try{let F=await U(H);return M(F.tx_blob)}catch(F){if(F instanceof t.SwapKitError)throw F;throw new t.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:t.Chain.Ripple,error:F}})}};async function z(H){if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let F=await y.getAddress(),w=await O({...H,sender:F}),Y=await U(w);return M(Y.tx_blob)}async function B(H){if(!y)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let F=await y.getAddress(),w=await L({...H,sender:F}),Y=await U(w);return M(Y.tx_blob)}function k(){let H=G;if(G=null,H)H.then((F)=>{if(F?.isConnected())return F.disconnect();return}).catch((F)=>{console.warn("XRPL Cleanup failed silently:",F)})}return{broadcastTransaction:M,createSigner:i2,createTransaction:O,disconnect:k,estimateTransactionFee:Z,getAddress:X,getBalance:W,getTrustLines:J,hasTrustLine:Q,setTrustLine:L,setTrustLineAndBroadcast:B,signAndBroadcastTransaction:N,signTransaction:U,transfer:z,validateAddress:Iy}}var t,Kf,iT,a2,g2,$y;var B5=E(()=>{Cy();t=require("@swapkit/helpers"),Kf=require("ts-pattern"),iT=require("xrpl");Cy();c2();a2=require("xrpl"),g2={ACCOUNT_NOT_FOUND:19},$y={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function w5(f,y){let G=0n,T=0n,_=y;while(_<f.length&&_-y<10){let X=f[_++];if(X===void 0)break;if(G|=BigInt(X&127)<<T,T+=7n,(X&128)===0)return[G,_]}throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed")}function H0(f){let y=[],G=f<0n?f+2n**64n:f;while(G>=128n)y.push(Number(G&0x7fn)|128),G>>=7n;return y.push(Number(G)),y}function Ay(f,y,G){let T=f.get(y);if(T)T.push(G);else f.set(y,[G])}function g6(f){let y=new Map,G=0;while(G<f.length){let[T,_]=w5(f,G);G=_;let X=Number(T>>3n),W=Number(T&7n);if(W===Py){let[Z,J]=w5(f,G);G=J,Ay(y,X,{data:new Uint8Array(H0(Z)),wireType:Py})}else if(W===xy){let[Z,J]=w5(f,G);G=J;let Q=Number(Z);if(Q<0||G+Q>f.length)throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed");let L=f.slice(G,G+Q);G+=Q,Ay(y,X,{data:L,wireType:xy})}else if(W===s2){if(G+8>f.length)throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=f.slice(G,G+8);G+=8,Ay(y,X,{data:Z,wireType:s2})}else if(W===e2){if(G+4>f.length)throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=f.slice(G,G+4);G+=4,Ay(y,X,{data:Z,wireType:e2})}else throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function i6(f){let y=[];for(let[X,W]of[...f.entries()].sort(([Z],[J])=>Z-J))for(let{wireType:Z,data:J}of W){let Q=BigInt(X<<3|Z);if(y.push(new Uint8Array(H0(Q))),Z===xy)y.push(new Uint8Array(H0(BigInt(J.length))));y.push(J)}let G=y.reduce((X,W)=>X+W.length,0),T=new Uint8Array(G),_=0;for(let X of y)T.set(X,_),_+=X.length;return T}function fG(f,y){if(!f||f.length%2!==0)throw new Hf.SwapKitError("toolbox_tron_transaction_creation_failed");let G=jf.hexToBytes(f),T=g6(G);if(y.expiration!==void 0)T.set(p6,[{data:new Uint8Array(H0(BigInt(y.expiration))),wireType:Py}]);if(y.data!==void 0)T.set(t6,[{data:jf.hexToBytes(y.data),wireType:xy}]);if(y.fee_limit!==void 0)T.set(c6,[{data:new Uint8Array(H0(BigInt(y.fee_limit))),wireType:Py}]);let _=i6(T),X=jf.bytesToHex(_),W=jf.bytesToHex(TG.sha256(_));return{raw_data_hex:X,txID:W}}var TG,jf,Hf,Py=0,s2=1,xy=2,e2=5,p6=8,t6=10,c6=18;var yG=E(()=>{TG=require("@noble/hashes/sha2.js"),jf=require("@noble/hashes/utils.js"),Hf=require("@swapkit/helpers")});function KT(f){if(typeof f!=="string")return!1;try{let y=Sy.decode(f);return y.length===21&&y[0]===XG}catch{return!1}}function WG(f){return nT.bytesToHex(Sy.decode(f))}function r6(f){return Sy.decode(f).slice(1)}function ZG(f){let y=D5.secp256k1.getPublicKey(nT.hexToBytes(f),!1),G=_G.keccak_256(y.slice(1)).slice(-20),T=new Uint8Array(21);return T[0]=XG,T.set(G,1),Sy.encode(T)}function JG({txID:f,privateKey:y}){let G=D5.secp256k1.sign(nT.hexToBytes(f),nT.hexToBytes(y),{format:"recovered",prehash:!1}),T=G[0]??0,_=nT.bytesToHex(G.slice(1,33)),X=nT.bytesToHex(G.slice(33,65)),W=(T+27).toString(16).padStart(2,"0");return _+X+W}function bf({txID:f,raw_data_hex:y}){let G=nT.bytesToHex(O5.sha256(nT.hexToBytes(y)));if(f!==G)throw new H5.SwapKitError("toolbox_tron_token_transfer_failed")}function a6(f){return`000000000000000000000000${nT.bytesToHex(r6(f))}`}function s6(f){let y=typeof f==="bigint"?f:BigInt(f);if(y<0n||y>=d6)throw new H5.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function lf(f){return f.map(({type:y,value:G})=>y==="address"?a6(G):s6(BigInt(G))).join("")}function QG(f){return nT.bytesToHex(new TextEncoder().encode(f))}var D5,O5,_G,nT,GG,H5,Sy,XG=65,d6;var R5=E(()=>{D5=require("@noble/curves/secp256k1.js"),O5=require("@noble/hashes/sha2.js"),_G=require("@noble/hashes/sha3.js"),nT=require("@noble/hashes/utils.js"),GG=require("@scure/base"),H5=require("@swapkit/helpers"),Sy=GG.createBase58check(O5.sha256),d6=2n**256n});function qG(){try{return NT.getRPCUrlSync(NT.Chain.Tron)}catch{return YG}}function LG(){let f=new AbortController,y=setTimeout(()=>f.abort(),y8);return{cleanup:()=>clearTimeout(y),signal:f.signal}}async function uf(f,y){let{signal:G,cleanup:T}=LG();try{let _=await fetch(`${qG()}${f}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:G});if(!_.ok)throw new NT.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${_.status} ${_.statusText} on ${f}`});return await _.json()}finally{T()}}async function zG(f,y){let{signal:G,cleanup:T}=LG();try{let _=await fetch(`${y??qG()}${f}`,{headers:{"Content-Type":"application/json"},signal:G});if(!_.ok)throw new NT.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${_.status} ${_.statusText} on ${f}`});return await _.json()}finally{T()}}async function NG(f){if(!KT(f))throw new NT.SwapKitError("toolbox_tron_trongrid_api_error",{address:f,message:"Invalid address"});try{let y=await zG(`/v1/accounts/${f}`,YG);if(!(y.success&&y.data)||y.data.length===0)return;let G;try{G=WG(f).toLowerCase()}catch{G=f.toLowerCase()}let T=y.data.find((_)=>_.address.toLowerCase()===G);if(!T)return;return{balance:T.balance,trc20:T.trc20||[]}}catch(y){if(y instanceof NT.SwapKitError)throw y;throw new NT.SwapKitError("toolbox_tron_trongrid_api_error",{address:f,message:y instanceof Error?y.message:"Unknown error"})}}async function UG({from:f,to:y,amount:G}){let _=await uf("/wallet/createtransaction",{amount:G,owner_address:f,to_address:y,visible:!0});if(!_.txID||!_.raw_data_hex||!_.raw_data)throw new NT.SwapKitError("toolbox_tron_transaction_creation_failed");let W=_.raw_data?.contract?.[0]?.parameter?.value;if(W?.to_address!==y||W?.owner_address!==f||W?.amount!==G)throw new NT.SwapKitError("toolbox_tron_transaction_creation_failed");return bf(_),_}async function MG({ownerAddress:f,contractAddress:y,functionSelector:G,parameter:T,feeLimit:_,callValue:X=0}){let W=await uf("/wallet/triggersmartcontract",{call_value:X,contract_address:y,fee_limit:_,function_selector:G,owner_address:f,parameter:T,visible:!0});if(!W.result.result||!W.transaction?.txID||!W.transaction?.raw_data_hex)throw new NT.SwapKitError("toolbox_tron_transaction_creation_failed");let J=W.transaction.raw_data?.contract?.[0]?.parameter?.value;if(J?.contract_address!==y||J?.owner_address!==f)throw new NT.SwapKitError("toolbox_tron_transaction_creation_failed");return bf(W.transaction),W.transaction}function BG({ownerAddress:f,contractAddress:y,functionSelector:G,parameter:T}){return uf("/wallet/triggerconstantcontract",{contract_address:y,function_selector:G,owner_address:f,parameter:T,visible:!0})}async function R0(f){let{result:y,txid:G}=await uf("/wallet/broadcasttransaction",{raw_data:f.raw_data,raw_data_hex:f.raw_data_hex,signature:f.signature,txID:f.txID,visible:f.visible});if(!y||!G)throw new NT.SwapKitError("toolbox_tron_token_transfer_failed");return G}async function Ey(){let f={};try{let{chainParameter:y}=await zG("/wallet/getchainparameters");for(let G of y)f[G.key]=G.value}catch(y){NT.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:f.getTransactionFee??e6,createAccountFee:f.getCreateAccountFee??T8,energyFee:f.getEnergyFee??f8}}async function C5(f){try{let y=await uf("/wallet/getaccountresource",{address:f,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return NT.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function F5(f){try{let y=await uf("/wallet/getaccount",{address:f,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function k5(f){try{let{energy_used:y}=await BG({...f,ownerAddress:f.sender});return y}catch(y){return NT.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function wG({assetAddress:f,owner:y,spender:G}){let T=lf([{type:"address",value:y},{type:"address",value:G}]),X=(await BG({contractAddress:f,functionSelector:"allowance(address,address)",ownerAddress:G,parameter:T})).constant_result?.[0];if(!X)return 0n;try{return BigInt(`0x${X}`)}catch{return 0n}}var NT,YG="https://api.trongrid.io",e6=1000,T8=1e5,f8=420,y8=30000;var DG=E(()=>{R5();NT=require("@swapkit/helpers")});function kG({phrase:f,derivationPath:y}){let G=RG.HDKey.fromMasterSeed(CG.mnemonicToSeedSync(f)).derive(y);if(!G.privateKey)throw new o.SwapKitError("toolbox_tron_no_signer");return HG.bytesToHex(G.privateKey)}function $G({phrase:f,derivationPath:y,index:G}){let T=y||o.derivationPathToString(o.updateDerivationPath(o.NetworkDerivationPath[o.Chain.Tron],{index:G||0}));return kG({derivationPath:T,phrase:f})}function Z8({phrase:f,derivationPath:y}){let G=kG({derivationPath:y,phrase:f}),T=ZG(G);return{getAddress:()=>Promise.resolve(T),signTransaction:(_)=>{bf(_);let X=JG({privateKey:G,txID:_.txID});return Promise.resolve({..._,signature:[X]})}}}function OG({transaction:f,memo:y,expiration:G,feeLimit:T}){let _={},X={};if(T!==void 0&&f.raw_data)_.fee_limit=T,X.fee_limit=T;if(y){let J=QG(y);_.data=J,X.data=J}if(G){let J=f.raw_data.expiration+G*1000;_.expiration=J,X.expiration=J}if(Object.keys(_).length===0)return f;let{raw_data_hex:W,txID:Z}=fG(f.raw_data_hex,_);return{...f,raw_data:{...f.raw_data,...X},raw_data_hex:W,txID:Z}}function IG(f={}){let y="index"in f?f.index||0:0,G=o.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:o.updateDerivationPath(o.NetworkDerivationPath[o.Chain.Tron],{index:y})),T,_=!1;function X(){if(_)return Promise.resolve(T);return T=hf.match(f).with({phrase:hf.P.string},({phrase:Y})=>Z8({derivationPath:G,phrase:Y})).with({signer:hf.P.not(hf.P.nullish)},({signer:Y})=>Y).otherwise(()=>{return}),_=!0,Promise.resolve(T)}async function W(){let Y=await X();if(!Y)throw new o.SwapKitError("toolbox_tron_no_signer");return Y.getAddress()}async function Z(Y){let q=Y||G8,D=await Ey(),R=q*D.energyFee,$=Math.ceil(R*1.5);return Math.min(Math.max($,1e7),150000000)}async function J({contractAddress:Y,functionSelector:q,parameter:D,sender:R,memo:$,expiration:C}){let I=await k5({contractAddress:Y,functionSelector:q,parameter:D,sender:R}),P=await Z(I),n=await MG({contractAddress:Y,feeLimit:P,functionSelector:q,ownerAddress:R,parameter:D});return OG({expiration:C,feeLimit:P,memo:$,transaction:n})}async function Q(Y){if(!KT(Y))return[o.AssetValue.from({chain:o.Chain.Tron})];try{let q=await NG(Y);if(!q)return[o.AssetValue.from({chain:o.Chain.Tron})];let D=[o.AssetValue.from({chain:o.Chain.Tron,fromBaseDecimal:6,value:String(q.balance)})],R=q.trc20?.find(($)=>($5 in $));if(R){let $=R[$5];D.push(o.AssetValue.from({asset:`TRON.USDT-${$5}`,fromBaseDecimal:6,value:$}))}return D}catch(q){return o.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${q instanceof Error?q.message:q}`}),[o.AssetValue.from({chain:o.Chain.Tron})]}}async function L({recipient:Y,assetValue:q,memo:D,expiration:R}){if(!KT(Y))throw new o.SwapKitError("toolbox_tron_token_transfer_failed");let $=await X();if(!$)throw new o.SwapKitError("toolbox_tron_no_signer");let C=await W(),I=await z({assetValue:q,expiration:R,memo:D,recipient:Y,sender:C}),P=await $.signTransaction(I),n=await R0(P);if(!n)throw new o.SwapKitError("toolbox_tron_token_transfer_failed");return n}function O({requiredBandwidth:Y,resources:q,feePerUnit:D}){let R=Math.max(0,q.free+q.total-q.used);return Y>R?(Y-R)*D:0}async function U({recipient:Y,senderAddress:q}){let[D,R,$]=await Promise.all([Ey(),F5(Y),C5(q)]),C=R?0:D.createAccountFee,I=O({feePerUnit:D.bandwidthFee,requiredBandwidth:_8,resources:$.bandwidth});return o.AssetValue.from({chain:o.Chain.Tron,fromBaseDecimal:o.BaseDecimal.TRON,value:C+I})}async function M({assetValue:Y,recipient:q,senderAddress:D}){let R=Y.address;if(!R)throw new o.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});let[$,C,I,P]=await Promise.all([Ey(),F5(q),C5(D),k5({contractAddress:R,functionSelector:"transfer(address,uint256)",parameter:lf([{type:"address",value:q},{type:"uint256",value:Y.getBaseValue("string")}]),sender:D})]),n=C?0:$.createAccountFee,b=O({feePerUnit:$.bandwidthFee,requiredBandwidth:X8,resources:I.bandwidth}),h=Math.max(0,I.energy.total-I.energy.used),g=P>h?(P-h)*$.energyFee:0;return o.AssetValue.from({chain:o.Chain.Tron,fromBaseDecimal:o.BaseDecimal.TRON,value:n+b+g})}async function N({assetValue:Y,recipient:q,sender:D}){let R=await X();try{let $=D?D:R?await W():void 0;if(!$)return Y.isGasAsset?o.AssetValue.from({chain:o.Chain.Tron,value:0.1}):o.AssetValue.from({chain:o.Chain.Tron,value:15});return Y.isGasAsset?U({recipient:q,senderAddress:$}):M({assetValue:Y,recipient:q,senderAddress:$})}catch($){throw o.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${$ instanceof Error?$.message:$}`}),new o.SwapKitError("toolbox_fee_estimation_failed",{chain:o.Chain.Tron,error:$})}}async function z({recipient:Y,assetValue:q,memo:D,sender:R,expiration:$}){if(!KT(Y)||!KT(R))throw new o.SwapKitError("toolbox_tron_token_transfer_failed");if(q.isGasAsset){let I=await UG({amount:q.getBaseValue("number"),from:R,to:Y});return OG({expiration:$,memo:D,transaction:I})}let C=q.address;if(!C)throw new o.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:q.toString()});return J({contractAddress:C,expiration:$,functionSelector:"transfer(address,uint256)",memo:D,parameter:lf([{type:"address",value:Y},{type:"uint256",value:q.getBaseValue("string")}]),sender:R})}async function B(Y){bf(Y);let q=await X();if(!q)throw new o.SwapKitError("toolbox_tron_no_signer");return q.signTransaction(Y)}async function k(Y){let q=await B(Y);return R0(q)}function H({assetAddress:Y,spenderAddress:q,from:D}){return wG({assetAddress:Y,owner:D,spender:q})}async function F({assetAddress:Y,spenderAddress:q,from:D,amount:R}){let $=await H({assetAddress:Y,from:D,spenderAddress:q});if(!R)return $>0n;return $>=BigInt(R)}async function w({assetAddress:Y,spenderAddress:q,amount:D,from:R}){if(!KT(Y)||!KT(q))throw new o.SwapKitError("toolbox_tron_approve_failed");let $=await X();if(!$)throw new o.SwapKitError("toolbox_tron_no_signer");let C=R||await W(),I=D!==void 0?BigInt(D).toString():W8;try{let P=await J({contractAddress:Y,functionSelector:"approve(address,uint256)",parameter:lf([{type:"address",value:q},{type:"uint256",value:I}]),sender:C}),n=await $.signTransaction(P),b=await R0(n);if(!b)throw new o.SwapKitError("toolbox_tron_approve_failed");return b}catch(P){if(P instanceof o.SwapKitError)throw P;throw new o.SwapKitError("toolbox_tron_approve_failed",{error:P})}}return{approve:w,broadcastTransaction:R0,createTransaction:z,estimateTransactionFee:N,getAddress:W,getApprovedAmount:H,getBalance:Q,getRpcUrl:()=>o.getRPCUrl(o.Chain.Tron),isApproved:F,signAndBroadcastTransaction:k,signTransaction:B,transfer:L,validateAddress:KT}}var HG,RG,CG,o,hf,FG,_8=268,G8=65000,X8=345,$5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",W8="115792089237316195423570985008687907853269984665640564039457584007913129639935";var AG=E(()=>{yG();DG();R5();HG=require("@noble/hashes/utils.js"),RG=require("@scure/bip32"),CG=require("@scure/bip39"),o=require("@swapkit/helpers"),hf=require("ts-pattern"),FG=KT});var I5={};wT(I5,{validateTronAddress:()=>FG,getTronToolbox:()=>IG,getTronPrivateKeyFromMnemonic:()=>$G});module.exports=HT(I5);var A5=E(()=>{AG()});function Vy(f){if(!f||typeof f!=="string"||!f.startsWith("G")||f.length!==56)return!1;return J8.test(f)}async function Q8(f){if(!Vy(f))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(f)}catch{return!1}}function PG(f={}){let y,G=f.derivationPath||a.NetworkDerivationPath[a.Chain.Stellar],T=a.derivationPathToString(G.slice(0,3));async function _({phrase:z,path:B}){let{HDKey:k}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:H}=await import("@scure/bip39"),{Keypair:F}=await import("@stellar/stellar-sdk"),w=H(z),q=k.fromMasterSeed(w).derive(B,!0);return F.fromRawEd25519Seed(Buffer.from(q.privateKey))}async function X(){if(y)return y;let z=ny.match(f).with({phrase:ny.P.string},({phrase:B})=>B).otherwise(()=>{return});if(!z)throw new a.SwapKitError("toolbox_stellar_no_signer");return y=await _({path:T,phrase:z}),y}async function W(){let{Horizon:z}=await import("@stellar/stellar-sdk"),B=await a.getRPCUrl(a.Chain.Stellar);return new z.Server(B)}async function Z(){try{return(await X()).publicKey()}catch{return""}}async function J(z){let B=z||await Z();if(!B)throw new a.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await W()).loadAccount(B)).balances.map((F)=>{if(F.asset_type==="native")return a.AssetValue.from({chain:a.Chain.Stellar,value:F.balance});let w="asset_code"in F?F.asset_code:"",Y="asset_issuer"in F?F.asset_issuer:"";return a.AssetValue.from({asset:`${a.Chain.Stellar}.${w}-${Y}`,asyncTokenLookup:!1,value:F.balance})})}catch{return[a.AssetValue.from({chain:a.Chain.Stellar,value:0})]}}async function Q({recipient:z,assetValue:B,memo:k,sender:H}){if(k){if(new TextEncoder().encode(k).length>28)throw new a.SwapKitError("helpers_invalid_memo_type")}if(!await Q8(z))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let w=H||await Z();if(!w)throw new a.SwapKitError("toolbox_stellar_no_signer");let{Asset:Y,Memo:q,Networks:D,Operation:R,TransactionBuilder:$}=await import("@stellar/stellar-sdk"),C=await W(),I=await C.fetchBaseFee(),P=await C.loadAccount(w),n=new $(P,{fee:String(I),networkPassphrase:D.PUBLIC});if(B.isGasAsset)try{await C.loadAccount(z),n.addOperation(R.payment({amount:B.getValue("string"),asset:Y.native(),destination:z}))}catch{n.addOperation(R.createAccount({destination:z,startingBalance:B.getValue("string")}))}else n.addOperation(R.payment({amount:B.getValue("string"),asset:new Y(B.symbol,B.address),destination:z}));if(k)n.addMemo(q.text(k));return n.setTimeout(30).build()}async function L(z){let{TransactionBuilder:B,Networks:k}=await import("@stellar/stellar-sdk"),H=await X(),F=B.fromXDR(z.toXDR(),k.PUBLIC);return F.sign(H),F}async function O(z){try{let B=await W(),{hash:k}=await B.submitTransaction(z);return k}catch(B){throw new a.SwapKitError("toolbox_stellar_broadcast_error",B)}}async function U({recipient:z,assetValue:B,memo:k}){let H=await X(),F=H.publicKey(),w=await Q({assetValue:B,memo:k,recipient:z,sender:F});w.sign(H);try{return(await(await W()).submitTransaction(w)).hash}catch(Y){if(Y instanceof a.SwapKitError)throw Y;throw new a.SwapKitError("toolbox_stellar_transaction_failed",Y)}}async function M(z){let B=await L(z);return O(B)}async function N(){let{baseDecimal:z}=a.getChainConfig(a.Chain.Stellar);try{let H=(await(await W()).feeStats()).fee_charged.p50;return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:z,value:H})}catch{return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:z,value:"100"})}}return{broadcastTransaction:O,createTransaction:Q,estimateTransactionFee:N,getAddress:Z,getBalance:J,signAndBroadcastTransaction:M,signTransaction:L,transfer:U,validateAddress:Vy}}var a,ny,J8;var xG=E(()=>{a=require("@swapkit/helpers"),ny=require("ts-pattern"),J8=/^G[A-Z2-7]{55}$/});var vy={};wT(vy,{validateStellarAddress:()=>Vy,getStellarToolbox:()=>PG});module.exports=HT(vy);var oy=E(()=>{xG()});var L8={};wT(L8,{getToolbox:()=>P5,getFeeEstimator:()=>q8,getAddressValidator:()=>Y8});module.exports=HT(L8);var j=require("@swapkit/helpers");async function Y8(){let{match:f}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (F0(),C0)),{validateEVMAddress:G}=await Promise.resolve().then(() => (L_(),q_)),{validateCardanoAddress:T}=await Promise.resolve().then(() => (Y1(),Q1)),{getCosmosAddressValidator:_}=await Promise.resolve().then(() => (a0(),r0)),{validateSolanaAddress:X}=await Promise.resolve().then(() => (x1(),P1)),{validateStarknetAddress:W}=await Promise.resolve().then(() => (yy(),fy)),{validateSuiAddress:Z}=await Promise.resolve().then(() => (Gy(),_y)),{validateTonAddress:J}=await Promise.resolve().then(() => (Zy(),Wy)),{getUTXOAddressValidator:Q}=await Promise.resolve().then(() => (s1(),a1)),{validateNearAddress:L}=await Promise.resolve().then(() => (z5(),L5)),{validateRadixAddress:O}=await Promise.resolve().then(() => (U5(),N5)),{validateRippleAddress:U}=await Promise.resolve().then(() => (B5(),M5)),{validateTronAddress:M}=await Promise.resolve().then(() => (A5(),I5)),{validateStellarAddress:N}=await Promise.resolve().then(() => (oy(),vy));return function({address:B,chain:k}){return f(k).with(...j.EVMChains,()=>G(B)).with(...j.UTXOChains,(F)=>{return Q(F)(B)}).with(...j.CosmosChains,(F)=>{return _(F)(B)}).with(j.Chain.Aptos,()=>y(B)).with(j.Chain.Radix,()=>O(B)).with(j.Chain.Near,()=>L(B)).with(j.Chain.Ripple,()=>U(B)).with(j.Chain.Solana,()=>X(B)).with(j.Chain.Stellar,()=>N(B)).with(j.Chain.Starknet,()=>W(B)).with(j.Chain.Sui,()=>Z(B)).with(j.Chain.Ton,()=>J(B)).with(j.Chain.Tron,()=>M(B)).with(j.Chain.Cardano,()=>T(B)).otherwise(()=>!1)}}function q8(f){return async function(G){let{match:T}=await import("ts-pattern");return T(f).returnType().with(...j.EVMChains,async(_)=>{let X=await P5(_),W=await X.createTransaction(G),Z="feeOptionKey"in G?G.feeOptionKey:j.FeeOption.Fast;return X.estimateTransactionFee({...W,feeOption:Z})}).with(j.Chain.Bitcoin,j.Chain.BitcoinCash,j.Chain.Dogecoin,j.Chain.Dash,j.Chain.Litecoin,j.Chain.Solana,j.Chain.Ripple,j.Chain.Tron,j.Chain.Near,j.Chain.Cardano,async(_)=>{return(await P5(_)).estimateTransactionFee(G)}).with(j.Chain.Aptos,async()=>{let{getAptosToolbox:_}=await Promise.resolve().then(() => (F0(),C0));return _().estimateTransactionFee(G)}).with(j.Chain.Starknet,async()=>{let{getStarknetToolbox:_}=await Promise.resolve().then(() => (yy(),fy));return(await _()).estimateTransactionFee(G)}).with(j.Chain.Stellar,async()=>{let{getStellarToolbox:_}=await Promise.resolve().then(() => (oy(),vy));return _().estimateTransactionFee()}).with(j.Chain.Sui,async()=>{let{getSuiToolbox:_}=await Promise.resolve().then(() => (Gy(),_y));return _().estimateTransactionFee(G)}).with(j.Chain.Ton,async()=>{let{getTONToolbox:_}=await Promise.resolve().then(() => (Zy(),Wy));return _().estimateTransactionFee(G)}).with(...j.CosmosChains,async()=>{let{estimateTransactionFee:_}=await Promise.resolve().then(() => (a0(),r0));return _(G)}).otherwise(async()=>j.AssetValue.from({chain:f}))}}async function P5(f,y){let{match:G}=await import("ts-pattern");return G(f).returnType().with(...j.EVMChains,async()=>{let{getEvmToolboxAsync:T}=await Promise.resolve().then(() => (W1(),J_));return await T(f,y)}).with(...j.UTXOChains,async()=>{let{getUtxoToolbox:T}=await Promise.resolve().then(() => (s1(),a1));return T(f,y)}).with(...j.CosmosChains,async()=>{let{getCosmosToolbox:T}=await Promise.resolve().then(() => (a0(),r0));return T(f,y)}).with(j.Chain.Aptos,async()=>{let{getAptosToolbox:T}=await Promise.resolve().then(() => (F0(),C0));return T(y)}).with(j.Chain.Radix,async()=>{let{getRadixToolbox:T}=await Promise.resolve().then(() => (U5(),N5));return T(y)}).with(j.Chain.Ripple,async()=>{let{getRippleToolbox:T}=await Promise.resolve().then(() => (B5(),M5));return T(y)}).with(j.Chain.Solana,async()=>{let{getSolanaToolbox:T}=await Promise.resolve().then(() => (x1(),P1));return T(y)}).with(j.Chain.Stellar,async()=>{let{getStellarToolbox:T}=await Promise.resolve().then(() => (oy(),vy));return T(y)}).with(j.Chain.Starknet,async()=>{let{getStarknetToolbox:T}=await Promise.resolve().then(() => (yy(),fy));return T(y)}).with(j.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (Gy(),_y));return T(y)}).with(j.Chain.Tron,async()=>{let{getTronToolbox:T}=await Promise.resolve().then(() => (A5(),I5));return T(y)}).with(j.Chain.Near,async()=>{let{getNearToolbox:T}=await Promise.resolve().then(() => (z5(),L5));return T(y)}).with(j.Chain.Cardano,async()=>{let{getCardanoToolbox:T}=await Promise.resolve().then(() => (Y1(),Q1));return T(y)}).with(j.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (Zy(),Wy));return T(y)}).otherwise(()=>{throw new j.SwapKitError("toolbox_not_supported",{chain:f})})}