@swapkit/toolboxes 4.15.9 → 4.15.11

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 (189) hide show
  1. package/dist/src/index.cjs +1 -1
  2. package/dist/src/index.js +1 -1
  3. package/dist/src/utxo/index.cjs +1 -1
  4. package/dist/src/utxo/index.js +1 -1
  5. package/dist/types/__tests__/helpers.d.ts +0 -1
  6. package/dist/types/aptos/index.d.ts +0 -1
  7. package/dist/types/aptos/toolbox.d.ts +0 -1
  8. package/dist/types/aptos/types.d.ts +0 -1
  9. package/dist/types/cardano/index.d.ts +0 -1
  10. package/dist/types/cardano/toolbox.d.ts +0 -1
  11. package/dist/types/cardano/types.d.ts +0 -1
  12. package/dist/types/cosmos/index.d.ts +0 -1
  13. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts +0 -1
  14. package/dist/types/cosmos/thorchainUtils/index.d.ts +0 -1
  15. package/dist/types/cosmos/thorchainUtils/messages.d.ts +6 -7
  16. package/dist/types/cosmos/thorchainUtils/registry.d.ts +2 -3
  17. package/dist/types/cosmos/thorchainUtils/types/MsgCompiled.d.ts +0 -1
  18. package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts +0 -1
  19. package/dist/types/cosmos/thorchainUtils/types/index.d.ts +0 -1
  20. package/dist/types/cosmos/toolbox/cosmos.d.ts +2 -3
  21. package/dist/types/cosmos/toolbox/index.d.ts +0 -1
  22. package/dist/types/cosmos/toolbox/thorchain.d.ts +7 -8
  23. package/dist/types/cosmos/types.d.ts +0 -1
  24. package/dist/types/cosmos/util.d.ts +3 -4
  25. package/dist/types/evm/api.d.ts +0 -1
  26. package/dist/types/evm/contracts/eth/multicall.d.ts +0 -1
  27. package/dist/types/evm/contracts/op/gasOracle.d.ts +0 -1
  28. package/dist/types/evm/helpers.d.ts +1 -2
  29. package/dist/types/evm/index.d.ts +0 -1
  30. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +0 -1
  31. package/dist/types/evm/toolbox/evm.d.ts +0 -1
  32. package/dist/types/evm/toolbox/index.d.ts +0 -1
  33. package/dist/types/evm/toolbox/op.d.ts +0 -1
  34. package/dist/types/evm/types.d.ts +0 -1
  35. package/dist/types/hypercore/helpers.d.ts +0 -1
  36. package/dist/types/hypercore/index.d.ts +0 -1
  37. package/dist/types/hypercore/signing.d.ts +0 -1
  38. package/dist/types/hypercore/toolbox.d.ts +0 -1
  39. package/dist/types/hypercore/types.d.ts +0 -1
  40. package/dist/types/index.d.ts +0 -1
  41. package/dist/types/near/helpers/core.d.ts +0 -1
  42. package/dist/types/near/helpers/gasEstimation.d.ts +0 -1
  43. package/dist/types/near/helpers/nep141.d.ts +0 -1
  44. package/dist/types/near/index.d.ts +0 -1
  45. package/dist/types/near/toolbox.d.ts +0 -1
  46. package/dist/types/near/types/contract.d.ts +0 -1
  47. package/dist/types/near/types/index.d.ts +0 -1
  48. package/dist/types/near/types/nep141.d.ts +0 -1
  49. package/dist/types/near/types/toolbox.d.ts +0 -1
  50. package/dist/types/near/types.d.ts +0 -1
  51. package/dist/types/radix/index.d.ts +0 -1
  52. package/dist/types/ripple/currency.d.ts +0 -1
  53. package/dist/types/ripple/index.d.ts +0 -1
  54. package/dist/types/ripple/tokens.d.ts +0 -1
  55. package/dist/types/solana/index.d.ts +0 -1
  56. package/dist/types/solana/toolbox.d.ts +0 -1
  57. package/dist/types/starknet/index.d.ts +0 -1
  58. package/dist/types/starknet/toolbox.d.ts +0 -1
  59. package/dist/types/starknet/types.d.ts +0 -1
  60. package/dist/types/stellar/index.d.ts +0 -1
  61. package/dist/types/stellar/toolbox.d.ts +0 -1
  62. package/dist/types/stellar/types.d.ts +0 -1
  63. package/dist/types/substrate/balance.d.ts +0 -1
  64. package/dist/types/substrate/index.d.ts +0 -1
  65. package/dist/types/substrate/substrate.d.ts +0 -1
  66. package/dist/types/substrate/types.d.ts +0 -1
  67. package/dist/types/sui/index.d.ts +0 -1
  68. package/dist/types/sui/toolbox.d.ts +0 -1
  69. package/dist/types/sui/types.d.ts +0 -1
  70. package/dist/types/ton/index.d.ts +0 -1
  71. package/dist/types/ton/toolbox.d.ts +0 -1
  72. package/dist/types/ton/types.d.ts +0 -1
  73. package/dist/types/tron/helpers/proto.d.ts +0 -1
  74. package/dist/types/tron/helpers/trongrid.d.ts +0 -1
  75. package/dist/types/tron/helpers/utils.d.ts +0 -1
  76. package/dist/types/tron/index.d.ts +0 -1
  77. package/dist/types/tron/toolbox.d.ts +0 -1
  78. package/dist/types/tron/types.d.ts +0 -1
  79. package/dist/types/types.d.ts +0 -1
  80. package/dist/types/utils.d.ts +0 -1
  81. package/dist/types/utxo/hdWallet.d.ts +0 -1
  82. package/dist/types/utxo/helpers/api.d.ts +0 -1
  83. package/dist/types/utxo/helpers/bchaddrjs.d.ts +1 -2
  84. package/dist/types/utxo/helpers/cashaddr.d.ts +0 -1
  85. package/dist/types/utxo/helpers/coinselect.d.ts +0 -1
  86. package/dist/types/utxo/helpers/index.d.ts +0 -1
  87. package/dist/types/utxo/helpers/txSize.d.ts +0 -1
  88. package/dist/types/utxo/helpers/xpubDerivation.d.ts +0 -1
  89. package/dist/types/utxo/index.d.ts +0 -1
  90. package/dist/types/utxo/toolbox/bitcoinCash.d.ts +3 -3
  91. package/dist/types/utxo/toolbox/index.d.ts +0 -1
  92. package/dist/types/utxo/toolbox/params.d.ts +0 -1
  93. package/dist/types/utxo/toolbox/utxo.d.ts +4 -4
  94. package/dist/types/utxo/toolbox/validators.d.ts +0 -1
  95. package/dist/types/utxo/toolbox/zcash.d.ts +1 -2
  96. package/dist/types/utxo/types.d.ts +0 -1
  97. package/package.json +77 -77
  98. package/dist/types/__tests__/helpers.d.ts.map +0 -1
  99. package/dist/types/aptos/index.d.ts.map +0 -1
  100. package/dist/types/aptos/toolbox.d.ts.map +0 -1
  101. package/dist/types/aptos/types.d.ts.map +0 -1
  102. package/dist/types/cardano/index.d.ts.map +0 -1
  103. package/dist/types/cardano/toolbox.d.ts.map +0 -1
  104. package/dist/types/cardano/types.d.ts.map +0 -1
  105. package/dist/types/cosmos/index.d.ts.map +0 -1
  106. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +0 -1
  107. package/dist/types/cosmos/thorchainUtils/index.d.ts.map +0 -1
  108. package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +0 -1
  109. package/dist/types/cosmos/thorchainUtils/registry.d.ts.map +0 -1
  110. package/dist/types/cosmos/thorchainUtils/types/MsgCompiled.d.ts.map +0 -1
  111. package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts.map +0 -1
  112. package/dist/types/cosmos/thorchainUtils/types/index.d.ts.map +0 -1
  113. package/dist/types/cosmos/toolbox/cosmos.d.ts.map +0 -1
  114. package/dist/types/cosmos/toolbox/index.d.ts.map +0 -1
  115. package/dist/types/cosmos/toolbox/thorchain.d.ts.map +0 -1
  116. package/dist/types/cosmos/types.d.ts.map +0 -1
  117. package/dist/types/cosmos/util.d.ts.map +0 -1
  118. package/dist/types/evm/api.d.ts.map +0 -1
  119. package/dist/types/evm/contracts/eth/multicall.d.ts.map +0 -1
  120. package/dist/types/evm/contracts/op/gasOracle.d.ts.map +0 -1
  121. package/dist/types/evm/helpers.d.ts.map +0 -1
  122. package/dist/types/evm/index.d.ts.map +0 -1
  123. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +0 -1
  124. package/dist/types/evm/toolbox/evm.d.ts.map +0 -1
  125. package/dist/types/evm/toolbox/index.d.ts.map +0 -1
  126. package/dist/types/evm/toolbox/op.d.ts.map +0 -1
  127. package/dist/types/evm/types.d.ts.map +0 -1
  128. package/dist/types/hypercore/helpers.d.ts.map +0 -1
  129. package/dist/types/hypercore/index.d.ts.map +0 -1
  130. package/dist/types/hypercore/signing.d.ts.map +0 -1
  131. package/dist/types/hypercore/toolbox.d.ts.map +0 -1
  132. package/dist/types/hypercore/types.d.ts.map +0 -1
  133. package/dist/types/index.d.ts.map +0 -1
  134. package/dist/types/near/helpers/core.d.ts.map +0 -1
  135. package/dist/types/near/helpers/gasEstimation.d.ts.map +0 -1
  136. package/dist/types/near/helpers/nep141.d.ts.map +0 -1
  137. package/dist/types/near/index.d.ts.map +0 -1
  138. package/dist/types/near/toolbox.d.ts.map +0 -1
  139. package/dist/types/near/types/contract.d.ts.map +0 -1
  140. package/dist/types/near/types/index.d.ts.map +0 -1
  141. package/dist/types/near/types/nep141.d.ts.map +0 -1
  142. package/dist/types/near/types/toolbox.d.ts.map +0 -1
  143. package/dist/types/near/types.d.ts.map +0 -1
  144. package/dist/types/radix/index.d.ts.map +0 -1
  145. package/dist/types/ripple/currency.d.ts.map +0 -1
  146. package/dist/types/ripple/index.d.ts.map +0 -1
  147. package/dist/types/ripple/tokens.d.ts.map +0 -1
  148. package/dist/types/solana/index.d.ts.map +0 -1
  149. package/dist/types/solana/toolbox.d.ts.map +0 -1
  150. package/dist/types/starknet/index.d.ts.map +0 -1
  151. package/dist/types/starknet/toolbox.d.ts.map +0 -1
  152. package/dist/types/starknet/types.d.ts.map +0 -1
  153. package/dist/types/stellar/index.d.ts.map +0 -1
  154. package/dist/types/stellar/toolbox.d.ts.map +0 -1
  155. package/dist/types/stellar/types.d.ts.map +0 -1
  156. package/dist/types/substrate/balance.d.ts.map +0 -1
  157. package/dist/types/substrate/index.d.ts.map +0 -1
  158. package/dist/types/substrate/substrate.d.ts.map +0 -1
  159. package/dist/types/substrate/types.d.ts.map +0 -1
  160. package/dist/types/sui/index.d.ts.map +0 -1
  161. package/dist/types/sui/toolbox.d.ts.map +0 -1
  162. package/dist/types/sui/types.d.ts.map +0 -1
  163. package/dist/types/ton/index.d.ts.map +0 -1
  164. package/dist/types/ton/toolbox.d.ts.map +0 -1
  165. package/dist/types/ton/types.d.ts.map +0 -1
  166. package/dist/types/tron/helpers/proto.d.ts.map +0 -1
  167. package/dist/types/tron/helpers/trongrid.d.ts.map +0 -1
  168. package/dist/types/tron/helpers/utils.d.ts.map +0 -1
  169. package/dist/types/tron/index.d.ts.map +0 -1
  170. package/dist/types/tron/toolbox.d.ts.map +0 -1
  171. package/dist/types/tron/types.d.ts.map +0 -1
  172. package/dist/types/types.d.ts.map +0 -1
  173. package/dist/types/utils.d.ts.map +0 -1
  174. package/dist/types/utxo/hdWallet.d.ts.map +0 -1
  175. package/dist/types/utxo/helpers/api.d.ts.map +0 -1
  176. package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +0 -1
  177. package/dist/types/utxo/helpers/cashaddr.d.ts.map +0 -1
  178. package/dist/types/utxo/helpers/coinselect.d.ts.map +0 -1
  179. package/dist/types/utxo/helpers/index.d.ts.map +0 -1
  180. package/dist/types/utxo/helpers/txSize.d.ts.map +0 -1
  181. package/dist/types/utxo/helpers/xpubDerivation.d.ts.map +0 -1
  182. package/dist/types/utxo/index.d.ts.map +0 -1
  183. package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +0 -1
  184. package/dist/types/utxo/toolbox/index.d.ts.map +0 -1
  185. package/dist/types/utxo/toolbox/params.d.ts.map +0 -1
  186. package/dist/types/utxo/toolbox/utxo.d.ts.map +0 -1
  187. package/dist/types/utxo/toolbox/validators.d.ts.map +0 -1
  188. package/dist/types/utxo/toolbox/zcash.d.ts.map +0 -1
  189. package/dist/types/utxo/types.d.ts.map +0 -1
@@ -1 +1 @@
1
- var DH=Object.create;var{getPrototypeOf:OH,defineProperty:ty,getOwnPropertyNames:t0,getOwnPropertyDescriptor:RH}=Object,C0=Object.prototype.hasOwnProperty;function H0(n){return this[n]}var xH,FH,TT=(n,y,T)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?xH??=new WeakMap:FH??=new WeakMap,t=f.get(n);if(t)return t}T=n!=null?DH(OH(n)):{};let C=y||!n||!n.__esModule?ty(T,"default",{value:n,enumerable:!0}):T;for(let H of t0(n))if(!C0.call(C,H))ty(C,H,{get:H0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Jn=(n)=>{var y=(T0??=new WeakMap).get(n),T;if(y)return y;if(y=ty({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of t0(n))if(!C0.call(y,o))ty(y,o,{get:H0.bind(n,o),enumerable:!(T=RH(n,o))||T.enumerable})}return T0.set(n,y),y},T0;var pH=(n)=>n;function SH(n,y){this[n]=pH.bind(null,y)}var Mn=(n,y)=>{for(var T in y)ty(n,T,{get:y[T],enumerable:!0,configurable:!0,set:SH.bind(y,T)})};var S=(n,y)=>()=>(n&&(y=n(n=0)),y);function uo(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return kH.test(y)}function A0({derivationPath:n,provider:y,...T}={}){let o,f=V.derivationPathToString(n||V.NetworkDerivationPath[V.Chain.Aptos],{allHardened:!0});async function t(){if(o)return o;return o=await Qo.match(T).with({phrase:Qo.P.string},async({phrase:l})=>{let{Ed25519Account:Z}=await import("@aptos-labs/ts-sdk");return Z.fromDerivationPath({mnemonic:l,path:f})}).with({signer:Qo.P.any},({signer:l})=>l).otherwise(()=>{return}),o}async function C(){let{Aptos:l,AptosConfig:Z}=await import("@aptos-labs/ts-sdk"),z=new Z({fullnode:y||V.getRPCUrlSync(V.Chain.Aptos)});return new l(z)}async function H(){return(await t())?.accountAddress.toString()||""}async function A(l){let Z=l||await H();if(!Z)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:z,chain:L}=V.getChainConfig(V.Chain.Aptos);try{let N=await C(),J=await N.getAccountAPTAmount({accountAddress:Z}),U=[V.AssetValue.from({chain:L,fromBaseDecimal:z,value:J.toString()})],B=await N.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Z}}}});for(let q of B){if(q.asset_type===Lo.COIN_TYPE||Number(q.amount)<=0)continue;let Y=q.asset_type;if(Y){let Q=("metadata"in q&&typeof q.metadata==="object"&&q.metadata!==null?q.metadata:void 0)?.decimals??z;U.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Y}`,fromBaseDecimal:Q,value:String(q.amount)}))}}return U}catch{return[V.AssetValue.from({chain:L})]}}async function _(l){if(!l){let{baseDecimal:B}=V.getChainConfig(V.Chain.Aptos),q=y||V.getRPCUrlSync(V.Chain.Aptos),Y=await fetch(`${q}/estimate_gas_price`),{gas_estimate:D}=await Y.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:B,value:String(D)})}let Z=await t();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");let z=await G(l),L=await C(),[N]=await L.transaction.simulate.simple({signerPublicKey:Z.publicKey,transaction:z});if(!N)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let J=BigInt(N.gas_used)*BigInt(N.gas_unit_price),{baseDecimal:U}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:U,value:J.toString()})}async function G({recipient:l,assetValue:Z,maxGasAmount:z,sender:L}){if(!uo(l))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await H();if(!N)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:J}=await import("@aptos-labs/ts-sdk"),U=await C(),B=J.from(N);try{let q=Z.isGasAsset?Lo.TRANSFER:Lo.FUNGIBLE_STORE_TRANSFER,Y=Qo.match({address:Z?.address,isGasAsset:Z.isGasAsset}).with({isGasAsset:!0},()=>[J.from(l),Z.getBaseValue("bigint")]).with({address:Qo.P.string},({address:D})=>[J.from(D),J.from(l),Z.getBaseValue("bigint")]).otherwise(()=>null);if(!Y)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:q,functionArguments:Y,typeArguments:Z.isGasAsset?[]:[Lo.FUNGIBLE_ASSET_METADATA]},options:z?{maxGasAmount:z}:void 0,sender:B})}catch(q){if(q instanceof V.SwapKitError)throw q;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",q)}}async function M(l){let Z=await t();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Z,transaction:l})}async function w({assetValue:l,maxGasAmount:Z,recipient:z}){let L=await t();if(!L)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!uo(z))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let N=L.accountAddress.toString(),J=await G({assetValue:l,maxGasAmount:Z,recipient:z,sender:N});return(await(await C()).signAndSubmitTransaction({signer:L,transaction:J})).hash}catch(N){if(N instanceof V.SwapKitError)throw N;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",N)}}async function X({senderAuthenticator:l,transaction:Z}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:l,transaction:Z})).hash}catch(z){throw new V.SwapKitError("toolbox_aptos_broadcast_error",z)}}async function W(l){let Z=await M(l);return X({senderAuthenticator:Z,transaction:l})}return{broadcastTransaction:X,createTransaction:G,estimateTransactionFee:_,getAddress:H,getBalance:A,signAndBroadcastTransaction:W,signTransaction:M,transfer:w,validateAddress:uo}}function _0({provider:n}){return async function({assetValue:T,recipient:o}){if(!uo(o))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(T.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),T.getBaseValue("string")],function:Lo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let t=T.address;if(!t)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[t,f.from(o).toString(),T.getBaseValue("string")],function:Lo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Lo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Qo,Lo,kH;var U0=S(()=>{V=require("@swapkit/helpers"),Qo=require("ts-pattern"),Lo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},kH=/^[0-9a-fA-F]+$/});var by={};Mn(by,{validateAptosAddress:()=>uo,getAptosToolbox:()=>A0,createAptosExtensionTransfer:()=>_0});module.exports=Jn(by);var vy=S(()=>{U0()});function q0(){function n(){let y=Date.now(),T=tT||y;return tT=T,y>tT?y:T+1}return uH+n().toString(36)}function xn(n){return async function(T,o=!0){let f=await w0.SwapKitApi.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=Cy.getChainConfig(n),C=f.map(({identifier:A,value:_,decimal:G})=>{return new Cy.AssetValue({decimal:G||t,identifier:A,value:_})});if(!C.some((A)=>A.isGasAsset))return[Cy.AssetValue.from({chain:n}),...C];return C}}var Cy,w0,uH,tT=0;var dn=S(()=>{Cy=require("@swapkit/helpers"),w0=require("@swapkit/helpers/api"),uH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Hy(n){return{getBalance:xn(n)}}function PH(n){return n}var Vy=S(()=>{dn()});function l0(n){return new Zo.JsonRpcProvider(n)}async function UT(n,y){return l0(y||await g.getRPCUrl(n))}function Ay(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function wT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...IH({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function qT(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function IH({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=g.getChainConfig(n);return _T.match(n).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:T,symbol:T}}))}async function GT(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let T={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(T)}function X0(n,y){let T=y!==void 0?`index ${y}: `:"",o=(f,t)=>{throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${T}${t}`}})};_T.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!$H(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!G0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!G0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function W0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:T})=>({name:y,type:T}))}function CT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function HT(n,y){if(n.isTuple()&&n.components){let T=CT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:HT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=CT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:HT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function AT(n,y){if(typeof n==="bigint")return n;if(y?.isTuple()&&typeof n?.toObject==="function"){let T=n.toObject(),o={};for(let[f,t]of(y.components??[]).entries())o[t.name]=AT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>AT(o,T??void 0))}return n}function EH({chain:n,abi:y,data:T,to:o}){let t=new Zo.Interface(y).parseTransaction({data:T});if(!t)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=CT(t.name);C[H]=t.fragment.inputs.map((w)=>({name:w.name,type:HT(w,C)}));let A={};for(let[w,X]of t.fragment.inputs.entries())A[X.name]=AT(t.args[w],X);let{chainId:_}=g.getChainConfig(n),G={chainId:Number(_),verifyingContract:Zo.getAddress(o)},M=W0(G);return{domain:G,message:A,primaryType:H,types:{EIP712Domain:M,...C}}}function lT(n,y){if(!Array.isArray(n)||n.length===0)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[T,o]of n.entries())if(X0(o,T),y!==void 0&&o.chainId!==y)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${T}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var g,Zo,_T,G0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),$H=(n)=>{try{return typeof n==="string"&&!!Zo.getAddress(n)}catch{return!1}};var _y=S(()=>{g=require("@swapkit/helpers"),Zo=require("ethers"),_T=require("ts-pattern")});var B0;var M0=S(()=>{B0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function Io({chain:n=R.Chain.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:KH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:Z0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:QT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:mH({chain:n,provider:y,signer:T}),createContract:BT({chain:n,provider:y}),createContractTxObject:Jo({chain:n,provider:y}),createTransaction:XT({chain:n,provider:y,signer:T}),createTransferTx:XT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:Eo(y),estimateCall:J0({provider:y,signer:T}),estimateGasLimit:iH({chain:n,provider:y,signer:T}),estimateGasPrices:Yo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:rH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:Hy(n).getBalance,getNetworkParams:wT(n),isApproved:jH({chain:n,provider:y}),sendTransaction:Y0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:hH({signer:T}),signMessage:T?(f)=>T.signMessage(f):void 0,signTypedData:T?({domain:f,types:t,value:C})=>T.signTypedData(f,t,C):void 0,transfer:cH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:wy}}function wy(n){try{return Sn.getAddress(n),!0}catch{return!1}}function $o(n){return n instanceof Sn.BrowserProvider}function qy(n,y,T){return new Sn.Contract(n,Sn.Interface.from(y),T)}function BT({provider:n}){return function(T,o){return new Sn.Contract(T,Sn.Interface.from(o),n)}}function MT({abi:n,funcName:y}){let T=n.find((o)=>o.name===y);if(!T)throw new R.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return T.stateMutability&&bH.includes(T.stateMutability)}function L0(n){return Sn.getAddress(n)}function Eo(n){return function({value:T,...o}){if(!$o(n))throw new R.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,...A}=o;return n.send("eth_sendTransaction",[{...A,value:Ay(BigInt(T||0))}])}}function Q0(n,y){let T=bo(n,y);if(T)return Sn.getAddress(T.toLowerCase());throw new R.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function bo({chain:n,symbol:y,ticker:T},o){try{let f=n===R.Chain.BinanceSmartChain&&y==="BNB"&&T==="BNB",t=n===R.Chain.Hyperevm&&y==="HYPE"&&T==="HYPE",C=n===o&&y===o&&T===o,H=VH.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return LT[o];return Sn.getAddress(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function Jo({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>qy(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Yo({chain:n,provider:y,isEIP1559Compatible:T=!0}){return WT.match(n).with(R.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:t}=await y.getFeeData();if(!f||t===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Average),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Average)},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(R.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new R.SwapKitError("toolbox_evm_no_fee_data");let t=f*12n/10n;return{[R.FeeOption.Average]:{gasPrice:t},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:t,gasPrice:C}=await y.getFeeData();if(T){if(f===null||t===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:t},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}if(!C)throw new R.SwapKitError("toolbox_evm_no_gas_price");return{[R.FeeOption.Average]:{gasPrice:C},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function QT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:A,funcParams:_=[],txOverrides:G={},feeOption:M=R.FeeOption.Fast}){let w=t||n;if(!C)throw new R.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=MT({abi:H,funcName:A});if(X&&$o(w)&&T){let Z=Jo({chain:o,provider:w}),z=G?.from||await T?.getAddress(),L=await Z({abi:H,contractAddress:C,funcName:A,funcParams:_,txOverrides:{...G,from:z}});return Eo(w)(L)}let W=qy(C,H,w);if(X){if(!T)throw new R.SwapKitError("toolbox_evm_no_signer");let Z=G?.from||await T.getAddress();if(!Z)throw new R.SwapKitError("toolbox_evm_no_signer_address");let z=W.connect(T),L=Yo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:N,maxPriorityFeePerGas:J,gasPrice:U}=(await L())[M],B=await W.getFunction(A).estimateGas(..._,G),q=await z[A](..._,{...G,gasLimit:B,gasPrice:U,maxFeePerGas:N,maxPriorityFeePerGas:J,nonce:G?.nonce||await w.getTransactionCount(Z)});return typeof q?.hash==="string"?q?.hash:q}let l=await W[A]?.(..._);return typeof l?.hash==="string"?l?.hash:l}}function Z0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return QT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Po.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function jH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=Uy}){let H=await Z0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return R.SwapKitNumber.fromBigInt(H).gte(R.SwapKitNumber.fromBigInt(BigInt(C)))}}function KH({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=R.FeeOption.Fast,amount:A,gasLimitFallback:_,from:G,nonce:M}){let w=[C,BigInt(A||Uy)],X=await n?.getAddress()||G,W={abi:Po.erc20ABI,contractAddress:t,funcName:"approve",funcParams:w,signer:n,txOverrides:{from:X}};if($o(T)){let Z=Jo({chain:o,provider:T}),z=Eo(T),L=await Z(W);return z(L)}return QT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...W,feeOption:H,funcParams:w,txOverrides:{from:X,gasLimit:_?BigInt(_.toString()):void 0,nonce:M}})}}function cH({signer:n,isEIP1559Compatible:y=!0,provider:T}){return async function({assetValue:f,memo:t,recipient:C,feeOptionKey:H=R.FeeOption.Fast,sender:A,..._}){let{hexlify:G,toUtf8Bytes:M}=await import("ethers"),w=f.getBaseValue("bigint"),X=f.chain,W=A||await n?.getAddress(),l=Y0({chain:X,isEIP1559Compatible:y,provider:T,signer:n});if(!W)throw new R.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let U={..._,data:G(M(t||"")),feeOptionKey:H,from:W,to:C,value:w};return l(U)}if(!bo(f,X))throw new R.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:z,maxPriorityFeePerGas:L,gasPrice:N}=(await Yo({chain:X,isEIP1559Compatible:y,provider:T})())[H],J=await XT({chain:X,provider:T,signer:n})({assetValue:f,data:G(M(t||"")),gasPrice:N,maxFeePerGas:z,maxPriorityFeePerGas:L,memo:t,recipient:C,sender:W});return l(J)}}function J0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:t,funcParams:C=[],txOverrides:H}){if(!o)throw new R.SwapKitError("toolbox_evm_no_contract_address");let A=qy(o,f,n);return y?A.connect(y).getFunction(t).estimateGas(...C,H):A.getFunction(t).estimateGas(...C,H)}}function iH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:t,data:C,sender:H,funcName:A,funcParams:_,txOverrides:G}){let M=o.bigIntValue,w=o.isGasAsset?null:bo(o,o.chain);if(w&&A)return J0({provider:n,signer:y})({abi:Po.erc20ABI,contractAddress:w,funcName:A,funcParams:_,txOverrides:G});let{hexlify:X,toUtf8Bytes:W}=await import("ethers");return n.estimateGas({data:C?C:t?X(W(t)):void 0,from:H,to:f,value:M})}}function hH({signer:n}){if(!n)return;return(y)=>GT(n,y)}function Y0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=R.FeeOption.Fast,...C}){let{from:H,to:A,data:_,value:G,...M}=C;if(!y)throw new R.SwapKitError("toolbox_evm_no_signer");if(!A)throw new R.SwapKitError("toolbox_evm_no_to_address");let w={...M,data:_||"0x",from:H,to:A,value:BigInt(G||0)};if($o(n))return Eo(n)(w);let X=H||await y.getAddress(),W=C.nonce||await n.getTransactionCount(X),l=(await n.getNetwork()).chainId,Z=JT(w,T);if(Z==="eip7702")lT(w.authorizations||[],l);let z=WT.match(Z).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...w,chainId:l,nonce:W,type:z,...Z==="eip7702"&&{authorizationList:w.authorizations}},N=Yo({chain:o,isEIP1559Compatible:T,provider:n}),U=Z!=="legacy"&&!(w.maxFeePerGas&&w.maxPriorityFeePerGas)||!w.gasPrice?Object.entries((await N())[t]).reduce((q,[Y,D])=>({...q,[Y]:Ay(BigInt(D))}),{}):{},B;try{B=Ay(w.gasLimit||await n.estimateGas(L)*11n/10n)}catch(q){throw new R.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:q})}try{let q={...L,gasLimit:B,...U};try{return(await y.sendTransaction(q)).hash}catch{let Y=await y.signTransaction({...q,from:X});return(await n.broadcastTransaction(Y)).hash}}catch(q){throw new R.SwapKitError("toolbox_evm_error_sending_transaction",{error:q})}}}function XT({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:t,data:C,sender:H,maxFeePerGas:A,maxPriorityFeePerGas:_,gasPrice:G,...M}){let w=o.getBaseValue("bigint"),X=o.chain,W=H||await y?.getAddress();if(!W)throw new R.SwapKitError("toolbox_evm_no_from_address");if(R.isGasAsset(o)){let{hexlify:z,toUtf8Bytes:L}=await import("ethers");return{...M,data:C||z(L(f||"")),from:W,to:t,value:w}}let l=bo(o,X);if(!l)throw new R.SwapKitError("toolbox_evm_no_contract_address");return Jo({chain:o.chain,provider:n})({abi:Po.erc20ABI,contractAddress:l,funcName:"transfer",funcParams:[t,w],txOverrides:{from:W,gasPrice:G,maxFeePerGas:A,maxPriorityFeePerGas:_}})}}function mH({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let A=await y?.getAddress()||H,_=Jo({chain:T,provider:n}),G=["bigint","number"].includes(typeof C)?C:C||Uy;return await _({abi:Po.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(G)],txOverrides:{from:A}})}}function rH({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=R.FeeOption.Fast,...t}){let H=await Yo({chain:T,isEIP1559Compatible:y,provider:n})(),A=await n.estimateGas(t),_=R.AssetValue.from({chain:T}),{gasPrice:G,maxFeePerGas:M,maxPriorityFeePerGas:w}=H[f];if(!y&&G)return _.set(R.SwapKitNumber.fromBigInt(G*A,_.decimal));if(M&&w){let X=(M+w)*A;return _.set(R.SwapKitNumber.fromBigInt(X,_.decimal))}throw new R.SwapKitError("toolbox_evm_no_gas_price")}}var R,Po,Sn,WT,Uy,bH,vH,LT,VH,jy=(n)=>n.type===4||(n.authorizations?.length??0)>0,ZT=(n)=>!jy(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),JT=(n,y=!0)=>{if(jy(n))return"eip7702";if(ZT(n)||y)return"eip1559";return"legacy"};var Ky=S(()=>{Vy();_y();R=require("@swapkit/helpers"),Po=require("@swapkit/helpers/contracts"),Sn=require("ethers"),WT=require("ts-pattern"),Uy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");bH=["payable","nonpayable"];vH=R.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),LT={...vH,[R.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[R.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},VH=[R.Chain.Arbitrum,R.Chain.Aurora,R.Chain.Base,R.Chain.Optimism]});function cy(n){let y=wn(Cn.Chain.Ethereum)(n);async function T(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",t="aggregate",C=Cn.FeeOption.Fast){let H=await y.createContractTxObject({abi:B0,contractAddress:f,funcName:t,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:T}}function wn(n){return function({provider:T,...o}){let f=qT(n),t=Gy.match(o).with({phrase:Gy.P.string},({phrase:H})=>N0.HDNodeWallet.fromPhrase(H).connect(T)).with({signer:Gy.P.any},({signer:H})=>H).otherwise(()=>{return});return Io({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var Cn,N0,Gy,iy,hy,my,ry,gy,dy,ay,z0,sy,ey,nf,of,yf,ff,ly,Tf,tf,Cf,Hf;var YT=S(()=>{M0();_y();Ky();Cn=require("@swapkit/helpers"),N0=require("ethers"),Gy=require("ts-pattern");iy=wn(Cn.Chain.Adi),hy=wn(Cn.Chain.Arbitrum),my=wn(Cn.Chain.Aurora),ry=wn(Cn.Chain.Avalanche),gy=wn(Cn.Chain.Base),dy=wn(Cn.Chain.Berachain),ay=wn(Cn.Chain.BinanceSmartChain),z0=wn(Cn.Chain.Botanix),sy=wn(Cn.Chain.Core),ey=wn(Cn.Chain.Corn),nf=wn(Cn.Chain.Cronos),of=wn(Cn.Chain.Gnosis),yf=wn(Cn.Chain.Hyperevm),ff=wn(Cn.Chain.Polygon),ly=wn(Cn.Chain.Sonic),Tf=wn(Cn.Chain.Unichain),tf=wn(Cn.Chain.XLayer),Cf=wn(Cn.Chain.Monad),Hf=wn(Cn.Chain.MegaETH)});var D0;var O0=S(()=>{D0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function NT(n){return new Af.Contract(dH,D0,n)}function R0(n){return async function(){let T=NT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function x0(n){return async function({from:T,to:o,nonce:f,...t}){let{Transaction:C}=await import("ethers");if(!o)throw new Hn.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...t,authorizationList:t.authorizationList,nonce:f?f:T?await n.getTransactionCount(T):0,to:o}).serialized}}function F0(n){return async function(T){let o=NT(n),f=await x0(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function p0(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function aH(n){return async function(T){let o=await F0(n)(T)??0n,f=await p0(n)(T);return o+f}}function sH(n){return async function(T){let o=NT(n),f=await x0(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function eH(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await R0(n)(),C=f;if(!(T&&o))throw new Hn.SwapKitError("toolbox_evm_no_fee_data");return{[Hn.FeeOption.Average]:{gasPrice:C,l1GasPrice:t,maxFeePerGas:T,maxPriorityFeePerGas:o},[Hn.FeeOption.Fast]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fast),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fast)},[Hn.FeeOption.Fastest]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fastest),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fastest)}}}catch(T){throw new Hn.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}function _f({provider:n,...y}){let T=Xy.match(y).with({phrase:Xy.P.string},({phrase:t})=>Af.HDNodeWallet.fromPhrase(t).connect(n)).with({signer:Xy.P.any},({signer:t})=>t).otherwise(()=>{return}),o=Io({provider:n,signer:T}),f=R0(n);return{...o,estimateGasPrices:eH(n),estimateL1Gas:sH(n),estimateL1GasCost:F0(n),estimateL2GasCost:p0(n),estimateTotalGasCost:aH(n),getBalance:Hy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,Af,Xy,dH="0x420000000000000000000000000000000000000f";var zT=S(()=>{Vy();O0();Ky();Hn=require("@swapkit/helpers"),Af=require("ethers"),Xy=require("ts-pattern")});var u0={};Mn(u0,{validateEVMAddress:()=>wy,toChecksumAddress:()=>L0,isStateChangingCall:()=>MT,isEIP7702Transaction:()=>jy,isEIP1559Transaction:()=>ZT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getEvmToolboxAsync:()=>k0,getEvmToolbox:()=>DT,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>JT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>BT,getChecksumAddressFromAsset:()=>Q0,createContract:()=>qy,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,ETHToolbox:()=>cy,ContractAddress:()=>LT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>z0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});function DT(n,y){return S0.match(n).with(Un.Chain.Adi,()=>iy(y)).with(Un.Chain.Arbitrum,()=>hy(y)).with(Un.Chain.Aurora,()=>my(y)).with(Un.Chain.Avalanche,()=>ry(y)).with(Un.Chain.Base,()=>gy(y)).with(Un.Chain.Berachain,()=>dy(y)).with(Un.Chain.BinanceSmartChain,()=>ay(y)).with(Un.Chain.Botanix,()=>ly(y)).with(Un.Chain.Core,()=>sy(y)).with(Un.Chain.Corn,()=>ey(y)).with(Un.Chain.Cronos,()=>nf(y)).with(Un.Chain.Ethereum,()=>cy(y)).with(Un.Chain.Gnosis,()=>of(y)).with(Un.Chain.Hyperevm,()=>yf(y)).with(Un.Chain.Optimism,()=>_f(y)).with(Un.Chain.Polygon,()=>ff(y)).with(Un.Chain.Sonic,()=>ly(y)).with(Un.Chain.Unichain,()=>Tf(y)).with(Un.Chain.XLayer,()=>tf(y)).with(Un.Chain.Monad,()=>Cf(y)).with(Un.Chain.MegaETH,()=>Hf(y)).exhaustive()}async function k0(n,y){let T={...y,provider:y?.provider||await UT(n)};return DT(n,T)}var Un,S0;var OT=S(()=>{_y();YT();zT();Un=require("@swapkit/helpers"),S0=require("ts-pattern");Ky();YT();zT()});var P0;var I0=S(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(P0||={})});var $0={};Mn($0,{validateEVMAddress:()=>wy,validateAuthorizations:()=>lT,validateAuthorization:()=>X0,toHexString:()=>Ay,toChecksumAddress:()=>L0,signAuthorization:()=>GT,parseEIP712FromEVMTx:()=>EH,isStateChangingCall:()=>MT,isEIP7702Transaction:()=>jy,isEIP1559Transaction:()=>ZT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getProviderSync:()=>l0,getProvider:()=>UT,getNetworkParams:()=>wT,getIsEIP1559Compatible:()=>qT,getEvmToolboxAsync:()=>k0,getEvmToolbox:()=>DT,getEvmApi:()=>Hy,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>JT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>BT,getChecksumAddressFromAsset:()=>Q0,createCustomEvmApi:()=>PH,createContract:()=>qy,buildEIP712DomainType:()=>W0,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,EthNetwork:()=>P0,ETHToolbox:()=>cy,ContractAddress:()=>LT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>z0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});module.exports=Jn($0);var RT=S(()=>{Vy();_y();OT();I0()});async function FT(n,y){let T=await fetch(`${c0}${n}`,{...y,headers:{project_id:K0,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function i0(n){try{return await FT(`/addresses/${n}/utxos`)}catch{return[]}}async function oA(){return(await FT("/blocks/latest")).slot}async function yA(){let n=await FT("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Fn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Fn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Fn.default(n.min_fee_a),minFeeB:new Fn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Fn.default(15),priceMem:new Fn.default(n.price_mem),priceSteps:new Fn.default(n.price_step),stakeKeyDeposit:new Fn.default(2000000),utxoCostPerByte:new Fn.default(n.coins_per_utxo_size)}}async function b0(n){let y=await fetch(`${c0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:K0},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function fA(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new Fn.default(o.quantity):new Fn.default(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Fn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:T.output_index,tokens:t,txId:T.tx_hash}})}async function TA(n){try{let y=await i0(n),T=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:A,quantity:_}=H;if(A==="lovelace")T+=BigInt(_);else{let G=o.get(A)||0n;o.set(A,G+BigInt(_))}}}let f=[],{baseDecimal:t}=An.getChainConfig(An.Chain.Cardano);if(T>0n)f.push(An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(An.AssetValue.from({asset:`${An.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[An.AssetValue.from({chain:An.Chain.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[An.AssetValue.from({chain:An.Chain.Cardano})]}}function h0(n){if(!n||typeof n!=="string")return!1;try{let y=v0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function tA(n,y=0,T=0){let o=await V0.mnemonicToSeed(n,""),t=(await j0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(xT+1852).derive(xT+1815).derive(xT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),A=Nn.crypto.hash28(H),G=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Nn.crypto.hash28(G),w={hash:A,type:Nn.types.HashType.ADDRESS},X={hash:M,type:Nn.types.HashType.ADDRESS},l=new Nn.address.BaseAddress(nA,w,X).getBech32(),Z=C.toPrivateKey();return{getAddress:()=>l,publicKey:H,publicKeyHash:A,signTransaction:async(z)=>{try{let L=await import("@stricahq/cbors"),N=Buffer.from(z,"hex"),J=L.Decoder.decode(N),[U,B,q,Y]=J.value,D=L.Encoder.encode(U),Q=Nn.crypto.hash32(D),O=Z.sign(Q),x=B instanceof Map?B:new Map,k=x.get(E0)||[];k.push([H,O]),x.set(E0,k);let u=[U,x,q,Y];return L.Encoder.encode(u).toString("hex")}catch(L){throw new An.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function CA(n){let y,T,o;async function f(){if(!o)o=await yA();return o}async function t(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let X=n.index??0;return y=await tA(n.phrase,0,X),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(T)return T;let X=await t();if(!X)return"";if("getAddress"in X)return T=await X.getAddress(),T;return""}async function H(X){let W=X||await C();if(!W)throw new An.SwapKitError("core_wallet_connection_not_found");return TA(W)}async function A(X){if(X)try{let{tx:z}=await _(X),L=z.getFee();return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let W=await f(),l=400,Z=W.minFeeB.plus(W.minFeeA.times(l));return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:Z.toString()})}async function _({sender:X="",recipient:W,assetValue:l,memo:Z,pureLovelaceOnly:z=!1}){let L=X||await C();if(!L)throw new An.SwapKitError("core_wallet_connection_not_found");let[N,J,U]=await Promise.all([i0(L),oA(),f()]),B=N.filter((Tn)=>z?Tn.amount.every((on)=>on.unit==="lovelace"):Tn.amount.some((on)=>on.unit==="lovelace")).sort((Tn,on)=>{let Zn=Tn.amount.some((On)=>On.unit!=="lovelace"),Bn=on.amount.some((On)=>On.unit!=="lovelace");if(Zn===Bn)return 0;return Zn?1:-1}),q=Nn.utils.getAddressFromString(L),Y=Nn.utils.getAddressFromString(W),D=fA(B,q),Q=new Fn.default(l.getBaseValue("string")),O=[{address:Y,amount:Q,tokens:[]}],x;if(Z){let Tn=new Map;Tn.set("msg",[Z]),x={metadata:[{data:Tn,label:674}]}}let k={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},j=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:x,changeAddress:q,inputs:D,outputs:O,ttl:J+3600}),{payload:s}=j.buildTransaction();return{tx:j,unsignedTx:s}}async function G(X){let W=await t();if(!W||!("signTransaction"in W))throw new An.SwapKitError("core_wallet_connection_not_found");return W.signTransaction(X)}async function M({recipient:X,assetValue:W,memo:l}){let Z=await t();if(!Z||!("signTransaction"in Z))throw new An.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:z}=await _({assetValue:W,memo:l,recipient:X,sender:await C()}),L=await G(z);return await b0(L)}async function w(X){let W=await G(X);return await b0(W)}return{createTransaction:_,estimateTransactionFee:A,getAddress:C,getBalance:H,signAndBroadcastTransaction:w,signTransaction:G,transfer:M,validateAddress:h0}}var v0,V0,j0,Nn,An,Fn,K0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",c0="https://cardano-mainnet.blockfrost.io/api/v0",nA,xT=2147483648,E0=0;var m0=S(()=>{v0=require("@scure/base"),V0=require("@scure/bip39"),j0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),An=require("@swapkit/helpers"),Fn=TT(require("bignumber.js")),nA=Nn.types.NetworkId.MAINNET});var pT={};Mn(pT,{validateCardanoAddress:()=>h0,getCardanoToolbox:()=>CA});module.exports=Jn(pT);var ST=S(()=>{m0()});function Wy(n){return hn.base64.encode(Uint8Array.from(hn.bech32.fromWords(hn.bech32.decode(n).words)))}function By(n,y="thor"){return hn.bech32.encode(y,hn.bech32.toWords(hn.base64.decode(n)))}function HA(n){return hn.base64.encode(n)}function AA(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new r0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hn.base64.decode(n)}var hn,r0;var kT=S(()=>{hn=require("@scure/base"),r0=require("@swapkit/helpers")});function an(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return a0;case b.Chain.Noble:return s0;default:return d0}}async function sn(n){let y=await import("@cosmjs/stargate"),T=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return T.connect({headers:o,url:n})}async function No(n,y,T={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,t=o.GasPrice??o.default?.GasPrice,C=typeof T==="string"?T:"0.0003uatom",H=typeof T==="string"?{}:T;return f.connectWithSigner(n,y,{gasPrice:t.fromString(C),...H})}async function PT(n,y){let T=await import("@cosmjs/stargate");return(T.SigningStargateClient??T.default?.SigningStargateClient).offline(n,y)}async function IT({sender:n,recipient:y,assetValue:T,memo:o="",feeRate:f,sequence:t,accountNumber:C}){let{chain:H,chainId:A}=T,_=await b.getRPCUrl(H),M=await(await sn(_)).getAccount(n);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let w=b.AssetValue.from({chain:H}),X=to(w.symbol),W=an(H),l=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:W.gas}:W,Z={amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:A,fee:l,memo:o,msgs:[{typeUrl:_A(H),value:Z}],sequence:t??M.sequence}}var b,uT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",g0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",d0,a0,s0,to=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return uT;case"uYUM":case"YUM":return g0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},My=({symbol:n,chain:y})=>{if(y===b.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${b.Chain.Maya}.${n}`).toUpperCase();if(y===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${b.Chain.THORChain}.${n}`:n).toUpperCase();return to(n,!1)},_A=(n)=>{switch(n){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},UA,$T=(n,y)=>{let T=UA[n.toLowerCase()];if(!T)return b.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:t}=T,C=o?{chain:o}:{asset:f};return b.AssetValue.from({...C,fromBaseDecimal:t,value:y})};var Ly=S(()=>{b=require("@swapkit/helpers"),d0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},a0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},s0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};UA={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[uT.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var e0={};Mn(e0,{$root:()=>p});var Ln,v,un,I,p;var nC=S(()=>{Ln=TT(require("protobufjs/minimal.js")),v=Ln.default.Reader,un=Ln.default.Writer,I=Ln.default.util,p=Ln.default.roots.default||(Ln.default.roots.default={});p.common=(()=>{let n={};return n.Asset=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.Asset;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.chain=o.string();break;case 2:C.symbol=o.string();break;case 3:C.ticker=o.string();break;case 4:C.synth=o.bool();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!I.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!I.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof p.common.Asset)return o;let f=new p.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.chain="",t.symbol="",t.ticker="",t.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))t.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))t.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))t.synth=o.synth;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))p.common.Asset.encode(o.asset,f.uint32(10).fork()).ldelim();if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))f.uint32(18).string(o.amount);if(o.decimals!=null&&Object.hasOwnProperty.call(o,"decimals"))f.uint32(24).int64(o.decimals);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.Coin;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.asset=p.common.Asset.decode(o,o.uint32());break;case 2:C.amount=o.string();break;case 3:C.decimals=o.int64();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=p.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!I.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!I.isInteger(o.decimals)&&!(o.decimals&&I.isInteger(o.decimals.low)&&I.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof p.common.Coin)return o;let f=new p.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=p.common.Asset.fromObject(o.asset)}if(o.amount!=null)f.amount=String(o.amount);if(o.decimals!=null){if(I.Long)(f.decimals=I.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)if(t.asset=null,t.amount="",I.Long){let C=new I.Long(0,0,!1);t.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else t.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))t.asset=p.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))t.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")t.decimals=f.longs===String?String(o.decimals):o.decimals;else t.decimals=f.longs===String?I.Long.prototype.toString.call(o.decimals):f.longs===Number?new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.PubKeySet;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.secp256k1=o.string();break;case 2:C.ed25519=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!I.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!I.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof p.common.PubKeySet)return o;let f=new p.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.secp256k1="",t.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))t.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))t.ed25519=o.ed25519;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(T){if(this.coins=[],this.gas=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=I.emptyArray,y.prototype.gas=I.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.common.Coin.encode(o.coins[t],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let t=0;t<o.gas.length;++t)p.common.Coin.encode(o.gas[t],f.uint32(50).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(58).string(o.memo);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.Tx;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.id=o.string();break;case 2:C.chain=o.string();break;case 3:C.fromAddress=o.string();break;case 4:C.toAddress=o.string();break;case 5:if(!C.coins?.length)C.coins=[];C.coins.push(p.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(p.common.Coin.decode(o,o.uint32()));break;case 7:C.memo=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!I.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!I.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!I.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=p.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.gas!=null&&o.hasOwnProperty("gas")){if(!Array.isArray(o.gas))return"gas: array expected";for(let f=0;f<o.gas.length;++f){let t=p.common.Coin.verify(o.gas[f]);if(t)return"gas."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}return null},y.fromObject=function(o){if(o instanceof p.common.Tx)return o;let f=new p.common.Tx;if(o.id!=null)f.id=String(o.id);if(o.chain!=null)f.chain=String(o.chain);if(o.fromAddress!=null)f.fromAddress=String(o.fromAddress);if(o.toAddress!=null)f.toAddress=String(o.toAddress);if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[t]=p.common.Coin.fromObject(o.coins[t])}}if(o.gas){if(!Array.isArray(o.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let t=0;t<o.gas.length;++t){if(typeof o.gas[t]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[t]=p.common.Coin.fromObject(o.gas[t])}}if(o.memo!=null)f.memo=String(o.memo);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[],t.gas=[];if(f.defaults)t.id="",t.chain="",t.fromAddress="",t.toAddress="",t.memo="";if(o.id!=null&&o.hasOwnProperty("id"))t.id=o.id;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=o.toAddress;if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=p.common.Coin.toObject(o.coins[C],f)}if(o.gas?.length){t.gas=[];for(let C=0;C<o.gas.length;++C)t.gas[C]=p.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.common.Coin.encode(o.coins[t],f.uint32(10).fork()).ldelim();if(o.poolDeduct!=null&&Object.hasOwnProperty.call(o,"poolDeduct"))f.uint32(18).string(o.poolDeduct);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.Fee;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(p.common.Coin.decode(o,o.uint32()));break;case 2:C.poolDeduct=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=p.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!I.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof p.common.Fee)return o;let f=new p.common.Fee;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[t]=p.common.Coin.fromObject(o.coins[t])}}if(o.poolDeduct!=null)f.poolDeduct=String(o.poolDeduct);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults)t.poolDeduct="";if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=p.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))t.poolDeduct=o.poolDeduct;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.common.ProtoUint;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.value=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!I.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof p.common.ProtoUint)return o;let f=new p.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.value="";if(o.value!=null&&o.hasOwnProperty("value"))t.value=o.value;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();p.types=(()=>{let n={};return n.MsgDeposit=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.memo="",y.prototype.signer=I.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.common.Coin.encode(o.coins[t],f.uint32(10).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(18).string(o.memo);if(o.signer!=null&&Object.hasOwnProperty.call(o,"signer"))f.uint32(26).bytes(o.signer);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.types.MsgDeposit;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(p.common.Coin.decode(o,o.uint32()));break;case 2:C.memo=o.string();break;case 3:C.signer=o.bytes();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=p.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||I.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof p.types.MsgDeposit)return o;let f=new p.types.MsgDeposit;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[t]=p.common.Coin.fromObject(o.coins[t])}}if(o.memo!=null)f.memo=String(o.memo);if(o.signer!=null){if(typeof o.signer==="string")I.base64.decode(o.signer,f.signer=I.newBuffer(I.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults){if(t.memo="",f.bytes===String)t.signer="";else if(t.signer=[],f.bytes!==Array)t.signer=I.newBuffer(t.signer)}if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=p.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))t.signer=f.bytes===String?I.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(T){if(this.amount=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.fromAddress=I.newBuffer([]),y.prototype.toAddress=I.newBuffer([]),y.prototype.amount=I.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let t=0;t<o.amount.length;++t)p.cosmos.base.v1beta1.Coin.encode(o.amount[t],f.uint32(26).fork()).ldelim();return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.types.MsgSend;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.fromAddress=o.bytes();break;case 2:C.toAddress=o.bytes();break;case 3:if(!C.amount?.length)C.amount=[];C.amount.push(p.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||I.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||I.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let t=p.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(t)return"amount."+t}}return null},y.fromObject=function(o){if(o instanceof p.types.MsgSend)return o;let f=new p.types.MsgSend;if(o.fromAddress!=null){if(typeof o.fromAddress==="string")I.base64.decode(o.fromAddress,f.fromAddress=I.newBuffer(I.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")I.base64.decode(o.toAddress,f.toAddress=I.newBuffer(I.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let t=0;t<o.amount.length;++t){if(typeof o.amount[t]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[t]=p.cosmos.base.v1beta1.Coin.fromObject(o.amount[t])}}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.amount=[];if(f.defaults){if(f.bytes===String)t.fromAddress="";else if(t.fromAddress=[],f.bytes!==Array)t.fromAddress=I.newBuffer(t.fromAddress);if(f.bytes===String)t.toAddress="";else if(t.toAddress=[],f.bytes!==Array)t.toAddress=I.newBuffer(t.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=f.bytes===String?I.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=f.bytes===String?I.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){t.amount=[];for(let C=0;C<o.amount.length;++C)t.amount[C]=p.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();p.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let T={};return T.Coin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.Coin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.Coin)return t;let C=new p.cosmos.base.v1beta1.Coin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.DecCoin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.DecCoin)return t;let C=new p.cosmos.base.v1beta1.DecCoin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.IntProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.int="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.int!=null&&Object.hasOwnProperty.call(t,"int"))C.uint32(10).string(t.int);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.IntProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.int=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.int!=null&&t.hasOwnProperty("int")){if(!I.isString(t.int))return"int: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.IntProto)return t;let C=new p.cosmos.base.v1beta1.IntProto;if(t.int!=null)C.int=String(t.int);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(t.int!=null&&t.hasOwnProperty("int"))H.int=t.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.DecProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.dec="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.dec!=null&&Object.hasOwnProperty.call(t,"dec"))C.uint32(10).string(t.dec);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.DecProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.dec=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.dec!=null&&t.hasOwnProperty("dec")){if(!I.isString(t.dec))return"dec: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.DecProto)return t;let C=new p.cosmos.base.v1beta1.DecProto;if(t.dec!=null)C.dec=String(t.dec);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(t.dec!=null&&t.hasOwnProperty("dec"))H.dec=t.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T})(),y})(),n})()});async function zo(){let{$root:n}=await Promise.resolve().then(() => (nC(),e0)),y=await import("@cosmjs/proto-signing"),T=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new T([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Co(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===oC.Chain.THORChain?"thorchain":"mayachain";return new T({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...t})=>({...t,signer:Wy(f)}),toAmino:({signer:f,...t})=>({...t,signer:By(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:t,...C})=>({...C,fromAddress:Wy(f),toAddress:Wy(t)}),toAmino:({fromAddress:f,toAddress:t,...C})=>({...C,from_address:By(f),to_address:By(t)})}})}var oC;var ET=S(()=>{kT();oC=require("@swapkit/helpers")});function VT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return fC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return TC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function fC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let A=T.chain,_=await zn.getRPCUrl(A),G=await yC({rpcUrl:_,sender:n}),{chainId:M}=zn.getChainConfig(A),w=bT({assetValue:T,recipient:y,sender:n}),X=f?await Ho(t?w:Ao(w),A):w;return{accountNumber:H||G.accountNumber,chainId:M,fee:an(A),memo:o,msgs:[X],sequence:C||G.sequence}}async function TC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,A=await zn.getRPCUrl(H),_=await yC({rpcUrl:A,sender:n}),{chainId:G}=zn.getChainConfig(H),M=vT({assetValue:y,memo:T,sender:n}),w=o?await Ho(f?M:Ao(M),H):M;return{accountNumber:C||_.accountNumber,chainId:G,fee:an(H),memo:T,msgs:[w],sequence:t||_.sequence}}function Ao(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let T=zn.AssetValue.from({asset:y.asset}),o=(T.isSynthetic?T.symbol.split("/")?.[1]:T.symbol)?.toUpperCase(),f=(T.isSynthetic?T.symbol.split("/")?.[0]:T.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:T.isSynthetic,ticker:T.ticker}}})}}}async function Qy({chain:n,memo:y,msgs:T}){let o=await zo(),f=await Co(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var zn,wA,qA,bT=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol,!0)}],from_address:n,to_address:y}}},vT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:My(y)}],memo:T,signer:n}}},Uf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?vT({assetValue:T,memo:o,sender:n}):bT({assetValue:T,recipient:y,sender:n})},Ho=async(n,y)=>{return(await Co(y)).fromAmino(n)},yC=async({rpcUrl:n,sender:y})=>{let o=await(await sn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var tC=S(()=>{Ly();ET();zn=require("@swapkit/helpers"),wA=an(zn.Chain.THORChain).gas,qA=an(zn.Chain.Maya).gas});var CC=()=>{};var HC=S(()=>{CC()});var jT=S(()=>{kT();tC();ET();HC()});async function iT(n,y){try{let o=(await cT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function KT({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${P.DerivationPath[T.chain]}/${T.index}`;return await qC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[wC.stringToPath(o)],prefix:y})}async function GA({privateKey:n,prefix:y}){let T=await import("@cosmjs/proto-signing");return(T.DirectSecp256k1Wallet??T.default?.DirectSecp256k1Wallet).fromKey(n,y)}function GC(n){return async function({signature:T,message:o,address:f}){let t=await n(f);if(!t?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,A=C.Secp256k1??C.default?.Secp256k1,_=H.fromFixedLength(_o.base64.decode(T));return A.verifySignature(_,_o.base64.decode(o),t.pubkey.value)}}function Jy({chain:n,...y}){let T=P.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=P.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[n],{index:o})),t;async function C(){if(t)return t;return t=await Zy.match(y).with({phrase:Zy.P.string},({phrase:X})=>KT({derivationPath:f,phrase:X,prefix:T})).with({signer:Zy.P.any},({signer:X})=>X).otherwise(()=>{return}),t}async function H(X){let W=await P.getRPCUrl(n);return(await sn(W)).getAccount(X)}async function A(){let X=await C(),[W]=await X?.getAccounts()||[];return W?.address}async function _(){let X=await C(),[W]=await X?.getAccounts()||[];if(!W?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return _o.base64.encode(W?.pubkey)}async function G(X){let W=await C(),l=await A(),Z=await P.getRPCUrl(n);if(!(W&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await No(Z,W)).sign(l,X.msgs,X.fee,X.memo,{accountNumber:X.accountNumber,chainId:X.chainId,sequence:X.sequence})}async function M(X){let W=await C(),l=await A(),Z=await P.getRPCUrl(n);if(!(W&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await No(Z,W)).signAndBroadcast(l,X.msgs,X.fee,X.memo);if(L.code!==0)throw new P.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function w({recipient:X,assetValue:W,memo:l="",feeRate:Z,feeOptionKey:z=P.FeeOption.Fast}){let L=await C(),N=await A();if(!(L&&N))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await P.getRPCUrl(n),U=P.AssetValue.from({chain:n}),B=My(U),q=Z||WA((await _C(n,AC[n]))[z],B),Y=await No(J,L),D=to(W.symbol),Q=[{amount:W.getBaseValue("string"),denom:D}],{transactionHash:O}=await Y.sendTokens(N,X,Q,q,l);return O}return{createPrivateKeyFromPhrase:MA(f),createTransaction:IT,fetchFeeRateFromSwapKit:iT,getAccount:H,getAddress:A,getBalance:async(X,W)=>{let l=await UC(n)(X),Z=await Promise.all(l.filter(({denom:z})=>z&&!z.includes("IBC/")&&!([P.Chain.THORChain,P.Chain.Maya].includes(n)&&z.split("-").length>2)).map(({denom:z,amount:L})=>{let N=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(z.includes("/")||z.includes("˜"))?`${n}.${z}`:z;return $T(N,L)}));if(Z.length===0)return[P.AssetValue.from({chain:n})];return Z},getBalanceAsDenoms:UC(n),getFees:()=>_C(n,AC[n]),getPubKey:_,getSignerFromPhrase:({phrase:X,derivationPath:W})=>KT({derivationPath:P.derivationPathToString(W),index:o,phrase:X,prefix:T}),getSignerFromPrivateKey:async(X)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(X,T)},signAndBroadcastTransaction:M,signTransaction:G,transfer:w,validateAddress:lC(n),verifySignature:GC(H)}}async function lA(n,y){try{let o=(await cT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function XA({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:BA(n)})}async function _C(n,y){let{chainId:T,baseDecimal:o}=P.getChainConfig(n),f=await iT(T,y);return{average:P.SwapKitNumber.fromBigInt(BigInt(f),o),fast:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fast,!0)),o),fastest:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fastest,!0)),o)}}function WA(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function BA(n){return{[P.Chain.Cosmos]:0.007,[P.Chain.Kujira]:0.02,[P.Chain.Noble]:0.01,[P.Chain.THORChain]:0.02,[P.Chain.Maya]:0.02,[P.Chain.Harbor]:0.02}[n]||0}function lC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=_o.bech32.decode(o);return _o.bech32.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function UC(n){return async function(T){let o=await P.getRPCUrl(n);return(await(await sn(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function MA(n){return async function(T){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,t=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,A=o.Bip39??o.default?.Bip39,_=new H(T),G=await A.mnemonicToSeed(_),{privkey:M}=C.derivePath(t.Secp256k1,G,f(n));return M}}var wC,qC,_o,P,cT,Zy,AC;var wf=S(()=>{Ly();wC=require("@cosmjs/crypto"),qC=require("@cosmjs/proto-signing"),_o=require("@scure/base"),P=require("@swapkit/helpers"),cT=require("@swapkit/helpers/api"),Zy=require("ts-pattern");AC={[P.Chain.Cosmos]:1000,[P.Chain.Kujira]:1000,[P.Chain.Noble]:1000,[P.Chain.THORChain]:5000000,[P.Chain.Maya]:5000000,[P.Chain.Harbor]:5000000}});function LA({prefix:n,derivationPath:y}){return async function(o,f=0){let t=await import("@cosmjs/amino"),C=t.Secp256k1HdWallet??t.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),A=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[A(`${y}/${f}`)],prefix:n})}}function QA(n){return Uo.base64.encode(n)}function ZA(n){return async function({wallet:T,tx:o}){let{msgs:f,accountNumber:t,sequence:C,chainId:H,fee:A,memo:_}=typeof o==="string"?JSON.parse(o):o,G=(await T.getAccounts())?.[0]?.address||"",M=await Co(n),w=await zo(),X=await PT(T,{aminoTypes:M,registry:w}),W=[];for(let z of f){let L=await Ho(z,n);W.push(L)}let{signatures:[l]}=await X.sign(G,W,A,_,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await Qy({chain:n,memo:_,msgs:f.map(Ao)}),signature:QA(l)}}}function JA({prefix:n,chain:y}){return async function(o,f,t,C,H){let A=await d.getRPCUrl(y),{encodeSecp256k1Pubkey:_,pubkeyToAddress:G}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:X}=JSON.parse(o),W=await XC(t,C),l=f.map((L)=>[G(_(Uo.base64.decode(L.pubKey)),n),Uo.base64.decode(L.signature)]),Z=await sn(A),{transactionHash:z}=await Z.broadcastTx(M(W,w,X,H,new Map(l)));return z}}async function XC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(Uo.base64.decode(t))),y,T)}function YA(n){return Uo.base64.decode(n)}async function NA({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(Uo.base64.decode(y),n);return Uo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function hT({chain:n,...y}){let{isStagenet:T}=d.SKConfig.get("envs"),o=d.SKConfig.get("thornodeUrls"),f=n===d.Chain.Maya,t=vo.match({isMayachain:f,isStagenet:T}).with({isMayachain:!0},({isStagenet:L})=>L?o.MAYA_STAGENET:o.MAYA).otherwise(({isStagenet:L})=>L?o.THOR_STAGENET:o.THOR),C=`${T?"s":""}${d.CosmosChainPrefixes[n]}`,H="index"in y?y.index||0:0,A="derivationPath"in y&&y.derivationPath?y.derivationPath:d.updateDerivationPath(d.NetworkDerivationPath[n],{index:H}),_=Jy({chain:n,...y}),G=an(n),M;function w(){return M??=vo.match(y).with({phrase:vo.P.string},({phrase:L})=>_.getSignerFromPhrase({derivationPath:A,phrase:L})).with({signer:vo.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function X(){let L=await d.getRPCUrl(n),N=await w();if(!N)throw new d.SwapKitError("toolbox_cosmos_no_signer");let J=await zo(),U=await Co(n),B=await No(L,N,{aminoTypes:U,registry:J});return{signer:N,signingClient:B}}async function W({fee:L,memo:N,msgs:J}){let{signer:U,signingClient:B}=await X(),q=(await U.getAccounts())?.[0]?.address;if(!q)throw new d.SwapKitError("toolbox_cosmos_signer_not_defined");let Y=await B.signAndBroadcast(q,J,L,N);if(Y.code!==0)throw new d.SwapKitError("core_swap_transaction_error",{code:Y.code,message:Y.rawLog});return Y.transactionHash}async function l(){let L,N=`${t}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:J}}=await d.RequestClient.get(N);if(!J||Number.isNaN(J)||J<0)throw new d.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:J.toString()});L=new d.SwapKitNumber(J)}catch{L=new d.SwapKitNumber({decimal:d.getChainConfig(n).baseDecimal,value:f?1:0.02})}return{[d.FeeOption.Average]:L,[d.FeeOption.Fast]:L,[d.FeeOption.Fastest]:L}}async function Z({assetValue:L,memo:N="",recipient:J}){let{TxRaw:U}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:B,signingClient:q}=await X(),Y=(await B.getAccounts())?.[0]?.address;if(!Y)throw new d.SwapKitError("toolbox_cosmos_no_signer");let D="signAmino"in B,Q=Uf({assetValue:L,memo:N,recipient:J,sender:Y});if(D){let k=await Ho(Q,n),{signatures:u,authInfoBytes:j}=await q.sign(Y,[k],G,N),s=U.encode({authInfoBytes:j,bodyBytes:await Qy({chain:n,memo:N,msgs:[Q].map(Ao)}),signatures:u}).finish();return(await q.broadcastTx(s)).transactionHash}let O=Ao(Q),x=await Ho(O,n);return W({fee:G,memo:N,msgs:[x]})}async function z(L){let{signer:N,signingClient:J}=await X(),U=(await N.getAccounts())?.[0]?.address;if(!U)throw new d.SwapKitError("toolbox_cosmos_signer_not_defined");return J.sign(U,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{..._,broadcastMultisigTx:JA({chain:n,prefix:C}),buildAminoMsg:Uf,buildEncodedTxBody:Qy,convertToSignable:Ho,createDefaultAminoTypes:()=>Co(n),createDefaultRegistry:zo,createMultisig:XC,createTransaction:VT,deposit:Z,getFees:l,importSignature:YA,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(L,C)},secp256k1HdWalletFromMnemonic:LA({derivationPath:d.derivationPathToString(A),prefix:C}),signAndBroadcastTransaction:W,signMultisigTx:ZA(n),signTransaction:z,signWithPrivateKey:NA,transfer:Z}}var Uo,d,vo;var mT=S(()=>{jT();Ly();wf();Uo=require("@scure/base"),d=require("@swapkit/helpers"),vo=require("ts-pattern")});var wo,zA=(n,y)=>{switch(n){case wo.Chain.Cosmos:case wo.Chain.Kujira:case wo.Chain.Noble:return Jy({chain:n,...y});case wo.Chain.Maya:case wo.Chain.THORChain:return hT({chain:n,...y});default:throw new wo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var WC=S(()=>{wf();mT();wo=require("@swapkit/helpers");wf();mT()});var qf={};Mn(qf,{verifySignature:()=>GC,transferMsgAmino:()=>bT,toBase64:()=>HA,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>GA,getSignerFromPhrase:()=>KT,getMsgSendDenom:()=>to,getFeeRateFromSwapKit:()=>lA,getDenomWithChain:()=>My,getDefaultChainFee:()=>an,getCosmosToolbox:()=>zA,getCosmosAddressValidator:()=>lC,getAssetFromDenom:()=>$T,fromBase64:()=>AA,fetchFeeRateFromSwapKit:()=>iT,estimateTransactionFee:()=>XA,depositMsgAmino:()=>vT,createTransaction:()=>VT,createThorchainToolbox:()=>hT,createStargateClient:()=>sn,createSigningStargateClient:()=>No,createOfflineStargateClient:()=>PT,createDefaultRegistry:()=>zo,createDefaultAminoTypes:()=>Co,createCosmosToolbox:()=>Jy,cosmosCreateTransaction:()=>IT,convertToSignable:()=>Ho,buildTransferTx:()=>fC,buildEncodedTxBody:()=>Qy,buildDepositTx:()=>TC,buildAminoMsg:()=>Uf,bech32ToBase64:()=>Wy,base64ToBech32:()=>By,YUM_KUJIRA_FACTORY_DENOM:()=>g0,USK_KUJIRA_FACTORY_DENOM:()=>uT,THORCHAIN_GAS_VALUE:()=>wA,MAYA_GAS_VALUE:()=>qA,DEFAULT_NOBLE_FEE_MAINNET:()=>s0,DEFAULT_KUJI_FEE_MAINNET:()=>a0,DEFAULT_COSMOS_FEE_MAINNET:()=>d0});module.exports=Jn(qf);var Gf=S(()=>{jT();WC();Ly()});function DA({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function OA({cancels:n}){return{cancels:n,type:"cancel"}}function RA({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function xA({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function FA({modifies:n}){return{modifies:n,type:"batchModify"}}function pA({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function SA({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function kA({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function uA({time:n}){return{time:n,type:"scheduleCancel"}}function PA({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function IA({amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A}){return{amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A,type:"sendAsset"}}function $A({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function EA({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function bA({hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,validator:f,wei:t}){return{hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,type:"tokenDelegate",validator:f,wei:t}}function pn(...n){let y=n.reduce((f,t)=>f+t.length,0),T=new Uint8Array(y),o=0;for(let f of n)T.set(f,o),o+=f.length;return T}function iA(n,y,T){if(T<y)return new Uint8Array([n+T]);if(T<=255)return new Uint8Array([n+y,T]);if(T<=65535)return new Uint8Array([n+y+1,T>>8,T&255]);return new Uint8Array([n+y+2,T>>>24&255,T>>>16&255,T>>>8&255,T&255])}function qo(n,y){let T=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)T[f]=Number(o&0xffn),o>>=8n;return T}function BC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return pn(new Uint8Array([205]),qo(n,2));if(n<=0xffffffffn)return pn(new Uint8Array([206]),qo(n,4));return pn(new Uint8Array([207]),qo(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return pn(new Uint8Array([209]),qo(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return pn(new Uint8Array([210]),qo(BigInt.asUintN(32,n),4));return pn(new Uint8Array([211]),qo(BigInt.asUintN(64,n),8))}function QC(n){let y=cA.encode(n);if(y.length<32)return pn(new Uint8Array([160+y.length]),y);return pn(iA(217,0,y.length),y)}function hA(n){let y=n.map((o)=>rT(o)),T=n.length<16?new Uint8Array([144+n.length]):n.length<=65535?new Uint8Array([220,n.length>>8,n.length&255]):new Uint8Array([221,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return pn(T,...y)}function mA(n){let y=Object.entries(n).filter(([,o])=>typeof o<"u"),T=y.length<16?new Uint8Array([128+y.length]):y.length<=65535?new Uint8Array([222,y.length>>8,y.length&255]):new Uint8Array([223,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return pn(T,...y.flatMap(([o,f])=>[QC(o),rT(f)]))}function rT(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return QC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new lf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return BC(BigInt(n))}if(typeof n==="bigint")return BC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return pn(y,n)}if(Array.isArray(n))return hA(n);if(typeof n==="object")return mA(n);throw new lf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function rA(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new lf.SwapKitError("helpers_invalid_params",{hexValue:n});let T=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)T[o/2]=Number.parseInt(y.slice(o,o+2),16);return T}function ZC(n){return{domain:vA,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...VA.Agent]}}}function JC(n){let y=KA[n.type],T=jA[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:MC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||LC},primaryType:y,types:{[y]:T}}}function YC(n){let y=Xf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function NC(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=rT(n),t=qo(BigInt(y),8),C=o?pn(new Uint8Array([1]),rA(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?pn(new Uint8Array([0]),qo(BigInt(T),8)):new Uint8Array;return Xf.keccak256(pn(f,t,C,H))}function zC(n){let y=n.hyperliquidChain||LC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var lf,Xf,MC="0x0000000000000000000000000000000000000000",vA,VA,LC="Mainnet",jA,KA,cA;var DC=S(()=>{lf=require("@swapkit/helpers"),Xf=require("ethers"),vA={chainId:1337,name:"Exchange",verifyingContract:MC,version:"1"},VA={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},jA={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},KA={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},cA=new TextEncoder});function $n(n,y){if(!aT(n))throw new e.SwapKitError(y,{address:n});return n.toLowerCase()}async function Do(n){let y=await Wf();return e.RequestClient.post(`${y}/info`,{json:n})}function o_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function y_({user:n}){return Do({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function f_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function T_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function t_({oidOrCloid:n,user:y}){return Do({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function C_({aggregateByTime:n,user:y}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function H_({aggregateByTime:n,endTime:y,startTime:T,user:o}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function OC({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=gA[f]||FC,C=o?.tokens?.find((A)=>A.name===n||y!==void 0&&A.index===Number(y)),H=C?`${mn}.${f}-${C.name}:${C.tokenId}`:`${mn}.${f}`;return new e.AssetValue({decimal:t,identifier:H,value:T})}function A_(n){let y=new Map;for(let T of n){let o=T.toString({includeSynthProtocol:!0}),f=y.get(o);y.set(o,f?f.add(T):T)}if(![...y.values()].some((T)=>T.isGasAsset||T.ticker==="HYPE")){let T=e.AssetValue.from({chain:mn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Wf(){try{return await e.getRPCUrl(mn)}catch{let[n]=e.getChainConfig(mn).rpcUrls;if(!n)throw new e.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:mn});return n}}async function dT(){return`${await Wf()}/exchange`}function __(n){let y=n_[n.type],{type:T,...o}=n,f=eA[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:sA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function pC({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?$n(o,"helpers_invalid_params"):void 0,C=await dT(),H=NC(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:ZC(H),vaultAddress:t}}async function SC({action:n,nonce:y,signatureChainId:T}){let o=y||n.nonce||Date.now(),f=T||n.signatureChainId||"0xa4b1",t=zC({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await dT(),nonce:o,typedData:JC(t)}}async function gT({assetValue:n,recipient:y,sender:T,signatureChainId:o,time:f}){let t=$n(y,"core_transaction_invalid_recipient_address"),C=$n(T,"core_transaction_invalid_sender_address"),H=await dT(),A=n.getValue("string"),_=f||Date.now(),G=n.address;if(!G)throw new e.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:A,destination:t,hyperliquidChain:dA,signatureChainId:o||aA,time:_,token:G,type:"spotSend"};return{action:M,endpoint:H,nonce:_,typedData:__(M)}}async function RC(n){let y=await e.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new e.SwapKitError("core_transaction_failed",{response:y});return y}async function U_(n,y){let T=await Wf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((t)=>setTimeout(t,1000));try{let t=await e.RequestClient.post(`${T}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(t)?t.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function aT(n){return n.startsWith("0x")&&wy(n)}function w_(n){let y=xn(mn),T=n&&"index"in n?n.index||0:0,o=e.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[mn],{index:T})),f,t=!1;function C(){if(t)return f;return f=Vo.match(n).with({phrase:Vo.P.string},({phrase:w})=>{return xC.HDNodeWallet.fromPhrase(w,void 0,o)}).with({signer:Vo.P.not(Vo.P.nullish)},({signer:w})=>w).otherwise(()=>{return}),t=!0,f}async function H(){let w=C();return w?await w.getAddress():""}async function A(w){let X=C();if(!X)throw new e.SwapKitError("toolbox_hypercore_no_signer");let W=await X.signTypedData(w.typedData.domain,w.typedData.types,w.typedData.message);return{action:w.action,endpoint:w.endpoint,nonce:w.nonce,signature:YC(W),..."expiresAfter"in w?{expiresAfter:w.expiresAfter}:{},..."vaultAddress"in w?{vaultAddress:w.vaultAddress}:{}}}async function _(w){let X=$n(w,"helpers_invalid_params");try{let W=await Wf(),[l,Z,z]=await Promise.all([e.RequestClient.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:X}}),e.RequestClient.post(`${W}/info`,{json:{type:"clearinghouseState",user:X}}),e.RequestClient.post(`${W}/info`,{json:{type:"spotMeta"}})]),L=(l.spotState?.balances||l.balances||[]).map(({coin:J,token:U,total:B})=>OC({coin:J,spotMeta:z,token:U,value:B})).filter((J)=>!!J),N=OC({coin:"USDC",spotMeta:z,value:Z.withdrawable||Z.marginSummary?.accountValue||Z.marginSummary?.totalRawUsd});return A_(N?[...L,N]:L)}catch{return y(X)}}async function G(w){let X=C();if(!X)throw new e.SwapKitError("toolbox_hypercore_no_signer");let W=w.sender||await X.getAddress(),l=await gT({...w,feeRate:0,sender:W}),Z=await A(l);return await RC(Z),U_(W,l.nonce)}function M(){return e.AssetValue.from({chain:mn,value:0})}return{broadcastTransaction:RC,createL1ActionRequest:pC,createTransaction:gT,createUserSignedActionRequest:SC,estimateTransactionFee:M,getAddress:H,getBalance:_,getState:{clearinghouse:o_,frontendOpenOrders:T_,openOrders:f_,orderStatus:t_,spotClearinghouse:y_,userFills:C_,userFillsByTime:H_},signTransaction:A,transfer:G,validateAddress:aT}}var e,xC,Vo,mn,FC,gA,dA="Mainnet",aA="0xa4b1",sA="0x0000000000000000000000000000000000000000",eA,n_;var kC=S(()=>{RT();dn();DC();e=require("@swapkit/helpers"),xC=require("ethers"),Vo=require("ts-pattern"),mn=e.Chain.HyperCore,{baseDecimal:FC}=e.getChainConfig(mn),gA={HYPE:FC,USDC:6,USDT:6},eA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},n_={spotSend:"HyperliquidTransaction:SpotSend"}});var sT={};Mn(sT,{validateHyperCoreAddress:()=>aT,getHyperCoreToolbox:()=>w_,createUserSignedActionRequest:()=>SC,createTransaction:()=>gT,createL1ActionRequest:()=>pC,buildUsdClassTransferAction:()=>PA,buildUpdateLeverageAction:()=>pA,buildUpdateIsolatedMarginAction:()=>SA,buildTopUpIsolatedOnlyMarginAction:()=>kA,buildTokenDelegateAction:()=>bA,buildSendAssetAction:()=>IA,buildScheduleCancelAction:()=>uA,buildOrderAction:()=>DA,buildModifyAction:()=>xA,buildCancelByCloidAction:()=>RA,buildCancelAction:()=>OA,buildBatchModifyAction:()=>FA,buildApproveBuilderFeeAction:()=>EA,buildApproveAgentAction:()=>$A});module.exports=Jn(sT);var eT=S(()=>{kC()});async function IC(n){let y=r.AssetValue.from({address:n,chain:r.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let T=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(T);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function q_(n){let y=await en(),{PublicKey:T}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new T(n),{baseDecimal:t}=r.getChainConfig(r.Chain.Solana),C=await y.getBalance(f),H=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:t,value:C||0})],A=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:_}of A.value){let G=_.data.parsed.info,M=G.mint,w=G.tokenAmount.amount;if(Number(w)===0)continue;let X=await IC(M),W=X?.symbol||"UNKNOWN",l=X?.decimals||G.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${W}-${M}`,fromBaseDecimal:l,value:w}))}return H}function ot(n){try{let y=new no.PublicKey(n);return no.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function G_(n){let y=n&&"index"in n?n.index||0:0,T=r.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Yy.match(n).with({phrase:Yy.P.string},({phrase:C})=>nt({derivationPath:T,phrase:C})).with({signer:Yy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?PC(C.publicKey):""}return{broadcastTransaction:Bf(en),createKeysForPath:nt,createTransaction:yt(en),createTransactionFromInstructions:B_,estimateTransactionFee:l_(en),getAddress:t,getAddressFromPubKey:PC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:q_,getConnection:en,getPubkeyFromAddress:(C)=>new no.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await uC(en,f)(C);return Bf(en)(H)},signTransaction:uC(en,f),transfer:M_(en,f),validateAddress:ot}}function l_(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),A=(await yt(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),_=await C.getFeeForMessage(A);if(_.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:G}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:G,value:_.value})}}async function en(){let{Connection:n}=await import("@solana/web3.js"),y=await r.getRPCUrl(r.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(T,o,f)=>{let t={};for(let[C,H]of Object.entries(o?.headers??{})){let A=C.toLowerCase();if(A!=="pragma"&&A!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function X_(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new no.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:A}=await import("@solana/web3.js");return new H().add(A.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new no.PublicKey(T)}))}if(y.address)return W_({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function W_({tokenAddress:n,recipient:y,from:T,connection:o,amount:f,decimals:t,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:A,createAssociatedTokenAccountInstruction:_,createTransferCheckedInstruction:G}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),w=new M,X=new no.PublicKey(n),W=await H(X,T),l=new no.PublicKey(y),Z=await H(X,l,C),z=!1;try{await A(o,Z),z=!0}catch{}if(!z)w.add(_(T,Z,l,X));return w.add(G(W,X,Z,T,f,t)),w}function yt(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new no.PublicKey(t);if(!(f||ot(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let A=await n(),_=await X_(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!_)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)_.add(C(o));let G=await A.getLatestBlockhash();return _.recentBlockhash=G.blockhash,_.feePayer=H,_}}async function B_({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),T=new y().add(...n);if(!T)throw new r.SwapKitError("core_transaction_invalid_sender_address");return T}function M_(n,y){return async({recipient:T,assetValue:o,memo:f,isProgramDerivedAddress:t})=>{let C=await y();if(!C)throw new r.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),A=await yt(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let _=await C.signTransaction(A);return Bf(n)(_)}return A.sign(C),Bf(n)(A)}}function Bf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function uC(n,y){return async(T)=>{let o=await y();if(!o)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(T instanceof f)){let C=await(await n()).getLatestBlockhash();T.recentBlockhash=C.blockhash,T.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(T);return T.sign([o]),T}}async function nt({phrase:n,derivationPath:y=r.DerivationPath.SOL}){let{HDKey:T}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),t=o(n),C=T.fromMasterSeed(t);return f.fromSeed(C.derive(y,!0).privateKey)}function PC(n){return n.toString()}var no,r,Yy;var $C=S(()=>{dn();no=require("@solana/web3.js"),r=require("@swapkit/helpers"),Yy=require("ts-pattern")});var ft={};Mn(ft,{validateSolanaAddress:()=>ot,getSolanaToolbox:()=>G_,fetchTokenMetaData:()=>IC,createKeysForPath:()=>nt});module.exports=Jn(ft);var Tt=S(()=>{$C()});function Mf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Lf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:t,encode:C,CallData:H}=await import("starknet"),A=o(n),G=T.fromMasterSeed(A).derive(y);if(!G.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(G.privateKey).toString("hex")),w=f.starkCurve.grindKey(M),X=C.addHexPrefix(w),W=f.starkCurve.getStarkKey(X),l=H.compile([W,0]);return{address:t.calculateContractAddressFromHash(W,Ct,l,0),privateKey:X,publicKey:W}}async function Ht({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Lf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new T({address:t,provider:H,signer:f})}function bC(n){let y=c.Chain.Starknet,T=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:T})),f,t,C;async function H(){if(t)return t;let{RpcProvider:U}=await import("starknet"),B=await c.getRPCUrl(y);return t=new U({nodeUrl:B}),t}async function A(U){let B=await H(),q=U||await w();if(!q)return!1;try{return await B.getClassHashAt(q),!0}catch(Y){if(Y instanceof Error&&Y.message.includes("Contract not found"))return!1;let D=Y;if(D?.code===20||D?.code===19)return!1;throw Y}}async function _(){let{CallData:U,hash:B}=await import("starknet"),q=await H(),Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await A())return Y.address;let Q=U.compile([C,0]);if(B.calculateContractAddressFromHash(C,Ct,Q,0).toLowerCase()!==Y.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let x={addressSalt:C,classHash:Ct,constructorCalldata:Q},{transaction_hash:k}=await Y.deployAccount(x);return await q.waitForTransaction(k),k}async function G(){if(!await A()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await _()}}async function M(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:U})=>{let{Account:B,RpcProvider:q}=await import("starknet"),{privateKey:Y,address:D,publicKey:Q}=await Lf({derivationPath:o,phrase:U});C=Q;let O=await c.getRPCUrl(c.Chain.Starknet),x=new q({nodeUrl:O});return new B({address:D,provider:x,signer:Y})}).with({address:En.P.string,privateKey:En.P.string},async({privateKey:U,address:B})=>{let{Account:q}=await import("starknet"),Y=await H();return new q({address:B,provider:Y,signer:U})}).with({signer:En.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function w(){return(await M())?.address??""}async function X(U){let B=await H(),{uint256:q,CallData:Y}=await import("starknet"),D=[],Q=[tt,EC];for(let O of Q)try{let[x="0",k="0"]=await B.callContract({calldata:Y.compile({account:U}),contractAddress:O,entrypoint:"balanceOf"}),u=q.uint256ToBN({high:x,low:k});En.match(O).with(tt,()=>{D.push(c.AssetValue.from({chain:y,value:u}))}).with(EC,()=>{if(u>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${O}`,value:u}))}).otherwise(()=>{})}catch{}return D}async function W({recipient:U,assetValue:B}){let{CallData:q,uint256:Y}=await import("starknet");if(!Mf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let D=B.isGasAsset?tt:B.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:B});let Q=Y.bnToUint256(B.getBaseValue("bigint"));return[{calldata:q.compile([U,Q]),contractAddress:D,entrypoint:"transfer"}]}async function l({recipient:U,assetValue:B,sender:q}){let{baseDecimal:Y}=c.getChainConfig(c.Chain.Starknet),D=await M(),Q=await En.match({sender:q,signer:D}).with({sender:En.P.string},async({sender:O})=>{let{Account:x}=await import("starknet"),k=await H();return new x({address:O,provider:k,signer:"0x0"})}).with({signer:En.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await W({assetValue:B,recipient:U}),x=await Q.estimateInvokeFee(O);if(x?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Y,value:x.overall_fee})}catch(O){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function Z({recipient:U,assetValue:B,memo:q}){let Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");await G();let D=await W({assetValue:B,memo:q,recipient:U});return(await Y.execute(D)).transaction_hash}async function z(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");let q=await B.signMessage(U);return Array.isArray(q)?q:[q.r.toString(),q.s.toString()]}async function L(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");return await G(),(await B.execute(U)).transaction_hash}function N(U){return L(U)}function J(U,B=!0){try{return xn(y)(U,B)}catch{return X(U)}}return{broadcastTransaction:L,createKeysForPath:Ht,createTransaction:W,deployAccount:_,estimateTransactionFee:l,getAddress:w,getBalance:J,getProvider:H,isAccountDeployed:A,signAndBroadcastTransaction:N,signMessage:z,transfer:Z,validateAddress:Mf}}var c,En,tt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",EC="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ct="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var vC=S(()=>{dn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Qf={};Mn(Qf,{validateStarknetAddress:()=>Mf,starknetCreateKeysForPath:()=>Ht,getStarknetToolbox:()=>bC,deriveStarknetKeys:()=>Lf});module.exports=Jn(Qf);var Zf=S(()=>{vC()});async function KC(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?KC(n,y,T,C,t.nextCursor):C}function L_(n,y,T){let o=y.reduce((A,_)=>A+BigInt(_.balance),0n);if(o<T)throw new yn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((A,_)=>{if(A.total>=T)return A;return{ids:[...A.ids,_.coinObjectId],total:A.total+BigInt(_.balance)}},{ids:[],total:0n}),t=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(t,C);let[H]=n.splitCoins(t,[T]);return H}function cC(n){try{return jC.isValidSuiAddress(n)}catch{return!1}}function VC(n){return"signWithIntent"in n}function Q_({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await Ny.match(y).with({phrase:Ny.P.string},async({phrase:W})=>{let{Ed25519Keypair:l}=await import("@mysten/sui/keypairs/ed25519");return l.deriveKeypair(W)}).with({signer:Ny.P.any},({signer:W})=>W).otherwise(()=>{return}),T}async function f(W=n){let{SuiClient:l,getFullnodeUrl:Z}=await import("@mysten/sui/client");return new l({url:W||Z("mainnet")})}async function t(){return(await o())?.toSuiAddress()||""}function C(W){try{let l=yn.AssetValue.from({address:W,chain:yn.Chain.Sui});return{asset:l.toString(),decimals:l.decimal}}catch{}return null}async function H(W){let l=W||await t();if(!l)throw new yn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Z,chain:z}=yn.getChainConfig(yn.Chain.Sui);try{let L=await f(),{totalBalance:N}=await L.getBalance({owner:l}),J=[yn.AssetValue.from({chain:z,fromBaseDecimal:Z,value:N})],U=await L.getAllBalances({owner:l});for(let{coinType:B,totalBalance:q}of U){if(B==="0x2::sui::SUI"||Number(q)<=0)continue;let Y=C(B);if(Y)J.push(yn.AssetValue.from({asset:Y.asset,fromBaseDecimal:Y.decimals,value:q}))}return J}catch{return[yn.AssetValue.from({chain:z})]}}async function A(W){let l=yn.AssetValue.from({chain:yn.Chain.Sui,value:"0.01"});if(!W)return l;try{let Z=await f(),{txBytes:z}=await _(W),{effects:{status:L,gasUsed:N}}=await Z.dryRunTransactionBlock({transactionBlock:z});if(L.status!=="success")return l;let J=Number(N.computationCost)+Number(N.storageCost)-Number(N.storageRebate);return yn.AssetValue.from({chain:yn.Chain.Sui,value:J.toString()})}catch{return l}}async function _({recipient:W,assetValue:l,gasBudget:Z,sender:z}){let{Transaction:L}=await import("@mysten/sui/transactions"),N=z||await t();if(!N)throw new yn.SwapKitError("toolbox_sui_no_sender");try{let J=new L;if(J.setSender(N),l.isGasAsset||l.symbol==="SUI"){let[q]=J.splitCoins(J.gas,[l.getBaseValue("string")]);J.transferObjects([q],W)}else{let q=l.address;if(!q)throw new yn.SwapKitError("toolbox_sui_missing_coin_type");let Y=await f(),D=l.getBaseValue("bigint"),Q=await KC(Y,N,q);if(!Q.length)throw new yn.SwapKitError("toolbox_sui_no_coins_found",{coinType:q});let O=L_(J,Q,D);J.transferObjects([O],W)}if(Z)J.setGasBudget(Z);let U=await f(),B=await J.build({client:U});return{tx:J,txBytes:B}}catch(J){if(J instanceof yn.SwapKitError)throw J;throw new yn.SwapKitError("toolbox_sui_transaction_creation_error",{error:J})}}async function G(W){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");if(W instanceof Uint8Array)return l.signTransaction(W);let{txBytes:Z}="tx"in W?W:await _(W);return l.signTransaction(Z)}async function M({assetValue:W,gasBudget:l,recipient:Z}){let z=await o();if(!z)throw new yn.SwapKitError("toolbox_sui_no_signer");let L=z.toSuiAddress()||await t();if(!L)throw new yn.SwapKitError("toolbox_sui_no_sender");let{txBytes:N}=await _({assetValue:W,gasBudget:l,recipient:Z,sender:L}),J=await f();if(!VC(z)){let B=await z.signTransaction(N),{digest:q}=await J.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return q}let{digest:U}=await J.signAndExecuteTransaction({signer:z,transaction:N});return U}async function w(W){let l=await f(),{digest:Z}=await l.executeTransactionBlock({signature:W.signature,transactionBlock:W.bytes});return Z}async function X(W){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");let Z=await f(),z;if(typeof W==="string")z=Uint8Array.from(Buffer.from(W,"base64"));else if(W instanceof Uint8Array)z=W;else z=await W.build({client:Z});if(!VC(l)){let N=await l.signTransaction(z),{digest:J}=await Z.executeTransactionBlock({signature:N.signature,transactionBlock:N.bytes});return J}let{digest:L}=await Z.signAndExecuteTransaction({signer:l,transaction:z});return L}return{broadcastTransaction:w,createTransaction:_,estimateTransactionFee:A,getAddress:t,getBalance:H,signAndBroadcastTransaction:X,signTransaction:G,transfer:M,validateAddress:cC}}var jC,yn,Ny;var iC=S(()=>{jC=require("@mysten/sui/utils"),yn=require("@swapkit/helpers"),Ny=require("ts-pattern")});var Jf={};Mn(Jf,{validateSuiAddress:()=>cC,getSuiToolbox:()=>Q_});module.exports=Jn(Jf);var Yf=S(()=>{iC()});async function z_(){let n=Date.now();if(Nf&&n-mC<N_)return Nf;try{return Nf=await rC.getHttpEndpoint(),mC=n,Nf}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function D_(n={}){let y,T,o;async function f(){if(!y){let J=n.provider??await z_();y=new h.TonClient({endpoint:J})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Oo.match(n).with({phrase:Oo.P.string},async({phrase:J})=>gC.mnemonicToWalletKey(J.split(" "))).with({signer:Oo.P.any},({signer:J})=>J).otherwise(()=>{return}),o}async function H(J){if(!T||J){let U=await C(),B=await f(),q=J||U;if(!q)throw new qn.SwapKitError("core_wallet_connection_not_found");let Y=h.WalletContractV4.create({publicKey:q.publicKey,workchain:0});T=B.open(Y)}return T}let A=xn(qn.Chain.Ton);async function _({assetValue:J,recipient:U,memo:B,sender:q}){if(J.isGasAsset){let s=B?N(B).toBoc().toString("base64"):void 0;return[{address:U,amount:J.getBaseValue("string"),payload:s}]}let Y=J.address;if(!Y)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:J.toString()}});let D=q??await t(),Q=await z({jettonMasterAddress:Y,ownerAddress:D}),O=h.Address.parse(U),x=h.Address.parse(D),k=J.getBaseValue("bigint"),u=B?N(B):void 0,j=L({destinationAddress:O,forwardPayload:u,jettonAmount:k,responseAddress:x});return[{address:Q.toString(),amount:Y_.toString(),payload:j.toBoc().toString("base64")}]}function G({sender:J,...U}){return _({...U,sender:J})}function M(J){return J.map((U)=>{let B=U.payload?h.Cell.fromBase64(U.payload):void 0,q=U.stateInit?h.loadStateInit(h.Cell.fromBase64(U.stateInit).asSlice()):void 0,Y=h.Address.parse(U.address),D=h.Address.isFriendly(U.address)?h.Address.parseFriendly(U.address).isBounceable:!0;return h.internal({body:B,bounce:D,init:q,to:Y,value:BigInt(U.amount)})})}async function w(J){let U=await C(),B=await H();if(!B||!U)throw new qn.SwapKitError("core_wallet_connection_not_found");let q=await f(),{state:Y}=await q.getContractState(B.address),D=Y==="active",Q=D?await B.getSeqno():0,O=B.createTransfer({messages:M(J),secretKey:U.secretKey,sendMode:hC,seqno:Q}),x=h.external({body:O,init:D?void 0:B.init,to:B.address});return h.beginCell().store(h.storeMessage(x)).endCell()}async function X(J){return await(await f()).sendFile(J.toBoc()),J.hash().toString("hex")}async function W(J){let U=await w(J);return X(U)}async function l({assetValue:J,recipient:U,memo:B}){let q=await G({assetValue:J,memo:B,recipient:U});return W(q)}async function Z({sender:J,...U}){let{baseDecimal:B}=qn.getChainConfig(qn.Chain.Ton),q=await Oo.match(J).with(Oo.P.string,(Q)=>{return h.Address.parseFriendly(Q).address}).otherwise(async()=>{return(await H()).address});if(!q)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let Y=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),D=await f();try{let Q=await G({sender:J,...U}),O=await C(),x=await H();if(!x||!O)return Y;let k=await x.getSeqno(),u=x.createTransfer({messages:M(Q),secretKey:O.secretKey,sendMode:hC,seqno:k}),{source_fees:j}=await D.estimateExternalMessageFee(q,{body:u,ignoreSignature:!0,initCode:null,initData:null}),s=j.in_fwd_fee+j.storage_fee+j.gas_fee+j.fwd_fee;return Y.set(qn.SwapKitNumber.fromBigInt(BigInt(s),B))}catch{return Y}}async function z({jettonMasterAddress:J,ownerAddress:U}){try{let B=await f(),q=h.Address.parse(J),Y=h.Address.parse(U);return await B.open(h.JettonMaster.create(q)).getWalletAddress(Y)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:J,ownerAddress:U}})}}function L({jettonAmount:J,destinationAddress:U,responseAddress:B,forwardAmount:q=J_,forwardPayload:Y}){let D=h.beginCell().storeUint(Z_,32).storeUint(0,64).storeCoins(J).storeAddress(U).storeAddress(B).storeBit(0).storeCoins(q);if(Y)D.storeBit(1).storeRef(Y);else D.storeBit(0);return D.endCell()}function N(J){return h.beginCell().storeUint(0,32).storeStringTail(J).endCell()}return{broadcastTransaction:X,createTransaction:G,estimateTransactionFee:Z,getAddress:t,getBalance:A,getJettonWalletAddress:z,sign:w,signAndBroadcastTransaction:W,transfer:l,validateAddress:dC}}function dC(n){try{return h.Address.parse(n),!0}catch{return!1}}var rC,qn,gC,h,Oo,Z_=260734629,J_,Y_,hC,N_=60000,Nf,mC=0;var aC=S(()=>{dn();rC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),gC=require("@ton/crypto"),h=require("@ton/ton"),Oo=require("ts-pattern"),J_=h.toNano("0.01"),Y_=h.toNano("0.05"),hC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var zf={};Mn(zf,{validateTonAddress:()=>dC,getTONToolbox:()=>D_});module.exports=Jn(zf);var Df=S(()=>{aC()});function bn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function Go({accountIndex:n,chain:y,derivationPath:T}){if(n!==void 0)bn("accountIndex",n);let o=[...T?.slice(0,3)??sC.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function jo({accountIndex:n,change:y=!1,chain:T,derivationPath:o,index:f}){return bn("index",f),[...Go({accountIndex:n,chain:T,derivationPath:o}),Number(y),f]}function Ro(n){return n[2]??0}function eC({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:A,count:_,startIndex:G=0,change:M=!1}=H;if(bn("count",_),_<1)throw RangeError("count must be at least 1");bn("startIndex",G);let w=[];for(let X=0;X<_;X++){let W=await n({accountIndex:A,change:M,index:G+X});if(W)w.push(W)}return w}async function f(H){let{gapLimit:A=20,change:_=!1}=H??{},G=[],M=0,w=0;while(M<A){let X=await n({change:_,index:w});if(!X)break;if((await y(X.address)).some((Z)=>Z.getValue("number")>0))G.push(X),M=0;else M++;w++}return G}async function t(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[...A,..._],M=await Promise.all(G.map(async(X)=>{let l=(await y(X.address)).reduce((Z,z)=>Z+z.getValue("number"),0);return{...X,balance:l}})),w=M.reduce((X,W)=>X+W.balance,0);return{addresses:M,total:w}}async function C(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[...A,..._];return(await Promise.all(G.map(async(w)=>{return(await T(w.address)).map((W)=>({...W,address:w.address,derivationIndex:w.index,isChange:w.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:t,getAggregatedUtxos:C,scanForAddresses:f}}var sC;var zy=S(()=>{sC=require("@swapkit/helpers")});async function O_({chain:n,txHash:y}){let T=`${Dy(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await K.RequestClient.post(T,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let t=await K.getRPCUrl(n);if(t){let C=JSON.stringify({id:q0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await K.RequestClient.post(t,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Dy(n){return`https://api.blockchair.com/${R_(n)}`}function n1(n){switch(n){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function R_(n){switch(n){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function x_(n){try{let{feePerKb:y}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),T=y/1000;return Math.max(T,n1(n))}catch{return n1(n)}}async function Of(n,y){let T=await K.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!T||T.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return T.data}async function y1({address:n,chain:y,apiKey:T}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Of(`${Dy(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function F_({address:n,chain:y,apiKey:T}){return(await y1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function f1({chain:n,apiKey:y,txHash:T}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Of(`${Dy(n)}/raw/transaction/${T}`,y))?.[T]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function S_({chain:n,apiKey:y,txHash:T}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Of(`${Dy(n)}/dashboards/transaction/${T}`,y))?.[T];if(!f)throw new K.SwapKitError("toolbox_utxo_tx_not_found",{txHash:T});let{transaction:t,inputs:C,outputs:H}=f,A=C.map((G)=>G.spending_sequence),_=t.is_rbf===!0||A.some((G)=>G<p_);return{blockId:t.block_id,confirmed:t.block_id!==-1,fee:t.fee,inputs:C,isRBF:_,outputs:H,sequences:A,size:t.size,txid:t.hash,weight:t.weight}}async function k_({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await Of(`${Dy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,T)).map(({is_spent:A,script_hex:_,block_id:G,transaction_hash:M,index:w,value:X,spending_signature_hex:W})=>({hash:M,index:w,is_confirmed:G!==-1,is_spent:A,script_hex:_,txHex:W,value:X}))}function u_(n){return n.reduce((y,T)=>y+T.value,0)}function o1(n,y){let T=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let t of T)if(o.push(t),f+=t.value,f>=y)break;return o}return T}async function T1({chain:n,address:y,apiKey:T,targetValue:o,accumulativeValue:f=0,offset:t=0,limit:C=30}){if(!y)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await k_({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),_=H.length<C,G=H.filter(({is_spent:Z})=>!Z),M=u_(G),w=f+M,X=o&&w>=o;if(_||X)return o1(G,o);let W=await T1({accumulativeValue:w,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),l=[...G,...W];return o1(l,o)}catch(H){let A=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${A}`),[]}}async function P_({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await T1({address:n,apiKey:T,chain:y,targetValue:f}),C=[];for(let{hash:H,index:A,script_hex:_,value:G}of t){let M;if(o)M=await f1({apiKey:T,chain:y,txHash:H});C.push({address:n,hash:H,index:A,txHex:M,value:G,witnessUtxo:{script:Buffer.from(_,"hex"),value:G}})}return C}function Qn(n){let y=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(T)=>O_({chain:n,txHash:T}),getAddressData:(T)=>y1({address:T,apiKey:y,chain:n}),getBalance:(T)=>F_({address:T,apiKey:y,chain:n}),getRawTx:(T)=>f1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>x_(n),getTransactionDetails:(T)=>S_({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>P_({...T,apiKey:y,chain:n})}}function I_(n){return n}function $_(){return function(y){switch(y){case K.Chain.Bitcoin:return xo.NETWORKS.bitcoin;case K.Chain.BitcoinCash:return xo.NETWORKS.bitcoinCash;case K.Chain.Dash:return xo.NETWORKS.dash;case K.Chain.Litecoin:return xo.NETWORKS.litecoin;case K.Chain.Dogecoin:return xo.NETWORKS.dogecoin;case K.Chain.Zcash:return xo.NETWORKS.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var K,xo,p_=4294967294;var t1=S(()=>{dn();K=require("@swapkit/helpers"),xo=require("@swapkit/utxo-signer")});function v_(n,y,T){return oo.encodeCashAddr({hash:T,prefix:n,type:E_[y]})}function V_(n){let y=oo.decodeCashAddr(n),T=b_[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var oo,E_,b_,At;var C1=S(()=>{oo=require("@swapkit/utxo-signer"),E_={P2PKH:oo.CashAddrType.P2PKH,P2SH:oo.CashAddrType.P2SH},b_={[oo.CashAddrType.P2PKH]:"P2PKH",[oo.CashAddrType.P2SH]:"P2SH"};At={decode:V_,encode:v_}});function wt(n){try{return Rf(n),!0}catch{return!1}}function qt(n){return Rf(n)?.network}function yo(n){let y=Rf(n);if(y?.format==="legacy")return n;return c_(y)}function Oy(n){let y=Rf(n);return i_(y)}function Rf(n){try{let y=j_(n);if(y)return y}catch{}try{let y=K_(n);if(y)return y}catch{}throw new _t.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function j_(n){try{let y=U1.decode(n);if(y.length!==21)throw new _t.SwapKitError("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case Fo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case Fo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case Fo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case Fo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case Fo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case Fo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function K_(n){if(n.indexOf(":")!==-1)try{return H1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return H1(`${T}:${n}`)}catch{}}return}function H1(n){try{let{hash:y,prefix:T,type:o}=At.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:T==="bitcoincash"?"mainnet":"testnet",type:o==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function c_(n){let y=Fo.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),U1.encode(T)}function i_(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return At.encode(y,T,o)}var A1,_1,_t,U1,Ut,Fo;var w1=S(()=>{C1();A1=require("@noble/hashes/sha2.js"),_1=require("@scure/base"),_t=require("@swapkit/helpers"),U1=_1.createBase58check(A1.sha256);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(Ut||={});Fo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function kn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return G1.Script.encode(["RETURN",y])}var q1,G1,h_=1000,Ff=10,pf=2,l1=10,m_=41,r_=107,Sf,xf,Ry,Ko=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new q1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},po=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",t=(T?n.filter((_)=>_.value>=xf["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(T)):n).reduce((_,G)=>_+lo(G),0),C=y?.reduce((_,G)=>_+xy(G),0)||Ry[o],H=Ff+t+C;return o==="P2WPKH"?Math.ceil(H+pf/4):H},lo=(n)=>{if("type"in n&&n.type)return xf[n.type];if("address"in n&&n.address)return xf[Ko(n.address)];return m_+r_},xy=(n,y)=>{if(n?.script)return l1+n.script.length+(n.script.length>=74?2:1);if(y)return Ry[y];if("address"in n&&n.address)return Ry[Ko(n.address)];return Ry.P2PKH};var Gt=S(()=>{q1=require("@swapkit/helpers"),G1=require("@swapkit/utxo-signer");((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(Sf||={});xf={["P2PKH"]:148,["P2WPKH"]:68},Ry={["P2PKH"]:34,["P2WPKH"]:31}});function Fy(n){switch(n){case rn.Chain.Bitcoin:case rn.Chain.BitcoinCash:return 550;case rn.Chain.Dash:case rn.Chain.Litecoin:return 5500;case rn.Chain.Dogecoin:return 1e5;case rn.Chain.Zcash:return 546;default:throw new rn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:T=1,chain:o=rn.Chain.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",C=n.filter((W)=>lo(W)*T<=W.value),A=t==="P2WPKH"?Math.ceil(pf/4):0,_=Ff+A+y.reduce((W,l)=>W+xy(l),0),G=y.reduce((W,l)=>W+l.value,0),M=_*T,w=0,X=[];for(let W of C){let l=lo(W),Z=T*l;M+=Z,w+=W.value,X.push(W);let z=M+G;if(w<z)continue;let L=w-z,N=T*xy({address:f,value:0});if(L>N){let J=N+M,U=w-(G+Math.ceil(J));if(U>Math.max(lo({value:0})*T,Fy(o)))return{fee:Math.ceil(J),inputs:X,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:X,outputs:y}}return{fee:Math.ceil(T*po({inputs:n,outputs:y}))}}var rn;var X1=S(()=>{Gt();rn=require("@swapkit/helpers")});var co=S(()=>{t1();w1();X1();Gt()});function So(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Xo(n){let y=So(n);return wt(y)&&qt(y)==="mainnet"}function io(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=kf.Address(kf.ZCASH_NETWORK).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var kf;var py=S(()=>{co();kf=require("@swapkit/utxo-signer")});function Wt({address:n,chain:y}){return Xt.match(y).with(F.Chain.BitcoinCash,()=>Xo(n)).with(F.Chain.Zcash,()=>io(n)).otherwise(()=>{try{return m.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return Xt.match(n).with(F.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(F.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(F.Chain.Dash,()=>m.NETWORKS.dash).with(F.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(F.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(F.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function g_({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Pf.mnemonicToSeedSync(n),C=lt.HDKey.fromMasterSeed(f,T.bip32).derive(y);if(!C.privateKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function W1(n){return B1.secp256k1.getPublicKey(n,!0)}function ky({publicKey:n,chain:y,network:T}){if(y===F.Chain.BitcoinCash){let t=m.p2pkh(n,T);if(!t.hash)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return m.encodeCashAddr({hash:t.hash,prefix:m.CashAddrPrefix.MAINNET,type:m.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!Sy.includes(y)?m.p2wpkh(n,T):m.p2pkh(n,T);if(!f.address)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function ho({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=Dn(T);if(o){let _=m.WIF(t).decode(o),G=W1(_);return{privateKey:_,publicKey:G}}if(!n)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||F.derivationPathToString(F.NetworkDerivationPath[T]),H=g_({derivationPath:C,network:t,phrase:n,seed:f}),A=W1(H);return{privateKey:H,publicKey:A}}function d_(n,y){return m.WIF(Dn(y)).encode(n)}function a_({phrase:n,derivationPath:y,chain:T,seed:o}){let f=y.split("/");if(f.length<4)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let t=Dn(T),C=o??Pf.mnemonicToSeedSync(n),H=lt.HDKey.fromMasterSeed(C,t.bip32),A=f.slice(0,4).join("/");return H.derive(A)}function Bo({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=Dn(T),A=!Sy.includes(T),_=C?m.RBF_SEQUENCE:void 0,G=new Set;for(let M of n){let w=`${M.hash}:${M.index}`;if(G.has(w))throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(w);let X=typeof M.hash==="string"?Wo.hex.decode(M.hash):M.hash;if(A&&M.witnessUtxo)o.addInput({index:M.index,sequence:_,txid:X,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:Wo.hex.decode(M.txHex),sequence:_,txid:X,...T===F.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let w="address"in M&&M.address?M.address:f;if(T===F.Chain.BitcoinCash)w=yo(w);if(M.script){if(t)o.addOutput({amount:0n,script:t})}else o.addOutputAddress(w,BigInt(M.value),H)}return{inputs:n,tx:o}}async function mo(n){let y=await Qn(n).getSuggestedTxFee();return{[F.FeeOption.Average]:y,[F.FeeOption.Fast]:F.applyFeeMultiplier(y,F.FeeOption.Fast),[F.FeeOption.Fastest]:F.applyFeeMultiplier(y,F.FeeOption.Fastest)}}async function M1({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await mo(t))[F.FeeOption.Fastest],H=f||Sy.includes(t),A=n.getBaseValue("number"),_=Math.ceil(A+C*5000);return{inputs:await Qn(t).getUtxos({address:o,fetchTxHex:H,targetValue:_}),outputs:[{address:y,value:A},...T?[{address:"",script:kn(T),value:0}]:[]]}}async function L1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,A=T?kn(T):null,_=await M1({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:G,outputs:M}=vn({..._,chain:H,feeRate:o});if(!(G&&M))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:X,tx:W}=Bo({chain:H,compiledMemo:A,enableRBF:C,inputs:G,outputs:M,sender:f,tx:w});return{inputs:X,tx:W,utxos:_.inputs}}async function Q1({assetValue:n,feeOptionKey:y=F.FeeOption.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await M1({assetValue:n,memo:o,recipient:t,sender:f}),A=T?Math.floor(T):(await mo(C))[y];return vn({...H,chain:C,feeRate:A})}function s_(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=F.FeeOption.Fast,recipients:C=1}){let H=await Qn(n).getAddressData(T),A=f?Math.ceil(f):(await mo(n))[t],_=H?.utxo.map((l)=>({...l,hash:"",type:"P2PKH"})).filter((l)=>l.value>Math.max(Fy(n),lo(l)*A));if(!_?.length)return F.AssetValue.from({chain:n});let G=BigInt(_.reduce((l,Z)=>l+Z.value,0)),M=F.AssetValue.from({chain:n,value:G}),w=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)w.push({address:T,script:kn(o),value:0});let X=po({inputs:_,outputs:w}),W=F.AssetValue.from({chain:n,value:BigInt(X*A)});return M.sub(W)}}function e_(n){return async function(T){let{fee:o}=await Q1(T);return F.AssetValue.from({chain:n,value:F.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function n5({chain:n,phrase:y,derivationPath:T,seed:o}){let f=Dn(n),{privateKey:t,publicKey:C}=ho({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>ky({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(A)=>{return A.sign(t,H),A}}}function o5(n,y){return async function({memo:o,recipient:f,feeOptionKey:t,feeRate:C,assetValue:H,enableRBF:A=!1}){let _=y?.getAddress();if(!(y&&_))throw new F.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});F.warnOnce({condition:A&&!uf.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let G=A&&uf.includes(n),M=C||(await mo(n))[t||F.FeeOption.Fast],{tx:w}=await L1({assetValue:H,enableRBF:G,feeRate:M,memo:o,recipient:f,sender:_});return y.signTransaction(w),w.finalize(),Qn(n).broadcastTx(Wo.hex.encode(w.extract()))}}function Bt(n){return(y)=>Wt({address:y,chain:n})}function Mt(n){let y=Dn(n);return function(o){if(!o)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return ky({chain:n,network:y,publicKey:o.publicKey})}}function Mo({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Pf.mnemonicToSeedSync(T):void 0,t="derivationPath"in y&&y.derivationPath?y.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[n],{index:o}),C=F.derivationPathToString(t),H=T?n5({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,A="signer"in y?y.signer:void 0,_=T?ho({chain:n,derivationPath:C,phrase:T,seed:f}):void 0;function G(){if(H)return Promise.resolve(H.getAddress());if(A)return A.getAddress();return Promise.resolve(void 0)}function M(q){if(!T)return;let Y=Go({accountIndex:q,chain:n,derivationPath:t});return a_({chain:n,derivationPath:F.derivationPathToString(Y),phrase:T,seed:f})}let w=M();function X(){if(!w)return;return w.publicExtendedKey}function W({accountIndex:q}={}){let Y=q===void 0?w:M(q);if(!Y)return;let D=Go({accountIndex:q,chain:n,derivationPath:t});return{accountIndex:Ro(D),path:F.derivationPathToString(D),xpub:Y.publicExtendedKey}}function l({accountIndex:q,index:Y,change:D=!1}){let Q=q===void 0?w:M(q);if(!Q)return;let O=jo({accountIndex:q,chain:n,change:D,derivationPath:t,index:Y}),x=Dn(n),k=Q.deriveChild(Number(D)).deriveChild(Y);if(!k.publicKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let u=ky({chain:n,network:x,publicKey:k.publicKey}),j=Wo.hex.encode(k.publicKey);return{accountIndex:Ro(O),address:u,change:D,index:Y,path:F.derivationPathToString(O),pubkey:j}}async function Z(q){if(!uf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let Y=await Qn(n).getTransactionDetails(q);return{canReplace:Y.isRBF&&!Y.confirmed,confirmed:Y.confirmed,enabled:Y.isRBF,fee:Y.fee,sequences:Y.sequences,supported:!0}}async function z({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!uf.includes(n))throw new F.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let O=await Qn(n).getTransactionDetails(q);if(!O.isRBF)throw new F.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(O.confirmed)throw new F.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:O.blockId,txid:q});let x=O.inputs.reduce((Xn,In)=>Xn+In.value,0),u=O.outputs.find((Xn)=>Xn.recipient===D)?.value||0;if(u===0)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let j=await Promise.all(O.inputs.map(async(Xn)=>{let In=await Qn(n).getRawTx(Xn.transaction_hash);return{hash:Xn.transaction_hash,index:Xn.index,txHex:In,value:Xn.value,witnessUtxo:void 0}})),s=Q?kn(Q):null,Tn=po({feeRate:Y,inputs:j.map((Xn)=>({...Xn,type:"P2WPKH"})),outputs:[{address:D,value:u}]}),on=Math.ceil(Tn*Y);if(on<=O.fee)throw new F.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:on,originalFee:O.fee});let Zn=on-O.fee,Bn=u-Zn;if(Bn<=0)throw new F.SwapKitError("toolbox_utxo_rbf_insufficient_change");let On=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Kn=[{address:D,value:Bn},...Q?[{address:"",script:kn(Q),value:0}]:[]],cn=x-Bn-on,Rn=await G();if(cn>Fy(n)&&Rn)Kn.push({address:Rn,value:cn});return Bo({chain:n,compiledMemo:s,inputs:j,outputs:Kn,sender:Rn||D,tx:On}),{feeDelta:Zn,newFee:on,originalFee:O.fee,tx:On}}async function L({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");let{tx:O,originalFee:x,newFee:k}=await z({memo:Q,newFeeRate:Y,recipient:D,txid:q});H.signTransaction(O),O.finalize();let u=await Qn(n).broadcastTx(Wo.hex.encode(O.extract()));return{newFee:k,originalFee:x,txid:u}}function N({accountIndex:q,index:Y,change:D=!1}){bn("index",Y);let Q=q===void 0?w:M(q);if(!Q)return;return Q.deriveChild(Number(D)).deriveChild(Y).privateKey||void 0}function J({tx:q,inputDerivations:Y}){if(!w)throw new F.SwapKitError("toolbox_utxo_no_signer");let D=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let Q=0;Q<Y.length;Q++){let O=Y[Q];if(!O)continue;let{derivationIndex:x,isChange:k}=O,u=N({change:k,index:x});if(!u)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${Q} at index ${x}`});q.signIdx(u,Q,D)}return q}async function U({utxos:q,recipient:Y,assetValue:D,memo:Q,feeRate:O,feeOptionKey:x,changeAddress:k}){if(!w)throw new F.SwapKitError("toolbox_utxo_no_signer");let u=O||(await mo(n))[x||F.FeeOption.Fast],j=Q?kn(Q):null,s=[{address:Y,value:D.getBaseValue("number")}];if(j)s.push({address:"",script:j,value:0});let Tn=q.map(({hash:Rn,index:Xn,value:In,txHex:zH,witnessUtxo:fT})=>({hash:Rn,index:Xn,txHex:zH,value:In,witnessUtxo:fT?{script:fT.script,value:fT.value}:void 0})),{inputs:on,outputs:Zn}=vn({chain:n,feeRate:u,inputs:Tn,outputs:s});if(!(on&&Zn))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:D,sender:"multiple addresses"});let Bn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),On=q[0]?.address,Kn=k||await G()||On||Y;Bo({chain:n,compiledMemo:j,inputs:on,outputs:Zn,sender:Kn,tx:Bn});let cn=on.map((Rn)=>{let Xn=q.find((In)=>In.hash===Rn.hash&&In.index===Rn.index);return Xn?{derivationIndex:Xn.derivationIndex,isChange:Xn.isChange}:{derivationIndex:0,isChange:!1}});return J({inputDerivations:cn,tx:Bn}),Bn.finalize(),Qn(n).broadcastTx(Wo.hex.encode(Bn.extract()))}function B({address:q,gapLimit:Y=20}){if(!w)return;for(let D=0;D<Y;D++){let Q=l({change:!1,index:D}),O=l({change:!0,index:D}),x=Q?.address===q?!1:O?.address===q;if(Q?.address===q||O?.address===q)return{change:x,index:D}}return}return{accumulative:vn,broadcastTx:(q)=>Qn(n).broadcastTx(q),bumpFee:L,calculateTxSize:po,createKeysForPath:(q)=>ho({...q,chain:n}),createReplacementTransaction:z,createTransaction:L1,deriveAddressAtIndex:l,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:s_(n),estimateTransactionFee:e_(n),getAddress:G,getAddressFromKeys:Mt(n),getBalance:xn(n),getExtendedPublicKey:X,getExtendedPublicKeyInfo:W,getFeeRates:()=>mo(n),getInputsOutputsFee:Q1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(q)=>d_(ho({...q,chain:n}).privateKey,n),isRBFEnabled:Z,keys:_,resolveDerivationIndex:B,signAndBroadcastTransaction:async(q)=>{if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");return H.signTransaction(q),q.finalize(),await Qn(n).broadcastTx(Wo.hex.encode(q.extract()))},signTransactionWithMultipleKeys:J,transfer:o5(n,H),transferFromMultipleAddresses:U,validateAddress:Bt(n)}}var B1,Wo,lt,Pf,F,m,Xt,Sy,uf;var ro=S(()=>{dn();zy();co();py();B1=require("@noble/curves/secp256k1.js"),Wo=require("@scure/base"),lt=require("@scure/bip32"),Pf=require("@scure/bip39"),F=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),Xt=require("ts-pattern"),Sy=[F.Chain.Dash,F.Chain.Dogecoin,F.Chain.Zcash,F.Chain.BitcoinCash],uf=[F.Chain.Bitcoin]});function uy(n){return So(Oy(n))}function y5(n){let y=Dn(gn);function T(f){return f.sign(n.privateKey,[Wn.BCHSigHash.ALL]),f}function o(){let f=Wn.p2pkh(n.publicKey,y);if(!f.hash)throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let t=Wn.encodeCashAddr({hash:f.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH});return Promise.resolve(t.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:T}}function Qt(n){let y="phrase"in n?n.phrase:void 0,T="index"in n?n.index||0:0,o=Gn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Gn.updateDerivationPath(Gn.NetworkDerivationPath[gn],{index:T})),f=y?ho({chain:gn,derivationPath:o,phrase:y}):void 0,t=f?y5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:A,broadcastTx:_,...G}=Mo({chain:gn});function M(X,W=!0){return H(So(Oy(X)))}async function w(X){if(!t)throw new Gn.SwapKitError("toolbox_utxo_no_signer");return t.signTransaction(X),X.finalize(),await _(Lt.hex.encode(X.extract()))}return{...G,broadcastTx:_,buildTx:T5,createTransaction:Z1,getAddress:C,getAddressFromKeys:t5,getBalance:M,getFeeRates:A,signAndBroadcastTransaction:w,stripPrefix:So,stripToCashAddress:uy,transfer:f5({broadcastTx:_,getFeeRates:A,signer:t}),validateAddress:Xo}}async function Z1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!Xo(y))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:t}),H=T?kn(T):null,A=[],_=yo(y);if(A.push({address:_,value:n.getBaseValue("number")}),H)A.push({script:H,value:0});let{inputs:G,outputs:M}=vn({chain:gn,feeRate:o,inputs:C,outputs:A});if(!(G&&M))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),X=yo(f),{inputs:W,tx:l}=Bo({chain:gn,compiledMemo:H,inputs:G,outputs:M.map((Z)=>("address"in Z)&&Z.address?{...Z,address:yo(Z.address)}:Z),sender:X,tx:w});return{inputs:W,tx:l,utxos:G}}function f5({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=Gn.FeeOption.Fast,...H}){let A=await T?.getAddress();if(!(T&&A))throw new Gn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Gn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let _=H.feeRate||(await y())[C],{tx:G}=await Z1({...H,assetValue:t,feeRate:_,recipient:f,sender:A}),M=await T.signTransaction(G);return M.finalize(),n(Lt.hex.encode(M.extract()))}}async function T5({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=Oy(y);if(!Xo(t))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:C}),A=Number(o.toFixed(0)),_=T?kn(T):null,G=[];if(G.push({address:yo(y),value:n.getBaseValue("number")}),_)G.push({script:_,value:0});let{inputs:M,outputs:w}=vn({chain:gn,feeRate:A,inputs:H,outputs:G});if(!(M&&w))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let X=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:W,tx:l}=Bo({chain:gn,compiledMemo:_,inputs:M,outputs:w,sender:yo(f),tx:X});return{inputs:W,tx:l,utxos:H}}function t5(n){let y=Wn.NETWORKS.bitcoinCash,T=Wn.p2pkh(n.publicKey,y);if(!T.hash)throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Wn.encodeCashAddr({hash:T.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var Lt,Gn,Wn,gn;var If=S(()=>{co();ro();py();Lt=require("@scure/base"),Gn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),gn=Gn.Chain.BitcoinCash});function Y1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function H5(n){return C5.encode(n)}function A5({phrase:n,derivationPath:y}){let T=Jt.mnemonicToSeedSync(n),f=Zt.HDKey.fromMasterSeed(T).derive(y);if(!f.privateKey||!f.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:t,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:A}=_n.SKConfig.get("envs"),_=A?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(_.length+H.length);G.set(_,0),G.set(H,_.length);let M=H5(G);return{getAddress:()=>Promise.resolve(M),signTransaction:(w)=>{if(w instanceof tn.PCZT)return w.signAllInputs(t,C,tn.ZcashSigHash.ALL),w.finalizeAllInputs(),Promise.resolve(w.extract());return w.signAllInputs(t,C,tn.ZcashSigHash.ALL),Promise.resolve(w)}}}function _5({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=Y1();for(let C of n){let H=tn.Address(t).decode(o),A=tn.OutScript.encode(H);T.addInput({index:C.index,script:A,sequence:4294967295,txid:$f.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,A=C.script;if(A&&!f)continue;if(A&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function J1(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?kn(o):null,A=await Qn(_n.Chain.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),_=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:G,outputs:M}=vn({chain:_n.Chain.Zcash,changeAddress:t,feeRate:f,inputs:A,outputs:_});if(!(G&&M))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let w=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:X,inputs:W}=_5({compiledMemo:H,inputs:G,outputs:M,sender:t,tx:w});return{inputs:W,outputs:M,tx:X}}function Yt(n){let y=go.match(n).with({signer:go.P.not(go.P.nullish)},({signer:A})=>A).with({phrase:go.P.string},({phrase:A,derivationPath:_,index:G=0})=>{let M=_||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],w=_n.updateDerivationPath(M,{index:G}),X=_n.derivationPathToString(w);return A5({derivationPath:X,phrase:A})}).otherwise(()=>{return}),T=Mo({chain:_n.Chain.Zcash,signer:y});async function o({recipient:A,assetValue:_,feeOptionKey:G=_n.FeeOption.Fast,...M}){let w=await y?.getAddress();if(!(y&&w))throw new _n.SwapKitError("toolbox_utxo_no_signer");let X=M.feeRate||(await T.getFeeRates())[G],{tx:W}=await J1({...M,assetValue:_,feeRate:X,recipient:A,sender:w}),Z=(await y.signTransaction(W)).toHex();return T.broadcastTx(Z)}function f({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let G=Jt.mnemonicToSeedSync(A),w=Zt.HDKey.fromMasterSeed(G).derive(_);if(!w.privateKey||!w.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:w.privateKey,publicKey:w.publicKey}}function t({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let G=f({derivationPath:_,phrase:A}),M=Y1();return tn.WIF(M).encode(G.privateKey)}function C(A){return async function(G){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await A.signTransaction(G)}}function H(A){return async function(G){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");let M=await A.signTransaction(G);return T.broadcastTx(M.toHex())}}return{...T,createKeysForPath:f,createTransaction:J1,getPrivateKeyFromMnemonic:t,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:io}}var $f,Zt,Jt,_n,tn,go,C5;var Nt=S(()=>{co();ro();py();$f=require("@scure/base"),Zt=require("@scure/bip32"),Jt=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),go=require("ts-pattern");C5=$f.createBase58check(tn.utils.sha256)});function O1({xpub:n,chain:y,count:T,startIndex:o=0,accountIndex:f}){if(bn("count",T),T<1)throw RangeError("count must be at least 1");bn("startIndex",o);let t=Dn(y),C=z1.HDKey.fromExtendedKey(n,t.bip32),H=Go({accountIndex:f,chain:y}),A=Ro(H),_=[];for(let G of[!1,!0]){let M=C.deriveChild(Number(G));for(let w=0;w<T;w++){let X=o+w,W=M.deriveChild(X);if(!W.publicKey)continue;let l=jo({accountIndex:f,chain:y,change:G,index:X});_.push({accountIndex:A,address:ky({chain:y,network:t,publicKey:W.publicKey}),change:G,index:X,path:D1.derivationPathToString(l),pubkey:N1.hex.encode(W.publicKey)})}}return _}var N1,z1,D1;var R1=S(()=>{zy();ro();N1=require("@scure/base"),z1=require("@scure/bip32"),D1=require("@swapkit/helpers")});function U5(n,y){switch(n){case fo.Chain.BitcoinCash:return Qt(y||{});case fo.Chain.Zcash:return Yt(y);case fo.Chain.Bitcoin:case fo.Chain.Dogecoin:case fo.Chain.Litecoin:case fo.Chain.Dash:return Mo({chain:n,...y});default:throw new fo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var fo;var x1=S(()=>{If();ro();Nt();zy();R1();If();py();fo=require("@swapkit/helpers")});var zt={};Mn(zt,{validateZcashAddress:()=>io,validateUtxoAddress:()=>Wt,validateBchAddress:()=>Xo,toLegacyAddress:()=>yo,toCashAddress:()=>Oy,stripToCashAddress:()=>uy,stripPrefix:()=>So,nonSegwitChains:()=>Sy,isValidAddress:()=>wt,getUtxoToolbox:()=>U5,getUtxoNetwork:()=>$_,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>Bt,getUTXOAddressPath:()=>jo,getUTXOAccountPath:()=>Go,getUTXOAccountIndexFromPath:()=>Ro,getScriptTypeForAddress:()=>Ko,getOutputSize:()=>xy,getNetworkForChain:()=>Dn,getInputSize:()=>lo,getDustThreshold:()=>Fy,detectAddressNetwork:()=>qt,deriveAddressesFromXpub:()=>O1,createZcashToolbox:()=>Yt,createUTXOToolbox:()=>Mo,createHDWalletHelpers:()=>eC,createCustomUtxoApi:()=>I_,createBCHToolbox:()=>Qt,compileMemo:()=>kn,calculateTxSize:()=>po,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>Mt,addInputsAndOutputs:()=>Bo,accumulative:()=>vn,UtxoNetwork:()=>Ut,UTXOScriptType:()=>Sf,TX_OVERHEAD:()=>Ff,SEGWIT_MARKER_FLAG_WEIGHT:()=>pf,OutputSizes:()=>Ry,OP_RETURN_OVERHEAD:()=>l1,MIN_TX_FEE:()=>h_,InputSizes:()=>xf});module.exports=Jn(zt);var Dt=S(()=>{ro();zy();co();x1();If();Nt()});function Py(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function bf(n){let{KeyPair:y}=await import("@near-js/crypto"),T=n.index||0,o=n.derivationPath?Ef.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:f}=p1.parseSeedPhrase(n.phrase,o),t=y.fromString(f);return k1(t)}async function Ot(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return k1(T)}function k1(n){return new S1(n)}async function vf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Ef.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),t=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:t}}var F1,Ef,p1,S1;var Rt=S(()=>{F1=require("@near-js/signers"),Ef=require("@swapkit/helpers"),p1=TT(require("near-seed-phrase"));S1=class S1 extends F1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function xt(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function Ft(n){return"contractId"in n&&"methodName"in n}function pt(n){return"actions"in n}function St(n){return"newAccountId"in n}function kt(n){return"contractCode"in n}function ut(n){return"customEstimator"in n}function Pt(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(Yn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Yn.CONTRACT_CALL);break;case"createAccount":y+=Number(Yn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Yn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Yn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Yn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Yn.STAKE);break;default:y+=Number(Yn.CONTRACT_CALL)}return y.toString()}function It(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Yn.TOKEN_TRANSFER;if(n==="storage_deposit")return Yn.STORAGE_DEPOSIT;return Yn.CONTRACT_CALL}function w5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function q5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Yn;var $t=S(()=>{Yn={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function Et({account:n,contractId:y,viewMethods:T,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:T})}function G5(n){let y;async function T(){if(y)return y;return y=await ao.match(n).with({phrase:ao.P.string},async(Q)=>{return await bf(Q)}).with({signer:ao.P.any},({signer:Q})=>Q).otherwise(()=>{return}),y}async function o(){let Q=await nn.getRPCUrl(nn.Chain.Near);return new u1.JsonRpcProvider({url:Q})}async function f(Q){let{Account:O}=await import("@near-js/accounts"),x=await o(),k=await T(),u=Q||await t();return new O(u,x,k)}async function t(){let Q=await T();if(!Q)throw new nn.SwapKitError("toolbox_near_no_signer");return await Q.getAddress()}async function C(Q){return(await J({changeMethods:[],contractId:Q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Q.accountId})}async function H(Q){let x=[await w({args:{account_id:Q.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await w({args:{amount:Q.assetValue.getBaseValue("string"),memo:Q.memo||null,receiver_id:Q.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return U({actions:x,receiverId:Q.contractId})}async function A(Q){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:x,recipient:k,memo:u}=Q,j=await t();if(!x.isGasAsset&&x.address){if(!await C({accountId:k,contractId:x.address}))return H({assetValue:x,contractId:x.address,memo:u,recipient:k})}let s=await _({...Q,sender:j});return l(s)}async function _({recipient:Q,assetValue:O,memo:x,attachedDeposit:k,sender:u,functionCall:j}){let s=await o();if(!Py(Q))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:Q});if(!Py(u))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:u});if(j)return M({...j,sender:u});if(!O.isGasAsset){let In=O.address;if(!In)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:x||null,receiver_id:Q},attachedDeposit:k||"1",contractId:In,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:Tn,nonce:on}=await vf(s,u),Zn=O.getBaseValue("bigint"),{actionCreators:Bn,createTransaction:On}=await import("@near-js/transactions"),{baseDecode:Kn}=await import("@near-js/utils"),cn=[Bn.transfer(Zn)];if(x&&k)cn.push(Bn.functionCall("memo",{memo:x},BigInt("250000000000000"),BigInt(k)));let Rn=await s.block({finality:"final"}),Xn=Kn(Rn.header.hash);return On(u,Tn,Q,on+1,cn,Xn)}function G(Q){let O=Q.encode();return Buffer.from(O).toString("base64")}async function M({args:Q,attachedDeposit:O,contractId:x,gas:k,methodName:u,sender:j}){let s=await o(),{publicKey:Tn,nonce:on}=await vf(s,j),{createTransaction:Zn,actionCreators:Bn}=await import("@near-js/transactions"),{baseDecode:On}=await import("@near-js/utils"),Kn=await s.block({finality:"final"}),cn=On(Kn.header.hash),Rn=[Bn.functionCall(u,Buffer.from(JSON.stringify(Q)),BigInt(k),BigInt(O))];return Zn(j,Tn,x,on+1,Rn,cn)}async function w(Q){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(Q.methodName,Buffer.from(JSON.stringify(Q.args)),BigInt(Q.gas),BigInt(Q.attachedDeposit))}async function X(Q){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let[x,k]=await O.signTransaction(Q);return k}async function W(Q){return(await(await o()).sendTransaction(Q)).transaction.hash}async function l(Q){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");try{let x=await X(Q);return await W(x)}catch{return O.signAndSendTransactions?.({transactions:[Q]})}}async function Z(Q){let O=await T();if("assetValue"in Q){let k=await z();try{let u=await nn.getRPCUrl(nn.Chain.Near),j=await fetch(u,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:s}}=await j.json(),{execution:Tn,send_sir:on}=s.transaction_costs.action_receipt_creation_config,{execution:Zn,send_sir:Bn}=s.transaction_costs.action_creation_config.transfer_cost,On=BigInt(Bn)+BigInt(Zn),Kn=BigInt(on)+BigInt(Tn),Rn=(On+Kn)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:Rn})}catch(u){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",u);let j=BigInt("115123062500"),s=BigInt("108059500000"),on=(j+s)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:on})}}let x=O?await f():void 0;return B(Q,x)}async function z(){let Q=await o();try{return await Q.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(Q,O,x){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let u=await f(),{formatNearAmount:j}=await import("@near-js/utils"),{PublicKey:s}=await import("@near-js/crypto"),Tn=j(x)||"0";return(await u.createAccount(Q,s.fromString(O),BigInt(Tn))).transaction.hash}async function N(Q){let O=await T();try{if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:x}=await import("@near-js/transactions"),{contractId:k,methodName:u,args:j,deposit:s}=Q,Tn=await f(),on=await B({args:j||{},contractId:k,methodName:u}),Zn=x.functionCall(u,j||{},on.getBaseValue("bigint"),BigInt(s||"1"));return(await Tn.signAndSendTransaction({actions:[Zn],receiverId:k})).transaction_outcome.id}catch(x){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:x})}}async function J(Q){let O=await f();return Et({account:O,changeMethods:Q.changeMethods,contractId:Q.contractId,viewMethods:Q.viewMethods})}async function U(Q){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");if(Q.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:Q.actions,receiverId:Q.receiverId})).transaction.hash}async function B(Q,O){let x=await ao.match(Q).when(xt,()=>Yn.SIMPLE_TRANSFER).when(Ft,(u)=>It(u.methodName)).when(pt,(u)=>Pt(u.actions)).when(St,()=>Yn.ACCOUNT_CREATION).when(kt,()=>Yn.CONTRACT_DEPLOYMENT).when(ut,(u)=>{if(!O)throw new nn.SwapKitError("toolbox_near_no_account");return u.customEstimator(O)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(x)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function q(Q,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),B(Q,O)}async function Y(){let Q=await o();try{return(await Q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let Q=await T();return Q?(await Q.getPublicKey()).toString():""}return{broadcastTransaction:W,callFunction:N,createAction:w,createContract:J,createContractFunctionCall:M,createSubAccount:L,createTransaction:_,estimateGas:q,estimateGasLimit:B,estimateTransactionFee:Z,executeBatchTransaction:U,getAddress:t,getBalance:xn(nn.Chain.Near),getGasPrice:Y,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:bf,getSignerFromPrivateKey:Ot,serializeTransaction:G,signAndBroadcastTransaction:l,signTransaction:X,transfer:A,validateAddress:Py}}var u1,nn,ao;var bt=S(()=>{dn();Rt();$t();u1=require("@near-js/providers"),nn=require("@swapkit/helpers"),ao=require("ts-pattern")});var P1=S(()=>{bt()});var vt={};Mn(vt,{validateNearAddress:()=>Py,tgasToGas:()=>w5,isSimpleTransfer:()=>xt,isCustomEstimator:()=>ut,isContractDeployment:()=>kt,isContractCall:()=>Ft,isBatchTransaction:()=>pt,isAccountCreation:()=>St,getNearToolbox:()=>G5,getNearSignerFromPrivateKey:()=>Ot,getNearSignerFromPhrase:()=>bf,getFullAccessPublicKey:()=>vf,getContractMethodGas:()=>It,gasToTGas:()=>q5,estimateBatchGas:()=>Pt,createNearContract:()=>Et,GAS_COSTS:()=>Yn});module.exports=Jn(vt);var Vt=S(()=>{Rt();$t();bt();P1()});var jt={};Mn(jt,{validateRadixAddress:()=>E1,getRadixToolbox:()=>M5});module.exports=Jn(jt);function E1(n){return n.startsWith("account_rdx1")&&n.length===66}function l5({networkApi:n}){return async function(T){let o=await X5({address:T,networkApi:n}),f=await W5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function X5({address:n,networkApi:y}){let T=!0,o,f=[],t=await B5(y);while(T){let C={address:n,at_ledger_state:{state_version:t},cursor:o,limit_per_page:100},H=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:C});if(f=f.concat(H.items),H.next_cursor)o=H.next_cursor;else T=!1}return f}async function W5({resources:n,networkApi:y}){let T=[],o=50,f=[];for(let t=0;t<n.length;t+=50)f.push(n.slice(t,t+50));for(let t of f){let C=t.map((_)=>_.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),A=new Map;for(let _ of H)if(_.details!==void 0){let G=_.metadata?.items.find((w)=>w.key==="symbol"),M=G?.value.typed.type==="String"?G.value.typed.value:"?";if(_.details.type==="FungibleResource")A.set(_.address,{decimals:_.details.divisibility,symbol:M})}for(let _ of t)if(_.aggregation_level==="Global"){let G=A.get(_.resource_address)||{decimals:0,symbol:"?"},M=Vn.AssetValue.from({asset:G.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${G.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});T.push(M)}}return T}async function B5(n){return(await n.status.getCurrent()).ledger_state.state_version}function M5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,T=$1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=I1.GatewayApiClient.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:l5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:E1}}var I1,$1,Vn;var Kt=S(()=>{I1=require("@radixdlt/babylon-gateway-api-sdk"),$1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function Vf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Iy(n){if(Vf(n))return n.toUpperCase();if(n.length<=3){let T=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${T}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new b1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function L5(n){if(!Vf(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let T=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(T)&&T.length>0)return T}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),T=y.length%2===0?y:`${y}0`,o=Buffer.from(T,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function so(n){if(Vf(n))return n.toUpperCase();if(n.length<=3)return n;return Iy(n)}var b1;var jf=S(()=>{b1=require("@swapkit/helpers")});async function Q5(n,y){let T=so(n),o=cf.find((f)=>so(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await Kf.RequestClient.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){Kf.warnOnce({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function Z5(n){return cf.filter((y)=>y.issuer===n)}function J5(n,y){let T=so(n);return cf.some((o)=>so(o.currency)===T&&o.issuer===y)}var Kf,cf;var v1=S(()=>{jf();Kf=require("@swapkit/helpers"),cf=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var ct={};Mn(ct,{validateRippleAddress:()=>mf,parseXrplTokenIdentifier:()=>K1,normalizeCurrency:()=>so,isKnownToken:()=>J5,isHexCurrency:()=>Vf,hexToCurrency:()=>L5,hashes:()=>i1.hashes,getXrplTokenInfo:()=>Q5,getRippleToolbox:()=>N5,getKnownTokensByIssuer:()=>Z5,formatXrplTokenIdentifier:()=>c1,currencyToHex:()=>Iy,XRPL_TOKEN_ERROR_CODES:()=>hf,XRPL_KNOWN_TOKENS:()=>cf});module.exports=Jn(ct);function K1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!To.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function c1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function Y5(n){if(n.isGasAsset)return To.xrpToDrops(n.getValue("string"));let y=K1(n.toString());if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function j1(n){let y=To.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function mf(n){return To.isValidAddress(n)}function N5(n={}){let y=eo.match(n).with({phrase:eo.P.string},({phrase:L})=>j1(L)).with({signer:eo.P.any},({signer:L})=>L).otherwise(()=>{return}),T;async function o(){let L=await i.getRPCUrl(i.Chain.Ripple);if(!L)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let N=new To.Client(L);return await N.connect(),N}async function f(){if(T){let L=await T.catch(()=>null);if(L?.isConnected())return L}return T=o(),T}let t=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(L)=>{let N=L||await t(),{baseDecimal:J}=i.getChainConfig(i.Chain.Ripple),U=await f();try{let[B,q]=await Promise.all([U.request({account:N,command:"account_info"}),U.request({account:N,command:"account_lines"})]),Y=B.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:Y})];for(let Q of q.result.lines){let O=c1(Q.currency,Q.account);if(Number.parseFloat(Q.balance)!==0)D.push(i.AssetValue.from({asset:O,asyncTokenLookup:!1,value:Q.balance}))}return D}catch(B){if(B.data?.error_code===V1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:N,error:B}})}},H=async()=>{let{baseDecimal:L}=i.getChainConfig(i.Chain.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:L,value:U})};async function A(L){let N=L||await t(),J=await f();try{return(await J.request({account:N,command:"account_lines"})).result.lines.map((B)=>({account:B.account,authorized:B.authorized??!1,balance:B.balance,currency:B.currency,freeze:B.freeze??!1,freezePeer:B.freeze_peer??!1,limit:B.limit,limitPeer:B.limit_peer,noRipple:B.no_ripple??!1,noRipplePeer:B.no_ripple_peer??!1,peerAuthorized:B.peer_authorized??!1,qualityIn:B.quality_in??0,qualityOut:B.quality_out??0}))}catch(U){if(U.data?.error_code===V1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:N,error:U}})}}async function _({address:L,currency:N,issuer:J}){let U=await A(L),B=Iy(N);return U.some((q)=>{return Iy(q.currency)===B&&q.account===J})}async function G({currency:L,issuer:N,limit:J,sender:U}){let B=U||await t();if(!mf(N))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:N}});let q=Number.parseFloat(J);if(Number.isNaN(q)||q<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:J}});let Y=await f(),D={Account:B,LimitAmount:{currency:L,issuer:N,value:J},TransactionType:"TrustSet"};return Y.autofill(D)}async function M({assetValue:L,recipient:N,memo:J,sender:U,destinationTag:B,extendBySeconds:q=150}){if(!mf(N))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Y=U||await t();if(L.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let D=Y5(L),Q={Account:Y,Amount:D,Destination:N,TransactionType:"Payment",...B!==void 0&&{DestinationTag:B}};if(J)Q.Memos=[{Memo:{MemoData:Buffer.from(J).toString("hex")}}];let x=await(await f()).autofill(Q);if(x.LastLedgerSequence&&q>0)x.LastLedgerSequence+=Math.ceil(q/4);return x}function w(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(L)}async function X(L){let J=await(await f()).submitAndWait(L),{result:U}=J;if(U.validated)return U.hash;let B=U.meta?.TransactionResult,q=eo.match(B).with(hf.tecNO_LINE,()=>"No trust line exists for this token").with(hf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(hf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...q?{reason:q}:{txResult:B}}})}let W=async(L)=>{try{let N=await w(L);return X(N.tx_blob)}catch(N){if(N instanceof i.SwapKitError)throw N;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:N}})}};async function l(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let N=await y.getAddress(),J=await M({...L,sender:N}),U=await w(J);return X(U.tx_blob)}async function Z(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let N=await y.getAddress(),J=await G({...L,sender:N}),U=await w(J);return X(U.tx_blob)}function z(){let L=T;if(T=null,L)L.then((N)=>{if(N?.isConnected())return N.disconnect();return}).catch((N)=>{console.warn("XRPL Cleanup failed silently:",N)})}return{broadcastTransaction:X,createSigner:j1,createTransaction:M,disconnect:z,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:A,hasTrustLine:_,setTrustLine:G,setTrustLineAndBroadcast:Z,signAndBroadcastTransaction:W,signTransaction:w,transfer:l,validateAddress:mf}}var i,eo,To,i1,V1,hf;var it=S(()=>{jf();i=require("@swapkit/helpers"),eo=require("ts-pattern"),To=require("xrpl");jf();v1();i1=require("xrpl"),V1={ACCOUNT_NOT_FOUND:19},hf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ht(n,y){let T=0n,o=0n,f=y;while(f<n.length&&f-y<10){let t=n[f++];if(t===void 0)break;if(T|=BigInt(t&127)<<o,o+=7n,(t&128)===0)return[T,f]}throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}function $y(n){let y=[],T=n<0n?n+2n**64n:n;while(T>=128n)y.push(Number(T&0x7fn)|128),T>>=7n;return y.push(Number(T)),y}function rf(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function R5(n){let y=new Map,T=0;while(T<n.length){let[o,f]=ht(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===gf){let[H,A]=ht(n,T);T=A,rf(y,t,{data:new Uint8Array($y(H)),wireType:gf})}else if(C===df){let[H,A]=ht(n,T);T=A;let _=Number(H);if(_<0||T+_>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let G=n.slice(T,T+_);T+=_,rf(y,t,{data:G,wireType:df})}else if(C===h1){if(T+8>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,rf(y,t,{data:H,wireType:h1})}else if(C===m1){if(T+4>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,rf(y,t,{data:H,wireType:m1})}else throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function x5(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[A])=>H-A))for(let{wireType:H,data:A}of C){let _=BigInt(t<<3|H);if(y.push(new Uint8Array($y(_))),H===df)y.push(new Uint8Array($y(BigInt(A.length))));y.push(A)}let T=y.reduce((t,C)=>t+C.length,0),o=new Uint8Array(T),f=0;for(let t of y)o.set(t,f),f+=t.length;return o}function g1(n,y){if(!n||n.length%2!==0)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let T=ny.hexToBytes(n),o=R5(T);if(y.expiration!==void 0)o.set(z5,[{data:new Uint8Array($y(BigInt(y.expiration))),wireType:gf}]);if(y.data!==void 0)o.set(D5,[{data:ny.hexToBytes(y.data),wireType:df}]);if(y.fee_limit!==void 0)o.set(O5,[{data:new Uint8Array($y(BigInt(y.fee_limit))),wireType:gf}]);let f=x5(o),t=ny.bytesToHex(f),C=ny.bytesToHex(r1.sha256(f));return{raw_data_hex:t,txID:C}}var r1,ny,ko,gf=0,h1=1,df=2,m1=5,z5=8,D5=10,O5=18;var d1=S(()=>{r1=require("@noble/hashes/sha2.js"),ny=require("@noble/hashes/utils.js"),ko=require("@swapkit/helpers")});function jn(n){if(typeof n!=="string")return!1;try{let y=af.decode(n);return y.length===21&&y[0]===e1}catch{return!1}}function nH(n){return Pn.bytesToHex(af.decode(n))}function p5(n){return af.decode(n).slice(1)}function oH(n){let y=mt.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),T=a1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=e1,o.set(T,1),af.encode(o)}function yH({txID:n,privateKey:y}){let T=mt.secp256k1.sign(Pn.hexToBytes(n),Pn.hexToBytes(y),{format:"recovered",prehash:!1}),o=T[0]??0,f=Pn.bytesToHex(T.slice(1,33)),t=Pn.bytesToHex(T.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+t+C}function oy({txID:n,raw_data_hex:y}){let T=Pn.bytesToHex(rt.sha256(Pn.hexToBytes(y)));if(n!==T)throw new gt.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function S5(n){return`000000000000000000000000${Pn.bytesToHex(p5(n))}`}function k5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=F5)throw new gt.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function yy(n){return n.map(({type:y,value:T})=>y==="address"?S5(T):k5(BigInt(T))).join("")}function fH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var mt,rt,a1,Pn,s1,gt,af,e1=65,F5;var dt=S(()=>{mt=require("@noble/curves/secp256k1.js"),rt=require("@noble/hashes/sha2.js"),a1=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),s1=require("@scure/base"),gt=require("@swapkit/helpers"),af=s1.createBase58check(rt.sha256),F5=2n**256n});function tH(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return TH}}function CH(){let n=new AbortController,y=setTimeout(()=>n.abort(),$5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function fy(n,y){let{signal:T,cleanup:o}=CH();try{let f=await fetch(`${tH()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:T});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function HH(n,y){let{signal:T,cleanup:o}=CH();try{let f=await fetch(`${y??tH()}${n}`,{headers:{"Content-Type":"application/json"},signal:T});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function AH(n){if(!jn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await HH(`/v1/accounts/${n}`,TH);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=nH(n).toLowerCase()}catch{T=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===T);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof ln.SwapKitError)throw y;throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function _H({from:n,to:y,amount:T}){let f=await fy("/wallet/createtransaction",{amount:T,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==T)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(f),f}async function UH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await fy("/wallet/triggersmartcontract",{call_value:t,contract_address:y,fee_limit:f,function_selector:T,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let A=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(A?.contract_address!==y||A?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(C.transaction),C.transaction}function wH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return fy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:T,owner_address:n,parameter:o,visible:!0})}async function Ey(n){try{let{result:y,txid:T}=await fy("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!T)throw new ln.SwapKitError("toolbox_tron_token_transfer_failed");return T}catch(y){throw new ln.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function sf(){let n={};try{let{chainParameter:y}=await HH("/wallet/getchainparameters");for(let T of y)n[T.key]=T.value}catch(y){ln.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??u5,createAccountFee:n.getCreateAccountFee??P5,energyFee:n.getEnergyFee??I5}}async function at(n){try{let y=await fy("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return ln.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function st(n){try{let y=await fy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function et(n){try{let{energy_used:y}=await wH({...n,ownerAddress:n.sender});return y}catch(y){return ln.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function qH({assetAddress:n,owner:y,spender:T}){let o=yy([{type:"address",value:y},{type:"address",value:T}]),t=(await wH({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:T,parameter:o})).constant_result?.[0];if(!t)return 0n;try{return BigInt(`0x${t}`)}catch{return 0n}}var ln,TH="https://api.trongrid.io",u5=1000,P5=1e5,I5=420,$5=30000;var GH=S(()=>{dt();ln=require("@swapkit/helpers")});function LH({phrase:n,derivationPath:y}){let T=WH.HDKey.fromMasterSeed(BH.mnemonicToSeedSync(n)).derive(y);if(!T.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return XH.bytesToHex(T.privateKey)}function QH({phrase:n,derivationPath:y,index:T}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:T||0}));return LH({derivationPath:o,phrase:n})}function j5({phrase:n,derivationPath:y}){let T=LH({derivationPath:y,phrase:n}),o=oH(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{oy(f);let t=yH({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function lH({transaction:n,memo:y,expiration:T,feeLimit:o}){let f={},t={};if(o!==void 0&&n.raw_data)f.fee_limit=o,t.fee_limit=o;if(y){let A=fH(y);f.data=A,t.data=A}if(T){let A=n.raw_data.expiration+T*1000;f.expiration=A,t.expiration=A}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=g1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function ZH(n={}){let y="index"in n?n.index||0:0,T=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:y})),o,f=!1;function t(){if(f)return Promise.resolve(o);return o=Ty.match(n).with({phrase:Ty.P.string},({phrase:U})=>j5({derivationPath:T,phrase:U})).with({signer:Ty.P.not(Ty.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await t();if(!U)throw new E.SwapKitError("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let B=U||b5,q=await sf(),Y=B*q.energyFee,D=Math.ceil(Y*1.5);return Math.min(Math.max(D,1e7),150000000)}async function A({contractAddress:U,functionSelector:B,parameter:q,sender:Y,memo:D,expiration:Q}){let O=await et({contractAddress:U,functionSelector:B,parameter:q,sender:Y}),x=await H(O),k=await UH({contractAddress:U,feeLimit:x,functionSelector:B,ownerAddress:Y,parameter:q});return lH({expiration:Q,feeLimit:x,memo:D,transaction:k})}async function _(U){if(!jn(U))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let B=await AH(U);if(!B)return[E.AssetValue.from({chain:E.Chain.Tron})];let q=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(B.balance)})],Y=B.trc20?.find((D)=>(n0 in D));if(Y){let D=Y[n0];q.push(E.AssetValue.from({asset:`TRON.USDT-${n0}`,fromBaseDecimal:6,value:D}))}return q}catch(B){return E.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${B instanceof Error?B.message:B}`}),[E.AssetValue.from({chain:E.Chain.Tron})]}}async function G({recipient:U,assetValue:B,memo:q,expiration:Y}){if(!jn(U))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");try{let Q=await C(),O=await l({assetValue:B,expiration:Y,memo:q,recipient:U,sender:Q}),x=await D.signTransaction(O),k=await Ey(x);if(!k)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(Q){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:Q instanceof Error?Q.message:String(Q)})}}function M({requiredBandwidth:U,resources:B,feePerUnit:q}){let Y=Math.max(0,B.free+B.total-B.used);return U>Y?(U-Y)*q:0}async function w({recipient:U,senderAddress:B}){let[q,Y,D]=await Promise.all([sf(),st(U),at(B)]),Q=Y?0:q.createAccountFee,O=M({feePerUnit:q.bandwidthFee,requiredBandwidth:E5,resources:D.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:Q+O})}async function X({assetValue:U,recipient:B,senderAddress:q}){let Y=U.address;if(!Y)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[D,Q,O,x]=await Promise.all([sf(),st(B),at(q),et({contractAddress:Y,functionSelector:"transfer(address,uint256)",parameter:yy([{type:"address",value:B},{type:"uint256",value:U.getBaseValue("string")}]),sender:q})]),k=Q?0:D.createAccountFee,u=M({feePerUnit:D.bandwidthFee,requiredBandwidth:v5,resources:O.bandwidth}),j=Math.max(0,O.energy.total-O.energy.used),s=x>j?(x-j)*D.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:k+u+s})}async function W({assetValue:U,recipient:B,sender:q}){let Y=await t();try{let D=q?q:Y?await C():void 0;if(!D)return U.isGasAsset?E.AssetValue.from({chain:E.Chain.Tron,value:0.1}):E.AssetValue.from({chain:E.Chain.Tron,value:15});return U.isGasAsset?w({recipient:B,senderAddress:D}):X({assetValue:U,recipient:B,senderAddress:D})}catch(D){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:D})}}async function l({recipient:U,assetValue:B,memo:q,sender:Y,expiration:D}){if(!jn(U)||!jn(Y))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(B.isGasAsset){let O=await _H({amount:B.getBaseValue("number"),from:Y,to:U});return lH({expiration:D,memo:q,transaction:O})}let Q=B.address;if(!Q)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:B.toString()});return A({contractAddress:Q,expiration:D,functionSelector:"transfer(address,uint256)",memo:q,parameter:yy([{type:"address",value:U},{type:"uint256",value:B.getBaseValue("string")}]),sender:Y})}async function Z(U){oy(U);let B=await t();if(!B)throw new E.SwapKitError("toolbox_tron_no_signer");return B.signTransaction(U)}async function z(U){let B=await Z(U);return Ey(B)}function L({assetAddress:U,spenderAddress:B,from:q}){return qH({assetAddress:U,owner:q,spender:B})}async function N({assetAddress:U,spenderAddress:B,from:q,amount:Y}){let D=await L({assetAddress:U,from:q,spenderAddress:B});if(!Y)return D>0n;return D>=BigInt(Y)}async function J({assetAddress:U,spenderAddress:B,amount:q,from:Y}){if(!jn(U)||!jn(B))throw new E.SwapKitError("toolbox_tron_approve_failed");let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");let Q=Y||await C(),O=q!==void 0?BigInt(q).toString():V5;try{let x=await A({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:yy([{type:"address",value:B},{type:"uint256",value:O}]),sender:Q}),k=await D.signTransaction(x),u=await Ey(k);if(!u)throw new E.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof E.SwapKitError)throw x;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:J,broadcastTransaction:Ey,createTransaction:l,estimateTransactionFee:W,getAddress:C,getApprovedAmount:L,getBalance:_,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:N,signAndBroadcastTransaction:z,signTransaction:Z,transfer:G,validateAddress:jn}}var XH,WH,BH,E,Ty,MH,E5=268,b5=65000,v5=345,n0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",V5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var JH=S(()=>{d1();GH();dt();XH=require("@noble/hashes/utils.js"),WH=require("@scure/bip32"),BH=require("@scure/bip39"),E=require("@swapkit/helpers"),Ty=require("ts-pattern"),MH=jn});var o0={};Mn(o0,{validateTronAddress:()=>MH,getTronToolbox:()=>ZH,getTronPrivateKeyFromMnemonic:()=>QH});module.exports=Jn(o0);var y0=S(()=>{JH()});function nT(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return K5.test(n)}async function c5(n){if(!nT(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function YH(n={}){let y,T=n.derivationPath||a.NetworkDerivationPath[a.Chain.Stellar],o=a.derivationPathToString(T.slice(0,3));async function f({phrase:l,path:Z}){let{HDKey:z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:N}=await import("@stellar/stellar-sdk"),J=L(l),B=z.fromMasterSeed(J).derive(Z,!0);return N.fromRawEd25519Seed(Buffer.from(B.privateKey))}async function t(){if(y)return y;let l=ef.match(n).with({phrase:ef.P.string},({phrase:Z})=>Z).otherwise(()=>{return});if(!l)throw new a.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:l}),y}async function C(){let{Horizon:l}=await import("@stellar/stellar-sdk"),Z=await a.getRPCUrl(a.Chain.Stellar);return new l.Server(Z)}async function H(){try{return(await t()).publicKey()}catch{return""}}async function A(l){let Z=l||await H();if(!Z)throw new a.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Z)).balances.map((N)=>{if(N.asset_type==="native")return a.AssetValue.from({chain:a.Chain.Stellar,value:N.balance});let J="asset_code"in N?N.asset_code:"",U="asset_issuer"in N?N.asset_issuer:"";return a.AssetValue.from({asset:`${a.Chain.Stellar}.${J}-${U}`,asyncTokenLookup:!1,value:N.balance})})}catch{return[a.AssetValue.from({chain:a.Chain.Stellar,value:0})]}}async function _({recipient:l,assetValue:Z,memo:z,sender:L}){if(z){if(new TextEncoder().encode(z).length>28)throw new a.SwapKitError("helpers_invalid_memo_type")}if(!await c5(l))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let J=L||await H();if(!J)throw new a.SwapKitError("toolbox_stellar_no_signer");let{Asset:U,Memo:B,Networks:q,Operation:Y,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),Q=await C(),O=await Q.fetchBaseFee(),x=await Q.loadAccount(J),k=new D(x,{fee:String(O),networkPassphrase:q.PUBLIC});if(Z.isGasAsset)try{await Q.loadAccount(l),k.addOperation(Y.payment({amount:Z.getValue("string"),asset:U.native(),destination:l}))}catch{k.addOperation(Y.createAccount({destination:l,startingBalance:Z.getValue("string")}))}else k.addOperation(Y.payment({amount:Z.getValue("string"),asset:new U(Z.symbol,Z.address),destination:l}));if(z)k.addMemo(B.text(z));return k.setTimeout(30).build()}async function G(l){let{TransactionBuilder:Z,Networks:z}=await import("@stellar/stellar-sdk"),L=await t(),N=Z.fromXDR(l.toXDR(),z.PUBLIC);return N.sign(L),N}async function M(l){try{let Z=await C(),{hash:z}=await Z.submitTransaction(l);return z}catch(Z){throw new a.SwapKitError("toolbox_stellar_broadcast_error",Z)}}async function w({recipient:l,assetValue:Z,memo:z}){let L=await t(),N=L.publicKey(),J=await _({assetValue:Z,memo:z,recipient:l,sender:N});J.sign(L);try{return(await(await C()).submitTransaction(J)).hash}catch(U){if(U instanceof a.SwapKitError)throw U;throw new a.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function X(l){let Z=await G(l);return M(Z)}async function W(){let{baseDecimal:l}=a.getChainConfig(a.Chain.Stellar);try{let L=(await(await C()).feeStats()).fee_charged.p50;return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:l,value:L})}catch{return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:l,value:"100"})}}return{broadcastTransaction:M,createTransaction:_,estimateTransactionFee:W,getAddress:H,getBalance:A,signAndBroadcastTransaction:X,signTransaction:G,transfer:w,validateAddress:nT}}var a,ef,K5;var NH=S(()=>{a=require("@swapkit/helpers"),ef=require("ts-pattern"),K5=/^G[A-Z2-7]{55}$/});var oT={};Mn(oT,{validateStellarAddress:()=>nT,getStellarToolbox:()=>YH});module.exports=Jn(oT);var yT=S(()=>{NH()});var m5={};Mn(m5,{getToolbox:()=>f0,getFeeEstimator:()=>h5,getAddressValidator:()=>i5});module.exports=Jn(m5);var $=require("@swapkit/helpers");async function i5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (vy(),by)),{validateEVMAddress:T}=await Promise.resolve().then(() => (RT(),$0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (ST(),pT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Gf(),qf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (eT(),sT)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (Tt(),ft)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Zf(),Qf)),{validateSuiAddress:A}=await Promise.resolve().then(() => (Yf(),Jf)),{validateTonAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (Dt(),zt)),{validateNearAddress:M}=await Promise.resolve().then(() => (Vt(),vt)),{validateRadixAddress:w}=await Promise.resolve().then(() => (Kt(),jt)),{validateRippleAddress:X}=await Promise.resolve().then(() => (it(),ct)),{validateTronAddress:W}=await Promise.resolve().then(() => (y0(),o0)),{validateStellarAddress:l}=await Promise.resolve().then(() => (yT(),oT));return function({address:z,chain:L}){return n(L).with(...$.EVMChains,()=>T(z)).with(...$.UTXOChains,(J)=>{return G(J)(z)}).with(...$.CosmosChains,(J)=>{return f(J)(z)}).with($.Chain.Aptos,()=>y(z)).with($.Chain.Radix,()=>w(z)).with($.Chain.HyperCore,()=>t(z)).with($.Chain.Near,()=>M(z)).with($.Chain.Ripple,()=>X(z)).with($.Chain.Solana,()=>C(z)).with($.Chain.Stellar,()=>l(z)).with($.Chain.Starknet,()=>H(z)).with($.Chain.Sui,()=>A(z)).with($.Chain.Ton,()=>_(z)).with($.Chain.Tron,()=>W(z)).with($.Chain.Cardano,()=>o(z)).otherwise(()=>!1)}}function h5(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let t=await f0(f),C=await t.createTransaction(T),H="feeOptionKey"in T?T.feeOptionKey:$.FeeOption.Fast;return t.estimateTransactionFee({...C,feeOption:H})}).with($.Chain.Bitcoin,$.Chain.BitcoinCash,$.Chain.Dogecoin,$.Chain.Dash,$.Chain.Litecoin,$.Chain.Solana,$.Chain.Ripple,$.Chain.Tron,$.Chain.Near,$.Chain.Cardano,$.Chain.HyperCore,async(f)=>{return(await f0(f)).estimateTransactionFee(T)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (vy(),by));return f().estimateTransactionFee(T)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Zf(),Qf));return(await f()).estimateTransactionFee(T)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (yT(),oT));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Yf(),Jf));return f().estimateTransactionFee(T)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(T)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Gf(),qf));return f(T)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function f0(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (OT(),u0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (Dt(),zt));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Gf(),qf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (vy(),by));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (eT(),sT));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (Kt(),jt));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (it(),ct));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (Tt(),ft));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (yT(),oT));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Zf(),Qf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Yf(),Jf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (y0(),o0));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (Vt(),vt));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (ST(),pT));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}
1
+ var xH=Object.create;var{getPrototypeOf:FH,defineProperty:_y,getOwnPropertyNames:_0,getOwnPropertyDescriptor:SH}=Object,A0=Object.prototype.hasOwnProperty;function U0(n){return this[n]}var pH,kH,HT=(n,y,T)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?pH??=new WeakMap:kH??=new WeakMap,t=f.get(n);if(t)return t}T=n!=null?xH(FH(n)):{};let C=y||!n||!n.__esModule?_y(T,"default",{value:n,enumerable:!0}):T;for(let H of _0(n))if(!A0.call(C,H))_y(C,H,{get:U0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Zn=(n)=>{var y=(H0??=new WeakMap).get(n),T;if(y)return y;if(y=_y({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of _0(n))if(!A0.call(y,o))_y(y,o,{get:U0.bind(n,o),enumerable:!(T=SH(n,o))||T.enumerable})}return H0.set(n,y),y},H0;var uH=(n)=>n;function PH(n,y){this[n]=uH.bind(null,y)}var Bn=(n,y)=>{for(var T in y)_y(n,T,{get:y[T],enumerable:!0,configurable:!0,set:PH.bind(y,T)})};var u=(n,y)=>()=>(n&&(y=n(n=0)),y);function $o(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return IH.test(y)}function w0({derivationPath:n,provider:y,...T}={}){let o,f=K.derivationPathToString(n||K.NetworkDerivationPath[K.Chain.Aptos],{allHardened:!0});async function t(){if(o)return o;return o=await Yo.match(T).with({phrase:Yo.P.string},async({phrase:G})=>{let{Ed25519Account:Q}=await import("@aptos-labs/ts-sdk");return Q.fromDerivationPath({mnemonic:G,path:f})}).with({signer:Yo.P.any},({signer:G})=>G).otherwise(()=>{return}),o}async function C(){let{Aptos:G,AptosConfig:Q}=await import("@aptos-labs/ts-sdk"),z=new Q({fullnode:y||K.getRPCUrlSync(K.Chain.Aptos)});return new G(z)}async function H(){return(await t())?.accountAddress.toString()||""}async function _(G){let Q=G||await H();if(!Q)throw new K.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:z,chain:L}=K.getChainConfig(K.Chain.Aptos);try{let Y=await C(),Z=await Y.getAccountAPTAmount({accountAddress:Q}),U=[K.AssetValue.from({chain:L,fromBaseDecimal:z,value:Z.toString()})],B=await Y.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Q}}}});for(let J of B){if(J.asset_type===Jo.COIN_TYPE||Number(J.amount)<=0)continue;let D=J.asset_type;if(D){let W=("metadata"in J&&typeof J.metadata==="object"&&J.metadata!==null?J.metadata:void 0)?.decimals??z;U.push(K.AssetValue.from({asset:`${K.Chain.Aptos}.APT-${D}`,fromBaseDecimal:W,value:String(J.amount)}))}}return U}catch{return[K.AssetValue.from({chain:L})]}}async function A(G){if(!G){let{baseDecimal:B}=K.getChainConfig(K.Chain.Aptos),J=y||K.getRPCUrlSync(K.Chain.Aptos),D=await fetch(`${J}/estimate_gas_price`),{gas_estimate:R}=await D.json();return K.AssetValue.from({chain:K.Chain.Aptos,fromBaseDecimal:B,value:String(R)})}let Q=await t();if(!Q)throw new K.SwapKitError("toolbox_aptos_no_signer");let z=await X(G),L=await C(),[Y]=await L.transaction.simulate.simple({signerPublicKey:Q.publicKey,transaction:z});if(!Y)throw new K.SwapKitError("toolbox_aptos_transaction_creation_error");let Z=BigInt(Y.gas_used)*BigInt(Y.gas_unit_price),{baseDecimal:U}=K.getChainConfig(K.Chain.Aptos);return K.AssetValue.from({chain:K.Chain.Aptos,fromBaseDecimal:U,value:Z.toString()})}async function X({recipient:G,assetValue:Q,maxGasAmount:z,sender:L}){if(!$o(G))throw new K.SwapKitError("core_transaction_invalid_recipient_address");let Y=L||await H();if(!Y)throw new K.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:Z}=await import("@aptos-labs/ts-sdk"),U=await C(),B=Z.from(Y);try{let J=Q.isGasAsset?Jo.TRANSFER:Jo.FUNGIBLE_STORE_TRANSFER,D=Yo.match({address:Q?.address,isGasAsset:Q.isGasAsset}).with({isGasAsset:!0},()=>[Z.from(G),Q.getBaseValue("bigint")]).with({address:Yo.P.string},({address:R})=>[Z.from(R),Z.from(G),Q.getBaseValue("bigint")]).otherwise(()=>null);if(!D)throw new K.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:J,functionArguments:D,typeArguments:Q.isGasAsset?[]:[Jo.FUNGIBLE_ASSET_METADATA]},options:z?{maxGasAmount:z}:void 0,sender:B})}catch(J){if(J instanceof K.SwapKitError)throw J;throw new K.SwapKitError("toolbox_aptos_transaction_creation_error",J)}}async function M(G){let Q=await t();if(!Q)throw new K.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Q,transaction:G})}async function l({assetValue:G,maxGasAmount:Q,recipient:z}){let L=await t();if(!L)throw new K.SwapKitError("toolbox_aptos_no_signer");if(!$o(z))throw new K.SwapKitError("core_transaction_invalid_recipient_address");try{let Y=L.accountAddress.toString(),Z=await X({assetValue:G,maxGasAmount:Q,recipient:z,sender:Y});return(await(await C()).signAndSubmitTransaction({signer:L,transaction:Z})).hash}catch(Y){if(Y instanceof K.SwapKitError)throw Y;throw new K.SwapKitError("toolbox_aptos_transaction_creation_error",Y)}}async function w({senderAuthenticator:G,transaction:Q}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:G,transaction:Q})).hash}catch(z){throw new K.SwapKitError("toolbox_aptos_broadcast_error",z)}}async function q(G){let Q=await M(G);return w({senderAuthenticator:Q,transaction:G})}return{broadcastTransaction:w,createTransaction:X,estimateTransactionFee:A,getAddress:H,getBalance:_,signAndBroadcastTransaction:q,signTransaction:M,transfer:l,validateAddress:$o}}function q0({provider:n}){return async function({assetValue:T,recipient:o}){if(!$o(o))throw new K.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(T.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),T.getBaseValue("string")],function:Jo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let t=T.address;if(!t)throw new K.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[t,f.from(o).toString(),T.getBaseValue("string")],function:Jo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Jo.FUNGIBLE_ASSET_METADATA]})).hash}}var K,Yo,Jo,IH;var G0=u(()=>{K=require("@swapkit/helpers"),Yo=require("ts-pattern"),Jo={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"},IH=/^[0-9a-fA-F]+$/});var Ky={};Bn(Ky,{validateAptosAddress:()=>$o,getAptosToolbox:()=>w0,createAptosExtensionTransfer:()=>q0});module.exports=Zn(Ky);var jy=u(()=>{G0()});function X0(){function n(){let y=Date.now(),T=_T||y;return _T=T,y>_T?y:T+1}return $H+n().toString(36)}function Rn(n){return async function(T,o=!0){let f=await l0.SwapKitApi.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=Ay.getChainConfig(n),C=f.map(({identifier:_,value:A,decimal:X})=>{return new Ay.AssetValue({decimal:X||t,identifier:_,value:A})});if(!C.some((_)=>_.isGasAsset))return[Ay.AssetValue.from({chain:n}),...C];return C}}var Ay,l0,$H,_T=0;var gn=u(()=>{Ay=require("@swapkit/helpers"),l0=require("@swapkit/helpers/api"),$H=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Uy(n){return{getBalance:Rn(n)}}function EH(n){return n}var cy=u(()=>{gn()});function B0(n){return new No.JsonRpcProvider(n)}async function GT(n,y){return B0(y||await a.getRPCUrl(n))}function wy(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function lT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=a.getChainConfig(n);return function(){return n!==a.Chain.Ethereum?{...bH({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function XT(n){return![a.Chain.Adi,a.Chain.Arbitrum,a.Chain.BinanceSmartChain].includes(n)}function bH({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=a.getChainConfig(n);return qT.match(n).with(a.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(a.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(a.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(a.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(a.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(a.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:a.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:T,symbol:T}}))}async function WT(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let T={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(T)}function M0(n,y){let T=y!==void 0?`index ${y}: `:"",o=(f,t)=>{throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${T}${t}`}})};qT.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!vH(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!W0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!W0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function L0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:T})=>({name:y,type:T}))}function AT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function UT(n,y){if(n.isTuple()&&n.components){let T=AT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:UT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=AT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:UT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function wT(n,y){if(typeof n==="bigint")return n;if(y?.isTuple()&&typeof n?.toObject==="function"){let T=n.toObject(),o={};for(let[f,t]of(y.components??[]).entries())o[t.name]=wT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>wT(o,T??void 0))}return n}function VH({chain:n,abi:y,data:T,to:o}){let t=new No.Interface(y).parseTransaction({data:T});if(!t)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=AT(t.name);C[H]=t.fragment.inputs.map((l)=>({name:l.name,type:UT(l,C)}));let _={};for(let[l,w]of t.fragment.inputs.entries())_[w.name]=wT(t.args[l],w);let{chainId:A}=a.getChainConfig(n),X={chainId:Number(A),verifyingContract:No.getAddress(o)},M=L0(X);return{domain:X,message:_,primaryType:H,types:{EIP712Domain:M,...C}}}function BT(n,y){if(!Array.isArray(n)||n.length===0)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[T,o]of n.entries())if(M0(o,T),y!==void 0&&o.chainId!==y)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${T}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var a,No,qT,W0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),vH=(n)=>{try{return typeof n==="string"&&!!No.getAddress(n)}catch{return!1}};var qy=u(()=>{a=require("@swapkit/helpers"),No=require("ethers"),qT=require("ts-pattern")});var Q0;var Z0=u(()=>{Q0=[{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 bo({chain:n=x.Chain.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:hH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:N0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:YT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:dH({chain:n,provider:y,signer:T}),createContract:QT({chain:n,provider:y}),createContractTxObject:zo({chain:n,provider:y}),createTransaction:MT({chain:n,provider:y,signer:T}),createTransferTx:MT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:Vo(y),estimateCall:z0({provider:y,signer:T}),estimateGasLimit:rH({chain:n,provider:y,signer:T}),estimateGasPrices:Do({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:aH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:Uy(n).getBalance,getNetworkParams:lT(n),isApproved:iH({chain:n,provider:y}),sendTransaction:D0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:gH({signer:T}),signMessage:T?(f)=>T.signMessage(f):void 0,signTypedData:T?({domain:f,types:t,value:C})=>T.signTypedData(f,t,C):void 0,transfer:mH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:ly}}function ly(n){try{return pn.getAddress(n),!0}catch{return!1}}function vo(n){return n instanceof pn.BrowserProvider}function Xy(n,y,T){return new pn.Contract(n,pn.Interface.from(y),T)}function QT({provider:n}){return function(T,o){return new pn.Contract(T,pn.Interface.from(o),n)}}function ZT({abi:n,funcName:y}){let T=n.find((o)=>o.name===y);if(!T)throw new x.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return T.stateMutability&&KH.includes(T.stateMutability)}function J0(n){return pn.getAddress(n)}function Vo(n){return function({value:T,...o}){if(!vo(n))throw new x.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,..._}=o;return n.send("eth_sendTransaction",[{..._,value:wy(BigInt(T||0))}])}}function Y0(n,y){let T=Ko(n,y);if(T)return pn.getAddress(T.toLowerCase());throw new x.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function Ko({chain:n,symbol:y,ticker:T},o){try{let f=n===x.Chain.BinanceSmartChain&&y==="BNB"&&T==="BNB",t=n===x.Chain.Hyperevm&&y==="HYPE"&&T==="HYPE",C=n===o&&y===o&&T===o,H=cH.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return JT[o];return pn.getAddress(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function zo({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>Xy(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Do({chain:n,provider:y,isEIP1559Compatible:T=!0}){return LT.match(n).with(x.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:t}=await y.getFeeData();if(!f||t===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Average),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(t,x.FeeOption.Average)},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(t,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(t,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(x.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new x.SwapKitError("toolbox_evm_no_fee_data");let t=f*12n/10n;return{[x.FeeOption.Average]:{gasPrice:t},[x.FeeOption.Fast]:{gasPrice:x.applyFeeMultiplierToBigInt(t,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{gasPrice:x.applyFeeMultiplierToBigInt(t,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:t,gasPrice:C}=await y.getFeeData();if(T){if(f===null||t===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:t},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(t,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(t,x.FeeOption.Fastest)}}}if(!C)throw new x.SwapKitError("toolbox_evm_no_gas_price");return{[x.FeeOption.Average]:{gasPrice:C},[x.FeeOption.Fast]:{gasPrice:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{gasPrice:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function YT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:_,funcParams:A=[],txOverrides:X={},feeOption:M=x.FeeOption.Fast}){let l=t||n;if(!C)throw new x.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let w=ZT({abi:H,funcName:_});if(w&&vo(l)&&T){let Q=zo({chain:o,provider:l}),z=X?.from||await T?.getAddress(),L=await Q({abi:H,contractAddress:C,funcName:_,funcParams:A,txOverrides:{...X,from:z}});return Vo(l)(L)}let q=Xy(C,H,l);if(w){if(!T)throw new x.SwapKitError("toolbox_evm_no_signer");let Q=X?.from||await T.getAddress();if(!Q)throw new x.SwapKitError("toolbox_evm_no_signer_address");let z=q.connect(T),L=Do({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:Y,maxPriorityFeePerGas:Z,gasPrice:U}=(await L())[M],B=await q.getFunction(_).estimateGas(...A,X),J=await z[_](...A,{...X,gasLimit:B,gasPrice:U,maxFeePerGas:Y,maxPriorityFeePerGas:Z,nonce:X?.nonce||await l.getTransactionCount(Q)});return typeof J?.hash==="string"?J?.hash:J}let G=await q[_]?.(...A);return typeof G?.hash==="string"?G?.hash:G}}function N0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return YT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Eo.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function iH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=Gy}){let H=await N0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return x.SwapKitNumber.fromBigInt(H).gte(x.SwapKitNumber.fromBigInt(BigInt(C)))}}function hH({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=x.FeeOption.Fast,amount:_,gasLimitFallback:A,from:X,nonce:M}){let l=[C,BigInt(_||Gy)],w=await n?.getAddress()||X,q={abi:Eo.erc20ABI,contractAddress:t,funcName:"approve",funcParams:l,signer:n,txOverrides:{from:w}};if(vo(T)){let Q=zo({chain:o,provider:T}),z=Vo(T),L=await Q(q);return z(L)}return YT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...q,feeOption:H,funcParams:l,txOverrides:{from:w,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function mH({signer:n,isEIP1559Compatible:y=!0,provider:T}){return async function({assetValue:f,memo:t,recipient:C,feeOptionKey:H=x.FeeOption.Fast,sender:_,...A}){let{hexlify:X,toUtf8Bytes:M}=await import("ethers"),l=f.getBaseValue("bigint"),w=f.chain,q=_||await n?.getAddress(),G=D0({chain:w,isEIP1559Compatible:y,provider:T,signer:n});if(!q)throw new x.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let U={...A,data:X(M(t||"")),feeOptionKey:H,from:q,to:C,value:l};return G(U)}if(!Ko(f,w))throw new x.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:z,maxPriorityFeePerGas:L,gasPrice:Y}=(await Do({chain:w,isEIP1559Compatible:y,provider:T})())[H],Z=await MT({chain:w,provider:T,signer:n})({assetValue:f,data:X(M(t||"")),gasPrice:Y,maxFeePerGas:z,maxPriorityFeePerGas:L,memo:t,recipient:C,sender:q});return G(Z)}}function z0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:t,funcParams:C=[],txOverrides:H}){if(!o)throw new x.SwapKitError("toolbox_evm_no_contract_address");let _=Xy(o,f,n);return y?_.connect(y).getFunction(t).estimateGas(...C,H):_.getFunction(t).estimateGas(...C,H)}}function rH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:t,data:C,sender:H,funcName:_,funcParams:A,txOverrides:X}){let M=o.bigIntValue,l=o.isGasAsset?null:Ko(o,o.chain);if(l&&_)return z0({provider:n,signer:y})({abi:Eo.erc20ABI,contractAddress:l,funcName:_,funcParams:A,txOverrides:X});let{hexlify:w,toUtf8Bytes:q}=await import("ethers");return n.estimateGas({data:C?C:t?w(q(t)):void 0,from:H,to:f,value:M})}}function gH({signer:n}){if(!n)return;return(y)=>WT(n,y)}function D0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=x.FeeOption.Fast,...C}){let{from:H,to:_,data:A,value:X,...M}=C;if(!y)throw new x.SwapKitError("toolbox_evm_no_signer");if(!_)throw new x.SwapKitError("toolbox_evm_no_to_address");let l={...M,data:A||"0x",from:H,to:_,value:BigInt(X||0)};if(vo(n))return Vo(n)(l);let w=H||await y.getAddress(),q=C.nonce||await n.getTransactionCount(w),G=(await n.getNetwork()).chainId,Q=zT(l,T);if(Q==="eip7702")BT(l.authorizations||[],G);let z=LT.match(Q).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...l,chainId:G,nonce:q,type:z,...Q==="eip7702"&&{authorizationList:l.authorizations}},Y=Do({chain:o,isEIP1559Compatible:T,provider:n}),U=Q!=="legacy"&&!(l.maxFeePerGas&&l.maxPriorityFeePerGas)||!l.gasPrice?Object.entries((await Y())[t]).reduce((J,[D,R])=>({...J,[D]:wy(BigInt(R))}),{}):{},B;try{B=wy(l.gasLimit||await n.estimateGas(L)*11n/10n)}catch(J){throw new x.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:J})}try{let J={...L,gasLimit:B,...U};try{return(await y.sendTransaction(J)).hash}catch{let D=await y.signTransaction({...J,from:w});return(await n.broadcastTransaction(D)).hash}}catch(J){throw new x.SwapKitError("toolbox_evm_error_sending_transaction",{error:J})}}}function MT({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:t,data:C,sender:H,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:X,...M}){let l=o.getBaseValue("bigint"),w=o.chain,q=H||await y?.getAddress();if(!q)throw new x.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset(o)){let{hexlify:z,toUtf8Bytes:L}=await import("ethers");return{...M,data:C||z(L(f||"")),from:q,to:t,value:l}}let G=Ko(o,w);if(!G)throw new x.SwapKitError("toolbox_evm_no_contract_address");return zo({chain:o.chain,provider:n})({abi:Eo.erc20ABI,contractAddress:G,funcName:"transfer",funcParams:[t,l],txOverrides:{from:q,gasPrice:X,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function dH({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let _=await y?.getAddress()||H,A=zo({chain:T,provider:n}),X=["bigint","number"].includes(typeof C)?C:C||Gy;return await A({abi:Eo.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(X)],txOverrides:{from:_}})}}function aH({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=x.FeeOption.Fast,...t}){let H=await Do({chain:T,isEIP1559Compatible:y,provider:n})(),_=await n.estimateGas(t),A=x.AssetValue.from({chain:T}),{gasPrice:X,maxFeePerGas:M,maxPriorityFeePerGas:l}=H[f];if(!y&&X)return A.set(x.SwapKitNumber.fromBigInt(X*_,A.decimal));if(M&&l){let w=(M+l)*_;return A.set(x.SwapKitNumber.fromBigInt(w,A.decimal))}throw new x.SwapKitError("toolbox_evm_no_gas_price")}}var x,Eo,pn,LT,Gy,KH,jH,JT,cH,iy=(n)=>n.type===4||(n.authorizations?.length??0)>0,NT=(n)=>!iy(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),zT=(n,y=!0)=>{if(iy(n))return"eip7702";if(NT(n)||y)return"eip1559";return"legacy"};var hy=u(()=>{cy();qy();x=require("@swapkit/helpers"),Eo=require("@swapkit/helpers/contracts"),pn=require("ethers"),LT=require("ts-pattern"),Gy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");KH=["payable","nonpayable"];jH=x.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),JT={...jH,[x.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[x.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},cH=[x.Chain.Arbitrum,x.Chain.Aurora,x.Chain.Base,x.Chain.Optimism]});function my(n){let y=wn(Cn.Chain.Ethereum)(n);async function T(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",t="aggregate",C=Cn.FeeOption.Fast){let H=await y.createContractTxObject({abi:Q0,contractAddress:f,funcName:t,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:T}}function wn(n){return function({provider:T,...o}){let f=XT(n),t=Wy.match(o).with({phrase:Wy.P.string},({phrase:H})=>O0.HDNodeWallet.fromPhrase(H).connect(T)).with({signer:Wy.P.any},({signer:H})=>H).otherwise(()=>{return});return bo({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var Cn,O0,Wy,ry,gy,dy,ay,sy,ey,nf,R0,of,yf,ff,Tf,tf,Cf,By,Hf,_f,Af,Uf;var DT=u(()=>{Z0();qy();hy();Cn=require("@swapkit/helpers"),O0=require("ethers"),Wy=require("ts-pattern");ry=wn(Cn.Chain.Adi),gy=wn(Cn.Chain.Arbitrum),dy=wn(Cn.Chain.Aurora),ay=wn(Cn.Chain.Avalanche),sy=wn(Cn.Chain.Base),ey=wn(Cn.Chain.Berachain),nf=wn(Cn.Chain.BinanceSmartChain),R0=wn(Cn.Chain.Botanix),of=wn(Cn.Chain.Core),yf=wn(Cn.Chain.Corn),ff=wn(Cn.Chain.Cronos),Tf=wn(Cn.Chain.Gnosis),tf=wn(Cn.Chain.Hyperevm),Cf=wn(Cn.Chain.Polygon),By=wn(Cn.Chain.Sonic),Hf=wn(Cn.Chain.Unichain),_f=wn(Cn.Chain.XLayer),Af=wn(Cn.Chain.Monad),Uf=wn(Cn.Chain.MegaETH)});var x0;var F0=u(()=>{x0=[{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 OT(n){return new wf.Contract(eH,x0,n)}function S0(n){return async function(){let T=OT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function p0(n){return async function({from:T,to:o,nonce:f,...t}){let{Transaction:C}=await import("ethers");if(!o)throw new Hn.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...t,authorizationList:t.authorizationList,nonce:f?f:T?await n.getTransactionCount(T):0,to:o}).serialized}}function k0(n){return async function(T){let o=OT(n),f=await p0(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function u0(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function n_(n){return async function(T){let o=await k0(n)(T)??0n,f=await u0(n)(T);return o+f}}function o_(n){return async function(T){let o=OT(n),f=await p0(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function y_(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await S0(n)(),C=f;if(!(T&&o))throw new Hn.SwapKitError("toolbox_evm_no_fee_data");return{[Hn.FeeOption.Average]:{gasPrice:C,l1GasPrice:t,maxFeePerGas:T,maxPriorityFeePerGas:o},[Hn.FeeOption.Fast]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fast),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fast)},[Hn.FeeOption.Fastest]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fastest),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fastest)}}}catch(T){throw new Hn.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}function qf({provider:n,...y}){let T=My.match(y).with({phrase:My.P.string},({phrase:t})=>wf.HDNodeWallet.fromPhrase(t).connect(n)).with({signer:My.P.any},({signer:t})=>t).otherwise(()=>{return}),o=bo({provider:n,signer:T}),f=S0(n);return{...o,estimateGasPrices:y_(n),estimateL1Gas:o_(n),estimateL1GasCost:k0(n),estimateL2GasCost:u0(n),estimateTotalGasCost:n_(n),getBalance:Uy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,wf,My,eH="0x420000000000000000000000000000000000000f";var RT=u(()=>{cy();F0();hy();Hn=require("@swapkit/helpers"),wf=require("ethers"),My=require("ts-pattern")});var $0={};Bn($0,{validateEVMAddress:()=>ly,toChecksumAddress:()=>J0,isStateChangingCall:()=>ZT,isEIP7702Transaction:()=>iy,isEIP1559Transaction:()=>NT,isBrowserProvider:()=>vo,getTokenAddress:()=>Ko,getEvmToolboxAsync:()=>I0,getEvmToolbox:()=>xT,getEstimateGasPrices:()=>Do,getEVMTxType:()=>zT,getEIP1193SendTransaction:()=>Vo,getCreateContractTxObject:()=>zo,getCreateContract:()=>QT,getChecksumAddressFromAsset:()=>Y0,createContract:()=>Xy,XLayerToolbox:()=>_f,UNIToolbox:()=>Hf,SONICToolbox:()=>By,OPToolbox:()=>qf,MONADToolbox:()=>Af,MEGAETHToolbox:()=>Uf,MAX_APPROVAL:()=>Gy,MATICToolbox:()=>Cf,HYPEREVMToolbox:()=>tf,GNOToolbox:()=>Tf,ETHToolbox:()=>my,ContractAddress:()=>JT,CROToolbox:()=>ff,CORNToolbox:()=>yf,COREToolbox:()=>of,BotanixToolbox:()=>R0,BaseEVMToolbox:()=>bo,BSCToolbox:()=>nf,BERAToolbox:()=>ey,BASEToolbox:()=>sy,AVAXToolbox:()=>ay,AURORAToolbox:()=>dy,ARBToolbox:()=>gy,ADIToolbox:()=>ry});function xT(n,y){return P0.match(n).with(An.Chain.Adi,()=>ry(y)).with(An.Chain.Arbitrum,()=>gy(y)).with(An.Chain.Aurora,()=>dy(y)).with(An.Chain.Avalanche,()=>ay(y)).with(An.Chain.Base,()=>sy(y)).with(An.Chain.Berachain,()=>ey(y)).with(An.Chain.BinanceSmartChain,()=>nf(y)).with(An.Chain.Botanix,()=>By(y)).with(An.Chain.Core,()=>of(y)).with(An.Chain.Corn,()=>yf(y)).with(An.Chain.Cronos,()=>ff(y)).with(An.Chain.Ethereum,()=>my(y)).with(An.Chain.Gnosis,()=>Tf(y)).with(An.Chain.Hyperevm,()=>tf(y)).with(An.Chain.Optimism,()=>qf(y)).with(An.Chain.Polygon,()=>Cf(y)).with(An.Chain.Sonic,()=>By(y)).with(An.Chain.Unichain,()=>Hf(y)).with(An.Chain.XLayer,()=>_f(y)).with(An.Chain.Monad,()=>Af(y)).with(An.Chain.MegaETH,()=>Uf(y)).exhaustive()}async function I0(n,y){let T={...y,provider:y?.provider||await GT(n)};return xT(n,T)}var An,P0;var FT=u(()=>{qy();DT();RT();An=require("@swapkit/helpers"),P0=require("ts-pattern");hy();DT();RT()});var E0;var b0=u(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(E0||={})});var v0={};Bn(v0,{validateEVMAddress:()=>ly,validateAuthorizations:()=>BT,validateAuthorization:()=>M0,toHexString:()=>wy,toChecksumAddress:()=>J0,signAuthorization:()=>WT,parseEIP712FromEVMTx:()=>VH,isStateChangingCall:()=>ZT,isEIP7702Transaction:()=>iy,isEIP1559Transaction:()=>NT,isBrowserProvider:()=>vo,getTokenAddress:()=>Ko,getProviderSync:()=>B0,getProvider:()=>GT,getNetworkParams:()=>lT,getIsEIP1559Compatible:()=>XT,getEvmToolboxAsync:()=>I0,getEvmToolbox:()=>xT,getEvmApi:()=>Uy,getEstimateGasPrices:()=>Do,getEVMTxType:()=>zT,getEIP1193SendTransaction:()=>Vo,getCreateContractTxObject:()=>zo,getCreateContract:()=>QT,getChecksumAddressFromAsset:()=>Y0,createCustomEvmApi:()=>EH,createContract:()=>Xy,buildEIP712DomainType:()=>L0,XLayerToolbox:()=>_f,UNIToolbox:()=>Hf,SONICToolbox:()=>By,OPToolbox:()=>qf,MONADToolbox:()=>Af,MEGAETHToolbox:()=>Uf,MAX_APPROVAL:()=>Gy,MATICToolbox:()=>Cf,HYPEREVMToolbox:()=>tf,GNOToolbox:()=>Tf,EthNetwork:()=>E0,ETHToolbox:()=>my,ContractAddress:()=>JT,CROToolbox:()=>ff,CORNToolbox:()=>yf,COREToolbox:()=>of,BotanixToolbox:()=>R0,BaseEVMToolbox:()=>bo,BSCToolbox:()=>nf,BERAToolbox:()=>ey,BASEToolbox:()=>sy,AVAXToolbox:()=>ay,AURORAToolbox:()=>dy,ARBToolbox:()=>gy,ADIToolbox:()=>ry});module.exports=Zn(v0);var ST=u(()=>{cy();qy();FT();b0()});async function kT(n,y){let T=await fetch(`${m0}${n}`,{...y,headers:{project_id:h0,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function r0(n){try{return await kT(`/addresses/${n}/utxos`)}catch{return[]}}async function T_(){return(await kT("/blocks/latest")).slot}async function t_(){let n=await kT("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new xn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new xn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new xn.default(n.min_fee_a),minFeeB:new xn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new xn.default(15),priceMem:new xn.default(n.price_mem),priceSteps:new xn.default(n.price_step),stakeKeyDeposit:new xn.default(2000000),utxoCostPerByte:new xn.default(n.coins_per_utxo_size)}}async function K0(n){let y=await fetch(`${m0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:h0},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function C_(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new xn.default(o.quantity):new xn.default(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new xn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:T.output_index,tokens:t,txId:T.tx_hash}})}async function H_(n){try{let y=await r0(n),T=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:_,quantity:A}=H;if(_==="lovelace")T+=BigInt(A);else{let X=o.get(_)||0n;o.set(_,X+BigInt(A))}}}let f=[],{baseDecimal:t}=_n.getChainConfig(_n.Chain.Cardano);if(T>0n)f.push(_n.AssetValue.from({chain:_n.Chain.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(_n.AssetValue.from({asset:`${_n.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[_n.AssetValue.from({chain:_n.Chain.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[_n.AssetValue.from({chain:_n.Chain.Cardano})]}}function g0(n){if(!n||typeof n!=="string")return!1;try{let y=j0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function __(n,y=0,T=0){let o=await c0.mnemonicToSeed(n,""),t=(await i0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(pT+1852).derive(pT+1815).derive(pT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),_=Nn.crypto.hash28(H),X=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Nn.crypto.hash28(X),l={hash:_,type:Nn.types.HashType.ADDRESS},w={hash:M,type:Nn.types.HashType.ADDRESS},G=new Nn.address.BaseAddress(f_,l,w).getBech32(),Q=C.toPrivateKey();return{getAddress:()=>G,publicKey:H,publicKeyHash:_,signTransaction:async(z)=>{try{let L=await import("@stricahq/cbors"),Y=Buffer.from(z,"hex"),Z=L.Decoder.decode(Y),[U,B,J,D]=Z.value,R=L.Encoder.encode(U),W=Nn.crypto.hash32(R),N=Q.sign(W),O=B instanceof Map?B:new Map,F=O.get(V0)||[];F.push([H,N]),O.set(V0,F);let p=[U,O,J,D];return L.Encoder.encode(p).toString("hex")}catch(L){throw new _n.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function A_(n){let y,T,o;async function f(){if(!o)o=await t_();return o}async function t(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let w=n.index??0;return y=await __(n.phrase,0,w),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(T)return T;let w=await t();if(!w)return"";if("getAddress"in w)return T=await w.getAddress(),T;return""}async function H(w){let q=w||await C();if(!q)throw new _n.SwapKitError("core_wallet_connection_not_found");return H_(q)}async function _(w){if(w)try{let{tx:z}=await A(w),L=z.getFee();return _n.AssetValue.from({chain:_n.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let q=await f(),G=400,Q=q.minFeeB.plus(q.minFeeA.times(G));return _n.AssetValue.from({chain:_n.Chain.Cardano,fromBaseDecimal:6,value:Q.toString()})}async function A({sender:w="",recipient:q,assetValue:G,memo:Q,pureLovelaceOnly:z=!1}){let L=w||await C();if(!L)throw new _n.SwapKitError("core_wallet_connection_not_found");let[Y,Z,U]=await Promise.all([r0(L),T_(),f()]),B=Y.filter((d)=>z?d.amount.every((yn)=>yn.unit==="lovelace"):d.amount.some((yn)=>yn.unit==="lovelace")).sort((d,yn)=>{let Yn=d.amount.some((Xn)=>Xn.unit!=="lovelace"),Sn=yn.amount.some((Xn)=>Xn.unit!=="lovelace");if(Yn===Sn)return 0;return Yn?1:-1}),J=Nn.utils.getAddressFromString(L),D=Nn.utils.getAddressFromString(q),R=C_(B,J),W=new xn.default(G.getBaseValue("string")),N=[{address:D,amount:W,tokens:[]}],O;if(Q){let d=new Map;d.set("msg",[Q]),O={metadata:[{data:d,label:674}]}}let F={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},V=new Nn.Transaction({protocolParams:F}).paymentTransaction({auxiliaryData:O,changeAddress:J,inputs:R,outputs:N,ttl:Z+3600}),{payload:h}=V.buildTransaction();return{tx:V,unsignedTx:h}}async function X(w){let q=await t();if(!q||!("signTransaction"in q))throw new _n.SwapKitError("core_wallet_connection_not_found");return q.signTransaction(w)}async function M({recipient:w,assetValue:q,memo:G}){let Q=await t();if(!Q||!("signTransaction"in Q))throw new _n.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:z}=await A({assetValue:q,memo:G,recipient:w,sender:await C()}),L=await X(z);return await K0(L)}async function l(w){let q=await X(w);return await K0(q)}return{createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:H,signAndBroadcastTransaction:l,signTransaction:X,transfer:M,validateAddress:g0}}var j0,c0,i0,Nn,_n,xn,h0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",m0="https://cardano-mainnet.blockfrost.io/api/v0",f_,pT=2147483648,V0=0;var d0=u(()=>{j0=require("@scure/base"),c0=require("@scure/bip39"),i0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),_n=require("@swapkit/helpers"),xn=HT(require("bignumber.js")),f_=Nn.types.NetworkId.MAINNET});var uT={};Bn(uT,{validateCardanoAddress:()=>g0,getCardanoToolbox:()=>A_});module.exports=Zn(uT);var PT=u(()=>{d0()});function Ly(n){return cn.base64.encode(Uint8Array.from(cn.bech32.fromWords(cn.bech32.decode(n).words)))}function Qy(n,y="thor"){return cn.bech32.encode(y,cn.bech32.toWords(cn.base64.decode(n)))}function U_(n){return cn.base64.encode(n)}function w_(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new a0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return cn.base64.decode(n)}var cn,a0;var IT=u(()=>{cn=require("@scure/base"),a0=require("@swapkit/helpers")});function dn(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return nC;case b.Chain.Noble:return oC;default:return e0}}async function an(n){let y=await import("@cosmjs/stargate"),T=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return T.connect({headers:o,url:n})}async function Oo(n,y,T={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,t=o.GasPrice??o.default?.GasPrice,C=typeof T==="string"?T:"0.0003uatom",H=typeof T==="string"?{}:T;return f.connectWithSigner(n,y,{gasPrice:t.fromString(C),...H})}async function ET(n,y){let T=await import("@cosmjs/stargate");return(T.SigningStargateClient??T.default?.SigningStargateClient).offline(n,y)}async function bT({sender:n,recipient:y,assetValue:T,memo:o="",feeRate:f,sequence:t,accountNumber:C}){let{chain:H,chainId:_}=T,A=await b.getRPCUrl(H),M=await(await an(A)).getAccount(n);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let l=b.AssetValue.from({chain:H}),w=Co(l.symbol),q=dn(H),G=w&&f?{amount:[{amount:f.toString(),denom:w}],gas:q.gas}:q,Q={amount:[{amount:T.getBaseValue("string"),denom:Co(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:_,fee:G,memo:o,msgs:[{typeUrl:q_(H),value:Q}],sequence:t??M.sequence}}var b,$T="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",s0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",e0,nC,oC,Co=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return $T;case"uYUM":case"YUM":return s0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},Zy=({symbol:n,chain:y})=>{if(y===b.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${b.Chain.Maya}.${n}`).toUpperCase();if(y===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${b.Chain.THORChain}.${n}`:n).toUpperCase();return Co(n,!1)},q_=(n)=>{switch(n){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},G_,vT=(n,y)=>{let T=G_[n.toLowerCase()];if(!T)return b.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:t}=T,C=o?{chain:o}:{asset:f};return b.AssetValue.from({...C,fromBaseDecimal:t,value:y})};var Jy=u(()=>{b=require("@swapkit/helpers"),e0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},nC={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},oC={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};G_={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[$T.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var yC={};Bn(yC,{$root:()=>k});var Mn,v,un,I,k;var fC=u(()=>{Mn=HT(require("protobufjs/minimal.js")),v=Mn.default.Reader,un=Mn.default.Writer,I=Mn.default.util,k=Mn.default.roots.default||(Mn.default.roots.default={});k.common=(()=>{let n={};return n.Asset=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new k.common.Asset;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.chain=o.string();break;case 2:C.symbol=o.string();break;case 3:C.ticker=o.string();break;case 4:C.synth=o.bool();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!I.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!I.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof k.common.Asset)return o;let f=new k.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.chain="",t.symbol="",t.ticker="",t.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))t.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))t.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))t.synth=o.synth;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))k.common.Asset.encode(o.asset,f.uint32(10).fork()).ldelim();if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))f.uint32(18).string(o.amount);if(o.decimals!=null&&Object.hasOwnProperty.call(o,"decimals"))f.uint32(24).int64(o.decimals);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new k.common.Coin;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.asset=k.common.Asset.decode(o,o.uint32());break;case 2:C.amount=o.string();break;case 3:C.decimals=o.int64();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=k.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!I.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!I.isInteger(o.decimals)&&!(o.decimals&&I.isInteger(o.decimals.low)&&I.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof k.common.Coin)return o;let f=new k.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=k.common.Asset.fromObject(o.asset)}if(o.amount!=null)f.amount=String(o.amount);if(o.decimals!=null){if(I.Long)(f.decimals=I.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)if(t.asset=null,t.amount="",I.Long){let C=new I.Long(0,0,!1);t.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else t.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))t.asset=k.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))t.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")t.decimals=f.longs===String?String(o.decimals):o.decimals;else t.decimals=f.longs===String?I.Long.prototype.toString.call(o.decimals):f.longs===Number?new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new k.common.PubKeySet;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.secp256k1=o.string();break;case 2:C.ed25519=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!I.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!I.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof k.common.PubKeySet)return o;let f=new k.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.secp256k1="",t.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))t.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))t.ed25519=o.ed25519;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(T){if(this.coins=[],this.gas=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=I.emptyArray,y.prototype.gas=I.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let t=0;t<o.coins.length;++t)k.common.Coin.encode(o.coins[t],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let t=0;t<o.gas.length;++t)k.common.Coin.encode(o.gas[t],f.uint32(50).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(58).string(o.memo);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new k.common.Tx;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.id=o.string();break;case 2:C.chain=o.string();break;case 3:C.fromAddress=o.string();break;case 4:C.toAddress=o.string();break;case 5:if(!C.coins?.length)C.coins=[];C.coins.push(k.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(k.common.Coin.decode(o,o.uint32()));break;case 7:C.memo=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!I.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!I.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!I.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=k.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.gas!=null&&o.hasOwnProperty("gas")){if(!Array.isArray(o.gas))return"gas: array expected";for(let f=0;f<o.gas.length;++f){let t=k.common.Coin.verify(o.gas[f]);if(t)return"gas."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}return null},y.fromObject=function(o){if(o instanceof k.common.Tx)return o;let f=new k.common.Tx;if(o.id!=null)f.id=String(o.id);if(o.chain!=null)f.chain=String(o.chain);if(o.fromAddress!=null)f.fromAddress=String(o.fromAddress);if(o.toAddress!=null)f.toAddress=String(o.toAddress);if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[t]=k.common.Coin.fromObject(o.coins[t])}}if(o.gas){if(!Array.isArray(o.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let t=0;t<o.gas.length;++t){if(typeof o.gas[t]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[t]=k.common.Coin.fromObject(o.gas[t])}}if(o.memo!=null)f.memo=String(o.memo);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[],t.gas=[];if(f.defaults)t.id="",t.chain="",t.fromAddress="",t.toAddress="",t.memo="";if(o.id!=null&&o.hasOwnProperty("id"))t.id=o.id;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=o.toAddress;if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=k.common.Coin.toObject(o.coins[C],f)}if(o.gas?.length){t.gas=[];for(let C=0;C<o.gas.length;++C)t.gas[C]=k.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)k.common.Coin.encode(o.coins[t],f.uint32(10).fork()).ldelim();if(o.poolDeduct!=null&&Object.hasOwnProperty.call(o,"poolDeduct"))f.uint32(18).string(o.poolDeduct);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new k.common.Fee;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(k.common.Coin.decode(o,o.uint32()));break;case 2:C.poolDeduct=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=k.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!I.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof k.common.Fee)return o;let f=new k.common.Fee;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[t]=k.common.Coin.fromObject(o.coins[t])}}if(o.poolDeduct!=null)f.poolDeduct=String(o.poolDeduct);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults)t.poolDeduct="";if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=k.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))t.poolDeduct=o.poolDeduct;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new k.common.ProtoUint;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.value=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!I.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof k.common.ProtoUint)return o;let f=new k.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.value="";if(o.value!=null&&o.hasOwnProperty("value"))t.value=o.value;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n})();k.types=(()=>{let n={};return n.MsgDeposit=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.memo="",y.prototype.signer=I.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)k.common.Coin.encode(o.coins[t],f.uint32(10).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(18).string(o.memo);if(o.signer!=null&&Object.hasOwnProperty.call(o,"signer"))f.uint32(26).bytes(o.signer);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new k.types.MsgDeposit;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(k.common.Coin.decode(o,o.uint32()));break;case 2:C.memo=o.string();break;case 3:C.signer=o.bytes();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let t=k.common.Coin.verify(o.coins[f]);if(t)return"coins."+t}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||I.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof k.types.MsgDeposit)return o;let f=new k.types.MsgDeposit;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let t=0;t<o.coins.length;++t){if(typeof o.coins[t]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[t]=k.common.Coin.fromObject(o.coins[t])}}if(o.memo!=null)f.memo=String(o.memo);if(o.signer!=null){if(typeof o.signer==="string")I.base64.decode(o.signer,f.signer=I.newBuffer(I.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.coins=[];if(f.defaults){if(t.memo="",f.bytes===String)t.signer="";else if(t.signer=[],f.bytes!==Array)t.signer=I.newBuffer(t.signer)}if(o.coins?.length){t.coins=[];for(let C=0;C<o.coins.length;++C)t.coins[C]=k.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))t.signer=f.bytes===String?I.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(T){if(this.amount=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.fromAddress=I.newBuffer([]),y.prototype.toAddress=I.newBuffer([]),y.prototype.amount=I.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let t=0;t<o.amount.length;++t)k.cosmos.base.v1beta1.Coin.encode(o.amount[t],f.uint32(26).fork()).ldelim();return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new k.types.MsgSend;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.fromAddress=o.bytes();break;case 2:C.toAddress=o.bytes();break;case 3:if(!C.amount?.length)C.amount=[];C.amount.push(k.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||I.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||I.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let t=k.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(t)return"amount."+t}}return null},y.fromObject=function(o){if(o instanceof k.types.MsgSend)return o;let f=new k.types.MsgSend;if(o.fromAddress!=null){if(typeof o.fromAddress==="string")I.base64.decode(o.fromAddress,f.fromAddress=I.newBuffer(I.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")I.base64.decode(o.toAddress,f.toAddress=I.newBuffer(I.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let t=0;t<o.amount.length;++t){if(typeof o.amount[t]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[t]=k.cosmos.base.v1beta1.Coin.fromObject(o.amount[t])}}return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.arrays||f.defaults)t.amount=[];if(f.defaults){if(f.bytes===String)t.fromAddress="";else if(t.fromAddress=[],f.bytes!==Array)t.fromAddress=I.newBuffer(t.fromAddress);if(f.bytes===String)t.toAddress="";else if(t.toAddress=[],f.bytes!==Array)t.toAddress=I.newBuffer(t.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))t.fromAddress=f.bytes===String?I.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))t.toAddress=f.bytes===String?I.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){t.amount=[];for(let C=0;C<o.amount.length;++C)t.amount[C]=k.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n})();k.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let T={};return T.Coin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,_=new k.cosmos.base.v1beta1.Coin;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.denom=t.string();break;case 2:_.amount=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof k.cosmos.base.v1beta1.Coin)return t;let C=new k.cosmos.base.v1beta1.Coin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},o})(),T.DecCoin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,_=new k.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.denom=t.string();break;case 2:_.amount=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof k.cosmos.base.v1beta1.DecCoin)return t;let C=new k.cosmos.base.v1beta1.DecCoin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},o})(),T.IntProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.int="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.int!=null&&Object.hasOwnProperty.call(t,"int"))C.uint32(10).string(t.int);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,_=new k.cosmos.base.v1beta1.IntProto;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.int=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.int!=null&&t.hasOwnProperty("int")){if(!I.isString(t.int))return"int: string expected"}return null},o.fromObject=function(t){if(t instanceof k.cosmos.base.v1beta1.IntProto)return t;let C=new k.cosmos.base.v1beta1.IntProto;if(t.int!=null)C.int=String(t.int);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(t.int!=null&&t.hasOwnProperty("int"))H.int=t.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},o})(),T.DecProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.dec="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.dec!=null&&Object.hasOwnProperty.call(t,"dec"))C.uint32(10).string(t.dec);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,_=new k.cosmos.base.v1beta1.DecProto;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.dec=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.dec!=null&&t.hasOwnProperty("dec")){if(!I.isString(t.dec))return"dec: string expected"}return null},o.fromObject=function(t){if(t instanceof k.cosmos.base.v1beta1.DecProto)return t;let C=new k.cosmos.base.v1beta1.DecProto;if(t.dec!=null)C.dec=String(t.dec);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(t.dec!=null&&t.hasOwnProperty("dec"))H.dec=t.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},o})(),T})(),y})(),n})()});async function Ro(){let{$root:n}=await Promise.resolve().then(() => (fC(),yC)),y=await import("@cosmjs/proto-signing"),T=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new T([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Ho(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===TC.Chain.THORChain?"thorchain":"mayachain";return new T({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...t})=>({...t,signer:Ly(f)}),toAmino:({signer:f,...t})=>({...t,signer:Qy(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:t,...C})=>({...C,fromAddress:Ly(f),toAddress:Ly(t)}),toAmino:({fromAddress:f,toAddress:t,...C})=>({...C,from_address:Qy(f),to_address:Qy(t)})}})}var TC;var VT=u(()=>{IT();TC=require("@swapkit/helpers")});function cT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return CC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return HC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function CC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let _=T.chain,A=await zn.getRPCUrl(_),X=await tC({rpcUrl:A,sender:n}),{chainId:M}=zn.getChainConfig(_),l=KT({assetValue:T,recipient:y,sender:n}),w=f?await _o(t?l:Ao(l),_):l;return{accountNumber:H||X.accountNumber,chainId:M,fee:dn(_),memo:o,msgs:[w],sequence:C||X.sequence}}async function HC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,_=await zn.getRPCUrl(H),A=await tC({rpcUrl:_,sender:n}),{chainId:X}=zn.getChainConfig(H),M=jT({assetValue:y,memo:T,sender:n}),l=o?await _o(f?M:Ao(M),H):M;return{accountNumber:C||A.accountNumber,chainId:X,fee:dn(H),memo:T,msgs:[l],sequence:t||A.sequence}}function Ao(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let T=zn.AssetValue.from({asset:y.asset}),o=(T.isSynthetic?T.symbol.split("/")?.[1]:T.symbol)?.toUpperCase(),f=(T.isSynthetic?T.symbol.split("/")?.[0]:T.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:T.isSynthetic,ticker:T.ticker}}})}}}async function Yy({chain:n,memo:y,msgs:T}){let o=await Ro(),f=await Ho(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var zn,l_,X_,KT=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:Co(T.symbol,!0)}],from_address:n,to_address:y}}},jT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:Zy(y)}],memo:T,signer:n}}},Gf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?jT({assetValue:T,memo:o,sender:n}):KT({assetValue:T,recipient:y,sender:n})},_o=async(n,y)=>{return(await Ho(y)).fromAmino(n)},tC=async({rpcUrl:n,sender:y})=>{let o=await(await an(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var _C=u(()=>{Jy();VT();zn=require("@swapkit/helpers"),l_=dn(zn.Chain.THORChain).gas,X_=dn(zn.Chain.Maya).gas});var AC=()=>{};var UC=u(()=>{AC()});var iT=u(()=>{IT();_C();VT();UC()});async function rT(n,y){try{let o=(await mT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function hT({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${P.DerivationPath[T.chain]}/${T.index}`;return await XC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[lC.stringToPath(o)],prefix:y})}async function W_({privateKey:n,prefix:y}){let T=await import("@cosmjs/proto-signing");return(T.DirectSecp256k1Wallet??T.default?.DirectSecp256k1Wallet).fromKey(n,y)}function WC(n){return async function({signature:T,message:o,address:f}){let t=await n(f);if(!t?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,_=C.Secp256k1??C.default?.Secp256k1,A=H.fromFixedLength(Uo.base64.decode(T));return _.verifySignature(A,Uo.base64.decode(o),t.pubkey.value)}}function zy({chain:n,...y}){let T=P.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=P.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[n],{index:o})),t;async function C(){if(t)return t;return t=await Ny.match(y).with({phrase:Ny.P.string},({phrase:w})=>hT({derivationPath:f,phrase:w,prefix:T})).with({signer:Ny.P.any},({signer:w})=>w).otherwise(()=>{return}),t}async function H(w){let q=await P.getRPCUrl(n);return(await an(q)).getAccount(w)}async function _(){let w=await C(),[q]=await w?.getAccounts()||[];return q?.address}async function A(){let w=await C(),[q]=await w?.getAccounts()||[];if(!q?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return Uo.base64.encode(q?.pubkey)}async function X(w){let q=await C(),G=await _(),Q=await P.getRPCUrl(n);if(!(q&&G))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Oo(Q,q)).sign(G,w.msgs,w.fee,w.memo,{accountNumber:w.accountNumber,chainId:w.chainId,sequence:w.sequence})}async function M(w){let q=await C(),G=await _(),Q=await P.getRPCUrl(n);if(!(q&&G))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await Oo(Q,q)).signAndBroadcast(G,w.msgs,w.fee,w.memo);if(L.code!==0)throw new P.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function l({recipient:w,assetValue:q,memo:G="",feeRate:Q,feeOptionKey:z=P.FeeOption.Fast}){let L=await C(),Y=await _();if(!(L&&Y))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let Z=await P.getRPCUrl(n),U=P.AssetValue.from({chain:n}),B=Zy(U),J=Q||L_((await qC(n,wC[n]))[z],B),D=await Oo(Z,L),R=Co(q.symbol),W=[{amount:q.getBaseValue("string"),denom:R}],{transactionHash:N}=await D.sendTokens(Y,w,W,J,G);return N}return{createPrivateKeyFromPhrase:Z_(f),createTransaction:bT,fetchFeeRateFromSwapKit:rT,getAccount:H,getAddress:_,getBalance:async(w,q)=>{let G=await GC(n)(w),Q=await Promise.all(G.filter(({denom:z})=>z&&!z.includes("IBC/")&&!([P.Chain.THORChain,P.Chain.Maya].includes(n)&&z.split("-").length>2)).map(({denom:z,amount:L})=>{let Y=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(z.includes("/")||z.includes("˜"))?`${n}.${z}`:z;return vT(Y,L)}));if(Q.length===0)return[P.AssetValue.from({chain:n})];return Q},getBalanceAsDenoms:GC(n),getFees:()=>qC(n,wC[n]),getPubKey:A,getSignerFromPhrase:({phrase:w,derivationPath:q})=>hT({derivationPath:P.derivationPathToString(q),index:o,phrase:w,prefix:T}),getSignerFromPrivateKey:async(w)=>{let q=await import("@cosmjs/proto-signing");return(q.DirectSecp256k1Wallet??q.default?.DirectSecp256k1Wallet).fromKey(w,T)},signAndBroadcastTransaction:M,signTransaction:X,transfer:l,validateAddress:BC(n),verifySignature:WC(H)}}async function B_(n,y){try{let o=(await mT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function M_({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:Q_(n)})}async function qC(n,y){let{chainId:T,baseDecimal:o}=P.getChainConfig(n),f=await rT(T,y);return{average:P.SwapKitNumber.fromBigInt(BigInt(f),o),fast:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fast,!0)),o),fastest:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(f,P.FeeOption.Fastest,!0)),o)}}function L_(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function Q_(n){return{[P.Chain.Cosmos]:0.007,[P.Chain.Kujira]:0.02,[P.Chain.Noble]:0.01,[P.Chain.THORChain]:0.02,[P.Chain.Maya]:0.02,[P.Chain.Harbor]:0.02}[n]||0}function BC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=Uo.bech32.decode(o);return Uo.bech32.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function GC(n){return async function(T){let o=await P.getRPCUrl(n);return(await(await an(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function Z_(n){return async function(T){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,t=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,_=o.Bip39??o.default?.Bip39,A=new H(T),X=await _.mnemonicToSeed(A),{privkey:M}=C.derivePath(t.Secp256k1,X,f(n));return M}}var lC,XC,Uo,P,mT,Ny,wC;var lf=u(()=>{Jy();lC=require("@cosmjs/crypto"),XC=require("@cosmjs/proto-signing"),Uo=require("@scure/base"),P=require("@swapkit/helpers"),mT=require("@swapkit/helpers/api"),Ny=require("ts-pattern");wC={[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 J_({prefix:n,derivationPath:y}){return async function(o,f=0){let t=await import("@cosmjs/amino"),C=t.Secp256k1HdWallet??t.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),_=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[_(`${y}/${f}`)],prefix:n})}}function Y_(n){return wo.base64.encode(n)}function N_(n){return async function({wallet:T,tx:o}){let{msgs:f,accountNumber:t,sequence:C,chainId:H,fee:_,memo:A}=typeof o==="string"?JSON.parse(o):o,X=(await T.getAccounts())?.[0]?.address||"",M=await Ho(n),l=await Ro(),w=await ET(T,{aminoTypes:M,registry:l}),q=[];for(let z of f){let L=await _o(z,n);q.push(L)}let{signatures:[G]}=await w.sign(X,q,_,A,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await Yy({chain:n,memo:A,msgs:f.map(Ao)}),signature:Y_(G)}}}function z_({prefix:n,chain:y}){return async function(o,f,t,C,H){let _=await s.getRPCUrl(y),{encodeSecp256k1Pubkey:A,pubkeyToAddress:X}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:l,fee:w}=JSON.parse(o),q=await MC(t,C),G=f.map((L)=>[X(A(wo.base64.decode(L.pubKey)),n),wo.base64.decode(L.signature)]),Q=await an(_),{transactionHash:z}=await Q.broadcastTx(M(q,l,w,H,new Map(G)));return z}}async function MC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(wo.base64.decode(t))),y,T)}function D_(n){return wo.base64.decode(n)}async function O_({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(wo.base64.decode(y),n);return wo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function gT({chain:n,...y}){let{isStagenet:T}=s.SKConfig.get("envs"),o=s.SKConfig.get("thornodeUrls"),f=n===s.Chain.Maya,t=jo.match({isMayachain:f,isStagenet:T}).with({isMayachain:!0},({isStagenet:L})=>L?o.MAYA_STAGENET:o.MAYA).otherwise(({isStagenet:L})=>L?o.THOR_STAGENET:o.THOR),C=`${T?"s":""}${s.CosmosChainPrefixes[n]}`,H="index"in y?y.index||0:0,_="derivationPath"in y&&y.derivationPath?y.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[n],{index:H}),A=zy({chain:n,...y}),X=dn(n),M;function l(){return M??=jo.match(y).with({phrase:jo.P.string},({phrase:L})=>A.getSignerFromPhrase({derivationPath:_,phrase:L})).with({signer:jo.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function w(){let L=await s.getRPCUrl(n),Y=await l();if(!Y)throw new s.SwapKitError("toolbox_cosmos_no_signer");let Z=await Ro(),U=await Ho(n),B=await Oo(L,Y,{aminoTypes:U,registry:Z});return{signer:Y,signingClient:B}}async function q({fee:L,memo:Y,msgs:Z}){let{signer:U,signingClient:B}=await w(),J=(await U.getAccounts())?.[0]?.address;if(!J)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");let D=await B.signAndBroadcast(J,Z,L,Y);if(D.code!==0)throw new s.SwapKitError("core_swap_transaction_error",{code:D.code,message:D.rawLog});return D.transactionHash}async function G(){let L,Y=`${t}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:Z}}=await s.RequestClient.get(Y);if(!Z||Number.isNaN(Z)||Z<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:Z.toString()});L=new s.SwapKitNumber(Z)}catch{L=new s.SwapKitNumber({decimal:s.getChainConfig(n).baseDecimal,value:f?1:0.02})}return{[s.FeeOption.Average]:L,[s.FeeOption.Fast]:L,[s.FeeOption.Fastest]:L}}async function Q({assetValue:L,memo:Y="",recipient:Z}){let{TxRaw:U}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:B,signingClient:J}=await w(),D=(await B.getAccounts())?.[0]?.address;if(!D)throw new s.SwapKitError("toolbox_cosmos_no_signer");let R="signAmino"in B,W=Gf({assetValue:L,memo:Y,recipient:Z,sender:D});if(R){let F=await _o(W,n),{signatures:p,authInfoBytes:V}=await J.sign(D,[F],X,Y),h=U.encode({authInfoBytes:V,bodyBytes:await Yy({chain:n,memo:Y,msgs:[W].map(Ao)}),signatures:p}).finish();return(await J.broadcastTx(h)).transactionHash}let N=Ao(W),O=await _o(N,n);return q({fee:X,memo:Y,msgs:[O]})}async function z(L){let{signer:Y,signingClient:Z}=await w(),U=(await Y.getAccounts())?.[0]?.address;if(!U)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");return Z.sign(U,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{...A,broadcastMultisigTx:z_({chain:n,prefix:C}),buildAminoMsg:Gf,buildEncodedTxBody:Yy,convertToSignable:_o,createDefaultAminoTypes:()=>Ho(n),createDefaultRegistry:Ro,createMultisig:MC,createTransaction:cT,deposit:Q,getFees:G,importSignature:D_,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:Y}=(await import("@cosmjs/amino")).default;return Y(L,C)},secp256k1HdWalletFromMnemonic:J_({derivationPath:s.derivationPathToString(_),prefix:C}),signAndBroadcastTransaction:q,signMultisigTx:N_(n),signTransaction:z,signWithPrivateKey:O_,transfer:Q}}var wo,s,jo;var dT=u(()=>{iT();Jy();lf();wo=require("@scure/base"),s=require("@swapkit/helpers"),jo=require("ts-pattern")});var qo,R_=(n,y)=>{switch(n){case qo.Chain.Cosmos:case qo.Chain.Kujira:case qo.Chain.Noble:return zy({chain:n,...y});case qo.Chain.Maya:case qo.Chain.THORChain:return gT({chain:n,...y});default:throw new qo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var LC=u(()=>{lf();dT();qo=require("@swapkit/helpers");lf();dT()});var Xf={};Bn(Xf,{verifySignature:()=>WC,transferMsgAmino:()=>KT,toBase64:()=>U_,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>W_,getSignerFromPhrase:()=>hT,getMsgSendDenom:()=>Co,getFeeRateFromSwapKit:()=>B_,getDenomWithChain:()=>Zy,getDefaultChainFee:()=>dn,getCosmosToolbox:()=>R_,getCosmosAddressValidator:()=>BC,getAssetFromDenom:()=>vT,fromBase64:()=>w_,fetchFeeRateFromSwapKit:()=>rT,estimateTransactionFee:()=>M_,depositMsgAmino:()=>jT,createTransaction:()=>cT,createThorchainToolbox:()=>gT,createStargateClient:()=>an,createSigningStargateClient:()=>Oo,createOfflineStargateClient:()=>ET,createDefaultRegistry:()=>Ro,createDefaultAminoTypes:()=>Ho,createCosmosToolbox:()=>zy,cosmosCreateTransaction:()=>bT,convertToSignable:()=>_o,buildTransferTx:()=>CC,buildEncodedTxBody:()=>Yy,buildDepositTx:()=>HC,buildAminoMsg:()=>Gf,bech32ToBase64:()=>Ly,base64ToBech32:()=>Qy,YUM_KUJIRA_FACTORY_DENOM:()=>s0,USK_KUJIRA_FACTORY_DENOM:()=>$T,THORCHAIN_GAS_VALUE:()=>l_,MAYA_GAS_VALUE:()=>X_,DEFAULT_NOBLE_FEE_MAINNET:()=>oC,DEFAULT_KUJI_FEE_MAINNET:()=>nC,DEFAULT_COSMOS_FEE_MAINNET:()=>e0});module.exports=Zn(Xf);var Wf=u(()=>{iT();LC();Jy()});function x_({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function F_({cancels:n}){return{cancels:n,type:"cancel"}}function S_({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function p_({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function k_({modifies:n}){return{modifies:n,type:"batchModify"}}function u_({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function P_({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function I_({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function $_({time:n}){return{time:n,type:"scheduleCancel"}}function E_({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function b_({amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:_}){return{amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:_,type:"sendAsset"}}function v_({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function V_({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function K_({hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,validator:f,wei:t}){return{hyperliquidChain:n,isUndelegate:y,nonce:T,signatureChainId:o,type:"tokenDelegate",validator:f,wei:t}}function Fn(...n){let y=n.reduce((f,t)=>f+t.length,0),T=new Uint8Array(y),o=0;for(let f of n)T.set(f,o),o+=f.length;return T}function r_(n,y,T){if(T<y)return new Uint8Array([n+T]);if(T<=255)return new Uint8Array([n+y,T]);if(T<=65535)return new Uint8Array([n+y+1,T>>8,T&255]);return new Uint8Array([n+y+2,T>>>24&255,T>>>16&255,T>>>8&255,T&255])}function Go(n,y){let T=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)T[f]=Number(o&0xffn),o>>=8n;return T}function QC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return Fn(new Uint8Array([205]),Go(n,2));if(n<=0xffffffffn)return Fn(new Uint8Array([206]),Go(n,4));return Fn(new Uint8Array([207]),Go(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return Fn(new Uint8Array([209]),Go(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Fn(new Uint8Array([210]),Go(BigInt.asUintN(32,n),4));return Fn(new Uint8Array([211]),Go(BigInt.asUintN(64,n),8))}function YC(n){let y=m_.encode(n);if(y.length<32)return Fn(new Uint8Array([160+y.length]),y);return Fn(r_(217,0,y.length),y)}function g_(n){let y=n.map((o)=>aT(o)),T=n.length<16?new Uint8Array([144+n.length]):n.length<=65535?new Uint8Array([220,n.length>>8,n.length&255]):new Uint8Array([221,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Fn(T,...y)}function d_(n){let y=Object.entries(n).filter(([,o])=>typeof o<"u"),T=y.length<16?new Uint8Array([128+y.length]):y.length<=65535?new Uint8Array([222,y.length>>8,y.length&255]):new Uint8Array([223,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Fn(T,...y.flatMap(([o,f])=>[YC(o),aT(f)]))}function aT(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return YC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new Bf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return QC(BigInt(n))}if(typeof n==="bigint")return QC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Fn(y,n)}if(Array.isArray(n))return g_(n);if(typeof n==="object")return d_(n);throw new Bf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function a_(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new Bf.SwapKitError("helpers_invalid_params",{hexValue:n});let T=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)T[o/2]=Number.parseInt(y.slice(o,o+2),16);return T}function NC(n){return{domain:j_,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...c_.Agent]}}}function zC(n){let y=h_[n.type],T=i_[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:ZC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||JC},primaryType:y,types:{[y]:T}}}function DC(n){let y=Mf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function OC(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=aT(n),t=Go(BigInt(y),8),C=o?Fn(new Uint8Array([1]),a_(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?Fn(new Uint8Array([0]),Go(BigInt(T),8)):new Uint8Array;return Mf.keccak256(Fn(f,t,C,H))}function RC(n){let y=n.hyperliquidChain||JC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var Bf,Mf,ZC="0x0000000000000000000000000000000000000000",j_,c_,JC="Mainnet",i_,h_,m_;var xC=u(()=>{Bf=require("@swapkit/helpers"),Mf=require("ethers"),j_={chainId:1337,name:"Exchange",verifyingContract:ZC,version:"1"},c_={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},i_={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},h_={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},m_=new TextEncoder});function $n(n,y){if(!nt(n))throw new nn.SwapKitError(y,{address:n});return n.toLowerCase()}async function xo(n){let y=await Lf();return nn.RequestClient.post(`${y}/info`,{json:n})}function TA({dex:n,user:y}){return xo({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function tA({user:n}){return xo({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function CA({dex:n,user:y}){return xo({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function HA({dex:n,user:y}){return xo({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function _A({oidOrCloid:n,user:y}){return xo({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function AA({aggregateByTime:n,user:y}){return xo({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function UA({aggregateByTime:n,endTime:y,startTime:T,user:o}){return xo({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function FC({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=s_[f]||kC,C=o?.tokens?.find((_)=>_.name===n||y!==void 0&&_.index===Number(y)),H=C?`${hn}.${f}-${C.name}:${C.tokenId}`:`${hn}.${f}`;return new nn.AssetValue({decimal:t,identifier:H,value:T})}function wA(n){let y=new Map;for(let T of n){let o=T.toString({includeSynthProtocol:!0}),f=y.get(o);y.set(o,f?f.add(T):T)}if(![...y.values()].some((T)=>T.isGasAsset||T.ticker==="HYPE")){let T=nn.AssetValue.from({chain:hn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Lf(){try{return await nn.getRPCUrl(hn)}catch{let[n]=nn.getChainConfig(hn).rpcUrls;if(!n)throw new nn.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:hn});return n}}async function eT(){return`${await Lf()}/exchange`}function qA(n){let y=fA[n.type],{type:T,...o}=n,f=yA[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:oA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function uC({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?$n(o,"helpers_invalid_params"):void 0,C=await eT(),H=OC(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:NC(H),vaultAddress:t}}async function PC({action:n,nonce:y,signatureChainId:T}){let o=y||n.nonce||Date.now(),f=T||n.signatureChainId||"0xa4b1",t=RC({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await eT(),nonce:o,typedData:zC(t)}}async function sT({assetValue:n,recipient:y,sender:T,signatureChainId:o,time:f}){let t=$n(y,"core_transaction_invalid_recipient_address"),C=$n(T,"core_transaction_invalid_sender_address"),H=await eT(),_=n.getValue("string"),A=f||Date.now(),X=n.address;if(!X)throw new nn.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:_,destination:t,hyperliquidChain:e_,signatureChainId:o||nA,time:A,token:X,type:"spotSend"};return{action:M,endpoint:H,nonce:A,typedData:qA(M)}}async function SC(n){let y=await nn.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new nn.SwapKitError("core_transaction_failed",{response:y});return y}async function GA(n,y){let T=await Lf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((t)=>setTimeout(t,1000));try{let t=await nn.RequestClient.post(`${T}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(t)?t.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function nt(n){return n.startsWith("0x")&&ly(n)}function lA(n){let y=Rn(hn),T=n&&"index"in n?n.index||0:0,o=nn.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:nn.updateDerivationPath(nn.NetworkDerivationPath[hn],{index:T})),f,t=!1;function C(){if(t)return f;return f=co.match(n).with({phrase:co.P.string},({phrase:l})=>{return pC.HDNodeWallet.fromPhrase(l,void 0,o)}).with({signer:co.P.not(co.P.nullish)},({signer:l})=>l).otherwise(()=>{return}),t=!0,f}async function H(){let l=C();return l?await l.getAddress():""}async function _(l){let w=C();if(!w)throw new nn.SwapKitError("toolbox_hypercore_no_signer");let q=await w.signTypedData(l.typedData.domain,l.typedData.types,l.typedData.message);return{action:l.action,endpoint:l.endpoint,nonce:l.nonce,signature:DC(q),..."expiresAfter"in l?{expiresAfter:l.expiresAfter}:{},..."vaultAddress"in l?{vaultAddress:l.vaultAddress}:{}}}async function A(l){let w=$n(l,"helpers_invalid_params");try{let q=await Lf(),[G,Q,z]=await Promise.all([nn.RequestClient.post(`${q}/info`,{json:{type:"spotClearinghouseState",user:w}}),nn.RequestClient.post(`${q}/info`,{json:{type:"clearinghouseState",user:w}}),nn.RequestClient.post(`${q}/info`,{json:{type:"spotMeta"}})]),L=(G.spotState?.balances||G.balances||[]).map(({coin:Z,token:U,total:B})=>FC({coin:Z,spotMeta:z,token:U,value:B})).filter((Z)=>!!Z),Y=FC({coin:"USDC",spotMeta:z,value:Q.withdrawable||Q.marginSummary?.accountValue||Q.marginSummary?.totalRawUsd});return wA(Y?[...L,Y]:L)}catch{return y(w)}}async function X(l){let w=C();if(!w)throw new nn.SwapKitError("toolbox_hypercore_no_signer");let q=l.sender||await w.getAddress(),G=await sT({...l,feeRate:0,sender:q}),Q=await _(G);return await SC(Q),GA(q,G.nonce)}function M(){return nn.AssetValue.from({chain:hn,value:0})}return{broadcastTransaction:SC,createL1ActionRequest:uC,createTransaction:sT,createUserSignedActionRequest:PC,estimateTransactionFee:M,getAddress:H,getBalance:A,getState:{clearinghouse:TA,frontendOpenOrders:HA,openOrders:CA,orderStatus:_A,spotClearinghouse:tA,userFills:AA,userFillsByTime:UA},signTransaction:_,transfer:X,validateAddress:nt}}var nn,pC,co,hn,kC,s_,e_="Mainnet",nA="0xa4b1",oA="0x0000000000000000000000000000000000000000",yA,fA;var IC=u(()=>{ST();gn();xC();nn=require("@swapkit/helpers"),pC=require("ethers"),co=require("ts-pattern"),hn=nn.Chain.HyperCore,{baseDecimal:kC}=nn.getChainConfig(hn),s_={HYPE:kC,USDC:6,USDT:6},yA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},fA={spotSend:"HyperliquidTransaction:SpotSend"}});var ot={};Bn(ot,{validateHyperCoreAddress:()=>nt,getHyperCoreToolbox:()=>lA,createUserSignedActionRequest:()=>PC,createTransaction:()=>sT,createL1ActionRequest:()=>uC,buildUsdClassTransferAction:()=>E_,buildUpdateLeverageAction:()=>u_,buildUpdateIsolatedMarginAction:()=>P_,buildTopUpIsolatedOnlyMarginAction:()=>I_,buildTokenDelegateAction:()=>K_,buildSendAssetAction:()=>b_,buildScheduleCancelAction:()=>$_,buildOrderAction:()=>x_,buildModifyAction:()=>p_,buildCancelByCloidAction:()=>S_,buildCancelAction:()=>F_,buildBatchModifyAction:()=>k_,buildApproveBuilderFeeAction:()=>V_,buildApproveAgentAction:()=>v_});module.exports=Zn(ot);var yt=u(()=>{IC()});async function bC(n){let y=g.AssetValue.from({address:n,chain:g.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let T=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(T);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function XA(n){let y=await sn(),{PublicKey:T}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new T(n),{baseDecimal:t}=g.getChainConfig(g.Chain.Solana),C=await y.getBalance(f),H=[g.AssetValue.from({chain:g.Chain.Solana,fromBaseDecimal:t,value:C||0})],_=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:A}of _.value){let X=A.data.parsed.info,M=X.mint,l=X.tokenAmount.amount;if(Number(l)===0)continue;let w=await bC(M),q=w?.symbol||"UNKNOWN",G=w?.decimals||X.tokenAmount.decimals;H.push(g.AssetValue.from({asset:`${g.Chain.Solana}.${q}-${M}`,fromBaseDecimal:G,value:l}))}return H}function Tt(n){try{let y=new en.PublicKey(n);return en.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function WA(n){let y=n&&"index"in n?n.index||0:0,T=g.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[g.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Dy.match(n).with({phrase:Dy.P.string},({phrase:C})=>ft({derivationPath:T,phrase:C})).with({signer:Dy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?EC(C.publicKey):""}return{broadcastTransaction:Qf(sn),createKeysForPath:ft,createTransaction:tt(sn),createTransactionFromInstructions:QA,estimateTransactionFee:BA(sn),getAddress:t,getAddressFromPubKey:EC,getBalance:Rn(g.Chain.Solana),getBalanceFromRPC:XA,getConnection:sn,getPubkeyFromAddress:(C)=>new en.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await $C(sn,f)(C);return Qf(sn)(H)},signTransaction:$C(sn,f),transfer:ZA(sn,f),validateAddress:Tt}}function BA(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),_=(await tt(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),A=await C.getFeeForMessage(_);if(A.value===null)throw new g.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=g.getChainConfig(g.Chain.Solana);return g.AssetValue.from({chain:g.Chain.Solana,fromBaseDecimal:X,value:A.value})}}async function sn(){let{Connection:n}=await import("@solana/web3.js"),y=await g.getRPCUrl(g.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(T,o,f)=>{let t={};for(let[C,H]of Object.entries(o?.headers??{})){let _=C.toLowerCase();if(_!=="pragma"&&_!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function MA(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new en.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:_}=await import("@solana/web3.js");return new H().add(_.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new en.PublicKey(T)}))}if(y.address)return LA({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function LA({tokenAddress:n,recipient:y,from:T,connection:o,amount:f,decimals:t,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),l=new M,w=new en.PublicKey(n),q=await H(w,T),G=new en.PublicKey(y),Q=await H(w,G,C),z=!1;try{await _(o,Q),z=!0}catch{}if(!z)l.add(A(T,Q,G,w));return l.add(X(q,w,Q,T,f,t)),l}function tt(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new en.PublicKey(t);if(!(f||Tt(y)))throw new g.SwapKitError("core_transaction_invalid_recipient_address");let _=await n(),A=await MA(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!A)throw new g.SwapKitError("core_transaction_invalid_sender_address");if(o)A.add(C(o));let X=await _.getLatestBlockhash();return A.recentBlockhash=X.blockhash,A.feePayer=H,A}}async function QA({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),T=new y().add(...n);if(!T)throw new g.SwapKitError("core_transaction_invalid_sender_address");return T}function ZA(n,y){return async({recipient:T,assetValue:o,memo:f,isProgramDerivedAddress:t})=>{let C=await y();if(!C)throw new g.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),_=await tt(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let A=await C.signTransaction(_);return Qf(n)(A)}return _.sign(C),Qf(n)(_)}}function Qf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function $C(n,y){return async(T)=>{let o=await y();if(!o)throw new g.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(T instanceof f)){let C=await(await n()).getLatestBlockhash();T.recentBlockhash=C.blockhash,T.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(T);return T.sign([o]),T}}async function ft({phrase:n,derivationPath:y=g.DerivationPath.SOL}){let{HDKey:T}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),t=o(n),C=T.fromMasterSeed(t);return f.fromSeed(C.derive(y,!0).privateKey)}function EC(n){return n.toString()}var en,g,Dy;var vC=u(()=>{gn();en=require("@solana/web3.js"),g=require("@swapkit/helpers"),Dy=require("ts-pattern")});var Ct={};Bn(Ct,{validateSolanaAddress:()=>Tt,getSolanaToolbox:()=>WA,fetchTokenMetaData:()=>bC,createKeysForPath:()=>ft});module.exports=Zn(Ct);var Ht=u(()=>{vC()});function Zf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Jf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:t,encode:C,CallData:H}=await import("starknet"),_=o(n),X=T.fromMasterSeed(_).derive(y);if(!X.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(X.privateKey).toString("hex")),l=f.starkCurve.grindKey(M),w=C.addHexPrefix(l),q=f.starkCurve.getStarkKey(w),G=H.compile([q,0]);return{address:t.calculateContractAddressFromHash(q,At,G,0),privateKey:w,publicKey:q}}async function Ut({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Jf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new T({address:t,provider:H,signer:f})}function KC(n){let y=c.Chain.Starknet,T=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:T})),f,t,C;async function H(){if(t)return t;let{RpcProvider:U}=await import("starknet"),B=await c.getRPCUrl(y);return t=new U({nodeUrl:B}),t}async function _(U){let B=await H(),J=U||await l();if(!J)return!1;try{return await B.getClassHashAt(J),!0}catch(D){if(D instanceof Error&&D.message.includes("Contract not found"))return!1;let R=D;if(R?.code===20||R?.code===19)return!1;throw D}}async function A(){let{CallData:U,hash:B}=await import("starknet"),J=await H(),D=await M();if(!D)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return D.address;let W=U.compile([C,0]);if(B.calculateContractAddressFromHash(C,At,W,0).toLowerCase()!==D.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let O={addressSalt:C,classHash:At,constructorCalldata:W},{transaction_hash:F}=await D.deployAccount(O);return await J.waitForTransaction(F),F}async function X(){if(!await _()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await A()}}async function M(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:U})=>{let{Account:B,RpcProvider:J}=await import("starknet"),{privateKey:D,address:R,publicKey:W}=await Jf({derivationPath:o,phrase:U});C=W;let N=await c.getRPCUrl(c.Chain.Starknet),O=new J({nodeUrl:N});return new B({address:R,provider:O,signer:D})}).with({address:En.P.string,privateKey:En.P.string},async({privateKey:U,address:B})=>{let{Account:J}=await import("starknet"),D=await H();return new J({address:B,provider:D,signer:U})}).with({signer:En.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function l(){return(await M())?.address??""}async function w(U){let B=await H(),{uint256:J,CallData:D}=await import("starknet"),R=[],W=[_t,VC];for(let N of W)try{let[O="0",F="0"]=await B.callContract({calldata:D.compile({account:U}),contractAddress:N,entrypoint:"balanceOf"}),p=J.uint256ToBN({high:O,low:F});En.match(N).with(_t,()=>{R.push(c.AssetValue.from({chain:y,value:p}))}).with(VC,()=>{if(p>0n)R.push(c.AssetValue.from({asset:`${y}.ETH-${N}`,value:p}))}).otherwise(()=>{})}catch{}return R}async function q({recipient:U,assetValue:B}){let{CallData:J,uint256:D}=await import("starknet");if(!Zf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let R=B.isGasAsset?_t:B.address;if(!R)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:R,assetValue:B});let W=D.bnToUint256(B.getBaseValue("bigint"));return[{calldata:J.compile([U,W]),contractAddress:R,entrypoint:"transfer"}]}async function G({recipient:U,assetValue:B,sender:J}){let{baseDecimal:D}=c.getChainConfig(c.Chain.Starknet),R=await M(),W=await En.match({sender:J,signer:R}).with({sender:En.P.string},async({sender:N})=>{let{Account:O}=await import("starknet"),F=await H();return new O({address:N,provider:F,signer:"0x0"})}).with({signer:En.P.nonNullable},({signer:N})=>N).otherwise((N)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:N}})});try{let N=await q({assetValue:B,recipient:U}),O=await W.estimateInvokeFee(N);if(O?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:D,value:O.overall_fee})}catch(N){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",N)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function Q({recipient:U,assetValue:B,memo:J}){let D=await M();if(!D)throw new c.SwapKitError("toolbox_starknet_no_signer");await X();let R=await q({assetValue:B,memo:J,recipient:U});return(await D.execute(R)).transaction_hash}async function z(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");let J=await B.signMessage(U);return Array.isArray(J)?J:[J.r.toString(),J.s.toString()]}async function L(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");return await X(),(await B.execute(U)).transaction_hash}function Y(U){return L(U)}function Z(U,B=!0){try{return Rn(y)(U,B)}catch{return w(U)}}return{broadcastTransaction:L,createKeysForPath:Ut,createTransaction:q,deployAccount:A,estimateTransactionFee:G,getAddress:l,getBalance:Z,getProvider:H,isAccountDeployed:_,signAndBroadcastTransaction:Y,signMessage:z,transfer:Q,validateAddress:Zf}}var c,En,_t="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",VC="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",At="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var jC=u(()=>{gn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Yf={};Bn(Yf,{validateStarknetAddress:()=>Zf,starknetCreateKeysForPath:()=>Ut,getStarknetToolbox:()=>KC,deriveStarknetKeys:()=>Jf});module.exports=Zn(Yf);var Nf=u(()=>{jC()});async function hC(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?hC(n,y,T,C,t.nextCursor):C}function JA(n,y,T){let o=y.reduce((_,A)=>_+BigInt(A.balance),0n);if(o<T)throw new fn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((_,A)=>{if(_.total>=T)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),t=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(t,C);let[H]=n.splitCoins(t,[T]);return H}function mC(n){try{return iC.isValidSuiAddress(n)}catch{return!1}}function cC(n){return"signWithIntent"in n}function YA({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await Oy.match(y).with({phrase:Oy.P.string},async({phrase:q})=>{let{Ed25519Keypair:G}=await import("@mysten/sui/keypairs/ed25519");return G.deriveKeypair(q)}).with({signer:Oy.P.any},({signer:q})=>q).otherwise(()=>{return}),T}async function f(q=n){let{SuiClient:G,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new G({url:q||Q("mainnet")})}async function t(){return(await o())?.toSuiAddress()||""}function C(q){try{let G=fn.AssetValue.from({address:q,chain:fn.Chain.Sui});return{asset:G.toString(),decimals:G.decimal}}catch{}return null}async function H(q){let G=q||await t();if(!G)throw new fn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Q,chain:z}=fn.getChainConfig(fn.Chain.Sui);try{let L=await f(),{totalBalance:Y}=await L.getBalance({owner:G}),Z=[fn.AssetValue.from({chain:z,fromBaseDecimal:Q,value:Y})],U=await L.getAllBalances({owner:G});for(let{coinType:B,totalBalance:J}of U){if(B==="0x2::sui::SUI"||Number(J)<=0)continue;let D=C(B);if(D)Z.push(fn.AssetValue.from({asset:D.asset,fromBaseDecimal:D.decimals,value:J}))}return Z}catch{return[fn.AssetValue.from({chain:z})]}}async function _(q){let G=fn.AssetValue.from({chain:fn.Chain.Sui,value:"0.01"});if(!q)return G;try{let Q=await f(),{txBytes:z}=await A(q),{effects:{status:L,gasUsed:Y}}=await Q.dryRunTransactionBlock({transactionBlock:z});if(L.status!=="success")return G;let Z=Number(Y.computationCost)+Number(Y.storageCost)-Number(Y.storageRebate);return fn.AssetValue.from({chain:fn.Chain.Sui,value:Z.toString()})}catch{return G}}async function A({recipient:q,assetValue:G,gasBudget:Q,sender:z}){let{Transaction:L}=await import("@mysten/sui/transactions"),Y=z||await t();if(!Y)throw new fn.SwapKitError("toolbox_sui_no_sender");try{let Z=new L;if(Z.setSender(Y),G.isGasAsset||G.symbol==="SUI"){let[J]=Z.splitCoins(Z.gas,[G.getBaseValue("string")]);Z.transferObjects([J],q)}else{let J=G.address;if(!J)throw new fn.SwapKitError("toolbox_sui_missing_coin_type");let D=await f(),R=G.getBaseValue("bigint"),W=await hC(D,Y,J);if(!W.length)throw new fn.SwapKitError("toolbox_sui_no_coins_found",{coinType:J});let N=JA(Z,W,R);Z.transferObjects([N],q)}if(Q)Z.setGasBudget(Q);let U=await f(),B=await Z.build({client:U});return{tx:Z,txBytes:B}}catch(Z){if(Z instanceof fn.SwapKitError)throw Z;throw new fn.SwapKitError("toolbox_sui_transaction_creation_error",{error:Z})}}async function X(q){let G=await o();if(!G)throw new fn.SwapKitError("toolbox_sui_no_signer");if(q instanceof Uint8Array)return G.signTransaction(q);let{txBytes:Q}="tx"in q?q:await A(q);return G.signTransaction(Q)}async function M({assetValue:q,gasBudget:G,recipient:Q}){let z=await o();if(!z)throw new fn.SwapKitError("toolbox_sui_no_signer");let L=z.toSuiAddress()||await t();if(!L)throw new fn.SwapKitError("toolbox_sui_no_sender");let{txBytes:Y}=await A({assetValue:q,gasBudget:G,recipient:Q,sender:L}),Z=await f();if(!cC(z)){let B=await z.signTransaction(Y),{digest:J}=await Z.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return J}let{digest:U}=await Z.signAndExecuteTransaction({signer:z,transaction:Y});return U}async function l(q){let G=await f(),{digest:Q}=await G.executeTransactionBlock({signature:q.signature,transactionBlock:q.bytes});return Q}async function w(q){let G=await o();if(!G)throw new fn.SwapKitError("toolbox_sui_no_signer");let Q=await f(),z;if(typeof q==="string")z=Uint8Array.from(Buffer.from(q,"base64"));else if(q instanceof Uint8Array)z=q;else z=await q.build({client:Q});if(!cC(G)){let Y=await G.signTransaction(z),{digest:Z}=await Q.executeTransactionBlock({signature:Y.signature,transactionBlock:Y.bytes});return Z}let{digest:L}=await Q.signAndExecuteTransaction({signer:G,transaction:z});return L}return{broadcastTransaction:l,createTransaction:A,estimateTransactionFee:_,getAddress:t,getBalance:H,signAndBroadcastTransaction:w,signTransaction:X,transfer:M,validateAddress:mC}}var iC,fn,Oy;var rC=u(()=>{iC=require("@mysten/sui/utils"),fn=require("@swapkit/helpers"),Oy=require("ts-pattern")});var zf={};Bn(zf,{validateSuiAddress:()=>mC,getSuiToolbox:()=>YA});module.exports=Zn(zf);var Df=u(()=>{rC()});async function RA(){let n=Date.now();if(Of&&n-dC<OA)return Of;try{return Of=await aC.getHttpEndpoint(),dC=n,Of}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function xA(n={}){let y,T,o;async function f(){if(!y){let Z=n.provider??await RA();y=new m.TonClient({endpoint:Z})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Fo.match(n).with({phrase:Fo.P.string},async({phrase:Z})=>sC.mnemonicToWalletKey(Z.split(" "))).with({signer:Fo.P.any},({signer:Z})=>Z).otherwise(()=>{return}),o}async function H(Z){if(!T||Z){let U=await C(),B=await f(),J=Z||U;if(!J)throw new qn.SwapKitError("core_wallet_connection_not_found");let D=m.WalletContractV4.create({publicKey:J.publicKey,workchain:0});T=B.open(D)}return T}let _=Rn(qn.Chain.Ton);async function A({assetValue:Z,recipient:U,memo:B,sender:J}){if(Z.isGasAsset){let h=B?Y(B).toBoc().toString("base64"):void 0;return[{address:U,amount:Z.getBaseValue("string"),payload:h}]}let D=Z.address;if(!D)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:Z.toString()}});let R=J??await t(),W=await z({jettonMasterAddress:D,ownerAddress:R}),N=m.Address.parse(U),O=m.Address.parse(R),F=Z.getBaseValue("bigint"),p=B?Y(B):void 0,V=L({destinationAddress:N,forwardPayload:p,jettonAmount:F,responseAddress:O});return[{address:W.toString(),amount:DA.toString(),payload:V.toBoc().toString("base64")}]}function X({sender:Z,...U}){return A({...U,sender:Z})}function M(Z){return Z.map((U)=>{let B=U.payload?m.Cell.fromBase64(U.payload):void 0,J=U.stateInit?m.loadStateInit(m.Cell.fromBase64(U.stateInit).asSlice()):void 0,D=m.Address.parse(U.address),R=m.Address.isFriendly(U.address)?m.Address.parseFriendly(U.address).isBounceable:!0;return m.internal({body:B,bounce:R,init:J,to:D,value:BigInt(U.amount)})})}async function l(Z){let U=await C(),B=await H();if(!B||!U)throw new qn.SwapKitError("core_wallet_connection_not_found");let J=await f(),{state:D}=await J.getContractState(B.address),R=D==="active",W=R?await B.getSeqno():0,N=B.createTransfer({messages:M(Z),secretKey:U.secretKey,sendMode:gC,seqno:W}),O=m.external({body:N,init:R?void 0:B.init,to:B.address});return m.beginCell().store(m.storeMessage(O)).endCell()}async function w(Z){return await(await f()).sendFile(Z.toBoc()),Z.hash().toString("hex")}async function q(Z){let U=await l(Z);return w(U)}async function G({assetValue:Z,recipient:U,memo:B}){let J=await X({assetValue:Z,memo:B,recipient:U});return q(J)}async function Q({sender:Z,...U}){let{baseDecimal:B}=qn.getChainConfig(qn.Chain.Ton),J=await Fo.match(Z).with(Fo.P.string,(W)=>{return m.Address.parseFriendly(W).address}).otherwise(async()=>{return(await H()).address});if(!J)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let D=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),R=await f();try{let W=await X({sender:Z,...U}),N=await C(),O=await H();if(!O||!N)return D;let F=await O.getSeqno(),p=O.createTransfer({messages:M(W),secretKey:N.secretKey,sendMode:gC,seqno:F}),{source_fees:V}=await R.estimateExternalMessageFee(J,{body:p,ignoreSignature:!0,initCode:null,initData:null}),h=V.in_fwd_fee+V.storage_fee+V.gas_fee+V.fwd_fee;return D.set(qn.SwapKitNumber.fromBigInt(BigInt(h),B))}catch{return D}}async function z({jettonMasterAddress:Z,ownerAddress:U}){try{let B=await f(),J=m.Address.parse(Z),D=m.Address.parse(U);return await B.open(m.JettonMaster.create(J)).getWalletAddress(D)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:Z,ownerAddress:U}})}}function L({jettonAmount:Z,destinationAddress:U,responseAddress:B,forwardAmount:J=zA,forwardPayload:D}){let R=m.beginCell().storeUint(NA,32).storeUint(0,64).storeCoins(Z).storeAddress(U).storeAddress(B).storeBit(0).storeCoins(J);if(D)R.storeBit(1).storeRef(D);else R.storeBit(0);return R.endCell()}function Y(Z){return m.beginCell().storeUint(0,32).storeStringTail(Z).endCell()}return{broadcastTransaction:w,createTransaction:X,estimateTransactionFee:Q,getAddress:t,getBalance:_,getJettonWalletAddress:z,sign:l,signAndBroadcastTransaction:q,transfer:G,validateAddress:eC}}function eC(n){try{return m.Address.parse(n),!0}catch{return!1}}var aC,qn,sC,m,Fo,NA=260734629,zA,DA,gC,OA=60000,Of,dC=0;var n1=u(()=>{gn();aC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),sC=require("@ton/crypto"),m=require("@ton/ton"),Fo=require("ts-pattern"),zA=m.toNano("0.01"),DA=m.toNano("0.05"),gC=m.SendMode.PAY_GAS_SEPARATELY+m.SendMode.IGNORE_ERRORS});var Rf={};Bn(Rf,{validateTonAddress:()=>eC,getTONToolbox:()=>xA});module.exports=Zn(Rf);var xf=u(()=>{n1()});function bn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function lo({accountIndex:n,chain:y,derivationPath:T}){if(n!==void 0)bn("accountIndex",n);let o=[...T?.slice(0,3)??o1.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function io({accountIndex:n,change:y=!1,chain:T,derivationPath:o,index:f}){return bn("index",f),[...lo({accountIndex:n,chain:T,derivationPath:o}),Number(y),f]}function So(n){return n[2]??0}function y1({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:_,count:A,startIndex:X=0,change:M=!1}=H;if(bn("count",A),A<1)throw RangeError("count must be at least 1");bn("startIndex",X);let l=[];for(let w=0;w<A;w++){let q=await n({accountIndex:_,change:M,index:X+w});if(q)l.push(q)}return l}async function f(H){let{gapLimit:_=20,change:A=!1}=H??{},X=[],M=0,l=0;while(M<_){let w=await n({change:A,index:l});if(!w)break;if((await y(w.address)).some((Q)=>Q.getValue("number")>0))X.push(w),M=0;else M++;l++}return X}async function t(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[..._,...A],M=await Promise.all(X.map(async(w)=>{let G=(await y(w.address)).reduce((Q,z)=>Q+z.getValue("number"),0);return{...w,balance:G}})),l=M.reduce((w,q)=>w+q.balance,0);return{addresses:M,total:l}}async function C(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[..._,...A];return(await Promise.all(X.map(async(l)=>{return(await T(l.address)).map((q)=>({...q,address:l.address,derivationIndex:l.index,isChange:l.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:t,getAggregatedUtxos:C,scanForAddresses:f}}var o1;var Ry=u(()=>{o1=require("@swapkit/helpers")});async function FA({chain:n,txHash:y}){let T=`${xy(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await j.RequestClient.post(T,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let t=await j.getRPCUrl(n);if(t){let C=JSON.stringify({id:X0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await j.RequestClient.post(t,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function xy(n){return`https://api.blockchair.com/${SA(n)}`}function f1(n){switch(n){case j.Chain.Bitcoin:return 5;case j.Chain.Dogecoin:return 1e4;case j.Chain.Litecoin:return 1;case j.Chain.Zcash:return 1;default:return 2}}function SA(n){switch(n){case j.Chain.BitcoinCash:return"bitcoin-cash";case j.Chain.Litecoin:return"litecoin";case j.Chain.Dash:return"dash";case j.Chain.Dogecoin:return"dogecoin";case j.Chain.Zcash:return"zcash";case j.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function pA(n){try{let{feePerKb:y}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),T=y/1000;return Math.max(T,f1(n))}catch{return f1(n)}}async function Ff(n,y){let T=await j.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!T||T.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return T.data}async function t1({address:n,chain:y,apiKey:T}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Ff(`${xy(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function kA({address:n,chain:y,apiKey:T}){return(await t1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function C1({chain:n,apiKey:y,txHash:T}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Ff(`${xy(n)}/raw/transaction/${T}`,y))?.[T]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function PA({chain:n,apiKey:y,txHash:T}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Ff(`${xy(n)}/dashboards/transaction/${T}`,y))?.[T];if(!f)throw new j.SwapKitError("toolbox_utxo_tx_not_found",{txHash:T});let{transaction:t,inputs:C,outputs:H}=f,_=C.map((X)=>X.spending_sequence),A=t.is_rbf===!0||_.some((X)=>X<uA);return{blockId:t.block_id,confirmed:t.block_id!==-1,fee:t.fee,inputs:C,isRBF:A,outputs:H,sequences:_,size:t.size,txid:t.hash,weight:t.weight}}async function IA({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await Ff(`${xy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,T)).map(({is_spent:_,script_hex:A,block_id:X,transaction_hash:M,index:l,value:w,spending_signature_hex:q})=>({hash:M,index:l,is_confirmed:X!==-1,is_spent:_,script_hex:A,txHex:q,value:w}))}function $A(n){return n.reduce((y,T)=>y+T.value,0)}function T1(n,y){let T=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let t of T)if(o.push(t),f+=t.value,f>=y)break;return o}return T}async function H1({chain:n,address:y,apiKey:T,targetValue:o,accumulativeValue:f=0,offset:t=0,limit:C=30}){if(!y)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await IA({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),A=H.length<C,X=H.filter(({is_spent:Q})=>!Q),M=$A(X),l=f+M,w=o&&l>=o;if(A||w)return T1(X,o);let q=await H1({accumulativeValue:l,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),G=[...X,...q];return T1(G,o)}catch(H){let _=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function EA({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await H1({address:n,apiKey:T,chain:y,targetValue:f}),C=[];for(let{hash:H,index:_,script_hex:A,value:X}of t){let M;if(o)M=await C1({apiKey:T,chain:y,txHash:H});C.push({address:n,hash:H,index:_,txHex:M,value:X,witnessUtxo:{script:Buffer.from(A,"hex"),value:X}})}return C}function Ln(n){let y=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(T)=>FA({chain:n,txHash:T}),getAddressData:(T)=>t1({address:T,apiKey:y,chain:n}),getBalance:(T)=>kA({address:T,apiKey:y,chain:n}),getRawTx:(T)=>C1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>pA(n),getTransactionDetails:(T)=>PA({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>EA({...T,apiKey:y,chain:n})}}function bA(n){return n}function vA(){return function(y){switch(y){case j.Chain.Bitcoin:return po.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return po.NETWORKS.bitcoinCash;case j.Chain.Dash:return po.NETWORKS.dash;case j.Chain.Litecoin:return po.NETWORKS.litecoin;case j.Chain.Dogecoin:return po.NETWORKS.dogecoin;case j.Chain.Zcash:return po.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,po,uA=4294967294;var _1=u(()=>{gn();j=require("@swapkit/helpers"),po=require("@swapkit/utxo-signer")});function jA(n,y,T){return no.encodeCashAddr({hash:T,prefix:n,type:VA[y]})}function cA(n){let y=no.decodeCashAddr(n),T=KA[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var no,VA,KA,wt;var A1=u(()=>{no=require("@swapkit/utxo-signer"),VA={P2PKH:no.CashAddrType.P2PKH,P2SH:no.CashAddrType.P2SH},KA={[no.CashAddrType.P2PKH]:"P2PKH",[no.CashAddrType.P2SH]:"P2SH"};wt={decode:cA,encode:jA}});function lt(n){try{return Sf(n),!0}catch{return!1}}function Xt(n){return Sf(n)?.network}function oo(n){let y=Sf(n);if(y?.format==="legacy")return n;return mA(y)}function Fy(n){let y=Sf(n);return rA(y)}function Sf(n){try{let y=iA(n);if(y)return y}catch{}try{let y=hA(n);if(y)return y}catch{}throw new qt.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function iA(n){try{let y=G1.decode(n);if(y.length!==21)throw new qt.SwapKitError("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case ko.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case ko.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case ko.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case ko.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case ko.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case ko.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function hA(n){if(n.indexOf(":")!==-1)try{return U1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return U1(`${T}:${n}`)}catch{}}return}function U1(n){try{let{hash:y,prefix:T,type:o}=wt.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:T==="bitcoincash"?"mainnet":"testnet",type:o==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function mA(n){let y=ko.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),G1.encode(T)}function rA(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return wt.encode(y,T,o)}var w1,q1,qt,G1,Gt,ko;var l1=u(()=>{A1();w1=require("@noble/hashes/sha2.js"),q1=require("@scure/base"),qt=require("@swapkit/helpers"),G1=q1.createBase58check(w1.sha256);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(Gt||={});ko={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function kn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return W1.Script.encode(["RETURN",y])}var X1,W1,gA=1000,kf=10,uf=2,B1=10,dA=41,aA=107,Pf,pf,Sy,ho=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new X1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},uo=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?ho(n[0].address):"P2PKH",t=(T?n.filter((A)=>A.value>=pf["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(T)):n).reduce((A,X)=>A+Xo(X),0),C=y?.reduce((A,X)=>A+py(X),0)||Sy[o],H=kf+t+C;return o==="P2WPKH"?Math.ceil(H+uf/4):H},Xo=(n)=>{if("type"in n&&n.type)return pf[n.type];if("address"in n&&n.address)return pf[ho(n.address)];return dA+aA},py=(n,y)=>{if(n?.script)return B1+n.script.length+(n.script.length>=74?2:1);if(y)return Sy[y];if("address"in n&&n.address)return Sy[ho(n.address)];return Sy.P2PKH};var Wt=u(()=>{X1=require("@swapkit/helpers"),W1=require("@swapkit/utxo-signer");((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(Pf||={});pf={["P2PKH"]:148,["P2WPKH"]:68},Sy={["P2PKH"]:34,["P2WPKH"]:31}});function ky(n){switch(n){case mn.Chain.Bitcoin:case mn.Chain.BitcoinCash:return 550;case mn.Chain.Dash:case mn.Chain.Litecoin:return 5500;case mn.Chain.Dogecoin:return 1e5;case mn.Chain.Zcash:return 546;default:throw new mn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:T=1,chain:o=mn.Chain.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?ho(n[0].address):"P2PKH",C=n.filter((q)=>Xo(q)*T<=q.value),_=t==="P2WPKH"?Math.ceil(uf/4):0,A=kf+_+y.reduce((q,G)=>q+py(G),0),X=y.reduce((q,G)=>q+G.value,0),M=A*T,l=0,w=[];for(let q of C){let G=Xo(q),Q=T*G;M+=Q,l+=q.value,w.push(q);let z=M+X;if(l<z)continue;let L=l-z,Y=T*py({address:f,value:0});if(L>Y){let Z=Y+M,U=l-(X+Math.ceil(Z));if(U>Math.max(Xo({value:0})*T,ky(o)))return{fee:Math.ceil(Z),inputs:w,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:w,outputs:y}}return{fee:Math.ceil(T*uo({inputs:n,outputs:y}))}}var mn;var M1=u(()=>{Wt();mn=require("@swapkit/helpers")});var mo=u(()=>{_1();l1();M1();Wt()});function Po(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Wo(n){let y=Po(n);return lt(y)&&Xt(y)==="mainnet"}function ro(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=If.Address(If.ZCASH_NETWORK).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var If;var uy=u(()=>{mo();If=require("@swapkit/utxo-signer")});function Lt({address:n,chain:y}){return Mt.match(y).with(S.Chain.BitcoinCash,()=>Wo(n)).with(S.Chain.Zcash,()=>ro(n)).otherwise(()=>{try{return r.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return Mt.match(n).with(S.Chain.Bitcoin,()=>r.NETWORKS.bitcoin).with(S.Chain.BitcoinCash,()=>r.NETWORKS.bitcoinCash).with(S.Chain.Dash,()=>r.NETWORKS.dash).with(S.Chain.Dogecoin,()=>r.NETWORKS.dogecoin).with(S.Chain.Litecoin,()=>r.NETWORKS.litecoin).with(S.Chain.Zcash,()=>r.NETWORKS.zcash).exhaustive()}function sA({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Ef.mnemonicToSeedSync(n),C=Bt.HDKey.fromMasterSeed(f,T.bip32).derive(y);if(!C.privateKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function L1(n){return Q1.secp256k1.getPublicKey(n,!0)}function Iy({publicKey:n,chain:y,network:T}){if(y===S.Chain.BitcoinCash){let t=r.p2pkh(n,T);if(!t.hash)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:t.hash,prefix:r.CashAddrPrefix.MAINNET,type:r.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!Py.includes(y)?r.p2wpkh(n,T):r.p2pkh(n,T);if(!f.address)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function go({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=Dn(T);if(o){let A=r.WIF(t).decode(o),X=L1(A);return{privateKey:A,publicKey:X}}if(!n)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||S.derivationPathToString(S.NetworkDerivationPath[T]),H=sA({derivationPath:C,network:t,phrase:n,seed:f}),_=L1(H);return{privateKey:H,publicKey:_}}function eA(n,y){return r.WIF(Dn(y)).encode(n)}function n5({phrase:n,derivationPath:y,chain:T,seed:o}){let f=y.split("/");if(f.length<4)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let t=Dn(T),C=o??Ef.mnemonicToSeedSync(n),H=Bt.HDKey.fromMasterSeed(C,t.bip32),_=f.slice(0,4).join("/");return H.derive(_)}function Mo({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=Dn(T),_=!Py.includes(T),A=C?r.RBF_SEQUENCE:void 0,X=new Set;for(let M of n){let l=`${M.hash}:${M.index}`;if(X.has(l))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});X.add(l);let w=typeof M.hash==="string"?Bo.hex.decode(M.hash):M.hash;if(_&&M.witnessUtxo)o.addInput({index:M.index,sequence:A,txid:w,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:Bo.hex.decode(M.txHex),sequence:A,txid:w,...T===S.Chain.BitcoinCash?{sighashType:r.BCHSigHash.ALL}:{}});else throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let l="address"in M&&M.address?M.address:f;if(T===S.Chain.BitcoinCash)l=oo(l);if(M.script){if(t)o.addOutput({amount:0n,script:t})}else o.addOutputAddress(l,BigInt(M.value),H)}return{inputs:n,tx:o}}async function ao(n){let y=await Ln(n).getSuggestedTxFee();return{[S.FeeOption.Average]:y,[S.FeeOption.Fast]:S.applyFeeMultiplier(y,S.FeeOption.Fast),[S.FeeOption.Fastest]:S.applyFeeMultiplier(y,S.FeeOption.Fastest)}}async function Z1({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await ao(t))[S.FeeOption.Fastest],H=f||Py.includes(t),_=n.getBaseValue("number"),A=Math.ceil(_+C*5000);return{inputs:await Ln(t).getUtxos({address:o,fetchTxHex:H,targetValue:A}),outputs:[{address:y,value:_},...T?[{address:"",script:kn(T),value:0}]:[]]}}async function J1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,_=T?kn(T):null,A=await Z1({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:X,outputs:M}=vn({...A,chain:H,feeRate:o});if(!(X&&M))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let l=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:w,tx:q}=Mo({chain:H,compiledMemo:_,enableRBF:C,inputs:X,outputs:M,sender:f,tx:l});return{inputs:w,tx:q,utxos:A.inputs}}async function Y1({assetValue:n,feeOptionKey:y=S.FeeOption.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await Z1({assetValue:n,memo:o,recipient:t,sender:f}),_=T?Math.floor(T):(await ao(C))[y];return vn({...H,chain:C,feeRate:_})}function o5(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=S.FeeOption.Fast,recipients:C=1}){let H=await Ln(n).getAddressData(T),_=f?Math.ceil(f):(await ao(n))[t],A=H?.utxo.map((G)=>({...G,hash:"",type:"P2PKH"})).filter((G)=>G.value>Math.max(ky(n),Xo(G)*_));if(!A?.length)return S.AssetValue.from({chain:n});let X=BigInt(A.reduce((G,Q)=>G+Q.value,0)),M=S.AssetValue.from({chain:n,value:X}),l=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)l.push({address:T,script:kn(o),value:0});let w=uo({inputs:A,outputs:l}),q=S.AssetValue.from({chain:n,value:BigInt(w*_)});return M.sub(q)}}function y5(n){return async function(T){let{fee:o}=await Y1(T);return S.AssetValue.from({chain:n,value:S.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function f5({chain:n,phrase:y,derivationPath:T,seed:o}){let f=Dn(n),{privateKey:t,publicKey:C}=go({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===S.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>Iy({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(_)=>{return _.sign(t,H),_}}}function T5(n,y){return async function({memo:o,recipient:f,feeOptionKey:t,feeRate:C,assetValue:H,enableRBF:_=!1}){let A=await y?.getAddress();if(!(y&&A))throw new S.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});S.warnOnce({condition:_&&!$f.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let X=_&&$f.includes(n),M=C||(await ao(n))[t||S.FeeOption.Fast],{tx:l}=await J1({assetValue:H,enableRBF:X,feeRate:M,memo:o,recipient:f,sender:A}),w=await y.signTransaction(l);return w.finalize(),Ln(n).broadcastTx(Bo.hex.encode(w.extract()))}}function Qt(n){return(y)=>Lt({address:y,chain:n})}function Zt(n){let y=Dn(n);return function(o){if(!o)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return Iy({chain:n,network:y,publicKey:o.publicKey})}}function Lo({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Ef.mnemonicToSeedSync(T):void 0,t="derivationPath"in y&&y.derivationPath?y.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[n],{index:o}),C=S.derivationPathToString(t),H=T?f5({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,_="signer"in y?y.signer:void 0,A=H||_,X=T?go({chain:n,derivationPath:C,phrase:T,seed:f}):void 0;function M(){if(A)return A.getAddress();return Promise.resolve(void 0)}function l(W){if(!T)return;let N=lo({accountIndex:W,chain:n,derivationPath:t});return n5({chain:n,derivationPath:S.derivationPathToString(N),phrase:T,seed:f})}let w=l();function q(){if(!w)return;return w.publicExtendedKey}function G({accountIndex:W}={}){let N=W===void 0?w:l(W);if(!N)return;let O=lo({accountIndex:W,chain:n,derivationPath:t});return{accountIndex:So(O),path:S.derivationPathToString(O),xpub:N.publicExtendedKey}}function Q({accountIndex:W,index:N,change:O=!1}){let F=W===void 0?w:l(W);if(!F)return;let p=io({accountIndex:W,chain:n,change:O,derivationPath:t,index:N}),V=Dn(n),h=F.deriveChild(Number(O)).deriveChild(N);if(!h.publicKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let d=Iy({chain:n,network:V,publicKey:h.publicKey}),yn=Bo.hex.encode(h.publicKey);return{accountIndex:So(p),address:d,change:O,index:N,path:S.derivationPathToString(p),pubkey:yn}}async function z(W){if(!$f.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let N=await Ln(n).getTransactionDetails(W);return{canReplace:N.isRBF&&!N.confirmed,confirmed:N.confirmed,enabled:N.isRBF,fee:N.fee,sequences:N.sequences,supported:!0}}async function L({txid:W,newFeeRate:N,recipient:O,memo:F}){if(!$f.includes(n))throw new S.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let p=await Ln(n).getTransactionDetails(W);if(!p.isRBF)throw new S.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:W});if(p.confirmed)throw new S.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:p.blockId,txid:W});let V=p.inputs.reduce((Qn,to)=>Qn+to.value,0),d=p.outputs.find((Qn)=>Qn.recipient===O)?.value||0;if(d===0)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let yn=await Promise.all(p.inputs.map(async(Qn)=>{let to=await Ln(n).getRawTx(Qn.transaction_hash);return{hash:Qn.transaction_hash,index:Qn.index,txHex:to,value:Qn.value,witnessUtxo:void 0}})),Yn=F?kn(F):null,Sn=uo({feeRate:N,inputs:yn.map((Qn)=>({...Qn,type:"P2WPKH"})),outputs:[{address:O,value:d}]}),Xn=Math.ceil(Sn*N);if(Xn<=p.fee)throw new S.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Xn,originalFee:p.fee});let In=Xn-p.fee,On=d-In;if(On<=0)throw new S.SwapKitError("toolbox_utxo_rbf_insufficient_change");let jn=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Qo=[{address:O,value:On},...F?[{address:"",script:kn(F),value:0}]:[]],Zo=V-On-Xn,To=await M();if(Zo>ky(n)&&To)Qo.push({address:To,value:Zo});return Mo({chain:n,compiledMemo:Yn,inputs:yn,outputs:Qo,sender:To||O,tx:jn}),{feeDelta:In,newFee:Xn,originalFee:p.fee,tx:jn}}async function Y({txid:W,newFeeRate:N,recipient:O,memo:F}){let{tx:p,originalFee:V,newFee:h}=await L({memo:F,newFeeRate:N,recipient:O,txid:W}),d=await D(p);d.finalize();let yn=await Ln(n).broadcastTx(Bo.hex.encode(d.extract()));return{newFee:h,originalFee:V,txid:yn}}function Z({accountIndex:W,index:N,change:O=!1}){bn("index",N);let F=W===void 0?w:l(W);if(!F)return;return F.deriveChild(Number(O)).deriveChild(N).privateKey||void 0}function U({tx:W,inputDerivations:N}){if(!w)throw new S.SwapKitError("toolbox_utxo_no_signer");let O=n===S.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let F=0;F<N.length;F++){let p=N[F];if(!p)continue;let{derivationIndex:V,isChange:h}=p,d=Z({change:h,index:V});if(!d)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${F} at index ${V}`});W.signIdx(d,F,O)}return W}async function B({utxos:W,recipient:N,assetValue:O,memo:F,feeRate:p,feeOptionKey:V,changeAddress:h}){if(!w)throw new S.SwapKitError("toolbox_utxo_no_signer");let d=p||(await ao(n))[V||S.FeeOption.Fast],yn=F?kn(F):null,Yn=[{address:N,value:O.getBaseValue("number")}];if(yn)Yn.push({address:"",script:yn,value:0});let Sn=W.map(({hash:To,index:Qn,value:to,txHex:RH,witnessUtxo:CT})=>({hash:To,index:Qn,txHex:RH,value:to,witnessUtxo:CT?{script:CT.script,value:CT.value}:void 0})),{inputs:Xn,outputs:In}=vn({chain:n,feeRate:d,inputs:Sn,outputs:Yn});if(!(Xn&&In))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:O,sender:"multiple addresses"});let On=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),jn=W[0]?.address,Qo=h||await M()||jn||N;Mo({chain:n,compiledMemo:yn,inputs:Xn,outputs:In,sender:Qo,tx:On});let Zo=Xn.map((To)=>{let Qn=W.find((to)=>to.hash===To.hash&&to.index===To.index);return Qn?{derivationIndex:Qn.derivationIndex,isChange:Qn.isChange}:{derivationIndex:0,isChange:!1}});return U({inputDerivations:Zo,tx:On}),On.finalize(),Ln(n).broadcastTx(Bo.hex.encode(On.extract()))}function J({address:W,gapLimit:N=20}){if(!w)return;for(let O=0;O<N;O++){let F=Q({change:!1,index:O}),p=Q({change:!0,index:O}),V=F?.address===W?!1:p?.address===W;if(F?.address===W||p?.address===W)return{change:V,index:O}}return}function D(W){if(!A)throw new S.SwapKitError("toolbox_utxo_no_signer");return A.signTransaction(W)}async function R(W){let N=await D(W);return N.finalize(),await Ln(n).broadcastTx(Bo.hex.encode(N.extract()))}return{accumulative:vn,broadcastTx:(W)=>Ln(n).broadcastTx(W),bumpFee:Y,calculateTxSize:uo,createKeysForPath:(W)=>go({...W,chain:n}),createReplacementTransaction:L,createTransaction:J1,deriveAddressAtIndex:Q,derivePrivateKeyAtIndex:Z,estimateMaxSendableAmount:o5(n),estimateTransactionFee:y5(n),getAddress:M,getAddressFromKeys:Zt(n),getBalance:Rn(n),getExtendedPublicKey:q,getExtendedPublicKeyInfo:G,getFeeRates:()=>ao(n),getInputsOutputsFee:Y1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(W)=>eA(go({...W,chain:n}).privateKey,n),isRBFEnabled:z,keys:X,resolveDerivationIndex:J,signAndBroadcastTransaction:R,signTransaction:D,signTransactionWithMultipleKeys:U,transfer:T5(n,A),transferFromMultipleAddresses:B,validateAddress:Qt(n)}}var Q1,Bo,Bt,Ef,S,r,Mt,Py,$f;var so=u(()=>{gn();Ry();mo();uy();Q1=require("@noble/curves/secp256k1.js"),Bo=require("@scure/base"),Bt=require("@scure/bip32"),Ef=require("@scure/bip39"),S=require("@swapkit/helpers"),r=require("@swapkit/utxo-signer"),Mt=require("ts-pattern"),Py=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash],$f=[S.Chain.Bitcoin]});function $y(n){return Po(Fy(n))}function t5(n){let y=Dn(rn);function T(f){return f.sign(n.privateKey,[Wn.BCHSigHash.ALL]),f}function o(){let f=Wn.p2pkh(n.publicKey,y);if(!f.hash)throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let t=Wn.encodeCashAddr({hash:f.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH});return Promise.resolve(t.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:T}}function Yt(n){let y="phrase"in n?n.phrase:void 0,T="index"in n?n.index||0:0,o=Gn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Gn.updateDerivationPath(Gn.NetworkDerivationPath[rn],{index:T})),f=y?go({chain:rn,derivationPath:o,phrase:y}):void 0,t=f?t5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:_,broadcastTx:A,...X}=Lo({chain:rn});function M(q,G=!0){return H(Po(Fy(q)))}function l(q){if(!t)throw new Gn.SwapKitError("toolbox_utxo_no_signer");return t.signTransaction(q)}async function w(q){let G=await l(q);return G.finalize(),await A(Jt.hex.encode(G.extract()))}return{...X,broadcastTx:A,buildTx:H5,createTransaction:N1,getAddress:C,getAddressFromKeys:_5,getBalance:M,getFeeRates:_,signAndBroadcastTransaction:w,signTransaction:l,stripPrefix:Po,stripToCashAddress:$y,transfer:C5({broadcastTx:A,getFeeRates:_,signer:t}),validateAddress:Wo}}async function N1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!Wo(y))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await Ln(rn).getUtxos({address:$y(f),fetchTxHex:!0,targetValue:t}),H=T?kn(T):null,_=[],A=oo(y);if(_.push({address:A,value:n.getBaseValue("number")}),H)_.push({script:H,value:0});let{inputs:X,outputs:M}=vn({chain:rn,feeRate:o,inputs:C,outputs:_});if(!(X&&M))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let l=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),w=oo(f),{inputs:q,tx:G}=Mo({chain:rn,compiledMemo:H,inputs:X,outputs:M.map((Q)=>("address"in Q)&&Q.address?{...Q,address:oo(Q.address)}:Q),sender:w,tx:l});return{inputs:q,tx:G,utxos:X}}function C5({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=Gn.FeeOption.Fast,...H}){let _=await T?.getAddress();if(!(T&&_))throw new Gn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Gn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=H.feeRate||(await y())[C],{tx:X}=await N1({...H,assetValue:t,feeRate:A,recipient:f,sender:_}),M=await T.signTransaction(X);return M.finalize(),n(Jt.hex.encode(M.extract()))}}async function H5({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=Fy(y);if(!Wo(t))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Ln(rn).getUtxos({address:$y(f),fetchTxHex:!0,targetValue:C}),_=Number(o.toFixed(0)),A=T?kn(T):null,X=[];if(X.push({address:oo(y),value:n.getBaseValue("number")}),A)X.push({script:A,value:0});let{inputs:M,outputs:l}=vn({chain:rn,feeRate:_,inputs:H,outputs:X});if(!(M&&l))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:q,tx:G}=Mo({chain:rn,compiledMemo:A,inputs:M,outputs:l,sender:oo(f),tx:w});return{inputs:q,tx:G,utxos:H}}function _5(n){let y=Wn.NETWORKS.bitcoinCash,T=Wn.p2pkh(n.publicKey,y);if(!T.hash)throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Wn.encodeCashAddr({hash:T.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var Jt,Gn,Wn,rn;var bf=u(()=>{mo();so();uy();Jt=require("@scure/base"),Gn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),rn=Gn.Chain.BitcoinCash});function D1(){let{isStagenet:n}=Un.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function U5(n){return A5.encode(n)}function w5({phrase:n,derivationPath:y}){let T=zt.mnemonicToSeedSync(n),f=Nt.HDKey.fromMasterSeed(T).derive(y);if(!f.privateKey||!f.publicKey)throw new Un.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:t,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:_}=Un.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),X=new Uint8Array(A.length+H.length);X.set(A,0),X.set(H,A.length);let M=U5(X);return{getAddress:()=>Promise.resolve(M),signTransaction:(l)=>{if(l instanceof tn.PCZT)return l.signAllInputs(t,C,tn.ZcashSigHash.ALL),l.finalizeAllInputs(),Promise.resolve(l.extract());return l.signAllInputs(t,C,tn.ZcashSigHash.ALL),Promise.resolve(l)}}}function q5({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=D1();for(let C of n){let H=tn.Address(t).decode(o),_=tn.OutScript.encode(H);T.addInput({index:C.index,script:_,sequence:4294967295,txid:vf.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,_=C.script;if(_&&!f)continue;if(_&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function z1(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?kn(o):null,_=await Ln(Un.Chain.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),A=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:X,outputs:M}=vn({chain:Un.Chain.Zcash,changeAddress:t,feeRate:f,inputs:_,outputs:A});if(!(X&&M))throw new Un.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let l=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:w,inputs:q}=q5({compiledMemo:H,inputs:X,outputs:M,sender:t,tx:l});return{inputs:q,outputs:M,tx:w}}function Dt(n){let y=eo.match(n).with({signer:eo.P.not(eo.P.nullish)},({signer:_})=>_).with({phrase:eo.P.string},({phrase:_,derivationPath:A,index:X=0})=>{let M=A||Un.NetworkDerivationPath[Un.Chain.Zcash]||[44,133,0,0,0],l=Un.updateDerivationPath(M,{index:X}),w=Un.derivationPathToString(l);return w5({derivationPath:w,phrase:_})}).otherwise(()=>{return}),T=Lo({chain:Un.Chain.Zcash,signer:y});async function o(_){if(!y)throw new Un.SwapKitError("toolbox_utxo_no_signer");return await y.signTransaction(_)}async function f(_){let A=await o(_);return T.broadcastTx(A.toHex())}async function t({recipient:_,assetValue:A,feeOptionKey:X=Un.FeeOption.Fast,...M}){let l=await y?.getAddress();if(!(y&&l))throw new Un.SwapKitError("toolbox_utxo_no_signer");let w=M.feeRate||(await T.getFeeRates())[X],{tx:q}=await z1({...M,assetValue:A,feeRate:w,recipient:_,sender:l}),Q=(await y.signTransaction(q)).toHex();return T.broadcastTx(Q)}function C({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let X=zt.mnemonicToSeedSync(_),l=Nt.HDKey.fromMasterSeed(X).derive(A);if(!l.privateKey||!l.publicKey)throw new Un.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:l.privateKey,publicKey:l.publicKey}}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let X=C({derivationPath:A,phrase:_}),M=D1();return tn.WIF(M).encode(X.privateKey)}return{...T,createKeysForPath:C,createTransaction:z1,getPrivateKeyFromMnemonic:H,signAndBroadcastTransaction:f,signTransaction:o,transfer:t,validateAddress:ro}}var vf,Nt,zt,Un,tn,eo,A5;var Ot=u(()=>{mo();so();uy();vf=require("@scure/base"),Nt=require("@scure/bip32"),zt=require("@scure/bip39"),Un=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),eo=require("ts-pattern");A5=vf.createBase58check(tn.utils.sha256)});function F1({xpub:n,chain:y,count:T,startIndex:o=0,accountIndex:f}){if(bn("count",T),T<1)throw RangeError("count must be at least 1");bn("startIndex",o);let t=Dn(y),C=R1.HDKey.fromExtendedKey(n,t.bip32),H=lo({accountIndex:f,chain:y}),_=So(H),A=[];for(let X of[!1,!0]){let M=C.deriveChild(Number(X));for(let l=0;l<T;l++){let w=o+l,q=M.deriveChild(w);if(!q.publicKey)continue;let G=io({accountIndex:f,chain:y,change:X,index:w});A.push({accountIndex:_,address:Iy({chain:y,network:t,publicKey:q.publicKey}),change:X,index:w,path:x1.derivationPathToString(G),pubkey:O1.hex.encode(q.publicKey)})}}return A}var O1,R1,x1;var S1=u(()=>{Ry();so();O1=require("@scure/base"),R1=require("@scure/bip32"),x1=require("@swapkit/helpers")});function G5(n,y){switch(n){case yo.Chain.BitcoinCash:return Yt(y||{});case yo.Chain.Zcash:return Dt(y);case yo.Chain.Bitcoin:case yo.Chain.Dogecoin:case yo.Chain.Litecoin:case yo.Chain.Dash:return Lo({chain:n,...y});default:throw new yo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var yo;var p1=u(()=>{bf();so();Ot();Ry();S1();bf();uy();yo=require("@swapkit/helpers")});var Rt={};Bn(Rt,{validateZcashAddress:()=>ro,validateUtxoAddress:()=>Lt,validateBchAddress:()=>Wo,toLegacyAddress:()=>oo,toCashAddress:()=>Fy,stripToCashAddress:()=>$y,stripPrefix:()=>Po,nonSegwitChains:()=>Py,isValidAddress:()=>lt,getUtxoToolbox:()=>G5,getUtxoNetwork:()=>vA,getUtxoApi:()=>Ln,getUTXOAddressValidator:()=>Qt,getUTXOAddressPath:()=>io,getUTXOAccountPath:()=>lo,getUTXOAccountIndexFromPath:()=>So,getScriptTypeForAddress:()=>ho,getOutputSize:()=>py,getNetworkForChain:()=>Dn,getInputSize:()=>Xo,getDustThreshold:()=>ky,detectAddressNetwork:()=>Xt,deriveAddressesFromXpub:()=>F1,createZcashToolbox:()=>Dt,createUTXOToolbox:()=>Lo,createHDWalletHelpers:()=>y1,createCustomUtxoApi:()=>bA,createBCHToolbox:()=>Yt,compileMemo:()=>kn,calculateTxSize:()=>uo,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>Zt,addInputsAndOutputs:()=>Mo,accumulative:()=>vn,UtxoNetwork:()=>Gt,UTXOScriptType:()=>Pf,TX_OVERHEAD:()=>kf,SEGWIT_MARKER_FLAG_WEIGHT:()=>uf,OutputSizes:()=>Sy,OP_RETURN_OVERHEAD:()=>B1,MIN_TX_FEE:()=>gA,InputSizes:()=>pf});module.exports=Zn(Rt);var xt=u(()=>{so();Ry();mo();p1();bf();Ot()});function Ey(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function Kf(n){let{KeyPair:y}=await import("@near-js/crypto"),T=n.index||0,o=n.derivationPath?Vf.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:f}=u1.parseSeedPhrase(n.phrase,o),t=y.fromString(f);return I1(t)}async function Ft(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return I1(T)}function I1(n){return new P1(n)}async function jf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Vf.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),t=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:t}}var k1,Vf,u1,P1;var St=u(()=>{k1=require("@near-js/signers"),Vf=require("@swapkit/helpers"),u1=HT(require("near-seed-phrase"));P1=class P1 extends k1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function pt(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function kt(n){return"contractId"in n&&"methodName"in n}function ut(n){return"actions"in n}function Pt(n){return"newAccountId"in n}function It(n){return"contractCode"in n}function $t(n){return"customEstimator"in n}function Et(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(Jn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Jn.CONTRACT_CALL);break;case"createAccount":y+=Number(Jn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Jn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Jn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Jn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Jn.STAKE);break;default:y+=Number(Jn.CONTRACT_CALL)}return y.toString()}function bt(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Jn.TOKEN_TRANSFER;if(n==="storage_deposit")return Jn.STORAGE_DEPOSIT;return Jn.CONTRACT_CALL}function l5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function X5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Jn;var vt=u(()=>{Jn={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 Vt({account:n,contractId:y,viewMethods:T,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:T})}function W5(n){let y;async function T(){if(y)return y;return y=await ny.match(n).with({phrase:ny.P.string},async(W)=>{return await Kf(W)}).with({signer:ny.P.any},({signer:W})=>W).otherwise(()=>{return}),y}async function o(){let W=await on.getRPCUrl(on.Chain.Near);return new $1.JsonRpcProvider({url:W})}async function f(W){let{Account:N}=await import("@near-js/accounts"),O=await o(),F=await T(),p=W||await t();return new N(p,O,F)}async function t(){let W=await T();if(!W)throw new on.SwapKitError("toolbox_near_no_signer");return await W.getAddress()}async function C(W){return(await Z({changeMethods:[],contractId:W.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:W.accountId})}async function H(W){let O=[await l({args:{account_id:W.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await l({args:{amount:W.assetValue.getBaseValue("string"),memo:W.memo||null,receiver_id:W.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return U({actions:O,receiverId:W.contractId})}async function _(W){if(!await T())throw new on.SwapKitError("toolbox_near_no_signer");let{assetValue:O,recipient:F,memo:p}=W,V=await t();if(!O.isGasAsset&&O.address){if(!await C({accountId:F,contractId:O.address}))return H({assetValue:O,contractId:O.address,memo:p,recipient:F})}let h=await A({...W,sender:V});return G(h)}async function A({recipient:W,assetValue:N,memo:O,attachedDeposit:F,sender:p,functionCall:V}){let h=await o();if(!Ey(W))throw new on.SwapKitError("toolbox_near_invalid_address",{recipient:W});if(!Ey(p))throw new on.SwapKitError("toolbox_near_invalid_address",{sender:p});if(V)return M({...V,sender:p});if(!N.isGasAsset){let Zo=N.address;if(!Zo)throw new on.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:N.getBaseValue("string"),memo:O||null,receiver_id:W},attachedDeposit:F||"1",contractId:Zo,gas:"250000000000000",methodName:"ft_transfer",sender:p})}let{publicKey:d,nonce:yn}=await jf(h,p),Yn=N.getBaseValue("bigint"),{actionCreators:Sn,createTransaction:Xn}=await import("@near-js/transactions"),{baseDecode:In}=await import("@near-js/utils"),On=[Sn.transfer(Yn)];if(O&&F)On.push(Sn.functionCall("memo",{memo:O},BigInt("250000000000000"),BigInt(F)));let jn=await h.block({finality:"final"}),Qo=In(jn.header.hash);return Xn(p,d,W,yn+1,On,Qo)}function X(W){let N=W.encode();return Buffer.from(N).toString("base64")}async function M({args:W,attachedDeposit:N,contractId:O,gas:F,methodName:p,sender:V}){let h=await o(),{publicKey:d,nonce:yn}=await jf(h,V),{createTransaction:Yn,actionCreators:Sn}=await import("@near-js/transactions"),{baseDecode:Xn}=await import("@near-js/utils"),In=await h.block({finality:"final"}),On=Xn(In.header.hash),jn=[Sn.functionCall(p,Buffer.from(JSON.stringify(W)),BigInt(F),BigInt(N))];return Yn(V,d,O,yn+1,jn,On)}async function l(W){let{actionCreators:N}=await import("@near-js/transactions");return N.functionCall(W.methodName,Buffer.from(JSON.stringify(W.args)),BigInt(W.gas),BigInt(W.attachedDeposit))}async function w(W){let N=await T();if(!N)throw new on.SwapKitError("toolbox_near_no_signer");let[O,F]=await N.signTransaction(W);return F}async function q(W){return(await(await o()).sendTransaction(W)).transaction.hash}async function G(W){let N=await T();if(!N)throw new on.SwapKitError("toolbox_near_no_signer");try{let O=await w(W);return await q(O)}catch{return N.signAndSendTransactions?.({transactions:[W]})}}async function Q(W){let N=await T();if("assetValue"in W){let F=await z();try{let p=await on.getRPCUrl(on.Chain.Near),V=await fetch(p,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:h}}=await V.json(),{execution:d,send_sir:yn}=h.transaction_costs.action_receipt_creation_config,{execution:Yn,send_sir:Sn}=h.transaction_costs.action_creation_config.transfer_cost,Xn=BigInt(Sn)+BigInt(Yn),In=BigInt(yn)+BigInt(d),jn=(Xn+In)*BigInt(F.toString());return on.AssetValue.from({chain:on.Chain.Near,value:jn})}catch(p){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",p);let V=BigInt("115123062500"),h=BigInt("108059500000"),yn=(V+h)*BigInt(F.toString());return on.AssetValue.from({chain:on.Chain.Near,value:yn})}}let O=N?await f():void 0;return B(W,O)}async function z(){let W=await o();try{return await W.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(W,N,O){if(!await T())throw new on.SwapKitError("toolbox_near_no_signer");let p=await f(),{formatNearAmount:V}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),d=V(O)||"0";return(await p.createAccount(W,h.fromString(N),BigInt(d))).transaction.hash}async function Y(W){let N=await T();try{if(!N)throw new on.SwapKitError("toolbox_near_no_signer");let{actionCreators:O}=await import("@near-js/transactions"),{contractId:F,methodName:p,args:V,deposit:h}=W,d=await f(),yn=await B({args:V||{},contractId:F,methodName:p}),Yn=O.functionCall(p,V||{},yn.getBaseValue("bigint"),BigInt(h||"1"));return(await d.signAndSendTransaction({actions:[Yn],receiverId:F})).transaction_outcome.id}catch(O){throw new on.SwapKitError("toolbox_near_transfer_failed",{error:O})}}async function Z(W){let N=await f();return Vt({account:N,changeMethods:W.changeMethods,contractId:W.contractId,viewMethods:W.viewMethods})}async function U(W){if(!await T())throw new on.SwapKitError("toolbox_near_no_signer");if(W.actions.length===0)throw new on.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:W.actions,receiverId:W.receiverId})).transaction.hash}async function B(W,N){let O=await ny.match(W).when(pt,()=>Jn.SIMPLE_TRANSFER).when(kt,(p)=>bt(p.methodName)).when(ut,(p)=>Et(p.actions)).when(Pt,()=>Jn.ACCOUNT_CREATION).when(It,()=>Jn.CONTRACT_DEPLOYMENT).when($t,(p)=>{if(!N)throw new on.SwapKitError("toolbox_near_no_account");return p.customEstimator(N)}).otherwise(()=>{throw new on.SwapKitError("toolbox_near_invalid_gas_params")}),F=BigInt(O)*BigInt(1000000000000);return on.AssetValue.from({chain:on.Chain.Near,value:F})}function J(W,N){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),B(W,N)}async function D(){let W=await o();try{return(await W.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function R(){let W=await T();return W?(await W.getPublicKey()).toString():""}return{broadcastTransaction:q,callFunction:Y,createAction:l,createContract:Z,createContractFunctionCall:M,createSubAccount:L,createTransaction:A,estimateGas:J,estimateGasLimit:B,estimateTransactionFee:Q,executeBatchTransaction:U,getAddress:t,getBalance:Rn(on.Chain.Near),getGasPrice:D,getNearProvider:o,getPublicKey:R,getSignerFromPhrase:Kf,getSignerFromPrivateKey:Ft,serializeTransaction:X,signAndBroadcastTransaction:G,signTransaction:w,transfer:_,validateAddress:Ey}}var $1,on,ny;var Kt=u(()=>{gn();St();vt();$1=require("@near-js/providers"),on=require("@swapkit/helpers"),ny=require("ts-pattern")});var E1=u(()=>{Kt()});var jt={};Bn(jt,{validateNearAddress:()=>Ey,tgasToGas:()=>l5,isSimpleTransfer:()=>pt,isCustomEstimator:()=>$t,isContractDeployment:()=>It,isContractCall:()=>kt,isBatchTransaction:()=>ut,isAccountCreation:()=>Pt,getNearToolbox:()=>W5,getNearSignerFromPrivateKey:()=>Ft,getNearSignerFromPhrase:()=>Kf,getFullAccessPublicKey:()=>jf,getContractMethodGas:()=>bt,gasToTGas:()=>X5,estimateBatchGas:()=>Et,createNearContract:()=>Vt,GAS_COSTS:()=>Jn});module.exports=Zn(jt);var ct=u(()=>{St();vt();Kt();E1()});var it={};Bn(it,{validateRadixAddress:()=>V1,getRadixToolbox:()=>Z5});module.exports=Zn(it);function V1(n){return n.startsWith("account_rdx1")&&n.length===66}function B5({networkApi:n}){return async function(T){let o=await M5({address:T,networkApi:n}),f=await L5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function M5({address:n,networkApi:y}){let T=!0,o,f=[],t=await Q5(y);while(T){let C={address:n,at_ledger_state:{state_version:t},cursor:o,limit_per_page:100},H=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:C});if(f=f.concat(H.items),H.next_cursor)o=H.next_cursor;else T=!1}return f}async function L5({resources:n,networkApi:y}){let T=[],o=50,f=[];for(let t=0;t<n.length;t+=50)f.push(n.slice(t,t+50));for(let t of f){let C=t.map((A)=>A.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),_=new Map;for(let A of H)if(A.details!==void 0){let X=A.metadata?.items.find((l)=>l.key==="symbol"),M=X?.value.typed.type==="String"?X.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of t)if(A.aggregation_level==="Global"){let X=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=Vn.AssetValue.from({asset:X.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${X.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});T.push(M)}}return T}async function Q5(n){return(await n.status.getCurrent()).ledger_state.state_version}function Z5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,T=v1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=b1.GatewayApiClient.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:B5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:V1}}var b1,v1,Vn;var ht=u(()=>{b1=require("@radixdlt/babylon-gateway-api-sdk"),v1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function cf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function by(n){if(cf(n))return n.toUpperCase();if(n.length<=3){let T=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${T}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new K1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function J5(n){if(!cf(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let T=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(T)&&T.length>0)return T}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),T=y.length%2===0?y:`${y}0`,o=Buffer.from(T,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function oy(n){if(cf(n))return n.toUpperCase();if(n.length<=3)return n;return by(n)}var K1;var hf=u(()=>{K1=require("@swapkit/helpers")});async function Y5(n,y){let T=oy(n),o=rf.find((f)=>oy(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await mf.RequestClient.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){mf.warnOnce({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function N5(n){return rf.filter((y)=>y.issuer===n)}function z5(n,y){let T=oy(n);return rf.some((o)=>oy(o.currency)===T&&o.issuer===y)}var mf,rf;var j1=u(()=>{hf();mf=require("@swapkit/helpers"),rf=[{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 mt={};Bn(mt,{validateRippleAddress:()=>df,parseXrplTokenIdentifier:()=>h1,normalizeCurrency:()=>oy,isKnownToken:()=>z5,isHexCurrency:()=>cf,hexToCurrency:()=>J5,hashes:()=>r1.hashes,getXrplTokenInfo:()=>Y5,getRippleToolbox:()=>O5,getKnownTokensByIssuer:()=>N5,formatXrplTokenIdentifier:()=>m1,currencyToHex:()=>by,XRPL_TOKEN_ERROR_CODES:()=>gf,XRPL_KNOWN_TOKENS:()=>rf});module.exports=Zn(mt);function h1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!fo.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function m1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function D5(n){if(n.isGasAsset)return fo.xrpToDrops(n.getValue("string"));let y=h1(n.toString());if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function i1(n){let y=fo.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function df(n){return fo.isValidAddress(n)}function O5(n={}){let y=yy.match(n).with({phrase:yy.P.string},({phrase:L})=>i1(L)).with({signer:yy.P.any},({signer:L})=>L).otherwise(()=>{return}),T;async function o(){let L=await i.getRPCUrl(i.Chain.Ripple);if(!L)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let Y=new fo.Client(L);return await Y.connect(),Y}async function f(){if(T){let L=await T.catch(()=>null);if(L?.isConnected())return L}return T=o(),T}let t=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(L)=>{let Y=L||await t(),{baseDecimal:Z}=i.getChainConfig(i.Chain.Ripple),U=await f();try{let[B,J]=await Promise.all([U.request({account:Y,command:"account_info"}),U.request({account:Y,command:"account_lines"})]),D=B.result.account_data.Balance,R=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Z,value:D})];for(let W of J.result.lines){let N=m1(W.currency,W.account);if(Number.parseFloat(W.balance)!==0)R.push(i.AssetValue.from({asset:N,asyncTokenLookup:!1,value:W.balance}))}return R}catch(B){if(B.data?.error_code===c1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:Y,error:B}})}},H=async()=>{let{baseDecimal:L}=i.getChainConfig(i.Chain.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:L,value:U})};async function _(L){let Y=L||await t(),Z=await f();try{return(await Z.request({account:Y,command:"account_lines"})).result.lines.map((B)=>({account:B.account,authorized:B.authorized??!1,balance:B.balance,currency:B.currency,freeze:B.freeze??!1,freezePeer:B.freeze_peer??!1,limit:B.limit,limitPeer:B.limit_peer,noRipple:B.no_ripple??!1,noRipplePeer:B.no_ripple_peer??!1,peerAuthorized:B.peer_authorized??!1,qualityIn:B.quality_in??0,qualityOut:B.quality_out??0}))}catch(U){if(U.data?.error_code===c1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:Y,error:U}})}}async function A({address:L,currency:Y,issuer:Z}){let U=await _(L),B=by(Y);return U.some((J)=>{return by(J.currency)===B&&J.account===Z})}async function X({currency:L,issuer:Y,limit:Z,sender:U}){let B=U||await t();if(!df(Y))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:Y}});let J=Number.parseFloat(Z);if(Number.isNaN(J)||J<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:Z}});let D=await f(),R={Account:B,LimitAmount:{currency:L,issuer:Y,value:Z},TransactionType:"TrustSet"};return D.autofill(R)}async function M({assetValue:L,recipient:Y,memo:Z,sender:U,destinationTag:B,extendBySeconds:J=150}){if(!df(Y))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=U||await t();if(L.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let R=D5(L),W={Account:D,Amount:R,Destination:Y,TransactionType:"Payment",...B!==void 0&&{DestinationTag:B}};if(Z)W.Memos=[{Memo:{MemoData:Buffer.from(Z).toString("hex")}}];let O=await(await f()).autofill(W);if(O.LastLedgerSequence&&J>0)O.LastLedgerSequence+=Math.ceil(J/4);return O}function l(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(L)}async function w(L){let Z=await(await f()).submitAndWait(L),{result:U}=Z;if(U.validated)return U.hash;let B=U.meta?.TransactionResult,J=yy.match(B).with(gf.tecNO_LINE,()=>"No trust line exists for this token").with(gf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(gf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...J?{reason:J}:{txResult:B}}})}let q=async(L)=>{try{let Y=await l(L);return w(Y.tx_blob)}catch(Y){if(Y instanceof i.SwapKitError)throw Y;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:Y}})}};async function G(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let Y=await y.getAddress(),Z=await M({...L,sender:Y}),U=await l(Z);return w(U.tx_blob)}async function Q(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let Y=await y.getAddress(),Z=await X({...L,sender:Y}),U=await l(Z);return w(U.tx_blob)}function z(){let L=T;if(T=null,L)L.then((Y)=>{if(Y?.isConnected())return Y.disconnect();return}).catch((Y)=>{console.warn("XRPL Cleanup failed silently:",Y)})}return{broadcastTransaction:w,createSigner:i1,createTransaction:M,disconnect:z,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:_,hasTrustLine:A,setTrustLine:X,setTrustLineAndBroadcast:Q,signAndBroadcastTransaction:q,signTransaction:l,transfer:G,validateAddress:df}}var i,yy,fo,r1,c1,gf;var rt=u(()=>{hf();i=require("@swapkit/helpers"),yy=require("ts-pattern"),fo=require("xrpl");hf();j1();r1=require("xrpl"),c1={ACCOUNT_NOT_FOUND:19},gf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function gt(n,y){let T=0n,o=0n,f=y;while(f<n.length&&f-y<10){let t=n[f++];if(t===void 0)break;if(T|=BigInt(t&127)<<o,o+=7n,(t&128)===0)return[T,f]}throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed")}function vy(n){let y=[],T=n<0n?n+2n**64n:n;while(T>=128n)y.push(Number(T&0x7fn)|128),T>>=7n;return y.push(Number(T)),y}function af(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function S5(n){let y=new Map,T=0;while(T<n.length){let[o,f]=gt(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===sf){let[H,_]=gt(n,T);T=_,af(y,t,{data:new Uint8Array(vy(H)),wireType:sf})}else if(C===ef){let[H,_]=gt(n,T);T=_;let A=Number(H);if(A<0||T+A>n.length)throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed");let X=n.slice(T,T+A);T+=A,af(y,t,{data:X,wireType:ef})}else if(C===g1){if(T+8>n.length)throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,af(y,t,{data:H,wireType:g1})}else if(C===d1){if(T+4>n.length)throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,af(y,t,{data:H,wireType:d1})}else throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function p5(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[_])=>H-_))for(let{wireType:H,data:_}of C){let A=BigInt(t<<3|H);if(y.push(new Uint8Array(vy(A))),H===ef)y.push(new Uint8Array(vy(BigInt(_.length))));y.push(_)}let T=y.reduce((t,C)=>t+C.length,0),o=new Uint8Array(T),f=0;for(let t of y)o.set(t,f),f+=t.length;return o}function s1(n,y){if(!n||n.length%2!==0)throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed");let T=fy.hexToBytes(n),o=S5(T);if(y.expiration!==void 0)o.set(R5,[{data:new Uint8Array(vy(BigInt(y.expiration))),wireType:sf}]);if(y.data!==void 0)o.set(x5,[{data:fy.hexToBytes(y.data),wireType:ef}]);if(y.fee_limit!==void 0)o.set(F5,[{data:new Uint8Array(vy(BigInt(y.fee_limit))),wireType:sf}]);let f=p5(o),t=fy.bytesToHex(f),C=fy.bytesToHex(a1.sha256(f));return{raw_data_hex:t,txID:C}}var a1,fy,Io,sf=0,g1=1,ef=2,d1=5,R5=8,x5=10,F5=18;var e1=u(()=>{a1=require("@noble/hashes/sha2.js"),fy=require("@noble/hashes/utils.js"),Io=require("@swapkit/helpers")});function Kn(n){if(typeof n!=="string")return!1;try{let y=nT.decode(n);return y.length===21&&y[0]===yH}catch{return!1}}function fH(n){return Pn.bytesToHex(nT.decode(n))}function u5(n){return nT.decode(n).slice(1)}function TH(n){let y=dt.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),T=nH.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=yH,o.set(T,1),nT.encode(o)}function tH({txID:n,privateKey:y}){let T=dt.secp256k1.sign(Pn.hexToBytes(n),Pn.hexToBytes(y),{format:"recovered",prehash:!1}),o=T[0]??0,f=Pn.bytesToHex(T.slice(1,33)),t=Pn.bytesToHex(T.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+t+C}function Ty({txID:n,raw_data_hex:y}){let T=Pn.bytesToHex(at.sha256(Pn.hexToBytes(y)));if(n!==T)throw new st.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function P5(n){return`000000000000000000000000${Pn.bytesToHex(u5(n))}`}function I5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=k5)throw new st.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function ty(n){return n.map(({type:y,value:T})=>y==="address"?P5(T):I5(BigInt(T))).join("")}function CH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var dt,at,nH,Pn,oH,st,nT,yH=65,k5;var et=u(()=>{dt=require("@noble/curves/secp256k1.js"),at=require("@noble/hashes/sha2.js"),nH=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),oH=require("@scure/base"),st=require("@swapkit/helpers"),nT=oH.createBase58check(at.sha256),k5=2n**256n});function _H(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return HH}}function AH(){let n=new AbortController,y=setTimeout(()=>n.abort(),v5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function Cy(n,y){let{signal:T,cleanup:o}=AH();try{let f=await fetch(`${_H()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:T});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function UH(n,y){let{signal:T,cleanup:o}=AH();try{let f=await fetch(`${y??_H()}${n}`,{headers:{"Content-Type":"application/json"},signal:T});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function wH(n){if(!Kn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await UH(`/v1/accounts/${n}`,HH);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=fH(n).toLowerCase()}catch{T=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===T);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof ln.SwapKitError)throw y;throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function qH({from:n,to:y,amount:T}){let f=await Cy("/wallet/createtransaction",{amount:T,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==T)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return Ty(f),f}async function GH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await Cy("/wallet/triggersmartcontract",{call_value:t,contract_address:y,fee_limit:f,function_selector:T,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let _=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==y||_?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return Ty(C.transaction),C.transaction}function lH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return Cy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:T,owner_address:n,parameter:o,visible:!0})}async function Vy(n){try{let{result:y,txid:T}=await Cy("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!T)throw new ln.SwapKitError("toolbox_tron_token_transfer_failed");return T}catch(y){throw new ln.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function oT(){let n={};try{let{chainParameter:y}=await UH("/wallet/getchainparameters");for(let T of y)n[T.key]=T.value}catch(y){ln.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??$5,createAccountFee:n.getCreateAccountFee??E5,energyFee:n.getEnergyFee??b5}}async function n0(n){try{let y=await Cy("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return ln.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function o0(n){try{let y=await Cy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function y0(n){try{let{energy_used:y}=await lH({...n,ownerAddress:n.sender});return y}catch(y){return ln.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function XH({assetAddress:n,owner:y,spender:T}){let o=ty([{type:"address",value:y},{type:"address",value:T}]),t=(await lH({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:T,parameter:o})).constant_result?.[0];if(!t)return 0n;try{return BigInt(`0x${t}`)}catch{return 0n}}var ln,HH="https://api.trongrid.io",$5=1000,E5=1e5,b5=420,v5=30000;var WH=u(()=>{et();ln=require("@swapkit/helpers")});function JH({phrase:n,derivationPath:y}){let T=LH.HDKey.fromMasterSeed(QH.mnemonicToSeedSync(n)).derive(y);if(!T.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return MH.bytesToHex(T.privateKey)}function YH({phrase:n,derivationPath:y,index:T}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:T||0}));return JH({derivationPath:o,phrase:n})}function i5({phrase:n,derivationPath:y}){let T=JH({derivationPath:y,phrase:n}),o=TH(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{Ty(f);let t=tH({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function BH({transaction:n,memo:y,expiration:T,feeLimit:o}){let f={},t={};if(o!==void 0&&n.raw_data)f.fee_limit=o,t.fee_limit=o;if(y){let _=CH(y);f.data=_,t.data=_}if(T){let _=n.raw_data.expiration+T*1000;f.expiration=_,t.expiration=_}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=s1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function NH(n={}){let y="index"in n?n.index||0:0,T=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:y})),o,f=!1;function t(){if(f)return Promise.resolve(o);return o=Hy.match(n).with({phrase:Hy.P.string},({phrase:U})=>i5({derivationPath:T,phrase:U})).with({signer:Hy.P.not(Hy.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await t();if(!U)throw new E.SwapKitError("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let B=U||K5,J=await oT(),D=B*J.energyFee,R=Math.ceil(D*1.5);return Math.min(Math.max(R,1e7),150000000)}async function _({contractAddress:U,functionSelector:B,parameter:J,sender:D,memo:R,expiration:W}){let N=await y0({contractAddress:U,functionSelector:B,parameter:J,sender:D}),O=await H(N),F=await GH({contractAddress:U,feeLimit:O,functionSelector:B,ownerAddress:D,parameter:J});return BH({expiration:W,feeLimit:O,memo:R,transaction:F})}async function A(U){if(!Kn(U))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let B=await wH(U);if(!B)return[E.AssetValue.from({chain:E.Chain.Tron})];let J=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(B.balance)})],D=B.trc20?.find((R)=>(f0 in R));if(D){let R=D[f0];J.push(E.AssetValue.from({asset:`TRON.USDT-${f0}`,fromBaseDecimal:6,value:R}))}return J}catch(B){return E.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${B instanceof Error?B.message:B}`}),[E.AssetValue.from({chain:E.Chain.Tron})]}}async function X({recipient:U,assetValue:B,memo:J,expiration:D}){if(!Kn(U))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let R=await t();if(!R)throw new E.SwapKitError("toolbox_tron_no_signer");try{let W=await C(),N=await G({assetValue:B,expiration:D,memo:J,recipient:U,sender:W}),O=await R.signTransaction(N),F=await Vy(O);if(!F)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(W){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:W instanceof Error?W.message:String(W)})}}function M({requiredBandwidth:U,resources:B,feePerUnit:J}){let D=Math.max(0,B.free+B.total-B.used);return U>D?(U-D)*J:0}async function l({recipient:U,senderAddress:B}){let[J,D,R]=await Promise.all([oT(),o0(U),n0(B)]),W=D?0:J.createAccountFee,N=M({feePerUnit:J.bandwidthFee,requiredBandwidth:V5,resources:R.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:W+N})}async function w({assetValue:U,recipient:B,senderAddress:J}){let D=U.address;if(!D)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[R,W,N,O]=await Promise.all([oT(),o0(B),n0(J),y0({contractAddress:D,functionSelector:"transfer(address,uint256)",parameter:ty([{type:"address",value:B},{type:"uint256",value:U.getBaseValue("string")}]),sender:J})]),F=W?0:R.createAccountFee,p=M({feePerUnit:R.bandwidthFee,requiredBandwidth:j5,resources:N.bandwidth}),V=Math.max(0,N.energy.total-N.energy.used),h=O>V?(O-V)*R.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:F+p+h})}async function q({assetValue:U,recipient:B,sender:J}){let D=await t();try{let R=J?J:D?await C():void 0;if(!R)return U.isGasAsset?E.AssetValue.from({chain:E.Chain.Tron,value:0.1}):E.AssetValue.from({chain:E.Chain.Tron,value:15});return U.isGasAsset?l({recipient:B,senderAddress:R}):w({assetValue:U,recipient:B,senderAddress:R})}catch(R){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${R instanceof Error?R.message:R}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:R})}}async function G({recipient:U,assetValue:B,memo:J,sender:D,expiration:R}){if(!Kn(U)||!Kn(D))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(B.isGasAsset){let N=await qH({amount:B.getBaseValue("number"),from:D,to:U});return BH({expiration:R,memo:J,transaction:N})}let W=B.address;if(!W)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:B.toString()});return _({contractAddress:W,expiration:R,functionSelector:"transfer(address,uint256)",memo:J,parameter:ty([{type:"address",value:U},{type:"uint256",value:B.getBaseValue("string")}]),sender:D})}async function Q(U){Ty(U);let B=await t();if(!B)throw new E.SwapKitError("toolbox_tron_no_signer");return B.signTransaction(U)}async function z(U){let B=await Q(U);return Vy(B)}function L({assetAddress:U,spenderAddress:B,from:J}){return XH({assetAddress:U,owner:J,spender:B})}async function Y({assetAddress:U,spenderAddress:B,from:J,amount:D}){let R=await L({assetAddress:U,from:J,spenderAddress:B});if(!D)return R>0n;return R>=BigInt(D)}async function Z({assetAddress:U,spenderAddress:B,amount:J,from:D}){if(!Kn(U)||!Kn(B))throw new E.SwapKitError("toolbox_tron_approve_failed");let R=await t();if(!R)throw new E.SwapKitError("toolbox_tron_no_signer");let W=D||await C(),N=J!==void 0?BigInt(J).toString():c5;try{let O=await _({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:ty([{type:"address",value:B},{type:"uint256",value:N}]),sender:W}),F=await R.signTransaction(O),p=await Vy(F);if(!p)throw new E.SwapKitError("toolbox_tron_approve_failed");return p}catch(O){if(O instanceof E.SwapKitError)throw O;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:O})}}return{approve:Z,broadcastTransaction:Vy,createTransaction:G,estimateTransactionFee:q,getAddress:C,getApprovedAmount:L,getBalance:A,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:Y,signAndBroadcastTransaction:z,signTransaction:Q,transfer:X,validateAddress:Kn}}var MH,LH,QH,E,Hy,ZH,V5=268,K5=65000,j5=345,f0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",c5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var zH=u(()=>{e1();WH();et();MH=require("@noble/hashes/utils.js"),LH=require("@scure/bip32"),QH=require("@scure/bip39"),E=require("@swapkit/helpers"),Hy=require("ts-pattern"),ZH=Kn});var T0={};Bn(T0,{validateTronAddress:()=>ZH,getTronToolbox:()=>NH,getTronPrivateKeyFromMnemonic:()=>YH});module.exports=Zn(T0);var t0=u(()=>{zH()});function fT(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return h5.test(n)}async function m5(n){if(!fT(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function DH(n={}){let y,T=n.derivationPath||e.NetworkDerivationPath[e.Chain.Stellar],o=e.derivationPathToString(T.slice(0,3));async function f({phrase:G,path:Q}){let{HDKey:z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:Y}=await import("@stellar/stellar-sdk"),Z=L(G),B=z.fromMasterSeed(Z).derive(Q,!0);return Y.fromRawEd25519Seed(Buffer.from(B.privateKey))}async function t(){if(y)return y;let G=yT.match(n).with({phrase:yT.P.string},({phrase:Q})=>Q).otherwise(()=>{return});if(!G)throw new e.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:G}),y}async function C(){let{Horizon:G}=await import("@stellar/stellar-sdk"),Q=await e.getRPCUrl(e.Chain.Stellar);return new G.Server(Q)}async function H(){try{return(await t()).publicKey()}catch{return""}}async function _(G){let Q=G||await H();if(!Q)throw new e.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Q)).balances.map((Y)=>{if(Y.asset_type==="native")return e.AssetValue.from({chain:e.Chain.Stellar,value:Y.balance});let Z="asset_code"in Y?Y.asset_code:"",U="asset_issuer"in Y?Y.asset_issuer:"";return e.AssetValue.from({asset:`${e.Chain.Stellar}.${Z}-${U}`,asyncTokenLookup:!1,value:Y.balance})})}catch{return[e.AssetValue.from({chain:e.Chain.Stellar,value:0})]}}async function A({recipient:G,assetValue:Q,memo:z,sender:L}){if(z){if(new TextEncoder().encode(z).length>28)throw new e.SwapKitError("helpers_invalid_memo_type")}if(!await m5(G))throw new e.SwapKitError("core_transaction_invalid_recipient_address");let Z=L||await H();if(!Z)throw new e.SwapKitError("toolbox_stellar_no_signer");let{Asset:U,Memo:B,Networks:J,Operation:D,TransactionBuilder:R}=await import("@stellar/stellar-sdk"),W=await C(),N=await W.fetchBaseFee(),O=await W.loadAccount(Z),F=new R(O,{fee:String(N),networkPassphrase:J.PUBLIC});if(Q.isGasAsset)try{await W.loadAccount(G),F.addOperation(D.payment({amount:Q.getValue("string"),asset:U.native(),destination:G}))}catch{F.addOperation(D.createAccount({destination:G,startingBalance:Q.getValue("string")}))}else F.addOperation(D.payment({amount:Q.getValue("string"),asset:new U(Q.symbol,Q.address),destination:G}));if(z)F.addMemo(B.text(z));return F.setTimeout(30).build()}async function X(G){let{TransactionBuilder:Q,Networks:z}=await import("@stellar/stellar-sdk"),L=await t(),Y=Q.fromXDR(G.toXDR(),z.PUBLIC);return Y.sign(L),Y}async function M(G){try{let Q=await C(),{hash:z}=await Q.submitTransaction(G);return z}catch(Q){throw new e.SwapKitError("toolbox_stellar_broadcast_error",Q)}}async function l({recipient:G,assetValue:Q,memo:z}){let L=await t(),Y=L.publicKey(),Z=await A({assetValue:Q,memo:z,recipient:G,sender:Y});Z.sign(L);try{return(await(await C()).submitTransaction(Z)).hash}catch(U){if(U instanceof e.SwapKitError)throw U;throw new e.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function w(G){let Q=await X(G);return M(Q)}async function q(){let{baseDecimal:G}=e.getChainConfig(e.Chain.Stellar);try{let L=(await(await C()).feeStats()).fee_charged.p50;return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:G,value:L})}catch{return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:G,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:q,getAddress:H,getBalance:_,signAndBroadcastTransaction:w,signTransaction:X,transfer:l,validateAddress:fT}}var e,yT,h5;var OH=u(()=>{e=require("@swapkit/helpers"),yT=require("ts-pattern"),h5=/^G[A-Z2-7]{55}$/});var TT={};Bn(TT,{validateStellarAddress:()=>fT,getStellarToolbox:()=>DH});module.exports=Zn(TT);var tT=u(()=>{OH()});var d5={};Bn(d5,{getToolbox:()=>C0,getFeeEstimator:()=>g5,getAddressValidator:()=>r5});module.exports=Zn(d5);var $=require("@swapkit/helpers");async function r5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (jy(),Ky)),{validateEVMAddress:T}=await Promise.resolve().then(() => (ST(),v0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (PT(),uT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Wf(),Xf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (yt(),ot)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (Ht(),Ct)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Nf(),Yf)),{validateSuiAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{validateTonAddress:A}=await Promise.resolve().then(() => (xf(),Rf)),{getUTXOAddressValidator:X}=await Promise.resolve().then(() => (xt(),Rt)),{validateNearAddress:M}=await Promise.resolve().then(() => (ct(),jt)),{validateRadixAddress:l}=await Promise.resolve().then(() => (ht(),it)),{validateRippleAddress:w}=await Promise.resolve().then(() => (rt(),mt)),{validateTronAddress:q}=await Promise.resolve().then(() => (t0(),T0)),{validateStellarAddress:G}=await Promise.resolve().then(() => (tT(),TT));return function({address:z,chain:L}){return n(L).with(...$.EVMChains,()=>T(z)).with(...$.UTXOChains,(Z)=>{return X(Z)(z)}).with(...$.CosmosChains,(Z)=>{return f(Z)(z)}).with($.Chain.Aptos,()=>y(z)).with($.Chain.Radix,()=>l(z)).with($.Chain.HyperCore,()=>t(z)).with($.Chain.Near,()=>M(z)).with($.Chain.Ripple,()=>w(z)).with($.Chain.Solana,()=>C(z)).with($.Chain.Stellar,()=>G(z)).with($.Chain.Starknet,()=>H(z)).with($.Chain.Sui,()=>_(z)).with($.Chain.Ton,()=>A(z)).with($.Chain.Tron,()=>q(z)).with($.Chain.Cardano,()=>o(z)).otherwise(()=>!1)}}function g5(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let t=await C0(f),C=await t.createTransaction(T),H="feeOptionKey"in T?T.feeOptionKey:$.FeeOption.Fast;return t.estimateTransactionFee({...C,feeOption:H})}).with($.Chain.Bitcoin,$.Chain.BitcoinCash,$.Chain.Dogecoin,$.Chain.Dash,$.Chain.Litecoin,$.Chain.Solana,$.Chain.Ripple,$.Chain.Tron,$.Chain.Near,$.Chain.Cardano,$.Chain.HyperCore,async(f)=>{return(await C0(f)).estimateTransactionFee(T)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (jy(),Ky));return f().estimateTransactionFee(T)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Nf(),Yf));return(await f()).estimateTransactionFee(T)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (tT(),TT));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(T)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (xf(),Rf));return f().estimateTransactionFee(T)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Wf(),Xf));return f(T)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function C0(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (FT(),$0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (xt(),Rt));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Wf(),Xf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (jy(),Ky));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (yt(),ot));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (ht(),it));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (rt(),mt));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (Ht(),Ct));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (tT(),TT));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Nf(),Yf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (t0(),T0));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (ct(),jt));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (PT(),uT));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (xf(),Rf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}