@swapkit/toolboxes 4.28.2 → 4.28.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/src/hypercore/index.cjs +1 -1
- package/dist/src/hypercore/index.js +1 -1
- package/dist/src/index.cjs +1 -1
- package/package.json +2 -2
package/dist/src/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var aX=Object.create;var{getPrototypeOf:sX,defineProperty:F1,getOwnPropertyNames:GT,getOwnPropertyDescriptor:eX}=Object,LT=Object.prototype.hasOwnProperty;function MT(y){return this[y]}var y9,f9,_T=(y,T,H)=>{var f=y!=null&&typeof y==="object";if(f){var X=T?y9??=new WeakMap:f9??=new WeakMap,Q=X.get(y);if(Q)return Q}H=y!=null?aX(sX(y)):{};let q=T||!y||!y.__esModule?F1(H,"default",{value:y,enumerable:!0}):H;for(let Z of GT(y))if(!LT.call(q,Z))F1(q,Z,{get:MT.bind(y,Z),enumerable:!0});if(f)X.set(y,q);return q},V0=(y)=>{var T=(zT??=new WeakMap).get(y),H;if(T)return T;if(T=F1({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of GT(y))if(!LT.call(T,f))F1(T,f,{get:MT.bind(y,f),enumerable:!(H=eX(y,f))||H.enumerable})}return zT.set(y,T),T},zT;var T9=(y)=>y;function H9(y,T){this[y]=T9.bind(null,T)}var P0=(y,T)=>{for(var H in T)F1(y,H,{get:T[H],enumerable:!0,configurable:!0,set:H9.bind(T,H)})};var l=(y,T)=>()=>(y&&(T=y(y=0)),T);function sf(y,T){if(!m0(y))return[];let H=m0(y.transaction)?y.transaction:y,f=H.execution,X=m0(H.fee)?H.fee.transition:void 0;return[...m0(f)&&Array.isArray(f.transitions)?f.transitions:[],...m0(X)?[X]:[]].flatMap((q)=>{if(!m0(q)||!Array.isArray(q.outputs))return[];if(T&&q.program!==T)return[];return q.outputs.flatMap((Z)=>m0(Z)&&Z.type==="record"&&typeof Z.value==="string"?[Z.value]:[])})}function ef(y){return y.reduce((T,H)=>H.spent?T:T+H.microcredits,0n)}function g0(y,T){return T instanceof D0.SwapKitError&&T.errorKey.startsWith("toolbox_aleo_")?T:new D0.SwapKitError(y,T)}function X9(...y){let T=y.reduce((X,Q)=>X+Q.length,0),H=new Uint8Array(T),f=0;for(let X of y)H.set(X,f),f+=X.length;return H}function Q9(y){let T=new Uint8Array(4);return new DataView(T.buffer).setUint32(0,y,!1),T}function CT(y){let T=df.hmac(tf.sha512,NT,y);return{chainCode:T.slice(32),key:T.slice(0,32)}}function kT(y,T){if(!Number.isSafeInteger(T)||T<0||T>=cf)throw new D0.SwapKitError("toolbox_aleo_wasm_init_failed",{index:T});let H=T+cf,f=X9(Uint8Array.of(0),y.key,Q9(H)),X=df.hmac(tf.sha512,y.chainCode,f);return{chainCode:X.slice(32),key:X.slice(0,32)}}function y8(y,T){let H=y.split("/");if(H.shift()!=="m"||H.length===0)throw new D0.SwapKitError("toolbox_aleo_wasm_init_failed",{path:y});return H.reduce((f,X)=>{if(!/^\d+'$/.test(X))throw new D0.SwapKitError("toolbox_aleo_wasm_init_failed",{path:y,segment:X});return kT(f,Number.parseInt(X.slice(0,-1),10))},CT(T))}function x1(y){return typeof y==="string"&&OT.test(y)}async function f8(y){if(!x1(y))return!1;try{let{Account:T}=await import("@provablehq/sdk/mainnet.js");return T.isValidAddress(y)}catch{return!1}}function BT(y){return $T.test(y)}function T8(y,T){if(y===null)return 0n;if(typeof y!=="string")throw new D0.SwapKitError("toolbox_aleo_balance_error",{integerType:T,value:y});let H=y.match(new RegExp(`^(\\d+)${T}$`));if(!H?.[1])throw new D0.SwapKitError("toolbox_aleo_balance_error",{integerType:T,value:y});return BigInt(H[1])}function M5(y){if(y.chain!==D0.Chain.Aleo)throw new D0.SwapKitError("toolbox_aleo_unsupported_token",{asset:y.toString()});let T=y.getBaseValue("bigint");if(y.isGasAsset)return{amount:`${T}u64`,functionName:G5,isTokenTransfer:!1,programName:My};if(!y.address||!BT(y.address))throw new D0.SwapKitError("toolbox_aleo_unsupported_token",{asset:y.toString()});return{amount:`${T}u128`,functionName:G5,isTokenTransfer:!0,programName:y.address}}function _y(){let y=[...new Set([...D0.SKConfig.get("rpcUrls")[D0.Chain.Aleo],...D0.getChainConfig(D0.Chain.Aleo).rpcUrls])].filter(Boolean);if(y.length===0)throw new D0.SwapKitError("toolbox_aleo_no_rpc_urls");return y}function _5(y){if(typeof y==="object"&&y!==null&&"status"in y&&y.status===404)return!0;return y instanceof Error&&y.message.includes("404")}function m0(y){return typeof y==="object"&&y!==null}function DT(y){if(!m0(y))return!1;return[y.transaction,y.rejected].some((T)=>{if(!m0(T)||!m0(T.execution))return!1;let{transitions:H}=T.execution;return Array.isArray(H)&&H.some((f)=>m0(f)&&f.function===G5&&typeof f.program==="string"&&f.program!==My)})}function FT(y,T){if(!m0(y)||typeof y.status!=="string")throw new D0.SwapKitError("toolbox_aleo_transaction_failed",{response:y,transactionId:T});let H=y.status.toLowerCase();if(H==="rejected"){let f=DT(y)?"toolbox_aleo_token_transfer_rejected":"toolbox_aleo_transaction_failed";throw new D0.SwapKitError(f,{transactionId:T})}return H==="accepted"?"accepted":"pending"}async function RT(y){if(!R1.test(y))throw new D0.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:y});let T,H=!0;for(let f of _y())try{let{AleoNetworkClient:X}=await import("@provablehq/sdk/mainnet.js"),Q=await new X(f).getConfirmedTransaction(y);return FT(Q,y)}catch(X){if(X instanceof D0.SwapKitError)throw X;T=X,H=H&&_5(X)}if(H)return"pending";throw g0("toolbox_aleo_transaction_failed",T)}async function O5(y,{intervalMs:T=5000,timeoutMs:H=60000}={}){let f=Date.now();while(Date.now()-f<H){let X=await RT(y);if(X==="accepted")return X;await new Promise((Q)=>setTimeout(Q,T))}throw new D0.SwapKitError("toolbox_aleo_transaction_failed",{reason:"confirmation_timeout",transactionId:y})}var df,tf,D0,OT,$T,R1,NT,cf=2147483648,L5=1e6,My="credits.aleo",G5="transfer_public",rf=1e6,af=2000000;var H8=l(()=>{df=require("@noble/hashes/hmac.js"),tf=require("@noble/hashes/sha2.js"),D0=require("@swapkit/helpers"),OT=/^aleo1[ac-hj-np-z02-9]{58}$/,$T=/^[a-z0-9_]+\.aleo$/,R1=/^at1[ac-hj-np-z02-9]+$/,NT=new TextEncoder().encode("bls12_377 seed")});function IT(){function y(){let T=Date.now(),H=X8||T;return X8=H,T>X8?T:H+1}return q9+y().toString(36)}function w0(y){return async function(H,f=!0){let X=await xT.SwapKitApi.getChainBalance({address:H,chain:y,scamFilter:f}),{baseDecimal:Q}=I1.getChainConfig(y),q=X.map(({identifier:Y,value:W,decimal:z})=>{return new I1.AssetValue({decimal:z||Q,identifier:Y,value:W})});if(!q.some((Y)=>Y.isGasAsset))return[I1.AssetValue.from({chain:y}),...q];return q}}var I1,xT,q9,X8=0;var Hy=l(()=>{I1=require("@swapkit/helpers"),xT=require("@swapkit/helpers/api"),q9=typeof process<"u"&&process.pid?process.pid.toString(36):""});async function jT(y,T){try{let{Account:H}=await import("@provablehq/sdk/mainnet.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),X=Z0.derivationPathToString(T||Z0.NetworkDerivationPath[Z0.Chain.Aleo],{allHardened:!0}),{key:Q}=y8(X,f(y));return new H({seed:Q})}catch(H){throw g0("toolbox_aleo_wasm_init_failed",H)}}function PT(y,T){let H,f=()=>{return H??=jT(y,T),H};return{getAddress:async()=>(await f()).address().to_string(),signTransaction:async(X)=>{let Q=await f();if(X.sender!==Q.address().to_string())throw new Z0.SwapKitError("toolbox_aleo_invalid_address",{address:X.sender});let q;for(let Z of _y())try{let{ProgramManager:Y}=await import("@provablehq/sdk/mainnet.js"),W=new Y(Z);return W.setAccount(Q),await W.buildExecutionTransaction({functionName:X.functionName,inputs:X.inputs,priorityFee:X.priorityFee/L5,privateFee:!1,programName:X.programName})}catch(Y){q=Y}throw q}}}function KT(y={}){if("phrase"in y&&y.phrase&&"signer"in y&&y.signer)throw new Z0.SwapKitError("toolbox_aleo_conflicting_signers");let T;async function H(){if(T)return T;let J="phrase"in y?y.phrase:void 0;if(!J)throw new Z0.SwapKitError("toolbox_aleo_no_signer");let U="derivationPath"in y?y.derivationPath:void 0;return T=await jT(J,U),T}let f;function X(){let J="signer"in y?y.signer:void 0;if(J)return J;let U="phrase"in y?y.phrase:void 0;if(!U)throw new Z0.SwapKitError("toolbox_aleo_no_signer");return f??=PT(U,"derivationPath"in y?y.derivationPath:void 0),f}async function Q(J){let U;for(let G of _y())try{let{AleoNetworkClient:C}=await import("@provablehq/sdk/mainnet.js");return await J(new C(G))}catch(C){U=C}throw U}async function q(J){let U;for(let G of _y())try{let{AleoNetworkClient:C}=await import("@provablehq/sdk/mainnet.js");return await new C(G).getTransitionId(J),!0}catch(C){if(_5(C))return!1;U=C}throw U}async function Z(){let J=X();try{return await J.getAddress()}catch(U){throw g0("toolbox_aleo_wasm_init_failed",U)}}async function Y(J){let U=await Q((G)=>G.getProgramMappingValue(My,"account",J));return T8(U,"u64")}async function W(J){try{let U=await Y(J);return[Z0.AssetValue.from({chain:Z0.Chain.Aleo,fromBaseDecimal:6,value:U})]}catch(U){throw g0("toolbox_aleo_balance_error",U)}}let z=w0(Z0.Chain.Aleo);async function k(J,U=!0){try{return await z(J,U)}catch{return W(J)}}async function _(){return k(await Z())}async function M({transactionIds:J}){try{let U=await H(),G=[];for(let C of J){if(!R1.test(C))throw new Z0.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:C});let F=await Q((x)=>x.getTransaction(C));for(let x of sf(F,My)){if(!U.ownsRecordCiphertext(x))continue;let{RecordPlaintext:A}=await import("@provablehq/sdk/mainnet.js"),w=U.decryptRecord(x).toString(),b=A.fromString(w),a=b.microcredits();if(a===0n)continue;let X0=U.generateRecordViewKey(x).toString(),Y0=b.serialNumberString(U.privateKey(),My,"credits",X0);G.push({microcredits:a,plaintext:w,spent:await q(Y0),transactionId:C})}}return G}catch(U){throw g0("toolbox_aleo_balance_error",U)}}async function $({transactionIds:J}){let U=await M({transactionIds:J});return Z0.AssetValue.from({chain:Z0.Chain.Aleo,fromBaseDecimal:6,value:ef(U)})}async function O(J,U){if(!Number.isSafeInteger(U)||U<=0)throw new Z0.SwapKitError("toolbox_aleo_insufficient_fee_balance",{feeRecordCredits:U});let G=await H();if(!J||J.microcredits<=BigInt(U)*BigInt(L5))throw new Z0.SwapKitError("toolbox_aleo_insufficient_fee_balance",{available:J?.microcredits.toString(),required:`${U} credits fee record`});let{ProgramManager:C,RecordPlaintext:F}=await import("@provablehq/sdk/mainnet.js"),x;for(let A of _y())try{let w=new C(A);return w.setAccount(G),await w.split(U,F.fromString(J.plaintext))}catch(w){x=w}throw x}async function D(J,U,G){let C=await H(),{ProgramManager:F,RecordPlaintext:x}=await import("@provablehq/sdk/mainnet.js"),A;for(let w of _y())try{let b=new F(w);return b.setAccount(C),await b.buildExecutionTransaction({feeRecord:x.fromString(U.plaintext),functionName:"transfer_private_to_public",inputs:[J.plaintext,G,`${J.microcredits}u64`],priorityFee:0,privateFee:!0,programName:My})}catch(b){A=b}throw A}async function R(J,U,G){let C;try{let x=(await H()).address().to_string(),A=J.filter((Y0)=>!Y0.spent);if(A.length===0)throw new Z0.SwapKitError("toolbox_aleo_no_unspent_records",{transactionId:G});if(A.length===1){if(C=await O(A[0],U),await O5(C),A=(await M({transactionIds:[C]})).filter((Y0)=>!Y0.spent),A.length<2)throw new Z0.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:C})}let w=[...A].sort((Y0,I)=>Y0.microcredits<I.microcredits?-1:1),b=w[0],a=w[w.length-1];if(!b||!a||b===a)throw new Z0.SwapKitError("toolbox_aleo_no_unspent_records",{transactionId:G});let X0=await B(await D(a,b,x));return await O5(X0),{publicBalance:Z0.AssetValue.from({chain:Z0.Chain.Aleo,fromBaseDecimal:6,value:await Y(x)}),splitTransactionId:C,unshieldTransactionId:X0}}catch(F){if(C)throw new Z0.SwapKitError("toolbox_aleo_transaction_failed",{error:F,splitTransactionId:C});throw g0("toolbox_aleo_transaction_failed",F)}}async function P(J){try{if("records"in J&&J.records)return await R(J.records,J.feeRecordCredits??4);let U=await M({transactionIds:[J.transactionId]});return await R(U,J.feeRecordCredits??4,J.transactionId)}catch(U){throw g0("toolbox_aleo_transaction_failed",U)}}function E({assetValue:J,priorityFee:U=0}){try{if(!Number.isSafeInteger(U)||U<0)throw new Z0.SwapKitError("toolbox_aleo_fee_estimation_failed",{priorityFee:U});let C=M5(J).isTokenTransfer?af:rf;return Z0.AssetValue.from({chain:Z0.Chain.Aleo,fromBaseDecimal:6,value:BigInt(C)+BigInt(U)})}catch(G){throw g0("toolbox_aleo_fee_estimation_failed",G)}}async function j({assetValue:J,priorityFee:U=0,recipient:G,sender:C}){if(!await f8(G))throw new Z0.SwapKitError("toolbox_aleo_invalid_address",{address:G});let F=C||await Z();if(!x1(F))throw new Z0.SwapKitError("toolbox_aleo_invalid_address",{address:F});let x=M5(J),A=await E({assetValue:J,priorityFee:U,recipient:G});try{let w=await Y(F);if(Z0.AssetValue.from({chain:Z0.Chain.Aleo,fromBaseDecimal:6,value:w}).lt(A))throw new Z0.SwapKitError("toolbox_aleo_insufficient_fee_balance",{available:w.toString(),required:A.getBaseValue("string")});return{functionName:x.functionName,inputs:[G,x.amount],priorityFee:U,programName:x.programName,sender:F}}catch(w){throw g0("toolbox_aleo_transaction_failed",w)}}async function K(J){try{return await X().signTransaction(J)}catch(U){throw g0("toolbox_aleo_transaction_failed",U)}}async function N(J){return B(await K(J))}async function B(J){try{let U=typeof J==="string"?J:J.toString(),G=await Q((C)=>C.submitTransaction(U));if(!R1.test(G))throw new Z0.SwapKitError("toolbox_aleo_broadcast_error",{transactionId:G});return G}catch(U){throw g0("toolbox_aleo_broadcast_error",U)}}async function L(J){let U=await j({...J,sender:await Z()});return N(U)}return{broadcastTransaction:B,createSigner:PT,createTransaction:j,estimateTransactionFee:E,getAddress:Z,getBalance:z,getBalanceFromRpc:W,getBalances:_,getBalanceWithFallback:k,getRecords:M,getShieldedBalance:$,signAndBroadcastTransaction:N,signTransaction:K,transfer:L,unshield:P,validateAddress:x1}}var Z0;var ST=l(()=>{Hy();H8();Z0=require("@swapkit/helpers")});var $5={};P0($5,{waitForAleoTransaction:()=>O5,validateAleoProgramId:()=>BT,validateAleoAddressWithChecksum:()=>f8,validateAleoAddress:()=>x1,sumUnspentRecords:()=>ef,parseAleoTransactionStatus:()=>FT,parseAleoMappingValue:()=>T8,isRecord:()=>m0,isNotFoundError:()=>_5,isAleoTokenTransferResponse:()=>DT,getConfiguredAleoUrls:()=>_y,getAleoTransferRoute:()=>M5,getAleoTransactionStatus:()=>RT,getAleoToolbox:()=>KT,getAleoMasterSeed:()=>CT,getAleoError:()=>g0,extractAleoRecordCiphertexts:()=>sf,deriveAleoPath:()=>y8,deriveAleoChildKey:()=>kT,TRANSFER_PUBLIC_FUNCTION:()=>G5,NATIVE_PROGRAM_ID:()=>My,MICRO_CREDITS_PER_CREDIT:()=>L5,HARDENED_OFFSET:()=>cf,ALEO_TRANSFER_PUBLIC_FEE:()=>rf,ALEO_TRANSACTION_ID_REGEX:()=>R1,ALEO_TOKEN_TRANSFER_PUBLIC_FEE:()=>af,ALEO_PROGRAM_ID_REGEX:()=>$T,ALEO_HD_KEY:()=>NT,ALEO_ADDRESS_REGEX:()=>OT});module.exports=V0($5);var N5=l(()=>{ST();H8()});function ey(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let T=y.slice(2);if(T.length===0||T.length>64)return!1;return U9.test(T)}function VT(y,T,H){if(y<=0n)throw new t.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amount:y.toString(),asset:T.toString(),...H}});return y}async function Y9({aptos:y,assetValue:T,senderAddress:H}){let f=T.address;if(!f)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");let[X]=await y.getCurrentFungibleAssetBalances({options:{limit:1,where:{asset_type:{_eq:f},is_primary:{_eq:!0},owner_address:{_eq:H}}}});return VT(BigInt(X?.amount??0),T)}function AT({derivationPath:y,provider:T,...H}={}){let f,X=t.derivationPathToString(y||t.NetworkDerivationPath[t.Chain.Aptos],{allHardened:!0});async function Q(){if(f)return f;return f=await Vy.match(H).with({phrase:Vy.P.string},async({phrase:O})=>{let{Ed25519Account:D}=await import("@aptos-labs/ts-sdk");return D.fromDerivationPath({mnemonic:O,path:X})}).with({signer:Vy.P.any},({signer:O})=>O).otherwise(()=>{return}),f}async function q(){let{Aptos:O,AptosConfig:D,Network:R}=await import("@aptos-labs/ts-sdk"),P=new D({clientConfig:{http2:!1},fullnode:T||t.getRPCUrlSync(t.Chain.Aptos),network:R.MAINNET});return new O(P)}async function Z(){return(await Q())?.accountAddress.toString()||""}async function Y(O){let D=O||await Z();if(!D)throw new t.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:R,chain:P}=t.getChainConfig(t.Chain.Aptos);try{let E=await q(),j=await E.getAccountAPTAmount({accountAddress:D}),K=[t.AssetValue.from({chain:P,fromBaseDecimal:R,value:j.toString()})],N=await E.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:D}}}});for(let B of N){if(B.asset_type===Sy.COIN_TYPE||Number(B.amount)<=0)continue;let L=B.asset_type;if(L){let U=("metadata"in B&&typeof B.metadata==="object"&&B.metadata!==null?B.metadata:void 0)?.decimals??R;K.push(t.AssetValue.from({asset:`${t.Chain.Aptos}.APT-${L}`,fromBaseDecimal:U,value:String(B.amount)}))}}return K}catch{return[t.AssetValue.from({chain:P})]}}async function W(O){if(!O){let{baseDecimal:K}=t.getChainConfig(t.Chain.Aptos),N=T||t.getRPCUrlSync(t.Chain.Aptos),B=await fetch(`${N}/estimate_gas_price`),{gas_estimate:L}=await B.json();return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:K,value:String(L)})}let D=await z(O),R=await q(),[P]=await R.transaction.simulate.simple({transaction:D});if(!P)throw new t.SwapKitError("toolbox_aptos_transaction_creation_error");let E=BigInt(P.gas_used)*BigInt(P.gas_unit_price),{baseDecimal:j}=t.getChainConfig(t.Chain.Aptos);return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:j,value:E.toString()})}async function z({recipient:O,assetValue:D,maxGasAmount:R,sender:P,sweep:E}){if(!ey(O))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let j=P||await Z();if(!j)throw new t.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:K}=await import("@aptos-labs/ts-sdk"),N=await q(),B=K.from(j);try{let L=D.isGasAsset?Sy.TRANSFER:Sy.FUNGIBLE_STORE_TRANSFER,J=D.address,U=(a,X0)=>{let Y0=Vy.match({address:J,isGasAsset:D.isGasAsset}).with({isGasAsset:!0},()=>[K.from(O),a]).with({address:Vy.P.string},({address:V})=>[K.from(V),K.from(O),a]).otherwise(()=>null);if(!Y0)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");let I=X0?.maxGasAmount??R;return N.transaction.build.simple({data:{function:L,functionArguments:Y0,typeArguments:D.isGasAsset?[]:[Sy.FUNGIBLE_ASSET_METADATA]},options:I!==void 0||X0?.gasUnitPrice!==void 0?{gasUnitPrice:X0?.gasUnitPrice,maxGasAmount:I}:void 0,sender:B})};if(!E)return U(D.getBaseValue("bigint"));if(!D.isGasAsset){let a=await Y9({aptos:N,assetValue:D,senderAddress:j});return U(a)}let G=BigInt(await N.getAccountAPTAmount({accountAddress:j})),C=await U(1n,{maxGasAmount:R??Z9}),[F]=await N.transaction.simulate.simple({options:{estimateMaxGasAmount:R===void 0},transaction:C});if(!F)throw new t.SwapKitError("toolbox_aptos_transaction_creation_error");if(!F.success)throw new t.SwapKitError({errorKey:"toolbox_aptos_transaction_creation_error",info:{vmStatus:F.vm_status}});let x=BigInt(F.gas_used),A=x>0n?(x*6n+4n)/5n:1n,w=A*BigInt(F.gas_unit_price),b=VT(G-w,D,{balance:G.toString(),fee:w.toString()});return U(b,{gasUnitPrice:Number(F.gas_unit_price),maxGasAmount:Number(A)})}catch(L){if(L instanceof t.SwapKitError)throw L;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",L)}}async function k(O){let D=await Q();if(!D)throw new t.SwapKitError("toolbox_aptos_no_signer");return(await q()).transaction.sign({signer:D,transaction:O})}async function _({assetValue:O,maxGasAmount:D,recipient:R,sweep:P}){let E=await Q();if(!E)throw new t.SwapKitError("toolbox_aptos_no_signer");if(!ey(R))throw new t.SwapKitError("core_transaction_invalid_recipient_address");try{let j=E.accountAddress.toString(),K=await z({assetValue:O,maxGasAmount:D,recipient:R,sender:j,sweep:P});return(await(await q()).signAndSubmitTransaction({signer:E,transaction:K})).hash}catch(j){if(j instanceof t.SwapKitError)throw j;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",j)}}async function M({senderAuthenticator:O,transaction:D}){try{return(await(await q()).transaction.submit.simple({senderAuthenticator:O,transaction:D})).hash}catch(R){throw new t.SwapKitError("toolbox_aptos_broadcast_error",R)}}async function $(O){let D=await k(O);return M({senderAuthenticator:D,transaction:O})}return{broadcastTransaction:M,createTransaction:z,estimateTransactionFee:W,getAddress:Z,getBalance:Y,signAndBroadcastTransaction:$,signTransaction:k,transfer:_,validateAddress:ey}}function wT({provider:y}){return async function({assetValue:H,recipient:f,sweep:X}){if(X)throw new t.SwapKitError({errorKey:"toolbox_not_supported",info:{chain:t.Chain.Aptos,feature:"extension_provider_sweep",reason:"Aptos extension providers cannot query balances or simulate transactions"}});if(!ey(f))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:Q}=await import("@aptos-labs/ts-sdk");if(H.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[Q.from(f).toString(),H.getBaseValue("string")],function:Sy.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let q=H.address;if(!q)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[q,Q.from(f).toString(),H.getBaseValue("string")],function:Sy.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Sy.FUNGIBLE_ASSET_METADATA]})).hash}}var t,Vy,Sy,Z9=2000,U9;var ET=l(()=>{t=require("@swapkit/helpers"),Vy=require("ts-pattern"),Sy={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"},U9=/^[0-9a-fA-F]+$/});var C5={};P0(C5,{validateAptosAddress:()=>ey,getAptosToolbox:()=>AT,createAptosExtensionTransfer:()=>wT});module.exports=V0(C5);var k5=l(()=>{ET()});function P1(y){return{getBalance:w0(y)}}function J9(y){return y}var B5=l(()=>{Hy()});function bT(y){return new o0.JsonRpcProvider(y)}async function W9(y,T){return bT(T||await y0.getRPCUrl(y))}function Y8(y){let T=y0.SKConfig.get("rpcUrls")[y]?.filter(Boolean)??[];if(T.length===0)throw new y0.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:y});let{chainId:H}=y0.getChainConfig(y),f=o0.Network.from(Number(H)),[X]=T;if(T.length===1)return new o0.JsonRpcProvider(X,f,{staticNetwork:f});return new o0.FallbackProvider(T.map((Q,q)=>({priority:q+1,provider:new o0.JsonRpcProvider(Q,f,{staticNetwork:f}),stallTimeout:2000})),f,{quorum:1})}function l0(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function J8(y){let{explorerUrl:T,chainIdHex:H,rpcUrls:f}=y0.getChainConfig(y);return function(){return y!==y0.Chain.Ethereum?{...z9({chain:y}),blockExplorerUrls:[T],chainId:H,rpcUrls:f}:void 0}}function W8(y){return![y0.Chain.Adi,y0.Chain.Arbitrum,y0.Chain.BinanceSmartChain,y0.Chain.Robinhood].includes(y)}function z9({chain:y}){let{name:T,nativeCurrency:H,baseDecimal:f}=y0.getChainConfig(y);return U8.match(y).with(y0.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:y0.Chain.Ethereum}})).with(y0.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:y0.Chain.Ethereum}})).with(y0.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(y0.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:y0.Chain.Ethereum}})).with(y0.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(y0.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(y0.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(y0.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(y0.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:y0.Chain.Ethereum}})).with(y0.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:y0.Chain.Polygon}})).with(y0.Chain.Robinhood,()=>({chainName:"Robinhood Chain",nativeCurrency:{decimals:f,name:"Ethereum",symbol:y0.Chain.Ethereum}})).otherwise(()=>({chainName:T,nativeCurrency:{decimals:f,name:H,symbol:H}}))}async function z8(y,T){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let H={...T,nonce:T.nonce!==void 0?BigInt(T.nonce):void 0};return await y.authorize(H)}function hT(y,T){let H=T!==void 0?`index ${T}: `:"",f=(X,Q)=>{throw new y0.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:X,message:`${H}${Q}`}})};U8.match(y).when(({chainId:X})=>typeof X!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:X})=>!G9(X),()=>f("address","address must be a valid checksummed address")).when(({nonce:X})=>typeof X!=="bigint"||X<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:X})=>!X,()=>f("signature","signature is required")).when(({signature:X})=>typeof X?.yParity!=="number"||![0,1].includes(X.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:X})=>!vT(X?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:X})=>!vT(X?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function lT(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:T})=>y[T]!=null).map(({key:T,type:H})=>({name:T,type:H}))}function Q8(y){return y.charAt(0).toUpperCase()+y.slice(1)}function q8(y,T){if(y.isTuple()&&y.components){let H=Q8(y.name);return T[H]=y.components.map((f)=>({name:f.name,type:q8(f,T)})),H}if(y.isArray()){let H=y.arrayChildren;if(H?.isTuple()&&H.components){let f=Q8(y.name.replace(/s$/,""));return T[f]=H.components.map((X)=>({name:X.name,type:q8(X,T)})),`${f}[]`}return`${H?.type??"bytes"}[]`}return y.type}function Z8(y,T){if(typeof y==="bigint")return y;if(T?.isTuple()&&typeof y?.toObject==="function"){let H=y.toObject(),f={};for(let[X,Q]of(T.components??[]).entries())f[Q.name]=Z8(H[Q.name]??y[X],Q);return f}if(Array.isArray(y)){let H=T?.arrayChildren;return y.map((f)=>Z8(f,H??void 0))}return y}function L9({chain:y,abi:T,data:H,to:f}){let Q=new o0.Interface(T).parseTransaction({data:H});if(!Q)throw new y0.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let q={},Z=Q8(Q.name);q[Z]=Q.fragment.inputs.map((_)=>({name:_.name,type:q8(_,q)}));let Y={};for(let[_,M]of Q.fragment.inputs.entries())Y[M.name]=Z8(Q.args[_],M);let{chainId:W}=y0.getChainConfig(y),z={chainId:Number(W),verifyingContract:o0.getAddress(f)},k=lT(z);return{domain:z,message:Y,primaryType:Z,types:{EIP712Domain:k,...q}}}function G8(y,T){if(!Array.isArray(y)||y.length===0)throw new y0.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[H,f]of y.entries())if(hT(f,H),T!==void 0&&f.chainId!==T)throw new y0.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${H}: authorization chainId (${f.chainId}) does not match transaction chainId (${T})`}})}var y0,o0,U8,vT=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),G9=(y)=>{try{return typeof y==="string"&&!!o0.getAddress(y)}catch{return!1}};var j1=l(()=>{y0=require("@swapkit/helpers"),o0=require("ethers"),U8=require("ts-pattern")});var uT;var pT=l(()=>{uT=[{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 y1({chain:y=S.Chain.Ethereum,provider:T,signer:H,isEIP1559Compatible:f=!0,estimateGasPrices:X,estimateAdditionalFee:Q}){let q=X??vy({chain:y,isEIP1559Compatible:f,provider:T}),Z=dT({chain:y,estimateAdditionalFee:Q,estimateGasPrices:q,isEIP1559Compatible:f,provider:T,signer:H});return{approve:N9({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),approvedAmount:oT({chain:y,provider:T}),broadcastTransaction:T.broadcastTransaction,call:D5({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),createApprovalTx:K9({chain:y,provider:T,signer:H}),createContract:_8({chain:y,provider:T}),createContractTxObject:Ey({chain:y,provider:T}),createTransaction:Z,createTransferTx:Z,EIP1193SendTransaction:T1(T),estimateCall:nT({provider:T,signer:H}),estimateGasLimit:k9({chain:y,provider:T,signer:H}),estimateGasPrices:q,estimateTransactionFee:S9({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return H?H.getAddress():void 0},getBalance:P1(y).getBalance,getNetworkParams:J8(y),isApproved:$9({chain:y,provider:T}),sendTransaction:cT({chain:y,estimateGasPrices:q,isEIP1559Compatible:f,provider:T,signer:H}),signAuthorization:B9({signer:H}),signMessage:H?(Y)=>H.signMessage(Y):void 0,signTypedData:H?({domain:Y,types:W,value:z})=>H.signTypedData(Y,W,z):void 0,transfer:C9({chain:y,estimateAdditionalFee:Q,estimateGasPrices:q,isEIP1559Compatible:f,provider:T,signer:H}),validateAddress:S1}}function S1(y){try{return b0.getAddress(y),!0}catch{return!1}}function f1(y){return y instanceof b0.BrowserProvider}function V1(y,T,H){return new b0.Contract(y,b0.Interface.from(T),H)}function _8({provider:y}){return function(H,f){return new b0.Contract(H,b0.Interface.from(f),y)}}function O8({abi:y,funcName:T}){let H=y.find((f)=>f.name===T);if(!H)throw new S.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:T});return H.stateMutability&&M9.includes(H.stateMutability)}function mT(y){return b0.getAddress(y)}function T1(y,T=!1){return function({value:f,...X}){if(!f1(y))throw new S.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let Q={...X,gasPrice:"gasPrice"in X?X.gasPrice:void 0,maxFeePerGas:"maxFeePerGas"in X?X.maxFeePerGas:void 0,maxPriorityFeePerGas:"maxPriorityFeePerGas"in X?X.maxPriorityFeePerGas:void 0},{gasLimit:q,gasPrice:Z,maxFeePerGas:Y,maxPriorityFeePerGas:W,...z}=Q,k={...z,...T&&q!==void 0&&{gas:l0(BigInt(q))},...T&&Z!==void 0&&{gasPrice:l0(BigInt(Z))},...T&&Y!==void 0&&{maxFeePerGas:l0(BigInt(Y))},...T&&W!==void 0&&{maxPriorityFeePerGas:l0(BigInt(W))},value:l0(BigInt(f||0))};return y.send("eth_sendTransaction",[k])}}function gT(y,T){let H=A1(y,T);if(H)return b0.getAddress(H.toLowerCase());throw new S.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function A1({chain:y,symbol:T,ticker:H},f){try{let X=y===S.Chain.BinanceSmartChain&&T==="BNB"&&H==="BNB",Q=y===S.Chain.Hyperevm&&T==="HYPE"&&H==="HYPE",q=y===f&&T===f&&H===f,Z=O9.includes(y)&&T==="ETH"&&H==="ETH";if(q||X||Q||Z)return $8[f];return b0.getAddress(T.slice(H.length+1).replace(/^0X/,""))}catch{return null}}function Ey({provider:y}){return async({contractAddress:T,abi:H,funcName:f,funcParams:X=[],txOverrides:Q})=>{let q=await V1(T,H,y).getFunction(f).populateTransaction(...X.concat(Q).filter((Z)=>typeof Z<"u"));return{...q,value:l0(BigInt(q.value||0))}}}function vy({chain:y,provider:T,isEIP1559Compatible:H=!0}){return M8.match(y).with(S.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:X,maxPriorityFeePerGas:Q}=await T.getFeeData();if(!X||Q===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(X,S.FeeOption.Average),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(Q,S.FeeOption.Average)},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(X,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(Q,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(X,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(Q,S.FeeOption.Fastest)}}}catch(X){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}}}).with(S.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:X}=await T.getFeeData();if(!X)throw new S.SwapKitError("toolbox_evm_no_fee_data");let Q=X*12n/10n;return{[S.FeeOption.Average]:{gasPrice:Q},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(Q,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(Q,S.FeeOption.Fastest)}}}catch(X){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:X,maxPriorityFeePerGas:Q,gasPrice:q}=await T.getFeeData();if(H){if(X===null||Q===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:X,maxPriorityFeePerGas:Q},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(X,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(Q,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(X,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(Q,S.FeeOption.Fastest)}}}if(!q)throw new S.SwapKitError("toolbox_evm_no_gas_price");return{[S.FeeOption.Average]:{gasPrice:q},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(q,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(q,S.FeeOption.Fastest)}}}catch(X){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}}})}function D5({provider:y,isEIP1559Compatible:T,signer:H,chain:f}){return async function({callProvider:Q,contractAddress:q,abi:Z,funcName:Y,funcParams:W=[],txOverrides:z={},feeOption:k=S.FeeOption.Fast}){let _=Q||y;if(!q)throw new S.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let M=O8({abi:Z,funcName:Y});if(M&&f1(_)&&H){let D=Ey({chain:f,provider:_}),R=z?.from||await H?.getAddress(),P=await D({abi:Z,contractAddress:q,funcName:Y,funcParams:W,txOverrides:{...z,from:R}});return T1(_)(P)}let $=V1(q,Z,_);if(M){if(!H)throw new S.SwapKitError("toolbox_evm_no_signer");let D=z?.from||await H.getAddress();if(!D)throw new S.SwapKitError("toolbox_evm_no_signer_address");let R=$.connect(H),P=vy({chain:f,isEIP1559Compatible:T,provider:y}),{maxFeePerGas:E,maxPriorityFeePerGas:j,gasPrice:K}=(await P())[k],N=await $.getFunction(Y).estimateGas(...W,z),B=await R[Y](...W,{...z,gasLimit:N,gasPrice:K,maxFeePerGas:E,maxPriorityFeePerGas:j,nonce:z?.nonce||await _.getTransactionCount(D)});return typeof B?.hash==="string"?B?.hash:B}let O=await $[Y]?.(...W);return typeof O?.hash==="string"?O?.hash:O}}function oT({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:X,from:Q}){return D5({chain:T,isEIP1559Compatible:!0,provider:y})({abi:wy.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[Q,X]})}}function $9({provider:y,chain:T}){return async function({assetAddress:f,spenderAddress:X,from:Q,amount:q=K1}){let Z=await oT({chain:T,provider:y})({assetAddress:f,from:Q,spenderAddress:X});return S.SwapKitNumber.fromBigInt(Z).gte(S.SwapKitNumber.fromBigInt(BigInt(q)))}}function N9({signer:y,isEIP1559Compatible:T=!0,provider:H,chain:f}){return async function({assetAddress:Q,spenderAddress:q,feeOptionKey:Z=S.FeeOption.Fast,amount:Y,gasLimitFallback:W,from:z,nonce:k}){let _=[q,BigInt(Y||K1)],M=await y?.getAddress()||z,$={abi:wy.erc20ABI,contractAddress:Q,funcName:"approve",funcParams:_,signer:y,txOverrides:{from:M}};if(f1(H)){let D=Ey({chain:f,provider:H}),R=T1(H),P=await D($);return R(P)}return D5({chain:f,isEIP1559Compatible:T,provider:H,signer:y})({...$,feeOption:Z,funcParams:_,txOverrides:{from:M,gasLimit:W?BigInt(W.toString()):void 0,nonce:k}})}}function C9({chain:y,estimateGasPrices:T,estimateAdditionalFee:H,signer:f,isEIP1559Compatible:X=!0,provider:Q}){return async function({assetValue:Z,memo:Y,recipient:W,feeOptionKey:z=S.FeeOption.Fast,sender:k,sweep:_,...M}){let $=k||await f?.getAddress(),O=cT({chain:y,estimateGasPrices:T,isEIP1559Compatible:X,provider:Q,signer:f});if(!$)throw new S.SwapKitError("toolbox_evm_no_from_address");let D=await dT({chain:y,estimateAdditionalFee:H,estimateGasPrices:T,isEIP1559Compatible:X,provider:Q,signer:f})({assetValue:Z,feeOptionKey:z,memo:Y,recipient:W,sender:$,sweep:_,...M});return O({...D,feeOptionKey:z,sweep:_})}}function nT({provider:y,signer:T}){return function({contractAddress:f,abi:X,funcName:Q,funcParams:q=[],txOverrides:Z}){if(!f)throw new S.SwapKitError("toolbox_evm_no_contract_address");let Y=V1(f,X,y);return T?Y.connect(T).getFunction(Q).estimateGas(...q,Z):Y.getFunction(Q).estimateGas(...q,Z)}}function k9({provider:y,signer:T}){return async function({assetValue:f,recipient:X,memo:Q,data:q,sender:Z,funcName:Y,funcParams:W,txOverrides:z}){let k=f.bigIntValue,_=f.isGasAsset?null:A1(f,f.chain);if(_&&Y)return nT({provider:y,signer:T})({abi:wy.erc20ABI,contractAddress:_,funcName:Y,funcParams:W,txOverrides:z});let{hexlify:M,toUtf8Bytes:$}=await import("ethers");return y.estimateGas({data:q?q:Q?M($(Q)):void 0,from:Z,to:X,value:k})}}function B9({signer:y}){if(!y)return;return(T)=>z8(y,T)}function D9(y,T){if(y==="legacy"){if(T.gasPrice===void 0)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{gasPrice:l0(T.gasPrice)}}if(T.maxFeePerGas===void 0||T.maxPriorityFeePerGas===void 0)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{maxFeePerGas:l0(T.maxFeePerGas),maxPriorityFeePerGas:l0(T.maxPriorityFeePerGas)}}function cT({chain:y,estimateGasPrices:T,provider:H,signer:f,isEIP1559Compatible:X=!0}){return async function({feeOptionKey:q=S.FeeOption.Fast,sweep:Z,...Y}){let{from:W,to:z,data:k,value:_,...M}=Y;if(!f)throw new S.SwapKitError("toolbox_evm_no_signer");if(!z)throw new S.SwapKitError("toolbox_evm_no_to_address");let $={...M,data:k||"0x",from:W,to:z,value:BigInt(_||0)};if(f1(H))return T1(H,Z)($);let O=W||await f.getAddress(),D=Y.nonce??await H.getTransactionCount(O),R=(await H.getNetwork()).chainId,P=C8($,X);if(P==="eip7702")G8($.authorizations||[],R);let E=M8.match(P).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),j={...$,chainId:R,nonce:D,type:E,...P==="eip7702"&&{authorizationList:$.authorizations}},K=T??vy({chain:y,isEIP1559Compatible:X,provider:H}),B=(P==="legacy"?$.gasPrice!==void 0:$.maxFeePerGas!==void 0&&$.maxPriorityFeePerGas!==void 0)?{}:D9(P,(await K())[q]),L;try{L=l0($.gasLimit?BigInt($.gasLimit):await H.estimateGas(j)*11n/10n)}catch(J){throw new S.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:J})}try{let J={...j,gasLimit:L,...B};try{return(await f.sendTransaction(J)).hash}catch{let U=await f.signTransaction({...J,from:O});return(await H.broadcastTransaction(U)).hash}}catch(J){throw new S.SwapKitError("toolbox_evm_error_sending_transaction",{error:J})}}}function Ay(y,T){throw new S.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{balance:y.toString(),fee:T.toString()}})}function F9(y,T){if(T){if(y.maxFeePerGas===void 0||y.maxPriorityFeePerGas===void 0)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{feeFields:{maxFeePerGas:y.maxFeePerGas,maxPriorityFeePerGas:y.maxPriorityFeePerGas},feePerGas:y.maxFeePerGas}}if(y.gasPrice===void 0)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{feeFields:{gasPrice:y.gasPrice},feePerGas:y.gasPrice}}function R9(y,T){if(y>T)return y;return T}function x9(y){return b0.getBytes(y).reduce((T,H)=>T+(H===0?4n:16n),21000n)}function L8(y){let H=(y instanceof Error?y.message:String(y)).toLowerCase();return H.includes("insufficient funds")||H.includes("insufficient balance")||H.includes("gas required exceeds allowance")}async function I9({balance:y,estimateAdditionalFee:T,feeOptionKey:H,l2Reserve:f,sweepTx:X,valueBeforeL1Fee:Q}){if(!T)return 0n;let q=await T({...X,value:Q})??0n,Z=S.applyFeeMultiplierToBigInt(q,H),Y=Q-Z;if(Y<=0n)Ay(y,f+Z);let W=await T({...X,value:Y})??q;return S.applyFeeMultiplierToBigInt(R9(q,W),H)}async function P9({chain:y,data:T,estimateGasPrices:H,estimateAdditionalFee:f,feeOptionKey:X,from:Q,isEIP1559Compatible:q,provider:Z,recipient:Y,transaction:W}){let z=await Z.getBalance(Q),k=H??vy({chain:y,isEIP1559Compatible:q,provider:Z}),{feeFields:_,feePerGas:M}=F9((await k())[X],q),O={...f&&W.nonce===void 0?{...W,nonce:await Z.getTransactionCount(Q)}:W,..._,data:T,from:Q,to:Y},D=x9(T)*M;if(z-D<=0n)Ay(z,D);let R=(z-D)/2n,P;try{P=await Z.estimateGas({...O,value:R})}catch(F){if(!L8(F))throw F;try{P=await Z.estimateGas({...O,value:0n})}catch(x){if(L8(x))Ay(z,D);throw x}}let E=P*M;if(z-E<=0n)Ay(z,E);let N=P*11n/10n*M,B=z>N?z-N:0n,L;try{L=await Z.estimateGas({...O,value:B})}catch(F){if(!L8(F))throw F;Ay(z,N)}let J=L*M,U=z-J;if(U<=0n)Ay(z,J);let G=await I9({balance:z,estimateAdditionalFee:f,feeOptionKey:X,l2Reserve:J,sweepTx:{...O,gasLimit:L},valueBeforeL1Fee:U}),C=U-G;if(C<=0n)Ay(z,J+G);return{...O,gasLimit:L,value:l0(C)}}async function j9({chain:y,contractAddress:T,from:H,provider:f}){let X=await D5({chain:y,provider:f})({abi:wy.erc20ABI,contractAddress:T,funcName:"balanceOf",funcParams:[H]});if(typeof X!=="bigint")throw new S.SwapKitError({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid ERC20 balance"}});return X}function dT({chain:y,estimateAdditionalFee:T,estimateGasPrices:H,isEIP1559Compatible:f=!0,provider:X,signer:Q}){return async function({assetValue:Z,authorizations:Y,memo:W,recipient:z,data:k,feeOptionKey:_=S.FeeOption.Fast,gasLimit:M,sender:$,sweep:O,type:D,maxFeePerGas:R,maxPriorityFeePerGas:P,gasPrice:E,...j}){let K=Z.getBaseValue("bigint"),N=$||await Q?.getAddress();if(!N)throw new S.SwapKitError("toolbox_evm_no_from_address");if(O&&(D===4||(Y?.length??0)>0))throw new S.SwapKitError({errorKey:"toolbox_not_supported",info:{chain:y,reason:"EIP-7702 sweep transactions are not supported"}});if(S.isGasAsset(Z)){let{hexlify:U,toUtf8Bytes:G}=await import("ethers"),C=k||U(G(W||""));if(!O)return{...j,...Y!==void 0&&{authorizations:Y},data:C,from:N,...M!==void 0&&{gasLimit:M},to:z,...D!==void 0&&{type:D},value:l0(K)};return P9({chain:y,data:C,estimateAdditionalFee:T,estimateGasPrices:H,feeOptionKey:_,from:N,isEIP1559Compatible:f,provider:X,recipient:z,transaction:{nonce:j.nonce,type:D}})}let B=A1(Z,y);if(!B)throw new S.SwapKitError("toolbox_evm_no_contract_address");let L=Ey({chain:y,provider:X}),J=O?await j9({chain:y,contractAddress:B,from:N,provider:X}):K;if(O&&J<=0n)throw new S.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:Z.toString(),balance:J.toString()}});return L({abi:wy.erc20ABI,contractAddress:B,funcName:"transfer",funcParams:[z,J],txOverrides:{from:N,gasLimit:M,gasPrice:E,maxFeePerGas:R,maxPriorityFeePerGas:P}})}}function K9({provider:y,signer:T,chain:H}){return async function({assetAddress:X,spenderAddress:Q,amount:q,from:Z}){let Y=await T?.getAddress()||Z,W=Ey({chain:H,provider:y}),z=["bigint","number"].includes(typeof q)?q:q||K1;return await W({abi:wy.erc20ABI,contractAddress:X,funcName:"approve",funcParams:[Q,BigInt(z)],txOverrides:{from:Y}})}}function S9({provider:y,isEIP1559Compatible:T=!0,chain:H}){return async function({feeOption:X=S.FeeOption.Fast,...Q}){let Z=await vy({chain:H,isEIP1559Compatible:T,provider:y})(),Y=await y.estimateGas(Q),W=S.AssetValue.from({chain:H}),{gasPrice:z,maxFeePerGas:k,maxPriorityFeePerGas:_}=Z[X];if(!T&&z)return W.set(S.SwapKitNumber.fromBigInt(z*Y,W.decimal));if(k&&_){let M=(k+_)*Y;return W.set(S.SwapKitNumber.fromBigInt(M,W.decimal))}throw new S.SwapKitError("toolbox_evm_no_gas_price")}}var S,wy,b0,M8,K1,M9,_9,$8,O9,F5=(y)=>y.type===4||(y.authorizations?.length??0)>0,N8=(y)=>!F5(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),C8=(y,T=!0)=>{if(F5(y))return"eip7702";if(N8(y)||T)return"eip1559";return"legacy"};var R5=l(()=>{B5();j1();S=require("@swapkit/helpers"),wy=require("@swapkit/helpers/contracts"),b0=require("ethers"),M8=require("ts-pattern"),K1=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");M9=["payable","nonpayable"];_9=S.EVMChains.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),$8={..._9,[S.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[S.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},O9=[S.Chain.Arbitrum,S.Chain.Aurora,S.Chain.Base,S.Chain.Optimism,S.Chain.Robinhood]});var iT;var tT=l(()=>{iT=[{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:[{internalType:"uint256",name:"_gasUsed",type:"uint256"}],name:"getOperatorFee",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 I5(y){return new x5.Contract(V9,iT,y)}function rT(y){return async function(){let H=I5(y);if(H&&"l1BaseFee"in H)return await H?.l1BaseFee();return}}function aT(y){return async function({from:H,to:f,nonce:X,...Q}){let{Transaction:q}=await import("ethers");if(!f)throw new M0.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return q.from({...Q,authorizationList:Q.authorizationList,nonce:X??(H?await y.getTransactionCount(H):0),to:f}).unsignedSerialized}}function k8(y,T){return async function(f){let X=I5(y),Q=f.chainId??T??(await y.getNetwork()).chainId,q=await aT(y)({...f,chainId:Q});if(X&&"getL1Fee"in X){let Z=await X.getL1Fee(q);if(typeof Z!=="bigint")throw new M0.SwapKitError({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid OP-stack L1 fee"}});return Z}return}}function B8(y){return async function(H){let f=I5(y);if(f&&"getOperatorFee"in f){let X=await f.getOperatorFee(H);if(typeof X!=="bigint")throw new M0.SwapKitError({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid OP-stack operator fee"}});return X}return 0n}}function A9(y,T){let H=k8(y,T),f=B8(y);return async function(Q){if(Q.gasLimit===void 0||Q.gasLimit===null)throw new M0.SwapKitError({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Missing gas limit for OP-stack fee estimation"}});let[q,Z]=await Promise.all([H(Q),f(BigInt(Q.gasLimit.toString()))]);return(q??0n)+Z}}function sT(y){return async function(H){let X=(await y.getFeeData()).gasPrice??0n,Q=await y.estimateGas(H);return X*Q}}function w9(y){return async function(H){let f=await k8(y)(H)??0n,X=await sT(y)(H),Q=H.gasLimit??await y.estimateGas(H),q=await B8(y)(BigInt(Q.toString()));return f+X+q}}function E9(y){return async function(H){let f=I5(y),X=await aT(y)(H);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(X)}}function v9(y){return async function(){try{let{maxFeePerGas:H,maxPriorityFeePerGas:f,gasPrice:X}=await y.getFeeData(),Q=await rT(y)(),q=X;if(!(H&&f))throw new M0.SwapKitError("toolbox_evm_no_fee_data");return{[M0.FeeOption.Average]:{gasPrice:q,l1GasPrice:Q,maxFeePerGas:H,maxPriorityFeePerGas:f},[M0.FeeOption.Fast]:{gasPrice:M0.applyFeeMultiplierToBigInt(q,M0.FeeOption.Fast),l1GasPrice:M0.applyFeeMultiplierToBigInt(Q||0n,M0.FeeOption.Fast),maxFeePerGas:H,maxPriorityFeePerGas:M0.applyFeeMultiplierToBigInt(f,M0.FeeOption.Fast)},[M0.FeeOption.Fastest]:{gasPrice:M0.applyFeeMultiplierToBigInt(q,M0.FeeOption.Fastest),l1GasPrice:M0.applyFeeMultiplierToBigInt(Q||0n,M0.FeeOption.Fastest),maxFeePerGas:H,maxPriorityFeePerGas:M0.applyFeeMultiplierToBigInt(f,M0.FeeOption.Fastest)}}}catch(H){throw new M0.SwapKitError("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}}function H1(y){return function({provider:H,...f}){let X=w1.match(f).with({phrase:w1.P.string},({phrase:_})=>x5.HDNodeWallet.fromPhrase(_).connect(H)).with({signer:w1.P.any},({signer:_})=>_).otherwise(()=>{return}),Q=rT(H),q=BigInt(M0.getChainConfig(y).chainId),Z=k8(H,q),Y=A9(H,q),W=B8(H),z=y===M0.Chain.Optimism?v9(H):void 0;return{...y1({chain:y,estimateAdditionalFee:Y,estimateGasPrices:z,provider:H,signer:X}),estimateL1Gas:E9(H),estimateL1GasCost:Z,estimateL2GasCost:sT(H),estimateOperatorFee:W,estimateTotalGasCost:w9(H),getBalance:P1(y).getBalance,getL1GasPrice:Q}}}var M0,x5,w1,V9="0x420000000000000000000000000000000000000f",P5;var j5=l(()=>{B5();tT();R5();M0=require("@swapkit/helpers"),x5=require("ethers"),w1=require("ts-pattern");P5=H1(M0.Chain.Optimism)});function K5(y){let T=x0($0.Chain.Ethereum)(y);async function H(f,X="0x5ba1e12693dc8f9c48aad8770482f4739beed696",Q="aggregate",q=$0.FeeOption.Fast){let Z=await T.createContractTxObject({abi:uT,contractAddress:X,funcName:Q,funcParams:[f]});return T.sendTransaction({...Z,feeOptionKey:q})}return{...T,multicall:H}}function x0(y){return function({provider:H,...f}){let X=W8(y),Q=E1.match(f).with({phrase:E1.P.string},({phrase:Z})=>eT.HDNodeWallet.fromPhrase(Z).connect(H)).with({signer:E1.P.any},({signer:Z})=>Z).otherwise(()=>{return});return y1({chain:y,isEIP1559Compatible:X,provider:H,signer:Q})}}var $0,eT,E1,S5,V5,A5,w5,E5,v5,b5,y4,h5,l5,u5,p5,m5,g5,o5,n5,c5,d5,i5,v1,t5,r5;var D8=l(()=>{pT();j1();R5();j5();$0=require("@swapkit/helpers"),eT=require("ethers"),E1=require("ts-pattern");S5=x0($0.Chain.Adi),V5=x0($0.Chain.Arbitrum),A5=x0($0.Chain.Aurora),w5=x0($0.Chain.Avalanche),E5=H1($0.Chain.Base),v5=x0($0.Chain.Berachain),b5=x0($0.Chain.BinanceSmartChain),y4=x0($0.Chain.Botanix),h5=x0($0.Chain.Core),l5=x0($0.Chain.Corn),u5=x0($0.Chain.Cronos),p5=x0($0.Chain.Gnosis),m5=x0($0.Chain.Robinhood),g5=x0($0.Chain.Hyperevm),o5=x0($0.Chain.Linea),n5=x0($0.Chain.Polygon),c5=x0($0.Chain.MegaETH),d5=x0($0.Chain.Monad),i5=x0($0.Chain.Plasma),v1=x0($0.Chain.Sonic),t5=H1($0.Chain.Unichain),r5=x0($0.Chain.XLayer)});var H4={};P0(H4,{validateEVMAddress:()=>S1,toChecksumAddress:()=>mT,isStateChangingCall:()=>O8,isEIP7702Transaction:()=>F5,isEIP1559Transaction:()=>N8,isBrowserProvider:()=>f1,getTokenAddress:()=>A1,getEvmToolboxAsync:()=>T4,getEvmToolbox:()=>F8,getEstimateGasPrices:()=>vy,getEVMTxType:()=>C8,getEIP1193SendTransaction:()=>T1,getCreateContractTxObject:()=>Ey,getCreateContract:()=>_8,getChecksumAddressFromAsset:()=>gT,createOPStackToolbox:()=>H1,createContract:()=>V1,XLayerToolbox:()=>r5,UNIToolbox:()=>t5,SONICToolbox:()=>v1,PLASMAToolbox:()=>i5,OPToolbox:()=>P5,MONADToolbox:()=>d5,MEGAETHToolbox:()=>c5,MAX_APPROVAL:()=>K1,MATICToolbox:()=>n5,LINEAToolbox:()=>o5,HYPEREVMToolbox:()=>g5,HOODToolbox:()=>m5,GNOToolbox:()=>p5,ETHToolbox:()=>K5,ContractAddress:()=>$8,CROToolbox:()=>u5,CORNToolbox:()=>l5,COREToolbox:()=>h5,BotanixToolbox:()=>y4,BaseEVMToolbox:()=>y1,BSCToolbox:()=>b5,BERAToolbox:()=>v5,BASEToolbox:()=>E5,AVAXToolbox:()=>w5,AURORAToolbox:()=>A5,ARBToolbox:()=>V5,ADIToolbox:()=>S5});function F8(y,T){return f4.match(y).with(C0.Chain.Adi,()=>S5(T)).with(C0.Chain.Arbitrum,()=>V5(T)).with(C0.Chain.Aurora,()=>A5(T)).with(C0.Chain.Avalanche,()=>w5(T)).with(C0.Chain.Base,()=>E5(T)).with(C0.Chain.Berachain,()=>v5(T)).with(C0.Chain.BinanceSmartChain,()=>b5(T)).with(C0.Chain.Botanix,()=>v1(T)).with(C0.Chain.Core,()=>h5(T)).with(C0.Chain.Corn,()=>l5(T)).with(C0.Chain.Cronos,()=>u5(T)).with(C0.Chain.Ethereum,()=>K5(T)).with(C0.Chain.Gnosis,()=>p5(T)).with(C0.Chain.Hyperevm,()=>g5(T)).with(C0.Chain.Linea,()=>o5(T)).with(C0.Chain.MegaETH,()=>c5(T)).with(C0.Chain.Monad,()=>d5(T)).with(C0.Chain.Optimism,()=>P5(T)).with(C0.Chain.Plasma,()=>i5(T)).with(C0.Chain.Polygon,()=>n5(T)).with(C0.Chain.Robinhood,()=>m5(T)).with(C0.Chain.Sonic,()=>v1(T)).with(C0.Chain.Unichain,()=>t5(T)).with(C0.Chain.XLayer,()=>r5(T)).exhaustive()}async function T4(y,T){let H={...T,provider:T?.provider||Y8(y)};return F8(y,H)}var C0,f4;var R8=l(()=>{j1();D8();j5();C0=require("@swapkit/helpers"),f4=require("ts-pattern");R5();D8();j5()});var X4;var Q4=l(()=>{((H)=>{H.Test="goerli";H.Main="homestead"})(X4||={})});var q4={};P0(q4,{validateEVMAddress:()=>S1,validateAuthorizations:()=>G8,validateAuthorization:()=>hT,toHexString:()=>l0,toChecksumAddress:()=>mT,signAuthorization:()=>z8,parseEIP712FromEVMTx:()=>L9,isStateChangingCall:()=>O8,isEIP7702Transaction:()=>F5,isEIP1559Transaction:()=>N8,isBrowserProvider:()=>f1,getTokenAddress:()=>A1,getProviderSync:()=>bT,getProvider:()=>W9,getNetworkParams:()=>J8,getIsEIP1559Compatible:()=>W8,getFallbackProvider:()=>Y8,getEvmToolboxAsync:()=>T4,getEvmToolbox:()=>F8,getEvmApi:()=>P1,getEstimateGasPrices:()=>vy,getEVMTxType:()=>C8,getEIP1193SendTransaction:()=>T1,getCreateContractTxObject:()=>Ey,getCreateContract:()=>_8,getChecksumAddressFromAsset:()=>gT,createOPStackToolbox:()=>H1,createCustomEvmApi:()=>J9,createContract:()=>V1,buildEIP712DomainType:()=>lT,XLayerToolbox:()=>r5,UNIToolbox:()=>t5,SONICToolbox:()=>v1,PLASMAToolbox:()=>i5,OPToolbox:()=>P5,MONADToolbox:()=>d5,MEGAETHToolbox:()=>c5,MAX_APPROVAL:()=>K1,MATICToolbox:()=>n5,LINEAToolbox:()=>o5,HYPEREVMToolbox:()=>g5,HOODToolbox:()=>m5,GNOToolbox:()=>p5,EthNetwork:()=>X4,ETHToolbox:()=>K5,ContractAddress:()=>$8,CROToolbox:()=>u5,CORNToolbox:()=>l5,COREToolbox:()=>h5,BotanixToolbox:()=>y4,BaseEVMToolbox:()=>y1,BSCToolbox:()=>b5,BERAToolbox:()=>v5,BASEToolbox:()=>E5,AVAXToolbox:()=>w5,AURORAToolbox:()=>A5,ARBToolbox:()=>V5,ADIToolbox:()=>S5});module.exports=V0(q4);var x8=l(()=>{B5();j1();R8();Q4()});async function P8(y,T){let H=await fetch(`${G4}${y}`,{...T,headers:{project_id:z4,...T?.headers}});if(!H.ok)throw Error(`Blockfrost API error: ${H.status} ${H.statusText}`);return H.json()}async function L4(y){try{return await P8(`/addresses/${y}/utxos`)}catch{return[]}}async function h9(){return(await P8("/blocks/latest")).slot}async function l9(){let y=await P8("/epochs/latest/parameters"),T={PlutusScriptV1:y.cost_models.PlutusV1?Object.values(y.cost_models.PlutusV1):[],PlutusScriptV2:y.cost_models.PlutusV2?Object.values(y.cost_models.PlutusV2):[],PlutusScriptV3:y.cost_models.PlutusV3?Object.values(y.cost_models.PlutusV3):[]};return{collateralPercent:new u0.default(y.collateral_percent),languageView:T,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new u0.default(y.min_fee_a),minFeeB:new u0.default(y.min_fee_b),minFeeRefScriptCostPerByte:new u0.default(15),priceMem:new u0.default(y.price_mem),priceSteps:new u0.default(y.price_step),stakeKeyDeposit:new u0.default(2000000),utxoCostPerByte:new u0.default(y.coins_per_utxo_size)}}async function U4(y){let T=await fetch(`${G4}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:z4},method:"POST"});if(!T.ok){let H=await T.text();throw Error(`Transaction submission failed: ${H}`)}return T.json()}function u9(y,T){return y.map((H)=>{let f=H.amount.find((q)=>q.unit==="lovelace"),X=f?new u0.default(f.quantity):new u0.default(0),Q=H.amount.filter((q)=>q.unit!=="lovelace").map((q)=>({amount:new u0.default(q.quantity),assetName:q.unit.slice(56),policyId:q.unit.slice(0,56)}));return{address:T,amount:X,index:H.output_index,tokens:Q,txId:H.tx_hash}})}function p9({TransactionConstructor:y,auxiliaryData:T,bufferedParams:H,currentSlot:f,inputs:X,recipientAddress:Q}){let q=X.reduce((M,$)=>M.plus($.amount),new u0.default(0));if(!q.isPositive())throw new _0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{available:q.toString()}});let Z=new y({protocolParams:H});for(let M of X)Z.addInput(M);if(Z.addOutput({address:Q,amount:q,tokens:[]}),Z.setTTL(f+3600),T)Z.setAuxiliaryData(T);Z.setFee(Z.calculateFee());let Y=Z.getFee(),W=q.minus(Y),z={address:Q,amount:W,tokens:[]},k=Z.calculateMinUtxoAmountBabbage(z);if(!W.isPositive()||W.lt(k))throw new _0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{available:q.toString(),fee:Y.toString(),minimumOutput:k.toString()}});return new y({protocolParams:H}).paymentTransaction({auxiliaryData:T,changeAddress:Q,inputs:X,outputs:[z],ttl:f+3600})}async function m9(y){try{let T=await L4(y),H=0n,f=new Map;for(let q of T){if(!q.amount||!Array.isArray(q.amount))continue;for(let Z of q.amount){let{unit:Y,quantity:W}=Z;if(Y==="lovelace")H+=BigInt(W);else{let z=f.get(Y)||0n;f.set(Y,z+BigInt(W))}}}let X=[],{baseDecimal:Q}=_0.getChainConfig(_0.Chain.Cardano);if(H>0n)X.push(_0.AssetValue.from({chain:_0.Chain.Cardano,fromBaseDecimal:Q,value:H.toString()}));for(let[q,Z]of f)X.push(_0.AssetValue.from({asset:`${_0.Chain.Cardano}.${q}`,value:Z.toString()}));if(X.length===0)return[_0.AssetValue.from({chain:_0.Chain.Cardano})];return X}catch(T){let H=T instanceof Error?T.message:String(T);return console.error(`Cardano balance fetch error: ${H}`),[_0.AssetValue.from({chain:_0.Chain.Cardano})]}}function M4(y){if(!y||typeof y!=="string")return!1;try{let T=Y4.bech32.decode(y,120);return T.prefix==="addr"||T.prefix==="addr_test"}catch{return!1}}async function g9(y,T=0,H=0){let{Bip32PrivateKey:f}=await import("@stricahq/bip32ed25519"),{types:X,address:Q,crypto:q}=await import("@stricahq/typhonjs"),Z=J4.mnemonicToEntropy(y,W4.wordlist),W=(await f.fromEntropy(Buffer.from(Array.from(Z)))).derive(I8+1852).derive(I8+1815).derive(I8+T),z=W.derive(0).derive(H),k=z.toBip32PublicKey().toPublicKey().toBytes(),_=q.hash28(k),$=W.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),O=q.hash28($),D={hash:_,type:X.HashType.ADDRESS},R={hash:O,type:X.HashType.ADDRESS},E=new Q.BaseAddress(X.NetworkId.MAINNET,D,R).getBech32(),j=z.toPrivateKey();return{getAddress:()=>E,publicKey:k,publicKeyHash:_,signTransaction:async(K)=>{try{let N=await import("@stricahq/cbors"),B=Buffer.from(K,"hex"),L=N.Decoder.decode(B),[J,U,G,C]=L.value,F=N.Encoder.encode(J),x=q.hash32(F),A=j.sign(x),w=U instanceof Map?U:new Map,b=w.get(Z4)||[];b.push([k,A]),w.set(Z4,b);let a=[J,w,G,C];return N.Encoder.encode(a).toString("hex")}catch(N){throw new _0.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(N)})}}}}function o9(y){let T,H,f;async function X(){if(!f)f=await l9();return f}async function Q(){if(T!==void 0)return T;if(y&&"phrase"in y&&y.phrase){let M=y.index??0;return T=await g9(y.phrase,0,M),T}if(y&&"signer"in y&&y.signer)return T=y.signer,T;return}async function q(){if(H)return H;let M=await Q();if(!M)return"";if("getAddress"in M)return H=await M.getAddress(),H;return""}async function Z(M){let $=M||await q();if(!$)throw new _0.SwapKitError("core_wallet_connection_not_found");return m9($)}async function Y(M){if(M)try{let{tx:R}=await W(M),P=R.getFee();return _0.AssetValue.from({chain:_0.Chain.Cardano,fromBaseDecimal:6,value:P.toString()})}catch{}let $=await X(),O=400,D=$.minFeeB.plus($.minFeeA.times(O));return _0.AssetValue.from({chain:_0.Chain.Cardano,fromBaseDecimal:6,value:D.toString()})}async function W({sender:M="",recipient:$,assetValue:O,memo:D,pureLovelaceOnly:R=!1,sweep:P=!1}){let{Transaction:E,utils:j}=await import("@stricahq/typhonjs"),K=M||await q();if(!K)throw new _0.SwapKitError("core_wallet_connection_not_found");let[N,B,L]=await Promise.all([L4(K),h9(),X()]);if(P&&!O.isGasAsset)throw new _0.SwapKitError({errorKey:"toolbox_not_supported",info:{asset:O.toString(),chain:_0.Chain.Cardano,feature:"token_sweep"}});let J=P&&O.isGasAsset,U=R||J,G=N.filter((V)=>U?V.amount.some((h)=>h.unit==="lovelace")&&V.amount.every((h)=>h.unit==="lovelace"):V.amount.some((h)=>h.unit==="lovelace")).sort((V,h)=>{let c=V.amount.some((T0)=>T0.unit!=="lovelace"),i=h.amount.some((T0)=>T0.unit!=="lovelace");if(c===i)return 0;return c?1:-1}),C=j.getAddressFromString(K),F=j.getAddressFromString($),x=u9(G,C),A;if(D){let V=new Map;V.set("msg",[D]),A={metadata:[{data:V,label:674}]}}let w={...L,minFeeB:L.minFeeB.plus(L.minFeeA.times(4))};if(J){let V=p9({auxiliaryData:A,bufferedParams:w,currentSlot:B,inputs:x,recipientAddress:F,TransactionConstructor:E}),{payload:h}=V.buildTransaction();return{tx:V,unsignedTx:h}}let b=new u0.default(O.getBaseValue("string")),a=[{address:F,amount:b,tokens:[]}],Y0=new E({protocolParams:w}).paymentTransaction({auxiliaryData:A,changeAddress:C,inputs:x,outputs:a,ttl:B+3600}),{payload:I}=Y0.buildTransaction();return{tx:Y0,unsignedTx:I}}async function z(M){let $=await Q();if(!$||!("signTransaction"in $))throw new _0.SwapKitError("core_wallet_connection_not_found");return $.signTransaction(M)}async function k({recipient:M,assetValue:$,memo:O,sweep:D}){let R=await Q();if(!R||!("signTransaction"in R))throw new _0.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:P}=await W({assetValue:$,memo:O,recipient:M,sender:await q(),sweep:D}),E=await z(P);return await U4(E)}async function _(M){let $=await z(M);return await U4($)}return{createTransaction:W,estimateTransactionFee:Y,getAddress:q,getBalance:Z,signAndBroadcastTransaction:_,signTransaction:z,transfer:k,validateAddress:M4}}var Y4,J4,W4,_0,u0,z4="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",G4="https://cardano-mainnet.blockfrost.io/api/v0",I8=2147483648,Z4=0;var _4=l(()=>{Y4=require("@scure/base"),J4=require("@scure/bip39"),W4=require("@scure/bip39/wordlists/english.js"),_0=require("@swapkit/helpers"),u0=_T(require("bignumber.js"))});var j8={};P0(j8,{validateCardanoAddress:()=>M4,getCardanoToolbox:()=>o9});module.exports=V0(j8);var K8=l(()=>{_4()});function b1(y){return Xy.base64.encode(Uint8Array.from(Xy.bech32.fromWords(Xy.bech32.decode(y).words)))}function h1(y,T="thor"){return Xy.bech32.encode(T,Xy.bech32.toWords(Xy.base64.decode(y)))}function n9(y){return Xy.base64.encode(y)}function c9(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new O4.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Xy.base64.decode(y)}var Xy,O4;var S8=l(()=>{Xy=require("@scure/base"),O4=require("@swapkit/helpers")});function r0(y){switch(y){case p.Chain.Maya:return{amount:[],gas:"10000000000"};case p.Chain.THORChain:return{amount:[],gas:"500000000"};case p.Chain.Kujira:return C4;case p.Chain.Noble:return k4;default:return N4}}async function l1(y){let{isStagenet:T}=p.SKConfig.get("envs"),H=p.SKConfig.get("thornodeUrls"),f=y===p.Chain.Maya,Q=`${f?T?H.MAYA_STAGENET:H.MAYA:T?H.THOR_STAGENET:H.THOR}/${f?"mayachain":"thorchain"}/constants`,q=p.getChainConfig(y).baseDecimal;try{let{int_64_values:{NativeTransactionFee:Z}}=await p.RequestClient.get(Q);if(!Number.isInteger(Z)||Z<=0)throw new p.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:Z.toString()});return p.SwapKitNumber.fromBigInt(BigInt(Z),q)}catch{let Z=f?10000000000n:2000000n;return p.SwapKitNumber.fromBigInt(Z,q)}}async function Qy(y){let T=await import("@cosmjs/stargate"),H=T.StargateClient??T.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return H.connect({headers:f,url:y})}async function by(y,T,H={}){let f=await import("@cosmjs/stargate"),X=f.SigningStargateClient??f.default?.SigningStargateClient,Q=f.GasPrice??f.default?.GasPrice,q=typeof H==="string"?H:"0.0003uatom",Z=typeof H==="string"?{}:H;return X.connectWithSigner(y,T,{gasPrice:Q.fromString(q),...Z})}async function A8(y,T){let H=await import("@cosmjs/stargate");return(H.SigningStargateClient??H.default?.SigningStargateClient).offline(y,T)}async function w8({sender:y,recipient:T,assetValue:H,memo:f="",feeRate:X,sequence:Q,accountNumber:q,sweep:Z}){let{chain:Y,chainId:W}=H,z=await p.getRPCUrl(Y),k=await Qy(z),_=await k.getAccount(y);if(!_)throw new p.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let M=p.AssetValue.from({chain:Y}),$=Yy(M.symbol),O=r0(Y),D=$&&X?{amount:[{amount:X.toString(),denom:$}],gas:O.gas}:O,R=Yy(H.symbol),E={amount:[{amount:(Z?X1({assetValue:H,balances:await k.getAllBalances(y),denom:R,feeAmount:a5(D.amount,R)}):H).getBaseValue("string"),denom:R}],fromAddress:y,toAddress:T};return{accountNumber:q??Number(_.accountNumber),chainId:W,fee:D,memo:f,msgs:[{typeUrl:d9(Y),value:E}],sequence:Q??_.sequence}}function a5(y,T){let H=T.toLowerCase();return y.reduce((f,X)=>X.denom.toLowerCase()===H?f+BigInt(X.amount):f,0n)}function X1({assetValue:y,balances:T,denom:H,feeAmount:f=0n}){let X=H.toLowerCase(),Q=T.find(({denom:Y})=>Y.toLowerCase()===X),q=BigInt(Q?.amount??"0"),Z=q-f;if(Z<=0n)throw new p.SwapKitError("toolbox_sweep_amount_too_low",{asset:y.toString(),balance:q.toString(),fee:f.toString()});return y.set(p.SwapKitNumber.fromBigInt(Z,y.decimal))}var p,V8="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",$4="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",N4,C4,k4,Yy=(y,T=!1)=>{if(T)return y.toLowerCase();switch(y){case"uUSK":case"USK":return V8;case"uYUM":case"YUM":return $4;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":case"NOBLE":return"uusdc";default:return y}},u1=({symbol:y,chain:T})=>{if(T===p.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${p.Chain.Maya}.${y}`).toUpperCase();if(T===p.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${p.Chain.THORChain}.${y}`:y).toUpperCase();return Yy(y,!1)},d9=(y)=>{switch(y){case p.Chain.Maya:case p.Chain.THORChain:return"/types.MsgSend";case p.Chain.Cosmos:case p.Chain.Kujira:case p.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new p.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},i9,E8=(y,T)=>{let H=i9[y.toLowerCase()];if(!H)return p.AssetValue.from({asset:y,fromBaseDecimal:8,value:T});let{chain:f,asset:X,decimals:Q}=H,q=f?{chain:f}:{asset:X};return p.AssetValue.from({...q,fromBaseDecimal:Q,value:T})};var p1=l(()=>{p=require("@swapkit/helpers"),N4={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},C4={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},k4={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};i9={atom:{chain:p.Chain.Cosmos,decimals:p.getChainConfig(p.Chain.Cosmos).baseDecimal},cacao:{chain:p.Chain.Maya,decimals:10},kuji:{chain:p.Chain.Kujira,decimals:p.getChainConfig(p.Chain.Kujira).baseDecimal},maya:{asset:`${p.Chain.Maya}.${p.Chain.Maya}`,decimals:4},rune:{chain:p.Chain.THORChain,decimals:p.getChainConfig(p.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:p.getChainConfig(p.Chain.THORChain).baseDecimal},uatom:{chain:p.Chain.Cosmos,decimals:p.getChainConfig(p.Chain.Cosmos).baseDecimal},ukuji:{chain:p.Chain.Kujira,decimals:p.getChainConfig(p.Chain.Kujira).baseDecimal},usdc:{chain:p.Chain.Noble,decimals:p.getChainConfig(p.Chain.Noble).baseDecimal},uusdc:{chain:p.Chain.Noble,decimals:p.getChainConfig(p.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:p.getChainConfig(p.Chain.THORChain).baseDecimal},[V8.toLowerCase()]:{asset:`${p.Chain.Kujira}.USK`,decimals:p.getChainConfig(p.Chain.Kujira).baseDecimal}}});var B4={};P0(B4,{$root:()=>u});var S0,r,c0,n,u;var D4=l(()=>{S0=_T(require("protobufjs/minimal.js")),r=S0.default.Reader,c0=S0.default.Writer,n=S0.default.util,u=S0.default.roots.default||(S0.default.roots.default={});u.common=(()=>{let y={};return y.Asset=(()=>{function T(H){if(H){for(let f=Object.keys(H),X=0;X<f.length;++X)if(H[f[X]]!=null)this[f[X]]=H[f[X]]}}return T.prototype.chain="",T.prototype.symbol="",T.prototype.ticker="",T.prototype.synth=!1,T.create=function(f){return new T(f)},T.encode=function(f,X){if(!X)X=c0.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))X.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))X.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))X.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))X.uint32(32).bool(f.synth);return X},T.encodeDelimited=function(f,X){return this.encode(f,X).ldelim()},T.decode=function(f,X){if(!(f instanceof r))f=r.create(f);let Q=X===void 0?f.len:f.pos+X,q=new u.common.Asset;while(f.pos<Q){let Z=f.uint32();switch(Z>>>3){case 1:q.chain=f.string();break;case 2:q.symbol=f.string();break;case 3:q.ticker=f.string();break;case 4:q.synth=f.bool();break;default:f.skipType(Z&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof r))f=new r(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!n.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!n.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!n.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},T.fromObject=function(f){if(f instanceof u.common.Asset)return f;let X=new u.common.Asset;if(f.chain!=null)X.chain=String(f.chain);if(f.symbol!=null)X.symbol=String(f.symbol);if(f.ticker!=null)X.ticker=String(f.ticker);if(f.synth!=null)X.synth=Boolean(f.synth);return X},T.toObject=function(f,X){if(!X)X={};let Q={};if(X.defaults)Q.chain="",Q.symbol="",Q.ticker="",Q.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))Q.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))Q.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))Q.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))Q.synth=f.synth;return Q},T.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},T})(),y.Coin=(()=>{function T(H){if(H){for(let f=Object.keys(H),X=0;X<f.length;++X)if(H[f[X]]!=null)this[f[X]]=H[f[X]]}}return T.prototype.asset=null,T.prototype.amount="",T.prototype.decimals=n.Long?n.Long.fromBits(0,0,!1):0,T.create=function(f){return new T(f)},T.encode=function(f,X){if(!X)X=c0.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))u.common.Asset.encode(f.asset,X.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))X.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))X.uint32(24).int64(f.decimals);return X},T.encodeDelimited=function(f,X){return this.encode(f,X).ldelim()},T.decode=function(f,X){if(!(f instanceof r))f=r.create(f);let Q=X===void 0?f.len:f.pos+X,q=new u.common.Coin;while(f.pos<Q){let Z=f.uint32();switch(Z>>>3){case 1:q.asset=u.common.Asset.decode(f,f.uint32());break;case 2:q.amount=f.string();break;case 3:q.decimals=f.int64();break;default:f.skipType(Z&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof r))f=new r(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let X=u.common.Asset.verify(f.asset);if(X)return"asset."+X}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!n.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!n.isInteger(f.decimals)&&!(f.decimals&&n.isInteger(f.decimals.low)&&n.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(f){if(f instanceof u.common.Coin)return f;let X=new u.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");X.asset=u.common.Asset.fromObject(f.asset)}if(f.amount!=null)X.amount=String(f.amount);if(f.decimals!=null){if(n.Long)(X.decimals=n.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")X.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")X.decimals=f.decimals;else if(typeof f.decimals==="object")X.decimals=new n.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return X},T.toObject=function(f,X){if(!X)X={};let Q={};if(X.defaults)if(Q.asset=null,Q.amount="",n.Long){let q=new n.Long(0,0,!1);Q.decimals=X.longs===String?q.toString():X.longs===Number?q.toNumber():q}else Q.decimals=X.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))Q.asset=u.common.Asset.toObject(f.asset,X);if(f.amount!=null&&f.hasOwnProperty("amount"))Q.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")Q.decimals=X.longs===String?String(f.decimals):f.decimals;else Q.decimals=X.longs===String?n.Long.prototype.toString.call(f.decimals):X.longs===Number?new n.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return Q},T.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},T})(),y.PubKeySet=(()=>{function T(H){if(H){for(let f=Object.keys(H),X=0;X<f.length;++X)if(H[f[X]]!=null)this[f[X]]=H[f[X]]}}return T.prototype.secp256k1="",T.prototype.ed25519="",T.create=function(f){return new T(f)},T.encode=function(f,X){if(!X)X=c0.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))X.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))X.uint32(18).string(f.ed25519);return X},T.encodeDelimited=function(f,X){return this.encode(f,X).ldelim()},T.decode=function(f,X){if(!(f instanceof r))f=r.create(f);let Q=X===void 0?f.len:f.pos+X,q=new u.common.PubKeySet;while(f.pos<Q){let Z=f.uint32();switch(Z>>>3){case 1:q.secp256k1=f.string();break;case 2:q.ed25519=f.string();break;default:f.skipType(Z&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof r))f=new r(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!n.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!n.isString(f.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(f){if(f instanceof u.common.PubKeySet)return f;let X=new u.common.PubKeySet;if(f.secp256k1!=null)X.secp256k1=String(f.secp256k1);if(f.ed25519!=null)X.ed25519=String(f.ed25519);return X},T.toObject=function(f,X){if(!X)X={};let Q={};if(X.defaults)Q.secp256k1="",Q.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))Q.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))Q.ed25519=f.ed25519;return Q},T.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},T})(),y.Tx=(()=>{function T(H){if(this.coins=[],this.gas=[],H){for(let f=Object.keys(H),X=0;X<f.length;++X)if(H[f[X]]!=null)this[f[X]]=H[f[X]]}}return T.prototype.id="",T.prototype.chain="",T.prototype.fromAddress="",T.prototype.toAddress="",T.prototype.coins=n.emptyArray,T.prototype.gas=n.emptyArray,T.prototype.memo="",T.create=function(f){return new T(f)},T.encode=function(f,X){if(!X)X=c0.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))X.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))X.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))X.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))X.uint32(34).string(f.toAddress);if(f.coins?.length)for(let Q=0;Q<f.coins.length;++Q)u.common.Coin.encode(f.coins[Q],X.uint32(42).fork()).ldelim();if(f.gas?.length)for(let Q=0;Q<f.gas.length;++Q)u.common.Coin.encode(f.gas[Q],X.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))X.uint32(58).string(f.memo);return X},T.encodeDelimited=function(f,X){return this.encode(f,X).ldelim()},T.decode=function(f,X){if(!(f instanceof r))f=r.create(f);let Q=X===void 0?f.len:f.pos+X,q=new u.common.Tx;while(f.pos<Q){let Z=f.uint32();switch(Z>>>3){case 1:q.id=f.string();break;case 2:q.chain=f.string();break;case 3:q.fromAddress=f.string();break;case 4:q.toAddress=f.string();break;case 5:if(!q.coins?.length)q.coins=[];q.coins.push(u.common.Coin.decode(f,f.uint32()));break;case 6:if(!q.gas?.length)q.gas=[];q.gas.push(u.common.Coin.decode(f,f.uint32()));break;case 7:q.memo=f.string();break;default:f.skipType(Z&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof r))f=new r(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!n.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!n.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!n.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!n.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let X=0;X<f.coins.length;++X){let Q=u.common.Coin.verify(f.coins[X]);if(Q)return"coins."+Q}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let X=0;X<f.gas.length;++X){let Q=u.common.Coin.verify(f.gas[X]);if(Q)return"gas."+Q}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!n.isString(f.memo))return"memo: string expected"}return null},T.fromObject=function(f){if(f instanceof u.common.Tx)return f;let X=new u.common.Tx;if(f.id!=null)X.id=String(f.id);if(f.chain!=null)X.chain=String(f.chain);if(f.fromAddress!=null)X.fromAddress=String(f.fromAddress);if(f.toAddress!=null)X.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");X.coins=[];for(let Q=0;Q<f.coins.length;++Q){if(typeof f.coins[Q]!=="object")throw TypeError(".common.Tx.coins: object expected");X.coins[Q]=u.common.Coin.fromObject(f.coins[Q])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");X.gas=[];for(let Q=0;Q<f.gas.length;++Q){if(typeof f.gas[Q]!=="object")throw TypeError(".common.Tx.gas: object expected");X.gas[Q]=u.common.Coin.fromObject(f.gas[Q])}}if(f.memo!=null)X.memo=String(f.memo);return X},T.toObject=function(f,X){if(!X)X={};let Q={};if(X.arrays||X.defaults)Q.coins=[],Q.gas=[];if(X.defaults)Q.id="",Q.chain="",Q.fromAddress="",Q.toAddress="",Q.memo="";if(f.id!=null&&f.hasOwnProperty("id"))Q.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))Q.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))Q.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))Q.toAddress=f.toAddress;if(f.coins?.length){Q.coins=[];for(let q=0;q<f.coins.length;++q)Q.coins[q]=u.common.Coin.toObject(f.coins[q],X)}if(f.gas?.length){Q.gas=[];for(let q=0;q<f.gas.length;++q)Q.gas[q]=u.common.Coin.toObject(f.gas[q],X)}if(f.memo!=null&&f.hasOwnProperty("memo"))Q.memo=f.memo;return Q},T.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},T})(),y.Fee=(()=>{function T(H){if(this.coins=[],H){for(let f=Object.keys(H),X=0;X<f.length;++X)if(H[f[X]]!=null)this[f[X]]=H[f[X]]}}return T.prototype.coins=n.emptyArray,T.prototype.poolDeduct="",T.create=function(f){return new T(f)},T.encode=function(f,X){if(!X)X=c0.create();if(f.coins?.length)for(let Q=0;Q<f.coins.length;++Q)u.common.Coin.encode(f.coins[Q],X.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))X.uint32(18).string(f.poolDeduct);return X},T.encodeDelimited=function(f,X){return this.encode(f,X).ldelim()},T.decode=function(f,X){if(!(f instanceof r))f=r.create(f);let Q=X===void 0?f.len:f.pos+X,q=new u.common.Fee;while(f.pos<Q){let Z=f.uint32();switch(Z>>>3){case 1:if(!q.coins?.length)q.coins=[];q.coins.push(u.common.Coin.decode(f,f.uint32()));break;case 2:q.poolDeduct=f.string();break;default:f.skipType(Z&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof r))f=new r(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let X=0;X<f.coins.length;++X){let Q=u.common.Coin.verify(f.coins[X]);if(Q)return"coins."+Q}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!n.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(f){if(f instanceof u.common.Fee)return f;let X=new u.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");X.coins=[];for(let Q=0;Q<f.coins.length;++Q){if(typeof f.coins[Q]!=="object")throw TypeError(".common.Fee.coins: object expected");X.coins[Q]=u.common.Coin.fromObject(f.coins[Q])}}if(f.poolDeduct!=null)X.poolDeduct=String(f.poolDeduct);return X},T.toObject=function(f,X){if(!X)X={};let Q={};if(X.arrays||X.defaults)Q.coins=[];if(X.defaults)Q.poolDeduct="";if(f.coins?.length){Q.coins=[];for(let q=0;q<f.coins.length;++q)Q.coins[q]=u.common.Coin.toObject(f.coins[q],X)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))Q.poolDeduct=f.poolDeduct;return Q},T.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},T})(),y.ProtoUint=(()=>{function T(H){if(H){for(let f=Object.keys(H),X=0;X<f.length;++X)if(H[f[X]]!=null)this[f[X]]=H[f[X]]}}return T.prototype.value="",T.create=function(f){return new T(f)},T.encode=function(f,X){if(!X)X=c0.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))X.uint32(10).string(f.value);return X},T.encodeDelimited=function(f,X){return this.encode(f,X).ldelim()},T.decode=function(f,X){if(!(f instanceof r))f=r.create(f);let Q=X===void 0?f.len:f.pos+X,q=new u.common.ProtoUint;while(f.pos<Q){let Z=f.uint32();switch(Z>>>3){case 1:q.value=f.string();break;default:f.skipType(Z&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof r))f=new r(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!n.isString(f.value))return"value: string expected"}return null},T.fromObject=function(f){if(f instanceof u.common.ProtoUint)return f;let X=new u.common.ProtoUint;if(f.value!=null)X.value=String(f.value);return X},T.toObject=function(f,X){if(!X)X={};let Q={};if(X.defaults)Q.value="";if(f.value!=null&&f.hasOwnProperty("value"))Q.value=f.value;return Q},T.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},T})(),y})();u.types=(()=>{let y={};return y.MsgDeposit=(()=>{function T(H){if(this.coins=[],H){for(let f=Object.keys(H),X=0;X<f.length;++X)if(H[f[X]]!=null)this[f[X]]=H[f[X]]}}return T.prototype.coins=n.emptyArray,T.prototype.memo="",T.prototype.signer=n.newBuffer([]),T.create=function(f){return new T(f)},T.encode=function(f,X){if(!X)X=c0.create();if(f.coins?.length)for(let Q=0;Q<f.coins.length;++Q)u.common.Coin.encode(f.coins[Q],X.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))X.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))X.uint32(26).bytes(f.signer);return X},T.encodeDelimited=function(f,X){return this.encode(f,X).ldelim()},T.decode=function(f,X){if(!(f instanceof r))f=r.create(f);let Q=X===void 0?f.len:f.pos+X,q=new u.types.MsgDeposit;while(f.pos<Q){let Z=f.uint32();switch(Z>>>3){case 1:if(!q.coins?.length)q.coins=[];q.coins.push(u.common.Coin.decode(f,f.uint32()));break;case 2:q.memo=f.string();break;case 3:q.signer=f.bytes();break;default:f.skipType(Z&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof r))f=new r(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let X=0;X<f.coins.length;++X){let Q=u.common.Coin.verify(f.coins[X]);if(Q)return"coins."+Q}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!n.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||n.isString(f.signer)))return"signer: buffer expected"}return null},T.fromObject=function(f){if(f instanceof u.types.MsgDeposit)return f;let X=new u.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");X.coins=[];for(let Q=0;Q<f.coins.length;++Q){if(typeof f.coins[Q]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");X.coins[Q]=u.common.Coin.fromObject(f.coins[Q])}}if(f.memo!=null)X.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")n.base64.decode(f.signer,X.signer=n.newBuffer(n.base64.length(f.signer)),0);else if(f.signer.length)X.signer=f.signer}return X},T.toObject=function(f,X){if(!X)X={};let Q={};if(X.arrays||X.defaults)Q.coins=[];if(X.defaults){if(Q.memo="",X.bytes===String)Q.signer="";else if(Q.signer=[],X.bytes!==Array)Q.signer=n.newBuffer(Q.signer)}if(f.coins?.length){Q.coins=[];for(let q=0;q<f.coins.length;++q)Q.coins[q]=u.common.Coin.toObject(f.coins[q],X)}if(f.memo!=null&&f.hasOwnProperty("memo"))Q.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))Q.signer=X.bytes===String?n.base64.encode(f.signer,0,f.signer.length):X.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return Q},T.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},T})(),y.MsgSend=(()=>{function T(H){if(this.amount=[],H){for(let f=Object.keys(H),X=0;X<f.length;++X)if(H[f[X]]!=null)this[f[X]]=H[f[X]]}}return T.prototype.fromAddress=n.newBuffer([]),T.prototype.toAddress=n.newBuffer([]),T.prototype.amount=n.emptyArray,T.create=function(f){return new T(f)},T.encode=function(f,X){if(!X)X=c0.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))X.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))X.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let Q=0;Q<f.amount.length;++Q)u.cosmos.base.v1beta1.Coin.encode(f.amount[Q],X.uint32(26).fork()).ldelim();return X},T.encodeDelimited=function(f,X){return this.encode(f,X).ldelim()},T.decode=function(f,X){if(!(f instanceof r))f=r.create(f);let Q=X===void 0?f.len:f.pos+X,q=new u.types.MsgSend;while(f.pos<Q){let Z=f.uint32();switch(Z>>>3){case 1:q.fromAddress=f.bytes();break;case 2:q.toAddress=f.bytes();break;case 3:if(!q.amount?.length)q.amount=[];q.amount.push(u.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(Z&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof r))f=new r(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||n.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||n.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let X=0;X<f.amount.length;++X){let Q=u.cosmos.base.v1beta1.Coin.verify(f.amount[X]);if(Q)return"amount."+Q}}return null},T.fromObject=function(f){if(f instanceof u.types.MsgSend)return f;let X=new u.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")n.base64.decode(f.fromAddress,X.fromAddress=n.newBuffer(n.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)X.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")n.base64.decode(f.toAddress,X.toAddress=n.newBuffer(n.base64.length(f.toAddress)),0);else if(f.toAddress.length)X.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");X.amount=[];for(let Q=0;Q<f.amount.length;++Q){if(typeof f.amount[Q]!=="object")throw TypeError(".types.MsgSend.amount: object expected");X.amount[Q]=u.cosmos.base.v1beta1.Coin.fromObject(f.amount[Q])}}return X},T.toObject=function(f,X){if(!X)X={};let Q={};if(X.arrays||X.defaults)Q.amount=[];if(X.defaults){if(X.bytes===String)Q.fromAddress="";else if(Q.fromAddress=[],X.bytes!==Array)Q.fromAddress=n.newBuffer(Q.fromAddress);if(X.bytes===String)Q.toAddress="";else if(Q.toAddress=[],X.bytes!==Array)Q.toAddress=n.newBuffer(Q.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))Q.fromAddress=X.bytes===String?n.base64.encode(f.fromAddress,0,f.fromAddress.length):X.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))Q.toAddress=X.bytes===String?n.base64.encode(f.toAddress,0,f.toAddress.length):X.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){Q.amount=[];for(let q=0;q<f.amount.length;++q)Q.amount[q]=u.cosmos.base.v1beta1.Coin.toObject(f.amount[q],X)}return Q},T.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},T})(),y})();u.cosmos=(()=>{let y={};return y.base=(()=>{let T={};return T.v1beta1=(()=>{let H={};return H.Coin=(()=>{function f(X){if(X){for(let Q=Object.keys(X),q=0;q<Q.length;++q)if(X[Q[q]]!=null)this[Q[q]]=X[Q[q]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(Q){return new f(Q)},f.encode=function(Q,q){if(!q)q=c0.create();if(Q.denom!=null&&Object.hasOwnProperty.call(Q,"denom"))q.uint32(10).string(Q.denom);if(Q.amount!=null&&Object.hasOwnProperty.call(Q,"amount"))q.uint32(18).string(Q.amount);return q},f.encodeDelimited=function(Q,q){return this.encode(Q,q).ldelim()},f.decode=function(Q,q){if(!(Q instanceof r))Q=r.create(Q);let Z=q===void 0?Q.len:Q.pos+q,Y=new u.cosmos.base.v1beta1.Coin;while(Q.pos<Z){let W=Q.uint32();switch(W>>>3){case 1:Y.denom=Q.string();break;case 2:Y.amount=Q.string();break;default:Q.skipType(W&7);break}}return Y},f.decodeDelimited=function(Q){if(!(Q instanceof r))Q=new r(Q);return this.decode(Q,Q.uint32())},f.verify=function(Q){if(typeof Q!=="object"||Q===null)return"object expected";if(Q.denom!=null&&Q.hasOwnProperty("denom")){if(!n.isString(Q.denom))return"denom: string expected"}if(Q.amount!=null&&Q.hasOwnProperty("amount")){if(!n.isString(Q.amount))return"amount: string expected"}return null},f.fromObject=function(Q){if(Q instanceof u.cosmos.base.v1beta1.Coin)return Q;let q=new u.cosmos.base.v1beta1.Coin;if(Q.denom!=null)q.denom=String(Q.denom);if(Q.amount!=null)q.amount=String(Q.amount);return q},f.toObject=function(Q,q){if(!q)q={};let Z={};if(q.defaults)Z.denom="",Z.amount="";if(Q.denom!=null&&Q.hasOwnProperty("denom"))Z.denom=Q.denom;if(Q.amount!=null&&Q.hasOwnProperty("amount"))Z.amount=Q.amount;return Z},f.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},f})(),H.DecCoin=(()=>{function f(X){if(X){for(let Q=Object.keys(X),q=0;q<Q.length;++q)if(X[Q[q]]!=null)this[Q[q]]=X[Q[q]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(Q){return new f(Q)},f.encode=function(Q,q){if(!q)q=c0.create();if(Q.denom!=null&&Object.hasOwnProperty.call(Q,"denom"))q.uint32(10).string(Q.denom);if(Q.amount!=null&&Object.hasOwnProperty.call(Q,"amount"))q.uint32(18).string(Q.amount);return q},f.encodeDelimited=function(Q,q){return this.encode(Q,q).ldelim()},f.decode=function(Q,q){if(!(Q instanceof r))Q=r.create(Q);let Z=q===void 0?Q.len:Q.pos+q,Y=new u.cosmos.base.v1beta1.DecCoin;while(Q.pos<Z){let W=Q.uint32();switch(W>>>3){case 1:Y.denom=Q.string();break;case 2:Y.amount=Q.string();break;default:Q.skipType(W&7);break}}return Y},f.decodeDelimited=function(Q){if(!(Q instanceof r))Q=new r(Q);return this.decode(Q,Q.uint32())},f.verify=function(Q){if(typeof Q!=="object"||Q===null)return"object expected";if(Q.denom!=null&&Q.hasOwnProperty("denom")){if(!n.isString(Q.denom))return"denom: string expected"}if(Q.amount!=null&&Q.hasOwnProperty("amount")){if(!n.isString(Q.amount))return"amount: string expected"}return null},f.fromObject=function(Q){if(Q instanceof u.cosmos.base.v1beta1.DecCoin)return Q;let q=new u.cosmos.base.v1beta1.DecCoin;if(Q.denom!=null)q.denom=String(Q.denom);if(Q.amount!=null)q.amount=String(Q.amount);return q},f.toObject=function(Q,q){if(!q)q={};let Z={};if(q.defaults)Z.denom="",Z.amount="";if(Q.denom!=null&&Q.hasOwnProperty("denom"))Z.denom=Q.denom;if(Q.amount!=null&&Q.hasOwnProperty("amount"))Z.amount=Q.amount;return Z},f.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},f})(),H.IntProto=(()=>{function f(X){if(X){for(let Q=Object.keys(X),q=0;q<Q.length;++q)if(X[Q[q]]!=null)this[Q[q]]=X[Q[q]]}}return f.prototype.int="",f.create=function(Q){return new f(Q)},f.encode=function(Q,q){if(!q)q=c0.create();if(Q.int!=null&&Object.hasOwnProperty.call(Q,"int"))q.uint32(10).string(Q.int);return q},f.encodeDelimited=function(Q,q){return this.encode(Q,q).ldelim()},f.decode=function(Q,q){if(!(Q instanceof r))Q=r.create(Q);let Z=q===void 0?Q.len:Q.pos+q,Y=new u.cosmos.base.v1beta1.IntProto;while(Q.pos<Z){let W=Q.uint32();switch(W>>>3){case 1:Y.int=Q.string();break;default:Q.skipType(W&7);break}}return Y},f.decodeDelimited=function(Q){if(!(Q instanceof r))Q=new r(Q);return this.decode(Q,Q.uint32())},f.verify=function(Q){if(typeof Q!=="object"||Q===null)return"object expected";if(Q.int!=null&&Q.hasOwnProperty("int")){if(!n.isString(Q.int))return"int: string expected"}return null},f.fromObject=function(Q){if(Q instanceof u.cosmos.base.v1beta1.IntProto)return Q;let q=new u.cosmos.base.v1beta1.IntProto;if(Q.int!=null)q.int=String(Q.int);return q},f.toObject=function(Q,q){if(!q)q={};let Z={};if(q.defaults)Z.int="";if(Q.int!=null&&Q.hasOwnProperty("int"))Z.int=Q.int;return Z},f.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},f})(),H.DecProto=(()=>{function f(X){if(X){for(let Q=Object.keys(X),q=0;q<Q.length;++q)if(X[Q[q]]!=null)this[Q[q]]=X[Q[q]]}}return f.prototype.dec="",f.create=function(Q){return new f(Q)},f.encode=function(Q,q){if(!q)q=c0.create();if(Q.dec!=null&&Object.hasOwnProperty.call(Q,"dec"))q.uint32(10).string(Q.dec);return q},f.encodeDelimited=function(Q,q){return this.encode(Q,q).ldelim()},f.decode=function(Q,q){if(!(Q instanceof r))Q=r.create(Q);let Z=q===void 0?Q.len:Q.pos+q,Y=new u.cosmos.base.v1beta1.DecProto;while(Q.pos<Z){let W=Q.uint32();switch(W>>>3){case 1:Y.dec=Q.string();break;default:Q.skipType(W&7);break}}return Y},f.decodeDelimited=function(Q){if(!(Q instanceof r))Q=new r(Q);return this.decode(Q,Q.uint32())},f.verify=function(Q){if(typeof Q!=="object"||Q===null)return"object expected";if(Q.dec!=null&&Q.hasOwnProperty("dec")){if(!n.isString(Q.dec))return"dec: string expected"}return null},f.fromObject=function(Q){if(Q instanceof u.cosmos.base.v1beta1.DecProto)return Q;let q=new u.cosmos.base.v1beta1.DecProto;if(Q.dec!=null)q.dec=String(Q.dec);return q},f.toObject=function(Q,q){if(!q)q={};let Z={};if(q.defaults)Z.dec="";if(Q.dec!=null&&Q.hasOwnProperty("dec"))Z.dec=Q.dec;return Z},f.prototype.toJSON=function(){return this.constructor.toObject(this,S0.default.util.toJSONOptions)},f})(),H})(),T})(),y})()});async function hy(){let{$root:y}=await Promise.resolve().then(() => (D4(),B4)),T=await import("@cosmjs/proto-signing"),H=await import("@cosmjs/stargate"),f=T.Registry??T.default?.Registry,X=H.defaultRegistryTypes??H.default?.defaultRegistryTypes;return new f([...X,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function Oy(y,T=y===v8.Chain.THORChain?"thor":"maya"){let H=await import("@cosmjs/stargate"),f=H.AminoTypes??H.default?.AminoTypes,X=y===v8.Chain.THORChain?"thorchain":"mayachain";return new f({"/types.MsgDeposit":{aminoType:`${X}/MsgDeposit`,fromAmino:({signer:Q,...q})=>({...q,signer:b1(Q)}),toAmino:({signer:Q,...q})=>({...q,signer:h1(Q,T)})},"/types.MsgSend":{aminoType:`${X}/MsgSend`,fromAmino:({from_address:Q,to_address:q,...Z})=>({...Z,fromAddress:b1(Q),toAddress:b1(q)}),toAmino:({fromAddress:Q,toAddress:q,...Z})=>({...Z,from_address:h1(Q,T),to_address:h1(q,T)})}})}var v8;var b8=l(()=>{S8();v8=require("@swapkit/helpers")});async function u8(y){let{assetValue:T,recipient:H,memo:f,sender:X,asSignable:Q,asAminoMessage:q}=y,Z=y.sweep?await e5({assetValue:T,sender:X}):T;if(H)return R4({asAminoMessage:q,asSignable:Q,assetValue:Z,memo:f,recipient:H,sender:X});return x4({asAminoMessage:q,asSignable:Q,assetValue:Z,memo:f,sender:X})}async function e5({assetValue:y,sender:T}){let H=y.chain,f=await E0.getRPCUrl(H),Q=await(await Qy(f)).getAllBalances(T),q=y.isGasAsset?(await l1(H)).getBaseValue("bigint"):0n;return X1({assetValue:y,balances:Q,denom:Yy(y.symbol,!0),feeAmount:q})}async function R4({sender:y,recipient:T,assetValue:H,memo:f="",asSignable:X=!0,asAminoMessage:Q=!1,sequence:q,accountNumber:Z}){let Y=H.chain,W=await E0.getRPCUrl(Y),z=await F4({rpcUrl:W,sender:y}),{chainId:k}=E0.getChainConfig(Y),_=h8({assetValue:H,recipient:T,sender:y}),M=X?await $y(Q?_:Ny(_),Y):_;return{accountNumber:Z||Number(z.accountNumber),chainId:k,fee:r0(Y),memo:f,msgs:[M],sequence:q||z.sequence}}async function x4({sender:y,assetValue:T,memo:H="",asSignable:f=!0,asAminoMessage:X=!1,sequence:Q,accountNumber:q}){let Z=T.chain,Y=await E0.getRPCUrl(Z),W=await F4({rpcUrl:Y,sender:y}),{chainId:z}=E0.getChainConfig(Z),k=l8({assetValue:T,memo:H,sender:y}),_=f?await $y(X?k:Ny(k),Z):k;return{accountNumber:q||Number(W.accountNumber),chainId:z,fee:r0(Z),memo:H,msgs:[_],sequence:Q||W.sequence}}function Ny(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((T)=>{let H=E0.AssetValue.from({asset:T.asset}),f=(H.isSynthetic?H.symbol.split("/")?.[1]:H.symbol)?.toUpperCase(),X=(H.isSynthetic?H.symbol.split("/")?.[0]:H.chain)?.toUpperCase();return{...T,asset:{chain:X,symbol:f,synth:H.isSynthetic,ticker:H.ticker}}})}}}async function m1({chain:y,memo:T,msgs:H}){let f=await hy(),X=await Oy(y),Q={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:H.map((q)=>X.fromAmino(q))}};return f.encode(Q)}var E0,t9,r9,h8=({sender:y,recipient:T,assetValue:H})=>{return{type:`${H.chain===E0.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:H.getBaseValue("string"),denom:Yy(H.symbol,!0)}],from_address:y,to_address:T}}},l8=({sender:y,assetValue:T,memo:H=""})=>{return{type:`${T.chain===E0.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:u1(T)}],memo:H,signer:y}}},s5=({sender:y,recipient:T,assetValue:H,memo:f})=>{return!T?l8({assetValue:H,memo:f,sender:y}):h8({assetValue:H,recipient:T,sender:y})},$y=async(y,T)=>{return(await Oy(T)).fromAmino(y)},F4=async({rpcUrl:y,sender:T})=>{let f=await(await Qy(y)).getAccount(T);if(!f)throw new E0.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});return f};var I4=l(()=>{p1();b8();E0=require("@swapkit/helpers"),t9=r0(E0.Chain.THORChain).gas,r9=r0(E0.Chain.Maya).gas});var P4=()=>{};var j4=l(()=>{P4()});var p8=l(()=>{S8();I4();b8();j4()});async function n8(y,T){try{let f=(await o8.SwapKitApi.getGasRate()).find((X)=>X.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}async function g8({phrase:y,prefix:T,...H}){let f=await import("@cosmjs/proto-signing"),X=await import("@cosmjs/crypto"),Q=f.DirectSecp256k1HdWallet??f.default?.DirectSecp256k1HdWallet,q=X.stringToPath??X.default?.stringToPath,Z="derivationPath"in H?H.derivationPath:`${o.DerivationPath[H.chain]}/${H.index}`;return await Q.fromMnemonic(y,{hdPaths:[q(Z)],prefix:T})}async function a9({privateKey:y,prefix:T}){let H=await import("@cosmjs/proto-signing");return(H.DirectSecp256k1Wallet??H.default?.DirectSecp256k1Wallet).fromKey(y,T)}function V4(y){return async function({signature:H,message:f,address:X}){let Q=await y(X);if(!Q?.pubkey)throw new o.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let q=await import("@cosmjs/crypto"),Z=q.Secp256k1Signature??q.default?.Secp256k1Signature,Y=q.Secp256k1??q.default?.Secp256k1,W=Z.fromFixedLength(Cy.base64.decode(H));return Y.verifySignature(W,Cy.base64.decode(f),Q.pubkey.value)}}function o1({chain:y,...T}){let H=o.CosmosChainPrefixes[y],f="index"in T?T.index||0:0,X=o.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:o.updateDerivationPath(o.NetworkDerivationPath[y],{index:f})),Q;async function q(){if(Q)return Q;return Q=await g1.match(T).with({phrase:g1.P.string},({phrase:M})=>g8({derivationPath:X,phrase:M,prefix:H})).with({signer:g1.P.any},({signer:M})=>M).otherwise(()=>{return}),Q}async function Z(M){let $=await o.getRPCUrl(y);return(await Qy($)).getAccount(M)}async function Y(){let M=await q(),[$]=await M?.getAccounts()||[];return $?.address}async function W(){let M=await q(),[$]=await M?.getAccounts()||[];if(!$?.pubkey)throw new o.SwapKitError("toolbox_cosmos_signer_not_defined");return Cy.base64.encode($?.pubkey)}async function z(M){let $=await q(),O=await Y(),D=await o.getRPCUrl(y);if(!($&&O))throw new o.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await by(D,$)).sign(O,M.msgs,M.fee,M.memo,{accountNumber:BigInt(M.accountNumber),chainId:M.chainId,sequence:M.sequence})}async function k(M){let $=await q(),O=await Y(),D=await o.getRPCUrl(y);if(!($&&O))throw new o.SwapKitError("toolbox_cosmos_signer_not_defined");let P=await(await by(D,$)).signAndBroadcast(O,M.msgs,M.fee,M.memo);if(P.code!==0)throw new o.SwapKitError("core_swap_transaction_error",{code:P.code,message:P.rawLog});return P.transactionHash}async function _({recipient:M,assetValue:$,memo:O="",feeRate:D,feeOptionKey:R=o.FeeOption.Fast,sweep:P}){let E=await q(),j=await Y();if(!(E&&j))throw new o.SwapKitError("toolbox_cosmos_signer_not_defined");let K=await o.getRPCUrl(y),N=o.AssetValue.from({chain:y}),B=u1(N),L=yQ(D||(await S4(y,K4[y]))[R],B,y),J=await by(K,E),U=Yy($.symbol),C=[{amount:(P?X1({assetValue:$,balances:await m8(y)(j),denom:U,feeAmount:a5(L.amount,U)}):$).getBaseValue("string"),denom:U}],{transactionHash:F}=await J.sendTokens(j,M,C,L,O);return F}return{createPrivateKeyFromPhrase:TQ(X),createTransaction:w8,fetchFeeRateFromSwapKit:n8,getAccount:Z,getAddress:Y,getBalance:async(M,$)=>{let O=await m8(y)(M),D=await Promise.all(O.filter(({denom:R})=>R&&!R.includes("IBC/")&&!([o.Chain.THORChain,o.Chain.Maya].includes(y)&&R.split("-").length>2)).map(({denom:R,amount:P})=>{let E=[o.Chain.THORChain,o.Chain.Maya].includes(y)&&(R.includes("/")||R.includes("˜"))?`${y}.${R}`:R;return E8(E,P)}));if(D.length===0)return[o.AssetValue.from({chain:y})];return D},getBalanceAsDenoms:m8(y),getFees:()=>S4(y,K4[y]),getPubKey:W,getSignerFromPhrase:({phrase:M,derivationPath:$})=>g8({derivationPath:o.derivationPathToString($),index:f,phrase:M,prefix:H}),getSignerFromPrivateKey:async(M)=>{let $=await import("@cosmjs/proto-signing");return($.DirectSecp256k1Wallet??$.default?.DirectSecp256k1Wallet).fromKey(M,H)},signAndBroadcastTransaction:k,signTransaction:z,transfer:_,validateAddress:A4(y),verifySignature:V4(Z)}}async function s9(y,T){try{let f=(await o8.SwapKitApi.getGasRate()).find((X)=>X.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}function e9({assetValue:{chain:y}}){return o.AssetValue.from({chain:y,value:fQ(y)})}async function S4(y,T){let{chainId:H,baseDecimal:f}=o.getChainConfig(y),X=await n8(H,T);return{average:o.SwapKitNumber.fromBigInt(BigInt(X),f),fast:o.SwapKitNumber.fromBigInt(BigInt(o.applyFeeMultiplier(X,o.FeeOption.Fast,!0)),f),fastest:o.SwapKitNumber.fromBigInt(BigInt(o.applyFeeMultiplier(X,o.FeeOption.Fastest,!0)),f)}}function yQ(y,T,H){return{amount:[{amount:typeof y==="number"?y.toString():y.getBaseValue("string"),denom:T}],gas:r0(H).gas}}function fQ(y){return{[o.Chain.Cosmos]:0.007,[o.Chain.Kujira]:0.02,[o.Chain.Noble]:0.01,[o.Chain.THORChain]:0.02,[o.Chain.Maya]:0.02,[o.Chain.Harbor]:0.02}[y]||0}function A4(y){let T=o.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(T))return!1;try{let{prefix:X,words:Q}=Cy.bech32.decode(f);return Cy.bech32.encode(X,Q)===f.toLocaleLowerCase()}catch{return!1}}}function m8(y){return async function(H){let f=await o.getRPCUrl(y);return(await(await Qy(f)).getAllBalances(H)).map((Z)=>({...Z,denom:Z.denom.includes("/")?Z.denom.toUpperCase():Z.denom}))}}function TQ(y){return async function(H){let f=await import("@cosmjs/crypto"),X=f.stringToPath??f.default?.stringToPath,Q=f.Slip10Curve??f.default?.Slip10Curve,q=f.Slip10??f.default?.Slip10,Z=f.EnglishMnemonic??f.default?.EnglishMnemonic,Y=f.Bip39??f.default?.Bip39,W=new Z(H),z=await Y.mnemonicToSeed(W),{privkey:k}=q.derivePath(Q.Secp256k1,z,X(y));return k}}var Cy,o,o8,g1,K4;var yf=l(()=>{p1();Cy=require("@scure/base"),o=require("@swapkit/helpers"),o8=require("@swapkit/helpers/api"),g1=require("ts-pattern");K4={[o.Chain.Cosmos]:1000,[o.Chain.Kujira]:1000,[o.Chain.Noble]:1000,[o.Chain.THORChain]:5000000,[o.Chain.Maya]:5000000,[o.Chain.Harbor]:5000000}});function HQ({prefix:y,derivationPath:T}){return async function(f,X=0){let Q=await import("@cosmjs/amino"),q=Q.Secp256k1HdWallet??Q.default?.Secp256k1HdWallet,Z=await import("@cosmjs/crypto"),Y=Z.stringToPath??Z.default?.stringToPath;return q.fromMnemonic(f,{hdPaths:[Y(`${T}/${X}`)],prefix:y})}}function XQ(y){return ky.base64.encode(y)}function QQ(y,T){return async function({wallet:f,tx:X}){let{msgs:Q,accountNumber:q,sequence:Z,chainId:Y,fee:W,memo:z}=typeof X==="string"?JSON.parse(X):X,k=(await f.getAccounts())?.[0]?.address||"",_=await Oy(y,T),M=await hy(),$=await A8(f,{aminoTypes:_,registry:M}),O=[];for(let P of Q){let E=await $y(P,y);O.push(E)}let{signatures:[D]}=await $.sign(k,O,W,z,{accountNumber:BigInt(q),chainId:Y,sequence:Z});return{bodyBytes:await m1({chain:y,memo:z,msgs:Q.map(Ny)}),signature:XQ(D)}}}function qQ({prefix:y,chain:T}){return async function(f,X,Q,q,Z){let Y=await F0.getRPCUrl(T),{encodeSecp256k1Pubkey:W,pubkeyToAddress:z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:k}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:M}=JSON.parse(f),$=await w4(Q,q),O=X.map((P)=>[z(W(ky.base64.decode(P.pubKey)),y),ky.base64.decode(P.signature)]),D=await Qy(Y),{transactionHash:R}=await D.broadcastTx(k($,_,M,Z,new Map(O)));return R}}async function w4(y,T,H=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:X}=(await import("@cosmjs/amino")).default;return f(y.map((Q)=>X(ky.base64.decode(Q))),T,H)}function ZQ(y){return ky.base64.decode(y)}async function UQ({privateKey:y,message:T}){let{Secp256k1:H}=(await import("@cosmjs/crypto")).default,f=await H.createSignature(ky.base64.decode(T),y);return ky.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function c8({chain:y,...T}){let{isStagenet:H}=F0.SKConfig.get("envs"),f=`${H?"s":""}${F0.CosmosChainPrefixes[y]}`,X="index"in T?T.index||0:0,Q="derivationPath"in T&&T.derivationPath?T.derivationPath:F0.updateDerivationPath(F0.NetworkDerivationPath[y],{index:X}),q=o1({chain:y,...T}),Z=r0(y),Y;function W(){return Y??=n1.match(T).with({phrase:n1.P.string},({phrase:O})=>q.getSignerFromPhrase({derivationPath:Q,phrase:O})).with({signer:n1.P.any},({signer:O})=>Promise.resolve(O)).otherwise(()=>Promise.resolve(void 0)),Y}async function z(){let O=await F0.getRPCUrl(y),D=await W();if(!D)throw new F0.SwapKitError("toolbox_cosmos_no_signer");let R=await hy(),P=await Oy(y,f),E=await by(O,D,{aminoTypes:P,registry:R});return{signer:D,signingClient:E}}async function k({fee:O,memo:D,msgs:R}){let{signer:P,signingClient:E}=await z(),j=(await P.getAccounts())?.[0]?.address;if(!j)throw new F0.SwapKitError("toolbox_cosmos_signer_not_defined");let K=await E.signAndBroadcast(j,R,O,D);if(K.code!==0)throw new F0.SwapKitError("core_swap_transaction_error",{code:K.code,message:K.rawLog});return K.transactionHash}async function _(){let O=await l1(y);return{[F0.FeeOption.Average]:O,[F0.FeeOption.Fast]:O,[F0.FeeOption.Fastest]:O}}async function M({assetValue:O,memo:D="",recipient:R,sweep:P}){let{TxRaw:E}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:j,signingClient:K}=await z(),N=(await j.getAccounts())?.[0]?.address;if(!N)throw new F0.SwapKitError("toolbox_cosmos_no_signer");let B="signAmino"in j,L=P?await e5({assetValue:O,sender:N}):O,J=s5({assetValue:L,memo:D,recipient:R,sender:N});if(B){let C=await $y(J,y),{signatures:F,authInfoBytes:x}=await K.sign(N,[C],Z,D),A=E.encode({authInfoBytes:x,bodyBytes:await m1({chain:y,memo:D,msgs:[J].map(Ny)}),signatures:F}).finish();return(await K.broadcastTx(A)).transactionHash}let U=Ny(J),G=await $y(U,y);return k({fee:Z,memo:D,msgs:[G]})}async function $(O){let{signer:D,signingClient:R}=await z(),P=(await D.getAccounts())?.[0]?.address;if(!P)throw new F0.SwapKitError("toolbox_cosmos_signer_not_defined");return R.sign(P,O.msgs,O.fee,O.memo,{accountNumber:BigInt(O.accountNumber),chainId:O.chainId,sequence:O.sequence})}return{...q,broadcastMultisigTx:qQ({chain:y,prefix:f}),buildAminoMsg:s5,buildEncodedTxBody:m1,convertToSignable:$y,createDefaultAminoTypes:()=>Oy(y,f),createDefaultRegistry:hy,createMultisig:w4,createTransaction:u8,deposit:M,getFees:_,importSignature:ZQ,parseAminoMessageForDirectSigning:Ny,pubkeyToAddress:async(O)=>{let{pubkeyToAddress:D}=(await import("@cosmjs/amino")).default;return D(O,f)},secp256k1HdWalletFromMnemonic:HQ({derivationPath:F0.derivationPathToString(Q),prefix:f}),signAndBroadcastTransaction:k,signMultisigTx:QQ(y,f),signTransaction:$,signWithPrivateKey:UQ,transfer:M}}var ky,F0,n1;var d8=l(()=>{p8();p1();yf();ky=require("@scure/base"),F0=require("@swapkit/helpers"),n1=require("ts-pattern")});var By,YQ=(y,T)=>{switch(y){case By.Chain.Cosmos:case By.Chain.Kujira:case By.Chain.Noble:return o1({chain:y,...T});case By.Chain.Maya:case By.Chain.THORChain:return c8({chain:y,...T});default:throw new By.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var E4=l(()=>{yf();d8();By=require("@swapkit/helpers");yf();d8()});var ff={};P0(ff,{verifySignature:()=>V4,transferMsgAmino:()=>h8,toBase64:()=>n9,resolveThorchainSweepAssetValue:()=>e5,parseAminoMessageForDirectSigning:()=>Ny,getThorchainNativeFee:()=>l1,getSweepAssetValue:()=>X1,getSignerFromPrivateKey:()=>a9,getSignerFromPhrase:()=>g8,getMsgSendDenom:()=>Yy,getFeeRateFromSwapKit:()=>s9,getFeeAmountForDenom:()=>a5,getDenomWithChain:()=>u1,getDefaultChainFee:()=>r0,getCosmosToolbox:()=>YQ,getCosmosAddressValidator:()=>A4,getAssetFromDenom:()=>E8,fromBase64:()=>c9,fetchFeeRateFromSwapKit:()=>n8,estimateTransactionFee:()=>e9,depositMsgAmino:()=>l8,createTransaction:()=>u8,createThorchainToolbox:()=>c8,createStargateClient:()=>Qy,createSigningStargateClient:()=>by,createOfflineStargateClient:()=>A8,createDefaultRegistry:()=>hy,createDefaultAminoTypes:()=>Oy,createCosmosToolbox:()=>o1,cosmosCreateTransaction:()=>w8,convertToSignable:()=>$y,buildTransferTx:()=>R4,buildEncodedTxBody:()=>m1,buildDepositTx:()=>x4,buildAminoMsg:()=>s5,bech32ToBase64:()=>b1,base64ToBech32:()=>h1,YUM_KUJIRA_FACTORY_DENOM:()=>$4,USK_KUJIRA_FACTORY_DENOM:()=>V8,THORCHAIN_GAS_VALUE:()=>t9,MAYA_GAS_VALUE:()=>r9,DEFAULT_NOBLE_FEE_MAINNET:()=>k4,DEFAULT_KUJI_FEE_MAINNET:()=>C4,DEFAULT_COSMOS_FEE_MAINNET:()=>N4});module.exports=V0(ff);var Tf=l(()=>{p8();E4();p1()});function JQ({builder:y,grouping:T="na",orders:H}){return{builder:y,grouping:T,orders:H,type:"order"}}function WQ({cancels:y}){return{cancels:y,type:"cancel"}}function zQ({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function GQ({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function LQ({modifies:y}){return{modifies:y,type:"batchModify"}}function MQ({asset:y,isCross:T,leverage:H}){return{asset:y,isCross:T,leverage:H,type:"updateLeverage"}}function _Q({asset:y,isBuy:T,ntli:H}){return{asset:y,isBuy:T,ntli:H,type:"updateIsolatedMargin"}}function OQ({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function $Q({time:y}){return{time:y,type:"scheduleCancel"}}function NQ({amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:X}){return{amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:X,type:"usdClassTransfer"}}function CQ({amount:y,destination:T,destinationDex:H,fromSubAccount:f,hyperliquidChain:X,nonce:Q,signatureChainId:q,sourceDex:Z,token:Y}){return{amount:y,destination:T,destinationDex:H,fromSubAccount:f,hyperliquidChain:X,nonce:Q,signatureChainId:q,sourceDex:Z,token:Y,type:"sendAsset"}}function kQ({agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:X}){return{agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:X,type:"approveAgent"}}function BQ({builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:X}){return{builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:X,type:"approveBuilderFee"}}function DQ({hyperliquidChain:y,isUndelegate:T,nonce:H,signatureChainId:f,validator:X,wei:Q}){return{hyperliquidChain:y,isUndelegate:T,nonce:H,signatureChainId:f,type:"tokenDelegate",validator:X,wei:Q}}function p0(...y){let T=y.reduce((X,Q)=>X+Q.length,0),H=new Uint8Array(T),f=0;for(let X of y)H.set(X,f),f+=X.length;return H}function jQ(y,T,H){if(H<T)return new Uint8Array([y+H]);if(H<=255)return new Uint8Array([y+T,H]);if(H<=65535)return new Uint8Array([y+T+1,H>>8,H&255]);return new Uint8Array([y+T+2,H>>>24&255,H>>>16&255,H>>>8&255,H&255])}function Dy(y,T){let H=new Uint8Array(T),f=y;for(let X=T-1;X>=0;X-=1)H[X]=Number(f&0xffn),f>>=8n;return H}function v4(y){if(y>=0n){if(y<=0x7fn)return new Uint8Array([Number(y)]);if(y<=0xffn)return new Uint8Array([204,Number(y)]);if(y<=0xffffn)return p0(new Uint8Array([205]),Dy(y,2));if(y<=0xffffffffn)return p0(new Uint8Array([206]),Dy(y,4));return p0(new Uint8Array([207]),Dy(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return p0(new Uint8Array([209]),Dy(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return p0(new Uint8Array([210]),Dy(BigInt.asUintN(32,y),4));return p0(new Uint8Array([211]),Dy(BigInt.asUintN(64,y),8))}function l4(y){let T=PQ.encode(y);if(T.length<32)return p0(new Uint8Array([160+T.length]),T);return p0(jQ(217,0,T.length),T)}function KQ(y){let T=y.map((f)=>i8(f)),H=y.length<16?new Uint8Array([144+y.length]):y.length<=65535?new Uint8Array([220,y.length>>8,y.length&255]):new Uint8Array([221,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return p0(H,...T)}function SQ(y){let T=Object.entries(y).filter(([,f])=>typeof f<"u"),H=T.length<16?new Uint8Array([128+T.length]):T.length<=65535?new Uint8Array([222,T.length>>8,T.length&255]):new Uint8Array([223,T.length>>>24&255,T.length>>>16&255,T.length>>>8&255,T.length&255]);return p0(H,...T.flatMap(([f,X])=>[l4(f),i8(X)]))}function i8(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return l4(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new Hf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return v4(BigInt(y))}if(typeof y==="bigint")return v4(y);if(y instanceof Uint8Array){let T=y.length<=255?new Uint8Array([196,y.length]):y.length<=65535?new Uint8Array([197,y.length>>8,y.length&255]):new Uint8Array([198,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return p0(T,y)}if(Array.isArray(y))return KQ(y);if(typeof y==="object")return SQ(y);throw new Hf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function VQ(y){let T=y.startsWith("0x")?y.slice(2):y;if(T.length%2!==0||/[^a-fA-F0-9]/u.test(T))throw new Hf.SwapKitError("helpers_invalid_params",{hexValue:y});let H=new Uint8Array(T.length/2);for(let f=0;f<T.length;f+=2)H[f/2]=Number.parseInt(T.slice(f,f+2),16);return H}function u4(y){return{domain:FQ,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...RQ.Agent]}}}function p4(y){let T=IQ[y.type],H=xQ[y.type],{type:f,...X}=y;return{domain:{chainId:Number.parseInt(X.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:b4,version:"1"},message:{...X,hyperliquidChain:X.hyperliquidChain||h4},primaryType:T,types:{[T]:H}}}function m4(y){let T=Xf.Signature.from(y);return{r:T.r,s:T.s,v:T.v}}function g4(y,T,{expiresAfter:H,vaultAddress:f}={}){let X=i8(y),Q=Dy(BigInt(T),8),q=f?p0(new Uint8Array([1]),VQ(f.toLowerCase())):new Uint8Array([0]),Z=typeof H==="number"?p0(new Uint8Array([0]),Dy(BigInt(H),8)):new Uint8Array;return Xf.keccak256(p0(X,Q,q,Z))}function o4(y){let T=y.hyperliquidChain||h4;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:T};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:T};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:T};case"tokenDelegate":return{...y,hyperliquidChain:T,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:T};default:return y}}var Hf,Xf,b4="0x0000000000000000000000000000000000000000",FQ,RQ,h4="Mainnet",xQ,IQ,PQ;var n4=l(()=>{Hf=require("@swapkit/helpers"),Xf=require("ethers"),FQ={chainId:1337,name:"Exchange",verifyingContract:b4,version:"1"},RQ={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},xQ={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"}]},IQ={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},PQ=new TextEncoder});function a0(y,T){if(!a8(y))throw new G0.SwapKitError(T,{address:y});return y.toLowerCase()}async function ly(y){let T=await Qf();return G0.RequestClient.post(`${T}/info`,{json:y})}function lQ({dex:y,user:T}){return ly({...y?{dex:y}:{},type:"clearinghouseState",user:a0(T,"helpers_invalid_params")})}function r4({user:y}){return ly({type:"spotClearinghouseState",user:a0(y,"helpers_invalid_params")})}function uQ({dex:y,user:T}){return ly({...y?{dex:y}:{},type:"openOrders",user:a0(T,"helpers_invalid_params")})}function pQ({dex:y,user:T}){return ly({...y?{dex:y}:{},type:"frontendOpenOrders",user:a0(T,"helpers_invalid_params")})}function mQ({oidOrCloid:y,user:T}){return ly({oid:y,type:"orderStatus",user:a0(T,"helpers_invalid_params")})}function gQ({aggregateByTime:y,user:T}){return ly({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:a0(T,"helpers_invalid_params")})}function oQ({aggregateByTime:y,endTime:T,startTime:H,user:f}){return ly({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:H,type:"userFillsByTime",user:a0(f,"helpers_invalid_params")})}function c4({coin:y,token:T,value:H,spotMeta:f}){if(!H||Number(H)<=0)return null;let X=y?.toUpperCase()||`TOKEN-${T||"UNKNOWN"}`,Q=AQ[X]||t4,q=f?.tokens?.find((Y)=>Y.name===y||T!==void 0&&Y.index===Number(T)),Z=q?`${qy}.${X}-${q.name}:${q.tokenId}`:`${qy}.${X}`;return new G0.AssetValue({decimal:Q,identifier:Z,value:H})}function nQ(y){let T=new Map;for(let H of y){let f=H.toString({includeSynthProtocol:!0}),X=T.get(f);T.set(f,X?X.add(H):H)}if(![...T.values()].some((H)=>H.isGasAsset||H.ticker==="HYPE")){let H=G0.AssetValue.from({chain:qy,value:0});T.set(H.toString({includeSynthProtocol:!0}),H)}return[...T.values()]}async function Qf(){try{return await G0.getRPCUrl(qy)}catch{let[y]=G0.getChainConfig(qy).rpcUrls;if(!y)throw new G0.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:qy});return y}}async function r8(){return`${await Qf()}/exchange`}function cQ(y){let T=hQ[y.type],{type:H,...f}=y,X=bQ[H];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:vQ,version:"1"},message:f,primaryType:T,types:{[T]:X}}}async function a4({action:y,expiresAfter:T,nonce:H,vaultAddress:f}){let X=H||Date.now(),Q=f?a0(f,"helpers_invalid_params"):void 0,q=await r8(),Z=g4(y,X,{expiresAfter:T,vaultAddress:Q});return{action:y,endpoint:q,expiresAfter:T,nonce:X,typedData:u4(Z),vaultAddress:Q}}async function s4({action:y,nonce:T,signatureChainId:H}){let f=T||y.nonce||Date.now(),X=H||y.signatureChainId||"0xa4b1",Q=o4({...y,nonce:f,signatureChainId:X});return{action:Q,endpoint:await r8(),nonce:f,typedData:p4(Q)}}async function dQ({assetValue:y,sender:T,token:H}){let f=await r4({user:T}),X=(f.spotState?.balances||f.balances||[]).find(({coin:Q})=>Q&&H.startsWith(`${Q}:`))?.total;if(!X||Number(X)<=0)throw new G0.SwapKitError("toolbox_sweep_amount_too_low",{asset:y.toString(),balance:X||"0"});return X}async function t8({assetValue:y,recipient:T,sender:H,signatureChainId:f,sweep:X,time:Q}){let q=a0(T,"core_transaction_invalid_recipient_address"),Z=a0(H,"core_transaction_invalid_sender_address"),Y=y.address;if(!Y)throw new G0.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:Z});let W=X?await dQ({assetValue:y,sender:Z,token:Y}):y.getValue("string"),z=await r8(),k=Q||Date.now(),_={amount:W,destination:q,hyperliquidChain:wQ,signatureChainId:f||EQ,time:k,token:Y,type:"spotSend"};return{action:_,endpoint:z,nonce:k,typedData:cQ(_)}}async function d4(y){let T=await G0.RequestClient.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(T.status!=="ok")throw new G0.SwapKitError("core_transaction_failed",{response:T});return T}async function iQ(y,T){let H=await Qf(),f=T-5000;for(let X=0;X<5;X++){if(X>0)await new Promise((Q)=>setTimeout(Q,1000));try{let Q=await G0.RequestClient.post(`${H}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),q=Array.isArray(Q)?Q.find((Z)=>Z.time&&Z.time>=T&&(Z.delta?.type==="spotTransfer"||Z.delta?.type==="internalTransfer")):void 0;if(q?.hash)return q.hash}catch{}}return""}function a8(y){return y.startsWith("0x")&&S1(y)}function tQ(y){let T=w0(qy),H=y&&"index"in y?y.index||0:0,f=G0.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:G0.updateDerivationPath(G0.NetworkDerivationPath[qy],{index:H})),X,Q=!1;function q(){if(Q)return X;return X=Q1.match(y).with({phrase:Q1.P.string},({phrase:_})=>{return i4.HDNodeWallet.fromPhrase(_,void 0,f)}).with({signer:Q1.P.not(Q1.P.nullish)},({signer:_})=>_).otherwise(()=>{return}),Q=!0,X}async function Z(){let _=q();return _?await _.getAddress():""}async function Y(_){let M=q();if(!M)throw new G0.SwapKitError("toolbox_hypercore_no_signer");let $=await M.signTypedData(_.typedData.domain,_.typedData.types,_.typedData.message);return{action:_.action,endpoint:_.endpoint,nonce:_.nonce,signature:m4($),..."expiresAfter"in _?{expiresAfter:_.expiresAfter}:{},..."vaultAddress"in _?{vaultAddress:_.vaultAddress}:{}}}async function W(_){let M=a0(_,"helpers_invalid_params");try{let $=await Qf(),[O,D,R]=await Promise.all([G0.RequestClient.post(`${$}/info`,{json:{type:"spotClearinghouseState",user:M}}),G0.RequestClient.post(`${$}/info`,{json:{type:"clearinghouseState",user:M}}),G0.RequestClient.post(`${$}/info`,{json:{type:"spotMeta"}})]),P=(O.spotState?.balances||O.balances||[]).map(({coin:j,token:K,total:N})=>c4({coin:j,spotMeta:R,token:K,value:N})).filter((j)=>!!j),E=c4({coin:"USDC",spotMeta:R,value:D.withdrawable||D.marginSummary?.accountValue||D.marginSummary?.totalRawUsd});return nQ(E?[...P,E]:P)}catch{return T(M)}}async function z({sweep:_,...M}){let $=q();if(!$)throw new G0.SwapKitError("toolbox_hypercore_no_signer");let O=M.sender||await $.getAddress(),D=await t8({...M,feeRate:0,sender:O,sweep:_}),R=await Y(D);return await d4(R),iQ(O,D.nonce)}function k(){return G0.AssetValue.from({chain:qy,value:0})}return{broadcastTransaction:d4,createL1ActionRequest:a4,createTransaction:t8,createUserSignedActionRequest:s4,estimateTransactionFee:k,getAddress:Z,getBalance:W,getState:{clearinghouse:lQ,frontendOpenOrders:pQ,openOrders:uQ,orderStatus:mQ,spotClearinghouse:r4,userFills:gQ,userFillsByTime:oQ},signTransaction:Y,transfer:z,validateAddress:a8}}var G0,i4,Q1,qy,t4,AQ,wQ="Mainnet",EQ="0xa4b1",vQ="0x0000000000000000000000000000000000000000",bQ,hQ;var e4=l(()=>{x8();Hy();n4();G0=require("@swapkit/helpers"),i4=require("ethers"),Q1=require("ts-pattern"),qy=G0.Chain.Hype,{baseDecimal:t4}=G0.getChainConfig(qy),AQ={HYPE:t4,USDC:6,USDT:6},bQ={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},hQ={spotSend:"HyperliquidTransaction:SpotSend"}});var s8={};P0(s8,{validateHyperCoreAddress:()=>a8,getHyperCoreToolbox:()=>tQ,createUserSignedActionRequest:()=>s4,createTransaction:()=>t8,createL1ActionRequest:()=>a4,buildUsdClassTransferAction:()=>NQ,buildUpdateLeverageAction:()=>MQ,buildUpdateIsolatedMarginAction:()=>_Q,buildTopUpIsolatedOnlyMarginAction:()=>OQ,buildTokenDelegateAction:()=>DQ,buildSendAssetAction:()=>CQ,buildScheduleCancelAction:()=>$Q,buildOrderAction:()=>JQ,buildModifyAction:()=>GQ,buildCancelByCloidAction:()=>zQ,buildCancelAction:()=>WQ,buildBatchModifyAction:()=>LQ,buildApproveBuilderFeeAction:()=>BQ,buildApproveAgentAction:()=>kQ});module.exports=V0(s8);var e8=l(()=>{e4()});async function TH(y){let T=H0.AssetValue.from({address:y,chain:H0.Chain.Solana});if(T.symbol!=="UNKNOWN")return{decimals:T.decimal||0,id:y,logoURI:T.getIconUrl(),name:T.symbol,symbol:T.ticker};let H=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(H);if(!f.ok)return null;let X=await f.json();if(!Array.isArray(X)||X.length===0)return null;return X.find((q)=>q.id===y)||null}catch{return null}}async function rQ(y){let T=await Jy(),{PublicKey:H}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),X=new H(y),{baseDecimal:Q}=H0.getChainConfig(H0.Chain.Solana),q=await T.getBalance(X),Z=[H0.AssetValue.from({chain:H0.Chain.Solana,fromBaseDecimal:Q,value:q||0})],Y=await T.getParsedTokenAccountsByOwner(X,{programId:f});for(let{account:W}of Y.value){let z=W.data.parsed.info,k=z.mint,_=z.tokenAmount.amount;if(Number(_)===0)continue;let M=await TH(k),$=M?.symbol||"UNKNOWN",O=M?.decimals||z.tokenAmount.decimals;Z.push(H0.AssetValue.from({asset:`${H0.Chain.Solana}.${$}-${k}`,fromBaseDecimal:O,value:_}))}return Z}function f2(y){try{let T=new Zy.PublicKey(y);return Zy.PublicKey.isOnCurve(T.toBytes())}catch{return!1}}function aQ(y){let T=y&&"index"in y?y.index||0:0,H=H0.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:H0.updateDerivationPath(H0.NetworkDerivationPath[H0.Chain.Solana],{index:T})),f;async function X(){if(f)return f;return f=await c1.match(y).with({phrase:c1.P.string},({phrase:q})=>y2({derivationPath:H,phrase:q})).with({signer:c1.P.any},({signer:q})=>q).otherwise(()=>{return}),f}async function Q(){let q=await X();return q?.publicKey?fH(q.publicKey):""}return{broadcastTransaction:qf(Jy),createKeysForPath:y2,createTransaction:T2(Jy),createTransactionFromInstructions:f6,estimateTransactionFee:sQ(Jy),getAddress:Q,getAddressFromPubKey:fH,getBalance:w0(H0.Chain.Solana),getBalanceFromRPC:rQ,getConnection:Jy,getPubkeyFromAddress:(q)=>new Zy.PublicKey(q),signAndBroadcastTransaction:async(q)=>{let Z=await yH(Jy,X)(q);return qf(Jy)(Z)},signTransaction:yH(Jy,X),transfer:T6(Jy,X),validateAddress:f2}}function sQ(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:X,sender:Q})=>{let q=await y(),Z=await T2(y)({assetValue:H,isProgramDerivedAddress:X,memo:f,recipient:T,sender:Q}),Y=await HH(q,Z),{baseDecimal:W}=H0.getChainConfig(H0.Chain.Solana);return H0.AssetValue.from({chain:H0.Chain.Solana,fromBaseDecimal:W,value:Y})}}async function HH(y,T){let H=await y.getFeeForMessage(T.compileMessage());if(H.value===null)throw new H0.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");return H.value}async function Jy(){let{Connection:y}=await import("@solana/web3.js"),T=await H0.getRPCUrl(H0.Chain.Solana);return new y(T,{commitment:"confirmed",fetchMiddleware:(H,f,X)=>{let Q={};for(let[q,Z]of Object.entries(f?.headers??{})){let Y=q.toLowerCase();if(Y!=="pragma"&&Y!=="solana-client")Q[q]=Z}X(H,{...f,headers:Q})}})}function eQ(y){return async({assetValue:T,recipient:H,sender:f,isProgramDerivedAddress:X,sweep:Q})=>{let q=await y(),Z=new Zy.PublicKey(f);if(T.isGasAsset){let{Transaction:Y,SystemProgram:W}=await import("@solana/web3.js");return new Y().add(W.transfer({fromPubkey:Z,lamports:Q?0:T.getBaseValue("number"),toPubkey:new Zy.PublicKey(H)}))}if(T.address)return y6({amount:Q?0:T.getBaseValue("number"),connection:q,decimals:T.decimal,from:Z,isProgramDerivedAddress:X,recipient:H,sweep:Q,tokenAddress:T.address});return}}async function y6({tokenAddress:y,recipient:T,from:H,connection:f,amount:X,decimals:Q,isProgramDerivedAddress:q,sweep:Z}){let{getAssociatedTokenAddress:Y,getAccount:W,createAssociatedTokenAccountInstruction:z,createTransferCheckedInstruction:k}=await import("@solana/spl-token"),{Transaction:_}=await import("@solana/web3.js"),M=new _,$=new Zy.PublicKey(y),O=await Y($,H),D=new Zy.PublicKey(T),R=await Y($,D,q),P=!1;try{await W(f,R),P=!0}catch{}if(!P)M.add(z(H,R,D,$));let E=Z?BigInt((await f.getTokenAccountBalance(O)).value.amount):X;if(Z&&E<=0n)throw new H0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:y,balance:E.toString()}});return M.add(k(O,$,R,H,E,Q)),M}function T2(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:X,sender:Q,sweep:q})=>{let{createMemoInstruction:Z}=await import("@solana/spl-memo"),Y=new Zy.PublicKey(Q);if(!(X||f2(T)))throw new H0.SwapKitError("core_transaction_invalid_recipient_address");let W=await y(),z=await eQ(y)({assetValue:H,isProgramDerivedAddress:X,recipient:T,sender:Q,sweep:q});if(!z)throw new H0.SwapKitError("core_transaction_invalid_sender_address");if(f)z.add(Z(f));let k=await W.getLatestBlockhash();if(z.recentBlockhash=k.blockhash,z.feePayer=Y,q&&H.isGasAsset){let[_,M,$]=await Promise.all([W.getBalance(Y),HH(W,z),W.getMinimumBalanceForRentExemption(0)]),O=_-M-$;if(O<=0)throw new H0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{balance:_,fee:M,rentReserve:$}});let{SystemProgram:D}=await import("@solana/web3.js");z.instructions[0]=D.transfer({fromPubkey:Y,lamports:O,toPubkey:new Zy.PublicKey(T)})}return z}}async function f6({instructions:y}){let{Transaction:T}=await import("@solana/web3.js"),H=new T().add(...y);if(!H)throw new H0.SwapKitError("core_transaction_invalid_sender_address");return H}function T6(y,T){return async({recipient:H,assetValue:f,memo:X,isProgramDerivedAddress:Q,sweep:q})=>{let Z=await T();if(!Z)throw new H0.SwapKitError("core_transaction_invalid_sender_address");let Y=Z.publicKey?.toString()??(await Z.connect()).publicKey.toString(),W=await T2(y)({assetValue:f,isProgramDerivedAddress:Q,memo:X,recipient:H,sender:Y,sweep:q});if("signTransaction"in Z){let z=await Z.signTransaction(W);return qf(y)(z)}return W.sign(Z),qf(y)(W)}}function qf(y){return async(T)=>{return(await y()).sendRawTransaction(T.serialize())}}function yH(y,T){return async(H)=>{let f=await T();if(!f)throw new H0.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:X}=await import("@solana/web3.js");if(!(H instanceof X)){let q=await(await y()).getLatestBlockhash();H.recentBlockhash=q.blockhash,H.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(H);return H.sign([f]),H}}async function y2({phrase:y,derivationPath:T=H0.DerivationPath.SOL}){let{HDKey:H}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:X}=await import("@solana/web3.js"),Q=f(y),q=H.fromMasterSeed(Q);return X.fromSeed(q.derive(T,!0).privateKey)}function fH(y){return y.toString()}var Zy,H0,c1;var XH=l(()=>{Hy();Zy=require("@solana/web3.js"),H0=require("@swapkit/helpers"),c1=require("ts-pattern")});var H2={};P0(H2,{validateSolanaAddress:()=>f2,getSolanaToolbox:()=>aQ,fetchTokenMetaData:()=>TH,createKeysForPath:()=>y2});module.exports=V0(H2);var X2=l(()=>{XH()});function d1(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function Uf({phrase:y,derivationPath:T=e.DerivationPath.STRK}){let{HDKey:H}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:X,hash:Q,encode:q,CallData:Z}=await import("starknet"),Y=f(y),z=H.fromMasterSeed(Y).derive(T);if(!z.privateKey)throw new e.SwapKitError("toolbox_starknet_no_signer");let k=q.addHexPrefix(Buffer.from(z.privateKey).toString("hex")),_=X.starkCurve.grindKey(k),M=q.addHexPrefix(_),$=X.starkCurve.getStarkKey(M),O=Z.compile([$,0]);return{address:Q.calculateContractAddressFromHash($,Q2,O,0),privateKey:M,publicKey:$}}async function q2({phrase:y,derivationPath:T=e.DerivationPath.STRK}){let{Account:H,RpcProvider:f}=await import("starknet"),{privateKey:X,address:Q}=await Uf({derivationPath:T,phrase:y}),q=await e.getRPCUrl(e.Chain.Starknet),Z=new f({nodeUrl:q});return new H({address:Q,provider:Z,signer:X})}function qH(y){let T=e.Chain.Starknet,H=y&&"index"in y?y.index||0:0,f=e.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[T],{index:H})),X,Q,q;async function Z(){if(Q)return Q;if(X)return Q=X.provider,Q;let{RpcProvider:J}=await import("starknet"),U=await e.getRPCUrl(T);return Q=new J({nodeUrl:U}),Q}async function Y(J){let U=await Z(),G=J||await _();if(!G)return!1;try{return await U.getClassHashAt(G),!0}catch(C){if(C instanceof Error&&C.message.includes("Contract not found"))return!1;let F=C;if(F?.code===20||F?.code===19)return!1;throw C}}async function W(){let{CallData:J,hash:U}=await import("starknet"),G=await Z(),C=await k();if(!C)throw new e.SwapKitError("toolbox_starknet_no_signer");if(!q)throw new e.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await Y())return C.address;let x=J.compile([q,0]);if(U.calculateContractAddressFromHash(q,Q2,x,0).toLowerCase()!==C.address.toLowerCase())throw new e.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let w={addressSalt:q,classHash:Q2,constructorCalldata:x},{transaction_hash:b}=await C.deployAccount(w);return await G.waitForTransaction(b),b}async function z(){if(!await Y()){if(!q)throw new e.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 W()}}async function k(){if(X)return X;return X=await Fy.match(y).with({phrase:Fy.P.string},async({phrase:J})=>{let{Account:U,RpcProvider:G}=await import("starknet"),{privateKey:C,address:F,publicKey:x}=await Uf({derivationPath:f,phrase:J});q=x;let A=await e.getRPCUrl(e.Chain.Starknet),w=new G({nodeUrl:A});return new U({address:F,provider:w,signer:C})}).with({address:Fy.P.string,privateKey:Fy.P.string},async({privateKey:J,address:U})=>{let{Account:G}=await import("starknet"),C=await Z();return new G({address:U,provider:C,signer:J})}).with({signer:Fy.P.instanceOf(Object)},({signer:J})=>J).otherwise(()=>{return}),X}async function _(){return(await k())?.address??""}async function M(J,U){let G=await Z(),{uint256:C,CallData:F}=await import("starknet"),[x="0",A="0"]=await G.callContract({calldata:F.compile({account:J}),contractAddress:U,entrypoint:"balanceOf"});return C.uint256ToBN({high:A,low:x})}async function $(J){let{baseDecimal:U}=e.getChainConfig(T),G=[],C=[Zf,QH];for(let F of C)try{let x=await M(J,F);Fy.match(F).with(Zf,()=>{G.push(e.AssetValue.from({chain:T,fromBaseDecimal:U,value:x}))}).with(QH,()=>{if(x>0n)G.push(e.AssetValue.from({asset:`${T}.ETH-${F}`,fromBaseDecimal:U,value:x}))}).otherwise(()=>{})}catch{}return G}async function O(J){let U=await k();if(U&&(!J||U.address.toLowerCase()===J.toLowerCase()))return U;if(J){let{Account:G}=await import("starknet"),C=await Z();return new G({address:J,provider:C,signer:"0x0"})}throw new e.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer"}})}async function D(J,U){try{let G=await O(U),{overall_fee:C}=await G.estimateInvokeFee(J);if(C<=0n)throw new e.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Sweep fee estimation returned a non-positive fee",sender:U}});return C}catch(G){throw new e.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Unable to estimate the sweep fee. Verify RPC availability and that the sender account is deployed.",sender:U}},G)}}async function R(J,U){let G=await L(J),C=U.isGasAsset?G.find(({isGasAsset:F})=>F):G.find(({address:F})=>F?.toLowerCase()===U.address?.toLowerCase());if(C)return C.getBaseValue("bigint");if(U.isGasAsset)return M(J,Zf);if(U.address)return M(J,U.address);return 0n}async function P({recipient:J,assetValue:U,sender:G,sweep:C}){let{CallData:F,uint256:x}=await import("starknet");if(!d1(J))throw new e.SwapKitError("core_transaction_invalid_recipient_address",{address:J});let A=U.isGasAsset?Zf:U.address;if(!A)throw new e.SwapKitError("toolbox_starknet_invalid_address",{address:A,assetValue:U});let w=U.getBaseValue("bigint");if(C){let X0=G??await _();if(!d1(X0))throw new e.SwapKitError("core_transaction_invalid_sender_address",{address:X0});if(U.isGasAsset){let Y0=[{calldata:F.compile([J,x.bnToUint256(1n)]),contractAddress:A,entrypoint:"transfer"}],I=await D(Y0,X0);w=await R(X0,U)-I}else w=await R(X0,U);if(w<=0n)throw new e.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amount:w.toString(),asset:U.toString()}})}let b=x.bnToUint256(w);return[{calldata:F.compile([J,b]),contractAddress:A,entrypoint:"transfer"}]}async function E({recipient:J,assetValue:U,sender:G}){let{baseDecimal:C}=e.getChainConfig(e.Chain.Starknet);try{let F=await P({assetValue:U,recipient:J}),A=await(await O(G)).estimateInvokeFee(F);if(A?.overall_fee)return e.AssetValue.from({chain:T,fromBaseDecimal:C,value:A.overall_fee})}catch(F){throw new e.SwapKitError("toolbox_starknet_fee_estimation_failed",F)}return e.AssetValue.from({chain:T,value:"0.00001"})}async function j({recipient:J,assetValue:U,memo:G,sweep:C}){let F=await k();if(!F)throw new e.SwapKitError("toolbox_starknet_no_signer");await z();let x=await P({assetValue:U,memo:G,recipient:J,sender:F.address,sweep:C});return(await F.execute(x)).transaction_hash}async function K(J){let U=await k();if(!U)throw new e.SwapKitError("toolbox_starknet_no_signer");let G=await U.signMessage(J);return Array.isArray(G)?G:[G.r.toString(),G.s.toString()]}async function N(J){let U=await k();if(!U)throw new e.SwapKitError("toolbox_starknet_no_signer");return await z(),(await U.execute(J)).transaction_hash}function B(J){return N(J)}async function L(J,U=!0){try{return await w0(T)(J,U)}catch{return $(J)}}return{broadcastTransaction:N,createKeysForPath:q2,createTransaction:P,deployAccount:W,estimateTransactionFee:E,getAddress:_,getBalance:L,getProvider:Z,isAccountDeployed:Y,signAndBroadcastTransaction:B,signMessage:K,transfer:j,validateAddress:d1}}var e,Fy,Zf="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",QH="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Q2="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var ZH=l(()=>{Hy();e=require("@swapkit/helpers"),Fy=require("ts-pattern")});var Yf={};P0(Yf,{validateStarknetAddress:()=>d1,starknetCreateKeysForPath:()=>q2,getStarknetToolbox:()=>qH,deriveStarknetKeys:()=>Uf});module.exports=V0(Yf);var Jf=l(()=>{ZH()});async function U2(y,T,H,f){let X=[],Q,q=0n;while(!0){let Z=await y.getCoins({coinType:H,cursor:Q,owner:T});if(X.push(...Z.data),q+=Z.data.reduce((Y,W)=>Y+BigInt(W.balance),0n),!Z.hasNextPage||f!==void 0&&q>=f)return X;Q=Z.nextCursor}}async function JH(y){return BigInt(await y.getReferenceGasPrice())}function zf({coinObjectId:y,digest:T,version:H}){return{digest:T,objectId:y,version:H}}function X6(y,T,H,f=!1){let X=T.reduce((z,k)=>z+BigInt(k.balance),0n);if(X<H)throw new U0.SwapKitError("toolbox_sui_insufficient_balance",{available:X.toString(),required:H.toString()});let{selectedCoins:Q}=T.reduce((z,k)=>{if(z.total>=H)return z;return{selectedCoins:[...z.selectedCoins,k],total:z.total+BigInt(k.balance)}},{selectedCoins:[],total:0n}),q=Q[0],Z=y.objectRef(zf(q)),Y=Q.slice(1).map((z)=>y.objectRef(zf(z)));if(Y.length>0)y.mergeCoins(Z,Y);if(f)return Z;let[W]=y.splitCoins(Z,[H]);return W}function WH(y,T){let H=y.reduce((f,X)=>f+BigInt(X.balance),0n);if(H<=0n)throw new U0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:T,available:H.toString()}});return H}function zH(y){if(y.length>Z2)throw new U0.SwapKitError({errorKey:"toolbox_sui_transaction_creation_error",info:{coinCount:y.length,maxGasPaymentCoins:Z2,reason:`SUI transactions support at most ${Z2} gas payment coins`}})}function Q6(y,T,H,f,X,Q){let q=H.getBaseValue("bigint");if(Q)WH(T,H.toString()),zH(T);else GH(T,q+BigInt(f));if(y.setGasPayment(T.map(zf)),Q)y.transferObjects([y.gas],X);else{let[Z]=y.splitCoins(y.gas,[H.getBaseValue("string")]);y.transferObjects([Z],X)}}function GH(y,T){let H=y.reduce((f,X)=>f+BigInt(X.balance),0n);if(H<T)throw new U0.SwapKitError("toolbox_sui_insufficient_balance",{available:H.toString(),required:T.toString()})}async function q6({assetValue:y,gasBudget:T,recipient:H,sender:f,suiClient:X,sweep:Q,tx:q}){let Z=y.getBaseValue("bigint"),[Y,W]=await Promise.all([JH(X),U2(X,f,Wf,Q?void 0:Z+BigInt(T))]);if(q.setGasPrice(Y),Q6(q,W,y,T,H,Q),Q){let z=W.reduce((k,_)=>k+BigInt(_.balance),0n);return z<BigInt(T)?z:T}return T}async function Z6({assetValue:y,gasBudget:T,recipient:H,sender:f,suiClient:X,sweep:Q,tx:q}){let Z=y.address;if(!Z)throw new U0.SwapKitError("toolbox_sui_missing_coin_type");let Y=y.getBaseValue("bigint"),[W,z,k]=await Promise.all([JH(X),U2(X,f,Wf,BigInt(T)),U2(X,f,Z,Q?void 0:Y)]);if(!k.length&&!Q)throw new U0.SwapKitError("toolbox_sui_no_coins_found",{coinType:Z});let _=Q?WH(k,y.toString()):Y;if(GH(z,BigInt(T)),Q)zH(z);q.setGasPrice(W),q.setGasPayment(z.map(zf));let M=X6(q,k,_,Q);q.transferObjects([M],H)}function LH(y){try{return YH.isValidSuiAddress(y)}catch{return!1}}function UH(y){return"signWithIntent"in y}function U6({provider:y,...T}={}){let H;async function f(){if(H)return H;return H=await i1.match(T).with({phrase:i1.P.string},async({phrase:$})=>{let{Ed25519Keypair:O}=await import("@mysten/sui/keypairs/ed25519");return O.deriveKeypair($)}).with({signer:i1.P.any},({signer:$})=>$).otherwise(()=>{return}),H}async function X($=y){let{SuiJsonRpcClient:O}=await import("@mysten/sui/jsonRpc");return new O({network:"mainnet",url:$||U0.getRPCUrlSync(U0.Chain.Sui)})}async function Q(){return(await f())?.toSuiAddress()||""}function q($){try{let O=U0.AssetValue.from({address:$,chain:U0.Chain.Sui});return{asset:O.toString(),decimals:O.decimal}}catch{}return null}async function Z($){let O=$||await Q();if(!O)throw new U0.SwapKitError("toolbox_sui_address_required");let{baseDecimal:D,chain:R}=U0.getChainConfig(U0.Chain.Sui);try{let E=await(await X()).getAllBalances({owner:O}),j=E.find(({coinType:N})=>N===Wf)?.totalBalance||"0",K=[U0.AssetValue.from({chain:R,fromBaseDecimal:D,value:j})];for(let{coinType:N,totalBalance:B}of E){if(N===Wf||Number(B)<=0)continue;let L=q(N);if(L)K.push(U0.AssetValue.from({asset:L.asset,fromBaseDecimal:L.decimals,value:B}))}return K}catch{return[U0.AssetValue.from({chain:R})]}}async function Y($){let O=U0.AssetValue.from({chain:U0.Chain.Sui,value:"0.01"});if(!$)return O;try{let D=await X(),{txBytes:R}=await W($),{effects:{status:P,gasUsed:E}}=await D.dryRunTransactionBlock({transactionBlock:R});if(P.status!=="success")return O;let{baseDecimal:j}=U0.getChainConfig(U0.Chain.Sui),K=BigInt(E.computationCost)+BigInt(E.storageCost)-BigInt(E.storageRebate);return U0.AssetValue.from({chain:U0.Chain.Sui,fromBaseDecimal:j,value:K.toString()})}catch{return O}}async function W({recipient:$,assetValue:O,gasBudget:D,sender:R,sweep:P}){let{Transaction:E}=await import("@mysten/sui/transactions"),j=R||await Q(),K=D||H6;if(!j)throw new U0.SwapKitError("toolbox_sui_no_sender");try{let N=await X(),B=new E;B.setSender(j);let L={assetValue:O,gasBudget:K,recipient:$,sender:j,suiClient:N,sweep:P,tx:B},J;if(O.isGasAsset||O.symbol==="SUI"){let G=await q6(L);if(BigInt(G)<BigInt(K))J=BigInt(G);B.setGasBudget(G)}else await Z6(L),B.setGasBudget(K);let U=await B.build({client:N});if(J!==void 0){let{effects:{status:G}}=await N.dryRunTransactionBlock({transactionBlock:U});if(G.status!=="success")throw new U0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:O.toString(),budget:J.toString(),error:G.error}})}return{tx:B,txBytes:U}}catch(N){if(N instanceof U0.SwapKitError)throw N;throw new U0.SwapKitError("toolbox_sui_transaction_creation_error",{error:N})}}async function z($){let O=await f();if(!O)throw new U0.SwapKitError("toolbox_sui_no_signer");if($ instanceof Uint8Array)return O.signTransaction($);let{txBytes:D}="tx"in $?$:await W($);return O.signTransaction(D)}async function k({assetValue:$,gasBudget:O,recipient:D,sweep:R}){let P=await f();if(!P)throw new U0.SwapKitError("toolbox_sui_no_signer");let E=P.toSuiAddress()||await Q();if(!E)throw new U0.SwapKitError("toolbox_sui_no_sender");let{txBytes:j}=await W({assetValue:$,gasBudget:O,recipient:D,sender:E,sweep:R}),K=await X();if(!UH(P)){let B=await P.signTransaction(j),{digest:L}=await K.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return L}let{digest:N}=await K.signAndExecuteTransaction({signer:P,transaction:j});return N}async function _($){let O=await X(),{digest:D}=await O.executeTransactionBlock({signature:$.signature,transactionBlock:$.bytes});return D}async function M($){let O=await f();if(!O)throw new U0.SwapKitError("toolbox_sui_no_signer");let D=await X(),R;if(typeof $==="string")R=Uint8Array.from(Buffer.from($,"base64"));else if($ instanceof Uint8Array)R=$;else R=await $.build({client:D});if(!UH(O)){let E=await O.signTransaction(R),{digest:j}=await D.executeTransactionBlock({signature:E.signature,transactionBlock:E.bytes});return j}let{digest:P}=await D.signAndExecuteTransaction({signer:O,transaction:R});return P}return{broadcastTransaction:_,createTransaction:W,estimateTransactionFee:Y,getAddress:Q,getBalance:Z,signAndBroadcastTransaction:M,signTransaction:z,transfer:k,validateAddress:LH}}var YH,U0,i1,Wf="0x2::sui::SUI",Z2=256,H6=50000000;var MH=l(()=>{YH=require("@mysten/sui/utils"),U0=require("@swapkit/helpers"),i1=require("ts-pattern")});var Gf={};P0(Gf,{validateSuiAddress:()=>LH,getSuiToolbox:()=>U6});module.exports=V0(Gf);var Lf=l(()=>{MH()});async function L6(){let y=Date.now();if(Mf&&y-OH<G6)return Mf;let{getHttpEndpoint:T}=await import("@orbs-network/ton-access");return Mf=await T(),OH=y,Mf}async function M6(){let[y]=R0.SKConfig.get("rpcUrls")[R0.Chain.Ton]??[];if(y)return y;return await L6()}function _6(y={}){let T,H,f;async function X(){if(!T){let{TonClient:N}=await import("@ton/ton"),B=y.provider??await M6();T=new N({endpoint:B})}return T}async function Q(){return(await Z()).address.toString()}async function q(){if(f)return f;return f=await uy.match(y).with({phrase:uy.P.string},async({phrase:N})=>{let{mnemonicToWalletKey:B}=await import("@ton/crypto");return B(N.split(" "))}).with({signer:uy.P.any},({signer:N})=>N).otherwise(()=>{return}),f}async function Z(N){if(!H||N){let B=await q(),L=await X(),J=N||B;if(!J)throw new R0.SwapKitError("core_wallet_connection_not_found");let{WalletContractV4:U}=await import("@ton/ton"),G=U.create({publicKey:J.publicKey,workchain:0});H=L.open(G)}return H}let Y=w0(R0.Chain.Ton);async function W({assetValue:N,recipient:B,memo:L,sender:J,sweep:U}){if(N.isGasAsset){if(U){let Y0=J||await Q(),V=await(await X()).getBalance(J0.Address.parse(Y0));if(V<=0n)throw new R0.SwapKitError("toolbox_sweep_amount_too_low",{asset:N.toString(),balance:V.toString()})}let X0=L?K(L).toBoc().toString("base64"):void 0;return[{address:B,amount:N.getBaseValue("string"),payload:X0}]}let G=N.address;if(!G)throw new R0.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:N.toString()}});let C=J??await Q(),F=await P({jettonMasterAddress:G,ownerAddress:C}),x=J0.Address.parse(B),A=J0.Address.parse(C),w=U?await E(F):N.getBaseValue("bigint");if(U&&w<=0n)throw new R0.SwapKitError("toolbox_sweep_amount_too_low",{asset:N.toString(),balance:w.toString()});let b=L?K(L):void 0,a=j({destinationAddress:x,forwardPayload:b,jettonAmount:w,responseAddress:A});return[{address:F.toString(),amount:W6.toString(),payload:a.toBoc().toString("base64")}]}async function z({sender:N,sweep:B,...L}){let J=B&&L.assetValue.isGasAsset?z6:_H;return{messages:await W({...L,sender:N,sweep:B}),sendMode:J}}function k(N){if(!Array.isArray(N))return N;let[B]=N;return{messages:N.map(({sendMode:J,...U})=>U),sendMode:B?.sendMode??_H}}function _(N){return N.map((B)=>{let L=B.payload?J0.Cell.fromBase64(B.payload):void 0,J=B.stateInit?J0.loadStateInit(J0.Cell.fromBase64(B.stateInit).asSlice()):void 0,U=J0.Address.parse(B.address),G=J0.Address.isFriendly(B.address)?J0.Address.parseFriendly(B.address).isBounceable:!0;return J0.internal({body:L,bounce:G,init:J,to:U,value:BigInt(B.amount)})})}async function M(N){let B=await q(),L=await Z();if(!L||!B)throw new R0.SwapKitError("core_wallet_connection_not_found");let J=await X(),{state:U}=await J.getContractState(L.address),G=U==="active",C=G?await L.getSeqno():0,{messages:F,sendMode:x}=k(N),A=L.createTransfer({messages:_(F),secretKey:B.secretKey,sendMode:x,seqno:C}),w=J0.external({body:A,init:G?void 0:L.init,to:L.address});return J0.beginCell().store(J0.storeMessage(w)).endCell()}async function $(N){return await(await X()).sendFile(N.toBoc()),N.hash().toString("hex")}async function O(N){let B=await M(N);return $(B)}async function D({assetValue:N,recipient:B,memo:L,sweep:J}){let U=await z({assetValue:N,memo:L,recipient:B,sweep:J});return O(U)}async function R({sender:N,...B}){let{baseDecimal:L}=R0.getChainConfig(R0.Chain.Ton),J=await uy.match(N).with(uy.P.string,(C)=>{return J0.Address.parseFriendly(C).address}).otherwise(async()=>{return(await Z()).address});if(!J)throw new R0.SwapKitError("toolbox_fee_estimation_failed",{chain:R0.Chain.Ton});let U=R0.AssetValue.from({chain:R0.Chain.Ton,value:"0.01"}),G=await X();try{let C=await z({sender:N,...B}),F=await q(),x=await Z();if(!x||!F)return U;let A=await x.getSeqno(),w=x.createTransfer({messages:_(C.messages),secretKey:F.secretKey,sendMode:C.sendMode,seqno:A}),{source_fees:b}=await G.estimateExternalMessageFee(J,{body:w,ignoreSignature:!0,initCode:null,initData:null}),a=b.in_fwd_fee+b.storage_fee+b.gas_fee+b.fwd_fee;return U.set(R0.SwapKitNumber.fromBigInt(BigInt(a),L))}catch{return U}}async function P({jettonMasterAddress:N,ownerAddress:B}){try{let L=await X(),J=J0.Address.parse(N),U=J0.Address.parse(B),{JettonMaster:G}=await import("@ton/ton");return await L.open(G.create(J)).getWalletAddress(U)}catch{throw new R0.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:N,ownerAddress:B}})}}async function E(N){try{let B=await X(),{JettonWallet:L}=await import("@ton/ton");return await B.open(L.create(N)).getBalance()}catch{throw new R0.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonWalletAddress:N.toString()}})}}function j({jettonAmount:N,destinationAddress:B,responseAddress:L,forwardAmount:J=J6,forwardPayload:U}){let G=J0.beginCell().storeUint(Y6,32).storeUint(0,64).storeCoins(N).storeAddress(B).storeAddress(L).storeBit(0).storeCoins(J);if(U)G.storeBit(1).storeRef(U);else G.storeBit(0);return G.endCell()}function K(N){return J0.beginCell().storeUint(0,32).storeStringTail(N).endCell()}return{broadcastTransaction:$,createTransaction:z,estimateTransactionFee:R,getAddress:Q,getBalance:Y,getJettonWalletAddress:P,sign:M,signAndBroadcastTransaction:O,transfer:D,validateAddress:$H}}function $H(y){try{return J0.Address.parse(y),!0}catch{return!1}}var R0,J0,uy,Y6=260734629,J6,W6,_H,z6,G6=60000,Mf,OH=0;var NH=l(()=>{Hy();R0=require("@swapkit/helpers"),J0=require("@ton/core"),uy=require("ts-pattern"),J6=J0.toNano("0.01"),W6=J0.toNano("0.05"),_H=J0.SendMode.PAY_GAS_SEPARATELY+J0.SendMode.IGNORE_ERRORS,z6=J0.SendMode.CARRY_ALL_REMAINING_BALANCE+J0.SendMode.IGNORE_ERRORS});var _f={};P0(_f,{validateTonAddress:()=>$H,getTONToolbox:()=>_6});module.exports=V0(_f);var Of=l(()=>{NH()});function s0(y,T){if(!Number.isInteger(T)||T<0)throw RangeError(`${y} must be a non-negative integer, got: ${T}`)}function Ry({accountIndex:y,chain:T,derivationPath:H}){if(y!==void 0)s0("accountIndex",y);let f=[...H?.slice(0,3)??CH.NetworkDerivationPath[T].slice(0,3)];if(y!==void 0)f[2]=y;return f}function q1({accountIndex:y,change:T=!1,chain:H,derivationPath:f,index:X}){return s0("index",X),[...Ry({accountIndex:y,chain:H,derivationPath:f}),Number(T),X]}function py(y){return y[2]??0}function kH({deriveAddress:y,getBalance:T,getUtxos:H}){async function f(Z){let{accountIndex:Y,count:W,startIndex:z=0,change:k=!1}=Z;if(s0("count",W),W<1)throw RangeError("count must be at least 1");s0("startIndex",z);let _=[];for(let M=0;M<W;M++){let $=await y({accountIndex:Y,change:k,index:z+M});if($)_.push($)}return _}async function X(Z){let{gapLimit:Y=20,change:W=!1}=Z??{},z=[],k=0,_=0;while(k<Y){let M=await y({change:W,index:_});if(!M)break;if((await T(M.address)).some((D)=>D.getValue("number")>0))z.push(M),k=0;else k++;_++}return z}async function Q(Z=20){let[Y,W]=await Promise.all([X({change:!1,gapLimit:Z}),X({change:!0,gapLimit:Z})]),z=[...Y,...W],k=await Promise.all(z.map(async(M)=>{let O=(await T(M.address)).reduce((D,R)=>D+R.getValue("number"),0);return{...M,balance:O}})),_=k.reduce((M,$)=>M+$.balance,0);return{addresses:k,total:_}}async function q(Z=20){let[Y,W]=await Promise.all([X({change:!1,gapLimit:Z}),X({change:!0,gapLimit:Z})]),z=[...Y,...W];return(await Promise.all(z.map(async(_)=>{return(await H(_.address)).map(($)=>({...$,address:_.address,derivationIndex:_.index,isChange:_.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:Q,getAggregatedUtxos:q,scanForAddresses:X}}var CH;var t1=l(()=>{CH=require("@swapkit/helpers")});async function O6({chain:y,txHash:T}){let H=`${Z1(y)}/push/transaction`,f=JSON.stringify({data:T});try{let X=await f0.RequestClient.post(H,{body:f,headers:{"Content-Type":"application/json"}});if(X.context.code!==200)throw new f0.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.context.error||"Transaction broadcast failed"});return X.data?.transaction_hash||T}catch(X){let Q=await f0.getRPCUrl(y);if(Q){let q=JSON.stringify({id:IT(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),Z=await f0.RequestClient.post(Q,{body:q,headers:{"Content-Type":"application/json"}});if(Z.error)throw new f0.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.error?.message});if(Z.result.includes('"code":-26'))throw new f0.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Z.result}throw X}}function Z1(y){return`https://api.blockchair.com/${$6(y)}`}function BH(y){switch(y){case f0.Chain.Bitcoin:return 5;case f0.Chain.Dogecoin:return 1e4;case f0.Chain.Litecoin:return 1;case f0.Chain.Zcash:return 1;default:return 2}}function $6(y){switch(y){case f0.Chain.BitcoinCash:return"bitcoin-cash";case f0.Chain.Litecoin:return"litecoin";case f0.Chain.Dash:return"dash";case f0.Chain.Dogecoin:return"dogecoin";case f0.Chain.Zcash:return"zcash";case f0.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function N6(y){try{let{feePerKb:T}=await f0.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),H=T/1000;return Math.max(H,BH(y))}catch{return BH(y)}}async function r1(y,T){let H=await f0.RequestClient.get(`${y}${T?`${y.includes("?")?"&":"?"}key=${T}`:""}`);if(!H||H.context.code!==200)throw new f0.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return H.data}async function C6({chain:y,apiKey:T}){let H=await r1(`${Z1(y)}/stats`,T);if(typeof H.best_block_height!=="number")throw new f0.SwapKitError("toolbox_utxo_api_error",{error:"Missing best_block_height in stats response"});return H.best_block_height}async function FH({address:y,chain:T,apiKey:H}){if(!y)throw new f0.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await r1(`${Z1(T)}/dashboards/address/${y}?transaction_details=true`,H))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function k6({address:y,chain:T,apiKey:H}){return(await FH({address:y,apiKey:H,chain:T}))?.address.balance||0}async function RH({chain:y,apiKey:T,txHash:H}){if(!H)throw new f0.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await r1(`${Z1(y)}/raw/transaction/${H}`,T))?.[H]?.raw_transaction||""}catch(f){let X=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${X}`),""}}async function D6({chain:y,apiKey:T,txHash:H}){if(!H)throw new f0.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let X=(await r1(`${Z1(y)}/dashboards/transaction/${H}`,T))?.[H];if(!X)throw new f0.SwapKitError("toolbox_utxo_tx_not_found",{txHash:H});let{transaction:Q,inputs:q,outputs:Z}=X,Y=q.map((z)=>z.spending_sequence),W=Q.is_rbf===!0||Y.some((z)=>z<B6);return{blockId:Q.block_id,confirmed:Q.block_id!==-1,fee:Q.fee,inputs:q,isRBF:W,outputs:Z,sequences:Y,size:Q.size,txid:Q.hash,weight:Q.weight}}async function F6({chain:y,address:T,apiKey:H,offset:f=0,limit:X=30}){return(await r1(`${Z1(y)}/outputs?q=recipient(${T}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${X}&offset=${f}`,H)).map(({is_spent:Y,script_hex:W,block_id:z,transaction_hash:k,index:_,value:M,spending_signature_hex:$})=>({hash:k,index:_,is_confirmed:z!==-1,is_spent:Y,script_hex:W,txHex:$,value:M}))}function R6(y){return y.reduce((T,H)=>T+H.value,0)}function DH(y,T){let H=[...y].sort((f,X)=>X.value-f.value);if(T){let f=[],X=0;for(let Q of H)if(f.push(Q),X+=Q.value,X>=T)break;return f}return H}async function xH({chain:y,address:T,apiKey:H,targetValue:f,accumulativeValue:X=0,offset:Q=0,limit:q=30}){if(!T)throw new f0.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Z=await F6({address:T,apiKey:H,chain:y,limit:q,offset:Q,targetValue:f}),W=Z.length<q,z=Z.filter(({is_spent:D})=>!D),k=R6(z),_=X+k,M=f&&_>=f;if(W||M)return DH(z,f);let $=await xH({accumulativeValue:_,address:T,apiKey:H,chain:y,limit:q,offset:Q+q,targetValue:f}),O=[...z,...$];return DH(O,f)}catch(Z){let Y=Z instanceof Error?Z.message:String(Z);return console.error(`Failed to fetch unspent UTXOs: ${Y}`),[]}}async function x6({address:y,chain:T,apiKey:H,fetchTxHex:f=!0,targetValue:X}){let Q=await xH({address:y,apiKey:H,chain:T,targetValue:X}),q=[];for(let{hash:Z,index:Y,script_hex:W,value:z}of Q){let k;if(f)k=await RH({apiKey:H,chain:T,txHash:Z});q.push({address:y,hash:Z,index:Y,txHex:k,value:z,witnessUtxo:{script:Buffer.from(W,"hex"),value:z}})}return q}function j0(y){let T=f0.SKConfig.get("apiKeys").blockchair||"";return f0.warnOnce({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(H)=>O6({chain:y,txHash:H}),getAddressData:(H)=>FH({address:H,apiKey:T,chain:y}),getBalance:(H)=>k6({address:H,apiKey:T,chain:y}),getBlockHeight:()=>C6({apiKey:T,chain:y}),getRawTx:(H)=>RH({apiKey:T,chain:y,txHash:H}),getSuggestedTxFee:()=>N6(y),getTransactionDetails:(H)=>D6({apiKey:T,chain:y,txHash:H}),getUtxos:(H)=>x6({...H,apiKey:T,chain:y})}}function I6(y){return y}function P6(){return function(T){switch(T){case f0.Chain.Bitcoin:return my.NETWORKS.bitcoin;case f0.Chain.BitcoinCash:return my.NETWORKS.bitcoinCash;case f0.Chain.Dash:return my.NETWORKS.dash;case f0.Chain.Litecoin:return my.NETWORKS.litecoin;case f0.Chain.Dogecoin:return my.NETWORKS.dogecoin;case f0.Chain.Zcash:return my.NETWORKS.zcash;default:throw new f0.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}}var f0,my,B6=4294967294;var IH=l(()=>{Hy();f0=require("@swapkit/helpers"),my=require("@swapkit/utxo-signer")});function S6(y,T,H){return Wy.encodeCashAddr({hash:H,prefix:y,type:j6[T]})}function V6(y){let T=Wy.decodeCashAddr(y),H=K6[T.type];if(!H)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:H}}var Wy,j6,K6,Y2;var PH=l(()=>{Wy=require("@swapkit/utxo-signer"),j6={P2PKH:Wy.CashAddrType.P2PKH,P2SH:Wy.CashAddrType.P2SH},K6={[Wy.CashAddrType.P2PKH]:"P2PKH",[Wy.CashAddrType.P2SH]:"P2SH"};Y2={decode:V6,encode:S6}});function z2(y){try{return $f(y),!0}catch{return!1}}function G2(y){return $f(y)?.network}function zy(y){let T=$f(y);if(T?.format==="legacy")return y;return E6(T)}function a1(y){let T=$f(y);return v6(T)}function $f(y){try{let T=A6(y);if(T)return T}catch{}try{let T=w6(y);if(T)return T}catch{}throw new J2.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function A6(y){try{let T=VH.decode(y);if(T.length!==21)throw new J2.SwapKitError("toolbox_utxo_invalid_address",{address:y});let H=T[0],f=Array.prototype.slice.call(T,1);switch(H){case gy.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case gy.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case gy.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case gy.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case gy.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case gy.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function w6(y){if(y.indexOf(":")!==-1)try{return jH(y)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let H of T)try{return jH(`${H}:${y}`)}catch{}}return}function jH(y){try{let{hash:T,prefix:H,type:f}=Y2.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(T,0),network:H==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function E6(y){let T=gy.legacy[y.network][y.type],H=Buffer.alloc(1+y.hash.length);return H[0]=T,H.set(y.hash,1),VH.encode(H)}function v6(y){let T=y.network==="mainnet"?"bitcoincash":"bchtest",H=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return Y2.encode(T,H,f)}var KH,SH,J2,VH,W2,gy;var AH=l(()=>{PH();KH=require("@noble/hashes/sha2.js"),SH=require("@scure/base"),J2=require("@swapkit/helpers"),VH=SH.createBase58check(KH.sha256);((H)=>{H.Mainnet="mainnet";H.Testnet="testnet"})(W2||={});gy={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function n0(y){let T=new Uint8Array(Buffer.from(y,"utf8"));return EH.Script.encode(["RETURN",T])}var wH,EH,b6=1000,Cf=10,kf=2,vH=10,h6=41,l6=107,Bf,Nf,s1,U1=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new wH.SwapKitError("toolbox_utxo_invalid_address",{address:y})},oy=({inputs:y,outputs:T,feeRate:H})=>{let f=y[0]&&"address"in y[0]&&y[0].address?U1(y[0].address):"P2PKH",Q=(H?y.filter((W)=>W.value>=Nf["type"in W&&W.type?W.type:"P2PKH"]*Math.ceil(H)):y).reduce((W,z)=>W+xy(z),0),q=T?.reduce((W,z)=>W+e1(z),0)||s1[f],Z=Cf+Q+q;return f==="P2WPKH"?Math.ceil(Z+kf/4):Z},xy=(y)=>{if("type"in y&&y.type)return Nf[y.type];if("address"in y&&y.address)return Nf[U1(y.address)];return h6+l6},e1=(y,T)=>{if(y?.script)return vH+y.script.length+(y.script.length>=74?2:1);if(T)return s1[T];if("address"in y&&y.address)return s1[U1(y.address)];return s1.P2PKH};var L2=l(()=>{wH=require("@swapkit/helpers"),EH=require("@swapkit/utxo-signer");((H)=>{H.P2PKH="P2PKH";H.P2WPKH="P2WPKH"})(Bf||={});Nf={["P2PKH"]:148,["P2WPKH"]:68},s1={["P2PKH"]:34,["P2WPKH"]:31}});function Y1(y){switch(y){case d0.Chain.Bitcoin:case d0.Chain.BitcoinCash:return 550;case d0.Chain.Dash:case d0.Chain.Litecoin:return 5500;case d0.Chain.Dogecoin:return 1e5;case d0.Chain.Zcash:return 546;default:throw new d0.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function i0({inputs:y,outputs:T,feeRate:H=1,chain:f=d0.Chain.Bitcoin,changeAddress:X="",sweep:Q=!1}){let q=Y1(f),Z=y.filter((D)=>{let R=xy(D)*H;return Q?D.value>Math.max(R,q):R<=D.value});if(Q){let D=Math.ceil(H*oy({inputs:Z,outputs:T})),R=Z.reduce((j,K)=>j+K.value,0),P=R-D;if(P<=q)throw new d0.SwapKitError("toolbox_sweep_amount_too_low",{available:R,dustThreshold:q,fee:D});let E=T.findIndex((j)=>("address"in j)&&j.address);if(E===-1)throw new d0.SwapKitError("toolbox_utxo_invalid_params",{error:"Sweep requires a recipient output"});return{fee:D,inputs:Z,outputs:T.map((j,K)=>K===E?{...j,value:P}:j)}}let z=(y[0]&&"address"in y[0]&&y[0].address?U1(y[0].address):"P2PKH")==="P2WPKH"?Math.ceil(kf/4):0,k=Cf+z+T.reduce((D,R)=>D+e1(R),0),_=T.reduce((D,R)=>D+R.value,0),M=k*H,$=0,O=[];for(let D of Z){let R=xy(D),P=H*R;M+=P,$+=D.value,O.push(D);let E=M+_;if($<E)continue;let j=$-E,K=H*e1({address:X,value:0});if(j>K){let N=K+M,B=$-(_+Math.ceil(N));if(B>Math.max(xy({value:0})*H,Y1(f)))return{fee:Math.ceil(N),inputs:O,outputs:T.concat({address:X,value:B})}}return{fee:Math.ceil(M),inputs:O,outputs:T}}return{fee:Math.ceil(H*oy({inputs:y,outputs:T}))}}var d0;var bH=l(()=>{L2();d0=require("@swapkit/helpers")});var J1=l(()=>{IH();AH();bH();L2()});function ny(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Iy(y){let T=ny(y);return z2(T)&&G2(T)==="mainnet"}var cy;var y5=l(()=>{J1();cy=require("@swapkit/utxo-signer")});function O2({address:y,chain:T}){return _2.match(T).with(v.Chain.BitcoinCash,()=>Iy(y)).with(v.Chain.Zcash,()=>cy.validateZcashAddress(y)).otherwise(()=>{try{return Q0.Address(h0(T)).decode(y),!0}catch{return!1}})}function h0(y){return _2.match(y).with(v.Chain.Bitcoin,()=>Q0.NETWORKS.bitcoin).with(v.Chain.BitcoinCash,()=>Q0.NETWORKS.bitcoinCash).with(v.Chain.Dash,()=>Q0.NETWORKS.dash).with(v.Chain.Dogecoin,()=>Q0.NETWORKS.dogecoin).with(v.Chain.Litecoin,()=>Q0.NETWORKS.litecoin).with(v.Chain.Zcash,()=>Q0.NETWORKS.zcash).exhaustive()}function u6({phrase:y,derivationPath:T,network:H,seed:f}){let X=f??Ff.mnemonicToSeedSync(y),q=M2.HDKey.fromMasterSeed(X,H.bip32).derive(T);if(!q.privateKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return q.privateKey}function hH(y){return lH.secp256k1.getPublicKey(y,!0)}function T5({publicKey:y,chain:T,network:H}){if(T===v.Chain.BitcoinCash){let Q=Q0.p2pkh(y,H);if(!Q.hash)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Q0.encodeCashAddr({hash:Q.hash,prefix:Q0.CashAddrPrefix.MAINNET,type:Q0.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let X=!f5.includes(T)?Q0.p2wpkh(y,H):Q0.p2pkh(y,H);if(!X.address)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return X.address}function W1({phrase:y,derivationPath:T,chain:H,wif:f,seed:X}){let Q=h0(H);if(f){let W=Q0.WIF(Q).decode(f),z=hH(W);return{privateKey:W,publicKey:z}}if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let q=T||v.derivationPathToString(v.NetworkDerivationPath[H]),Z=u6({derivationPath:q,network:Q,phrase:y,seed:X}),Y=hH(Z);return{privateKey:Z,publicKey:Y}}function p6(y,T){return Q0.WIF(h0(T)).encode(y)}function m6({phrase:y,derivationPath:T,chain:H,seed:f}){let X=T.split("/");if(X.length<4)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${X.length}): ${T}`});let Q=h0(H),q=f??Ff.mnemonicToSeedSync(y),Z=M2.HDKey.fromMasterSeed(q,Q.bip32),Y=X.slice(0,4).join("/");return Z.derive(Y)}function jy({inputs:y,outputs:T,chain:H,tx:f,sender:X,compiledMemo:Q,enableRBF:q=!1}){let Z=h0(H),Y=!f5.includes(H),W=q?Q0.RBF_SEQUENCE:void 0,z=new Set;for(let k of y){let _=`${k.hash}:${k.index}`;if(z.has(_))throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});z.add(_);let M=typeof k.hash==="string"?Py.hex.decode(k.hash):k.hash;if(Y&&k.witnessUtxo)f.addInput({index:k.index,sequence:W,txid:M,witnessUtxo:{amount:BigInt(k.witnessUtxo.value),script:k.witnessUtxo.script}});else if(k.txHex)f.addInput({index:k.index,nonWitnessUtxo:Py.hex.decode(k.txHex),sequence:W,txid:M,...H===v.Chain.BitcoinCash?{sighashType:Q0.BCHSigHash.ALL}:{}});else throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let k of T){let _="address"in k&&k.address?k.address:X;if(H===v.Chain.BitcoinCash)_=zy(_);if(k.script){if(Q)f.addOutput({amount:0n,script:Q})}else f.addOutputAddress(_,BigInt(k.value),Z)}return{inputs:y,tx:f}}async function z1(y){let T=await j0(y).getSuggestedTxFee();return{[v.FeeOption.Average]:T,[v.FeeOption.Fast]:v.applyFeeMultiplier(T,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(T,v.FeeOption.Fastest)}}async function uH({assetValue:y,recipient:T,memo:H,sender:f,sweep:X,fetchTxHex:Q=!1}){let q=y.chain,Z=Q||f5.includes(q),Y=y.getBaseValue("number"),W=X?void 0:Math.ceil(Y+(await z1(q))[v.FeeOption.Fastest]*5000);return{inputs:await j0(q).getUtxos({address:f,fetchTxHex:Z,targetValue:W}),outputs:[{address:T,value:X?0:Y},...H?[{address:"",script:n0(H),value:0}]:[]]}}async function pH({assetValue:y,recipient:T,memo:H,feeRate:f,sender:X,fetchTxHex:Q=!1,enableRBF:q=!1,sweep:Z}){let Y=y.chain,W=H?n0(H):null,z=await uH({assetValue:y,fetchTxHex:Q,memo:H,recipient:T,sender:X,sweep:Z}),{inputs:k,outputs:_}=i0({...z,chain:Y,feeRate:f,sweep:Z});if(!(k&&_))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:X});let M=new Q0.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!W,version:1}),{inputs:$,tx:O}=jy({chain:Y,compiledMemo:W,enableRBF:q,inputs:k,outputs:_,sender:X,tx:M});return{inputs:$,tx:O,utxos:z.inputs}}async function mH({assetValue:y,feeOptionKey:T=v.FeeOption.Fast,feeRate:H,memo:f,sender:X,recipient:Q,sweep:q}){let Z=y.chain,Y=await uH({assetValue:y,memo:f,recipient:Q,sender:X,sweep:q}),W=H?Math.floor(H):(await z1(Z))[T];return i0({...Y,chain:Z,feeRate:W,sweep:q})}function g6(y){return async function({from:H,memo:f,feeRate:X,feeOptionKey:Q=v.FeeOption.Fast,recipient:q=H,recipients:Z=1}){let Y=X??(await z1(y))[Q],z=(await j0(y).getUtxos({address:H,fetchTxHex:!1})).filter((O)=>O.value>Math.max(Y1(y),xy(O)*Y));if(!z.length)return v.AssetValue.from({chain:y});let k=typeof Z==="number"?Math.max(Z,1):Z.length,_=typeof Z==="number"||k===0?Array.from({length:k||1},()=>({address:q,value:0})):[...Z];if(f)_.push({address:H,script:n0(f),value:0});let{outputs:M}=i0({chain:y,feeRate:Y,inputs:z,outputs:_,sweep:!0}),$=M?.[0]?.value??0;return v.AssetValue.from({chain:y,value:BigInt($)})}}function o6(y){return async function(H){let{fee:f}=await mH(H);return v.AssetValue.from({chain:y,value:v.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function n6({chain:y,phrase:T,derivationPath:H,seed:f}){let X=h0(y),{privateKey:Q,publicKey:q}=W1({chain:y,derivationPath:H,phrase:T,seed:f}),Z=y===v.Chain.BitcoinCash?[Q0.BCHSigHash.ALL]:[Q0.SigHash.ALL];return{getAddress:()=>T5({chain:y,network:X,publicKey:q}),privateKey:Q,publicKey:q,signTransaction:(Y)=>{return Y.sign(Q,Z),Y}}}function c6(y,T){return async function({memo:f,recipient:X,feeOptionKey:Q,feeRate:q,assetValue:Z,enableRBF:Y=!1,sweep:W}){let z=await T?.getAddress();if(!(T&&z))throw new v.SwapKitError("toolbox_utxo_no_signer");if(!X)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});v.warnOnce({condition:Y&&!Df.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let k=Y&&Df.includes(y),_=q||(await z1(y))[Q||v.FeeOption.Fast],{tx:M}=await pH({assetValue:Z,enableRBF:k,feeRate:_,memo:f,recipient:X,sender:z,sweep:W}),$=await T.signTransaction(M);return $.finalize(),j0(y).broadcastTx(Py.hex.encode($.extract()))}}function $2(y){return(T)=>O2({address:T,chain:y})}function N2(y){let T=h0(y);return function(f){if(!f)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return T5({chain:y,network:T,publicKey:f.publicKey})}}function Ky({chain:y,...T}){let H="phrase"in T?T.phrase:void 0,f="index"in T?T.index||0:0,X=H?Ff.mnemonicToSeedSync(H):void 0,Q="derivationPath"in T&&T.derivationPath?T.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[y],{index:f}),q=v.derivationPathToString(Q),Z=H?n6({chain:y,derivationPath:q,phrase:H,seed:X}):void 0,Y="signer"in T?T.signer:void 0,W=Z||Y,z=H?W1({chain:y,derivationPath:q,phrase:H,seed:X}):void 0;function k(){if(W)return W.getAddress();return Promise.resolve(void 0)}function _(U){if(!H)return;let G=Ry({accountIndex:U,chain:y,derivationPath:Q});return m6({chain:y,derivationPath:v.derivationPathToString(G),phrase:H,seed:X})}let M=_();function $(){if(!M)return;return M.publicExtendedKey}function O({accountIndex:U}={}){let G=U===void 0?M:_(U);if(!G)return;let C=Ry({accountIndex:U,chain:y,derivationPath:Q});return{accountIndex:py(C),path:v.derivationPathToString(C),xpub:G.publicExtendedKey}}function D({accountIndex:U,index:G,change:C=!1}){let F=U===void 0?M:_(U);if(!F)return;let x=q1({accountIndex:U,chain:y,change:C,derivationPath:Q,index:G}),A=h0(y),w=F.deriveChild(Number(C)).deriveChild(G);if(!w.publicKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let b=T5({chain:y,network:A,publicKey:w.publicKey}),a=Py.hex.encode(w.publicKey);return{accountIndex:py(x),address:b,change:C,index:G,path:v.derivationPathToString(x),pubkey:a}}async function R(U){if(!Df.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let G=await j0(y).getTransactionDetails(U);return{canReplace:G.isRBF&&!G.confirmed,confirmed:G.confirmed,enabled:G.isRBF,fee:G.fee,sequences:G.sequences,supported:!0}}async function P({txid:U,newFeeRate:G,recipient:C,memo:F}){if(!Df.includes(y))throw new v.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let x=await j0(y).getTransactionDetails(U);if(!x.isRBF)throw new v.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:U});if(x.confirmed)throw new v.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:x.blockId,txid:U});let A=x.inputs.reduce((q0,O0)=>q0+O0.value,0),b=x.outputs.find((q0)=>q0.recipient===C)?.value||0;if(b===0)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let a=await Promise.all(x.inputs.map(async(q0)=>{let O0=await j0(y).getRawTx(q0.transaction_hash);return{hash:q0.transaction_hash,index:q0.index,txHex:O0,value:q0.value,witnessUtxo:void 0}})),X0=F?n0(F):null,Y0=oy({feeRate:G,inputs:a.map((q0)=>({...q0,type:"P2WPKH"})),outputs:[{address:C,value:b}]}),I=Math.ceil(Y0*G);if(I<=x.fee)throw new v.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:I,originalFee:x.fee});let V=I-x.fee,h=b-V;if(h<=0)throw new v.SwapKitError("toolbox_utxo_rbf_insufficient_change");let c=new Q0.Transaction({allowLegacyWitnessUtxo:!0,version:1}),i=[{address:C,value:h},...F?[{address:"",script:n0(F),value:0}]:[]],T0=A-h-I,L0=await k();if(T0>Y1(y)&&L0)i.push({address:L0,value:T0});return jy({chain:y,compiledMemo:X0,inputs:a,outputs:i,sender:L0||C,tx:c}),{feeDelta:V,newFee:I,originalFee:x.fee,tx:c}}async function E({txid:U,newFeeRate:G,recipient:C,memo:F}){let{tx:x,originalFee:A,newFee:w}=await P({memo:F,newFeeRate:G,recipient:C,txid:U}),b=await L(x);b.finalize();let a=await j0(y).broadcastTx(Py.hex.encode(b.extract()));return{newFee:w,originalFee:A,txid:a}}function j({accountIndex:U,index:G,change:C=!1}){s0("index",G);let F=U===void 0?M:_(U);if(!F)return;return F.deriveChild(Number(C)).deriveChild(G).privateKey||void 0}function K({tx:U,inputDerivations:G}){if(!M)throw new v.SwapKitError("toolbox_utxo_no_signer");let C=y===v.Chain.BitcoinCash?[Q0.BCHSigHash.ALL]:[Q0.SigHash.ALL];for(let F=0;F<G.length;F++){let x=G[F];if(!x)continue;let{derivationIndex:A,isChange:w}=x,b=j({change:w,index:A});if(!b)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${F} at index ${A}`});U.signIdx(b,F,C)}return U}async function N({utxos:U,recipient:G,assetValue:C,memo:F,feeRate:x,feeOptionKey:A,changeAddress:w,sweep:b}){if(b)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Sweep is not supported for transfers from multiple addresses"});if(!M)throw new v.SwapKitError("toolbox_utxo_no_signer");let a=x||(await z1(y))[A||v.FeeOption.Fast],X0=F?n0(F):null,Y0=[{address:G,value:C.getBaseValue("number")}];if(X0)Y0.push({address:"",script:X0,value:0});let I=U.map(({hash:q0,index:O0,value:A0,txHex:fy,witnessUtxo:Ty})=>({hash:q0,index:O0,txHex:fy,value:A0,witnessUtxo:Ty?{script:Ty.script,value:Ty.value}:void 0})),{inputs:V,outputs:h}=i0({chain:y,feeRate:a,inputs:I,outputs:Y0});if(!(V&&h))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:C,sender:"multiple addresses"});let c=new Q0.Transaction({allowLegacyWitnessUtxo:!0,version:1}),i=U[0]?.address,T0=w||await k()||i||G;jy({chain:y,compiledMemo:X0,inputs:V,outputs:h,sender:T0,tx:c});let L0=V.map((q0)=>{let O0=U.find((A0)=>A0.hash===q0.hash&&A0.index===q0.index);return O0?{derivationIndex:O0.derivationIndex,isChange:O0.isChange}:{derivationIndex:0,isChange:!1}});return K({inputDerivations:L0,tx:c}),c.finalize(),j0(y).broadcastTx(Py.hex.encode(c.extract()))}function B({address:U,gapLimit:G=20}){if(!M)return;for(let C=0;C<G;C++){let F=D({change:!1,index:C}),x=D({change:!0,index:C}),A=F?.address===U?!1:x?.address===U;if(F?.address===U||x?.address===U)return{change:A,index:C}}return}function L(U){if(!W)throw new v.SwapKitError("toolbox_utxo_no_signer");return W.signTransaction(U)}async function J(U){let G=await L(U);return G.finalize(),await j0(y).broadcastTx(Py.hex.encode(G.extract()))}return{accumulative:i0,broadcastTx:(U)=>j0(y).broadcastTx(U),bumpFee:E,calculateTxSize:oy,createKeysForPath:(U)=>W1({...U,chain:y}),createReplacementTransaction:P,createTransaction:pH,deriveAddressAtIndex:D,derivePrivateKeyAtIndex:j,estimateMaxSendableAmount:g6(y),estimateTransactionFee:o6(y),getAddress:k,getAddressFromKeys:N2(y),getBalance:w0(y),getExtendedPublicKey:$,getExtendedPublicKeyInfo:O,getFeeRates:()=>z1(y),getInputsOutputsFee:mH,getNetworkForChain:()=>h0(y),getPrivateKeyFromMnemonic:(U)=>p6(W1({...U,chain:y}).privateKey,y),isRBFEnabled:R,keys:z,resolveDerivationIndex:B,signAndBroadcastTransaction:J,signTransaction:L,signTransactionWithMultipleKeys:K,transfer:c6(y,W),transferFromMultipleAddresses:N,validateAddress:$2(y)}}var lH,Py,M2,Ff,v,Q0,_2,f5,Df;var G1=l(()=>{Hy();t1();J1();y5();lH=require("@noble/curves/secp256k1.js"),Py=require("@scure/base"),M2=require("@scure/bip32"),Ff=require("@scure/bip39"),v=require("@swapkit/helpers"),Q0=require("@swapkit/utxo-signer"),_2=require("ts-pattern"),f5=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash],Df=[v.Chain.Bitcoin]});function H5(y){return ny(a1(y))}function d6(y){let T=h0(Uy);function H(X){return X.sign(y.privateKey,[K0.BCHSigHash.ALL]),X}function f(){let X=K0.p2pkh(y.publicKey,T);if(!X.hash)throw new I0.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let Q=K0.encodeCashAddr({hash:X.hash,prefix:K0.CashAddrPrefix.MAINNET,type:K0.CashAddrType.P2PKH});return Promise.resolve(Q.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:H}}function k2(y){let T="phrase"in y?y.phrase:void 0,H="index"in y?y.index||0:0,f=I0.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:I0.updateDerivationPath(I0.NetworkDerivationPath[Uy],{index:H})),X=T?W1({chain:Uy,derivationPath:f,phrase:T}):void 0,Q=X?d6(X):("signer"in y)?y.signer:void 0;function q(){return Promise.resolve(Q?.getAddress())}let{getBalance:Z,getFeeRates:Y,broadcastTx:W,...z}=Ky({chain:Uy});function k($,O=!0){return Z(ny(a1($)))}function _($){if(!Q)throw new I0.SwapKitError("toolbox_utxo_no_signer");return Q.signTransaction($)}async function M($){let O=await _($);return O.finalize(),await W(C2.hex.encode(O.extract()))}return{...z,broadcastTx:W,buildTx:t6,createTransaction:gH,getAddress:q,getAddressFromKeys:r6,getBalance:k,getFeeRates:Y,signAndBroadcastTransaction:M,signTransaction:_,stripPrefix:ny,stripToCashAddress:H5,transfer:i6({broadcastTx:W,getFeeRates:Y,signer:Q}),validateAddress:Iy}}async function gH({assetValue:y,recipient:T,memo:H,feeRate:f,sender:X,sweep:Q}){if(!Iy(T))throw new I0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let q=Math.ceil(y.getBaseValue("number")+f*7500),Z=await j0(Uy).getUtxos({address:H5(X),fetchTxHex:!0,targetValue:Q?void 0:q}),Y=H?n0(H):null,W=[],z=zy(T);if(W.push({address:z,value:Q?0:y.getBaseValue("number")}),Y)W.push({script:Y,value:0});let{inputs:k,outputs:_}=i0({chain:Uy,feeRate:f,inputs:Z,outputs:W,sweep:Q});if(!(k&&_))throw new I0.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:X});let M=new K0.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Y,version:1}),$=zy(X),{inputs:O,tx:D}=jy({chain:Uy,compiledMemo:Y,inputs:k,outputs:_.map((R)=>("address"in R)&&R.address?{...R,address:zy(R.address)}:R),sender:$,tx:M});return{inputs:O,tx:D,utxos:k}}function i6({broadcastTx:y,getFeeRates:T,signer:H}){return async function({recipient:X,assetValue:Q,feeOptionKey:q=I0.FeeOption.Fast,sweep:Z,...Y}){let W=await H?.getAddress();if(!(H&&W))throw new I0.SwapKitError("toolbox_utxo_no_signer");if(!X)throw new I0.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let z=Y.feeRate||(await T())[q],{tx:k}=await gH({...Y,assetValue:Q,feeRate:z,recipient:X,sender:W,sweep:Z}),_=await H.signTransaction(k);return _.finalize(),y(C2.hex.encode(_.extract()))}}async function t6({assetValue:y,recipient:T,memo:H,feeRate:f,sender:X}){let Q=a1(T);if(!Iy(Q))throw new I0.SwapKitError("toolbox_utxo_invalid_address",{address:Q});let q=Math.ceil(y.getBaseValue("number")+f*7500),Z=await j0(Uy).getUtxos({address:H5(X),fetchTxHex:!0,targetValue:q}),Y=Number(f.toFixed(0)),W=H?n0(H):null,z=[];if(z.push({address:zy(T),value:y.getBaseValue("number")}),W)z.push({script:W,value:0});let{inputs:k,outputs:_}=i0({chain:Uy,feeRate:Y,inputs:Z,outputs:z});if(!(k&&_))throw new I0.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:X});let M=new K0.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!W,version:1}),{inputs:$,tx:O}=jy({chain:Uy,compiledMemo:W,inputs:k,outputs:_,sender:zy(X),tx:M});return{inputs:$,tx:O,utxos:Z}}function r6(y){let T=K0.NETWORKS.bitcoinCash,H=K0.p2pkh(y.publicKey,T);if(!H.hash)throw new I0.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return K0.encodeCashAddr({hash:H.hash,prefix:K0.CashAddrPrefix.MAINNET,type:K0.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var C2,I0,K0,Uy;var Rf=l(()=>{J1();G1();y5();C2=require("@scure/base"),I0=require("@swapkit/helpers"),K0=require("@swapkit/utxo-signer"),Uy=I0.Chain.BitcoinCash});function F2(){let{isStagenet:y}=N0.SKConfig.get("envs");return y?W0.ZCASH_TEST_NETWORK:W0.ZCASH_NETWORK}function s6(y){return a6.encode(y)}function e6({phrase:y,derivationPath:T}){let H=D2.mnemonicToSeedSync(y),X=B2.HDKey.fromMasterSeed(H).derive(T);if(!X.privateKey||!X.publicKey)throw new N0.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:Q,publicKey:q}=X,Z=W0.utils.hash160(q),{isStagenet:Y}=N0.SKConfig.get("envs"),W=Y?new Uint8Array([29,37]):new Uint8Array([28,184]),z=new Uint8Array(W.length+Z.length);z.set(W,0),z.set(Z,W.length);let k=s6(z);return{getAddress:()=>Promise.resolve(k),signTransaction:(_)=>{if(_ instanceof W0.ZcashPSBT){let M=_.toPCZT();return M.signAllInputs(Q,q,W0.ZcashSigHash.ALL),M.finalizeAllInputs(),Promise.resolve(M.extract())}if(_ instanceof W0.PCZT)return _.signAllInputs(Q,q,W0.ZcashSigHash.ALL),_.finalizeAllInputs(),Promise.resolve(_.extract());return _.signAllInputs(Q,q,W0.ZcashSigHash.ALL),Promise.resolve(_)}}}function yq({inputs:y,outputs:T,tx:H,sender:f,compiledMemo:X}){let Q=F2();for(let q of y){let Z=W0.Address(Q).decode(f),Y=W0.OutScript.encode(Z);H.addInput({index:q.index,script:Y,sequence:4294967295,txid:xf.hex.decode(q.hash),value:BigInt(q.value)})}for(let q of T){let Z="address"in q&&q.address?q.address:f,Y=q.script;if(Y&&!X)continue;if(Y&&X)H.addOutput({amount:0n,script:X});else H.addOutputAddress(Z,BigInt(q.value),Q)}return{inputs:y,tx:H}}async function fq(){let{isStagenet:y}=N0.SKConfig.get("envs");if(y)return W0.ZcashConsensusBranchId.IRONWOOD;try{let T=await j0(N0.Chain.Zcash).getBlockHeight();return W0.getZcashConsensusBranchId(T+1)}catch{return W0.ZcashConsensusBranchId.IRONWOOD}}async function oH(y){let{assetValue:T,recipient:H,memo:f,feeRate:X,sender:Q,fetchTxHex:q,sweep:Z}=y,Y=F2();if(!W0.isTransparentZcashAddress(Q,Y))throw new N0.SwapKitError("toolbox_utxo_invalid_address",{address:Q});if(!W0.isTransparentZcashAddress(H,Y))throw new N0.SwapKitError("toolbox_utxo_invalid_address",{address:H,error:"Zcash transaction creation currently supports transparent addresses only"});let W=f?n0(f):null,z=await j0(N0.Chain.Zcash).getUtxos({address:Q,fetchTxHex:q!==!1}),k=[{address:H,value:Z?0:Number(T.getBaseValue("string"))},...W?[{script:W,value:0}]:[]],{inputs:_,outputs:M}=i0({chain:N0.Chain.Zcash,changeAddress:Q,feeRate:X,inputs:z,outputs:k,sweep:Z});if(!(_&&M))throw new N0.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Q});let $=W0.createZcashTransaction({consensusBranchId:await fq(),expiryHeight:0,lockTime:0,version:4,versionGroupId:W0.ZcashVersionGroupId.SAPLING}),{tx:O,inputs:D}=yq({compiledMemo:W,inputs:_,outputs:M,sender:Q,tx:$});return{inputs:D,outputs:M,tx:O}}function R2(y){let T=L1.match(y).with({signer:L1.P.not(L1.P.nullish)},({signer:Y})=>Y).with({phrase:L1.P.string},({phrase:Y,derivationPath:W,index:z=0})=>{let k=W||N0.NetworkDerivationPath[N0.Chain.Zcash]||[44,133,0,0,0],_=N0.updateDerivationPath(k,{index:z}),M=N0.derivationPathToString(_);return e6({derivationPath:M,phrase:Y})}).otherwise(()=>{return}),H=Ky({chain:N0.Chain.Zcash,signer:T});async function f(Y){if(!T)throw new N0.SwapKitError("toolbox_utxo_no_signer");return await T.signTransaction(Y)}async function X(Y){let W=await f(Y);return H.broadcastTx(W.toHex())}async function Q({recipient:Y,assetValue:W,feeOptionKey:z=N0.FeeOption.Fast,sweep:k,..._}){let M=await T?.getAddress();if(!(T&&M))throw new N0.SwapKitError("toolbox_utxo_no_signer");let $=_.feeRate||(await H.getFeeRates())[z],{tx:O}=await oH({..._,assetValue:W,feeRate:$,recipient:Y,sender:M,sweep:k}),R=(await T.signTransaction(O)).toHex();return H.broadcastTx(R)}function q({phrase:Y,derivationPath:W="m/44'/133'/0'/0/0"}){let z=D2.mnemonicToSeedSync(Y),_=B2.HDKey.fromMasterSeed(z).derive(W);if(!_.privateKey||!_.publicKey)throw new N0.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:_.privateKey,publicKey:_.publicKey}}function Z({phrase:Y,derivationPath:W="m/44'/133'/0'/0/0"}){let z=q({derivationPath:W,phrase:Y}),k=F2();return W0.WIF(k).encode(z.privateKey)}return{...H,createKeysForPath:q,createTransaction:oH,getPrivateKeyFromMnemonic:Z,signAndBroadcastTransaction:X,signTransaction:f,transfer:Q,validateAddress:cy.validateZcashAddress}}var xf,B2,D2,N0,W0,L1,a6;var x2=l(()=>{J1();G1();y5();xf=require("@scure/base"),B2=require("@scure/bip32"),D2=require("@scure/bip39"),N0=require("@swapkit/helpers"),W0=require("@swapkit/utxo-signer"),L1=require("ts-pattern");a6=xf.createBase58check(W0.utils.sha256)});function iH({xpub:y,chain:T,count:H,startIndex:f=0,accountIndex:X}){if(s0("count",H),H<1)throw RangeError("count must be at least 1");s0("startIndex",f);let Q=h0(T),q=cH.HDKey.fromExtendedKey(y,Q.bip32),Z=Ry({accountIndex:X,chain:T}),Y=py(Z),W=[];for(let z of[!1,!0]){let k=q.deriveChild(Number(z));for(let _=0;_<H;_++){let M=f+_,$=k.deriveChild(M);if(!$.publicKey)continue;let O=q1({accountIndex:X,chain:T,change:z,index:M});W.push({accountIndex:Y,address:T5({chain:T,network:Q,publicKey:$.publicKey}),change:z,index:M,path:dH.derivationPathToString(O),pubkey:nH.hex.encode($.publicKey)})}}return W}var nH,cH,dH;var tH=l(()=>{t1();G1();nH=require("@scure/base"),cH=require("@scure/bip32"),dH=require("@swapkit/helpers")});function Tq(y,T){switch(y){case Gy.Chain.BitcoinCash:return k2(T||{});case Gy.Chain.Zcash:return R2(T);case Gy.Chain.Bitcoin:case Gy.Chain.Dogecoin:case Gy.Chain.Litecoin:case Gy.Chain.Dash:return Ky({chain:y,...T});default:throw new Gy.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var Gy;var rH=l(()=>{Rf();G1();x2();t1();tH();Rf();y5();Gy=require("@swapkit/helpers")});var I2={};P0(I2,{validateZcashAddress:()=>cy.validateZcashAddress,validateUtxoAddress:()=>O2,validateBchAddress:()=>Iy,toLegacyAddress:()=>zy,toCashAddress:()=>a1,stripToCashAddress:()=>H5,stripPrefix:()=>ny,nonSegwitChains:()=>f5,isValidAddress:()=>z2,getUtxoToolbox:()=>Tq,getUtxoNetwork:()=>P6,getUtxoApi:()=>j0,getUTXOAddressValidator:()=>$2,getUTXOAddressPath:()=>q1,getUTXOAccountPath:()=>Ry,getUTXOAccountIndexFromPath:()=>py,getScriptTypeForAddress:()=>U1,getOutputSize:()=>e1,getNetworkForChain:()=>h0,getInputSize:()=>xy,getDustThreshold:()=>Y1,detectAddressNetwork:()=>G2,deriveAddressesFromXpub:()=>iH,createZcashToolbox:()=>R2,createUTXOToolbox:()=>Ky,createHDWalletHelpers:()=>kH,createCustomUtxoApi:()=>I6,createBCHToolbox:()=>k2,compileMemo:()=>n0,calculateTxSize:()=>oy,assertDerivationIndex:()=>s0,addressFromKeysGetter:()=>N2,addInputsAndOutputs:()=>jy,accumulative:()=>i0,UtxoNetwork:()=>W2,UTXOScriptType:()=>Bf,TX_OVERHEAD:()=>Cf,SEGWIT_MARKER_FLAG_WEIGHT:()=>kf,OutputSizes:()=>s1,OP_RETURN_OVERHEAD:()=>vH,MIN_TX_FEE:()=>b6,InputSizes:()=>Nf});module.exports=V0(I2);var P2=l(()=>{G1();t1();J1();rH();Rf();x2()});function X5(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function Pf(y){let{KeyPair:T}=await import("@near-js/crypto"),H=y.index||0,f=y.derivationPath?If.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${H}'`,{parseSeedPhrase:X}=await import("near-seed-phrase"),{secretKey:Q}=X(y.phrase,f),q=T.fromString(Q);return aH(q)}async function j2(y){let{KeyPair:T}=await import("@near-js/crypto"),H=T.fromString(y);return aH(H)}async function aH(y){let{KeyPairSigner:T}=await import("@near-js/signers");class H extends T{#y;constructor(f){super(f);this.#y=f}getAddress(){let f=this.#y.getPublicKey(),X=Buffer.from(f.data).toString("hex");return Promise.resolve(X)}}return new H(y)}async function jf(y,T){let f=(await y.query({account_id:T,finality:"final",request_type:"view_access_key_list"})).keys.find((Z)=>Z.access_key.permission==="FullAccess");if(!f)throw new If.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:X}=await import("@near-js/crypto"),Q=X.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:Q}}var If;var K2=l(()=>{If=require("@swapkit/helpers")});function S2(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function V2(y){return"contractId"in y&&"methodName"in y}function A2(y){return"actions"in y}function w2(y){return"newAccountId"in y}function E2(y){return"contractCode"in y}function v2(y){return"customEstimator"in y}function b2(y){let T=0;for(let H of y)switch(H.enum){case"transfer":T+=Number(v0.SIMPLE_TRANSFER);break;case"functionCall":T+=Number(v0.CONTRACT_CALL);break;case"createAccount":T+=Number(v0.ACCOUNT_CREATION);break;case"deployContract":T+=Number(v0.CONTRACT_DEPLOYMENT);break;case"addKey":T+=Number(v0.ACCESS_KEY_ADDITION);break;case"deleteKey":T+=Number(v0.ACCESS_KEY_DELETION);break;case"stake":T+=Number(v0.STAKE);break;default:T+=Number(v0.CONTRACT_CALL)}return T.toString()}function h2(y){if(y==="ft_transfer"||y==="ft_transfer_call")return v0.TOKEN_TRANSFER;if(y==="storage_deposit")return v0.STORAGE_DEPOSIT;return v0.CONTRACT_CALL}function Hq(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function Xq(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var v0;var l2=l(()=>{v0={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 u2({account:y,contractId:T,viewMethods:H,changeMethods:f}){let{Contract:X}=await import("@near-js/accounts");return new X(y,T,{changeMethods:f,useLocalViewExecution:!0,viewMethods:H})}function Yq(y){let T;async function H(){if(T)return T;return T=await M1.match(y).with({phrase:M1.P.string},async(I)=>{return await Pf(I)}).with({signer:M1.P.any},({signer:I})=>I).otherwise(()=>{return}),T}async function f(){let{JsonRpcProvider:I}=await import("@near-js/providers"),V=await z0.getRPCUrl(z0.Chain.Near);return new I({url:V})}async function X(I){let{Account:V}=await import("@near-js/accounts"),h=await f(),c=await H(),i=I||await Q();return new V(i,h,c)}async function Q(){let I=await H();if(!I)throw new z0.SwapKitError("toolbox_near_no_signer");return await I.getAddress()}async function q(I,V){return(V||await f()).callFunction(I.contractId,"storage_balance_of",{account_id:I.accountId},{finality:"final"})}async function Z(I,V){try{let h=await V.callFunction(I,"storage_balance_bounds",{},{finality:"final"});return h?.min?BigInt(h.min):sH}catch{return sH}}function Y(I){return(I*(p2+Uq)+p2-1n)/p2}function W(I,V){return BigInt(I)*BigInt(V.runtime_config.storage_amount_per_byte)}function z(I,V){if(I<=0n)throw new z0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:V});return I}async function k(I){return await(I||await f()).experimental_protocolConfig({finality:"final"})}async function _(I,V,h){let i=await(h||await f()).callFunction(I,"ft_balance_of",{account_id:V},{finality:"final"});return BigInt(i||"0")}async function M(I){if(!await H())throw new z0.SwapKitError("toolbox_near_no_signer");let{assetValue:h,recipient:c,memo:i,sweep:T0}=I,L0=await Q(),q0=await D({assetValue:h,memo:i,recipient:c,sender:L0,sweep:T0});return U(q0)}async function $({assetValue:I,attachedDeposit:V,memo:h,provider:c,recipient:i,sender:T0,sweep:L0}){let q0=I.address;if(!q0)throw new z0.SwapKitError("toolbox_near_missing_contract_address");let O0=await q({accountId:i,contractId:q0},c),A0=O0?0n:await Z(q0,c),fy=O0?qq:Qq,Ty=BigInt(V||"1"),ry=I.getBaseValue("bigint");if(L0){let[ay,sy,B1,J5]=await Promise.all([_(q0,T0,c),c.viewAccount(T0,{finality:"final"}),k(c),C(c)]);ry=z(ay,{asset:I.toString(),balance:ay.toString()});let W5=W(sy.storage_usage,B1),D1=sy.amount-W5,z5=A0,WT=(fy+(O0?0n:eH))*Y(J5)+z5+Ty;if(D1<WT)throw new z0.SwapKitError("toolbox_sweep_amount_too_low",{asset:I.toString(),availableNear:D1.toString(),reason:"Insufficient NEAR to cover token transfer gas and storage deposit",requiredNear:WT.toString()})}let Ly=[];if(!O0)Ly.push(await j({args:{account_id:i},attachedDeposit:A0.toString(),gas:eH.toString(),methodName:"storage_deposit"}));return Ly.push(await j({args:{amount:ry.toString(),memo:h||null,receiver_id:i},attachedDeposit:Ty.toString(),gas:fy.toString(),methodName:"ft_transfer"})),E({actions:Ly,receiverId:q0,sender:T0})}async function O({assetValue:I,attachedDeposit:V,memo:h,provider:c,recipient:i,sender:T0,sweep:L0}){let{publicKey:q0,nonce:O0}=await jf(c,T0),A0=I.getBaseValue("bigint");if(L0){let[B1,J5]=await Promise.all([c.viewAccount(T0,{finality:"final"}),k(c)]),W5=await G({assetValue:I,memo:h,recipient:i,sweep:L0},J5),D1=W(B1.storage_usage,J5),z5=0n;if(h&&V){let JT=await C(c);z5=Zq*Y(JT)+BigInt(V)}A0=z(B1.amount-W5.getBaseValue("bigint")-D1-z5,{asset:I.toString(),balance:B1.amount.toString(),fee:W5.getBaseValue("bigint").toString(),storageStakeReserve:D1.toString()})}let{actionCreators:fy,createTransaction:Ty}=await import("@near-js/transactions"),{baseDecode:ry}=await import("@near-js/utils"),Ly=[fy.transfer(A0)];if(h&&V)Ly.push(fy.functionCall("memo",{memo:h},BigInt("250000000000000"),BigInt(V)));let ay=await c.block({finality:"final"}),sy=ry(ay.header.hash);return Ty(T0,q0,i,O0+1,Ly,sy)}async function D({recipient:I,assetValue:V,memo:h,attachedDeposit:c,sender:i,functionCall:T0,sweep:L0}){if(!X5(I))throw new z0.SwapKitError("toolbox_near_invalid_address",{recipient:I});if(!X5(i))throw new z0.SwapKitError("toolbox_near_invalid_address",{sender:i});if(T0)return P({...T0,sender:i});if(L0&&!await H())throw new z0.SwapKitError("toolbox_near_no_signer");let q0=await f(),O0={assetValue:V,attachedDeposit:c,memo:h,provider:q0,recipient:I,sender:i,sweep:L0};return V.isGasAsset?O(O0):$(O0)}function R(I){let V=I.encode();return Buffer.from(V).toString("base64")}async function P({args:I,attachedDeposit:V,contractId:h,gas:c,methodName:i,sender:T0}){let L0=await j({args:I,attachedDeposit:V,gas:c,methodName:i});return E({actions:[L0],receiverId:h,sender:T0})}async function E({actions:I,receiverId:V,sender:h}){let c=await f(),{publicKey:i,nonce:T0}=await jf(c,h),{createTransaction:L0}=await import("@near-js/transactions"),{baseDecode:q0}=await import("@near-js/utils"),O0=await c.block({finality:"final"}),A0=q0(O0.header.hash);return L0(h,i,V,T0+1,I,A0)}async function j(I){let{actionCreators:V}=await import("@near-js/transactions");return V.functionCall(I.methodName,Buffer.from(JSON.stringify(I.args)),BigInt(I.gas),BigInt(I.attachedDeposit))}async function K(I){let V=await H();if(!V)throw new z0.SwapKitError("toolbox_near_no_signer");await N(I);let[h,c]=await V.signTransaction(I);return c}async function N(I){let V=I.publicKey;if(V.toString?.().startsWith("ed25519:")||V.toString?.().startsWith("secp256k1:"))return;let{KeyType:h,PublicKey:c}=await import("@near-js/crypto"),i=V.data||V.ed25519Key?.data,T0=V.secp256k1Key?.data;if(i){I.publicKey=new c({data:Uint8Array.from(i),keyType:h.ED25519});return}if(T0)I.publicKey=new c({data:Uint8Array.from(T0),keyType:h.SECP256K1})}function B(I){if(typeof I==="string")return I;if(Array.isArray(I))return I.map(B).find(Boolean);if(!(I&&typeof I==="object"))return;let V=I;return V.transaction?.hash||V.transaction_outcome?.id}function L(I){return I instanceof Error?I.message:String(I)}async function J(I){let h=await(await f()).sendTransaction(I),c=B(h);if(!c)throw new z0.SwapKitError("toolbox_near_transfer_failed",{result:h});return c}async function U(I){let V=await H();if(!V)throw new z0.SwapKitError("toolbox_near_no_signer");let h;try{h=await K(I)}catch(c){let i;try{i=V.signAndSendTransaction?await V.signAndSendTransaction({actions:I.actions,receiverId:I.receiverId,signerId:I.signerId}):await V.signAndSendTransactions?.({transactions:[I]})}catch(L0){throw new z0.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:L(c),signAndSendError:L(L0)}},L0)}let T0=B(i);if(T0)return T0;throw c}return J(h)}async function G(I,V){let h=await H();if("assetValue"in I){if(I.sweep&&!h)throw new z0.SwapKitError("toolbox_near_no_signer");try{let[i,T0]=await Promise.all([C(),V?Promise.resolve(V):k()]),{runtime_config:L0}=T0,{execution:q0,send_sir:O0}=L0.transaction_costs.action_receipt_creation_config,{execution:A0,send_sir:fy}=L0.transaction_costs.action_creation_config.transfer_cost,Ty=BigInt(fy)+BigInt(A0),ry=BigInt(O0)+BigInt(q0),Ly=Ty+ry,ay=I.sweep?Y(i):i,sy=Ly*ay;return z0.AssetValue.from({chain:z0.Chain.Near,value:sy})}catch(i){throw new z0.SwapKitError({errorKey:"toolbox_fee_estimation_failed",info:{chain:z0.Chain.Near,message:L(i)}},i)}}let c=h?await X():void 0;return b(I,c)}async function C(I){let h=await(I||await f()).gasPrice(null);return BigInt(h.gas_price)}async function F(I,V,h){if(!await H())throw new z0.SwapKitError("toolbox_near_no_signer");let i=await X(),{formatNearAmount:T0}=await import("@near-js/utils"),{PublicKey:L0}=await import("@near-js/crypto"),q0=T0(h)||"0";return(await i.createAccount(I,L0.fromString(V),BigInt(q0))).transaction.hash}async function x(I){let V=await H();try{if(!V)throw new z0.SwapKitError("toolbox_near_no_signer");let{actionCreators:h}=await import("@near-js/transactions"),{contractId:c,methodName:i,args:T0,deposit:L0}=I,q0=await X(),O0=await b({args:T0||{},contractId:c,methodName:i}),A0=h.functionCall(i,T0||{},O0.getBaseValue("bigint"),BigInt(L0||"1"));return(await q0.signAndSendTransaction({actions:[A0],receiverId:c})).transaction_outcome.id}catch(h){throw new z0.SwapKitError("toolbox_near_transfer_failed",{error:h})}}async function A(I){let V=await X();return u2({account:V,changeMethods:I.changeMethods,contractId:I.contractId,viewMethods:I.viewMethods})}async function w(I){if(!await H())throw new z0.SwapKitError("toolbox_near_no_signer");if(I.actions.length===0)throw new z0.SwapKitError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:I.actions,receiverId:I.receiverId})).transaction.hash}async function b(I,V){let h=await M1.match(I).when(S2,()=>v0.SIMPLE_TRANSFER).when(V2,(i)=>h2(i.methodName)).when(A2,(i)=>b2(i.actions)).when(w2,()=>v0.ACCOUNT_CREATION).when(E2,()=>v0.CONTRACT_DEPLOYMENT).when(v2,(i)=>{if(!V)throw new z0.SwapKitError("toolbox_near_no_account");return i.customEstimator(V)}).otherwise(()=>{throw new z0.SwapKitError("toolbox_near_invalid_gas_params")}),c=BigInt(h)*BigInt(1000000000000);return z0.AssetValue.from({chain:z0.Chain.Near,value:c})}function a(I,V){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),b(I,V)}async function X0(){let I=await f();try{return(await I.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function Y0(){let I=await H();return I?(await I.getPublicKey()).toString():""}return{broadcastTransaction:J,callFunction:x,createAction:j,createContract:A,createContractFunctionCall:P,createSubAccount:F,createTransaction:D,estimateGas:a,estimateGasLimit:b,estimateTransactionFee:G,executeBatchTransaction:w,getAddress:Q,getBalance:w0(z0.Chain.Near),getGasPrice:X0,getNearProvider:f,getPublicKey:Y0,getSignerFromPhrase:Pf,getSignerFromPrivateKey:j2,serializeTransaction:R,signAndBroadcastTransaction:U,signTransaction:K,transfer:M,validateAddress:X5}}var z0,M1,sH=1250000000000000000000n,eH=150000000000000n,Qq=150000000000000n,qq=250000000000000n,Zq=250000000000000n,Uq=500n,p2=10000n;var m2=l(()=>{Hy();K2();l2();z0=require("@swapkit/helpers"),M1=require("ts-pattern")});var yX=l(()=>{m2()});var g2={};P0(g2,{validateNearAddress:()=>X5,tgasToGas:()=>Hq,isSimpleTransfer:()=>S2,isCustomEstimator:()=>v2,isContractDeployment:()=>E2,isContractCall:()=>V2,isBatchTransaction:()=>A2,isAccountCreation:()=>w2,getNearToolbox:()=>Yq,getNearSignerFromPrivateKey:()=>j2,getNearSignerFromPhrase:()=>Pf,getFullAccessPublicKey:()=>jf,getContractMethodGas:()=>h2,gasToTGas:()=>Xq,estimateBatchGas:()=>b2,createNearContract:()=>u2,GAS_COSTS:()=>v0});module.exports=V0(g2);var o2=l(()=>{K2();l2();m2();yX()});var n2={};P0(n2,{validateRadixAddress:()=>fX,getRadixToolbox:()=>Gq});module.exports=V0(n2);function fX(y){return y.startsWith("account_rdx1")&&y.length===66}async function Jq({address:y,networkApi:T}){let H=!0,f,X=[],Q=await zq(T);while(H){let q={address:y,at_ledger_state:{state_version:Q},cursor:f,limit_per_page:100},Z=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:q});if(X=X.concat(Z.items),Z.next_cursor)f=Z.next_cursor;else H=!1}return X}async function Wq({resources:y,networkApi:T}){let H=[],f=50,X=[];for(let Q=0;Q<y.length;Q+=50)X.push(y.slice(Q,Q+50));for(let Q of X){let q=Q.map((W)=>W.resource_address),Z=await T.state.getEntityDetailsVaultAggregated(q),Y=new Map;for(let W of Z)if(W.details!==void 0){let z=W.metadata?.items.find((_)=>_.key==="symbol"),k=z?.value.typed.type==="String"?z.value.typed.value:"?";if(W.details.type==="FungibleResource")Y.set(W.address,{decimals:W.details.divisibility,symbol:k})}for(let W of Q)if(W.aggregation_level==="Global"){let z=Y.get(W.resource_address)||{decimals:0,symbol:"?"},k=e0.AssetValue.from({asset:z.symbol!==e0.Chain.Radix?`${e0.Chain.Radix}.${z.symbol}-${W.resource_address}`:"XRD.XRD",value:W.amount});H.push(k)}}return H}async function zq(y){return(await y.status.getCurrent()).ledger_state.state_version}function Gq({dappConfig:y}={}){let T=y||e0.SKConfig.get("integrations").radix,H;async function f(){if(H)return H;let{GatewayApiClient:Q}=await import("@radixdlt/babylon-gateway-api-sdk"),{RadixDappToolkit:q}=await import("@radixdlt/radix-dapp-toolkit"),Z=q({...T,networkId:T.network?.networkId||1});return H=Q.initialize(Z.gatewayApi.clientConfig),H}async function X(Q){let q=await f(),Z=await Jq({address:Q,networkApi:q}),Y=await Wq({networkApi:q,resources:Z});if(!Y.some((z)=>z.isGasAsset))return[e0.AssetValue.from({chain:e0.Chain.Radix}),...Y];return Y}return{getAddress:()=>"",getBalance:X,getNetworkApi:f,signAndBroadcast:()=>{throw new e0.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:fX}}var e0;var c2=l(()=>{e0=require("@swapkit/helpers")});function Kf(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function dy(y){if(Kf(y))return y.toUpperCase();if(y.length<=3){let H=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${H}${"0".repeat(10)}`.toUpperCase()}let T=Buffer.from(y).toString("hex").toUpperCase();if(T.length>40)throw new TX.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return T.padEnd(40,"0")}function Lq(y){if(!Kf(y))return y;if(y.toUpperCase().startsWith("00")){let T=y.slice(24,30);try{let H=Buffer.from(T,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(H)&&H.length>0)return H}catch{}return y.toUpperCase()}try{let T=y.replace(/0+$/,""),H=T.length%2===0?T:`${T}0`,f=Buffer.from(H,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function _1(y){if(Kf(y))return y.toUpperCase();if(y.length<=3)return y;return dy(y)}var TX;var Sf=l(()=>{TX=require("@swapkit/helpers")});async function Mq(y,T){let H=_1(y),f=Af.find((X)=>_1(X.currency)===H&&X.issuer===T);if(f)return f;try{let X=await Vf.RequestClient.get(`https://api.xrplmeta.org/token/${y}:${T}`);if(X)return{currency:y,decimals:15,description:X.desc,domain:X.domain,icon:X.icon,issuer:T,name:X.name,verified:X.self_assessment?.is_regulated||X.self_assessment?.is_licensed}}catch(X){Vf.warnOnce({condition:!0,id:`xrpl_token_lookup_${y}_${T}`,warning:`Failed to fetch XRPL token info for ${y}:${T}: ${X}`})}return{currency:y,decimals:15,issuer:T,verified:!1}}function _q(y){return Af.filter((T)=>T.issuer===y)}function Oq(y,T){let H=_1(y);return Af.some((f)=>_1(f.currency)===H&&f.issuer===T)}var Vf,Af;var HX=l(()=>{Sf();Vf=require("@swapkit/helpers"),Af=[{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 i2={};P0(i2,{validateRippleAddress:()=>Q5,parseXrplTokenIdentifier:()=>d2,normalizeCurrency:()=>_1,isKnownToken:()=>Oq,isHexCurrency:()=>Kf,hexToCurrency:()=>Lq,getXrplTokenInfo:()=>Mq,getRippleToolbox:()=>Nq,getKnownTokensByIssuer:()=>_q,formatXrplTokenIdentifier:()=>ZX,currencyToHex:()=>dy,XRPL_TOKEN_ERROR_CODES:()=>wf,XRPL_KNOWN_TOKENS:()=>Af});module.exports=V0(i2);function XX(y){if(typeof y!=="object"||y===null||!("data"in y))return!1;let{data:T}=y;return typeof T==="object"&&T!==null&&"error_code"in T&&T.error_code===$q.ACCOUNT_NOT_FOUND}function d2(y){let T=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!T?.[1]||!T?.[2])return null;if(!Q5(T[2]))return null;return{currency:T[1],issuer:T[2]}}function ZX(y,T){return`${s.Chain.Ripple}.${y}-${T}`}async function QX(y){if(y.isGasAsset){let{xrpToDrops:H}=await import("xrpl");return H(y.getValue("string"))}let T=d2(y.toString());if(!T)throw new s.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:T.currency,issuer:T.issuer,value:y.getValue("string")}}function qX(y){let T,H=()=>{return T??=import("xrpl").then(({Wallet:f})=>f.fromMnemonic(y)),T};return{getAddress:async()=>(await H()).address,signTransaction:async(f)=>(await H()).sign(f)}}function Q5(y){return Ef.isValidClassicAddress(y)||Ef.isValidXAddress(y)}function Nq(y={}){let T;async function H(){if(T)return T;return T=await O1.match(y).with({phrase:O1.P.string},({phrase:N})=>qX(N)).with({signer:O1.P.any},({signer:N})=>N).otherwise(()=>{return}),T}let f;async function X(){let N=await s.getRPCUrl(s.Chain.Ripple);if(!N)throw new s.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:s.Chain.Ripple}});let{Client:B}=await import("xrpl"),L=new B(N);return await L.connect(),L}async function Q(){if(f){let N=await f.catch(()=>null);if(N?.isConnected())return N}return f=X(),f}async function q(N){let B=await N.request({command:"server_state"}),L=B.result.state.validated_ledger??B.result.state.closed_ledger;if(!L||!Number.isSafeInteger(L.reserve_base)||L.reserve_base<0||!Number.isSafeInteger(L.reserve_inc)||L.reserve_inc<0)throw new s.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{reason:"XRPL reserve data is unavailable or invalid"}});return{baseReserveDrops:BigInt(L.reserve_base),ownerReserveDrops:BigInt(L.reserve_inc)}}let Z=async()=>{let N=await H();if(!N)throw new s.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return N.getAddress()},Y=async(N)=>{let B=N||await Z(),{baseDecimal:L}=s.getChainConfig(s.Chain.Ripple),J=await Q();try{let[U,G]=await Promise.all([J.request({account:B,command:"account_info"}),J.request({account:B,command:"account_lines"})]),C=U.result.account_data.Balance,F=[s.AssetValue.from({chain:s.Chain.Ripple,fromBaseDecimal:L,value:C})];for(let x of G.result.lines){let A=ZX(x.currency,x.account);if(Number.parseFloat(x.balance)!==0)F.push(s.AssetValue.from({asset:A,asyncTokenLookup:!1,value:x.balance}))}return F}catch(U){if(XX(U))return[s.AssetValue.from({chain:s.Chain.Ripple,value:0})];throw new s.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:B,error:U}})}},W=async()=>{let{baseDecimal:N}=s.getChainConfig(s.Chain.Ripple),J=(await(await Q()).request({command:"fee"})).result.drops.open_ledger_fee;return s.AssetValue.from({chain:s.Chain.Ripple,fromBaseDecimal:N,value:J})};async function z(N){let B=N||await Z(),L=await Q();try{return(await L.request({account:B,command:"account_lines"})).result.lines.map((U)=>({account:U.account,authorized:U.authorized??!1,balance:U.balance,currency:U.currency,freeze:U.freeze??!1,freezePeer:U.freeze_peer??!1,limit:U.limit,limitPeer:U.limit_peer,noRipple:U.no_ripple??!1,noRipplePeer:U.no_ripple_peer??!1,peerAuthorized:U.peer_authorized??!1,qualityIn:U.quality_in??0,qualityOut:U.quality_out??0}))}catch(J){if(XX(J))return[];throw new s.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:B,error:J}})}}async function k({address:N,currency:B,issuer:L}){let J=await z(N),U=dy(B);return J.some((G)=>{return dy(G.currency)===U&&G.account===L})}async function _({currency:N,issuer:B,limit:L,sender:J}){let U=J||await Z();if(!Q5(B))throw new s.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:B}});let G=Number.parseFloat(L);if(Number.isNaN(G)||G<0)throw new s.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:L}});let C=await Q(),F={Account:U,LimitAmount:{currency:N,issuer:B,value:L},TransactionType:"TrustSet"};return C.autofill(F)}async function M(N,B){let[L,J,U]=await Promise.all([N.request({account:B,command:"account_info"}),q(N),W()]),{Balance:G,OwnerCount:C}=L.result.account_data,F=U.getBaseValue("bigint"),x=BigInt(G)-J.baseReserveDrops-BigInt(C)*J.ownerReserveDrops-F;if(x<=0n)throw new s.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:s.Chain.Ripple,balance:G,baseReserve:J.baseReserveDrops.toString(),fee:F.toString(),ownerCount:C,ownerReserve:J.ownerReserveDrops.toString()}});let{baseDecimal:A}=s.getChainConfig(s.Chain.Ripple),w=s.AssetValue.from({chain:s.Chain.Ripple,fromBaseDecimal:A,value:x.toString()});return{amount:await QX(w),fee:F.toString()}}async function $(N,B){let L=d2(N.toString());if(!L)throw new s.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:N.toString()}});let J=await Q(),U="0",G;while(!0){let C=await J.request({account:B,command:"account_lines",peer:L.issuer,...G!==void 0&&{marker:G}}),F=C.result.lines.find((A)=>A.account===L.issuer&&dy(A.currency)===dy(L.currency));if(F){U=F.balance;break}let x=C.result.marker;if(x===void 0||x===null)break;G=x}if(!Number.isFinite(Number(U))||Number(U)<=0)throw new s.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:N.toString(),balance:U}});return{currency:L.currency,issuer:L.issuer,value:U}}async function O({assetValue:N,recipient:B,memo:L,sender:J,sweep:U,destinationTag:G,extendBySeconds:C=150}){if(!Q5(B))throw new s.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let F=J||await Z();if(N.chain!==s.Chain.Ripple)throw new s.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:N.toString()}});let x=U&&N.isGasAsset?await M(await Q(),F):void 0,A=x?x.amount:U?await $(N,F):await QX(N),w={Account:F,Amount:A,Destination:B,TransactionType:"Payment",...x&&{Fee:x.fee},...G!==void 0&&{DestinationTag:G}};if(L)w.Memos=[{Memo:{MemoData:Buffer.from(L).toString("hex")}}];let a=await(await Q()).autofill(w);if(a.LastLedgerSequence&&C>0)a.LastLedgerSequence+=Math.ceil(C/4);return a}async function D(N){let B=await H();if(!B)throw new s.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return B.signTransaction(N)}async function R(N){let L=await(await Q()).submitAndWait(N),{result:J}=L;if(J.validated)return J.hash;let U=J.meta?.TransactionResult,G=O1.match(U).with(wf.tecNO_LINE,()=>"No trust line exists for this token").with(wf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(wf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new s.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:s.Chain.Ripple,...G?{reason:G}:{txResult:U}}})}let P=async(N)=>{try{let B=await D(N);return R(B.tx_blob)}catch(B){if(B instanceof s.SwapKitError)throw B;throw new s.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:s.Chain.Ripple,error:B}})}};async function E({assetValue:N,memo:B,recipient:L,sweep:J}){let U=await H();if(!U)throw new s.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let G=await U.getAddress(),C=await O({assetValue:N,memo:B,recipient:L,sender:G,sweep:J}),F=await D(C);return R(F.tx_blob)}async function j(N){let B=await H();if(!B)throw new s.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let L=await B.getAddress(),J=await _({...N,sender:L}),U=await D(J);return R(U.tx_blob)}function K(){let N=f;if(f=null,N)N.then((B)=>{if(B?.isConnected())return B.disconnect();return}).catch((B)=>{console.warn("XRPL Cleanup failed silently:",B)})}return{broadcastTransaction:R,createSigner:qX,createTransaction:O,disconnect:K,estimateTransactionFee:W,getAddress:Z,getBalance:Y,getTrustLines:z,hasTrustLine:k,setTrustLine:_,setTrustLineAndBroadcast:j,signAndBroadcastTransaction:P,signTransaction:D,transfer:E,validateAddress:Q5}}var s,Ef,O1,$q,wf;var t2=l(()=>{Sf();s=require("@swapkit/helpers"),Ef=require("ripple-address-codec"),O1=require("ts-pattern");Sf();HX();$q={ACCOUNT_NOT_FOUND:19};wf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function r2(y,T){let H=0n,f=0n,X=T;while(X<y.length&&X-T<10){let Q=y[X++];if(Q===void 0)break;if(H|=BigInt(Q&127)<<f,f+=7n,(Q&128)===0)return[H,X]}throw new iy.SwapKitError("toolbox_tron_transaction_creation_failed")}function q5(y){let T=[],H=y<0n?y+2n**64n:y;while(H>=128n)T.push(Number(H&0x7fn)|128),H>>=7n;return T.push(Number(H)),T}function vf(y,T,H){let f=y.get(T);if(f)f.push(H);else y.set(T,[H])}function Dq(y){let T=new Map,H=0;while(H<y.length){let[f,X]=r2(y,H);H=X;let Q=Number(f>>3n),q=Number(f&7n);if(q===bf){let[Z,Y]=r2(y,H);H=Y,vf(T,Q,{data:new Uint8Array(q5(Z)),wireType:bf})}else if(q===hf){let[Z,Y]=r2(y,H);H=Y;let W=Number(Z);if(W<0||H+W>y.length)throw new iy.SwapKitError("toolbox_tron_transaction_creation_failed");let z=y.slice(H,H+W);H+=W,vf(T,Q,{data:z,wireType:hf})}else if(q===UX){if(H+8>y.length)throw new iy.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=y.slice(H,H+8);H+=8,vf(T,Q,{data:Z,wireType:UX})}else if(q===YX){if(H+4>y.length)throw new iy.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=y.slice(H,H+4);H+=4,vf(T,Q,{data:Z,wireType:YX})}else throw new iy.SwapKitError("toolbox_tron_transaction_creation_failed")}return T}function Fq(y){let T=[];for(let[Q,q]of[...y.entries()].sort(([Z],[Y])=>Z-Y))for(let{wireType:Z,data:Y}of q){let W=BigInt(Q<<3|Z);if(T.push(new Uint8Array(q5(W))),Z===hf)T.push(new Uint8Array(q5(BigInt(Y.length))));T.push(Y)}let H=T.reduce((Q,q)=>Q+q.length,0),f=new Uint8Array(H),X=0;for(let Q of T)f.set(Q,X),X+=Q.length;return f}function WX(y,T){if(!y||y.length%2!==0)throw new iy.SwapKitError("toolbox_tron_transaction_creation_failed");let H=$1.hexToBytes(y),f=Dq(H);if(T.expiration!==void 0)f.set(Cq,[{data:new Uint8Array(q5(BigInt(T.expiration))),wireType:bf}]);if(T.data!==void 0)f.set(kq,[{data:$1.hexToBytes(T.data),wireType:hf}]);if(T.fee_limit!==void 0)f.set(Bq,[{data:new Uint8Array(q5(BigInt(T.fee_limit))),wireType:bf}]);let X=Fq(f),Q=$1.bytesToHex(X),q=$1.bytesToHex(JX.sha256(X));return{raw_data_hex:Q,txID:q}}var JX,$1,iy,bf=0,UX=1,hf=2,YX=5,Cq=8,kq=10,Bq=18;var zX=l(()=>{JX=require("@noble/hashes/sha2.js"),$1=require("@noble/hashes/utils.js"),iy=require("@swapkit/helpers")});function yy(y){if(typeof y!=="string")return!1;try{let T=lf.decode(y);return T.length===21&&T[0]===MX}catch{return!1}}function _X(y){return t0.bytesToHex(lf.decode(y))}function xq(y){return lf.decode(y).slice(1)}function OX(y){let T=a2.secp256k1.getPublicKey(t0.hexToBytes(y),!1),H=GX.keccak_256(T.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=MX,f.set(H,1),lf.encode(f)}function $X({txID:y,privateKey:T}){let H=a2.secp256k1.sign(t0.hexToBytes(y),t0.hexToBytes(T),{format:"recovered",prehash:!1}),f=H[0]??0,X=t0.bytesToHex(H.slice(1,33)),Q=t0.bytesToHex(H.slice(33,65)),q=(f+27).toString(16).padStart(2,"0");return X+Q+q}function N1({txID:y,raw_data_hex:T}){let H=t0.bytesToHex(s2.sha256(t0.hexToBytes(T)));if(y!==H)throw new e2.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:H,txID:y})}function Iq(y){return`000000000000000000000000${t0.bytesToHex(xq(y))}`}function Pq(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=Rq)throw new e2.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function C1(y){return y.map(({type:T,value:H})=>T==="address"?Iq(H):Pq(BigInt(H))).join("")}function NX(y){return t0.bytesToHex(new TextEncoder().encode(y))}var a2,s2,GX,t0,LX,e2,lf,MX=65,Rq;var yT=l(()=>{a2=require("@noble/curves/secp256k1.js"),s2=require("@noble/hashes/sha2.js"),GX=require("@noble/hashes/sha3.js"),t0=require("@noble/hashes/utils.js"),LX=require("@scure/base"),e2=require("@swapkit/helpers"),lf=LX.createBase58check(s2.sha256),Rq=2n**256n});function BX(){try{return B0.getRPCUrlSync(B0.Chain.Tron)}catch{return kX}}function DX(){let y=new AbortController,T=setTimeout(()=>y.abort(),Aq);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function ty(y,T){let{signal:H,cleanup:f}=DX();try{let X=await fetch(`${BX()}${y}`,{body:JSON.stringify(T),headers:{"Content-Type":"application/json"},method:"POST",signal:H});if(!X.ok)throw new B0.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${X.status} ${X.statusText} on ${y}`});return await X.json()}finally{f()}}async function FX(y,T){let{signal:H,cleanup:f}=DX();try{let X=await fetch(`${T??BX()}${y}`,{headers:{"Content-Type":"application/json"},signal:H});if(!X.ok)throw new B0.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${X.status} ${X.statusText} on ${y}`});return await X.json()}finally{f()}}async function uf(y){if(!yy(y))throw new B0.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await FX(`/v1/accounts/${y}`,kX);if(!(T.success&&T.data)||T.data.length===0)return;let H;try{H=_X(y).toLowerCase()}catch{H=y.toLowerCase()}let f=T.data.find((X)=>X.address.toLowerCase()===H);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(T){if(T instanceof B0.SwapKitError)throw T;throw new B0.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}async function RX({from:y,to:T,amount:H}){let X=await ty("/wallet/createtransaction",{amount:H,owner_address:y,to_address:T,visible:!0});if(!X.txID||!X.raw_data_hex||!X.raw_data)throw new B0.SwapKitError("toolbox_tron_transaction_creation_failed");let q=X.raw_data?.contract?.[0]?.parameter?.value;if(q?.to_address!==T||q?.owner_address!==y||q?.amount!==H)throw new B0.SwapKitError("toolbox_tron_transaction_creation_failed");return N1(X),X}async function xX({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f,feeLimit:X,callValue:Q=0}){let q=await ty("/wallet/triggersmartcontract",{call_value:Q,contract_address:T,fee_limit:X,function_selector:H,owner_address:y,parameter:f,visible:!0});if(!q.result.result||!q.transaction?.txID||!q.transaction?.raw_data_hex)throw new B0.SwapKitError("toolbox_tron_transaction_creation_failed");let Y=q.transaction.raw_data?.contract?.[0]?.parameter?.value;if(Y?.contract_address!==T||Y?.owner_address!==y)throw new B0.SwapKitError("toolbox_tron_transaction_creation_failed");return N1(q.transaction),q.transaction}function IX({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f}){return ty("/wallet/triggerconstantcontract",{contract_address:T,function_selector:H,owner_address:y,parameter:f,visible:!0})}function wq({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f}){return ty("/wallet/estimateenergy",{contract_address:T,function_selector:H,owner_address:y,parameter:f,visible:!0})}function CX(y){let T=typeof y==="number"?y:typeof y==="string"?Number(y):Number.NaN;return Number.isFinite(T)&&T>0?T:void 0}async function Z5(y){try{let{result:T,txid:H}=await ty("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!T||!H)throw new B0.SwapKitError("toolbox_tron_token_transfer_failed");return H}catch(T){throw new B0.SwapKitError("toolbox_tron_broadcast_failed",{error:T})}}async function U5(){let y={};try{let{chainParameter:T}=await FX("/wallet/getchainparameters");for(let H of T)y[H.key]=H.value}catch(T){B0.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${T instanceof Error?T.message:T}`})}return{bandwidthFee:y.getTransactionFee??jq,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??Kq,energyFee:y.getEnergyFee??Sq,memoFee:y.getMemoFee??Vq}}async function fT(y){try{let T=await ty("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(T.freeNetLimit??600)-(T.freeNetUsed??0),total:T.NetLimit??0,used:T.NetUsed??0},energy:{total:T.EnergyLimit??0,used:T.EnergyUsed??0}}}catch(T){return B0.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${T instanceof Error?T.message:T}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function Y5(y){try{let T=await ty("/wallet/getaccount",{address:y,visible:!0});return T&&Object.keys(T).length>0}catch{return!1}}async function TT(y){try{let T=await wq({...y,ownerAddress:y.sender}),H=T.energy_required??T.energyRequired;if(T.result&&!T.result.result)throw new B0.SwapKitError("toolbox_tron_trongrid_api_error",{message:T.result.message||"estimateenergy failed"});if(H!==void 0){let f=CX(H);if(f!==void 0)return f;throw new B0.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(T){B0.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${T instanceof Error?T.message:T}`})}try{let{energy_used:T}=await IX({...y,ownerAddress:y.sender}),H=CX(T);if(H!==void 0)return H;throw new B0.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid triggerconstantcontract energy response"})}catch(T){throw B0.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy: ${T instanceof Error?T.message:T}`}),new B0.SwapKitError("toolbox_tron_trongrid_api_error",{message:`Unable to estimate contract energy: ${T instanceof Error?T.message:T}`})}}async function PX({assetAddress:y,owner:T,spender:H}){let f=C1([{type:"address",value:T},{type:"address",value:H}]),Q=(await IX({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:H,parameter:f})).constant_result?.[0];if(!Q)return 0n;try{return BigInt(`0x${Q}`)}catch{return 0n}}var B0,kX="https://api.trongrid.io",jq=1000,Kq=1e6,Sq=420,Vq=1e6,Aq=30000;var jX=l(()=>{yT();B0=require("@swapkit/helpers")});function hX({phrase:y,derivationPath:T}){let H=EX.HDKey.fromMasterSeed(vX.mnemonicToSeedSync(y)).derive(T);if(!H.privateKey)throw new m.SwapKitError("toolbox_tron_no_signer");return wX.bytesToHex(H.privateKey)}function lX(y,T){return{...y,value:String(T)}}function uX(y,T){if(!T)return y;return{...y,data:T.startsWith("0x")?T:`0x${T}`}}function pX({phrase:y,derivationPath:T,index:H}){let f=T||m.derivationPathToString(m.updateDerivationPath(m.NetworkDerivationPath[m.Chain.Tron],{index:H||0}));return hX({derivationPath:f,phrase:y})}function vq({phrase:y,derivationPath:T}){let H=hX({derivationPath:T,phrase:y}),f=OX(H);return{getAddress:()=>Promise.resolve(f),signTransaction:(X)=>{N1(X);let Q=$X({privateKey:H,txID:X.txID});return Promise.resolve({...X,signature:[Q]})}}}function AX({transaction:y,memo:T,expiration:H,feeLimit:f}){let X={},Q={};if(f!==void 0&&y.raw_data)X.fee_limit=f,Q.fee_limit=f;if(T){let Y=T.startsWith("0x")?T.replace(/^0x/,""):NX(T);X.data=Y,Q.data=Y}if(H){let Y=y.raw_data.expiration+H*1000;X.expiration=Y,Q.expiration=Y}if(Object.keys(X).length===0)return y;let{raw_data_hex:q,txID:Z}=WX(y.raw_data_hex,X);return{...y,raw_data:{...y.raw_data,...Q},raw_data_hex:q,txID:Z}}function mX(y={}){let T="index"in y?y.index||0:0,H=m.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[m.Chain.Tron],{index:T})),f,X=!1;function Q(){if(X)return Promise.resolve(f);return f=k1.match(y).with({phrase:k1.P.string},({phrase:L})=>vq({derivationPath:H,phrase:L})).with({signer:k1.P.not(k1.P.nullish)},({signer:L})=>L).otherwise(()=>{return}),X=!0,Promise.resolve(f)}async function q(){let L=await Q();if(!L)throw new m.SwapKitError("toolbox_tron_no_signer");return L.getAddress()}async function Z(L,J){let U=L||SX,G=J??(await U5()).energyFee,C=U*G,F=Math.ceil(C*1.5);return Math.min(Math.max(F,1e7),150000000)}async function Y({contractAddress:L,functionSelector:J,parameter:U,sender:G,memo:C,expiration:F,extraEnergy:x=0}){let A=await TT({contractAddress:L,functionSelector:J,parameter:U,sender:G}),w=await Z(A+x),b=await xX({contractAddress:L,feeLimit:w,functionSelector:J,ownerAddress:G,parameter:U});return AX({expiration:F,feeLimit:w,memo:C,transaction:b})}async function W(L){if(!yy(L))return[m.AssetValue.from({chain:m.Chain.Tron})];try{let J=await uf(L);if(!J)return[m.AssetValue.from({chain:m.Chain.Tron})];let U=[m.AssetValue.from({chain:m.Chain.Tron,fromBaseDecimal:6,value:String(J.balance)})],G=J.trc20?.find((C)=>(XT in C));if(G){let C=G[XT];U.push(m.AssetValue.from({asset:`TRON.USDT-${XT}`,fromBaseDecimal:6,value:C}))}return U}catch(J){return m.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${J instanceof Error?J.message:J}`}),[m.AssetValue.from({chain:m.Chain.Tron})]}}async function z({recipient:L,assetValue:J,memo:U,expiration:G,sweep:C}){if(!yy(L))throw new m.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let F=await Q();if(!F)throw new m.SwapKitError("toolbox_tron_no_signer");try{let x=await q(),A=await P({assetValue:J,expiration:G,memo:U,recipient:L,sender:x,sweep:C}),w=await F.signTransaction(A),b=await Z5(w);if(!b)throw new m.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return b}catch(x){if(x instanceof m.SwapKitError&&x.errorKey==="toolbox_sweep_amount_too_low")throw x;throw new m.SwapKitError("toolbox_tron_token_transfer_failed",{message:x instanceof Error?x.message:String(x)})}}function k({requiredBandwidth:L,resources:J,feePerUnit:U}){let G=Math.max(0,J.free+J.total-J.used);return L>G?(L-G)*U:0}async function _({memo:L,recipient:J,senderAddress:U}){let[G,C,F]=await Promise.all([U5(),Y5(J),fT(U)]),x=C?0:G.createAccountFee,A=k({feePerUnit:G.bandwidthFee,requiredBandwidth:KX,resources:F.bandwidth}),w=L?G.memoFee:0;return m.AssetValue.from({chain:m.Chain.Tron,fromBaseDecimal:m.BaseDecimal.TRON,value:x+A+w})}async function M({assetValue:L,amountInBaseUnits:J=L.getBaseValue("string"),memo:U,recipient:G,senderAddress:C}){let F=L.address;if(!F)throw new m.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let[x,A,w,b]=await Promise.all([U5(),Y5(G),fT(C),TT({contractAddress:F,functionSelector:"transfer(address,uint256)",parameter:C1([{type:"address",value:G},{type:"uint256",value:J}]),sender:C})]),X0=b+(A?0:HT),Y0=k({feePerUnit:x.bandwidthFee,requiredBandwidth:VX,resources:w.bandwidth}),I=Math.max(0,w.energy.total-w.energy.used),V=X0>I?(X0-I)*x.energyFee:0,h=U?x.memoFee:0;return m.AssetValue.from({chain:m.Chain.Tron,fromBaseDecimal:m.BaseDecimal.TRON,value:Y0+V+h})}async function $({assetValue:L,memo:J,recipient:U}){let[G,C]=await Promise.all([U5(),Y5(U)]);if(L.isGasAsset){let w=C?0:G.createAccountFee,b=J?G.memoFee:0;return m.AssetValue.from({chain:m.Chain.Tron,fromBaseDecimal:m.BaseDecimal.TRON,value:w+KX*G.bandwidthFee+b})}let x=await Z(SX+(C?0:HT),G.energyFee),A=J?G.memoFee:0;return m.AssetValue.from({chain:m.Chain.Tron,fromBaseDecimal:m.BaseDecimal.TRON,value:x+VX*G.bandwidthFee+A})}async function O({assetValue:L,memo:J,recipient:U,sender:G}){let C=await Q();try{let F=G?G:C?await q():void 0;if(!F)return $({assetValue:L,memo:J,recipient:U});return L.isGasAsset?_({memo:J,recipient:U,senderAddress:F}):M({assetValue:L,memo:J,recipient:U,senderAddress:F})}catch(F){throw m.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${F instanceof Error?F.message:F}`}),new m.SwapKitError("toolbox_fee_estimation_failed",{chain:m.Chain.Tron,error:F})}}async function D({assetValue:L,memo:J,recipient:U,sender:G,sweep:C}){if(!C)return L.getBaseValue("bigint");let[F,x]=await Promise.all([uf(G),_({memo:J,recipient:U,senderAddress:G})]),A=BigInt(F?.balance??0)-x.getBaseValue("bigint");if(A<=0n)throw new m.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amount:A.toString(),asset:L.toString()}});return A}async function R({assetValue:L,memo:J,recipient:U,sender:G,sweep:C}){if(!C)return L.getBaseValue("string");let F=L.address;if(!F)throw new m.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let x=await uf(G),w=x?.trc20.find((Y0)=>(F in Y0))?.[F]??"0";if(BigInt(w)<=0n)throw new m.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:L.toString(),balance:w}});let b=await M({amountInBaseUnits:w,assetValue:L,memo:J,recipient:U,senderAddress:G}),a=BigInt(x?.balance??0),X0=b.getBaseValue("bigint");if(a<X0)throw new m.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:L.toString(),nativeBalance:a.toString(),requiredNativeFee:X0.toString()}});return w}async function P({recipient:L,assetValue:J,memo:U,sender:G,expiration:C,sweep:F}){if(!yy(L)||!yy(G))throw new m.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(J.isGasAsset){let b=await D({assetValue:J,expiration:C,memo:U,recipient:L,sender:G,sweep:F});if(b>BigInt(Number.MAX_SAFE_INTEGER))throw new m.SwapKitError({errorKey:"toolbox_tron_transaction_creation_failed",info:{amount:b.toString(),reason:`Native transfer amount exceeds the safe integer limit of ${Number.MAX_SAFE_INTEGER} SUN`}});let a=await RX({amount:Number(b),from:G,to:L});return AX({expiration:C,memo:U,transaction:a})}let x=J.address;if(!x)throw new m.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:J.toString()});let A=await R({assetValue:J,expiration:C,memo:U,recipient:L,sender:G,sweep:F}),w=await Y5(L);return Y({contractAddress:x,expiration:C,extraEnergy:w?0:HT,functionSelector:"transfer(address,uint256)",memo:U,parameter:C1([{type:"address",value:L},{type:"uint256",value:A}]),sender:G})}async function E(L){N1(L);let J=await Q();if(!J)throw new m.SwapKitError("toolbox_tron_no_signer");return J.signTransaction(L)}async function j(L){let J=await E(L);return Z5(J)}function K({assetAddress:L,spenderAddress:J,from:U}){return PX({assetAddress:L,owner:U,spender:J})}async function N({assetAddress:L,spenderAddress:J,from:U,amount:G}){let C=await K({assetAddress:L,from:U,spenderAddress:J});if(!G)return C>0n;return C>=BigInt(G)}async function B({assetAddress:L,spenderAddress:J,amount:U,from:G}){if(!yy(L)||!yy(J))throw new m.SwapKitError("toolbox_tron_approve_failed");let C=await Q();if(!C)throw new m.SwapKitError("toolbox_tron_no_signer");let F=G||await q(),x=U!==void 0?BigInt(U).toString():Eq;try{let A=await Y({contractAddress:L,functionSelector:"approve(address,uint256)",parameter:C1([{type:"address",value:J},{type:"uint256",value:x}]),sender:F}),w=await C.signTransaction(A),b=await Z5(w);if(!b)throw new m.SwapKitError("toolbox_tron_approve_failed");return b}catch(A){if(A instanceof m.SwapKitError)throw A;throw new m.SwapKitError("toolbox_tron_approve_failed",{error:A})}}return{approve:B,broadcastTransaction:Z5,createTransaction:P,estimateTransactionFee:O,getAddress:q,getApprovedAmount:K,getBalance:W,getRpcUrl:()=>m.getRPCUrl(m.Chain.Tron),isApproved:N,signAndBroadcastTransaction:j,signTransaction:E,transfer:z,validateAddress:yy}}var wX,EX,vX,m,k1,bX,KX=268,SX=65000,HT=25000,VX=345,XT="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Eq="115792089237316195423570985008687907853269984665640564039457584007913129639935";var gX=l(()=>{zX();jX();yT();wX=require("@noble/hashes/utils.js"),EX=require("@scure/bip32"),vX=require("@scure/bip39"),m=require("@swapkit/helpers"),k1=require("ts-pattern"),bX=yy});var QT={};P0(QT,{withTronTransactionValue:()=>lX,withTronTransactionData:()=>uX,validateTronAddress:()=>bX,getTronToolbox:()=>mX,getTronPrivateKeyFromMnemonic:()=>pX});module.exports=V0(QT);var qT=l(()=>{gX()});async function oX(y){if(pf&&Date.now()-pf.timestamp<lq)return pf.value;let H=(await y.ledgers().order("desc").limit(1).call()).records[0]?.base_reserve_in_stroops;if(H===void 0)throw new d.SwapKitError({errorKey:"toolbox_stellar_balance_error",info:{reason:"base_reserve_unavailable"}});return pf={timestamp:Date.now(),value:H},H}function ZT(y){return d.AssetValue.from({chain:d.Chain.Stellar,value:y}).getBaseValue("bigint")}function uq(y){let{baseDecimal:T}=d.getChainConfig(d.Chain.Stellar);return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:T,value:y}).getValue("string")}function dX({balance:y,baseReserveInStroops:T,numSponsored:H,numSponsoring:f,sellingLiabilities:X,subentryCount:Q}){let q=ZT(y),Z=ZT(X),Y=cX+Q+f-H,W=BigInt(Y)*BigInt(T),z=q-W-Z;return z>0n?z:0n}function pq({account:y,assetValue:T,baseReserveInStroops:H,fee:f}){let X=y.balances.find((Z)=>Z.asset_type==="native"),q=(X?dX({balance:X.balance,baseReserveInStroops:H,numSponsored:y.num_sponsored,numSponsoring:y.num_sponsoring,sellingLiabilities:X.selling_liabilities,subentryCount:y.subentry_count}):0n)-BigInt(f);if(q<=0n)throw new d.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:T.toString(),reason:"spendable balance does not cover the transaction fee"}});return q}function mq({baseReserveInStroops:y,sweepAmountInStroops:T}){if(T===void 0||y===void 0)return;let H=BigInt(cX)*BigInt(y);if(T<H)throw new d.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amountInStroops:T,minimumStartingBalanceInStroops:H,reason:"starting balance is below the Stellar account minimum"}})}function gq({account:y,assetCode:T,assetValue:H,issuer:f,sweep:X}){if(!X)return H.getValue("string");let Q=y.balances.find((q)=>("asset_code"in q)&&q.asset_code===T&&q.asset_issuer===f)?.balance??"0";if(ZT(Q)<=0n)throw new d.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:H.toString(),balance:Q,reason:"trust-line balance is not positive"}});return Q}function oq(y){if(!y)return;if(new TextEncoder().encode(y).length>28)throw new d.SwapKitError("helpers_invalid_memo_type")}function gf(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return bq.test(y)}function UT(y){if(typeof y!=="object"||y===null)return;let T="response"in y?y.response:void 0;return typeof T?.status==="number"?T.status:void 0}function nq(y){return UT(y)===504}function cq(y){return y.hash?.().toString("hex")}function dq(y){return[...new Set([y,...d.SKConfig.get("rpcUrls")[d.Chain.Stellar]])].filter(Boolean)}async function iX(y){if(!gf(y))return!1;try{let{StrKey:T}=await import("@stellar/stellar-sdk");return T.isValidEd25519PublicKey(y)}catch{return!1}}async function nX(y){let{address:T,ticker:H}=y,f=T?await iX(T):!1;if(y.chain!==d.Chain.Stellar||y.isGasAsset||!hq.test(H)||!T||!f)throw new d.SwapKitError({errorKey:"helpers_invalid_asset_identifier",info:{identifier:y.toString()}});return{assetCode:H,issuer:T}}function tX(y={}){let T,H=y.derivationPath||d.NetworkDerivationPath[d.Chain.Stellar],f=d.derivationPathToString(H.slice(0,3));async function X({phrase:j,path:K}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:B}=await import("@scure/bip39"),{Keypair:L}=await import("@stellar/stellar-sdk"),J=B(j),G=N.fromMasterSeed(J).derive(K,!0);return L.fromRawEd25519Seed(Buffer.from(G.privateKey))}async function Q(){if(T)return T;let j=mf.match(y).with({phrase:mf.P.string},({phrase:K})=>K).otherwise(()=>{return});if(!j)throw new d.SwapKitError("toolbox_stellar_no_signer");return T=await X({path:f,phrase:j}),T}async function q(j){let{Horizon:K}=await import("@stellar/stellar-sdk"),N=j||await d.getRPCUrl(d.Chain.Stellar);return new K.Server(N)}async function Z(j,K){for(let N of K)try{return(await(await q(N)).transactions().transaction(j).call()).hash||j}catch{}return}async function Y(j,K){let N=await d.getRPCUrl(d.Chain.Stellar),B=dq(N),L=cq(j),J;for(let U of B)try{let G=await q(U),{hash:C}=await G.submitTransaction(j);return C}catch(G){if(J=G,!nq(G))break;let C=L?await Z(L,B):void 0;if(C)return C}throw new d.SwapKitError(K,J)}async function W(){try{return(await Q()).publicKey()}catch{return""}}async function z(j){let K=j||await W();if(!K)throw new d.SwapKitError("toolbox_stellar_account_not_found");let N=await q(),[B,L]=await Promise.allSettled([N.loadAccount(K),oX(N)]);if(B.status==="rejected"){let J=B.reason;if(UT(J)===404)return[d.AssetValue.from({chain:d.Chain.Stellar,value:0})];throw J}if(L.status==="rejected")throw L.reason;return B.value.balances.map((J)=>{if(J.asset_type==="native"){let C=dX({balance:J.balance,baseReserveInStroops:L.value,numSponsored:B.value.num_sponsored,numSponsoring:B.value.num_sponsoring,sellingLiabilities:J.selling_liabilities,subentryCount:B.value.subentry_count}),{baseDecimal:F}=d.getChainConfig(d.Chain.Stellar);return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:F,value:C})}let U="asset_code"in J?J.asset_code:"",G="asset_issuer"in J?J.asset_issuer:"";return d.AssetValue.from({asset:`${d.Chain.Stellar}.${U}-${G}`,asyncTokenLookup:!1,value:J.balance})})}async function k({address:j,assetValue:K}){if(K.chain!==d.Chain.Stellar)throw new d.SwapKitError({errorKey:"toolbox_stellar_trustline_asset_invalid",info:{asset:K.toString()}});if(K.isGasAsset)return!0;if(!K.address)throw new d.SwapKitError({errorKey:"toolbox_stellar_trustline_asset_invalid",info:{asset:K.toString(),reason:"missing issuer"}});let N=await q(),B;try{B=await N.loadAccount(j)}catch(L){if(UT(L)===404)return!1;throw L}return B.balances.some((L)=>("asset_code"in L)&&L.asset_code===K.ticker&&L.asset_issuer===K.address)}async function _({recipient:j,assetValue:K,memo:N,sender:B,sweep:L}){if(oq(N),!await iX(j))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let U=B||await W();if(!U)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:G,Memo:C,Networks:F,Operation:x,TransactionBuilder:A}=await import("@stellar/stellar-sdk"),w=await q(),b=await w.fetchBaseFee(),a=await w.loadAccount(U),X0=L&&K.isGasAsset?await oX(w):void 0,Y0=new A(a,{fee:String(b),networkPassphrase:F.PUBLIC});if(K.isGasAsset){let V=L&&X0!==void 0?pq({account:a,assetValue:K,baseReserveInStroops:X0,fee:b}):void 0,h=V===void 0?K.getValue("string"):uq(V);try{await w.loadAccount(j),Y0.addOperation(x.payment({amount:h,asset:G.native(),destination:j}))}catch{mq({baseReserveInStroops:X0,sweepAmountInStroops:V}),Y0.addOperation(x.createAccount({destination:j,startingBalance:h}))}}else{let{assetCode:V,issuer:h}=await nX(K),c=gq({account:a,assetCode:V,assetValue:K,issuer:h,sweep:L});Y0.addOperation(x.payment({amount:c,asset:new G(V,h),destination:j}))}if(N)Y0.addMemo(C.text(N));return Y0.setTimeout(30).build()}async function M({assetValue:j,limit:K,sender:N}){let B=N||await W();if(!B)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:L,Networks:J,Operation:U,TransactionBuilder:G}=await import("@stellar/stellar-sdk"),{assetCode:C,issuer:F}=await nX(j),x=await q(),[A,w]=await Promise.all([x.fetchBaseFee(),x.loadAccount(B)]),b=new L(C,F),a=K!==void 0?U.changeTrust({asset:b,limit:K}):U.changeTrust({asset:b});return new G(w,{fee:String(A),networkPassphrase:J.PUBLIC}).addOperation(a).setTimeout(30).build()}async function $(j){let{TransactionBuilder:K,Networks:N}=await import("@stellar/stellar-sdk"),B=await Q(),L=K.fromXDR(j.toXDR(),N.PUBLIC);return L.sign(B),L}function O(j){return Y(j,"toolbox_stellar_broadcast_error")}async function D({recipient:j,assetValue:K,memo:N,sweep:B}){let L=await Q(),J=L.publicKey(),U=await _({assetValue:K,memo:N,recipient:j,sender:J,sweep:B});return U.sign(L),Y(U,"toolbox_stellar_transaction_failed")}async function R({assetValue:j,limit:K}){let N=await Q(),B=await M({assetValue:j,limit:K,sender:N.publicKey()});return B.sign(N),Y(B,"toolbox_stellar_transaction_failed")}async function P(j){let K=await $(j);return O(K)}async function E(){let{baseDecimal:j}=d.getChainConfig(d.Chain.Stellar);try{let B=(await(await q()).feeStats()).fee_charged.p50;return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:j,value:B})}catch{return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:j,value:"100"})}}return{broadcastTransaction:O,createTransaction:_,createTrustline:R,createTrustlineTransaction:M,estimateTransactionFee:E,getAddress:W,getBalance:z,hasTrustline:k,signAndBroadcastTransaction:P,signTransaction:$,transfer:D,validateAddress:gf}}var d,mf,bq,hq,cX=2,lq=600000,pf;var rX=l(()=>{d=require("@swapkit/helpers"),mf=require("ts-pattern"),bq=/^G[A-Z2-7]{55}$/,hq=/^[A-Za-z0-9]{1,12}$/});var of={};P0(of,{validateStellarAddress:()=>gf,getStellarToolbox:()=>tX});module.exports=V0(of);var nf=l(()=>{rX()});var rq={};P0(rq,{getToolbox:()=>YT,getFeeEstimator:()=>tq,getAddressValidator:()=>iq});module.exports=V0(rq);var g=require("@swapkit/helpers");async function iq(){let{match:y}=await import("ts-pattern"),{validateAleoAddress:T}=await Promise.resolve().then(() => (N5(),$5)),{validateAptosAddress:H}=await Promise.resolve().then(() => (k5(),C5)),{validateEVMAddress:f}=await Promise.resolve().then(() => (x8(),q4)),{validateCardanoAddress:X}=await Promise.resolve().then(() => (K8(),j8)),{getCosmosAddressValidator:Q}=await Promise.resolve().then(() => (Tf(),ff)),{validateHyperCoreAddress:q}=await Promise.resolve().then(() => (e8(),s8)),{validateSolanaAddress:Z}=await Promise.resolve().then(() => (X2(),H2)),{validateStarknetAddress:Y}=await Promise.resolve().then(() => (Jf(),Yf)),{validateSuiAddress:W}=await Promise.resolve().then(() => (Lf(),Gf)),{validateTonAddress:z}=await Promise.resolve().then(() => (Of(),_f)),{getUTXOAddressValidator:k}=await Promise.resolve().then(() => (P2(),I2)),{validateNearAddress:_}=await Promise.resolve().then(() => (o2(),g2)),{validateRadixAddress:M}=await Promise.resolve().then(() => (c2(),n2)),{validateRippleAddress:$}=await Promise.resolve().then(() => (t2(),i2)),{validateTronAddress:O}=await Promise.resolve().then(() => (qT(),QT)),{validateStellarAddress:D}=await Promise.resolve().then(() => (nf(),of));return function({address:P,chain:E}){return y(E).with(...g.EVMChains,()=>f(P)).with(...g.UTXOChains,(K)=>{return k(K)(P)}).with(...g.CosmosChains,(K)=>{return Q(K)(P)}).with(g.Chain.Aleo,()=>T(P)).with(g.Chain.Aptos,()=>H(P)).with(g.Chain.Radix,()=>M(P)).with(g.Chain.Hype,()=>q(P)).with(g.Chain.Near,()=>_(P)).with(g.Chain.Ripple,()=>$(P)).with(g.Chain.Solana,()=>Z(P)).with(g.Chain.Stellar,()=>D(P)).with(g.Chain.Starknet,()=>Y(P)).with(g.Chain.Sui,()=>W(P)).with(g.Chain.Ton,()=>z(P)).with(g.Chain.Tron,()=>O(P)).with(g.Chain.Cardano,()=>X(P)).otherwise(()=>!1)}}function tq(y){return async function(H){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...g.EVMChains,async(X)=>{let Q=await YT(X),q=await Q.createTransaction(H),Z="feeOptionKey"in H?H.feeOptionKey:g.FeeOption.Fast;return Q.estimateTransactionFee({...q,feeOption:Z})}).with(g.Chain.Bitcoin,g.Chain.BitcoinCash,g.Chain.Dogecoin,g.Chain.Dash,g.Chain.Litecoin,g.Chain.Solana,g.Chain.Ripple,g.Chain.Tron,g.Chain.Near,g.Chain.Cardano,g.Chain.Hype,async(X)=>{return(await YT(X)).estimateTransactionFee(H)}).with(g.Chain.Aptos,async()=>{let{getAptosToolbox:X}=await Promise.resolve().then(() => (k5(),C5));return X().estimateTransactionFee(H)}).with(g.Chain.Aleo,async()=>{let{getAleoToolbox:X}=await Promise.resolve().then(() => (N5(),$5));return X().estimateTransactionFee(H)}).with(g.Chain.Starknet,async()=>{let{getStarknetToolbox:X}=await Promise.resolve().then(() => (Jf(),Yf));return(await X()).estimateTransactionFee(H)}).with(g.Chain.Stellar,async()=>{let{getStellarToolbox:X}=await Promise.resolve().then(() => (nf(),of));return X().estimateTransactionFee()}).with(g.Chain.Sui,async()=>{let{getSuiToolbox:X}=await Promise.resolve().then(() => (Lf(),Gf));return X().estimateTransactionFee(H)}).with(g.Chain.Ton,async()=>{let{getTONToolbox:X}=await Promise.resolve().then(() => (Of(),_f));return X().estimateTransactionFee(H)}).with(...g.CosmosChains,async()=>{let{estimateTransactionFee:X}=await Promise.resolve().then(() => (Tf(),ff));return X(H)}).otherwise(async()=>g.AssetValue.from({chain:y}))}}async function YT(y,T){let{match:H}=await import("ts-pattern");return H(y).returnType().with(...g.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (R8(),H4));return await f(y,T)}).with(...g.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (P2(),I2));return f(y,T)}).with(...g.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (Tf(),ff));return f(y,T)}).with(g.Chain.Aleo,async()=>{let{getAleoToolbox:f}=await Promise.resolve().then(() => (N5(),$5));return f(T)}).with(g.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (k5(),C5));return f(T)}).with(g.Chain.Hype,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (e8(),s8));return f(T)}).with(g.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (c2(),n2));return f(T)}).with(g.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (t2(),i2));return f(T)}).with(g.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (X2(),H2));return f(T)}).with(g.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (nf(),of));return f(T)}).with(g.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Jf(),Yf));return f(T)}).with(g.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Lf(),Gf));return f(T)}).with(g.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (qT(),QT));return f(T)}).with(g.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (o2(),g2));return f(T)}).with(g.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (K8(),j8));return f(T)}).with(g.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Of(),_f));return f(T)}).otherwise(()=>{throw new g.SwapKitError("toolbox_not_supported",{chain:y})})}
|
|
1
|
+
var r6=Object.create;var{getPrototypeOf:a6,defineProperty:F5,getOwnPropertyNames:zX,getOwnPropertyDescriptor:s6}=Object,HX=Object.prototype.hasOwnProperty;function LX(y){return this[y]}var e6,yQ,MX=(y,Z,Q)=>{var X=y!=null&&typeof y==="object";if(X){var J=Z?e6??=new WeakMap:yQ??=new WeakMap,Y=J.get(y);if(Y)return Y}Q=y!=null?r6(a6(y)):{};let W=Z||!y||!y.__esModule?F5(Q,"default",{value:y,enumerable:!0}):Q;for(let f of zX(y))if(!HX.call(W,f))F5(W,f,{get:LX.bind(y,f),enumerable:!0});if(X)J.set(y,W);return W},E0=(y)=>{var Z=(GX??=new WeakMap).get(y),Q;if(Z)return Z;if(Z=F5({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var X of zX(y))if(!HX.call(Z,X))F5(Z,X,{get:LX.bind(y,X),enumerable:!(Q=s6(y,X))||Q.enumerable})}return GX.set(y,Z),Z},GX;var XQ=(y)=>y;function ZQ(y,Z){this[y]=XQ.bind(null,Z)}var x0=(y,Z)=>{for(var Q in Z)F5(y,Q,{get:Z[Q],enumerable:!0,configurable:!0,set:ZQ.bind(Z,Q)})};var l=(y,Z)=>()=>(y&&(Z=y(y=0)),Z);function a8(y,Z){if(!p0(y))return[];let Q=p0(y.transaction)?y.transaction:y,X=Q.execution,J=p0(Q.fee)?Q.fee.transition:void 0;return[...p0(X)&&Array.isArray(X.transitions)?X.transitions:[],...p0(J)?[J]:[]].flatMap((W)=>{if(!p0(W)||!Array.isArray(W.outputs))return[];if(Z&&W.program!==Z)return[];return W.outputs.flatMap((f)=>p0(f)&&f.type==="record"&&typeof f.value==="string"?[f.value]:[])})}function s8(y){return y.reduce((Z,Q)=>Q.spent?Z:Z+Q.microcredits,0n)}function g0(y,Z){return Z instanceof C0.SwapKitError&&Z.errorKey.startsWith("toolbox_aleo_")?Z:new C0.SwapKitError(y,Z)}function QQ(...y){let Z=y.reduce((J,Y)=>J+Y.length,0),Q=new Uint8Array(Z),X=0;for(let J of y)Q.set(J,X),X+=J.length;return Q}function JQ(y){let Z=new Uint8Array(4);return new DataView(Z.buffer).setUint32(0,y,!1),Z}function _X(y){let Z=d8.hmac(i8.sha512,OX,y);return{chainCode:Z.slice(32),key:Z.slice(0,32)}}function kX(y,Z){if(!Number.isSafeInteger(Z)||Z<0||Z>=n8)throw new C0.SwapKitError("toolbox_aleo_wasm_init_failed",{index:Z});let Q=Z+n8,X=QQ(Uint8Array.of(0),y.key,JQ(Q)),J=d8.hmac(i8.sha512,y.chainCode,X);return{chainCode:J.slice(32),key:J.slice(0,32)}}function e8(y,Z){let Q=y.split("/");if(Q.shift()!=="m"||Q.length===0)throw new C0.SwapKitError("toolbox_aleo_wasm_init_failed",{path:y});return Q.reduce((X,J)=>{if(!/^\d+'$/.test(J))throw new C0.SwapKitError("toolbox_aleo_wasm_init_failed",{path:y,segment:J});return kX(X,Number.parseInt(J.slice(0,-1),10))},_X(Z))}function I5(y){return typeof y==="string"&&$X.test(y)}async function y2(y){if(!I5(y))return!1;try{let{Account:Z}=await import("@provablehq/sdk/mainnet.js");return Z.isValidAddress(y)}catch{return!1}}function BX(y){return NX.test(y)}function X2(y,Z){if(y===null)return 0n;if(typeof y!=="string")throw new C0.SwapKitError("toolbox_aleo_balance_error",{integerType:Z,value:y});let Q=y.match(new RegExp(`^(\\d+)${Z}$`));if(!Q?.[1])throw new C0.SwapKitError("toolbox_aleo_balance_error",{integerType:Z,value:y});return BigInt(Q[1])}function My(y){if(y.chain!==C0.Chain.Aleo)throw new C0.SwapKitError("toolbox_aleo_unsupported_token",{asset:y.toString()});let Z=y.getBaseValue("bigint");if(y.isGasAsset)return{amount:`${Z}u64`,functionName:Hy,isTokenTransfer:!1,programName:M1};if(!y.address||!BX(y.address))throw new C0.SwapKitError("toolbox_aleo_unsupported_token",{asset:y.toString()});return{amount:`${Z}u128`,functionName:Hy,isTokenTransfer:!0,programName:y.address}}function $1(){let y=[...new Set([...C0.SKConfig.get("rpcUrls")[C0.Chain.Aleo],...C0.getChainConfig(C0.Chain.Aleo).rpcUrls])].filter(Boolean);if(y.length===0)throw new C0.SwapKitError("toolbox_aleo_no_rpc_urls");return y}function $y(y){if(typeof y==="object"&&y!==null&&"status"in y&&y.status===404)return!0;return y instanceof Error&&y.message.includes("404")}function p0(y){return typeof y==="object"&&y!==null}function DX(y){if(!p0(y))return!1;return[y.transaction,y.rejected].some((Z)=>{if(!p0(Z)||!p0(Z.execution))return!1;let{transitions:Q}=Z.execution;return Array.isArray(Q)&&Q.some((X)=>p0(X)&&X.function===Hy&&typeof X.program==="string"&&X.program!==M1)})}function CX(y,Z){if(!p0(y)||typeof y.status!=="string")throw new C0.SwapKitError("toolbox_aleo_transaction_failed",{response:y,transactionId:Z});let Q=y.status.toLowerCase();if(Q==="rejected"){let X=DX(y)?"toolbox_aleo_token_transfer_rejected":"toolbox_aleo_transaction_failed";throw new C0.SwapKitError(X,{transactionId:Z})}return Q==="accepted"?"accepted":"pending"}async function FX(y){if(!R5.test(y))throw new C0.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:y});let Z,Q=!0;for(let X of $1())try{let{AleoNetworkClient:J}=await import("@provablehq/sdk/mainnet.js"),Y=await new J(X).getConfirmedTransaction(y);return CX(Y,y)}catch(J){if(J instanceof C0.SwapKitError)throw J;Z=J,Q=Q&&$y(J)}if(Q)return"pending";throw g0("toolbox_aleo_transaction_failed",Z)}async function Ny(y,{intervalMs:Z=5000,timeoutMs:Q=60000}={}){let X=Date.now();while(Date.now()-X<Q){let J=await FX(y);if(J==="accepted")return J;await new Promise((Y)=>setTimeout(Y,Z))}throw new C0.SwapKitError("toolbox_aleo_transaction_failed",{reason:"confirmation_timeout",transactionId:y})}var d8,i8,C0,$X,NX,R5,OX,n8=2147483648,Ly=1e6,M1="credits.aleo",Hy="transfer_public",t8=1e6,r8=2000000;var Z2=l(()=>{d8=require("@noble/hashes/hmac.js"),i8=require("@noble/hashes/sha2.js"),C0=require("@swapkit/helpers"),$X=/^aleo1[ac-hj-np-z02-9]{58}$/,NX=/^[a-z0-9_]+\.aleo$/,R5=/^at1[ac-hj-np-z02-9]+$/,OX=new TextEncoder().encode("bls12_377 seed")});function IX(){function y(){let Z=Date.now(),Q=Q2||Z;return Q2=Q,Z>Q2?Z:Q+1}return YQ+y().toString(36)}function A0(y){return async function(Q,X=!0){let J=await RX.SwapKitApi.getChainBalance({address:Q,chain:y,scamFilter:X}),{baseDecimal:Y}=j5.getChainConfig(y),W=J.map(({identifier:T,value:G,decimal:z})=>{return new j5.AssetValue({decimal:z||Y,identifier:T,value:G})});if(!W.some((T)=>T.isGasAsset))return[j5.AssetValue.from({chain:y}),...W];return W}}var j5,RX,YQ,Q2=0;var Q1=l(()=>{j5=require("@swapkit/helpers"),RX=require("@swapkit/helpers/api"),YQ=typeof process<"u"&&process.pid?process.pid.toString(36):""});async function xX(y,Z){try{let{Account:Q}=await import("@provablehq/sdk/mainnet.js"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),J=f0.derivationPathToString(Z||f0.NetworkDerivationPath[f0.Chain.Aleo],{allHardened:!0}),{key:Y}=e8(J,X(y));return new Q({seed:Y})}catch(Q){throw g0("toolbox_aleo_wasm_init_failed",Q)}}function jX(y,Z){let Q,X=()=>{return Q??=xX(y,Z),Q};return{getAddress:async()=>(await X()).address().to_string(),signTransaction:async(J)=>{let Y=await X();if(J.sender!==Y.address().to_string())throw new f0.SwapKitError("toolbox_aleo_invalid_address",{address:J.sender});let W;for(let f of $1())try{let{ProgramManager:T}=await import("@provablehq/sdk/mainnet.js"),G=new T(f);return G.setAccount(Y),await G.buildExecutionTransaction({functionName:J.functionName,inputs:J.inputs,priorityFee:J.priorityFee/Ly,privateFee:!1,programName:J.programName})}catch(T){W=T}throw W}}}function PX(y={}){if("phrase"in y&&y.phrase&&"signer"in y&&y.signer)throw new f0.SwapKitError("toolbox_aleo_conflicting_signers");let Z;async function Q(){if(Z)return Z;let U="phrase"in y?y.phrase:void 0;if(!U)throw new f0.SwapKitError("toolbox_aleo_no_signer");let q="derivationPath"in y?y.derivationPath:void 0;return Z=await xX(U,q),Z}let X;function J(){let U="signer"in y?y.signer:void 0;if(U)return U;let q="phrase"in y?y.phrase:void 0;if(!q)throw new f0.SwapKitError("toolbox_aleo_no_signer");return X??=jX(q,"derivationPath"in y?y.derivationPath:void 0),X}async function Y(U){let q;for(let H of $1())try{let{AleoNetworkClient:k}=await import("@provablehq/sdk/mainnet.js");return await U(new k(H))}catch(k){q=k}throw q}async function W(U){let q;for(let H of $1())try{let{AleoNetworkClient:k}=await import("@provablehq/sdk/mainnet.js");return await new k(H).getTransitionId(U),!0}catch(k){if($y(k))return!1;q=k}throw q}async function f(){let U=J();try{return await U.getAddress()}catch(q){throw g0("toolbox_aleo_wasm_init_failed",q)}}async function T(U){let q=await Y((H)=>H.getProgramMappingValue(M1,"account",U));return X2(q,"u64")}async function G(U){try{let q=await T(U);return[f0.AssetValue.from({chain:f0.Chain.Aleo,fromBaseDecimal:6,value:q})]}catch(q){throw g0("toolbox_aleo_balance_error",q)}}let z=A0(f0.Chain.Aleo);async function B(U,q=!0){try{return await z(U,q)}catch{return G(U)}}async function $(){return B(await f())}async function M({transactionIds:U}){try{let q=await Q(),H=[];for(let k of U){if(!R5.test(k))throw new f0.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:k});let F=await Y((I)=>I.getTransaction(k));for(let I of a8(F,M1)){if(!q.ownsRecordCiphertext(I))continue;let{RecordPlaintext:w}=await import("@provablehq/sdk/mainnet.js"),A=q.decryptRecord(I).toString(),b=w.fromString(A),a=b.microcredits();if(a===0n)continue;let J0=q.generateRecordViewKey(I).toString(),T0=b.serialNumberString(q.privateKey(),M1,"credits",J0);H.push({microcredits:a,plaintext:A,spent:await W(T0),transactionId:k})}}return H}catch(q){throw g0("toolbox_aleo_balance_error",q)}}async function O({transactionIds:U}){let q=await M({transactionIds:U});return f0.AssetValue.from({chain:f0.Chain.Aleo,fromBaseDecimal:6,value:s8(q)})}async function N(U,q){if(!Number.isSafeInteger(q)||q<=0)throw new f0.SwapKitError("toolbox_aleo_insufficient_fee_balance",{feeRecordCredits:q});let H=await Q();if(!U||U.microcredits<=BigInt(q)*BigInt(Ly))throw new f0.SwapKitError("toolbox_aleo_insufficient_fee_balance",{available:U?.microcredits.toString(),required:`${q} credits fee record`});let{ProgramManager:k,RecordPlaintext:F}=await import("@provablehq/sdk/mainnet.js"),I;for(let w of $1())try{let A=new k(w);return A.setAccount(H),await A.split(q,F.fromString(U.plaintext))}catch(A){I=A}throw I}async function C(U,q,H){let k=await Q(),{ProgramManager:F,RecordPlaintext:I}=await import("@provablehq/sdk/mainnet.js"),w;for(let A of $1())try{let b=new F(A);return b.setAccount(k),await b.buildExecutionTransaction({feeRecord:I.fromString(q.plaintext),functionName:"transfer_private_to_public",inputs:[U.plaintext,H,`${U.microcredits}u64`],priorityFee:0,privateFee:!0,programName:M1})}catch(b){w=b}throw w}async function R(U,q,H){let k;try{let I=(await Q()).address().to_string(),w=U.filter((T0)=>!T0.spent);if(w.length===0)throw new f0.SwapKitError("toolbox_aleo_no_unspent_records",{transactionId:H});if(w.length===1){if(k=await N(w[0],q),await Ny(k),w=(await M({transactionIds:[k]})).filter((T0)=>!T0.spent),w.length<2)throw new f0.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:k})}let A=[...w].sort((T0,j)=>T0.microcredits<j.microcredits?-1:1),b=A[0],a=A[A.length-1];if(!b||!a||b===a)throw new f0.SwapKitError("toolbox_aleo_no_unspent_records",{transactionId:H});let J0=await D(await C(a,b,I));return await Ny(J0),{publicBalance:f0.AssetValue.from({chain:f0.Chain.Aleo,fromBaseDecimal:6,value:await T(I)}),splitTransactionId:k,unshieldTransactionId:J0}}catch(F){if(k)throw new f0.SwapKitError("toolbox_aleo_transaction_failed",{error:F,splitTransactionId:k});throw g0("toolbox_aleo_transaction_failed",F)}}async function x(U){try{if("records"in U&&U.records)return await R(U.records,U.feeRecordCredits??4);let q=await M({transactionIds:[U.transactionId]});return await R(q,U.feeRecordCredits??4,U.transactionId)}catch(q){throw g0("toolbox_aleo_transaction_failed",q)}}function S({assetValue:U,priorityFee:q=0}){try{if(!Number.isSafeInteger(q)||q<0)throw new f0.SwapKitError("toolbox_aleo_fee_estimation_failed",{priorityFee:q});let k=My(U).isTokenTransfer?r8:t8;return f0.AssetValue.from({chain:f0.Chain.Aleo,fromBaseDecimal:6,value:BigInt(k)+BigInt(q)})}catch(H){throw g0("toolbox_aleo_fee_estimation_failed",H)}}async function P({assetValue:U,priorityFee:q=0,recipient:H,sender:k}){if(!await y2(H))throw new f0.SwapKitError("toolbox_aleo_invalid_address",{address:H});let F=k||await f();if(!I5(F))throw new f0.SwapKitError("toolbox_aleo_invalid_address",{address:F});let I=My(U),w=await S({assetValue:U,priorityFee:q,recipient:H});try{let A=await T(F);if(f0.AssetValue.from({chain:f0.Chain.Aleo,fromBaseDecimal:6,value:A}).lt(w))throw new f0.SwapKitError("toolbox_aleo_insufficient_fee_balance",{available:A.toString(),required:w.getBaseValue("string")});return{functionName:I.functionName,inputs:[H,I.amount],priorityFee:q,programName:I.programName,sender:F}}catch(A){throw g0("toolbox_aleo_transaction_failed",A)}}async function K(U){try{return await J().signTransaction(U)}catch(q){throw g0("toolbox_aleo_transaction_failed",q)}}async function _(U){return D(await K(U))}async function D(U){try{let q=typeof U==="string"?U:U.toString(),H=await Y((k)=>k.submitTransaction(q));if(!R5.test(H))throw new f0.SwapKitError("toolbox_aleo_broadcast_error",{transactionId:H});return H}catch(q){throw g0("toolbox_aleo_broadcast_error",q)}}async function L(U){let q=await P({...U,sender:await f()});return _(q)}return{broadcastTransaction:D,createSigner:jX,createTransaction:P,estimateTransactionFee:S,getAddress:f,getBalance:z,getBalanceFromRpc:G,getBalances:$,getBalanceWithFallback:B,getRecords:M,getShieldedBalance:O,signAndBroadcastTransaction:_,signTransaction:K,transfer:L,unshield:x,validateAddress:I5}}var f0;var KX=l(()=>{Q1();Z2();f0=require("@swapkit/helpers")});var Oy={};x0(Oy,{waitForAleoTransaction:()=>Ny,validateAleoProgramId:()=>BX,validateAleoAddressWithChecksum:()=>y2,validateAleoAddress:()=>I5,sumUnspentRecords:()=>s8,parseAleoTransactionStatus:()=>CX,parseAleoMappingValue:()=>X2,isRecord:()=>p0,isNotFoundError:()=>$y,isAleoTokenTransferResponse:()=>DX,getConfiguredAleoUrls:()=>$1,getAleoTransferRoute:()=>My,getAleoTransactionStatus:()=>FX,getAleoToolbox:()=>PX,getAleoMasterSeed:()=>_X,getAleoError:()=>g0,extractAleoRecordCiphertexts:()=>a8,deriveAleoPath:()=>e8,deriveAleoChildKey:()=>kX,TRANSFER_PUBLIC_FUNCTION:()=>Hy,NATIVE_PROGRAM_ID:()=>M1,MICRO_CREDITS_PER_CREDIT:()=>Ly,HARDENED_OFFSET:()=>n8,ALEO_TRANSFER_PUBLIC_FEE:()=>t8,ALEO_TRANSACTION_ID_REGEX:()=>R5,ALEO_TOKEN_TRANSFER_PUBLIC_FEE:()=>r8,ALEO_PROGRAM_ID_REGEX:()=>NX,ALEO_HD_KEY:()=>OX,ALEO_ADDRESS_REGEX:()=>$X});module.exports=E0(Oy);var _y=l(()=>{KX();Z2()});function e1(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let Z=y.slice(2);if(Z.length===0||Z.length>64)return!1;return fQ.test(Z)}function VX(y,Z,Q){if(y<=0n)throw new t.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amount:y.toString(),asset:Z.toString(),...Q}});return y}async function qQ({aptos:y,assetValue:Z,senderAddress:Q}){let X=Z.address;if(!X)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");let[J]=await y.getCurrentFungibleAssetBalances({options:{limit:1,where:{asset_type:{_eq:X},is_primary:{_eq:!0},owner_address:{_eq:Q}}}});return VX(BigInt(J?.amount??0),Z)}function EX({derivationPath:y,provider:Z,...Q}={}){let X,J=t.derivationPathToString(y||t.NetworkDerivationPath[t.Chain.Aptos],{allHardened:!0});async function Y(){if(X)return X;return X=await E1.match(Q).with({phrase:E1.P.string},async({phrase:N})=>{let{Ed25519Account:C}=await import("@aptos-labs/ts-sdk");return C.fromDerivationPath({mnemonic:N,path:J})}).with({signer:E1.P.any},({signer:N})=>N).otherwise(()=>{return}),X}async function W(){let{Aptos:N,AptosConfig:C,Network:R}=await import("@aptos-labs/ts-sdk"),x=new C({clientConfig:{http2:!1},fullnode:Z||t.getRPCUrlSync(t.Chain.Aptos),network:R.MAINNET});return new N(x)}async function f(){return(await Y())?.accountAddress.toString()||""}async function T(N){let C=N||await f();if(!C)throw new t.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:R,chain:x}=t.getChainConfig(t.Chain.Aptos);try{let S=await W(),P=await S.getAccountAPTAmount({accountAddress:C}),K=[t.AssetValue.from({chain:x,fromBaseDecimal:R,value:P.toString()})],_=await S.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:C}}}});for(let D of _){if(D.asset_type===V1.COIN_TYPE||Number(D.amount)<=0)continue;let L=D.asset_type;if(L){let q=("metadata"in D&&typeof D.metadata==="object"&&D.metadata!==null?D.metadata:void 0)?.decimals??R;K.push(t.AssetValue.from({asset:`${t.Chain.Aptos}.APT-${L}`,fromBaseDecimal:q,value:String(D.amount)}))}}return K}catch{return[t.AssetValue.from({chain:x})]}}async function G(N){if(!N){let{baseDecimal:K}=t.getChainConfig(t.Chain.Aptos),_=Z||t.getRPCUrlSync(t.Chain.Aptos),D=await fetch(`${_}/estimate_gas_price`),{gas_estimate:L}=await D.json();return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:K,value:String(L)})}let C=await z(N),R=await W(),[x]=await R.transaction.simulate.simple({transaction:C});if(!x)throw new t.SwapKitError("toolbox_aptos_transaction_creation_error");let S=BigInt(x.gas_used)*BigInt(x.gas_unit_price),{baseDecimal:P}=t.getChainConfig(t.Chain.Aptos);return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:P,value:S.toString()})}async function z({recipient:N,assetValue:C,maxGasAmount:R,sender:x,sweep:S}){if(!e1(N))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let P=x||await f();if(!P)throw new t.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:K}=await import("@aptos-labs/ts-sdk"),_=await W(),D=K.from(P);try{let L=C.isGasAsset?V1.TRANSFER:V1.FUNGIBLE_STORE_TRANSFER,U=C.address,q=(a,J0)=>{let T0=E1.match({address:U,isGasAsset:C.isGasAsset}).with({isGasAsset:!0},()=>[K.from(N),a]).with({address:E1.P.string},({address:E})=>[K.from(E),K.from(N),a]).otherwise(()=>null);if(!T0)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");let j=J0?.maxGasAmount??R;return _.transaction.build.simple({data:{function:L,functionArguments:T0,typeArguments:C.isGasAsset?[]:[V1.FUNGIBLE_ASSET_METADATA]},options:j!==void 0||J0?.gasUnitPrice!==void 0?{gasUnitPrice:J0?.gasUnitPrice,maxGasAmount:j}:void 0,sender:D})};if(!S)return q(C.getBaseValue("bigint"));if(!C.isGasAsset){let a=await qQ({aptos:_,assetValue:C,senderAddress:P});return q(a)}let H=BigInt(await _.getAccountAPTAmount({accountAddress:P})),k=await q(1n,{maxGasAmount:R??WQ}),[F]=await _.transaction.simulate.simple({options:{estimateMaxGasAmount:R===void 0},transaction:k});if(!F)throw new t.SwapKitError("toolbox_aptos_transaction_creation_error");if(!F.success)throw new t.SwapKitError({errorKey:"toolbox_aptos_transaction_creation_error",info:{vmStatus:F.vm_status}});let I=BigInt(F.gas_used),w=I>0n?(I*6n+4n)/5n:1n,A=w*BigInt(F.gas_unit_price),b=VX(H-A,C,{balance:H.toString(),fee:A.toString()});return q(b,{gasUnitPrice:Number(F.gas_unit_price),maxGasAmount:Number(w)})}catch(L){if(L instanceof t.SwapKitError)throw L;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",L)}}async function B(N){let C=await Y();if(!C)throw new t.SwapKitError("toolbox_aptos_no_signer");return(await W()).transaction.sign({signer:C,transaction:N})}async function $({assetValue:N,maxGasAmount:C,recipient:R,sweep:x}){let S=await Y();if(!S)throw new t.SwapKitError("toolbox_aptos_no_signer");if(!e1(R))throw new t.SwapKitError("core_transaction_invalid_recipient_address");try{let P=S.accountAddress.toString(),K=await z({assetValue:N,maxGasAmount:C,recipient:R,sender:P,sweep:x});return(await(await W()).signAndSubmitTransaction({signer:S,transaction:K})).hash}catch(P){if(P instanceof t.SwapKitError)throw P;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",P)}}async function M({senderAuthenticator:N,transaction:C}){try{return(await(await W()).transaction.submit.simple({senderAuthenticator:N,transaction:C})).hash}catch(R){throw new t.SwapKitError("toolbox_aptos_broadcast_error",R)}}async function O(N){let C=await B(N);return M({senderAuthenticator:C,transaction:N})}return{broadcastTransaction:M,createTransaction:z,estimateTransactionFee:G,getAddress:f,getBalance:T,signAndBroadcastTransaction:O,signTransaction:B,transfer:$,validateAddress:e1}}function wX({provider:y}){return async function({assetValue:Q,recipient:X,sweep:J}){if(J)throw new t.SwapKitError({errorKey:"toolbox_not_supported",info:{chain:t.Chain.Aptos,feature:"extension_provider_sweep",reason:"Aptos extension providers cannot query balances or simulate transactions"}});if(!e1(X))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:Y}=await import("@aptos-labs/ts-sdk");if(Q.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[Y.from(X).toString(),Q.getBaseValue("string")],function:V1.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let W=Q.address;if(!W)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[W,Y.from(X).toString(),Q.getBaseValue("string")],function:V1.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[V1.FUNGIBLE_ASSET_METADATA]})).hash}}var t,E1,V1,WQ=2000,fQ;var AX=l(()=>{t=require("@swapkit/helpers"),E1=require("ts-pattern"),V1={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"},fQ=/^[0-9a-fA-F]+$/});var ky={};x0(ky,{validateAptosAddress:()=>e1,getAptosToolbox:()=>EX,createAptosExtensionTransfer:()=>wX});module.exports=E0(ky);var By=l(()=>{AX()});function x5(y){return{getBalance:A0(y)}}function TQ(y){return y}var Dy=l(()=>{Q1()});function vX(y){return new c0.JsonRpcProvider(y)}async function UQ(y,Z){return vX(Z||await y0.getRPCUrl(y))}function q2(y){let Z=y0.SKConfig.get("rpcUrls")[y]?.filter(Boolean)??[];if(Z.length===0)throw new y0.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:y});let{chainId:Q}=y0.getChainConfig(y),X=c0.Network.from(Number(Q)),[J]=Z;if(Z.length===1)return new c0.JsonRpcProvider(J,X,{staticNetwork:X});return new c0.FallbackProvider(Z.map((Y,W)=>({priority:W+1,provider:new c0.JsonRpcProvider(Y,X,{staticNetwork:X}),stallTimeout:2000})),X,{quorum:1})}function l0(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function T2(y){let{explorerUrl:Z,chainIdHex:Q,rpcUrls:X}=y0.getChainConfig(y);return function(){return y!==y0.Chain.Ethereum?{...GQ({chain:y}),blockExplorerUrls:[Z],chainId:Q,rpcUrls:X}:void 0}}function U2(y){return![y0.Chain.Adi,y0.Chain.Arbitrum,y0.Chain.BinanceSmartChain,y0.Chain.Robinhood].includes(y)}function GQ({chain:y}){let{name:Z,nativeCurrency:Q,baseDecimal:X}=y0.getChainConfig(y);return f2.match(y).with(y0.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:X,name:"Ethereum",symbol:y0.Chain.Ethereum}})).with(y0.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:y0.Chain.Ethereum}})).with(y0.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:X,name:"Avalanche",symbol:y}})).with(y0.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:y0.Chain.Ethereum}})).with(y0.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:X,name:"Berachain",symbol:"BERA"}})).with(y0.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:X,name:"OKB",symbol:"OKB"}})).with(y0.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:X,name:"Binance Coin",symbol:"BNB"}})).with(y0.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:X,name:"xDAI",symbol:"XDAI"}})).with(y0.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:y0.Chain.Ethereum}})).with(y0.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:X,name:"Polygon",symbol:y0.Chain.Polygon}})).with(y0.Chain.Robinhood,()=>({chainName:"Robinhood Chain",nativeCurrency:{decimals:X,name:"Ethereum",symbol:y0.Chain.Ethereum}})).otherwise(()=>({chainName:Z,nativeCurrency:{decimals:X,name:Q,symbol:Q}}))}async function G2(y,Z){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let Q={...Z,nonce:Z.nonce!==void 0?BigInt(Z.nonce):void 0};return await y.authorize(Q)}function bX(y,Z){let Q=Z!==void 0?`index ${Z}: `:"",X=(J,Y)=>{throw new y0.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:J,message:`${Q}${Y}`}})};f2.match(y).when(({chainId:J})=>typeof J!=="bigint",()=>X("chainId","chainId must be a bigint")).when(({address:J})=>!zQ(J),()=>X("address","address must be a valid checksummed address")).when(({nonce:J})=>typeof J!=="bigint"||J<0n,()=>X("nonce","nonce must be a non-negative bigint")).when(({signature:J})=>!J,()=>X("signature","signature is required")).when(({signature:J})=>typeof J?.yParity!=="number"||![0,1].includes(J.yParity),()=>X("signature.yParity","yParity must be 0 or 1")).when(({signature:J})=>!SX(J?.r),()=>X("signature.r","r must be a 32-byte hex string")).when(({signature:J})=>!SX(J?.s),()=>X("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function hX(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:Z})=>y[Z]!=null).map(({key:Z,type:Q})=>({name:Z,type:Q}))}function J2(y){return y.charAt(0).toUpperCase()+y.slice(1)}function Y2(y,Z){if(y.isTuple()&&y.components){let Q=J2(y.name);return Z[Q]=y.components.map((X)=>({name:X.name,type:Y2(X,Z)})),Q}if(y.isArray()){let Q=y.arrayChildren;if(Q?.isTuple()&&Q.components){let X=J2(y.name.replace(/s$/,""));return Z[X]=Q.components.map((J)=>({name:J.name,type:Y2(J,Z)})),`${X}[]`}return`${Q?.type??"bytes"}[]`}return y.type}function W2(y,Z){if(typeof y==="bigint")return y;if(Z?.isTuple()&&typeof y?.toObject==="function"){let Q=y.toObject(),X={};for(let[J,Y]of(Z.components??[]).entries())X[Y.name]=W2(Q[Y.name]??y[J],Y);return X}if(Array.isArray(y)){let Q=Z?.arrayChildren;return y.map((X)=>W2(X,Q??void 0))}return y}function HQ({chain:y,abi:Z,data:Q,to:X}){let Y=new c0.Interface(Z).parseTransaction({data:Q});if(!Y)throw new y0.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let W={},f=J2(Y.name);W[f]=Y.fragment.inputs.map(($)=>({name:$.name,type:Y2($,W)}));let T={};for(let[$,M]of Y.fragment.inputs.entries())T[M.name]=W2(Y.args[$],M);let{chainId:G}=y0.getChainConfig(y),z={chainId:Number(G),verifyingContract:c0.getAddress(X)},B=hX(z);return{domain:z,message:T,primaryType:f,types:{EIP712Domain:B,...W}}}function z2(y,Z){if(!Array.isArray(y)||y.length===0)throw new y0.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[Q,X]of y.entries())if(bX(X,Q),Z!==void 0&&X.chainId!==Z)throw new y0.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${Q}: authorization chainId (${X.chainId}) does not match transaction chainId (${Z})`}})}var y0,c0,f2,SX=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),zQ=(y)=>{try{return typeof y==="string"&&!!c0.getAddress(y)}catch{return!1}};var P5=l(()=>{y0=require("@swapkit/helpers"),c0=require("ethers"),f2=require("ts-pattern")});var lX;var uX=l(()=>{lX=[{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 y5({chain:y=V.Chain.Ethereum,provider:Z,signer:Q,isEIP1559Compatible:X=!0,estimateGasPrices:J,estimateAdditionalFee:Y}){let W=J??v1({chain:y,isEIP1559Compatible:X,provider:Z}),f=nX({chain:y,estimateAdditionalFee:Y,estimateGasPrices:W,isEIP1559Compatible:X,provider:Z,signer:Q});return{approve:OQ({chain:y,isEIP1559Compatible:X,provider:Z,signer:Q}),approvedAmount:gX({chain:y,provider:Z}),broadcastTransaction:Z.broadcastTransaction,call:Cy({chain:y,isEIP1559Compatible:X,provider:Z,signer:Q}),createApprovalTx:PQ({chain:y,provider:Z,signer:Q}),createContract:M2({chain:y,provider:Z}),createContractTxObject:S1({chain:y,provider:Z}),createTransaction:f,createTransferTx:f,EIP1193SendTransaction:Z5(Z),estimateCall:cX({provider:Z,signer:Q}),estimateGasLimit:kQ({chain:y,provider:Z,signer:Q}),estimateGasPrices:W,estimateTransactionFee:KQ({chain:y,isEIP1559Compatible:X,provider:Z}),getAddress:()=>{return Q?Q.getAddress():void 0},getBalance:x5(y).getBalance,getNetworkParams:T2(y),isApproved:NQ({chain:y,provider:Z}),sendTransaction:oX({chain:y,estimateGasPrices:W,isEIP1559Compatible:X,provider:Z,signer:Q}),signAuthorization:BQ({signer:Q}),signMessage:Q?(T)=>Q.signMessage(T):void 0,signTypedData:Q?({domain:T,types:G,value:z})=>Q.signTypedData(T,G,z):void 0,transfer:_Q({chain:y,estimateAdditionalFee:Y,estimateGasPrices:W,isEIP1559Compatible:X,provider:Z,signer:Q}),validateAddress:V5}}function V5(y){try{return b0.getAddress(y),!0}catch{return!1}}function X5(y){return y instanceof b0.BrowserProvider}function E5(y,Z,Q){return new b0.Contract(y,b0.Interface.from(Z),Q)}function M2({provider:y}){return function(Q,X){return new b0.Contract(Q,b0.Interface.from(X),y)}}function $2({abi:y,funcName:Z}){let Q=y.find((X)=>X.name===Z);if(!Q)throw new V.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:Z});return Q.stateMutability&&LQ.includes(Q.stateMutability)}function mX(y){return b0.getAddress(y)}function Z5(y,Z=!1){return function({value:X,...J}){if(!X5(y))throw new V.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let Y={...J,gasPrice:"gasPrice"in J?J.gasPrice:void 0,maxFeePerGas:"maxFeePerGas"in J?J.maxFeePerGas:void 0,maxPriorityFeePerGas:"maxPriorityFeePerGas"in J?J.maxPriorityFeePerGas:void 0},{gasLimit:W,gasPrice:f,maxFeePerGas:T,maxPriorityFeePerGas:G,...z}=Y,B={...z,...Z&&W!==void 0&&{gas:l0(BigInt(W))},...Z&&f!==void 0&&{gasPrice:l0(BigInt(f))},...Z&&T!==void 0&&{maxFeePerGas:l0(BigInt(T))},...Z&&G!==void 0&&{maxPriorityFeePerGas:l0(BigInt(G))},value:l0(BigInt(X||0))};return y.send("eth_sendTransaction",[B])}}function pX(y,Z){let Q=w5(y,Z);if(Q)return b0.getAddress(Q.toLowerCase());throw new V.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function w5({chain:y,symbol:Z,ticker:Q},X){try{let J=y===V.Chain.BinanceSmartChain&&Z==="BNB"&&Q==="BNB",Y=y===V.Chain.Hyperevm&&Z==="HYPE"&&Q==="HYPE",W=y===X&&Z===X&&Q===X,f=$Q.includes(y)&&Z==="ETH"&&Q==="ETH";if(W||J||Y||f)return N2[X];return b0.getAddress(Z.slice(Q.length+1).replace(/^0X/,""))}catch{return null}}function S1({provider:y}){return async({contractAddress:Z,abi:Q,funcName:X,funcParams:J=[],txOverrides:Y})=>{let W=await E5(Z,Q,y).getFunction(X).populateTransaction(...J.concat(Y).filter((f)=>typeof f<"u"));return{...W,value:l0(BigInt(W.value||0))}}}function v1({chain:y,provider:Z,isEIP1559Compatible:Q=!0}){return L2.match(y).with(V.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:J,maxPriorityFeePerGas:Y}=await Z.getFeeData();if(!J||Y===null)throw new V.SwapKitError("toolbox_evm_no_fee_data");return{[V.FeeOption.Average]:{maxFeePerGas:V.applyFeeMultiplierToBigInt(J,V.FeeOption.Average),maxPriorityFeePerGas:V.applyFeeMultiplierToBigInt(Y,V.FeeOption.Average)},[V.FeeOption.Fast]:{maxFeePerGas:V.applyFeeMultiplierToBigInt(J,V.FeeOption.Fast),maxPriorityFeePerGas:V.applyFeeMultiplierToBigInt(Y,V.FeeOption.Fast)},[V.FeeOption.Fastest]:{maxFeePerGas:V.applyFeeMultiplierToBigInt(J,V.FeeOption.Fastest),maxPriorityFeePerGas:V.applyFeeMultiplierToBigInt(Y,V.FeeOption.Fastest)}}}catch(J){throw new V.SwapKitError("toolbox_evm_gas_estimation_error",{error:J.msg??J.toString()})}}}).with(V.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:J}=await Z.getFeeData();if(!J)throw new V.SwapKitError("toolbox_evm_no_fee_data");let Y=J*12n/10n;return{[V.FeeOption.Average]:{gasPrice:Y},[V.FeeOption.Fast]:{gasPrice:V.applyFeeMultiplierToBigInt(Y,V.FeeOption.Fast)},[V.FeeOption.Fastest]:{gasPrice:V.applyFeeMultiplierToBigInt(Y,V.FeeOption.Fastest)}}}catch(J){throw new V.SwapKitError("toolbox_evm_gas_estimation_error",{error:J.msg??J.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:J,maxPriorityFeePerGas:Y,gasPrice:W}=await Z.getFeeData();if(Q){if(J===null||Y===null)throw new V.SwapKitError("toolbox_evm_no_fee_data");return{[V.FeeOption.Average]:{maxFeePerGas:J,maxPriorityFeePerGas:Y},[V.FeeOption.Fast]:{maxFeePerGas:V.applyFeeMultiplierToBigInt(J,V.FeeOption.Fast),maxPriorityFeePerGas:V.applyFeeMultiplierToBigInt(Y,V.FeeOption.Fast)},[V.FeeOption.Fastest]:{maxFeePerGas:V.applyFeeMultiplierToBigInt(J,V.FeeOption.Fastest),maxPriorityFeePerGas:V.applyFeeMultiplierToBigInt(Y,V.FeeOption.Fastest)}}}if(!W)throw new V.SwapKitError("toolbox_evm_no_gas_price");return{[V.FeeOption.Average]:{gasPrice:W},[V.FeeOption.Fast]:{gasPrice:V.applyFeeMultiplierToBigInt(W,V.FeeOption.Fast)},[V.FeeOption.Fastest]:{gasPrice:V.applyFeeMultiplierToBigInt(W,V.FeeOption.Fastest)}}}catch(J){throw new V.SwapKitError("toolbox_evm_gas_estimation_error",{error:J.msg??J.toString()})}}})}function Cy({provider:y,isEIP1559Compatible:Z,signer:Q,chain:X}){return async function({callProvider:Y,contractAddress:W,abi:f,funcName:T,funcParams:G=[],txOverrides:z={},feeOption:B=V.FeeOption.Fast}){let $=Y||y;if(!W)throw new V.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let M=$2({abi:f,funcName:T});if(M&&X5($)&&Q){let C=S1({chain:X,provider:$}),R=z?.from||await Q?.getAddress(),x=await C({abi:f,contractAddress:W,funcName:T,funcParams:G,txOverrides:{...z,from:R}});return Z5($)(x)}let O=E5(W,f,$);if(M){if(!Q)throw new V.SwapKitError("toolbox_evm_no_signer");let C=z?.from||await Q.getAddress();if(!C)throw new V.SwapKitError("toolbox_evm_no_signer_address");let R=O.connect(Q),x=v1({chain:X,isEIP1559Compatible:Z,provider:y}),{maxFeePerGas:S,maxPriorityFeePerGas:P,gasPrice:K}=(await x())[B],_=await O.getFunction(T).estimateGas(...G,z),D=await R[T](...G,{...z,gasLimit:_,gasPrice:K,maxFeePerGas:S,maxPriorityFeePerGas:P,nonce:z?.nonce||await $.getTransactionCount(C)});return typeof D?.hash==="string"?D?.hash:D}let N=await O[T]?.(...G);return typeof N?.hash==="string"?N?.hash:N}}function gX({provider:y,chain:Z}){return function({assetAddress:X,spenderAddress:J,from:Y}){return Cy({chain:Z,isEIP1559Compatible:!0,provider:y})({abi:A1.erc20ABI,contractAddress:X,funcName:"allowance",funcParams:[Y,J]})}}function NQ({provider:y,chain:Z}){return async function({assetAddress:X,spenderAddress:J,from:Y,amount:W=K5}){let f=await gX({chain:Z,provider:y})({assetAddress:X,from:Y,spenderAddress:J});return V.SwapKitNumber.fromBigInt(f).gte(V.SwapKitNumber.fromBigInt(BigInt(W)))}}function OQ({signer:y,isEIP1559Compatible:Z=!0,provider:Q,chain:X}){return async function({assetAddress:Y,spenderAddress:W,feeOptionKey:f=V.FeeOption.Fast,amount:T,gasLimitFallback:G,from:z,nonce:B}){let $=[W,BigInt(T||K5)],M=await y?.getAddress()||z,O={abi:A1.erc20ABI,contractAddress:Y,funcName:"approve",funcParams:$,signer:y,txOverrides:{from:M}};if(X5(Q)){let C=S1({chain:X,provider:Q}),R=Z5(Q),x=await C(O);return R(x)}return Cy({chain:X,isEIP1559Compatible:Z,provider:Q,signer:y})({...O,feeOption:f,funcParams:$,txOverrides:{from:M,gasLimit:G?BigInt(G.toString()):void 0,nonce:B}})}}function _Q({chain:y,estimateGasPrices:Z,estimateAdditionalFee:Q,signer:X,isEIP1559Compatible:J=!0,provider:Y}){return async function({assetValue:f,memo:T,recipient:G,feeOptionKey:z=V.FeeOption.Fast,sender:B,sweep:$,...M}){let O=B||await X?.getAddress(),N=oX({chain:y,estimateGasPrices:Z,isEIP1559Compatible:J,provider:Y,signer:X});if(!O)throw new V.SwapKitError("toolbox_evm_no_from_address");let C=await nX({chain:y,estimateAdditionalFee:Q,estimateGasPrices:Z,isEIP1559Compatible:J,provider:Y,signer:X})({assetValue:f,feeOptionKey:z,memo:T,recipient:G,sender:O,sweep:$,...M});return N({...C,feeOptionKey:z,sweep:$})}}function cX({provider:y,signer:Z}){return function({contractAddress:X,abi:J,funcName:Y,funcParams:W=[],txOverrides:f}){if(!X)throw new V.SwapKitError("toolbox_evm_no_contract_address");let T=E5(X,J,y);return Z?T.connect(Z).getFunction(Y).estimateGas(...W,f):T.getFunction(Y).estimateGas(...W,f)}}function kQ({provider:y,signer:Z}){return async function({assetValue:X,recipient:J,memo:Y,data:W,sender:f,funcName:T,funcParams:G,txOverrides:z}){let B=X.bigIntValue,$=X.isGasAsset?null:w5(X,X.chain);if($&&T)return cX({provider:y,signer:Z})({abi:A1.erc20ABI,contractAddress:$,funcName:T,funcParams:G,txOverrides:z});let{hexlify:M,toUtf8Bytes:O}=await import("ethers");return y.estimateGas({data:W?W:Y?M(O(Y)):void 0,from:f,to:J,value:B})}}function BQ({signer:y}){if(!y)return;return(Z)=>G2(y,Z)}function DQ(y,Z){if(y==="legacy"){if(Z.gasPrice===void 0)throw new V.SwapKitError("toolbox_evm_no_fee_data");return{gasPrice:l0(Z.gasPrice)}}if(Z.maxFeePerGas===void 0||Z.maxPriorityFeePerGas===void 0)throw new V.SwapKitError("toolbox_evm_no_fee_data");return{maxFeePerGas:l0(Z.maxFeePerGas),maxPriorityFeePerGas:l0(Z.maxPriorityFeePerGas)}}function oX({chain:y,estimateGasPrices:Z,provider:Q,signer:X,isEIP1559Compatible:J=!0}){return async function({feeOptionKey:W=V.FeeOption.Fast,sweep:f,...T}){let{from:G,to:z,data:B,value:$,...M}=T;if(!X)throw new V.SwapKitError("toolbox_evm_no_signer");if(!z)throw new V.SwapKitError("toolbox_evm_no_to_address");let O={...M,data:B||"0x",from:G,to:z,value:BigInt($||0)};if(X5(Q))return Z5(Q,f)(O);let N=G||await X.getAddress(),C=T.nonce??await Q.getTransactionCount(N),R=(await Q.getNetwork()).chainId,x=_2(O,J);if(x==="eip7702")z2(O.authorizations||[],R);let S=L2.match(x).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),P={...O,chainId:R,nonce:C,type:S,...x==="eip7702"&&{authorizationList:O.authorizations}},K=Z??v1({chain:y,isEIP1559Compatible:J,provider:Q}),D=(x==="legacy"?O.gasPrice!==void 0:O.maxFeePerGas!==void 0&&O.maxPriorityFeePerGas!==void 0)?{}:DQ(x,(await K())[W]),L;try{L=l0(O.gasLimit?BigInt(O.gasLimit):await Q.estimateGas(P)*11n/10n)}catch(U){throw new V.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:U})}try{let U={...P,gasLimit:L,...D};try{return(await X.sendTransaction(U)).hash}catch{let q=await X.signTransaction({...U,from:N});return(await Q.broadcastTransaction(q)).hash}}catch(U){throw new V.SwapKitError("toolbox_evm_error_sending_transaction",{error:U})}}}function w1(y,Z){throw new V.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{balance:y.toString(),fee:Z.toString()}})}function CQ(y,Z){if(Z){if(y.maxFeePerGas===void 0||y.maxPriorityFeePerGas===void 0)throw new V.SwapKitError("toolbox_evm_no_fee_data");return{feeFields:{maxFeePerGas:y.maxFeePerGas,maxPriorityFeePerGas:y.maxPriorityFeePerGas},feePerGas:y.maxFeePerGas}}if(y.gasPrice===void 0)throw new V.SwapKitError("toolbox_evm_no_fee_data");return{feeFields:{gasPrice:y.gasPrice},feePerGas:y.gasPrice}}function FQ(y,Z){if(y>Z)return y;return Z}function RQ(y){return b0.getBytes(y).reduce((Z,Q)=>Z+(Q===0?4n:16n),21000n)}function H2(y){let Q=(y instanceof Error?y.message:String(y)).toLowerCase();return Q.includes("insufficient funds")||Q.includes("insufficient balance")||Q.includes("gas required exceeds allowance")}async function IQ({balance:y,estimateAdditionalFee:Z,feeOptionKey:Q,l2Reserve:X,sweepTx:J,valueBeforeL1Fee:Y}){if(!Z)return 0n;let W=await Z({...J,value:Y})??0n,f=V.applyFeeMultiplierToBigInt(W,Q),T=Y-f;if(T<=0n)w1(y,X+f);let G=await Z({...J,value:T})??W;return V.applyFeeMultiplierToBigInt(FQ(W,G),Q)}async function jQ({chain:y,data:Z,estimateGasPrices:Q,estimateAdditionalFee:X,feeOptionKey:J,from:Y,isEIP1559Compatible:W,provider:f,recipient:T,transaction:G}){let z=await f.getBalance(Y),B=Q??v1({chain:y,isEIP1559Compatible:W,provider:f}),{feeFields:$,feePerGas:M}=CQ((await B())[J],W),N={...X&&G.nonce===void 0?{...G,nonce:await f.getTransactionCount(Y)}:G,...$,data:Z,from:Y,to:T},C=RQ(Z)*M;if(z-C<=0n)w1(z,C);let R=(z-C)/2n,x;try{x=await f.estimateGas({...N,value:R})}catch(F){if(!H2(F))throw F;try{x=await f.estimateGas({...N,value:0n})}catch(I){if(H2(I))w1(z,C);throw I}}let S=x*M;if(z-S<=0n)w1(z,S);let _=x*11n/10n*M,D=z>_?z-_:0n,L;try{L=await f.estimateGas({...N,value:D})}catch(F){if(!H2(F))throw F;w1(z,_)}let U=L*M,q=z-U;if(q<=0n)w1(z,U);let H=await IQ({balance:z,estimateAdditionalFee:X,feeOptionKey:J,l2Reserve:U,sweepTx:{...N,gasLimit:L},valueBeforeL1Fee:q}),k=q-H;if(k<=0n)w1(z,U+H);return{...N,gasLimit:L,value:l0(k)}}async function xQ({chain:y,contractAddress:Z,from:Q,provider:X}){let J=await Cy({chain:y,provider:X})({abi:A1.erc20ABI,contractAddress:Z,funcName:"balanceOf",funcParams:[Q]});if(typeof J!=="bigint")throw new V.SwapKitError({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid ERC20 balance"}});return J}function nX({chain:y,estimateAdditionalFee:Z,estimateGasPrices:Q,isEIP1559Compatible:X=!0,provider:J,signer:Y}){return async function({assetValue:f,authorizations:T,memo:G,recipient:z,data:B,feeOptionKey:$=V.FeeOption.Fast,gasLimit:M,sender:O,sweep:N,type:C,maxFeePerGas:R,maxPriorityFeePerGas:x,gasPrice:S,...P}){let K=f.getBaseValue("bigint"),_=O||await Y?.getAddress();if(!_)throw new V.SwapKitError("toolbox_evm_no_from_address");if(N&&(C===4||(T?.length??0)>0))throw new V.SwapKitError({errorKey:"toolbox_not_supported",info:{chain:y,reason:"EIP-7702 sweep transactions are not supported"}});if(V.isGasAsset(f)){let{hexlify:q,toUtf8Bytes:H}=await import("ethers"),k=B||q(H(G||""));if(!N)return{...P,...T!==void 0&&{authorizations:T},data:k,from:_,...M!==void 0&&{gasLimit:M},to:z,...C!==void 0&&{type:C},value:l0(K)};return jQ({chain:y,data:k,estimateAdditionalFee:Z,estimateGasPrices:Q,feeOptionKey:$,from:_,isEIP1559Compatible:X,provider:J,recipient:z,transaction:{nonce:P.nonce,type:C}})}let D=w5(f,y);if(!D)throw new V.SwapKitError("toolbox_evm_no_contract_address");let L=S1({chain:y,provider:J}),U=N?await xQ({chain:y,contractAddress:D,from:_,provider:J}):K;if(N&&U<=0n)throw new V.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:f.toString(),balance:U.toString()}});return L({abi:A1.erc20ABI,contractAddress:D,funcName:"transfer",funcParams:[z,U],txOverrides:{from:_,gasLimit:M,gasPrice:S,maxFeePerGas:R,maxPriorityFeePerGas:x}})}}function PQ({provider:y,signer:Z,chain:Q}){return async function({assetAddress:J,spenderAddress:Y,amount:W,from:f}){let T=await Z?.getAddress()||f,G=S1({chain:Q,provider:y}),z=["bigint","number"].includes(typeof W)?W:W||K5;return await G({abi:A1.erc20ABI,contractAddress:J,funcName:"approve",funcParams:[Y,BigInt(z)],txOverrides:{from:T}})}}function KQ({provider:y,isEIP1559Compatible:Z=!0,chain:Q}){return async function({feeOption:J=V.FeeOption.Fast,...Y}){let f=await v1({chain:Q,isEIP1559Compatible:Z,provider:y})(),T=await y.estimateGas(Y),G=V.AssetValue.from({chain:Q}),{gasPrice:z,maxFeePerGas:B,maxPriorityFeePerGas:$}=f[J];if(!Z&&z)return G.set(V.SwapKitNumber.fromBigInt(z*T,G.decimal));if(B&&$){let M=(B+$)*T;return G.set(V.SwapKitNumber.fromBigInt(M,G.decimal))}throw new V.SwapKitError("toolbox_evm_no_gas_price")}}var V,A1,b0,L2,K5,LQ,MQ,N2,$Q,Fy=(y)=>y.type===4||(y.authorizations?.length??0)>0,O2=(y)=>!Fy(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),_2=(y,Z=!0)=>{if(Fy(y))return"eip7702";if(O2(y)||Z)return"eip1559";return"legacy"};var Ry=l(()=>{Dy();P5();V=require("@swapkit/helpers"),A1=require("@swapkit/helpers/contracts"),b0=require("ethers"),L2=require("ts-pattern"),K5=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");LQ=["payable","nonpayable"];MQ=V.EVMChains.reduce((y,Z)=>{return y[Z]="0x0000000000000000000000000000000000000000",y},{}),N2={...MQ,[V.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[V.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},$Q=[V.Chain.Arbitrum,V.Chain.Aurora,V.Chain.Base,V.Chain.Optimism,V.Chain.Robinhood]});var dX;var iX=l(()=>{dX=[{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:[{internalType:"uint256",name:"_gasUsed",type:"uint256"}],name:"getOperatorFee",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 jy(y){return new Iy.Contract(VQ,dX,y)}function tX(y){return async function(){let Q=jy(y);if(Q&&"l1BaseFee"in Q)return await Q?.l1BaseFee();return}}function rX(y){return async function({from:Q,to:X,nonce:J,...Y}){let{Transaction:W}=await import("ethers");if(!X)throw new M0.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return W.from({...Y,authorizationList:Y.authorizationList,nonce:J??(Q?await y.getTransactionCount(Q):0),to:X}).unsignedSerialized}}function k2(y,Z){return async function(X){let J=jy(y),Y=X.chainId??Z??(await y.getNetwork()).chainId,W=await rX(y)({...X,chainId:Y});if(J&&"getL1Fee"in J){let f=await J.getL1Fee(W);if(typeof f!=="bigint")throw new M0.SwapKitError({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid OP-stack L1 fee"}});return f}return}}function B2(y){return async function(Q){let X=jy(y);if(X&&"getOperatorFee"in X){let J=await X.getOperatorFee(Q);if(typeof J!=="bigint")throw new M0.SwapKitError({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid OP-stack operator fee"}});return J}return 0n}}function EQ(y,Z){let Q=k2(y,Z),X=B2(y);return async function(Y){if(Y.gasLimit===void 0||Y.gasLimit===null)throw new M0.SwapKitError({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Missing gas limit for OP-stack fee estimation"}});let[W,f]=await Promise.all([Q(Y),X(BigInt(Y.gasLimit.toString()))]);return(W??0n)+f}}function aX(y){return async function(Q){let J=(await y.getFeeData()).gasPrice??0n,Y=await y.estimateGas(Q);return J*Y}}function wQ(y){return async function(Q){let X=await k2(y)(Q)??0n,J=await aX(y)(Q),Y=Q.gasLimit??await y.estimateGas(Q),W=await B2(y)(BigInt(Y.toString()));return X+J+W}}function AQ(y){return async function(Q){let X=jy(y),J=await rX(y)(Q);if(X&&"getL1GasUsed"in X)return X.getL1GasUsed(J)}}function SQ(y){return async function(){try{let{maxFeePerGas:Q,maxPriorityFeePerGas:X,gasPrice:J}=await y.getFeeData(),Y=await tX(y)(),W=J;if(!(Q&&X))throw new M0.SwapKitError("toolbox_evm_no_fee_data");return{[M0.FeeOption.Average]:{gasPrice:W,l1GasPrice:Y,maxFeePerGas:Q,maxPriorityFeePerGas:X},[M0.FeeOption.Fast]:{gasPrice:M0.applyFeeMultiplierToBigInt(W,M0.FeeOption.Fast),l1GasPrice:M0.applyFeeMultiplierToBigInt(Y||0n,M0.FeeOption.Fast),maxFeePerGas:Q,maxPriorityFeePerGas:M0.applyFeeMultiplierToBigInt(X,M0.FeeOption.Fast)},[M0.FeeOption.Fastest]:{gasPrice:M0.applyFeeMultiplierToBigInt(W,M0.FeeOption.Fastest),l1GasPrice:M0.applyFeeMultiplierToBigInt(Y||0n,M0.FeeOption.Fastest),maxFeePerGas:Q,maxPriorityFeePerGas:M0.applyFeeMultiplierToBigInt(X,M0.FeeOption.Fastest)}}}catch(Q){throw new M0.SwapKitError("toolbox_evm_gas_estimation_error",{error:Q.msg??Q.toString()})}}}function Q5(y){return function({provider:Q,...X}){let J=A5.match(X).with({phrase:A5.P.string},({phrase:$})=>Iy.HDNodeWallet.fromPhrase($).connect(Q)).with({signer:A5.P.any},({signer:$})=>$).otherwise(()=>{return}),Y=tX(Q),W=BigInt(M0.getChainConfig(y).chainId),f=k2(Q,W),T=EQ(Q,W),G=B2(Q),z=y===M0.Chain.Optimism?SQ(Q):void 0;return{...y5({chain:y,estimateAdditionalFee:T,estimateGasPrices:z,provider:Q,signer:J}),estimateL1Gas:AQ(Q),estimateL1GasCost:f,estimateL2GasCost:aX(Q),estimateOperatorFee:G,estimateTotalGasCost:wQ(Q),getBalance:x5(y).getBalance,getL1GasPrice:Y}}}var M0,Iy,A5,VQ="0x420000000000000000000000000000000000000f",xy;var Py=l(()=>{Dy();iX();Ry();M0=require("@swapkit/helpers"),Iy=require("ethers"),A5=require("ts-pattern");xy=Q5(M0.Chain.Optimism)});function Ky(y){let Z=I0(O0.Chain.Ethereum)(y);async function Q(X,J="0x5ba1e12693dc8f9c48aad8770482f4739beed696",Y="aggregate",W=O0.FeeOption.Fast){let f=await Z.createContractTxObject({abi:lX,contractAddress:J,funcName:Y,funcParams:[X]});return Z.sendTransaction({...f,feeOptionKey:W})}return{...Z,multicall:Q}}function I0(y){return function({provider:Q,...X}){let J=U2(y),Y=S5.match(X).with({phrase:S5.P.string},({phrase:f})=>sX.HDNodeWallet.fromPhrase(f).connect(Q)).with({signer:S5.P.any},({signer:f})=>f).otherwise(()=>{return});return y5({chain:y,isEIP1559Compatible:J,provider:Q,signer:Y})}}var O0,sX,S5,Vy,Ey,wy,Ay,Sy,vy,by,eX,hy,ly,uy,my,py,gy,cy,oy,ny,dy,iy,v5,ty,ry;var D2=l(()=>{uX();P5();Ry();Py();O0=require("@swapkit/helpers"),sX=require("ethers"),S5=require("ts-pattern");Vy=I0(O0.Chain.Adi),Ey=I0(O0.Chain.Arbitrum),wy=I0(O0.Chain.Aurora),Ay=I0(O0.Chain.Avalanche),Sy=Q5(O0.Chain.Base),vy=I0(O0.Chain.Berachain),by=I0(O0.Chain.BinanceSmartChain),eX=I0(O0.Chain.Botanix),hy=I0(O0.Chain.Core),ly=I0(O0.Chain.Corn),uy=I0(O0.Chain.Cronos),my=I0(O0.Chain.Gnosis),py=I0(O0.Chain.Robinhood),gy=I0(O0.Chain.Hyperevm),cy=I0(O0.Chain.Linea),oy=I0(O0.Chain.Polygon),ny=I0(O0.Chain.MegaETH),dy=I0(O0.Chain.Monad),iy=I0(O0.Chain.Plasma),v5=I0(O0.Chain.Sonic),ty=Q5(O0.Chain.Unichain),ry=I0(O0.Chain.XLayer)});var Z9={};x0(Z9,{validateEVMAddress:()=>V5,toChecksumAddress:()=>mX,isStateChangingCall:()=>$2,isEIP7702Transaction:()=>Fy,isEIP1559Transaction:()=>O2,isBrowserProvider:()=>X5,getTokenAddress:()=>w5,getEvmToolboxAsync:()=>X9,getEvmToolbox:()=>C2,getEstimateGasPrices:()=>v1,getEVMTxType:()=>_2,getEIP1193SendTransaction:()=>Z5,getCreateContractTxObject:()=>S1,getCreateContract:()=>M2,getChecksumAddressFromAsset:()=>pX,createOPStackToolbox:()=>Q5,createContract:()=>E5,XLayerToolbox:()=>ry,UNIToolbox:()=>ty,SONICToolbox:()=>v5,PLASMAToolbox:()=>iy,OPToolbox:()=>xy,MONADToolbox:()=>dy,MEGAETHToolbox:()=>ny,MAX_APPROVAL:()=>K5,MATICToolbox:()=>oy,LINEAToolbox:()=>cy,HYPEREVMToolbox:()=>gy,HOODToolbox:()=>py,GNOToolbox:()=>my,ETHToolbox:()=>Ky,ContractAddress:()=>N2,CROToolbox:()=>uy,CORNToolbox:()=>ly,COREToolbox:()=>hy,BotanixToolbox:()=>eX,BaseEVMToolbox:()=>y5,BSCToolbox:()=>by,BERAToolbox:()=>vy,BASEToolbox:()=>Sy,AVAXToolbox:()=>Ay,AURORAToolbox:()=>wy,ARBToolbox:()=>Ey,ADIToolbox:()=>Vy});function C2(y,Z){return y9.match(y).with(k0.Chain.Adi,()=>Vy(Z)).with(k0.Chain.Arbitrum,()=>Ey(Z)).with(k0.Chain.Aurora,()=>wy(Z)).with(k0.Chain.Avalanche,()=>Ay(Z)).with(k0.Chain.Base,()=>Sy(Z)).with(k0.Chain.Berachain,()=>vy(Z)).with(k0.Chain.BinanceSmartChain,()=>by(Z)).with(k0.Chain.Botanix,()=>v5(Z)).with(k0.Chain.Core,()=>hy(Z)).with(k0.Chain.Corn,()=>ly(Z)).with(k0.Chain.Cronos,()=>uy(Z)).with(k0.Chain.Ethereum,()=>Ky(Z)).with(k0.Chain.Gnosis,()=>my(Z)).with(k0.Chain.Hyperevm,()=>gy(Z)).with(k0.Chain.Linea,()=>cy(Z)).with(k0.Chain.MegaETH,()=>ny(Z)).with(k0.Chain.Monad,()=>dy(Z)).with(k0.Chain.Optimism,()=>xy(Z)).with(k0.Chain.Plasma,()=>iy(Z)).with(k0.Chain.Polygon,()=>oy(Z)).with(k0.Chain.Robinhood,()=>py(Z)).with(k0.Chain.Sonic,()=>v5(Z)).with(k0.Chain.Unichain,()=>ty(Z)).with(k0.Chain.XLayer,()=>ry(Z)).exhaustive()}async function X9(y,Z){let Q={...Z,provider:Z?.provider||q2(y)};return C2(y,Q)}var k0,y9;var F2=l(()=>{P5();D2();Py();k0=require("@swapkit/helpers"),y9=require("ts-pattern");Ry();D2();Py()});var Q9;var J9=l(()=>{((Q)=>{Q.Test="goerli";Q.Main="homestead"})(Q9||={})});var Y9={};x0(Y9,{validateEVMAddress:()=>V5,validateAuthorizations:()=>z2,validateAuthorization:()=>bX,toHexString:()=>l0,toChecksumAddress:()=>mX,signAuthorization:()=>G2,parseEIP712FromEVMTx:()=>HQ,isStateChangingCall:()=>$2,isEIP7702Transaction:()=>Fy,isEIP1559Transaction:()=>O2,isBrowserProvider:()=>X5,getTokenAddress:()=>w5,getProviderSync:()=>vX,getProvider:()=>UQ,getNetworkParams:()=>T2,getIsEIP1559Compatible:()=>U2,getFallbackProvider:()=>q2,getEvmToolboxAsync:()=>X9,getEvmToolbox:()=>C2,getEvmApi:()=>x5,getEstimateGasPrices:()=>v1,getEVMTxType:()=>_2,getEIP1193SendTransaction:()=>Z5,getCreateContractTxObject:()=>S1,getCreateContract:()=>M2,getChecksumAddressFromAsset:()=>pX,createOPStackToolbox:()=>Q5,createCustomEvmApi:()=>TQ,createContract:()=>E5,buildEIP712DomainType:()=>hX,XLayerToolbox:()=>ry,UNIToolbox:()=>ty,SONICToolbox:()=>v5,PLASMAToolbox:()=>iy,OPToolbox:()=>xy,MONADToolbox:()=>dy,MEGAETHToolbox:()=>ny,MAX_APPROVAL:()=>K5,MATICToolbox:()=>oy,LINEAToolbox:()=>cy,HYPEREVMToolbox:()=>gy,HOODToolbox:()=>py,GNOToolbox:()=>my,EthNetwork:()=>Q9,ETHToolbox:()=>Ky,ContractAddress:()=>N2,CROToolbox:()=>uy,CORNToolbox:()=>ly,COREToolbox:()=>hy,BotanixToolbox:()=>eX,BaseEVMToolbox:()=>y5,BSCToolbox:()=>by,BERAToolbox:()=>vy,BASEToolbox:()=>Sy,AVAXToolbox:()=>Ay,AURORAToolbox:()=>wy,ARBToolbox:()=>Ey,ADIToolbox:()=>Vy});module.exports=E0(Y9);var R2=l(()=>{Dy();P5();F2();J9()});async function j2(y,Z){let Q=await fetch(`${z9}${y}`,{...Z,headers:{project_id:G9,...Z?.headers}});if(!Q.ok)throw Error(`Blockfrost API error: ${Q.status} ${Q.statusText}`);return Q.json()}async function H9(y){try{return await j2(`/addresses/${y}/utxos`)}catch{return[]}}async function bQ(){return(await j2("/blocks/latest")).slot}async function hQ(){let y=await j2("/epochs/latest/parameters"),Z={PlutusScriptV1:y.cost_models.PlutusV1?Object.values(y.cost_models.PlutusV1):[],PlutusScriptV2:y.cost_models.PlutusV2?Object.values(y.cost_models.PlutusV2):[],PlutusScriptV3:y.cost_models.PlutusV3?Object.values(y.cost_models.PlutusV3):[]};return{collateralPercent:new u0.default(y.collateral_percent),languageView:Z,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new u0.default(y.min_fee_a),minFeeB:new u0.default(y.min_fee_b),minFeeRefScriptCostPerByte:new u0.default(15),priceMem:new u0.default(y.price_mem),priceSteps:new u0.default(y.price_step),stakeKeyDeposit:new u0.default(2000000),utxoCostPerByte:new u0.default(y.coins_per_utxo_size)}}async function f9(y){let Z=await fetch(`${z9}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:G9},method:"POST"});if(!Z.ok){let Q=await Z.text();throw Error(`Transaction submission failed: ${Q}`)}return Z.json()}function lQ(y,Z){return y.map((Q)=>{let X=Q.amount.find((W)=>W.unit==="lovelace"),J=X?new u0.default(X.quantity):new u0.default(0),Y=Q.amount.filter((W)=>W.unit!=="lovelace").map((W)=>({amount:new u0.default(W.quantity),assetName:W.unit.slice(56),policyId:W.unit.slice(0,56)}));return{address:Z,amount:J,index:Q.output_index,tokens:Y,txId:Q.tx_hash}})}function uQ({TransactionConstructor:y,auxiliaryData:Z,bufferedParams:Q,currentSlot:X,inputs:J,recipientAddress:Y}){let W=J.reduce((M,O)=>M.plus(O.amount),new u0.default(0));if(!W.isPositive())throw new $0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{available:W.toString()}});let f=new y({protocolParams:Q});for(let M of J)f.addInput(M);if(f.addOutput({address:Y,amount:W,tokens:[]}),f.setTTL(X+3600),Z)f.setAuxiliaryData(Z);f.setFee(f.calculateFee());let T=f.getFee(),G=W.minus(T),z={address:Y,amount:G,tokens:[]},B=f.calculateMinUtxoAmountBabbage(z);if(!G.isPositive()||G.lt(B))throw new $0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{available:W.toString(),fee:T.toString(),minimumOutput:B.toString()}});return new y({protocolParams:Q}).paymentTransaction({auxiliaryData:Z,changeAddress:Y,inputs:J,outputs:[z],ttl:X+3600})}async function mQ(y){try{let Z=await H9(y),Q=0n,X=new Map;for(let W of Z){if(!W.amount||!Array.isArray(W.amount))continue;for(let f of W.amount){let{unit:T,quantity:G}=f;if(T==="lovelace")Q+=BigInt(G);else{let z=X.get(T)||0n;X.set(T,z+BigInt(G))}}}let J=[],{baseDecimal:Y}=$0.getChainConfig($0.Chain.Cardano);if(Q>0n)J.push($0.AssetValue.from({chain:$0.Chain.Cardano,fromBaseDecimal:Y,value:Q.toString()}));for(let[W,f]of X)J.push($0.AssetValue.from({asset:`${$0.Chain.Cardano}.${W}`,value:f.toString()}));if(J.length===0)return[$0.AssetValue.from({chain:$0.Chain.Cardano})];return J}catch(Z){let Q=Z instanceof Error?Z.message:String(Z);return console.error(`Cardano balance fetch error: ${Q}`),[$0.AssetValue.from({chain:$0.Chain.Cardano})]}}function L9(y){if(!y||typeof y!=="string")return!1;try{let Z=q9.bech32.decode(y,120);return Z.prefix==="addr"||Z.prefix==="addr_test"}catch{return!1}}async function pQ(y,Z=0,Q=0){let{Bip32PrivateKey:X}=await import("@stricahq/bip32ed25519"),{types:J,address:Y,crypto:W}=await import("@stricahq/typhonjs"),f=T9.mnemonicToEntropy(y,U9.wordlist),G=(await X.fromEntropy(Buffer.from(Array.from(f)))).derive(I2+1852).derive(I2+1815).derive(I2+Z),z=G.derive(0).derive(Q),B=z.toBip32PublicKey().toPublicKey().toBytes(),$=W.hash28(B),O=G.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),N=W.hash28(O),C={hash:$,type:J.HashType.ADDRESS},R={hash:N,type:J.HashType.ADDRESS},S=new Y.BaseAddress(J.NetworkId.MAINNET,C,R).getBech32(),P=z.toPrivateKey();return{getAddress:()=>S,publicKey:B,publicKeyHash:$,signTransaction:async(K)=>{try{let _=await import("@stricahq/cbors"),D=Buffer.from(K,"hex"),L=_.Decoder.decode(D),[U,q,H,k]=L.value,F=_.Encoder.encode(U),I=W.hash32(F),w=P.sign(I),A=q instanceof Map?q:new Map,b=A.get(W9)||[];b.push([B,w]),A.set(W9,b);let a=[U,A,H,k];return _.Encoder.encode(a).toString("hex")}catch(_){throw new $0.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(_)})}}}}function gQ(y){let Z,Q,X;async function J(){if(!X)X=await hQ();return X}async function Y(){if(Z!==void 0)return Z;if(y&&"phrase"in y&&y.phrase){let M=y.index??0;return Z=await pQ(y.phrase,0,M),Z}if(y&&"signer"in y&&y.signer)return Z=y.signer,Z;return}async function W(){if(Q)return Q;let M=await Y();if(!M)return"";if("getAddress"in M)return Q=await M.getAddress(),Q;return""}async function f(M){let O=M||await W();if(!O)throw new $0.SwapKitError("core_wallet_connection_not_found");return mQ(O)}async function T(M){if(M)try{let{tx:R}=await G(M),x=R.getFee();return $0.AssetValue.from({chain:$0.Chain.Cardano,fromBaseDecimal:6,value:x.toString()})}catch{}let O=await J(),N=400,C=O.minFeeB.plus(O.minFeeA.times(N));return $0.AssetValue.from({chain:$0.Chain.Cardano,fromBaseDecimal:6,value:C.toString()})}async function G({sender:M="",recipient:O,assetValue:N,memo:C,pureLovelaceOnly:R=!1,sweep:x=!1}){let{Transaction:S,utils:P}=await import("@stricahq/typhonjs"),K=M||await W();if(!K)throw new $0.SwapKitError("core_wallet_connection_not_found");let[_,D,L]=await Promise.all([H9(K),bQ(),J()]);if(x&&!N.isGasAsset)throw new $0.SwapKitError({errorKey:"toolbox_not_supported",info:{asset:N.toString(),chain:$0.Chain.Cardano,feature:"token_sweep"}});let U=x&&N.isGasAsset,q=R||U,H=_.filter((E)=>q?E.amount.some((h)=>h.unit==="lovelace")&&E.amount.every((h)=>h.unit==="lovelace"):E.amount.some((h)=>h.unit==="lovelace")).sort((E,h)=>{let n=E.amount.some((Z0)=>Z0.unit!=="lovelace"),i=h.amount.some((Z0)=>Z0.unit!=="lovelace");if(n===i)return 0;return n?1:-1}),k=P.getAddressFromString(K),F=P.getAddressFromString(O),I=lQ(H,k),w;if(C){let E=new Map;E.set("msg",[C]),w={metadata:[{data:E,label:674}]}}let A={...L,minFeeB:L.minFeeB.plus(L.minFeeA.times(4))};if(U){let E=uQ({auxiliaryData:w,bufferedParams:A,currentSlot:D,inputs:I,recipientAddress:F,TransactionConstructor:S}),{payload:h}=E.buildTransaction();return{tx:E,unsignedTx:h}}let b=new u0.default(N.getBaseValue("string")),a=[{address:F,amount:b,tokens:[]}],T0=new S({protocolParams:A}).paymentTransaction({auxiliaryData:w,changeAddress:k,inputs:I,outputs:a,ttl:D+3600}),{payload:j}=T0.buildTransaction();return{tx:T0,unsignedTx:j}}async function z(M){let O=await Y();if(!O||!("signTransaction"in O))throw new $0.SwapKitError("core_wallet_connection_not_found");return O.signTransaction(M)}async function B({recipient:M,assetValue:O,memo:N,sweep:C}){let R=await Y();if(!R||!("signTransaction"in R))throw new $0.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:x}=await G({assetValue:O,memo:N,recipient:M,sender:await W(),sweep:C}),S=await z(x);return await f9(S)}async function $(M){let O=await z(M);return await f9(O)}return{createTransaction:G,estimateTransactionFee:T,getAddress:W,getBalance:f,signAndBroadcastTransaction:$,signTransaction:z,transfer:B,validateAddress:L9}}var q9,T9,U9,$0,u0,G9="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",z9="https://cardano-mainnet.blockfrost.io/api/v0",I2=2147483648,W9=0;var M9=l(()=>{q9=require("@scure/base"),T9=require("@scure/bip39"),U9=require("@scure/bip39/wordlists/english.js"),$0=require("@swapkit/helpers"),u0=MX(require("bignumber.js"))});var x2={};x0(x2,{validateCardanoAddress:()=>L9,getCardanoToolbox:()=>gQ});module.exports=E0(x2);var P2=l(()=>{M9()});function b5(y){return J1.base64.encode(Uint8Array.from(J1.bech32.fromWords(J1.bech32.decode(y).words)))}function h5(y,Z="thor"){return J1.bech32.encode(Z,J1.bech32.toWords(J1.base64.decode(y)))}function cQ(y){return J1.base64.encode(y)}function oQ(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new $9.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return J1.base64.decode(y)}var J1,$9;var K2=l(()=>{J1=require("@scure/base"),$9=require("@swapkit/helpers")});function r0(y){switch(y){case m.Chain.Maya:return{amount:[],gas:"10000000000"};case m.Chain.THORChain:return{amount:[],gas:"500000000"};case m.Chain.Kujira:return _9;case m.Chain.Noble:return k9;default:return O9}}async function l5(y){let{isStagenet:Z}=m.SKConfig.get("envs"),Q=m.SKConfig.get("thornodeUrls"),X=y===m.Chain.Maya,Y=`${X?Z?Q.MAYA_STAGENET:Q.MAYA:Z?Q.THOR_STAGENET:Q.THOR}/${X?"mayachain":"thorchain"}/constants`,W=m.getChainConfig(y).baseDecimal;try{let{int_64_values:{NativeTransactionFee:f}}=await m.RequestClient.get(Y);if(!Number.isInteger(f)||f<=0)throw new m.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:f.toString()});return m.SwapKitNumber.fromBigInt(BigInt(f),W)}catch{let f=X?10000000000n:2000000n;return m.SwapKitNumber.fromBigInt(f,W)}}async function Y1(y){let Z=await import("@cosmjs/stargate"),Q=Z.StargateClient??Z.default?.StargateClient,X=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return Q.connect({headers:X,url:y})}async function b1(y,Z,Q={}){let X=await import("@cosmjs/stargate"),J=X.SigningStargateClient??X.default?.SigningStargateClient,Y=X.GasPrice??X.default?.GasPrice,W=typeof Q==="string"?Q:"0.0003uatom",f=typeof Q==="string"?{}:Q;return J.connectWithSigner(y,Z,{gasPrice:Y.fromString(W),...f})}async function E2(y,Z){let Q=await import("@cosmjs/stargate");return(Q.SigningStargateClient??Q.default?.SigningStargateClient).offline(y,Z)}async function w2({sender:y,recipient:Z,assetValue:Q,memo:X="",feeRate:J,sequence:Y,accountNumber:W,sweep:f}){let{chain:T,chainId:G}=Q,z=await m.getRPCUrl(T),B=await Y1(z),$=await B.getAccount(y);if(!$)throw new m.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let M=m.AssetValue.from({chain:T}),O=T1(M.symbol),N=r0(T),C=O&&J?{amount:[{amount:J.toString(),denom:O}],gas:N.gas}:N,R=T1(Q.symbol),S={amount:[{amount:(f?J5({assetValue:Q,balances:await B.getAllBalances(y),denom:R,feeAmount:ay(C.amount,R)}):Q).getBaseValue("string"),denom:R}],fromAddress:y,toAddress:Z};return{accountNumber:W??Number($.accountNumber),chainId:G,fee:C,memo:X,msgs:[{typeUrl:nQ(T),value:S}],sequence:Y??$.sequence}}function ay(y,Z){let Q=Z.toLowerCase();return y.reduce((X,J)=>J.denom.toLowerCase()===Q?X+BigInt(J.amount):X,0n)}function J5({assetValue:y,balances:Z,denom:Q,feeAmount:X=0n}){let J=Q.toLowerCase(),Y=Z.find(({denom:T})=>T.toLowerCase()===J),W=BigInt(Y?.amount??"0"),f=W-X;if(f<=0n)throw new m.SwapKitError("toolbox_sweep_amount_too_low",{asset:y.toString(),balance:W.toString(),fee:X.toString()});return y.set(m.SwapKitNumber.fromBigInt(f,y.decimal))}var m,V2="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",N9="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",O9,_9,k9,T1=(y,Z=!1)=>{if(Z)return y.toLowerCase();switch(y){case"uUSK":case"USK":return V2;case"uYUM":case"YUM":return N9;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":case"NOBLE":return"uusdc";default:return y}},u5=({symbol:y,chain:Z})=>{if(Z===m.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${m.Chain.Maya}.${y}`).toUpperCase();if(Z===m.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${m.Chain.THORChain}.${y}`:y).toUpperCase();return T1(y,!1)},nQ=(y)=>{switch(y){case m.Chain.Maya:case m.Chain.THORChain:return"/types.MsgSend";case m.Chain.Cosmos:case m.Chain.Kujira:case m.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new m.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},dQ,A2=(y,Z)=>{let Q=dQ[y.toLowerCase()];if(!Q)return m.AssetValue.from({asset:y,fromBaseDecimal:8,value:Z});let{chain:X,asset:J,decimals:Y}=Q,W=X?{chain:X}:{asset:J};return m.AssetValue.from({...W,fromBaseDecimal:Y,value:Z})};var m5=l(()=>{m=require("@swapkit/helpers"),O9={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},_9={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},k9={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};dQ={atom:{chain:m.Chain.Cosmos,decimals:m.getChainConfig(m.Chain.Cosmos).baseDecimal},cacao:{chain:m.Chain.Maya,decimals:10},kuji:{chain:m.Chain.Kujira,decimals:m.getChainConfig(m.Chain.Kujira).baseDecimal},maya:{asset:`${m.Chain.Maya}.${m.Chain.Maya}`,decimals:4},rune:{chain:m.Chain.THORChain,decimals:m.getChainConfig(m.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:m.getChainConfig(m.Chain.THORChain).baseDecimal},uatom:{chain:m.Chain.Cosmos,decimals:m.getChainConfig(m.Chain.Cosmos).baseDecimal},ukuji:{chain:m.Chain.Kujira,decimals:m.getChainConfig(m.Chain.Kujira).baseDecimal},usdc:{chain:m.Chain.Noble,decimals:m.getChainConfig(m.Chain.Noble).baseDecimal},uusdc:{chain:m.Chain.Noble,decimals:m.getChainConfig(m.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:m.getChainConfig(m.Chain.THORChain).baseDecimal},[V2.toLowerCase()]:{asset:`${m.Chain.Kujira}.USK`,decimals:m.getChainConfig(m.Chain.Kujira).baseDecimal}}});var B9={};x0(B9,{$root:()=>u});var V0,r,n0,o,u;var D9=l(()=>{V0=MX(require("protobufjs/minimal.js")),r=V0.default.Reader,n0=V0.default.Writer,o=V0.default.util,u=V0.default.roots.default||(V0.default.roots.default={});u.common=(()=>{let y={};return y.Asset=(()=>{function Z(Q){if(Q){for(let X=Object.keys(Q),J=0;J<X.length;++J)if(Q[X[J]]!=null)this[X[J]]=Q[X[J]]}}return Z.prototype.chain="",Z.prototype.symbol="",Z.prototype.ticker="",Z.prototype.synth=!1,Z.create=function(X){return new Z(X)},Z.encode=function(X,J){if(!J)J=n0.create();if(X.chain!=null&&Object.hasOwnProperty.call(X,"chain"))J.uint32(10).string(X.chain);if(X.symbol!=null&&Object.hasOwnProperty.call(X,"symbol"))J.uint32(18).string(X.symbol);if(X.ticker!=null&&Object.hasOwnProperty.call(X,"ticker"))J.uint32(26).string(X.ticker);if(X.synth!=null&&Object.hasOwnProperty.call(X,"synth"))J.uint32(32).bool(X.synth);return J},Z.encodeDelimited=function(X,J){return this.encode(X,J).ldelim()},Z.decode=function(X,J){if(!(X instanceof r))X=r.create(X);let Y=J===void 0?X.len:X.pos+J,W=new u.common.Asset;while(X.pos<Y){let f=X.uint32();switch(f>>>3){case 1:W.chain=X.string();break;case 2:W.symbol=X.string();break;case 3:W.ticker=X.string();break;case 4:W.synth=X.bool();break;default:X.skipType(f&7);break}}return W},Z.decodeDelimited=function(X){if(!(X instanceof r))X=new r(X);return this.decode(X,X.uint32())},Z.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.chain!=null&&X.hasOwnProperty("chain")){if(!o.isString(X.chain))return"chain: string expected"}if(X.symbol!=null&&X.hasOwnProperty("symbol")){if(!o.isString(X.symbol))return"symbol: string expected"}if(X.ticker!=null&&X.hasOwnProperty("ticker")){if(!o.isString(X.ticker))return"ticker: string expected"}if(X.synth!=null&&X.hasOwnProperty("synth")){if(typeof X.synth!=="boolean")return"synth: boolean expected"}return null},Z.fromObject=function(X){if(X instanceof u.common.Asset)return X;let J=new u.common.Asset;if(X.chain!=null)J.chain=String(X.chain);if(X.symbol!=null)J.symbol=String(X.symbol);if(X.ticker!=null)J.ticker=String(X.ticker);if(X.synth!=null)J.synth=Boolean(X.synth);return J},Z.toObject=function(X,J){if(!J)J={};let Y={};if(J.defaults)Y.chain="",Y.symbol="",Y.ticker="",Y.synth=!1;if(X.chain!=null&&X.hasOwnProperty("chain"))Y.chain=X.chain;if(X.symbol!=null&&X.hasOwnProperty("symbol"))Y.symbol=X.symbol;if(X.ticker!=null&&X.hasOwnProperty("ticker"))Y.ticker=X.ticker;if(X.synth!=null&&X.hasOwnProperty("synth"))Y.synth=X.synth;return Y},Z.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},Z})(),y.Coin=(()=>{function Z(Q){if(Q){for(let X=Object.keys(Q),J=0;J<X.length;++J)if(Q[X[J]]!=null)this[X[J]]=Q[X[J]]}}return Z.prototype.asset=null,Z.prototype.amount="",Z.prototype.decimals=o.Long?o.Long.fromBits(0,0,!1):0,Z.create=function(X){return new Z(X)},Z.encode=function(X,J){if(!J)J=n0.create();if(X.asset!=null&&Object.hasOwnProperty.call(X,"asset"))u.common.Asset.encode(X.asset,J.uint32(10).fork()).ldelim();if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);if(X.decimals!=null&&Object.hasOwnProperty.call(X,"decimals"))J.uint32(24).int64(X.decimals);return J},Z.encodeDelimited=function(X,J){return this.encode(X,J).ldelim()},Z.decode=function(X,J){if(!(X instanceof r))X=r.create(X);let Y=J===void 0?X.len:X.pos+J,W=new u.common.Coin;while(X.pos<Y){let f=X.uint32();switch(f>>>3){case 1:W.asset=u.common.Asset.decode(X,X.uint32());break;case 2:W.amount=X.string();break;case 3:W.decimals=X.int64();break;default:X.skipType(f&7);break}}return W},Z.decodeDelimited=function(X){if(!(X instanceof r))X=new r(X);return this.decode(X,X.uint32())},Z.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.asset!=null&&X.hasOwnProperty("asset")){let J=u.common.Asset.verify(X.asset);if(J)return"asset."+J}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!o.isString(X.amount))return"amount: string expected"}if(X.decimals!=null&&X.hasOwnProperty("decimals")){if(!o.isInteger(X.decimals)&&!(X.decimals&&o.isInteger(X.decimals.low)&&o.isInteger(X.decimals.high)))return"decimals: integer|Long expected"}return null},Z.fromObject=function(X){if(X instanceof u.common.Coin)return X;let J=new u.common.Coin;if(X.asset!=null){if(typeof X.asset!=="object")throw TypeError(".common.Coin.asset: object expected");J.asset=u.common.Asset.fromObject(X.asset)}if(X.amount!=null)J.amount=String(X.amount);if(X.decimals!=null){if(o.Long)(J.decimals=o.Long.fromValue(X.decimals)).unsigned=!1;else if(typeof X.decimals==="string")J.decimals=Number.parseInt(X.decimals,10);else if(typeof X.decimals==="number")J.decimals=X.decimals;else if(typeof X.decimals==="object")J.decimals=new o.LongBits(X.decimals.low>>>0,X.decimals.high>>>0).toNumber()}return J},Z.toObject=function(X,J){if(!J)J={};let Y={};if(J.defaults)if(Y.asset=null,Y.amount="",o.Long){let W=new o.Long(0,0,!1);Y.decimals=J.longs===String?W.toString():J.longs===Number?W.toNumber():W}else Y.decimals=J.longs===String?"0":0;if(X.asset!=null&&X.hasOwnProperty("asset"))Y.asset=u.common.Asset.toObject(X.asset,J);if(X.amount!=null&&X.hasOwnProperty("amount"))Y.amount=X.amount;if(X.decimals!=null&&X.hasOwnProperty("decimals"))if(typeof X.decimals==="number")Y.decimals=J.longs===String?String(X.decimals):X.decimals;else Y.decimals=J.longs===String?o.Long.prototype.toString.call(X.decimals):J.longs===Number?new o.LongBits(X.decimals.low>>>0,X.decimals.high>>>0).toNumber():X.decimals;return Y},Z.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},Z})(),y.PubKeySet=(()=>{function Z(Q){if(Q){for(let X=Object.keys(Q),J=0;J<X.length;++J)if(Q[X[J]]!=null)this[X[J]]=Q[X[J]]}}return Z.prototype.secp256k1="",Z.prototype.ed25519="",Z.create=function(X){return new Z(X)},Z.encode=function(X,J){if(!J)J=n0.create();if(X.secp256k1!=null&&Object.hasOwnProperty.call(X,"secp256k1"))J.uint32(10).string(X.secp256k1);if(X.ed25519!=null&&Object.hasOwnProperty.call(X,"ed25519"))J.uint32(18).string(X.ed25519);return J},Z.encodeDelimited=function(X,J){return this.encode(X,J).ldelim()},Z.decode=function(X,J){if(!(X instanceof r))X=r.create(X);let Y=J===void 0?X.len:X.pos+J,W=new u.common.PubKeySet;while(X.pos<Y){let f=X.uint32();switch(f>>>3){case 1:W.secp256k1=X.string();break;case 2:W.ed25519=X.string();break;default:X.skipType(f&7);break}}return W},Z.decodeDelimited=function(X){if(!(X instanceof r))X=new r(X);return this.decode(X,X.uint32())},Z.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.secp256k1!=null&&X.hasOwnProperty("secp256k1")){if(!o.isString(X.secp256k1))return"secp256k1: string expected"}if(X.ed25519!=null&&X.hasOwnProperty("ed25519")){if(!o.isString(X.ed25519))return"ed25519: string expected"}return null},Z.fromObject=function(X){if(X instanceof u.common.PubKeySet)return X;let J=new u.common.PubKeySet;if(X.secp256k1!=null)J.secp256k1=String(X.secp256k1);if(X.ed25519!=null)J.ed25519=String(X.ed25519);return J},Z.toObject=function(X,J){if(!J)J={};let Y={};if(J.defaults)Y.secp256k1="",Y.ed25519="";if(X.secp256k1!=null&&X.hasOwnProperty("secp256k1"))Y.secp256k1=X.secp256k1;if(X.ed25519!=null&&X.hasOwnProperty("ed25519"))Y.ed25519=X.ed25519;return Y},Z.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},Z})(),y.Tx=(()=>{function Z(Q){if(this.coins=[],this.gas=[],Q){for(let X=Object.keys(Q),J=0;J<X.length;++J)if(Q[X[J]]!=null)this[X[J]]=Q[X[J]]}}return Z.prototype.id="",Z.prototype.chain="",Z.prototype.fromAddress="",Z.prototype.toAddress="",Z.prototype.coins=o.emptyArray,Z.prototype.gas=o.emptyArray,Z.prototype.memo="",Z.create=function(X){return new Z(X)},Z.encode=function(X,J){if(!J)J=n0.create();if(X.id!=null&&Object.hasOwnProperty.call(X,"id"))J.uint32(10).string(X.id);if(X.chain!=null&&Object.hasOwnProperty.call(X,"chain"))J.uint32(18).string(X.chain);if(X.fromAddress!=null&&Object.hasOwnProperty.call(X,"fromAddress"))J.uint32(26).string(X.fromAddress);if(X.toAddress!=null&&Object.hasOwnProperty.call(X,"toAddress"))J.uint32(34).string(X.toAddress);if(X.coins?.length)for(let Y=0;Y<X.coins.length;++Y)u.common.Coin.encode(X.coins[Y],J.uint32(42).fork()).ldelim();if(X.gas?.length)for(let Y=0;Y<X.gas.length;++Y)u.common.Coin.encode(X.gas[Y],J.uint32(50).fork()).ldelim();if(X.memo!=null&&Object.hasOwnProperty.call(X,"memo"))J.uint32(58).string(X.memo);return J},Z.encodeDelimited=function(X,J){return this.encode(X,J).ldelim()},Z.decode=function(X,J){if(!(X instanceof r))X=r.create(X);let Y=J===void 0?X.len:X.pos+J,W=new u.common.Tx;while(X.pos<Y){let f=X.uint32();switch(f>>>3){case 1:W.id=X.string();break;case 2:W.chain=X.string();break;case 3:W.fromAddress=X.string();break;case 4:W.toAddress=X.string();break;case 5:if(!W.coins?.length)W.coins=[];W.coins.push(u.common.Coin.decode(X,X.uint32()));break;case 6:if(!W.gas?.length)W.gas=[];W.gas.push(u.common.Coin.decode(X,X.uint32()));break;case 7:W.memo=X.string();break;default:X.skipType(f&7);break}}return W},Z.decodeDelimited=function(X){if(!(X instanceof r))X=new r(X);return this.decode(X,X.uint32())},Z.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.id!=null&&X.hasOwnProperty("id")){if(!o.isString(X.id))return"id: string expected"}if(X.chain!=null&&X.hasOwnProperty("chain")){if(!o.isString(X.chain))return"chain: string expected"}if(X.fromAddress!=null&&X.hasOwnProperty("fromAddress")){if(!o.isString(X.fromAddress))return"fromAddress: string expected"}if(X.toAddress!=null&&X.hasOwnProperty("toAddress")){if(!o.isString(X.toAddress))return"toAddress: string expected"}if(X.coins!=null&&X.hasOwnProperty("coins")){if(!Array.isArray(X.coins))return"coins: array expected";for(let J=0;J<X.coins.length;++J){let Y=u.common.Coin.verify(X.coins[J]);if(Y)return"coins."+Y}}if(X.gas!=null&&X.hasOwnProperty("gas")){if(!Array.isArray(X.gas))return"gas: array expected";for(let J=0;J<X.gas.length;++J){let Y=u.common.Coin.verify(X.gas[J]);if(Y)return"gas."+Y}}if(X.memo!=null&&X.hasOwnProperty("memo")){if(!o.isString(X.memo))return"memo: string expected"}return null},Z.fromObject=function(X){if(X instanceof u.common.Tx)return X;let J=new u.common.Tx;if(X.id!=null)J.id=String(X.id);if(X.chain!=null)J.chain=String(X.chain);if(X.fromAddress!=null)J.fromAddress=String(X.fromAddress);if(X.toAddress!=null)J.toAddress=String(X.toAddress);if(X.coins){if(!Array.isArray(X.coins))throw TypeError(".common.Tx.coins: array expected");J.coins=[];for(let Y=0;Y<X.coins.length;++Y){if(typeof X.coins[Y]!=="object")throw TypeError(".common.Tx.coins: object expected");J.coins[Y]=u.common.Coin.fromObject(X.coins[Y])}}if(X.gas){if(!Array.isArray(X.gas))throw TypeError(".common.Tx.gas: array expected");J.gas=[];for(let Y=0;Y<X.gas.length;++Y){if(typeof X.gas[Y]!=="object")throw TypeError(".common.Tx.gas: object expected");J.gas[Y]=u.common.Coin.fromObject(X.gas[Y])}}if(X.memo!=null)J.memo=String(X.memo);return J},Z.toObject=function(X,J){if(!J)J={};let Y={};if(J.arrays||J.defaults)Y.coins=[],Y.gas=[];if(J.defaults)Y.id="",Y.chain="",Y.fromAddress="",Y.toAddress="",Y.memo="";if(X.id!=null&&X.hasOwnProperty("id"))Y.id=X.id;if(X.chain!=null&&X.hasOwnProperty("chain"))Y.chain=X.chain;if(X.fromAddress!=null&&X.hasOwnProperty("fromAddress"))Y.fromAddress=X.fromAddress;if(X.toAddress!=null&&X.hasOwnProperty("toAddress"))Y.toAddress=X.toAddress;if(X.coins?.length){Y.coins=[];for(let W=0;W<X.coins.length;++W)Y.coins[W]=u.common.Coin.toObject(X.coins[W],J)}if(X.gas?.length){Y.gas=[];for(let W=0;W<X.gas.length;++W)Y.gas[W]=u.common.Coin.toObject(X.gas[W],J)}if(X.memo!=null&&X.hasOwnProperty("memo"))Y.memo=X.memo;return Y},Z.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},Z})(),y.Fee=(()=>{function Z(Q){if(this.coins=[],Q){for(let X=Object.keys(Q),J=0;J<X.length;++J)if(Q[X[J]]!=null)this[X[J]]=Q[X[J]]}}return Z.prototype.coins=o.emptyArray,Z.prototype.poolDeduct="",Z.create=function(X){return new Z(X)},Z.encode=function(X,J){if(!J)J=n0.create();if(X.coins?.length)for(let Y=0;Y<X.coins.length;++Y)u.common.Coin.encode(X.coins[Y],J.uint32(10).fork()).ldelim();if(X.poolDeduct!=null&&Object.hasOwnProperty.call(X,"poolDeduct"))J.uint32(18).string(X.poolDeduct);return J},Z.encodeDelimited=function(X,J){return this.encode(X,J).ldelim()},Z.decode=function(X,J){if(!(X instanceof r))X=r.create(X);let Y=J===void 0?X.len:X.pos+J,W=new u.common.Fee;while(X.pos<Y){let f=X.uint32();switch(f>>>3){case 1:if(!W.coins?.length)W.coins=[];W.coins.push(u.common.Coin.decode(X,X.uint32()));break;case 2:W.poolDeduct=X.string();break;default:X.skipType(f&7);break}}return W},Z.decodeDelimited=function(X){if(!(X instanceof r))X=new r(X);return this.decode(X,X.uint32())},Z.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.coins!=null&&X.hasOwnProperty("coins")){if(!Array.isArray(X.coins))return"coins: array expected";for(let J=0;J<X.coins.length;++J){let Y=u.common.Coin.verify(X.coins[J]);if(Y)return"coins."+Y}}if(X.poolDeduct!=null&&X.hasOwnProperty("poolDeduct")){if(!o.isString(X.poolDeduct))return"poolDeduct: string expected"}return null},Z.fromObject=function(X){if(X instanceof u.common.Fee)return X;let J=new u.common.Fee;if(X.coins){if(!Array.isArray(X.coins))throw TypeError(".common.Fee.coins: array expected");J.coins=[];for(let Y=0;Y<X.coins.length;++Y){if(typeof X.coins[Y]!=="object")throw TypeError(".common.Fee.coins: object expected");J.coins[Y]=u.common.Coin.fromObject(X.coins[Y])}}if(X.poolDeduct!=null)J.poolDeduct=String(X.poolDeduct);return J},Z.toObject=function(X,J){if(!J)J={};let Y={};if(J.arrays||J.defaults)Y.coins=[];if(J.defaults)Y.poolDeduct="";if(X.coins?.length){Y.coins=[];for(let W=0;W<X.coins.length;++W)Y.coins[W]=u.common.Coin.toObject(X.coins[W],J)}if(X.poolDeduct!=null&&X.hasOwnProperty("poolDeduct"))Y.poolDeduct=X.poolDeduct;return Y},Z.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},Z})(),y.ProtoUint=(()=>{function Z(Q){if(Q){for(let X=Object.keys(Q),J=0;J<X.length;++J)if(Q[X[J]]!=null)this[X[J]]=Q[X[J]]}}return Z.prototype.value="",Z.create=function(X){return new Z(X)},Z.encode=function(X,J){if(!J)J=n0.create();if(X.value!=null&&Object.hasOwnProperty.call(X,"value"))J.uint32(10).string(X.value);return J},Z.encodeDelimited=function(X,J){return this.encode(X,J).ldelim()},Z.decode=function(X,J){if(!(X instanceof r))X=r.create(X);let Y=J===void 0?X.len:X.pos+J,W=new u.common.ProtoUint;while(X.pos<Y){let f=X.uint32();switch(f>>>3){case 1:W.value=X.string();break;default:X.skipType(f&7);break}}return W},Z.decodeDelimited=function(X){if(!(X instanceof r))X=new r(X);return this.decode(X,X.uint32())},Z.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.value!=null&&X.hasOwnProperty("value")){if(!o.isString(X.value))return"value: string expected"}return null},Z.fromObject=function(X){if(X instanceof u.common.ProtoUint)return X;let J=new u.common.ProtoUint;if(X.value!=null)J.value=String(X.value);return J},Z.toObject=function(X,J){if(!J)J={};let Y={};if(J.defaults)Y.value="";if(X.value!=null&&X.hasOwnProperty("value"))Y.value=X.value;return Y},Z.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},Z})(),y})();u.types=(()=>{let y={};return y.MsgDeposit=(()=>{function Z(Q){if(this.coins=[],Q){for(let X=Object.keys(Q),J=0;J<X.length;++J)if(Q[X[J]]!=null)this[X[J]]=Q[X[J]]}}return Z.prototype.coins=o.emptyArray,Z.prototype.memo="",Z.prototype.signer=o.newBuffer([]),Z.create=function(X){return new Z(X)},Z.encode=function(X,J){if(!J)J=n0.create();if(X.coins?.length)for(let Y=0;Y<X.coins.length;++Y)u.common.Coin.encode(X.coins[Y],J.uint32(10).fork()).ldelim();if(X.memo!=null&&Object.hasOwnProperty.call(X,"memo"))J.uint32(18).string(X.memo);if(X.signer!=null&&Object.hasOwnProperty.call(X,"signer"))J.uint32(26).bytes(X.signer);return J},Z.encodeDelimited=function(X,J){return this.encode(X,J).ldelim()},Z.decode=function(X,J){if(!(X instanceof r))X=r.create(X);let Y=J===void 0?X.len:X.pos+J,W=new u.types.MsgDeposit;while(X.pos<Y){let f=X.uint32();switch(f>>>3){case 1:if(!W.coins?.length)W.coins=[];W.coins.push(u.common.Coin.decode(X,X.uint32()));break;case 2:W.memo=X.string();break;case 3:W.signer=X.bytes();break;default:X.skipType(f&7);break}}return W},Z.decodeDelimited=function(X){if(!(X instanceof r))X=new r(X);return this.decode(X,X.uint32())},Z.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.coins!=null&&X.hasOwnProperty("coins")){if(!Array.isArray(X.coins))return"coins: array expected";for(let J=0;J<X.coins.length;++J){let Y=u.common.Coin.verify(X.coins[J]);if(Y)return"coins."+Y}}if(X.memo!=null&&X.hasOwnProperty("memo")){if(!o.isString(X.memo))return"memo: string expected"}if(X.signer!=null&&X.hasOwnProperty("signer")){if(!(X.signer&&typeof X.signer.length==="number"||o.isString(X.signer)))return"signer: buffer expected"}return null},Z.fromObject=function(X){if(X instanceof u.types.MsgDeposit)return X;let J=new u.types.MsgDeposit;if(X.coins){if(!Array.isArray(X.coins))throw TypeError(".types.MsgDeposit.coins: array expected");J.coins=[];for(let Y=0;Y<X.coins.length;++Y){if(typeof X.coins[Y]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");J.coins[Y]=u.common.Coin.fromObject(X.coins[Y])}}if(X.memo!=null)J.memo=String(X.memo);if(X.signer!=null){if(typeof X.signer==="string")o.base64.decode(X.signer,J.signer=o.newBuffer(o.base64.length(X.signer)),0);else if(X.signer.length)J.signer=X.signer}return J},Z.toObject=function(X,J){if(!J)J={};let Y={};if(J.arrays||J.defaults)Y.coins=[];if(J.defaults){if(Y.memo="",J.bytes===String)Y.signer="";else if(Y.signer=[],J.bytes!==Array)Y.signer=o.newBuffer(Y.signer)}if(X.coins?.length){Y.coins=[];for(let W=0;W<X.coins.length;++W)Y.coins[W]=u.common.Coin.toObject(X.coins[W],J)}if(X.memo!=null&&X.hasOwnProperty("memo"))Y.memo=X.memo;if(X.signer!=null&&X.hasOwnProperty("signer"))Y.signer=J.bytes===String?o.base64.encode(X.signer,0,X.signer.length):J.bytes===Array?Array.prototype.slice.call(X.signer):X.signer;return Y},Z.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},Z})(),y.MsgSend=(()=>{function Z(Q){if(this.amount=[],Q){for(let X=Object.keys(Q),J=0;J<X.length;++J)if(Q[X[J]]!=null)this[X[J]]=Q[X[J]]}}return Z.prototype.fromAddress=o.newBuffer([]),Z.prototype.toAddress=o.newBuffer([]),Z.prototype.amount=o.emptyArray,Z.create=function(X){return new Z(X)},Z.encode=function(X,J){if(!J)J=n0.create();if(X.fromAddress!=null&&Object.hasOwnProperty.call(X,"fromAddress"))J.uint32(10).bytes(X.fromAddress);if(X.toAddress!=null&&Object.hasOwnProperty.call(X,"toAddress"))J.uint32(18).bytes(X.toAddress);if(X.amount?.length)for(let Y=0;Y<X.amount.length;++Y)u.cosmos.base.v1beta1.Coin.encode(X.amount[Y],J.uint32(26).fork()).ldelim();return J},Z.encodeDelimited=function(X,J){return this.encode(X,J).ldelim()},Z.decode=function(X,J){if(!(X instanceof r))X=r.create(X);let Y=J===void 0?X.len:X.pos+J,W=new u.types.MsgSend;while(X.pos<Y){let f=X.uint32();switch(f>>>3){case 1:W.fromAddress=X.bytes();break;case 2:W.toAddress=X.bytes();break;case 3:if(!W.amount?.length)W.amount=[];W.amount.push(u.cosmos.base.v1beta1.Coin.decode(X,X.uint32()));break;default:X.skipType(f&7);break}}return W},Z.decodeDelimited=function(X){if(!(X instanceof r))X=new r(X);return this.decode(X,X.uint32())},Z.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.fromAddress!=null&&X.hasOwnProperty("fromAddress")){if(!(X.fromAddress&&typeof X.fromAddress.length==="number"||o.isString(X.fromAddress)))return"fromAddress: buffer expected"}if(X.toAddress!=null&&X.hasOwnProperty("toAddress")){if(!(X.toAddress&&typeof X.toAddress.length==="number"||o.isString(X.toAddress)))return"toAddress: buffer expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!Array.isArray(X.amount))return"amount: array expected";for(let J=0;J<X.amount.length;++J){let Y=u.cosmos.base.v1beta1.Coin.verify(X.amount[J]);if(Y)return"amount."+Y}}return null},Z.fromObject=function(X){if(X instanceof u.types.MsgSend)return X;let J=new u.types.MsgSend;if(X.fromAddress!=null){if(typeof X.fromAddress==="string")o.base64.decode(X.fromAddress,J.fromAddress=o.newBuffer(o.base64.length(X.fromAddress)),0);else if(X.fromAddress.length)J.fromAddress=X.fromAddress}if(X.toAddress!=null){if(typeof X.toAddress==="string")o.base64.decode(X.toAddress,J.toAddress=o.newBuffer(o.base64.length(X.toAddress)),0);else if(X.toAddress.length)J.toAddress=X.toAddress}if(X.amount){if(!Array.isArray(X.amount))throw TypeError(".types.MsgSend.amount: array expected");J.amount=[];for(let Y=0;Y<X.amount.length;++Y){if(typeof X.amount[Y]!=="object")throw TypeError(".types.MsgSend.amount: object expected");J.amount[Y]=u.cosmos.base.v1beta1.Coin.fromObject(X.amount[Y])}}return J},Z.toObject=function(X,J){if(!J)J={};let Y={};if(J.arrays||J.defaults)Y.amount=[];if(J.defaults){if(J.bytes===String)Y.fromAddress="";else if(Y.fromAddress=[],J.bytes!==Array)Y.fromAddress=o.newBuffer(Y.fromAddress);if(J.bytes===String)Y.toAddress="";else if(Y.toAddress=[],J.bytes!==Array)Y.toAddress=o.newBuffer(Y.toAddress)}if(X.fromAddress!=null&&X.hasOwnProperty("fromAddress"))Y.fromAddress=J.bytes===String?o.base64.encode(X.fromAddress,0,X.fromAddress.length):J.bytes===Array?Array.prototype.slice.call(X.fromAddress):X.fromAddress;if(X.toAddress!=null&&X.hasOwnProperty("toAddress"))Y.toAddress=J.bytes===String?o.base64.encode(X.toAddress,0,X.toAddress.length):J.bytes===Array?Array.prototype.slice.call(X.toAddress):X.toAddress;if(X.amount?.length){Y.amount=[];for(let W=0;W<X.amount.length;++W)Y.amount[W]=u.cosmos.base.v1beta1.Coin.toObject(X.amount[W],J)}return Y},Z.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},Z})(),y})();u.cosmos=(()=>{let y={};return y.base=(()=>{let Z={};return Z.v1beta1=(()=>{let Q={};return Q.Coin=(()=>{function X(J){if(J){for(let Y=Object.keys(J),W=0;W<Y.length;++W)if(J[Y[W]]!=null)this[Y[W]]=J[Y[W]]}}return X.prototype.denom="",X.prototype.amount="",X.create=function(Y){return new X(Y)},X.encode=function(Y,W){if(!W)W=n0.create();if(Y.denom!=null&&Object.hasOwnProperty.call(Y,"denom"))W.uint32(10).string(Y.denom);if(Y.amount!=null&&Object.hasOwnProperty.call(Y,"amount"))W.uint32(18).string(Y.amount);return W},X.encodeDelimited=function(Y,W){return this.encode(Y,W).ldelim()},X.decode=function(Y,W){if(!(Y instanceof r))Y=r.create(Y);let f=W===void 0?Y.len:Y.pos+W,T=new u.cosmos.base.v1beta1.Coin;while(Y.pos<f){let G=Y.uint32();switch(G>>>3){case 1:T.denom=Y.string();break;case 2:T.amount=Y.string();break;default:Y.skipType(G&7);break}}return T},X.decodeDelimited=function(Y){if(!(Y instanceof r))Y=new r(Y);return this.decode(Y,Y.uint32())},X.verify=function(Y){if(typeof Y!=="object"||Y===null)return"object expected";if(Y.denom!=null&&Y.hasOwnProperty("denom")){if(!o.isString(Y.denom))return"denom: string expected"}if(Y.amount!=null&&Y.hasOwnProperty("amount")){if(!o.isString(Y.amount))return"amount: string expected"}return null},X.fromObject=function(Y){if(Y instanceof u.cosmos.base.v1beta1.Coin)return Y;let W=new u.cosmos.base.v1beta1.Coin;if(Y.denom!=null)W.denom=String(Y.denom);if(Y.amount!=null)W.amount=String(Y.amount);return W},X.toObject=function(Y,W){if(!W)W={};let f={};if(W.defaults)f.denom="",f.amount="";if(Y.denom!=null&&Y.hasOwnProperty("denom"))f.denom=Y.denom;if(Y.amount!=null&&Y.hasOwnProperty("amount"))f.amount=Y.amount;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},X})(),Q.DecCoin=(()=>{function X(J){if(J){for(let Y=Object.keys(J),W=0;W<Y.length;++W)if(J[Y[W]]!=null)this[Y[W]]=J[Y[W]]}}return X.prototype.denom="",X.prototype.amount="",X.create=function(Y){return new X(Y)},X.encode=function(Y,W){if(!W)W=n0.create();if(Y.denom!=null&&Object.hasOwnProperty.call(Y,"denom"))W.uint32(10).string(Y.denom);if(Y.amount!=null&&Object.hasOwnProperty.call(Y,"amount"))W.uint32(18).string(Y.amount);return W},X.encodeDelimited=function(Y,W){return this.encode(Y,W).ldelim()},X.decode=function(Y,W){if(!(Y instanceof r))Y=r.create(Y);let f=W===void 0?Y.len:Y.pos+W,T=new u.cosmos.base.v1beta1.DecCoin;while(Y.pos<f){let G=Y.uint32();switch(G>>>3){case 1:T.denom=Y.string();break;case 2:T.amount=Y.string();break;default:Y.skipType(G&7);break}}return T},X.decodeDelimited=function(Y){if(!(Y instanceof r))Y=new r(Y);return this.decode(Y,Y.uint32())},X.verify=function(Y){if(typeof Y!=="object"||Y===null)return"object expected";if(Y.denom!=null&&Y.hasOwnProperty("denom")){if(!o.isString(Y.denom))return"denom: string expected"}if(Y.amount!=null&&Y.hasOwnProperty("amount")){if(!o.isString(Y.amount))return"amount: string expected"}return null},X.fromObject=function(Y){if(Y instanceof u.cosmos.base.v1beta1.DecCoin)return Y;let W=new u.cosmos.base.v1beta1.DecCoin;if(Y.denom!=null)W.denom=String(Y.denom);if(Y.amount!=null)W.amount=String(Y.amount);return W},X.toObject=function(Y,W){if(!W)W={};let f={};if(W.defaults)f.denom="",f.amount="";if(Y.denom!=null&&Y.hasOwnProperty("denom"))f.denom=Y.denom;if(Y.amount!=null&&Y.hasOwnProperty("amount"))f.amount=Y.amount;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},X})(),Q.IntProto=(()=>{function X(J){if(J){for(let Y=Object.keys(J),W=0;W<Y.length;++W)if(J[Y[W]]!=null)this[Y[W]]=J[Y[W]]}}return X.prototype.int="",X.create=function(Y){return new X(Y)},X.encode=function(Y,W){if(!W)W=n0.create();if(Y.int!=null&&Object.hasOwnProperty.call(Y,"int"))W.uint32(10).string(Y.int);return W},X.encodeDelimited=function(Y,W){return this.encode(Y,W).ldelim()},X.decode=function(Y,W){if(!(Y instanceof r))Y=r.create(Y);let f=W===void 0?Y.len:Y.pos+W,T=new u.cosmos.base.v1beta1.IntProto;while(Y.pos<f){let G=Y.uint32();switch(G>>>3){case 1:T.int=Y.string();break;default:Y.skipType(G&7);break}}return T},X.decodeDelimited=function(Y){if(!(Y instanceof r))Y=new r(Y);return this.decode(Y,Y.uint32())},X.verify=function(Y){if(typeof Y!=="object"||Y===null)return"object expected";if(Y.int!=null&&Y.hasOwnProperty("int")){if(!o.isString(Y.int))return"int: string expected"}return null},X.fromObject=function(Y){if(Y instanceof u.cosmos.base.v1beta1.IntProto)return Y;let W=new u.cosmos.base.v1beta1.IntProto;if(Y.int!=null)W.int=String(Y.int);return W},X.toObject=function(Y,W){if(!W)W={};let f={};if(W.defaults)f.int="";if(Y.int!=null&&Y.hasOwnProperty("int"))f.int=Y.int;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},X})(),Q.DecProto=(()=>{function X(J){if(J){for(let Y=Object.keys(J),W=0;W<Y.length;++W)if(J[Y[W]]!=null)this[Y[W]]=J[Y[W]]}}return X.prototype.dec="",X.create=function(Y){return new X(Y)},X.encode=function(Y,W){if(!W)W=n0.create();if(Y.dec!=null&&Object.hasOwnProperty.call(Y,"dec"))W.uint32(10).string(Y.dec);return W},X.encodeDelimited=function(Y,W){return this.encode(Y,W).ldelim()},X.decode=function(Y,W){if(!(Y instanceof r))Y=r.create(Y);let f=W===void 0?Y.len:Y.pos+W,T=new u.cosmos.base.v1beta1.DecProto;while(Y.pos<f){let G=Y.uint32();switch(G>>>3){case 1:T.dec=Y.string();break;default:Y.skipType(G&7);break}}return T},X.decodeDelimited=function(Y){if(!(Y instanceof r))Y=new r(Y);return this.decode(Y,Y.uint32())},X.verify=function(Y){if(typeof Y!=="object"||Y===null)return"object expected";if(Y.dec!=null&&Y.hasOwnProperty("dec")){if(!o.isString(Y.dec))return"dec: string expected"}return null},X.fromObject=function(Y){if(Y instanceof u.cosmos.base.v1beta1.DecProto)return Y;let W=new u.cosmos.base.v1beta1.DecProto;if(Y.dec!=null)W.dec=String(Y.dec);return W},X.toObject=function(Y,W){if(!W)W={};let f={};if(W.defaults)f.dec="";if(Y.dec!=null&&Y.hasOwnProperty("dec"))f.dec=Y.dec;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,V0.default.util.toJSONOptions)},X})(),Q})(),Z})(),y})()});async function h1(){let{$root:y}=await Promise.resolve().then(() => (D9(),B9)),Z=await import("@cosmjs/proto-signing"),Q=await import("@cosmjs/stargate"),X=Z.Registry??Z.default?.Registry,J=Q.defaultRegistryTypes??Q.default?.defaultRegistryTypes;return new X([...J,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function N1(y,Z=y===S2.Chain.THORChain?"thor":"maya"){let Q=await import("@cosmjs/stargate"),X=Q.AminoTypes??Q.default?.AminoTypes,J=y===S2.Chain.THORChain?"thorchain":"mayachain";return new X({"/types.MsgDeposit":{aminoType:`${J}/MsgDeposit`,fromAmino:({signer:Y,...W})=>({...W,signer:b5(Y)}),toAmino:({signer:Y,...W})=>({...W,signer:h5(Y,Z)})},"/types.MsgSend":{aminoType:`${J}/MsgSend`,fromAmino:({from_address:Y,to_address:W,...f})=>({...f,fromAddress:b5(Y),toAddress:b5(W)}),toAmino:({fromAddress:Y,toAddress:W,...f})=>({...f,from_address:h5(Y,Z),to_address:h5(W,Z)})}})}var S2;var v2=l(()=>{K2();S2=require("@swapkit/helpers")});async function l2(y){let{assetValue:Z,recipient:Q,memo:X,sender:J,asSignable:Y,asAminoMessage:W}=y,f=y.sweep?await ey({assetValue:Z,sender:J}):Z;if(Q)return F9({asAminoMessage:W,asSignable:Y,assetValue:f,memo:X,recipient:Q,sender:J});return R9({asAminoMessage:W,asSignable:Y,assetValue:f,memo:X,sender:J})}async function ey({assetValue:y,sender:Z}){let Q=y.chain,X=await S0.getRPCUrl(Q),Y=await(await Y1(X)).getAllBalances(Z),W=y.isGasAsset?(await l5(Q)).getBaseValue("bigint"):0n;return J5({assetValue:y,balances:Y,denom:T1(y.symbol,!0),feeAmount:W})}async function F9({sender:y,recipient:Z,assetValue:Q,memo:X="",asSignable:J=!0,asAminoMessage:Y=!1,sequence:W,accountNumber:f}){let T=Q.chain,G=await S0.getRPCUrl(T),z=await C9({rpcUrl:G,sender:y}),{chainId:B}=S0.getChainConfig(T),$=b2({assetValue:Q,recipient:Z,sender:y}),M=J?await O1(Y?$:_1($),T):$;return{accountNumber:f||Number(z.accountNumber),chainId:B,fee:r0(T),memo:X,msgs:[M],sequence:W||z.sequence}}async function R9({sender:y,assetValue:Z,memo:Q="",asSignable:X=!0,asAminoMessage:J=!1,sequence:Y,accountNumber:W}){let f=Z.chain,T=await S0.getRPCUrl(f),G=await C9({rpcUrl:T,sender:y}),{chainId:z}=S0.getChainConfig(f),B=h2({assetValue:Z,memo:Q,sender:y}),$=X?await O1(J?B:_1(B),f):B;return{accountNumber:W||Number(G.accountNumber),chainId:z,fee:r0(f),memo:Q,msgs:[$],sequence:Y||G.sequence}}function _1(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((Z)=>{let Q=S0.AssetValue.from({asset:Z.asset}),X=(Q.isSynthetic?Q.symbol.split("/")?.[1]:Q.symbol)?.toUpperCase(),J=(Q.isSynthetic?Q.symbol.split("/")?.[0]:Q.chain)?.toUpperCase();return{...Z,asset:{chain:J,symbol:X,synth:Q.isSynthetic,ticker:Q.ticker}}})}}}async function p5({chain:y,memo:Z,msgs:Q}){let X=await h1(),J=await N1(y),Y={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:Z,messages:Q.map((W)=>J.fromAmino(W))}};return X.encode(Y)}var S0,iQ,tQ,b2=({sender:y,recipient:Z,assetValue:Q})=>{return{type:`${Q.chain===S0.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:Q.getBaseValue("string"),denom:T1(Q.symbol,!0)}],from_address:y,to_address:Z}}},h2=({sender:y,assetValue:Z,memo:Q=""})=>{return{type:`${Z.chain===S0.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:Z.getBaseValue("string"),asset:u5(Z)}],memo:Q,signer:y}}},sy=({sender:y,recipient:Z,assetValue:Q,memo:X})=>{return!Z?h2({assetValue:Q,memo:X,sender:y}):b2({assetValue:Q,recipient:Z,sender:y})},O1=async(y,Z)=>{return(await N1(Z)).fromAmino(y)},C9=async({rpcUrl:y,sender:Z})=>{let X=await(await Y1(y)).getAccount(Z);if(!X)throw new S0.SwapKitError("toolbox_cosmos_account_not_found",{sender:Z});return X};var I9=l(()=>{m5();v2();S0=require("@swapkit/helpers"),iQ=r0(S0.Chain.THORChain).gas,tQ=r0(S0.Chain.Maya).gas});var j9=()=>{};var x9=l(()=>{j9()});var u2=l(()=>{K2();I9();v2();x9()});async function c2(y,Z){try{let X=(await g2.SwapKitApi.getGasRate()).find((J)=>J.chainId===y)?.value;return X?Number.parseFloat(X):Z}catch{return Z}}async function p2({phrase:y,prefix:Z,...Q}){let X=await import("@cosmjs/proto-signing"),J=await import("@cosmjs/crypto"),Y=X.DirectSecp256k1HdWallet??X.default?.DirectSecp256k1HdWallet,W=J.stringToPath??J.default?.stringToPath,f="derivationPath"in Q?Q.derivationPath:`${c.DerivationPath[Q.chain]}/${Q.index}`;return await Y.fromMnemonic(y,{hdPaths:[W(f)],prefix:Z})}async function rQ({privateKey:y,prefix:Z}){let Q=await import("@cosmjs/proto-signing");return(Q.DirectSecp256k1Wallet??Q.default?.DirectSecp256k1Wallet).fromKey(y,Z)}function V9(y){return async function({signature:Q,message:X,address:J}){let Y=await y(J);if(!Y?.pubkey)throw new c.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let W=await import("@cosmjs/crypto"),f=W.Secp256k1Signature??W.default?.Secp256k1Signature,T=W.Secp256k1??W.default?.Secp256k1,G=f.fromFixedLength(k1.base64.decode(Q));return T.verifySignature(G,k1.base64.decode(X),Y.pubkey.value)}}function c5({chain:y,...Z}){let Q=c.CosmosChainPrefixes[y],X="index"in Z?Z.index||0:0,J=c.derivationPathToString("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:X})),Y;async function W(){if(Y)return Y;return Y=await g5.match(Z).with({phrase:g5.P.string},({phrase:M})=>p2({derivationPath:J,phrase:M,prefix:Q})).with({signer:g5.P.any},({signer:M})=>M).otherwise(()=>{return}),Y}async function f(M){let O=await c.getRPCUrl(y);return(await Y1(O)).getAccount(M)}async function T(){let M=await W(),[O]=await M?.getAccounts()||[];return O?.address}async function G(){let M=await W(),[O]=await M?.getAccounts()||[];if(!O?.pubkey)throw new c.SwapKitError("toolbox_cosmos_signer_not_defined");return k1.base64.encode(O?.pubkey)}async function z(M){let O=await W(),N=await T(),C=await c.getRPCUrl(y);if(!(O&&N))throw new c.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await b1(C,O)).sign(N,M.msgs,M.fee,M.memo,{accountNumber:BigInt(M.accountNumber),chainId:M.chainId,sequence:M.sequence})}async function B(M){let O=await W(),N=await T(),C=await c.getRPCUrl(y);if(!(O&&N))throw new c.SwapKitError("toolbox_cosmos_signer_not_defined");let x=await(await b1(C,O)).signAndBroadcast(N,M.msgs,M.fee,M.memo);if(x.code!==0)throw new c.SwapKitError("core_swap_transaction_error",{code:x.code,message:x.rawLog});return x.transactionHash}async function $({recipient:M,assetValue:O,memo:N="",feeRate:C,feeOptionKey:R=c.FeeOption.Fast,sweep:x}){let S=await W(),P=await T();if(!(S&&P))throw new c.SwapKitError("toolbox_cosmos_signer_not_defined");let K=await c.getRPCUrl(y),_=c.AssetValue.from({chain:y}),D=u5(_),L=eQ(C||(await K9(y,P9[y]))[R],D,y),U=await b1(K,S),q=T1(O.symbol),k=[{amount:(x?J5({assetValue:O,balances:await m2(y)(P),denom:q,feeAmount:ay(L.amount,q)}):O).getBaseValue("string"),denom:q}],{transactionHash:F}=await U.sendTokens(P,M,k,L,N);return F}return{createPrivateKeyFromPhrase:XJ(J),createTransaction:w2,fetchFeeRateFromSwapKit:c2,getAccount:f,getAddress:T,getBalance:async(M,O)=>{let N=await m2(y)(M),C=await Promise.all(N.filter(({denom:R})=>R&&!R.includes("IBC/")&&!([c.Chain.THORChain,c.Chain.Maya].includes(y)&&R.split("-").length>2)).map(({denom:R,amount:x})=>{let S=[c.Chain.THORChain,c.Chain.Maya].includes(y)&&(R.includes("/")||R.includes("˜"))?`${y}.${R}`:R;return A2(S,x)}));if(C.length===0)return[c.AssetValue.from({chain:y})];return C},getBalanceAsDenoms:m2(y),getFees:()=>K9(y,P9[y]),getPubKey:G,getSignerFromPhrase:({phrase:M,derivationPath:O})=>p2({derivationPath:c.derivationPathToString(O),index:X,phrase:M,prefix:Q}),getSignerFromPrivateKey:async(M)=>{let O=await import("@cosmjs/proto-signing");return(O.DirectSecp256k1Wallet??O.default?.DirectSecp256k1Wallet).fromKey(M,Q)},signAndBroadcastTransaction:B,signTransaction:z,transfer:$,validateAddress:E9(y),verifySignature:V9(f)}}async function aQ(y,Z){try{let X=(await g2.SwapKitApi.getGasRate()).find((J)=>J.chainId===y)?.value;return X?Number.parseFloat(X):Z}catch{return Z}}function sQ({assetValue:{chain:y}}){return c.AssetValue.from({chain:y,value:yJ(y)})}async function K9(y,Z){let{chainId:Q,baseDecimal:X}=c.getChainConfig(y),J=await c2(Q,Z);return{average:c.SwapKitNumber.fromBigInt(BigInt(J),X),fast:c.SwapKitNumber.fromBigInt(BigInt(c.applyFeeMultiplier(J,c.FeeOption.Fast,!0)),X),fastest:c.SwapKitNumber.fromBigInt(BigInt(c.applyFeeMultiplier(J,c.FeeOption.Fastest,!0)),X)}}function eQ(y,Z,Q){return{amount:[{amount:typeof y==="number"?y.toString():y.getBaseValue("string"),denom:Z}],gas:r0(Q).gas}}function yJ(y){return{[c.Chain.Cosmos]:0.007,[c.Chain.Kujira]:0.02,[c.Chain.Noble]:0.01,[c.Chain.THORChain]:0.02,[c.Chain.Maya]:0.02,[c.Chain.Harbor]:0.02}[y]||0}function E9(y){let Z=c.CosmosChainPrefixes[y];return function(X){if(!X.startsWith(Z))return!1;try{let{prefix:J,words:Y}=k1.bech32.decode(X);return k1.bech32.encode(J,Y)===X.toLocaleLowerCase()}catch{return!1}}}function m2(y){return async function(Q){let X=await c.getRPCUrl(y);return(await(await Y1(X)).getAllBalances(Q)).map((f)=>({...f,denom:f.denom.includes("/")?f.denom.toUpperCase():f.denom}))}}function XJ(y){return async function(Q){let X=await import("@cosmjs/crypto"),J=X.stringToPath??X.default?.stringToPath,Y=X.Slip10Curve??X.default?.Slip10Curve,W=X.Slip10??X.default?.Slip10,f=X.EnglishMnemonic??X.default?.EnglishMnemonic,T=X.Bip39??X.default?.Bip39,G=new f(Q),z=await T.mnemonicToSeed(G),{privkey:B}=W.derivePath(Y.Secp256k1,z,J(y));return B}}var k1,c,g2,g5,P9;var y8=l(()=>{m5();k1=require("@scure/base"),c=require("@swapkit/helpers"),g2=require("@swapkit/helpers/api"),g5=require("ts-pattern");P9={[c.Chain.Cosmos]:1000,[c.Chain.Kujira]:1000,[c.Chain.Noble]:1000,[c.Chain.THORChain]:5000000,[c.Chain.Maya]:5000000,[c.Chain.Harbor]:5000000}});function ZJ({prefix:y,derivationPath:Z}){return async function(X,J=0){let Y=await import("@cosmjs/amino"),W=Y.Secp256k1HdWallet??Y.default?.Secp256k1HdWallet,f=await import("@cosmjs/crypto"),T=f.stringToPath??f.default?.stringToPath;return W.fromMnemonic(X,{hdPaths:[T(`${Z}/${J}`)],prefix:y})}}function QJ(y){return B1.base64.encode(y)}function JJ(y,Z){return async function({wallet:X,tx:J}){let{msgs:Y,accountNumber:W,sequence:f,chainId:T,fee:G,memo:z}=typeof J==="string"?JSON.parse(J):J,B=(await X.getAccounts())?.[0]?.address||"",$=await N1(y,Z),M=await h1(),O=await E2(X,{aminoTypes:$,registry:M}),N=[];for(let x of Y){let S=await O1(x,y);N.push(S)}let{signatures:[C]}=await O.sign(B,N,G,z,{accountNumber:BigInt(W),chainId:T,sequence:f});return{bodyBytes:await p5({chain:y,memo:z,msgs:Y.map(_1)}),signature:QJ(C)}}}function YJ({prefix:y,chain:Z}){return async function(X,J,Y,W,f){let T=await F0.getRPCUrl(Z),{encodeSecp256k1Pubkey:G,pubkeyToAddress:z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:$,fee:M}=JSON.parse(X),O=await w9(Y,W),N=J.map((x)=>[z(G(B1.base64.decode(x.pubKey)),y),B1.base64.decode(x.signature)]),C=await Y1(T),{transactionHash:R}=await C.broadcastTx(B(O,$,M,f,new Map(N)));return R}}async function w9(y,Z,Q=!0){let{createMultisigThresholdPubkey:X,encodeSecp256k1Pubkey:J}=(await import("@cosmjs/amino")).default;return X(y.map((Y)=>J(B1.base64.decode(Y))),Z,Q)}function WJ(y){return B1.base64.decode(y)}async function fJ({privateKey:y,message:Z}){let{Secp256k1:Q}=(await import("@cosmjs/crypto")).default,X=await Q.createSignature(B1.base64.decode(Z),y);return B1.base64.encode(Buffer.concat([X.r(32),X.s(32)]))}function o2({chain:y,...Z}){let{isStagenet:Q}=F0.SKConfig.get("envs"),X=`${Q?"s":""}${F0.CosmosChainPrefixes[y]}`,J="index"in Z?Z.index||0:0,Y="derivationPath"in Z&&Z.derivationPath?Z.derivationPath:F0.updateDerivationPath(F0.NetworkDerivationPath[y],{index:J}),W=c5({chain:y,...Z}),f=r0(y),T;function G(){return T??=o5.match(Z).with({phrase:o5.P.string},({phrase:N})=>W.getSignerFromPhrase({derivationPath:Y,phrase:N})).with({signer:o5.P.any},({signer:N})=>Promise.resolve(N)).otherwise(()=>Promise.resolve(void 0)),T}async function z(){let N=await F0.getRPCUrl(y),C=await G();if(!C)throw new F0.SwapKitError("toolbox_cosmos_no_signer");let R=await h1(),x=await N1(y,X),S=await b1(N,C,{aminoTypes:x,registry:R});return{signer:C,signingClient:S}}async function B({fee:N,memo:C,msgs:R}){let{signer:x,signingClient:S}=await z(),P=(await x.getAccounts())?.[0]?.address;if(!P)throw new F0.SwapKitError("toolbox_cosmos_signer_not_defined");let K=await S.signAndBroadcast(P,R,N,C);if(K.code!==0)throw new F0.SwapKitError("core_swap_transaction_error",{code:K.code,message:K.rawLog});return K.transactionHash}async function $(){let N=await l5(y);return{[F0.FeeOption.Average]:N,[F0.FeeOption.Fast]:N,[F0.FeeOption.Fastest]:N}}async function M({assetValue:N,memo:C="",recipient:R,sweep:x}){let{TxRaw:S}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:P,signingClient:K}=await z(),_=(await P.getAccounts())?.[0]?.address;if(!_)throw new F0.SwapKitError("toolbox_cosmos_no_signer");let D="signAmino"in P,L=x?await ey({assetValue:N,sender:_}):N,U=sy({assetValue:L,memo:C,recipient:R,sender:_});if(D){let k=await O1(U,y),{signatures:F,authInfoBytes:I}=await K.sign(_,[k],f,C),w=S.encode({authInfoBytes:I,bodyBytes:await p5({chain:y,memo:C,msgs:[U].map(_1)}),signatures:F}).finish();return(await K.broadcastTx(w)).transactionHash}let q=_1(U),H=await O1(q,y);return B({fee:f,memo:C,msgs:[H]})}async function O(N){let{signer:C,signingClient:R}=await z(),x=(await C.getAccounts())?.[0]?.address;if(!x)throw new F0.SwapKitError("toolbox_cosmos_signer_not_defined");return R.sign(x,N.msgs,N.fee,N.memo,{accountNumber:BigInt(N.accountNumber),chainId:N.chainId,sequence:N.sequence})}return{...W,broadcastMultisigTx:YJ({chain:y,prefix:X}),buildAminoMsg:sy,buildEncodedTxBody:p5,convertToSignable:O1,createDefaultAminoTypes:()=>N1(y,X),createDefaultRegistry:h1,createMultisig:w9,createTransaction:l2,deposit:M,getFees:$,importSignature:WJ,parseAminoMessageForDirectSigning:_1,pubkeyToAddress:async(N)=>{let{pubkeyToAddress:C}=(await import("@cosmjs/amino")).default;return C(N,X)},secp256k1HdWalletFromMnemonic:ZJ({derivationPath:F0.derivationPathToString(Y),prefix:X}),signAndBroadcastTransaction:B,signMultisigTx:JJ(y,X),signTransaction:O,signWithPrivateKey:fJ,transfer:M}}var B1,F0,o5;var n2=l(()=>{u2();m5();y8();B1=require("@scure/base"),F0=require("@swapkit/helpers"),o5=require("ts-pattern")});var D1,qJ=(y,Z)=>{switch(y){case D1.Chain.Cosmos:case D1.Chain.Kujira:case D1.Chain.Noble:return c5({chain:y,...Z});case D1.Chain.Maya:case D1.Chain.THORChain:return o2({chain:y,...Z});default:throw new D1.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var A9=l(()=>{y8();n2();D1=require("@swapkit/helpers");y8();n2()});var X8={};x0(X8,{verifySignature:()=>V9,transferMsgAmino:()=>b2,toBase64:()=>cQ,resolveThorchainSweepAssetValue:()=>ey,parseAminoMessageForDirectSigning:()=>_1,getThorchainNativeFee:()=>l5,getSweepAssetValue:()=>J5,getSignerFromPrivateKey:()=>rQ,getSignerFromPhrase:()=>p2,getMsgSendDenom:()=>T1,getFeeRateFromSwapKit:()=>aQ,getFeeAmountForDenom:()=>ay,getDenomWithChain:()=>u5,getDefaultChainFee:()=>r0,getCosmosToolbox:()=>qJ,getCosmosAddressValidator:()=>E9,getAssetFromDenom:()=>A2,fromBase64:()=>oQ,fetchFeeRateFromSwapKit:()=>c2,estimateTransactionFee:()=>sQ,depositMsgAmino:()=>h2,createTransaction:()=>l2,createThorchainToolbox:()=>o2,createStargateClient:()=>Y1,createSigningStargateClient:()=>b1,createOfflineStargateClient:()=>E2,createDefaultRegistry:()=>h1,createDefaultAminoTypes:()=>N1,createCosmosToolbox:()=>c5,cosmosCreateTransaction:()=>w2,convertToSignable:()=>O1,buildTransferTx:()=>F9,buildEncodedTxBody:()=>p5,buildDepositTx:()=>R9,buildAminoMsg:()=>sy,bech32ToBase64:()=>b5,base64ToBech32:()=>h5,YUM_KUJIRA_FACTORY_DENOM:()=>N9,USK_KUJIRA_FACTORY_DENOM:()=>V2,THORCHAIN_GAS_VALUE:()=>iQ,MAYA_GAS_VALUE:()=>tQ,DEFAULT_NOBLE_FEE_MAINNET:()=>k9,DEFAULT_KUJI_FEE_MAINNET:()=>_9,DEFAULT_COSMOS_FEE_MAINNET:()=>O9});module.exports=E0(X8);var Z8=l(()=>{u2();A9();m5()});function TJ({builder:y,grouping:Z="na",orders:Q}){return{builder:y,grouping:Z,orders:Q,type:"order"}}function UJ({cancels:y}){return{cancels:y,type:"cancel"}}function GJ({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function zJ({oid:y,order:Z}){return{oid:y,order:Z,type:"modify"}}function HJ({modifies:y}){return{modifies:y,type:"batchModify"}}function LJ({asset:y,isCross:Z,leverage:Q}){return{asset:y,isCross:Z,leverage:Q,type:"updateLeverage"}}function MJ({asset:y,isBuy:Z,ntli:Q}){return{asset:y,isBuy:Z,ntli:Q,type:"updateIsolatedMargin"}}function $J({asset:y,leverage:Z}){return{asset:y,leverage:Z,type:"topUpIsolatedOnlyMargin"}}function NJ({time:y}){return{time:y,type:"scheduleCancel"}}function OJ({amount:y,hyperliquidChain:Z,nonce:Q,signatureChainId:X,toPerp:J}){return{amount:y,hyperliquidChain:Z,nonce:Q,signatureChainId:X,toPerp:J,type:"usdClassTransfer"}}function _J({amount:y,destination:Z,destinationDex:Q,fromSubAccount:X,hyperliquidChain:J,nonce:Y,signatureChainId:W,sourceDex:f,token:T}){return{amount:y,destination:Z,destinationDex:Q,fromSubAccount:X,hyperliquidChain:J,nonce:Y,signatureChainId:W,sourceDex:f,token:T,type:"sendAsset"}}function kJ({agentAddress:y,agentName:Z,hyperliquidChain:Q,nonce:X,signatureChainId:J}){return{agentAddress:y,agentName:Z,hyperliquidChain:Q,nonce:X,signatureChainId:J,type:"approveAgent"}}function BJ({builder:y,hyperliquidChain:Z,maxFeeRate:Q,nonce:X,signatureChainId:J}){return{builder:y,hyperliquidChain:Z,maxFeeRate:Q,nonce:X,signatureChainId:J,type:"approveBuilderFee"}}function DJ({hyperliquidChain:y,isUndelegate:Z,nonce:Q,signatureChainId:X,validator:J,wei:Y}){return{hyperliquidChain:y,isUndelegate:Z,nonce:Q,signatureChainId:X,type:"tokenDelegate",validator:J,wei:Y}}function m0(...y){let Z=y.reduce((J,Y)=>J+Y.length,0),Q=new Uint8Array(Z),X=0;for(let J of y)Q.set(J,X),X+=J.length;return Q}function xJ(y,Z,Q){if(Q<Z)return new Uint8Array([y+Q]);if(Q<=255)return new Uint8Array([y+Z,Q]);if(Q<=65535)return new Uint8Array([y+Z+1,Q>>8,Q&255]);return new Uint8Array([y+Z+2,Q>>>24&255,Q>>>16&255,Q>>>8&255,Q&255])}function C1(y,Z){let Q=new Uint8Array(Z),X=y;for(let J=Z-1;J>=0;J-=1)Q[J]=Number(X&0xffn),X>>=8n;return Q}function S9(y){if(y>=0n){if(y<=0x7fn)return new Uint8Array([Number(y)]);if(y<=0xffn)return new Uint8Array([204,Number(y)]);if(y<=0xffffn)return m0(new Uint8Array([205]),C1(y,2));if(y<=0xffffffffn)return m0(new Uint8Array([206]),C1(y,4));return m0(new Uint8Array([207]),C1(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return m0(new Uint8Array([209]),C1(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return m0(new Uint8Array([210]),C1(BigInt.asUintN(32,y),4));return m0(new Uint8Array([211]),C1(BigInt.asUintN(64,y),8))}function h9(y){let Z=jJ.encode(y);if(Z.length<32)return m0(new Uint8Array([160+Z.length]),Z);return m0(xJ(217,0,Z.length),Z)}function PJ(y){let Z=y.map((X)=>d2(X)),Q=y.length<16?new Uint8Array([144+y.length]):y.length<=65535?new Uint8Array([220,y.length>>8,y.length&255]):new Uint8Array([221,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return m0(Q,...Z)}function KJ(y){let Z=Object.entries(y).filter(([,X])=>typeof X<"u"),Q=Z.length<16?new Uint8Array([128+Z.length]):Z.length<=65535?new Uint8Array([222,Z.length>>8,Z.length&255]):new Uint8Array([223,Z.length>>>24&255,Z.length>>>16&255,Z.length>>>8&255,Z.length&255]);return m0(Q,...Z.flatMap(([X,J])=>[h9(X),d2(J)]))}function d2(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return h9(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new Q8.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return S9(BigInt(y))}if(typeof y==="bigint")return S9(y);if(y instanceof Uint8Array){let Z=y.length<=255?new Uint8Array([196,y.length]):y.length<=65535?new Uint8Array([197,y.length>>8,y.length&255]):new Uint8Array([198,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return m0(Z,y)}if(Array.isArray(y))return PJ(y);if(typeof y==="object")return KJ(y);throw new Q8.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function VJ(y){let Z=y.startsWith("0x")?y.slice(2):y;if(Z.length%2!==0||/[^a-fA-F0-9]/u.test(Z))throw new Q8.SwapKitError("helpers_invalid_params",{hexValue:y});let Q=new Uint8Array(Z.length/2);for(let X=0;X<Z.length;X+=2)Q[X/2]=Number.parseInt(Z.slice(X,X+2),16);return Q}function l9(y){return{domain:CJ,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...FJ.Agent]}}}function u9(y){let Z=IJ[y.type],Q=RJ[y.type],{type:X,...J}=y;return{domain:{chainId:Number.parseInt(J.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:v9,version:"1"},message:{...J,hyperliquidChain:J.hyperliquidChain||b9},primaryType:Z,types:{[Z]:Q}}}function m9(y){let Z=J8.Signature.from(y);return{r:Z.r,s:Z.s,v:Z.v}}function p9(y,Z,{expiresAfter:Q,vaultAddress:X}={}){let J=d2(y),Y=C1(BigInt(Z),8),W=X?m0(new Uint8Array([1]),VJ(X.toLowerCase())):new Uint8Array([0]),f=typeof Q==="number"?m0(new Uint8Array([0]),C1(BigInt(Q),8)):new Uint8Array;return J8.keccak256(m0(J,Y,W,f))}function g9(y){let Z=y.hyperliquidChain||b9;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:Z};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:Z};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:Z};case"tokenDelegate":return{...y,hyperliquidChain:Z,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:Z};default:return y}}var Q8,J8,v9="0x0000000000000000000000000000000000000000",CJ,FJ,b9="Mainnet",RJ,IJ,jJ;var c9=l(()=>{Q8=require("@swapkit/helpers"),J8=require("ethers"),CJ={chainId:1337,name:"Exchange",verifyingContract:v9,version:"1"},FJ={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},RJ={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"}]},IJ={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},jJ=new TextEncoder});function a0(y,Z){if(!r2(y))throw new H0.SwapKitError(Z,{address:y});return y.toLowerCase()}async function l1(y){let Z=await Y8();return H0.RequestClient.post(`${Z}/info`,{json:y})}function hJ({dex:y,user:Z}){return l1({...y?{dex:y}:{},type:"clearinghouseState",user:a0(Z,"helpers_invalid_params")})}function t9({user:y}){return l1({type:"spotClearinghouseState",user:a0(y,"helpers_invalid_params")})}function lJ({dex:y,user:Z}){return l1({...y?{dex:y}:{},type:"openOrders",user:a0(Z,"helpers_invalid_params")})}function uJ({dex:y,user:Z}){return l1({...y?{dex:y}:{},type:"frontendOpenOrders",user:a0(Z,"helpers_invalid_params")})}function mJ({oidOrCloid:y,user:Z}){return l1({oid:y,type:"orderStatus",user:a0(Z,"helpers_invalid_params")})}function pJ({aggregateByTime:y,user:Z}){return l1({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:a0(Z,"helpers_invalid_params")})}function gJ({aggregateByTime:y,endTime:Z,startTime:Q,user:X}){return l1({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof Z==="number"?{endTime:Z}:{},startTime:Q,type:"userFillsByTime",user:a0(X,"helpers_invalid_params")})}function o9({coin:y,token:Z,value:Q,spotMeta:X}){if(!Q||Number(Q)<=0)return null;let J=y?.toUpperCase()||`TOKEN-${Z||"UNKNOWN"}`,Y=X?.tokens?.find((T)=>T.name===y||Z!==void 0&&T.index===Number(Z)),W=Y?.weiDecimals??EJ[J]??i9,f=Y?`${W1}.${J}-${Y.name}:${Y.tokenId}`:`${W1}.${J}`;return new H0.AssetValue({decimal:W,identifier:f,value:Q})}function cJ(y){let Z=new Map;for(let Q of y){let X=Q.toString({includeSynthProtocol:!0}),J=Z.get(X);Z.set(X,J?J.add(Q):Q)}if(![...Z.values()].some((Q)=>Q.isGasAsset||Q.ticker==="HYPE")){let Q=H0.AssetValue.from({chain:W1,value:0});Z.set(Q.toString({includeSynthProtocol:!0}),Q)}return[...Z.values()]}async function Y8(){try{return await H0.getRPCUrl(W1)}catch{let[y]=H0.getChainConfig(W1).rpcUrls;if(!y)throw new H0.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:W1});return y}}async function t2(){return`${await Y8()}/exchange`}function oJ(y){let Z=bJ[y.type],{type:Q,...X}=y,J=vJ[Q];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:SJ,version:"1"},message:X,primaryType:Z,types:{[Z]:J}}}async function r9({action:y,expiresAfter:Z,nonce:Q,vaultAddress:X}){let J=Q||Date.now(),Y=X?a0(X,"helpers_invalid_params"):void 0,W=await t2(),f=p9(y,J,{expiresAfter:Z,vaultAddress:Y});return{action:y,endpoint:W,expiresAfter:Z,nonce:J,typedData:l9(f),vaultAddress:Y}}async function a9({action:y,nonce:Z,signatureChainId:Q}){let X=Z||y.nonce||Date.now(),J=Q||y.signatureChainId||"0xa4b1",Y=g9({...y,nonce:X,signatureChainId:J});return{action:Y,endpoint:await t2(),nonce:X,typedData:u9(Y)}}async function nJ({assetValue:y,sender:Z,token:Q}){let X=await t9({user:Z}),J=(X.spotState?.balances||X.balances||[]).find(({coin:Y})=>Y&&Q.startsWith(`${Y}:`))?.total;if(!J||Number(J)<=0)throw new H0.SwapKitError("toolbox_sweep_amount_too_low",{asset:y.toString(),balance:J||"0"});return J}async function i2({assetValue:y,recipient:Z,sender:Q,signatureChainId:X,sweep:J,time:Y}){let W=a0(Z,"core_transaction_invalid_recipient_address"),f=a0(Q,"core_transaction_invalid_sender_address"),T=y.address;if(!T)throw new H0.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:f});let G=J?await nJ({assetValue:y,sender:f,token:T}):y.getValue("string"),z=await t2(),B=Y||Date.now(),$={amount:G,destination:W,hyperliquidChain:wJ,signatureChainId:X||AJ,time:B,token:T,type:"spotSend"};return{action:$,endpoint:z,nonce:B,typedData:oJ($)}}async function n9(y){let Z=await H0.RequestClient.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(Z.status!=="ok")throw new H0.SwapKitError("core_transaction_failed",{response:Z});return Z}async function dJ(y,Z){let Q=await Y8(),X=Z-5000;for(let J=0;J<5;J++){if(J>0)await new Promise((Y)=>setTimeout(Y,1000));try{let Y=await H0.RequestClient.post(`${Q}/info`,{json:{startTime:X,type:"userNonFundingLedgerUpdates",user:y}}),W=Array.isArray(Y)?Y.find((f)=>f.time&&f.time>=Z&&(f.delta?.type==="spotTransfer"||f.delta?.type==="internalTransfer")):void 0;if(W?.hash)return W.hash}catch{}}return""}function r2(y){return y.startsWith("0x")&&V5(y)}function iJ(y){let Z=A0(W1),Q=y&&"index"in y?y.index||0:0,X=H0.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:H0.updateDerivationPath(H0.NetworkDerivationPath[W1],{index:Q})),J,Y=!1;function W(){if(Y)return J;return J=Y5.match(y).with({phrase:Y5.P.string},({phrase:$})=>{return d9.HDNodeWallet.fromPhrase($,void 0,X)}).with({signer:Y5.P.not(Y5.P.nullish)},({signer:$})=>$).otherwise(()=>{return}),Y=!0,J}async function f(){let $=W();return $?await $.getAddress():""}async function T($){let M=W();if(!M)throw new H0.SwapKitError("toolbox_hypercore_no_signer");let O=await M.signTypedData($.typedData.domain,$.typedData.types,$.typedData.message);return{action:$.action,endpoint:$.endpoint,nonce:$.nonce,signature:m9(O),..."expiresAfter"in $?{expiresAfter:$.expiresAfter}:{},..."vaultAddress"in $?{vaultAddress:$.vaultAddress}:{}}}async function G($){let M=a0($,"helpers_invalid_params");try{let O=await Y8(),[N,C,R]=await Promise.all([H0.RequestClient.post(`${O}/info`,{json:{type:"spotClearinghouseState",user:M}}),H0.RequestClient.post(`${O}/info`,{json:{type:"clearinghouseState",user:M}}),H0.RequestClient.post(`${O}/info`,{json:{type:"spotMeta"}})]),x=(N.spotState?.balances||N.balances||[]).map(({coin:P,token:K,total:_})=>o9({coin:P,spotMeta:R,token:K,value:_})).filter((P)=>!!P),S=o9({coin:"USDC",spotMeta:R,value:C.withdrawable||C.marginSummary?.accountValue||C.marginSummary?.totalRawUsd});return cJ(S?[...x,S]:x)}catch{return Z(M)}}async function z({sweep:$,...M}){let O=W();if(!O)throw new H0.SwapKitError("toolbox_hypercore_no_signer");let N=M.sender||await O.getAddress(),C=await i2({...M,feeRate:0,sender:N,sweep:$}),R=await T(C);return await n9(R),dJ(N,C.nonce)}function B(){return H0.AssetValue.from({chain:W1,value:0})}return{broadcastTransaction:n9,createL1ActionRequest:r9,createTransaction:i2,createUserSignedActionRequest:a9,estimateTransactionFee:B,getAddress:f,getBalance:G,getState:{clearinghouse:hJ,frontendOpenOrders:uJ,openOrders:lJ,orderStatus:mJ,spotClearinghouse:t9,userFills:pJ,userFillsByTime:gJ},signTransaction:T,transfer:z,validateAddress:r2}}var H0,d9,Y5,W1,i9,EJ,wJ="Mainnet",AJ="0xa4b1",SJ="0x0000000000000000000000000000000000000000",vJ,bJ;var s9=l(()=>{R2();Q1();c9();H0=require("@swapkit/helpers"),d9=require("ethers"),Y5=require("ts-pattern"),W1=H0.Chain.Hype,{baseDecimal:i9}=H0.getChainConfig(W1),EJ={HYPE:i9,USDC:6,USDT:6},vJ={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},bJ={spotSend:"HyperliquidTransaction:SpotSend"}});var a2={};x0(a2,{validateHyperCoreAddress:()=>r2,getHyperCoreToolbox:()=>iJ,createUserSignedActionRequest:()=>a9,createTransaction:()=>i2,createL1ActionRequest:()=>r9,buildUsdClassTransferAction:()=>OJ,buildUpdateLeverageAction:()=>LJ,buildUpdateIsolatedMarginAction:()=>MJ,buildTopUpIsolatedOnlyMarginAction:()=>$J,buildTokenDelegateAction:()=>DJ,buildSendAssetAction:()=>_J,buildScheduleCancelAction:()=>NJ,buildOrderAction:()=>TJ,buildModifyAction:()=>zJ,buildCancelByCloidAction:()=>GJ,buildCancelAction:()=>UJ,buildBatchModifyAction:()=>HJ,buildApproveBuilderFeeAction:()=>BJ,buildApproveAgentAction:()=>kJ});module.exports=E0(a2);var s2=l(()=>{s9()});async function XZ(y){let Z=Q0.AssetValue.from({address:y,chain:Q0.Chain.Solana});if(Z.symbol!=="UNKNOWN")return{decimals:Z.decimal||0,id:y,logoURI:Z.getIconUrl(),name:Z.symbol,symbol:Z.ticker};let Q=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let X=await fetch(Q);if(!X.ok)return null;let J=await X.json();if(!Array.isArray(J)||J.length===0)return null;return J.find((W)=>W.id===y)||null}catch{return null}}async function tJ(y){let Z=await U1(),{PublicKey:Q}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:X}=await import("@solana/spl-token"),J=new Q(y),{baseDecimal:Y}=Q0.getChainConfig(Q0.Chain.Solana),W=await Z.getBalance(J),f=[Q0.AssetValue.from({chain:Q0.Chain.Solana,fromBaseDecimal:Y,value:W||0})],T=await Z.getParsedTokenAccountsByOwner(J,{programId:X});for(let{account:G}of T.value){let z=G.data.parsed.info,B=z.mint,$=z.tokenAmount.amount;if(Number($)===0)continue;let M=await XZ(B),O=M?.symbol||"UNKNOWN",N=M?.decimals||z.tokenAmount.decimals;f.push(Q0.AssetValue.from({asset:`${Q0.Chain.Solana}.${O}-${B}`,fromBaseDecimal:N,value:$}))}return f}function y4(y){try{let Z=new f1.PublicKey(y);return f1.PublicKey.isOnCurve(Z.toBytes())}catch{return!1}}function rJ(y){let Z=y&&"index"in y?y.index||0:0,Q=Q0.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:Q0.updateDerivationPath(Q0.NetworkDerivationPath[Q0.Chain.Solana],{index:Z})),X;async function J(){if(X)return X;return X=await n5.match(y).with({phrase:n5.P.string},({phrase:W})=>e2({derivationPath:Q,phrase:W})).with({signer:n5.P.any},({signer:W})=>W).otherwise(()=>{return}),X}async function Y(){let W=await J();return W?.publicKey?yZ(W.publicKey):""}return{broadcastTransaction:W8(U1),createKeysForPath:e2,createTransaction:X4(U1),createTransactionFromInstructions:yY,estimateTransactionFee:aJ(U1),getAddress:Y,getAddressFromPubKey:yZ,getBalance:A0(Q0.Chain.Solana),getBalanceFromRPC:tJ,getConnection:U1,getPubkeyFromAddress:(W)=>new f1.PublicKey(W),signAndBroadcastTransaction:async(W)=>{let f=await e9(U1,J)(W);return W8(U1)(f)},signTransaction:e9(U1,J),transfer:XY(U1,J),validateAddress:y4}}function aJ(y){return async({recipient:Z,assetValue:Q,memo:X,isProgramDerivedAddress:J,sender:Y})=>{let W=await y(),f=await X4(y)({assetValue:Q,isProgramDerivedAddress:J,memo:X,recipient:Z,sender:Y}),T=await ZZ(W,f),{baseDecimal:G}=Q0.getChainConfig(Q0.Chain.Solana);return Q0.AssetValue.from({chain:Q0.Chain.Solana,fromBaseDecimal:G,value:T})}}async function ZZ(y,Z){let Q=await y.getFeeForMessage(Z.compileMessage());if(Q.value===null)throw new Q0.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");return Q.value}async function U1(){let{Connection:y}=await import("@solana/web3.js"),Z=await Q0.getRPCUrl(Q0.Chain.Solana);return new y(Z,{commitment:"confirmed",fetchMiddleware:(Q,X,J)=>{let Y={};for(let[W,f]of Object.entries(X?.headers??{})){let T=W.toLowerCase();if(T!=="pragma"&&T!=="solana-client")Y[W]=f}J(Q,{...X,headers:Y})}})}function sJ(y){return async({assetValue:Z,recipient:Q,sender:X,isProgramDerivedAddress:J,sweep:Y})=>{let W=await y(),f=new f1.PublicKey(X);if(Z.isGasAsset){let{Transaction:T,SystemProgram:G}=await import("@solana/web3.js");return new T().add(G.transfer({fromPubkey:f,lamports:Y?0:Z.getBaseValue("number"),toPubkey:new f1.PublicKey(Q)}))}if(Z.address)return eJ({amount:Y?0:Z.getBaseValue("number"),connection:W,decimals:Z.decimal,from:f,isProgramDerivedAddress:J,recipient:Q,sweep:Y,tokenAddress:Z.address});return}}async function eJ({tokenAddress:y,recipient:Z,from:Q,connection:X,amount:J,decimals:Y,isProgramDerivedAddress:W,sweep:f}){let{getAssociatedTokenAddress:T,getAccount:G,createAssociatedTokenAccountInstruction:z,createTransferCheckedInstruction:B}=await import("@solana/spl-token"),{Transaction:$}=await import("@solana/web3.js"),M=new $,O=new f1.PublicKey(y),N=await T(O,Q),C=new f1.PublicKey(Z),R=await T(O,C,W),x=!1;try{await G(X,R),x=!0}catch{}if(!x)M.add(z(Q,R,C,O));let S=f?BigInt((await X.getTokenAccountBalance(N)).value.amount):J;if(f&&S<=0n)throw new Q0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:y,balance:S.toString()}});return M.add(B(N,O,R,Q,S,Y)),M}function X4(y){return async({recipient:Z,assetValue:Q,memo:X,isProgramDerivedAddress:J,sender:Y,sweep:W})=>{let{createMemoInstruction:f}=await import("@solana/spl-memo"),T=new f1.PublicKey(Y);if(!(J||y4(Z)))throw new Q0.SwapKitError("core_transaction_invalid_recipient_address");let G=await y(),z=await sJ(y)({assetValue:Q,isProgramDerivedAddress:J,recipient:Z,sender:Y,sweep:W});if(!z)throw new Q0.SwapKitError("core_transaction_invalid_sender_address");if(X)z.add(f(X));let B=await G.getLatestBlockhash();if(z.recentBlockhash=B.blockhash,z.feePayer=T,W&&Q.isGasAsset){let[$,M,O]=await Promise.all([G.getBalance(T),ZZ(G,z),G.getMinimumBalanceForRentExemption(0)]),N=$-M-O;if(N<=0)throw new Q0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{balance:$,fee:M,rentReserve:O}});let{SystemProgram:C}=await import("@solana/web3.js");z.instructions[0]=C.transfer({fromPubkey:T,lamports:N,toPubkey:new f1.PublicKey(Z)})}return z}}async function yY({instructions:y}){let{Transaction:Z}=await import("@solana/web3.js"),Q=new Z().add(...y);if(!Q)throw new Q0.SwapKitError("core_transaction_invalid_sender_address");return Q}function XY(y,Z){return async({recipient:Q,assetValue:X,memo:J,isProgramDerivedAddress:Y,sweep:W})=>{let f=await Z();if(!f)throw new Q0.SwapKitError("core_transaction_invalid_sender_address");let T=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),G=await X4(y)({assetValue:X,isProgramDerivedAddress:Y,memo:J,recipient:Q,sender:T,sweep:W});if("signTransaction"in f){let z=await f.signTransaction(G);return W8(y)(z)}return G.sign(f),W8(y)(G)}}function W8(y){return async(Z)=>{return(await y()).sendRawTransaction(Z.serialize())}}function e9(y,Z){return async(Q)=>{let X=await Z();if(!X)throw new Q0.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:J}=await import("@solana/web3.js");if(!(Q instanceof J)){let W=await(await y()).getLatestBlockhash();Q.recentBlockhash=W.blockhash,Q.feePayer=X.publicKey||void 0}if("connect"in X)return await X.signTransaction(Q);return Q.sign([X]),Q}}async function e2({phrase:y,derivationPath:Z=Q0.DerivationPath.SOL}){let{HDKey:Q}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),{Keypair:J}=await import("@solana/web3.js"),Y=X(y),W=Q.fromMasterSeed(Y);return J.fromSeed(W.derive(Z,!0).privateKey)}function yZ(y){return y.toString()}var f1,Q0,n5;var QZ=l(()=>{Q1();f1=require("@solana/web3.js"),Q0=require("@swapkit/helpers"),n5=require("ts-pattern")});var Z4={};x0(Z4,{validateSolanaAddress:()=>y4,getSolanaToolbox:()=>rJ,fetchTokenMetaData:()=>XZ,createKeysForPath:()=>e2});module.exports=E0(Z4);var Q4=l(()=>{QZ()});function d5(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function q8({phrase:y,derivationPath:Z=e.DerivationPath.STRK}){let{HDKey:Q}=await import("@scure/bip32"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),{ec:J,hash:Y,encode:W,CallData:f}=await import("starknet"),T=X(y),z=Q.fromMasterSeed(T).derive(Z);if(!z.privateKey)throw new e.SwapKitError("toolbox_starknet_no_signer");let B=W.addHexPrefix(Buffer.from(z.privateKey).toString("hex")),$=J.starkCurve.grindKey(B),M=W.addHexPrefix($),O=J.starkCurve.getStarkKey(M),N=f.compile([O,0]);return{address:Y.calculateContractAddressFromHash(O,J4,N,0),privateKey:M,publicKey:O}}async function Y4({phrase:y,derivationPath:Z=e.DerivationPath.STRK}){let{Account:Q,RpcProvider:X}=await import("starknet"),{privateKey:J,address:Y}=await q8({derivationPath:Z,phrase:y}),W=await e.getRPCUrl(e.Chain.Starknet),f=new X({nodeUrl:W});return new Q({address:Y,provider:f,signer:J})}function YZ(y){let Z=e.Chain.Starknet,Q=y&&"index"in y?y.index||0:0,X=e.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[Z],{index:Q})),J,Y,W;async function f(){if(Y)return Y;if(J)return Y=J.provider,Y;let{RpcProvider:U}=await import("starknet"),q=await e.getRPCUrl(Z);return Y=new U({nodeUrl:q}),Y}async function T(U){let q=await f(),H=U||await $();if(!H)return!1;try{return await q.getClassHashAt(H),!0}catch(k){if(k instanceof Error&&k.message.includes("Contract not found"))return!1;let F=k;if(F?.code===20||F?.code===19)return!1;throw k}}async function G(){let{CallData:U,hash:q}=await import("starknet"),H=await f(),k=await B();if(!k)throw new e.SwapKitError("toolbox_starknet_no_signer");if(!W)throw new e.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await T())return k.address;let I=U.compile([W,0]);if(q.calculateContractAddressFromHash(W,J4,I,0).toLowerCase()!==k.address.toLowerCase())throw new e.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let A={addressSalt:W,classHash:J4,constructorCalldata:I},{transaction_hash:b}=await k.deployAccount(A);return await H.waitForTransaction(b),b}async function z(){if(!await T()){if(!W)throw new e.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 G()}}async function B(){if(J)return J;return J=await F1.match(y).with({phrase:F1.P.string},async({phrase:U})=>{let{Account:q,RpcProvider:H}=await import("starknet"),{privateKey:k,address:F,publicKey:I}=await q8({derivationPath:X,phrase:U});W=I;let w=await e.getRPCUrl(e.Chain.Starknet),A=new H({nodeUrl:w});return new q({address:F,provider:A,signer:k})}).with({address:F1.P.string,privateKey:F1.P.string},async({privateKey:U,address:q})=>{let{Account:H}=await import("starknet"),k=await f();return new H({address:q,provider:k,signer:U})}).with({signer:F1.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),J}async function $(){return(await B())?.address??""}async function M(U,q){let H=await f(),{uint256:k,CallData:F}=await import("starknet"),[I="0",w="0"]=await H.callContract({calldata:F.compile({account:U}),contractAddress:q,entrypoint:"balanceOf"});return k.uint256ToBN({high:w,low:I})}async function O(U){let{baseDecimal:q}=e.getChainConfig(Z),H=[],k=[f8,JZ];for(let F of k)try{let I=await M(U,F);F1.match(F).with(f8,()=>{H.push(e.AssetValue.from({chain:Z,fromBaseDecimal:q,value:I}))}).with(JZ,()=>{if(I>0n)H.push(e.AssetValue.from({asset:`${Z}.ETH-${F}`,fromBaseDecimal:q,value:I}))}).otherwise(()=>{})}catch{}return H}async function N(U){let q=await B();if(q&&(!U||q.address.toLowerCase()===U.toLowerCase()))return q;if(U){let{Account:H}=await import("starknet"),k=await f();return new H({address:U,provider:k,signer:"0x0"})}throw new e.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer"}})}async function C(U,q){try{let H=await N(q),{overall_fee:k}=await H.estimateInvokeFee(U);if(k<=0n)throw new e.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Sweep fee estimation returned a non-positive fee",sender:q}});return k}catch(H){throw new e.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Unable to estimate the sweep fee. Verify RPC availability and that the sender account is deployed.",sender:q}},H)}}async function R(U,q){let H=await L(U),k=q.isGasAsset?H.find(({isGasAsset:F})=>F):H.find(({address:F})=>F?.toLowerCase()===q.address?.toLowerCase());if(k)return k.getBaseValue("bigint");if(q.isGasAsset)return M(U,f8);if(q.address)return M(U,q.address);return 0n}async function x({recipient:U,assetValue:q,sender:H,sweep:k}){let{CallData:F,uint256:I}=await import("starknet");if(!d5(U))throw new e.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let w=q.isGasAsset?f8:q.address;if(!w)throw new e.SwapKitError("toolbox_starknet_invalid_address",{address:w,assetValue:q});let A=q.getBaseValue("bigint");if(k){let J0=H??await $();if(!d5(J0))throw new e.SwapKitError("core_transaction_invalid_sender_address",{address:J0});if(q.isGasAsset){let T0=[{calldata:F.compile([U,I.bnToUint256(1n)]),contractAddress:w,entrypoint:"transfer"}],j=await C(T0,J0);A=await R(J0,q)-j}else A=await R(J0,q);if(A<=0n)throw new e.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amount:A.toString(),asset:q.toString()}})}let b=I.bnToUint256(A);return[{calldata:F.compile([U,b]),contractAddress:w,entrypoint:"transfer"}]}async function S({recipient:U,assetValue:q,sender:H}){let{baseDecimal:k}=e.getChainConfig(e.Chain.Starknet);try{let F=await x({assetValue:q,recipient:U}),w=await(await N(H)).estimateInvokeFee(F);if(w?.overall_fee)return e.AssetValue.from({chain:Z,fromBaseDecimal:k,value:w.overall_fee})}catch(F){throw new e.SwapKitError("toolbox_starknet_fee_estimation_failed",F)}return e.AssetValue.from({chain:Z,value:"0.00001"})}async function P({recipient:U,assetValue:q,memo:H,sweep:k}){let F=await B();if(!F)throw new e.SwapKitError("toolbox_starknet_no_signer");await z();let I=await x({assetValue:q,memo:H,recipient:U,sender:F.address,sweep:k});return(await F.execute(I)).transaction_hash}async function K(U){let q=await B();if(!q)throw new e.SwapKitError("toolbox_starknet_no_signer");let H=await q.signMessage(U);return Array.isArray(H)?H:[H.r.toString(),H.s.toString()]}async function _(U){let q=await B();if(!q)throw new e.SwapKitError("toolbox_starknet_no_signer");return await z(),(await q.execute(U)).transaction_hash}function D(U){return _(U)}async function L(U,q=!0){try{return await A0(Z)(U,q)}catch{return O(U)}}return{broadcastTransaction:_,createKeysForPath:Y4,createTransaction:x,deployAccount:G,estimateTransactionFee:S,getAddress:$,getBalance:L,getProvider:f,isAccountDeployed:T,signAndBroadcastTransaction:D,signMessage:K,transfer:P,validateAddress:d5}}var e,F1,f8="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",JZ="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",J4="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var WZ=l(()=>{Q1();e=require("@swapkit/helpers"),F1=require("ts-pattern")});var T8={};x0(T8,{validateStarknetAddress:()=>d5,starknetCreateKeysForPath:()=>Y4,getStarknetToolbox:()=>YZ,deriveStarknetKeys:()=>q8});module.exports=E0(T8);var U8=l(()=>{WZ()});async function f4(y,Z,Q,X){let J=[],Y,W=0n;while(!0){let f=await y.getCoins({coinType:Q,cursor:Y,owner:Z});if(J.push(...f.data),W+=f.data.reduce((T,G)=>T+BigInt(G.balance),0n),!f.hasNextPage||X!==void 0&&W>=X)return J;Y=f.nextCursor}}async function TZ(y){return BigInt(await y.getReferenceGasPrice())}function z8({coinObjectId:y,digest:Z,version:Q}){return{digest:Z,objectId:y,version:Q}}function QY(y,Z,Q,X=!1){let J=Z.reduce((z,B)=>z+BigInt(B.balance),0n);if(J<Q)throw new q0.SwapKitError("toolbox_sui_insufficient_balance",{available:J.toString(),required:Q.toString()});let{selectedCoins:Y}=Z.reduce((z,B)=>{if(z.total>=Q)return z;return{selectedCoins:[...z.selectedCoins,B],total:z.total+BigInt(B.balance)}},{selectedCoins:[],total:0n}),W=Y[0],f=y.objectRef(z8(W)),T=Y.slice(1).map((z)=>y.objectRef(z8(z)));if(T.length>0)y.mergeCoins(f,T);if(X)return f;let[G]=y.splitCoins(f,[Q]);return G}function UZ(y,Z){let Q=y.reduce((X,J)=>X+BigInt(J.balance),0n);if(Q<=0n)throw new q0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:Z,available:Q.toString()}});return Q}function GZ(y){if(y.length>W4)throw new q0.SwapKitError({errorKey:"toolbox_sui_transaction_creation_error",info:{coinCount:y.length,maxGasPaymentCoins:W4,reason:`SUI transactions support at most ${W4} gas payment coins`}})}function JY(y,Z,Q,X,J,Y){let W=Q.getBaseValue("bigint");if(Y)UZ(Z,Q.toString()),GZ(Z);else zZ(Z,W+BigInt(X));if(y.setGasPayment(Z.map(z8)),Y)y.transferObjects([y.gas],J);else{let[f]=y.splitCoins(y.gas,[Q.getBaseValue("string")]);y.transferObjects([f],J)}}function zZ(y,Z){let Q=y.reduce((X,J)=>X+BigInt(J.balance),0n);if(Q<Z)throw new q0.SwapKitError("toolbox_sui_insufficient_balance",{available:Q.toString(),required:Z.toString()})}async function YY({assetValue:y,gasBudget:Z,recipient:Q,sender:X,suiClient:J,sweep:Y,tx:W}){let f=y.getBaseValue("bigint"),[T,G]=await Promise.all([TZ(J),f4(J,X,G8,Y?void 0:f+BigInt(Z))]);if(W.setGasPrice(T),JY(W,G,y,Z,Q,Y),Y){let z=G.reduce((B,$)=>B+BigInt($.balance),0n);return z<BigInt(Z)?z:Z}return Z}async function WY({assetValue:y,gasBudget:Z,recipient:Q,sender:X,suiClient:J,sweep:Y,tx:W}){let f=y.address;if(!f)throw new q0.SwapKitError("toolbox_sui_missing_coin_type");let T=y.getBaseValue("bigint"),[G,z,B]=await Promise.all([TZ(J),f4(J,X,G8,BigInt(Z)),f4(J,X,f,Y?void 0:T)]);if(!B.length&&!Y)throw new q0.SwapKitError("toolbox_sui_no_coins_found",{coinType:f});let $=Y?UZ(B,y.toString()):T;if(zZ(z,BigInt(Z)),Y)GZ(z);W.setGasPrice(G),W.setGasPayment(z.map(z8));let M=QY(W,B,$,Y);W.transferObjects([M],Q)}function HZ(y){try{return qZ.isValidSuiAddress(y)}catch{return!1}}function fZ(y){return"signWithIntent"in y}function fY({provider:y,...Z}={}){let Q;async function X(){if(Q)return Q;return Q=await i5.match(Z).with({phrase:i5.P.string},async({phrase:O})=>{let{Ed25519Keypair:N}=await import("@mysten/sui/keypairs/ed25519");return N.deriveKeypair(O)}).with({signer:i5.P.any},({signer:O})=>O).otherwise(()=>{return}),Q}async function J(O=y){let{SuiJsonRpcClient:N}=await import("@mysten/sui/jsonRpc");return new N({network:"mainnet",url:O||q0.getRPCUrlSync(q0.Chain.Sui)})}async function Y(){return(await X())?.toSuiAddress()||""}function W(O){try{let N=q0.AssetValue.from({address:O,chain:q0.Chain.Sui});return{asset:N.toString(),decimals:N.decimal}}catch{}return null}async function f(O){let N=O||await Y();if(!N)throw new q0.SwapKitError("toolbox_sui_address_required");let{baseDecimal:C,chain:R}=q0.getChainConfig(q0.Chain.Sui);try{let S=await(await J()).getAllBalances({owner:N}),P=S.find(({coinType:_})=>_===G8)?.totalBalance||"0",K=[q0.AssetValue.from({chain:R,fromBaseDecimal:C,value:P})];for(let{coinType:_,totalBalance:D}of S){if(_===G8||Number(D)<=0)continue;let L=W(_);if(L)K.push(q0.AssetValue.from({asset:L.asset,fromBaseDecimal:L.decimals,value:D}))}return K}catch{return[q0.AssetValue.from({chain:R})]}}async function T(O){let N=q0.AssetValue.from({chain:q0.Chain.Sui,value:"0.01"});if(!O)return N;try{let C=await J(),{txBytes:R}=await G(O),{effects:{status:x,gasUsed:S}}=await C.dryRunTransactionBlock({transactionBlock:R});if(x.status!=="success")return N;let{baseDecimal:P}=q0.getChainConfig(q0.Chain.Sui),K=BigInt(S.computationCost)+BigInt(S.storageCost)-BigInt(S.storageRebate);return q0.AssetValue.from({chain:q0.Chain.Sui,fromBaseDecimal:P,value:K.toString()})}catch{return N}}async function G({recipient:O,assetValue:N,gasBudget:C,sender:R,sweep:x}){let{Transaction:S}=await import("@mysten/sui/transactions"),P=R||await Y(),K=C||ZY;if(!P)throw new q0.SwapKitError("toolbox_sui_no_sender");try{let _=await J(),D=new S;D.setSender(P);let L={assetValue:N,gasBudget:K,recipient:O,sender:P,suiClient:_,sweep:x,tx:D},U;if(N.isGasAsset||N.symbol==="SUI"){let H=await YY(L);if(BigInt(H)<BigInt(K))U=BigInt(H);D.setGasBudget(H)}else await WY(L),D.setGasBudget(K);let q=await D.build({client:_});if(U!==void 0){let{effects:{status:H}}=await _.dryRunTransactionBlock({transactionBlock:q});if(H.status!=="success")throw new q0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:N.toString(),budget:U.toString(),error:H.error}})}return{tx:D,txBytes:q}}catch(_){if(_ instanceof q0.SwapKitError)throw _;throw new q0.SwapKitError("toolbox_sui_transaction_creation_error",{error:_})}}async function z(O){let N=await X();if(!N)throw new q0.SwapKitError("toolbox_sui_no_signer");if(O instanceof Uint8Array)return N.signTransaction(O);let{txBytes:C}="tx"in O?O:await G(O);return N.signTransaction(C)}async function B({assetValue:O,gasBudget:N,recipient:C,sweep:R}){let x=await X();if(!x)throw new q0.SwapKitError("toolbox_sui_no_signer");let S=x.toSuiAddress()||await Y();if(!S)throw new q0.SwapKitError("toolbox_sui_no_sender");let{txBytes:P}=await G({assetValue:O,gasBudget:N,recipient:C,sender:S,sweep:R}),K=await J();if(!fZ(x)){let D=await x.signTransaction(P),{digest:L}=await K.executeTransactionBlock({signature:D.signature,transactionBlock:D.bytes});return L}let{digest:_}=await K.signAndExecuteTransaction({signer:x,transaction:P});return _}async function $(O){let N=await J(),{digest:C}=await N.executeTransactionBlock({signature:O.signature,transactionBlock:O.bytes});return C}async function M(O){let N=await X();if(!N)throw new q0.SwapKitError("toolbox_sui_no_signer");let C=await J(),R;if(typeof O==="string")R=Uint8Array.from(Buffer.from(O,"base64"));else if(O instanceof Uint8Array)R=O;else R=await O.build({client:C});if(!fZ(N)){let S=await N.signTransaction(R),{digest:P}=await C.executeTransactionBlock({signature:S.signature,transactionBlock:S.bytes});return P}let{digest:x}=await C.signAndExecuteTransaction({signer:N,transaction:R});return x}return{broadcastTransaction:$,createTransaction:G,estimateTransactionFee:T,getAddress:Y,getBalance:f,signAndBroadcastTransaction:M,signTransaction:z,transfer:B,validateAddress:HZ}}var qZ,q0,i5,G8="0x2::sui::SUI",W4=256,ZY=50000000;var LZ=l(()=>{qZ=require("@mysten/sui/utils"),q0=require("@swapkit/helpers"),i5=require("ts-pattern")});var H8={};x0(H8,{validateSuiAddress:()=>HZ,getSuiToolbox:()=>fY});module.exports=E0(H8);var L8=l(()=>{LZ()});async function HY(){let y=Date.now();if(M8&&y-$Z<zY)return M8;let{getHttpEndpoint:Z}=await import("@orbs-network/ton-access");return M8=await Z(),$Z=y,M8}async function LY(){let[y]=R0.SKConfig.get("rpcUrls")[R0.Chain.Ton]??[];if(y)return y;return await HY()}function MY(y={}){let Z,Q,X;async function J(){if(!Z){let{TonClient:_}=await import("@ton/ton"),D=y.provider??await LY();Z=new _({endpoint:D})}return Z}async function Y(){return(await f()).address.toString()}async function W(){if(X)return X;return X=await u1.match(y).with({phrase:u1.P.string},async({phrase:_})=>{let{mnemonicToWalletKey:D}=await import("@ton/crypto");return D(_.split(" "))}).with({signer:u1.P.any},({signer:_})=>_).otherwise(()=>{return}),X}async function f(_){if(!Q||_){let D=await W(),L=await J(),U=_||D;if(!U)throw new R0.SwapKitError("core_wallet_connection_not_found");let{WalletContractV4:q}=await import("@ton/ton"),H=q.create({publicKey:U.publicKey,workchain:0});Q=L.open(H)}return Q}let T=A0(R0.Chain.Ton);async function G({assetValue:_,recipient:D,memo:L,sender:U,sweep:q}){if(_.isGasAsset){if(q){let T0=U||await Y(),E=await(await J()).getBalance(U0.Address.parse(T0));if(E<=0n)throw new R0.SwapKitError("toolbox_sweep_amount_too_low",{asset:_.toString(),balance:E.toString()})}let J0=L?K(L).toBoc().toString("base64"):void 0;return[{address:D,amount:_.getBaseValue("string"),payload:J0}]}let H=_.address;if(!H)throw new R0.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:_.toString()}});let k=U??await Y(),F=await x({jettonMasterAddress:H,ownerAddress:k}),I=U0.Address.parse(D),w=U0.Address.parse(k),A=q?await S(F):_.getBaseValue("bigint");if(q&&A<=0n)throw new R0.SwapKitError("toolbox_sweep_amount_too_low",{asset:_.toString(),balance:A.toString()});let b=L?K(L):void 0,a=P({destinationAddress:I,forwardPayload:b,jettonAmount:A,responseAddress:w});return[{address:F.toString(),amount:UY.toString(),payload:a.toBoc().toString("base64")}]}async function z({sender:_,sweep:D,...L}){let U=D&&L.assetValue.isGasAsset?GY:MZ;return{messages:await G({...L,sender:_,sweep:D}),sendMode:U}}function B(_){if(!Array.isArray(_))return _;let[D]=_;return{messages:_.map(({sendMode:U,...q})=>q),sendMode:D?.sendMode??MZ}}function $(_){return _.map((D)=>{let L=D.payload?U0.Cell.fromBase64(D.payload):void 0,U=D.stateInit?U0.loadStateInit(U0.Cell.fromBase64(D.stateInit).asSlice()):void 0,q=U0.Address.parse(D.address),H=U0.Address.isFriendly(D.address)?U0.Address.parseFriendly(D.address).isBounceable:!0;return U0.internal({body:L,bounce:H,init:U,to:q,value:BigInt(D.amount)})})}async function M(_){let D=await W(),L=await f();if(!L||!D)throw new R0.SwapKitError("core_wallet_connection_not_found");let U=await J(),{state:q}=await U.getContractState(L.address),H=q==="active",k=H?await L.getSeqno():0,{messages:F,sendMode:I}=B(_),w=L.createTransfer({messages:$(F),secretKey:D.secretKey,sendMode:I,seqno:k}),A=U0.external({body:w,init:H?void 0:L.init,to:L.address});return U0.beginCell().store(U0.storeMessage(A)).endCell()}async function O(_){return await(await J()).sendFile(_.toBoc()),_.hash().toString("hex")}async function N(_){let D=await M(_);return O(D)}async function C({assetValue:_,recipient:D,memo:L,sweep:U}){let q=await z({assetValue:_,memo:L,recipient:D,sweep:U});return N(q)}async function R({sender:_,...D}){let{baseDecimal:L}=R0.getChainConfig(R0.Chain.Ton),U=await u1.match(_).with(u1.P.string,(k)=>{return U0.Address.parseFriendly(k).address}).otherwise(async()=>{return(await f()).address});if(!U)throw new R0.SwapKitError("toolbox_fee_estimation_failed",{chain:R0.Chain.Ton});let q=R0.AssetValue.from({chain:R0.Chain.Ton,value:"0.01"}),H=await J();try{let k=await z({sender:_,...D}),F=await W(),I=await f();if(!I||!F)return q;let w=await I.getSeqno(),A=I.createTransfer({messages:$(k.messages),secretKey:F.secretKey,sendMode:k.sendMode,seqno:w}),{source_fees:b}=await H.estimateExternalMessageFee(U,{body:A,ignoreSignature:!0,initCode:null,initData:null}),a=b.in_fwd_fee+b.storage_fee+b.gas_fee+b.fwd_fee;return q.set(R0.SwapKitNumber.fromBigInt(BigInt(a),L))}catch{return q}}async function x({jettonMasterAddress:_,ownerAddress:D}){try{let L=await J(),U=U0.Address.parse(_),q=U0.Address.parse(D),{JettonMaster:H}=await import("@ton/ton");return await L.open(H.create(U)).getWalletAddress(q)}catch{throw new R0.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:_,ownerAddress:D}})}}async function S(_){try{let D=await J(),{JettonWallet:L}=await import("@ton/ton");return await D.open(L.create(_)).getBalance()}catch{throw new R0.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonWalletAddress:_.toString()}})}}function P({jettonAmount:_,destinationAddress:D,responseAddress:L,forwardAmount:U=TY,forwardPayload:q}){let H=U0.beginCell().storeUint(qY,32).storeUint(0,64).storeCoins(_).storeAddress(D).storeAddress(L).storeBit(0).storeCoins(U);if(q)H.storeBit(1).storeRef(q);else H.storeBit(0);return H.endCell()}function K(_){return U0.beginCell().storeUint(0,32).storeStringTail(_).endCell()}return{broadcastTransaction:O,createTransaction:z,estimateTransactionFee:R,getAddress:Y,getBalance:T,getJettonWalletAddress:x,sign:M,signAndBroadcastTransaction:N,transfer:C,validateAddress:NZ}}function NZ(y){try{return U0.Address.parse(y),!0}catch{return!1}}var R0,U0,u1,qY=260734629,TY,UY,MZ,GY,zY=60000,M8,$Z=0;var OZ=l(()=>{Q1();R0=require("@swapkit/helpers"),U0=require("@ton/core"),u1=require("ts-pattern"),TY=U0.toNano("0.01"),UY=U0.toNano("0.05"),MZ=U0.SendMode.PAY_GAS_SEPARATELY+U0.SendMode.IGNORE_ERRORS,GY=U0.SendMode.CARRY_ALL_REMAINING_BALANCE+U0.SendMode.IGNORE_ERRORS});var $8={};x0($8,{validateTonAddress:()=>NZ,getTONToolbox:()=>MY});module.exports=E0($8);var N8=l(()=>{OZ()});function s0(y,Z){if(!Number.isInteger(Z)||Z<0)throw RangeError(`${y} must be a non-negative integer, got: ${Z}`)}function R1({accountIndex:y,chain:Z,derivationPath:Q}){if(y!==void 0)s0("accountIndex",y);let X=[...Q?.slice(0,3)??_Z.NetworkDerivationPath[Z].slice(0,3)];if(y!==void 0)X[2]=y;return X}function W5({accountIndex:y,change:Z=!1,chain:Q,derivationPath:X,index:J}){return s0("index",J),[...R1({accountIndex:y,chain:Q,derivationPath:X}),Number(Z),J]}function m1(y){return y[2]??0}function kZ({deriveAddress:y,getBalance:Z,getUtxos:Q}){async function X(f){let{accountIndex:T,count:G,startIndex:z=0,change:B=!1}=f;if(s0("count",G),G<1)throw RangeError("count must be at least 1");s0("startIndex",z);let $=[];for(let M=0;M<G;M++){let O=await y({accountIndex:T,change:B,index:z+M});if(O)$.push(O)}return $}async function J(f){let{gapLimit:T=20,change:G=!1}=f??{},z=[],B=0,$=0;while(B<T){let M=await y({change:G,index:$});if(!M)break;if((await Z(M.address)).some((C)=>C.getValue("number")>0))z.push(M),B=0;else B++;$++}return z}async function Y(f=20){let[T,G]=await Promise.all([J({change:!1,gapLimit:f}),J({change:!0,gapLimit:f})]),z=[...T,...G],B=await Promise.all(z.map(async(M)=>{let N=(await Z(M.address)).reduce((C,R)=>C+R.getValue("number"),0);return{...M,balance:N}})),$=B.reduce((M,O)=>M+O.balance,0);return{addresses:B,total:$}}async function W(f=20){let[T,G]=await Promise.all([J({change:!1,gapLimit:f}),J({change:!0,gapLimit:f})]),z=[...T,...G];return(await Promise.all(z.map(async($)=>{return(await Q($.address)).map((O)=>({...O,address:$.address,derivationIndex:$.index,isChange:$.change}))}))).flat()}return{deriveAddresses:X,getAggregatedBalance:Y,getAggregatedUtxos:W,scanForAddresses:J}}var _Z;var t5=l(()=>{_Z=require("@swapkit/helpers")});async function $Y({chain:y,txHash:Z}){let Q=`${f5(y)}/push/transaction`,X=JSON.stringify({data:Z});try{let J=await X0.RequestClient.post(Q,{body:X,headers:{"Content-Type":"application/json"}});if(J.context.code!==200)throw new X0.SwapKitError("toolbox_utxo_broadcast_failed",{error:J.context.error||"Transaction broadcast failed"});return J.data?.transaction_hash||Z}catch(J){let Y=await X0.getRPCUrl(y);if(Y){let W=JSON.stringify({id:IX(),jsonrpc:"2.0",method:"sendrawtransaction",params:[Z]}),f=await X0.RequestClient.post(Y,{body:W,headers:{"Content-Type":"application/json"}});if(f.error)throw new X0.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.error?.message});if(f.result.includes('"code":-26'))throw new X0.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return f.result}throw J}}function f5(y){return`https://api.blockchair.com/${NY(y)}`}function BZ(y){switch(y){case X0.Chain.Bitcoin:return 5;case X0.Chain.Dogecoin:return 1e4;case X0.Chain.Litecoin:return 1;case X0.Chain.Zcash:return 1;default:return 2}}function NY(y){switch(y){case X0.Chain.BitcoinCash:return"bitcoin-cash";case X0.Chain.Litecoin:return"litecoin";case X0.Chain.Dash:return"dash";case X0.Chain.Dogecoin:return"dogecoin";case X0.Chain.Zcash:return"zcash";case X0.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function OY(y){try{let{feePerKb:Z}=await X0.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),Q=Z/1000;return Math.max(Q,BZ(y))}catch{return BZ(y)}}async function r5(y,Z){let Q=await X0.RequestClient.get(`${y}${Z?`${y.includes("?")?"&":"?"}key=${Z}`:""}`);if(!Q||Q.context.code!==200)throw new X0.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return Q.data}async function _Y({chain:y,apiKey:Z}){let Q=await r5(`${f5(y)}/stats`,Z);if(typeof Q.best_block_height!=="number")throw new X0.SwapKitError("toolbox_utxo_api_error",{error:"Missing best_block_height in stats response"});return Q.best_block_height}async function CZ({address:y,chain:Z,apiKey:Q}){if(!y)throw new X0.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await r5(`${f5(Z)}/dashboards/address/${y}?transaction_details=true`,Q))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function kY({address:y,chain:Z,apiKey:Q}){return(await CZ({address:y,apiKey:Q,chain:Z}))?.address.balance||0}async function FZ({chain:y,apiKey:Z,txHash:Q}){if(!Q)throw new X0.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await r5(`${f5(y)}/raw/transaction/${Q}`,Z))?.[Q]?.raw_transaction||""}catch(X){let J=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch raw transaction: ${J}`),""}}async function DY({chain:y,apiKey:Z,txHash:Q}){if(!Q)throw new X0.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let J=(await r5(`${f5(y)}/dashboards/transaction/${Q}`,Z))?.[Q];if(!J)throw new X0.SwapKitError("toolbox_utxo_tx_not_found",{txHash:Q});let{transaction:Y,inputs:W,outputs:f}=J,T=W.map((z)=>z.spending_sequence),G=Y.is_rbf===!0||T.some((z)=>z<BY);return{blockId:Y.block_id,confirmed:Y.block_id!==-1,fee:Y.fee,inputs:W,isRBF:G,outputs:f,sequences:T,size:Y.size,txid:Y.hash,weight:Y.weight}}async function CY({chain:y,address:Z,apiKey:Q,offset:X=0,limit:J=30}){return(await r5(`${f5(y)}/outputs?q=recipient(${Z}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${J}&offset=${X}`,Q)).map(({is_spent:T,script_hex:G,block_id:z,transaction_hash:B,index:$,value:M,spending_signature_hex:O})=>({hash:B,index:$,is_confirmed:z!==-1,is_spent:T,script_hex:G,txHex:O,value:M}))}function FY(y){return y.reduce((Z,Q)=>Z+Q.value,0)}function DZ(y,Z){let Q=[...y].sort((X,J)=>J.value-X.value);if(Z){let X=[],J=0;for(let Y of Q)if(X.push(Y),J+=Y.value,J>=Z)break;return X}return Q}async function RZ({chain:y,address:Z,apiKey:Q,targetValue:X,accumulativeValue:J=0,offset:Y=0,limit:W=30}){if(!Z)throw new X0.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let f=await CY({address:Z,apiKey:Q,chain:y,limit:W,offset:Y,targetValue:X}),G=f.length<W,z=f.filter(({is_spent:C})=>!C),B=FY(z),$=J+B,M=X&&$>=X;if(G||M)return DZ(z,X);let O=await RZ({accumulativeValue:$,address:Z,apiKey:Q,chain:y,limit:W,offset:Y+W,targetValue:X}),N=[...z,...O];return DZ(N,X)}catch(f){let T=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch unspent UTXOs: ${T}`),[]}}async function RY({address:y,chain:Z,apiKey:Q,fetchTxHex:X=!0,targetValue:J}){let Y=await RZ({address:y,apiKey:Q,chain:Z,targetValue:J}),W=[];for(let{hash:f,index:T,script_hex:G,value:z}of Y){let B;if(X)B=await FZ({apiKey:Q,chain:Z,txHash:f});W.push({address:y,hash:f,index:T,txHex:B,value:z,witnessUtxo:{script:Buffer.from(G,"hex"),value:z}})}return W}function P0(y){let Z=X0.SKConfig.get("apiKeys").blockchair||"";return X0.warnOnce({condition:!Z,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(Q)=>$Y({chain:y,txHash:Q}),getAddressData:(Q)=>CZ({address:Q,apiKey:Z,chain:y}),getBalance:(Q)=>kY({address:Q,apiKey:Z,chain:y}),getBlockHeight:()=>_Y({apiKey:Z,chain:y}),getRawTx:(Q)=>FZ({apiKey:Z,chain:y,txHash:Q}),getSuggestedTxFee:()=>OY(y),getTransactionDetails:(Q)=>DY({apiKey:Z,chain:y,txHash:Q}),getUtxos:(Q)=>RY({...Q,apiKey:Z,chain:y})}}function IY(y){return y}function jY(){return function(Z){switch(Z){case X0.Chain.Bitcoin:return p1.NETWORKS.bitcoin;case X0.Chain.BitcoinCash:return p1.NETWORKS.bitcoinCash;case X0.Chain.Dash:return p1.NETWORKS.dash;case X0.Chain.Litecoin:return p1.NETWORKS.litecoin;case X0.Chain.Dogecoin:return p1.NETWORKS.dogecoin;case X0.Chain.Zcash:return p1.NETWORKS.zcash;default:throw new X0.SwapKitError("toolbox_utxo_not_supported",{chain:Z})}}}var X0,p1,BY=4294967294;var IZ=l(()=>{Q1();X0=require("@swapkit/helpers"),p1=require("@swapkit/utxo-signer")});function KY(y,Z,Q){return G1.encodeCashAddr({hash:Q,prefix:y,type:xY[Z]})}function VY(y){let Z=G1.decodeCashAddr(y),Q=PY[Z.type];if(!Q)throw Error(`Unknown CashAddr type: ${Z.type}`);return{hash:Z.hash,prefix:Z.prefix,type:Q}}var G1,xY,PY,q4;var jZ=l(()=>{G1=require("@swapkit/utxo-signer"),xY={P2PKH:G1.CashAddrType.P2PKH,P2SH:G1.CashAddrType.P2SH},PY={[G1.CashAddrType.P2PKH]:"P2PKH",[G1.CashAddrType.P2SH]:"P2SH"};q4={decode:VY,encode:KY}});function G4(y){try{return O8(y),!0}catch{return!1}}function z4(y){return O8(y)?.network}function z1(y){let Z=O8(y);if(Z?.format==="legacy")return y;return AY(Z)}function a5(y){let Z=O8(y);return SY(Z)}function O8(y){try{let Z=EY(y);if(Z)return Z}catch{}try{let Z=wY(y);if(Z)return Z}catch{}throw new T4.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function EY(y){try{let Z=VZ.decode(y);if(Z.length!==21)throw new T4.SwapKitError("toolbox_utxo_invalid_address",{address:y});let Q=Z[0],X=Array.prototype.slice.call(Z,1);switch(Q){case g1.legacy.mainnet.p2pkh:return{format:"legacy",hash:X,network:"mainnet",type:"p2pkh"};case g1.legacy.mainnet.p2sh:return{format:"legacy",hash:X,network:"mainnet",type:"p2sh"};case g1.legacy.testnet.p2pkh:return{format:"legacy",hash:X,network:"testnet",type:"p2pkh"};case g1.legacy.testnet.p2sh:return{format:"legacy",hash:X,network:"testnet",type:"p2sh"};case g1.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:X,network:"mainnet",type:"p2pkh"};case g1.bitpay.mainnet.p2sh:return{format:"bitpay",hash:X,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function wY(y){if(y.indexOf(":")!==-1)try{return xZ(y)}catch{}else{let Z=["bitcoincash","bchtest","bchreg"];for(let Q of Z)try{return xZ(`${Q}:${y}`)}catch{}}return}function xZ(y){try{let{hash:Z,prefix:Q,type:X}=q4.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(Z,0),network:Q==="bitcoincash"?"mainnet":"testnet",type:X==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function AY(y){let Z=g1.legacy[y.network][y.type],Q=Buffer.alloc(1+y.hash.length);return Q[0]=Z,Q.set(y.hash,1),VZ.encode(Q)}function SY(y){let Z=y.network==="mainnet"?"bitcoincash":"bchtest",Q=y.type==="p2pkh"?"P2PKH":"P2SH",X=new Uint8Array(y.hash);return q4.encode(Z,Q,X)}var PZ,KZ,T4,VZ,U4,g1;var EZ=l(()=>{jZ();PZ=require("@noble/hashes/sha2.js"),KZ=require("@scure/base"),T4=require("@swapkit/helpers"),VZ=KZ.createBase58check(PZ.sha256);((Q)=>{Q.Mainnet="mainnet";Q.Testnet="testnet"})(U4||={});g1={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function o0(y){let Z=new Uint8Array(Buffer.from(y,"utf8"));return AZ.Script.encode(["RETURN",Z])}var wZ,AZ,vY=1000,k8=10,B8=2,SZ=10,bY=41,hY=107,D8,_8,s5,q5=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new wZ.SwapKitError("toolbox_utxo_invalid_address",{address:y})},c1=({inputs:y,outputs:Z,feeRate:Q})=>{let X=y[0]&&"address"in y[0]&&y[0].address?q5(y[0].address):"P2PKH",Y=(Q?y.filter((G)=>G.value>=_8["type"in G&&G.type?G.type:"P2PKH"]*Math.ceil(Q)):y).reduce((G,z)=>G+I1(z),0),W=Z?.reduce((G,z)=>G+e5(z),0)||s5[X],f=k8+Y+W;return X==="P2WPKH"?Math.ceil(f+B8/4):f},I1=(y)=>{if("type"in y&&y.type)return _8[y.type];if("address"in y&&y.address)return _8[q5(y.address)];return bY+hY},e5=(y,Z)=>{if(y?.script)return SZ+y.script.length+(y.script.length>=74?2:1);if(Z)return s5[Z];if("address"in y&&y.address)return s5[q5(y.address)];return s5.P2PKH};var H4=l(()=>{wZ=require("@swapkit/helpers"),AZ=require("@swapkit/utxo-signer");((Q)=>{Q.P2PKH="P2PKH";Q.P2WPKH="P2WPKH"})(D8||={});_8={["P2PKH"]:148,["P2WPKH"]:68},s5={["P2PKH"]:34,["P2WPKH"]:31}});function T5(y){switch(y){case d0.Chain.Bitcoin:case d0.Chain.BitcoinCash:return 550;case d0.Chain.Dash:case d0.Chain.Litecoin:return 5500;case d0.Chain.Dogecoin:return 1e5;case d0.Chain.Zcash:return 546;default:throw new d0.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function i0({inputs:y,outputs:Z,feeRate:Q=1,chain:X=d0.Chain.Bitcoin,changeAddress:J="",sweep:Y=!1}){let W=T5(X),f=y.filter((C)=>{let R=I1(C)*Q;return Y?C.value>Math.max(R,W):R<=C.value});if(Y){let C=Math.ceil(Q*c1({inputs:f,outputs:Z})),R=f.reduce((P,K)=>P+K.value,0),x=R-C;if(x<=W)throw new d0.SwapKitError("toolbox_sweep_amount_too_low",{available:R,dustThreshold:W,fee:C});let S=Z.findIndex((P)=>("address"in P)&&P.address);if(S===-1)throw new d0.SwapKitError("toolbox_utxo_invalid_params",{error:"Sweep requires a recipient output"});return{fee:C,inputs:f,outputs:Z.map((P,K)=>K===S?{...P,value:x}:P)}}let z=(y[0]&&"address"in y[0]&&y[0].address?q5(y[0].address):"P2PKH")==="P2WPKH"?Math.ceil(B8/4):0,B=k8+z+Z.reduce((C,R)=>C+e5(R),0),$=Z.reduce((C,R)=>C+R.value,0),M=B*Q,O=0,N=[];for(let C of f){let R=I1(C),x=Q*R;M+=x,O+=C.value,N.push(C);let S=M+$;if(O<S)continue;let P=O-S,K=Q*e5({address:J,value:0});if(P>K){let _=K+M,D=O-($+Math.ceil(_));if(D>Math.max(I1({value:0})*Q,T5(X)))return{fee:Math.ceil(_),inputs:N,outputs:Z.concat({address:J,value:D})}}return{fee:Math.ceil(M),inputs:N,outputs:Z}}return{fee:Math.ceil(Q*c1({inputs:y,outputs:Z}))}}var d0;var vZ=l(()=>{H4();d0=require("@swapkit/helpers")});var U5=l(()=>{IZ();EZ();vZ();H4()});function o1(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function j1(y){let Z=o1(y);return G4(Z)&&z4(Z)==="mainnet"}var n1;var yy=l(()=>{U5();n1=require("@swapkit/utxo-signer")});function $4({address:y,chain:Z}){return M4.match(Z).with(v.Chain.BitcoinCash,()=>j1(y)).with(v.Chain.Zcash,()=>n1.validateZcashAddress(y)).otherwise(()=>{try{return Y0.Address(h0(Z)).decode(y),!0}catch{return!1}})}function h0(y){return M4.match(y).with(v.Chain.Bitcoin,()=>Y0.NETWORKS.bitcoin).with(v.Chain.BitcoinCash,()=>Y0.NETWORKS.bitcoinCash).with(v.Chain.Dash,()=>Y0.NETWORKS.dash).with(v.Chain.Dogecoin,()=>Y0.NETWORKS.dogecoin).with(v.Chain.Litecoin,()=>Y0.NETWORKS.litecoin).with(v.Chain.Zcash,()=>Y0.NETWORKS.zcash).exhaustive()}function lY({phrase:y,derivationPath:Z,network:Q,seed:X}){let J=X??F8.mnemonicToSeedSync(y),W=L4.HDKey.fromMasterSeed(J,Q.bip32).derive(Z);if(!W.privateKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return W.privateKey}function bZ(y){return hZ.secp256k1.getPublicKey(y,!0)}function Zy({publicKey:y,chain:Z,network:Q}){if(Z===v.Chain.BitcoinCash){let Y=Y0.p2pkh(y,Q);if(!Y.hash)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Y0.encodeCashAddr({hash:Y.hash,prefix:Y0.CashAddrPrefix.MAINNET,type:Y0.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let J=!Xy.includes(Z)?Y0.p2wpkh(y,Q):Y0.p2pkh(y,Q);if(!J.address)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return J.address}function G5({phrase:y,derivationPath:Z,chain:Q,wif:X,seed:J}){let Y=h0(Q);if(X){let G=Y0.WIF(Y).decode(X),z=bZ(G);return{privateKey:G,publicKey:z}}if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let W=Z||v.derivationPathToString(v.NetworkDerivationPath[Q]),f=lY({derivationPath:W,network:Y,phrase:y,seed:J}),T=bZ(f);return{privateKey:f,publicKey:T}}function uY(y,Z){return Y0.WIF(h0(Z)).encode(y)}function mY({phrase:y,derivationPath:Z,chain:Q,seed:X}){let J=Z.split("/");if(J.length<4)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${J.length}): ${Z}`});let Y=h0(Q),W=X??F8.mnemonicToSeedSync(y),f=L4.HDKey.fromMasterSeed(W,Y.bip32),T=J.slice(0,4).join("/");return f.derive(T)}function P1({inputs:y,outputs:Z,chain:Q,tx:X,sender:J,compiledMemo:Y,enableRBF:W=!1}){let f=h0(Q),T=!Xy.includes(Q),G=W?Y0.RBF_SEQUENCE:void 0,z=new Set;for(let B of y){let $=`${B.hash}:${B.index}`;if(z.has($))throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});z.add($);let M=typeof B.hash==="string"?x1.hex.decode(B.hash):B.hash;if(T&&B.witnessUtxo)X.addInput({index:B.index,sequence:G,txid:M,witnessUtxo:{amount:BigInt(B.witnessUtxo.value),script:B.witnessUtxo.script}});else if(B.txHex)X.addInput({index:B.index,nonWitnessUtxo:x1.hex.decode(B.txHex),sequence:G,txid:M,...Q===v.Chain.BitcoinCash?{sighashType:Y0.BCHSigHash.ALL}:{}});else throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let B of Z){let $="address"in B&&B.address?B.address:J;if(Q===v.Chain.BitcoinCash)$=z1($);if(B.script){if(Y)X.addOutput({amount:0n,script:Y})}else X.addOutputAddress($,BigInt(B.value),f)}return{inputs:y,tx:X}}async function z5(y){let Z=await P0(y).getSuggestedTxFee();return{[v.FeeOption.Average]:Z,[v.FeeOption.Fast]:v.applyFeeMultiplier(Z,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(Z,v.FeeOption.Fastest)}}async function lZ({assetValue:y,recipient:Z,memo:Q,sender:X,sweep:J,fetchTxHex:Y=!1}){let W=y.chain,f=Y||Xy.includes(W),T=y.getBaseValue("number"),G=J?void 0:Math.ceil(T+(await z5(W))[v.FeeOption.Fastest]*5000);return{inputs:await P0(W).getUtxos({address:X,fetchTxHex:f,targetValue:G}),outputs:[{address:Z,value:J?0:T},...Q?[{address:"",script:o0(Q),value:0}]:[]]}}async function uZ({assetValue:y,recipient:Z,memo:Q,feeRate:X,sender:J,fetchTxHex:Y=!1,enableRBF:W=!1,sweep:f}){let T=y.chain,G=Q?o0(Q):null,z=await lZ({assetValue:y,fetchTxHex:Y,memo:Q,recipient:Z,sender:J,sweep:f}),{inputs:B,outputs:$}=i0({...z,chain:T,feeRate:X,sweep:f});if(!(B&&$))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:J});let M=new Y0.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),{inputs:O,tx:N}=P1({chain:T,compiledMemo:G,enableRBF:W,inputs:B,outputs:$,sender:J,tx:M});return{inputs:O,tx:N,utxos:z.inputs}}async function mZ({assetValue:y,feeOptionKey:Z=v.FeeOption.Fast,feeRate:Q,memo:X,sender:J,recipient:Y,sweep:W}){let f=y.chain,T=await lZ({assetValue:y,memo:X,recipient:Y,sender:J,sweep:W}),G=Q?Math.floor(Q):(await z5(f))[Z];return i0({...T,chain:f,feeRate:G,sweep:W})}function pY(y){return async function({from:Q,memo:X,feeRate:J,feeOptionKey:Y=v.FeeOption.Fast,recipient:W=Q,recipients:f=1}){let T=J??(await z5(y))[Y],z=(await P0(y).getUtxos({address:Q,fetchTxHex:!1})).filter((N)=>N.value>Math.max(T5(y),I1(N)*T));if(!z.length)return v.AssetValue.from({chain:y});let B=typeof f==="number"?Math.max(f,1):f.length,$=typeof f==="number"||B===0?Array.from({length:B||1},()=>({address:W,value:0})):[...f];if(X)$.push({address:Q,script:o0(X),value:0});let{outputs:M}=i0({chain:y,feeRate:T,inputs:z,outputs:$,sweep:!0}),O=M?.[0]?.value??0;return v.AssetValue.from({chain:y,value:BigInt(O)})}}function gY(y){return async function(Q){let{fee:X}=await mZ(Q);return v.AssetValue.from({chain:y,value:v.SwapKitNumber.fromBigInt(BigInt(X),8).getValue("string")})}}function cY({chain:y,phrase:Z,derivationPath:Q,seed:X}){let J=h0(y),{privateKey:Y,publicKey:W}=G5({chain:y,derivationPath:Q,phrase:Z,seed:X}),f=y===v.Chain.BitcoinCash?[Y0.BCHSigHash.ALL]:[Y0.SigHash.ALL];return{getAddress:()=>Zy({chain:y,network:J,publicKey:W}),privateKey:Y,publicKey:W,signTransaction:(T)=>{return T.sign(Y,f),T}}}function oY(y,Z){return async function({memo:X,recipient:J,feeOptionKey:Y,feeRate:W,assetValue:f,enableRBF:T=!1,sweep:G}){let z=await Z?.getAddress();if(!(Z&&z))throw new v.SwapKitError("toolbox_utxo_no_signer");if(!J)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});v.warnOnce({condition:T&&!C8.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let B=T&&C8.includes(y),$=W||(await z5(y))[Y||v.FeeOption.Fast],{tx:M}=await uZ({assetValue:f,enableRBF:B,feeRate:$,memo:X,recipient:J,sender:z,sweep:G}),O=await Z.signTransaction(M);return O.finalize(),P0(y).broadcastTx(x1.hex.encode(O.extract()))}}function N4(y){return(Z)=>$4({address:Z,chain:y})}function O4(y){let Z=h0(y);return function(X){if(!X)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return Zy({chain:y,network:Z,publicKey:X.publicKey})}}function K1({chain:y,...Z}){let Q="phrase"in Z?Z.phrase:void 0,X="index"in Z?Z.index||0:0,J=Q?F8.mnemonicToSeedSync(Q):void 0,Y="derivationPath"in Z&&Z.derivationPath?Z.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[y],{index:X}),W=v.derivationPathToString(Y),f=Q?cY({chain:y,derivationPath:W,phrase:Q,seed:J}):void 0,T="signer"in Z?Z.signer:void 0,G=f||T,z=Q?G5({chain:y,derivationPath:W,phrase:Q,seed:J}):void 0;function B(){if(G)return G.getAddress();return Promise.resolve(void 0)}function $(q){if(!Q)return;let H=R1({accountIndex:q,chain:y,derivationPath:Y});return mY({chain:y,derivationPath:v.derivationPathToString(H),phrase:Q,seed:J})}let M=$();function O(){if(!M)return;return M.publicExtendedKey}function N({accountIndex:q}={}){let H=q===void 0?M:$(q);if(!H)return;let k=R1({accountIndex:q,chain:y,derivationPath:Y});return{accountIndex:m1(k),path:v.derivationPathToString(k),xpub:H.publicExtendedKey}}function C({accountIndex:q,index:H,change:k=!1}){let F=q===void 0?M:$(q);if(!F)return;let I=W5({accountIndex:q,chain:y,change:k,derivationPath:Y,index:H}),w=h0(y),A=F.deriveChild(Number(k)).deriveChild(H);if(!A.publicKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let b=Zy({chain:y,network:w,publicKey:A.publicKey}),a=x1.hex.encode(A.publicKey);return{accountIndex:m1(I),address:b,change:k,index:H,path:v.derivationPathToString(I),pubkey:a}}async function R(q){if(!C8.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let H=await P0(y).getTransactionDetails(q);return{canReplace:H.isRBF&&!H.confirmed,confirmed:H.confirmed,enabled:H.isRBF,fee:H.fee,sequences:H.sequences,supported:!0}}async function x({txid:q,newFeeRate:H,recipient:k,memo:F}){if(!C8.includes(y))throw new v.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let I=await P0(y).getTransactionDetails(q);if(!I.isRBF)throw new v.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(I.confirmed)throw new v.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:I.blockId,txid:q});let w=I.inputs.reduce((W0,N0)=>W0+N0.value,0),b=I.outputs.find((W0)=>W0.recipient===k)?.value||0;if(b===0)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let a=await Promise.all(I.inputs.map(async(W0)=>{let N0=await P0(y).getRawTx(W0.transaction_hash);return{hash:W0.transaction_hash,index:W0.index,txHex:N0,value:W0.value,witnessUtxo:void 0}})),J0=F?o0(F):null,T0=c1({feeRate:H,inputs:a.map((W0)=>({...W0,type:"P2WPKH"})),outputs:[{address:k,value:b}]}),j=Math.ceil(T0*H);if(j<=I.fee)throw new v.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:j,originalFee:I.fee});let E=j-I.fee,h=b-E;if(h<=0)throw new v.SwapKitError("toolbox_utxo_rbf_insufficient_change");let n=new Y0.Transaction({allowLegacyWitnessUtxo:!0,version:1}),i=[{address:k,value:h},...F?[{address:"",script:o0(F),value:0}]:[]],Z0=w-h-j,L0=await B();if(Z0>T5(y)&&L0)i.push({address:L0,value:Z0});return P1({chain:y,compiledMemo:J0,inputs:a,outputs:i,sender:L0||k,tx:n}),{feeDelta:E,newFee:j,originalFee:I.fee,tx:n}}async function S({txid:q,newFeeRate:H,recipient:k,memo:F}){let{tx:I,originalFee:w,newFee:A}=await x({memo:F,newFeeRate:H,recipient:k,txid:q}),b=await L(I);b.finalize();let a=await P0(y).broadcastTx(x1.hex.encode(b.extract()));return{newFee:A,originalFee:w,txid:a}}function P({accountIndex:q,index:H,change:k=!1}){s0("index",H);let F=q===void 0?M:$(q);if(!F)return;return F.deriveChild(Number(k)).deriveChild(H).privateKey||void 0}function K({tx:q,inputDerivations:H}){if(!M)throw new v.SwapKitError("toolbox_utxo_no_signer");let k=y===v.Chain.BitcoinCash?[Y0.BCHSigHash.ALL]:[Y0.SigHash.ALL];for(let F=0;F<H.length;F++){let I=H[F];if(!I)continue;let{derivationIndex:w,isChange:A}=I,b=P({change:A,index:w});if(!b)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${F} at index ${w}`});q.signIdx(b,F,k)}return q}async function _({utxos:q,recipient:H,assetValue:k,memo:F,feeRate:I,feeOptionKey:w,changeAddress:A,sweep:b}){if(b)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Sweep is not supported for transfers from multiple addresses"});if(!M)throw new v.SwapKitError("toolbox_utxo_no_signer");let a=I||(await z5(y))[w||v.FeeOption.Fast],J0=F?o0(F):null,T0=[{address:H,value:k.getBaseValue("number")}];if(J0)T0.push({address:"",script:J0,value:0});let j=q.map(({hash:W0,index:N0,value:w0,txHex:X1,witnessUtxo:Z1})=>({hash:W0,index:N0,txHex:X1,value:w0,witnessUtxo:Z1?{script:Z1.script,value:Z1.value}:void 0})),{inputs:E,outputs:h}=i0({chain:y,feeRate:a,inputs:j,outputs:T0});if(!(E&&h))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:k,sender:"multiple addresses"});let n=new Y0.Transaction({allowLegacyWitnessUtxo:!0,version:1}),i=q[0]?.address,Z0=A||await B()||i||H;P1({chain:y,compiledMemo:J0,inputs:E,outputs:h,sender:Z0,tx:n});let L0=E.map((W0)=>{let N0=q.find((w0)=>w0.hash===W0.hash&&w0.index===W0.index);return N0?{derivationIndex:N0.derivationIndex,isChange:N0.isChange}:{derivationIndex:0,isChange:!1}});return K({inputDerivations:L0,tx:n}),n.finalize(),P0(y).broadcastTx(x1.hex.encode(n.extract()))}function D({address:q,gapLimit:H=20}){if(!M)return;for(let k=0;k<H;k++){let F=C({change:!1,index:k}),I=C({change:!0,index:k}),w=F?.address===q?!1:I?.address===q;if(F?.address===q||I?.address===q)return{change:w,index:k}}return}function L(q){if(!G)throw new v.SwapKitError("toolbox_utxo_no_signer");return G.signTransaction(q)}async function U(q){let H=await L(q);return H.finalize(),await P0(y).broadcastTx(x1.hex.encode(H.extract()))}return{accumulative:i0,broadcastTx:(q)=>P0(y).broadcastTx(q),bumpFee:S,calculateTxSize:c1,createKeysForPath:(q)=>G5({...q,chain:y}),createReplacementTransaction:x,createTransaction:uZ,deriveAddressAtIndex:C,derivePrivateKeyAtIndex:P,estimateMaxSendableAmount:pY(y),estimateTransactionFee:gY(y),getAddress:B,getAddressFromKeys:O4(y),getBalance:A0(y),getExtendedPublicKey:O,getExtendedPublicKeyInfo:N,getFeeRates:()=>z5(y),getInputsOutputsFee:mZ,getNetworkForChain:()=>h0(y),getPrivateKeyFromMnemonic:(q)=>uY(G5({...q,chain:y}).privateKey,y),isRBFEnabled:R,keys:z,resolveDerivationIndex:D,signAndBroadcastTransaction:U,signTransaction:L,signTransactionWithMultipleKeys:K,transfer:oY(y,G),transferFromMultipleAddresses:_,validateAddress:N4(y)}}var hZ,x1,L4,F8,v,Y0,M4,Xy,C8;var H5=l(()=>{Q1();t5();U5();yy();hZ=require("@noble/curves/secp256k1.js"),x1=require("@scure/base"),L4=require("@scure/bip32"),F8=require("@scure/bip39"),v=require("@swapkit/helpers"),Y0=require("@swapkit/utxo-signer"),M4=require("ts-pattern"),Xy=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash],C8=[v.Chain.Bitcoin]});function Qy(y){return o1(a5(y))}function nY(y){let Z=h0(q1);function Q(J){return J.sign(y.privateKey,[K0.BCHSigHash.ALL]),J}function X(){let J=K0.p2pkh(y.publicKey,Z);if(!J.hash)throw new j0.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let Y=K0.encodeCashAddr({hash:J.hash,prefix:K0.CashAddrPrefix.MAINNET,type:K0.CashAddrType.P2PKH});return Promise.resolve(Y.replace(/^bitcoincash:/,""))}return{getAddress:X,signTransaction:Q}}function k4(y){let Z="phrase"in y?y.phrase:void 0,Q="index"in y?y.index||0:0,X=j0.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:j0.updateDerivationPath(j0.NetworkDerivationPath[q1],{index:Q})),J=Z?G5({chain:q1,derivationPath:X,phrase:Z}):void 0,Y=J?nY(J):("signer"in y)?y.signer:void 0;function W(){return Promise.resolve(Y?.getAddress())}let{getBalance:f,getFeeRates:T,broadcastTx:G,...z}=K1({chain:q1});function B(O,N=!0){return f(o1(a5(O)))}function $(O){if(!Y)throw new j0.SwapKitError("toolbox_utxo_no_signer");return Y.signTransaction(O)}async function M(O){let N=await $(O);return N.finalize(),await G(_4.hex.encode(N.extract()))}return{...z,broadcastTx:G,buildTx:iY,createTransaction:pZ,getAddress:W,getAddressFromKeys:tY,getBalance:B,getFeeRates:T,signAndBroadcastTransaction:M,signTransaction:$,stripPrefix:o1,stripToCashAddress:Qy,transfer:dY({broadcastTx:G,getFeeRates:T,signer:Y}),validateAddress:j1}}async function pZ({assetValue:y,recipient:Z,memo:Q,feeRate:X,sender:J,sweep:Y}){if(!j1(Z))throw new j0.SwapKitError("toolbox_utxo_invalid_address",{address:Z});let W=Math.ceil(y.getBaseValue("number")+X*7500),f=await P0(q1).getUtxos({address:Qy(J),fetchTxHex:!0,targetValue:Y?void 0:W}),T=Q?o0(Q):null,G=[],z=z1(Z);if(G.push({address:z,value:Y?0:y.getBaseValue("number")}),T)G.push({script:T,value:0});let{inputs:B,outputs:$}=i0({chain:q1,feeRate:X,inputs:f,outputs:G,sweep:Y});if(!(B&&$))throw new j0.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:J});let M=new K0.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!T,version:1}),O=z1(J),{inputs:N,tx:C}=P1({chain:q1,compiledMemo:T,inputs:B,outputs:$.map((R)=>("address"in R)&&R.address?{...R,address:z1(R.address)}:R),sender:O,tx:M});return{inputs:N,tx:C,utxos:B}}function dY({broadcastTx:y,getFeeRates:Z,signer:Q}){return async function({recipient:J,assetValue:Y,feeOptionKey:W=j0.FeeOption.Fast,sweep:f,...T}){let G=await Q?.getAddress();if(!(Q&&G))throw new j0.SwapKitError("toolbox_utxo_no_signer");if(!J)throw new j0.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let z=T.feeRate||(await Z())[W],{tx:B}=await pZ({...T,assetValue:Y,feeRate:z,recipient:J,sender:G,sweep:f}),$=await Q.signTransaction(B);return $.finalize(),y(_4.hex.encode($.extract()))}}async function iY({assetValue:y,recipient:Z,memo:Q,feeRate:X,sender:J}){let Y=a5(Z);if(!j1(Y))throw new j0.SwapKitError("toolbox_utxo_invalid_address",{address:Y});let W=Math.ceil(y.getBaseValue("number")+X*7500),f=await P0(q1).getUtxos({address:Qy(J),fetchTxHex:!0,targetValue:W}),T=Number(X.toFixed(0)),G=Q?o0(Q):null,z=[];if(z.push({address:z1(Z),value:y.getBaseValue("number")}),G)z.push({script:G,value:0});let{inputs:B,outputs:$}=i0({chain:q1,feeRate:T,inputs:f,outputs:z});if(!(B&&$))throw new j0.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:J});let M=new K0.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),{inputs:O,tx:N}=P1({chain:q1,compiledMemo:G,inputs:B,outputs:$,sender:z1(J),tx:M});return{inputs:O,tx:N,utxos:f}}function tY(y){let Z=K0.NETWORKS.bitcoinCash,Q=K0.p2pkh(y.publicKey,Z);if(!Q.hash)throw new j0.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return K0.encodeCashAddr({hash:Q.hash,prefix:K0.CashAddrPrefix.MAINNET,type:K0.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var _4,j0,K0,q1;var R8=l(()=>{U5();H5();yy();_4=require("@scure/base"),j0=require("@swapkit/helpers"),K0=require("@swapkit/utxo-signer"),q1=j0.Chain.BitcoinCash});function C4(){let{isStagenet:y}=_0.SKConfig.get("envs");return y?G0.ZCASH_TEST_NETWORK:G0.ZCASH_NETWORK}function aY(y){return rY.encode(y)}function sY({phrase:y,derivationPath:Z}){let Q=D4.mnemonicToSeedSync(y),J=B4.HDKey.fromMasterSeed(Q).derive(Z);if(!J.privateKey||!J.publicKey)throw new _0.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:Y,publicKey:W}=J,f=G0.utils.hash160(W),{isStagenet:T}=_0.SKConfig.get("envs"),G=T?new Uint8Array([29,37]):new Uint8Array([28,184]),z=new Uint8Array(G.length+f.length);z.set(G,0),z.set(f,G.length);let B=aY(z);return{getAddress:()=>Promise.resolve(B),signTransaction:($)=>{if($ instanceof G0.ZcashPSBT){let M=$.toPCZT();return M.signAllInputs(Y,W,G0.ZcashSigHash.ALL),M.finalizeAllInputs(),Promise.resolve(M.extract())}if($ instanceof G0.PCZT)return $.signAllInputs(Y,W,G0.ZcashSigHash.ALL),$.finalizeAllInputs(),Promise.resolve($.extract());return $.signAllInputs(Y,W,G0.ZcashSigHash.ALL),Promise.resolve($)}}}function eY({inputs:y,outputs:Z,tx:Q,sender:X,compiledMemo:J}){let Y=C4();for(let W of y){let f=G0.Address(Y).decode(X),T=G0.OutScript.encode(f);Q.addInput({index:W.index,script:T,sequence:4294967295,txid:I8.hex.decode(W.hash),value:BigInt(W.value)})}for(let W of Z){let f="address"in W&&W.address?W.address:X,T=W.script;if(T&&!J)continue;if(T&&J)Q.addOutput({amount:0n,script:J});else Q.addOutputAddress(f,BigInt(W.value),Y)}return{inputs:y,tx:Q}}async function yW(){let{isStagenet:y}=_0.SKConfig.get("envs");if(y)return G0.ZcashConsensusBranchId.IRONWOOD;try{let Z=await P0(_0.Chain.Zcash).getBlockHeight();return G0.getZcashConsensusBranchId(Z+1)}catch{return G0.ZcashConsensusBranchId.IRONWOOD}}async function gZ(y){let{assetValue:Z,recipient:Q,memo:X,feeRate:J,sender:Y,fetchTxHex:W,sweep:f}=y,T=C4();if(!G0.isTransparentZcashAddress(Y,T))throw new _0.SwapKitError("toolbox_utxo_invalid_address",{address:Y});if(!G0.isTransparentZcashAddress(Q,T))throw new _0.SwapKitError("toolbox_utxo_invalid_address",{address:Q,error:"Zcash transaction creation currently supports transparent addresses only"});let G=X?o0(X):null,z=await P0(_0.Chain.Zcash).getUtxos({address:Y,fetchTxHex:W!==!1}),B=[{address:Q,value:f?0:Number(Z.getBaseValue("string"))},...G?[{script:G,value:0}]:[]],{inputs:$,outputs:M}=i0({chain:_0.Chain.Zcash,changeAddress:Y,feeRate:J,inputs:z,outputs:B,sweep:f});if(!($&&M))throw new _0.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:Z,sender:Y});let O=G0.createZcashTransaction({consensusBranchId:await yW(),expiryHeight:0,lockTime:0,version:4,versionGroupId:G0.ZcashVersionGroupId.SAPLING}),{tx:N,inputs:C}=eY({compiledMemo:G,inputs:$,outputs:M,sender:Y,tx:O});return{inputs:C,outputs:M,tx:N}}function F4(y){let Z=L5.match(y).with({signer:L5.P.not(L5.P.nullish)},({signer:T})=>T).with({phrase:L5.P.string},({phrase:T,derivationPath:G,index:z=0})=>{let B=G||_0.NetworkDerivationPath[_0.Chain.Zcash]||[44,133,0,0,0],$=_0.updateDerivationPath(B,{index:z}),M=_0.derivationPathToString($);return sY({derivationPath:M,phrase:T})}).otherwise(()=>{return}),Q=K1({chain:_0.Chain.Zcash,signer:Z});async function X(T){if(!Z)throw new _0.SwapKitError("toolbox_utxo_no_signer");return await Z.signTransaction(T)}async function J(T){let G=await X(T);return Q.broadcastTx(G.toHex())}async function Y({recipient:T,assetValue:G,feeOptionKey:z=_0.FeeOption.Fast,sweep:B,...$}){let M=await Z?.getAddress();if(!(Z&&M))throw new _0.SwapKitError("toolbox_utxo_no_signer");let O=$.feeRate||(await Q.getFeeRates())[z],{tx:N}=await gZ({...$,assetValue:G,feeRate:O,recipient:T,sender:M,sweep:B}),R=(await Z.signTransaction(N)).toHex();return Q.broadcastTx(R)}function W({phrase:T,derivationPath:G="m/44'/133'/0'/0/0"}){let z=D4.mnemonicToSeedSync(T),$=B4.HDKey.fromMasterSeed(z).derive(G);if(!$.privateKey||!$.publicKey)throw new _0.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:$.privateKey,publicKey:$.publicKey}}function f({phrase:T,derivationPath:G="m/44'/133'/0'/0/0"}){let z=W({derivationPath:G,phrase:T}),B=C4();return G0.WIF(B).encode(z.privateKey)}return{...Q,createKeysForPath:W,createTransaction:gZ,getPrivateKeyFromMnemonic:f,signAndBroadcastTransaction:J,signTransaction:X,transfer:Y,validateAddress:n1.validateZcashAddress}}var I8,B4,D4,_0,G0,L5,rY;var R4=l(()=>{U5();H5();yy();I8=require("@scure/base"),B4=require("@scure/bip32"),D4=require("@scure/bip39"),_0=require("@swapkit/helpers"),G0=require("@swapkit/utxo-signer"),L5=require("ts-pattern");rY=I8.createBase58check(G0.utils.sha256)});function dZ({xpub:y,chain:Z,count:Q,startIndex:X=0,accountIndex:J}){if(s0("count",Q),Q<1)throw RangeError("count must be at least 1");s0("startIndex",X);let Y=h0(Z),W=oZ.HDKey.fromExtendedKey(y,Y.bip32),f=R1({accountIndex:J,chain:Z}),T=m1(f),G=[];for(let z of[!1,!0]){let B=W.deriveChild(Number(z));for(let $=0;$<Q;$++){let M=X+$,O=B.deriveChild(M);if(!O.publicKey)continue;let N=W5({accountIndex:J,chain:Z,change:z,index:M});G.push({accountIndex:T,address:Zy({chain:Z,network:Y,publicKey:O.publicKey}),change:z,index:M,path:nZ.derivationPathToString(N),pubkey:cZ.hex.encode(O.publicKey)})}}return G}var cZ,oZ,nZ;var iZ=l(()=>{t5();H5();cZ=require("@scure/base"),oZ=require("@scure/bip32"),nZ=require("@swapkit/helpers")});function XW(y,Z){switch(y){case H1.Chain.BitcoinCash:return k4(Z||{});case H1.Chain.Zcash:return F4(Z);case H1.Chain.Bitcoin:case H1.Chain.Dogecoin:case H1.Chain.Litecoin:case H1.Chain.Dash:return K1({chain:y,...Z});default:throw new H1.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var H1;var tZ=l(()=>{R8();H5();R4();t5();iZ();R8();yy();H1=require("@swapkit/helpers")});var I4={};x0(I4,{validateZcashAddress:()=>n1.validateZcashAddress,validateUtxoAddress:()=>$4,validateBchAddress:()=>j1,toLegacyAddress:()=>z1,toCashAddress:()=>a5,stripToCashAddress:()=>Qy,stripPrefix:()=>o1,nonSegwitChains:()=>Xy,isValidAddress:()=>G4,getUtxoToolbox:()=>XW,getUtxoNetwork:()=>jY,getUtxoApi:()=>P0,getUTXOAddressValidator:()=>N4,getUTXOAddressPath:()=>W5,getUTXOAccountPath:()=>R1,getUTXOAccountIndexFromPath:()=>m1,getScriptTypeForAddress:()=>q5,getOutputSize:()=>e5,getNetworkForChain:()=>h0,getInputSize:()=>I1,getDustThreshold:()=>T5,detectAddressNetwork:()=>z4,deriveAddressesFromXpub:()=>dZ,createZcashToolbox:()=>F4,createUTXOToolbox:()=>K1,createHDWalletHelpers:()=>kZ,createCustomUtxoApi:()=>IY,createBCHToolbox:()=>k4,compileMemo:()=>o0,calculateTxSize:()=>c1,assertDerivationIndex:()=>s0,addressFromKeysGetter:()=>O4,addInputsAndOutputs:()=>P1,accumulative:()=>i0,UtxoNetwork:()=>U4,UTXOScriptType:()=>D8,TX_OVERHEAD:()=>k8,SEGWIT_MARKER_FLAG_WEIGHT:()=>B8,OutputSizes:()=>s5,OP_RETURN_OVERHEAD:()=>SZ,MIN_TX_FEE:()=>vY,InputSizes:()=>_8});module.exports=E0(I4);var j4=l(()=>{H5();t5();U5();tZ();R8();R4()});function Jy(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function x8(y){let{KeyPair:Z}=await import("@near-js/crypto"),Q=y.index||0,X=y.derivationPath?j8.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${Q}'`,{parseSeedPhrase:J}=await import("near-seed-phrase"),{secretKey:Y}=J(y.phrase,X),W=Z.fromString(Y);return rZ(W)}async function x4(y){let{KeyPair:Z}=await import("@near-js/crypto"),Q=Z.fromString(y);return rZ(Q)}async function rZ(y){let{KeyPairSigner:Z}=await import("@near-js/signers");class Q extends Z{#y;constructor(X){super(X);this.#y=X}getAddress(){let X=this.#y.getPublicKey(),J=Buffer.from(X.data).toString("hex");return Promise.resolve(J)}}return new Q(y)}async function P8(y,Z){let X=(await y.query({account_id:Z,finality:"final",request_type:"view_access_key_list"})).keys.find((f)=>f.access_key.permission==="FullAccess");if(!X)throw new j8.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:J}=await import("@near-js/crypto"),Y=J.fromString(X.public_key);return{nonce:X.access_key.nonce||0,publicKey:Y}}var j8;var P4=l(()=>{j8=require("@swapkit/helpers")});function K4(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function V4(y){return"contractId"in y&&"methodName"in y}function E4(y){return"actions"in y}function w4(y){return"newAccountId"in y}function A4(y){return"contractCode"in y}function S4(y){return"customEstimator"in y}function v4(y){let Z=0;for(let Q of y)switch(Q.enum){case"transfer":Z+=Number(v0.SIMPLE_TRANSFER);break;case"functionCall":Z+=Number(v0.CONTRACT_CALL);break;case"createAccount":Z+=Number(v0.ACCOUNT_CREATION);break;case"deployContract":Z+=Number(v0.CONTRACT_DEPLOYMENT);break;case"addKey":Z+=Number(v0.ACCESS_KEY_ADDITION);break;case"deleteKey":Z+=Number(v0.ACCESS_KEY_DELETION);break;case"stake":Z+=Number(v0.STAKE);break;default:Z+=Number(v0.CONTRACT_CALL)}return Z.toString()}function b4(y){if(y==="ft_transfer"||y==="ft_transfer_call")return v0.TOKEN_TRANSFER;if(y==="storage_deposit")return v0.STORAGE_DEPOSIT;return v0.CONTRACT_CALL}function ZW(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function QW(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var v0;var h4=l(()=>{v0={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 l4({account:y,contractId:Z,viewMethods:Q,changeMethods:X}){let{Contract:J}=await import("@near-js/accounts");return new J(y,Z,{changeMethods:X,useLocalViewExecution:!0,viewMethods:Q})}function qW(y){let Z;async function Q(){if(Z)return Z;return Z=await M5.match(y).with({phrase:M5.P.string},async(j)=>{return await x8(j)}).with({signer:M5.P.any},({signer:j})=>j).otherwise(()=>{return}),Z}async function X(){let{JsonRpcProvider:j}=await import("@near-js/providers"),E=await z0.getRPCUrl(z0.Chain.Near);return new j({url:E})}async function J(j){let{Account:E}=await import("@near-js/accounts"),h=await X(),n=await Q(),i=j||await Y();return new E(i,h,n)}async function Y(){let j=await Q();if(!j)throw new z0.SwapKitError("toolbox_near_no_signer");return await j.getAddress()}async function W(j,E){return(E||await X()).callFunction(j.contractId,"storage_balance_of",{account_id:j.accountId},{finality:"final"})}async function f(j,E){try{let h=await E.callFunction(j,"storage_balance_bounds",{},{finality:"final"});return h?.min?BigInt(h.min):aZ}catch{return aZ}}function T(j){return(j*(u4+fW)+u4-1n)/u4}function G(j,E){return BigInt(j)*BigInt(E.runtime_config.storage_amount_per_byte)}function z(j,E){if(j<=0n)throw new z0.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:E});return j}async function B(j){return await(j||await X()).experimental_protocolConfig({finality:"final"})}async function $(j,E,h){let i=await(h||await X()).callFunction(j,"ft_balance_of",{account_id:E},{finality:"final"});return BigInt(i||"0")}async function M(j){if(!await Q())throw new z0.SwapKitError("toolbox_near_no_signer");let{assetValue:h,recipient:n,memo:i,sweep:Z0}=j,L0=await Y(),W0=await C({assetValue:h,memo:i,recipient:n,sender:L0,sweep:Z0});return q(W0)}async function O({assetValue:j,attachedDeposit:E,memo:h,provider:n,recipient:i,sender:Z0,sweep:L0}){let W0=j.address;if(!W0)throw new z0.SwapKitError("toolbox_near_missing_contract_address");let N0=await W({accountId:i,contractId:W0},n),w0=N0?0n:await f(W0,n),X1=N0?YW:JW,Z1=BigInt(E||"1"),r1=j.getBaseValue("bigint");if(L0){let[a1,s1,D5,Uy]=await Promise.all([$(W0,Z0,n),n.viewAccount(Z0,{finality:"final"}),B(n),k(n)]);r1=z(a1,{asset:j.toString(),balance:a1.toString()});let Gy=G(s1.storage_usage,D5),C5=s1.amount-Gy,zy=w0,UX=(X1+(N0?0n:sZ))*T(Uy)+zy+Z1;if(C5<UX)throw new z0.SwapKitError("toolbox_sweep_amount_too_low",{asset:j.toString(),availableNear:C5.toString(),reason:"Insufficient NEAR to cover token transfer gas and storage deposit",requiredNear:UX.toString()})}let L1=[];if(!N0)L1.push(await P({args:{account_id:i},attachedDeposit:w0.toString(),gas:sZ.toString(),methodName:"storage_deposit"}));return L1.push(await P({args:{amount:r1.toString(),memo:h||null,receiver_id:i},attachedDeposit:Z1.toString(),gas:X1.toString(),methodName:"ft_transfer"})),S({actions:L1,receiverId:W0,sender:Z0})}async function N({assetValue:j,attachedDeposit:E,memo:h,provider:n,recipient:i,sender:Z0,sweep:L0}){let{publicKey:W0,nonce:N0}=await P8(n,Z0),w0=j.getBaseValue("bigint");if(L0){let[D5,Uy]=await Promise.all([n.viewAccount(Z0,{finality:"final"}),B(n)]),Gy=await H({assetValue:j,memo:h,recipient:i,sweep:L0},Uy),C5=G(D5.storage_usage,Uy),zy=0n;if(h&&E){let TX=await k(n);zy=WW*T(TX)+BigInt(E)}w0=z(D5.amount-Gy.getBaseValue("bigint")-C5-zy,{asset:j.toString(),balance:D5.amount.toString(),fee:Gy.getBaseValue("bigint").toString(),storageStakeReserve:C5.toString()})}let{actionCreators:X1,createTransaction:Z1}=await import("@near-js/transactions"),{baseDecode:r1}=await import("@near-js/utils"),L1=[X1.transfer(w0)];if(h&&E)L1.push(X1.functionCall("memo",{memo:h},BigInt("250000000000000"),BigInt(E)));let a1=await n.block({finality:"final"}),s1=r1(a1.header.hash);return Z1(Z0,W0,i,N0+1,L1,s1)}async function C({recipient:j,assetValue:E,memo:h,attachedDeposit:n,sender:i,functionCall:Z0,sweep:L0}){if(!Jy(j))throw new z0.SwapKitError("toolbox_near_invalid_address",{recipient:j});if(!Jy(i))throw new z0.SwapKitError("toolbox_near_invalid_address",{sender:i});if(Z0)return x({...Z0,sender:i});if(L0&&!await Q())throw new z0.SwapKitError("toolbox_near_no_signer");let W0=await X(),N0={assetValue:E,attachedDeposit:n,memo:h,provider:W0,recipient:j,sender:i,sweep:L0};return E.isGasAsset?N(N0):O(N0)}function R(j){let E=j.encode();return Buffer.from(E).toString("base64")}async function x({args:j,attachedDeposit:E,contractId:h,gas:n,methodName:i,sender:Z0}){let L0=await P({args:j,attachedDeposit:E,gas:n,methodName:i});return S({actions:[L0],receiverId:h,sender:Z0})}async function S({actions:j,receiverId:E,sender:h}){let n=await X(),{publicKey:i,nonce:Z0}=await P8(n,h),{createTransaction:L0}=await import("@near-js/transactions"),{baseDecode:W0}=await import("@near-js/utils"),N0=await n.block({finality:"final"}),w0=W0(N0.header.hash);return L0(h,i,E,Z0+1,j,w0)}async function P(j){let{actionCreators:E}=await import("@near-js/transactions");return E.functionCall(j.methodName,Buffer.from(JSON.stringify(j.args)),BigInt(j.gas),BigInt(j.attachedDeposit))}async function K(j){let E=await Q();if(!E)throw new z0.SwapKitError("toolbox_near_no_signer");await _(j);let[h,n]=await E.signTransaction(j);return n}async function _(j){let E=j.publicKey;if(E.toString?.().startsWith("ed25519:")||E.toString?.().startsWith("secp256k1:"))return;let{KeyType:h,PublicKey:n}=await import("@near-js/crypto"),i=E.data||E.ed25519Key?.data,Z0=E.secp256k1Key?.data;if(i){j.publicKey=new n({data:Uint8Array.from(i),keyType:h.ED25519});return}if(Z0)j.publicKey=new n({data:Uint8Array.from(Z0),keyType:h.SECP256K1})}function D(j){if(typeof j==="string")return j;if(Array.isArray(j))return j.map(D).find(Boolean);if(!(j&&typeof j==="object"))return;let E=j;return E.transaction?.hash||E.transaction_outcome?.id}function L(j){return j instanceof Error?j.message:String(j)}async function U(j){let h=await(await X()).sendTransaction(j),n=D(h);if(!n)throw new z0.SwapKitError("toolbox_near_transfer_failed",{result:h});return n}async function q(j){let E=await Q();if(!E)throw new z0.SwapKitError("toolbox_near_no_signer");let h;try{h=await K(j)}catch(n){let i;try{i=E.signAndSendTransaction?await E.signAndSendTransaction({actions:j.actions,receiverId:j.receiverId,signerId:j.signerId}):await E.signAndSendTransactions?.({transactions:[j]})}catch(L0){throw new z0.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:L(n),signAndSendError:L(L0)}},L0)}let Z0=D(i);if(Z0)return Z0;throw n}return U(h)}async function H(j,E){let h=await Q();if("assetValue"in j){if(j.sweep&&!h)throw new z0.SwapKitError("toolbox_near_no_signer");try{let[i,Z0]=await Promise.all([k(),E?Promise.resolve(E):B()]),{runtime_config:L0}=Z0,{execution:W0,send_sir:N0}=L0.transaction_costs.action_receipt_creation_config,{execution:w0,send_sir:X1}=L0.transaction_costs.action_creation_config.transfer_cost,Z1=BigInt(X1)+BigInt(w0),r1=BigInt(N0)+BigInt(W0),L1=Z1+r1,a1=j.sweep?T(i):i,s1=L1*a1;return z0.AssetValue.from({chain:z0.Chain.Near,value:s1})}catch(i){throw new z0.SwapKitError({errorKey:"toolbox_fee_estimation_failed",info:{chain:z0.Chain.Near,message:L(i)}},i)}}let n=h?await J():void 0;return b(j,n)}async function k(j){let h=await(j||await X()).gasPrice(null);return BigInt(h.gas_price)}async function F(j,E,h){if(!await Q())throw new z0.SwapKitError("toolbox_near_no_signer");let i=await J(),{formatNearAmount:Z0}=await import("@near-js/utils"),{PublicKey:L0}=await import("@near-js/crypto"),W0=Z0(h)||"0";return(await i.createAccount(j,L0.fromString(E),BigInt(W0))).transaction.hash}async function I(j){let E=await Q();try{if(!E)throw new z0.SwapKitError("toolbox_near_no_signer");let{actionCreators:h}=await import("@near-js/transactions"),{contractId:n,methodName:i,args:Z0,deposit:L0}=j,W0=await J(),N0=await b({args:Z0||{},contractId:n,methodName:i}),w0=h.functionCall(i,Z0||{},N0.getBaseValue("bigint"),BigInt(L0||"1"));return(await W0.signAndSendTransaction({actions:[w0],receiverId:n})).transaction_outcome.id}catch(h){throw new z0.SwapKitError("toolbox_near_transfer_failed",{error:h})}}async function w(j){let E=await J();return l4({account:E,changeMethods:j.changeMethods,contractId:j.contractId,viewMethods:j.viewMethods})}async function A(j){if(!await Q())throw new z0.SwapKitError("toolbox_near_no_signer");if(j.actions.length===0)throw new z0.SwapKitError("toolbox_near_empty_batch");return(await(await J()).signAndSendTransaction({actions:j.actions,receiverId:j.receiverId})).transaction.hash}async function b(j,E){let h=await M5.match(j).when(K4,()=>v0.SIMPLE_TRANSFER).when(V4,(i)=>b4(i.methodName)).when(E4,(i)=>v4(i.actions)).when(w4,()=>v0.ACCOUNT_CREATION).when(A4,()=>v0.CONTRACT_DEPLOYMENT).when(S4,(i)=>{if(!E)throw new z0.SwapKitError("toolbox_near_no_account");return i.customEstimator(E)}).otherwise(()=>{throw new z0.SwapKitError("toolbox_near_invalid_gas_params")}),n=BigInt(h)*BigInt(1000000000000);return z0.AssetValue.from({chain:z0.Chain.Near,value:n})}function a(j,E){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),b(j,E)}async function J0(){let j=await X();try{return(await j.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function T0(){let j=await Q();return j?(await j.getPublicKey()).toString():""}return{broadcastTransaction:U,callFunction:I,createAction:P,createContract:w,createContractFunctionCall:x,createSubAccount:F,createTransaction:C,estimateGas:a,estimateGasLimit:b,estimateTransactionFee:H,executeBatchTransaction:A,getAddress:Y,getBalance:A0(z0.Chain.Near),getGasPrice:J0,getNearProvider:X,getPublicKey:T0,getSignerFromPhrase:x8,getSignerFromPrivateKey:x4,serializeTransaction:R,signAndBroadcastTransaction:q,signTransaction:K,transfer:M,validateAddress:Jy}}var z0,M5,aZ=1250000000000000000000n,sZ=150000000000000n,JW=150000000000000n,YW=250000000000000n,WW=250000000000000n,fW=500n,u4=10000n;var m4=l(()=>{Q1();P4();h4();z0=require("@swapkit/helpers"),M5=require("ts-pattern")});var eZ=l(()=>{m4()});var p4={};x0(p4,{validateNearAddress:()=>Jy,tgasToGas:()=>ZW,isSimpleTransfer:()=>K4,isCustomEstimator:()=>S4,isContractDeployment:()=>A4,isContractCall:()=>V4,isBatchTransaction:()=>E4,isAccountCreation:()=>w4,getNearToolbox:()=>qW,getNearSignerFromPrivateKey:()=>x4,getNearSignerFromPhrase:()=>x8,getFullAccessPublicKey:()=>P8,getContractMethodGas:()=>b4,gasToTGas:()=>QW,estimateBatchGas:()=>v4,createNearContract:()=>l4,GAS_COSTS:()=>v0});module.exports=E0(p4);var g4=l(()=>{P4();h4();m4();eZ()});var c4={};x0(c4,{validateRadixAddress:()=>y6,getRadixToolbox:()=>zW});module.exports=E0(c4);function y6(y){return y.startsWith("account_rdx1")&&y.length===66}async function TW({address:y,networkApi:Z}){let Q=!0,X,J=[],Y=await GW(Z);while(Q){let W={address:y,at_ledger_state:{state_version:Y},cursor:X,limit_per_page:100},f=await Z.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:W});if(J=J.concat(f.items),f.next_cursor)X=f.next_cursor;else Q=!1}return J}async function UW({resources:y,networkApi:Z}){let Q=[],X=50,J=[];for(let Y=0;Y<y.length;Y+=50)J.push(y.slice(Y,Y+50));for(let Y of J){let W=Y.map((G)=>G.resource_address),f=await Z.state.getEntityDetailsVaultAggregated(W),T=new Map;for(let G of f)if(G.details!==void 0){let z=G.metadata?.items.find(($)=>$.key==="symbol"),B=z?.value.typed.type==="String"?z.value.typed.value:"?";if(G.details.type==="FungibleResource")T.set(G.address,{decimals:G.details.divisibility,symbol:B})}for(let G of Y)if(G.aggregation_level==="Global"){let z=T.get(G.resource_address)||{decimals:0,symbol:"?"},B=e0.AssetValue.from({asset:z.symbol!==e0.Chain.Radix?`${e0.Chain.Radix}.${z.symbol}-${G.resource_address}`:"XRD.XRD",value:G.amount});Q.push(B)}}return Q}async function GW(y){return(await y.status.getCurrent()).ledger_state.state_version}function zW({dappConfig:y}={}){let Z=y||e0.SKConfig.get("integrations").radix,Q;async function X(){if(Q)return Q;let{GatewayApiClient:Y}=await import("@radixdlt/babylon-gateway-api-sdk"),{RadixDappToolkit:W}=await import("@radixdlt/radix-dapp-toolkit"),f=W({...Z,networkId:Z.network?.networkId||1});return Q=Y.initialize(f.gatewayApi.clientConfig),Q}async function J(Y){let W=await X(),f=await TW({address:Y,networkApi:W}),T=await UW({networkApi:W,resources:f});if(!T.some((z)=>z.isGasAsset))return[e0.AssetValue.from({chain:e0.Chain.Radix}),...T];return T}return{getAddress:()=>"",getBalance:J,getNetworkApi:X,signAndBroadcast:()=>{throw new e0.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:y6}}var e0;var o4=l(()=>{e0=require("@swapkit/helpers")});function K8(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function d1(y){if(K8(y))return y.toUpperCase();if(y.length<=3){let Q=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${Q}${"0".repeat(10)}`.toUpperCase()}let Z=Buffer.from(y).toString("hex").toUpperCase();if(Z.length>40)throw new X6.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return Z.padEnd(40,"0")}function HW(y){if(!K8(y))return y;if(y.toUpperCase().startsWith("00")){let Z=y.slice(24,30);try{let Q=Buffer.from(Z,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(Q)&&Q.length>0)return Q}catch{}return y.toUpperCase()}try{let Z=y.replace(/0+$/,""),Q=Z.length%2===0?Z:`${Z}0`,X=Buffer.from(Q,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(X))return X}catch{}return y.toUpperCase()}function $5(y){if(K8(y))return y.toUpperCase();if(y.length<=3)return y;return d1(y)}var X6;var V8=l(()=>{X6=require("@swapkit/helpers")});async function LW(y,Z){let Q=$5(y),X=w8.find((J)=>$5(J.currency)===Q&&J.issuer===Z);if(X)return X;try{let J=await E8.RequestClient.get(`https://api.xrplmeta.org/token/${y}:${Z}`);if(J)return{currency:y,decimals:15,description:J.desc,domain:J.domain,icon:J.icon,issuer:Z,name:J.name,verified:J.self_assessment?.is_regulated||J.self_assessment?.is_licensed}}catch(J){E8.warnOnce({condition:!0,id:`xrpl_token_lookup_${y}_${Z}`,warning:`Failed to fetch XRPL token info for ${y}:${Z}: ${J}`})}return{currency:y,decimals:15,issuer:Z,verified:!1}}function MW(y){return w8.filter((Z)=>Z.issuer===y)}function $W(y,Z){let Q=$5(y);return w8.some((X)=>$5(X.currency)===Q&&X.issuer===Z)}var E8,w8;var Z6=l(()=>{V8();E8=require("@swapkit/helpers"),w8=[{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 d4={};x0(d4,{validateRippleAddress:()=>Yy,parseXrplTokenIdentifier:()=>n4,normalizeCurrency:()=>$5,isKnownToken:()=>$W,isHexCurrency:()=>K8,hexToCurrency:()=>HW,getXrplTokenInfo:()=>LW,getRippleToolbox:()=>OW,getKnownTokensByIssuer:()=>MW,formatXrplTokenIdentifier:()=>W6,currencyToHex:()=>d1,XRPL_TOKEN_ERROR_CODES:()=>A8,XRPL_KNOWN_TOKENS:()=>w8});module.exports=E0(d4);function Q6(y){if(typeof y!=="object"||y===null||!("data"in y))return!1;let{data:Z}=y;return typeof Z==="object"&&Z!==null&&"error_code"in Z&&Z.error_code===NW.ACCOUNT_NOT_FOUND}function n4(y){let Z=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!Z?.[1]||!Z?.[2])return null;if(!Yy(Z[2]))return null;return{currency:Z[1],issuer:Z[2]}}function W6(y,Z){return`${s.Chain.Ripple}.${y}-${Z}`}async function J6(y){if(y.isGasAsset){let{xrpToDrops:Q}=await import("xrpl");return Q(y.getValue("string"))}let Z=n4(y.toString());if(!Z)throw new s.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:Z.currency,issuer:Z.issuer,value:y.getValue("string")}}function Y6(y){let Z,Q=()=>{return Z??=import("xrpl").then(({Wallet:X})=>X.fromMnemonic(y)),Z};return{getAddress:async()=>(await Q()).address,signTransaction:async(X)=>(await Q()).sign(X)}}function Yy(y){return S8.isValidClassicAddress(y)||S8.isValidXAddress(y)}function OW(y={}){let Z;async function Q(){if(Z)return Z;return Z=await N5.match(y).with({phrase:N5.P.string},({phrase:_})=>Y6(_)).with({signer:N5.P.any},({signer:_})=>_).otherwise(()=>{return}),Z}let X;async function J(){let _=await s.getRPCUrl(s.Chain.Ripple);if(!_)throw new s.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:s.Chain.Ripple}});let{Client:D}=await import("xrpl"),L=new D(_);return await L.connect(),L}async function Y(){if(X){let _=await X.catch(()=>null);if(_?.isConnected())return _}return X=J(),X}async function W(_){let D=await _.request({command:"server_state"}),L=D.result.state.validated_ledger??D.result.state.closed_ledger;if(!L||!Number.isSafeInteger(L.reserve_base)||L.reserve_base<0||!Number.isSafeInteger(L.reserve_inc)||L.reserve_inc<0)throw new s.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{reason:"XRPL reserve data is unavailable or invalid"}});return{baseReserveDrops:BigInt(L.reserve_base),ownerReserveDrops:BigInt(L.reserve_inc)}}let f=async()=>{let _=await Q();if(!_)throw new s.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return _.getAddress()},T=async(_)=>{let D=_||await f(),{baseDecimal:L}=s.getChainConfig(s.Chain.Ripple),U=await Y();try{let[q,H]=await Promise.all([U.request({account:D,command:"account_info"}),U.request({account:D,command:"account_lines"})]),k=q.result.account_data.Balance,F=[s.AssetValue.from({chain:s.Chain.Ripple,fromBaseDecimal:L,value:k})];for(let I of H.result.lines){let w=W6(I.currency,I.account);if(Number.parseFloat(I.balance)!==0)F.push(s.AssetValue.from({asset:w,asyncTokenLookup:!1,value:I.balance}))}return F}catch(q){if(Q6(q))return[s.AssetValue.from({chain:s.Chain.Ripple,value:0})];throw new s.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:D,error:q}})}},G=async()=>{let{baseDecimal:_}=s.getChainConfig(s.Chain.Ripple),U=(await(await Y()).request({command:"fee"})).result.drops.open_ledger_fee;return s.AssetValue.from({chain:s.Chain.Ripple,fromBaseDecimal:_,value:U})};async function z(_){let D=_||await f(),L=await Y();try{return(await L.request({account:D,command:"account_lines"})).result.lines.map((q)=>({account:q.account,authorized:q.authorized??!1,balance:q.balance,currency:q.currency,freeze:q.freeze??!1,freezePeer:q.freeze_peer??!1,limit:q.limit,limitPeer:q.limit_peer,noRipple:q.no_ripple??!1,noRipplePeer:q.no_ripple_peer??!1,peerAuthorized:q.peer_authorized??!1,qualityIn:q.quality_in??0,qualityOut:q.quality_out??0}))}catch(U){if(Q6(U))return[];throw new s.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:D,error:U}})}}async function B({address:_,currency:D,issuer:L}){let U=await z(_),q=d1(D);return U.some((H)=>{return d1(H.currency)===q&&H.account===L})}async function $({currency:_,issuer:D,limit:L,sender:U}){let q=U||await f();if(!Yy(D))throw new s.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:D}});let H=Number.parseFloat(L);if(Number.isNaN(H)||H<0)throw new s.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:L}});let k=await Y(),F={Account:q,LimitAmount:{currency:_,issuer:D,value:L},TransactionType:"TrustSet"};return k.autofill(F)}async function M(_,D){let[L,U,q]=await Promise.all([_.request({account:D,command:"account_info"}),W(_),G()]),{Balance:H,OwnerCount:k}=L.result.account_data,F=q.getBaseValue("bigint"),I=BigInt(H)-U.baseReserveDrops-BigInt(k)*U.ownerReserveDrops-F;if(I<=0n)throw new s.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:s.Chain.Ripple,balance:H,baseReserve:U.baseReserveDrops.toString(),fee:F.toString(),ownerCount:k,ownerReserve:U.ownerReserveDrops.toString()}});let{baseDecimal:w}=s.getChainConfig(s.Chain.Ripple),A=s.AssetValue.from({chain:s.Chain.Ripple,fromBaseDecimal:w,value:I.toString()});return{amount:await J6(A),fee:F.toString()}}async function O(_,D){let L=n4(_.toString());if(!L)throw new s.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:_.toString()}});let U=await Y(),q="0",H;while(!0){let k=await U.request({account:D,command:"account_lines",peer:L.issuer,...H!==void 0&&{marker:H}}),F=k.result.lines.find((w)=>w.account===L.issuer&&d1(w.currency)===d1(L.currency));if(F){q=F.balance;break}let I=k.result.marker;if(I===void 0||I===null)break;H=I}if(!Number.isFinite(Number(q))||Number(q)<=0)throw new s.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:_.toString(),balance:q}});return{currency:L.currency,issuer:L.issuer,value:q}}async function N({assetValue:_,recipient:D,memo:L,sender:U,sweep:q,destinationTag:H,extendBySeconds:k=150}){if(!Yy(D))throw new s.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let F=U||await f();if(_.chain!==s.Chain.Ripple)throw new s.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:_.toString()}});let I=q&&_.isGasAsset?await M(await Y(),F):void 0,w=I?I.amount:q?await O(_,F):await J6(_),A={Account:F,Amount:w,Destination:D,TransactionType:"Payment",...I&&{Fee:I.fee},...H!==void 0&&{DestinationTag:H}};if(L)A.Memos=[{Memo:{MemoData:Buffer.from(L).toString("hex")}}];let a=await(await Y()).autofill(A);if(a.LastLedgerSequence&&k>0)a.LastLedgerSequence+=Math.ceil(k/4);return a}async function C(_){let D=await Q();if(!D)throw new s.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return D.signTransaction(_)}async function R(_){let L=await(await Y()).submitAndWait(_),{result:U}=L;if(U.validated)return U.hash;let q=U.meta?.TransactionResult,H=N5.match(q).with(A8.tecNO_LINE,()=>"No trust line exists for this token").with(A8.tecPATH_DRY,()=>"Payment path could not deliver funds").with(A8.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new s.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:s.Chain.Ripple,...H?{reason:H}:{txResult:q}}})}let x=async(_)=>{try{let D=await C(_);return R(D.tx_blob)}catch(D){if(D instanceof s.SwapKitError)throw D;throw new s.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:s.Chain.Ripple,error:D}})}};async function S({assetValue:_,memo:D,recipient:L,sweep:U}){let q=await Q();if(!q)throw new s.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let H=await q.getAddress(),k=await N({assetValue:_,memo:D,recipient:L,sender:H,sweep:U}),F=await C(k);return R(F.tx_blob)}async function P(_){let D=await Q();if(!D)throw new s.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let L=await D.getAddress(),U=await $({..._,sender:L}),q=await C(U);return R(q.tx_blob)}function K(){let _=X;if(X=null,_)_.then((D)=>{if(D?.isConnected())return D.disconnect();return}).catch((D)=>{console.warn("XRPL Cleanup failed silently:",D)})}return{broadcastTransaction:R,createSigner:Y6,createTransaction:N,disconnect:K,estimateTransactionFee:G,getAddress:f,getBalance:T,getTrustLines:z,hasTrustLine:B,setTrustLine:$,setTrustLineAndBroadcast:P,signAndBroadcastTransaction:x,signTransaction:C,transfer:S,validateAddress:Yy}}var s,S8,N5,NW,A8;var i4=l(()=>{V8();s=require("@swapkit/helpers"),S8=require("ripple-address-codec"),N5=require("ts-pattern");V8();Z6();NW={ACCOUNT_NOT_FOUND:19};A8={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function t4(y,Z){let Q=0n,X=0n,J=Z;while(J<y.length&&J-Z<10){let Y=y[J++];if(Y===void 0)break;if(Q|=BigInt(Y&127)<<X,X+=7n,(Y&128)===0)return[Q,J]}throw new i1.SwapKitError("toolbox_tron_transaction_creation_failed")}function Wy(y){let Z=[],Q=y<0n?y+2n**64n:y;while(Q>=128n)Z.push(Number(Q&0x7fn)|128),Q>>=7n;return Z.push(Number(Q)),Z}function v8(y,Z,Q){let X=y.get(Z);if(X)X.push(Q);else y.set(Z,[Q])}function DW(y){let Z=new Map,Q=0;while(Q<y.length){let[X,J]=t4(y,Q);Q=J;let Y=Number(X>>3n),W=Number(X&7n);if(W===b8){let[f,T]=t4(y,Q);Q=T,v8(Z,Y,{data:new Uint8Array(Wy(f)),wireType:b8})}else if(W===h8){let[f,T]=t4(y,Q);Q=T;let G=Number(f);if(G<0||Q+G>y.length)throw new i1.SwapKitError("toolbox_tron_transaction_creation_failed");let z=y.slice(Q,Q+G);Q+=G,v8(Z,Y,{data:z,wireType:h8})}else if(W===f6){if(Q+8>y.length)throw new i1.SwapKitError("toolbox_tron_transaction_creation_failed");let f=y.slice(Q,Q+8);Q+=8,v8(Z,Y,{data:f,wireType:f6})}else if(W===q6){if(Q+4>y.length)throw new i1.SwapKitError("toolbox_tron_transaction_creation_failed");let f=y.slice(Q,Q+4);Q+=4,v8(Z,Y,{data:f,wireType:q6})}else throw new i1.SwapKitError("toolbox_tron_transaction_creation_failed")}return Z}function CW(y){let Z=[];for(let[Y,W]of[...y.entries()].sort(([f],[T])=>f-T))for(let{wireType:f,data:T}of W){let G=BigInt(Y<<3|f);if(Z.push(new Uint8Array(Wy(G))),f===h8)Z.push(new Uint8Array(Wy(BigInt(T.length))));Z.push(T)}let Q=Z.reduce((Y,W)=>Y+W.length,0),X=new Uint8Array(Q),J=0;for(let Y of Z)X.set(Y,J),J+=Y.length;return X}function U6(y,Z){if(!y||y.length%2!==0)throw new i1.SwapKitError("toolbox_tron_transaction_creation_failed");let Q=O5.hexToBytes(y),X=DW(Q);if(Z.expiration!==void 0)X.set(_W,[{data:new Uint8Array(Wy(BigInt(Z.expiration))),wireType:b8}]);if(Z.data!==void 0)X.set(kW,[{data:O5.hexToBytes(Z.data),wireType:h8}]);if(Z.fee_limit!==void 0)X.set(BW,[{data:new Uint8Array(Wy(BigInt(Z.fee_limit))),wireType:b8}]);let J=CW(X),Y=O5.bytesToHex(J),W=O5.bytesToHex(T6.sha256(J));return{raw_data_hex:Y,txID:W}}var T6,O5,i1,b8=0,f6=1,h8=2,q6=5,_W=8,kW=10,BW=18;var G6=l(()=>{T6=require("@noble/hashes/sha2.js"),O5=require("@noble/hashes/utils.js"),i1=require("@swapkit/helpers")});function y1(y){if(typeof y!=="string")return!1;try{let Z=l8.decode(y);return Z.length===21&&Z[0]===L6}catch{return!1}}function M6(y){return t0.bytesToHex(l8.decode(y))}function RW(y){return l8.decode(y).slice(1)}function $6(y){let Z=r4.secp256k1.getPublicKey(t0.hexToBytes(y),!1),Q=z6.keccak_256(Z.slice(1)).slice(-20),X=new Uint8Array(21);return X[0]=L6,X.set(Q,1),l8.encode(X)}function N6({txID:y,privateKey:Z}){let Q=r4.secp256k1.sign(t0.hexToBytes(y),t0.hexToBytes(Z),{format:"recovered",prehash:!1}),X=Q[0]??0,J=t0.bytesToHex(Q.slice(1,33)),Y=t0.bytesToHex(Q.slice(33,65)),W=(X+27).toString(16).padStart(2,"0");return J+Y+W}function _5({txID:y,raw_data_hex:Z}){let Q=t0.bytesToHex(a4.sha256(t0.hexToBytes(Z)));if(y!==Q)throw new s4.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:Q,txID:y})}function IW(y){return`000000000000000000000000${t0.bytesToHex(RW(y))}`}function jW(y){let Z=typeof y==="bigint"?y:BigInt(y);if(Z<0n||Z>=FW)throw new s4.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Z.toString()});return Z.toString(16).padStart(64,"0")}function k5(y){return y.map(({type:Z,value:Q})=>Z==="address"?IW(Q):jW(BigInt(Q))).join("")}function O6(y){return t0.bytesToHex(new TextEncoder().encode(y))}var r4,a4,z6,t0,H6,s4,l8,L6=65,FW;var e4=l(()=>{r4=require("@noble/curves/secp256k1.js"),a4=require("@noble/hashes/sha2.js"),z6=require("@noble/hashes/sha3.js"),t0=require("@noble/hashes/utils.js"),H6=require("@scure/base"),s4=require("@swapkit/helpers"),l8=H6.createBase58check(a4.sha256),FW=2n**256n});function B6(){try{return D0.getRPCUrlSync(D0.Chain.Tron)}catch{return k6}}function D6(){let y=new AbortController,Z=setTimeout(()=>y.abort(),EW);return{cleanup:()=>clearTimeout(Z),signal:y.signal}}async function t1(y,Z){let{signal:Q,cleanup:X}=D6();try{let J=await fetch(`${B6()}${y}`,{body:JSON.stringify(Z),headers:{"Content-Type":"application/json"},method:"POST",signal:Q});if(!J.ok)throw new D0.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${J.status} ${J.statusText} on ${y}`});return await J.json()}finally{X()}}async function C6(y,Z){let{signal:Q,cleanup:X}=D6();try{let J=await fetch(`${Z??B6()}${y}`,{headers:{"Content-Type":"application/json"},signal:Q});if(!J.ok)throw new D0.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${J.status} ${J.statusText} on ${y}`});return await J.json()}finally{X()}}async function u8(y){if(!y1(y))throw new D0.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let Z=await C6(`/v1/accounts/${y}`,k6);if(!(Z.success&&Z.data)||Z.data.length===0)return;let Q;try{Q=M6(y).toLowerCase()}catch{Q=y.toLowerCase()}let X=Z.data.find((J)=>J.address.toLowerCase()===Q);if(!X)return;return{balance:X.balance,trc20:X.trc20||[]}}catch(Z){if(Z instanceof D0.SwapKitError)throw Z;throw new D0.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:Z instanceof Error?Z.message:"Unknown error"})}}async function F6({from:y,to:Z,amount:Q}){let J=await t1("/wallet/createtransaction",{amount:Q,owner_address:y,to_address:Z,visible:!0});if(!J.txID||!J.raw_data_hex||!J.raw_data)throw new D0.SwapKitError("toolbox_tron_transaction_creation_failed");let W=J.raw_data?.contract?.[0]?.parameter?.value;if(W?.to_address!==Z||W?.owner_address!==y||W?.amount!==Q)throw new D0.SwapKitError("toolbox_tron_transaction_creation_failed");return _5(J),J}async function R6({ownerAddress:y,contractAddress:Z,functionSelector:Q,parameter:X,feeLimit:J,callValue:Y=0}){let W=await t1("/wallet/triggersmartcontract",{call_value:Y,contract_address:Z,fee_limit:J,function_selector:Q,owner_address:y,parameter:X,visible:!0});if(!W.result.result||!W.transaction?.txID||!W.transaction?.raw_data_hex)throw new D0.SwapKitError("toolbox_tron_transaction_creation_failed");let T=W.transaction.raw_data?.contract?.[0]?.parameter?.value;if(T?.contract_address!==Z||T?.owner_address!==y)throw new D0.SwapKitError("toolbox_tron_transaction_creation_failed");return _5(W.transaction),W.transaction}function I6({ownerAddress:y,contractAddress:Z,functionSelector:Q,parameter:X}){return t1("/wallet/triggerconstantcontract",{contract_address:Z,function_selector:Q,owner_address:y,parameter:X,visible:!0})}function wW({ownerAddress:y,contractAddress:Z,functionSelector:Q,parameter:X}){return t1("/wallet/estimateenergy",{contract_address:Z,function_selector:Q,owner_address:y,parameter:X,visible:!0})}function _6(y){let Z=typeof y==="number"?y:typeof y==="string"?Number(y):Number.NaN;return Number.isFinite(Z)&&Z>0?Z:void 0}async function fy(y){try{let{result:Z,txid:Q}=await t1("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!Z||!Q)throw new D0.SwapKitError("toolbox_tron_token_transfer_failed");return Q}catch(Z){throw new D0.SwapKitError("toolbox_tron_broadcast_failed",{error:Z})}}async function qy(){let y={};try{let{chainParameter:Z}=await C6("/wallet/getchainparameters");for(let Q of Z)y[Q.key]=Q.value}catch(Z){D0.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${Z instanceof Error?Z.message:Z}`})}return{bandwidthFee:y.getTransactionFee??xW,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??PW,energyFee:y.getEnergyFee??KW,memoFee:y.getMemoFee??VW}}async function yX(y){try{let Z=await t1("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(Z.freeNetLimit??600)-(Z.freeNetUsed??0),total:Z.NetLimit??0,used:Z.NetUsed??0},energy:{total:Z.EnergyLimit??0,used:Z.EnergyUsed??0}}}catch(Z){return D0.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${Z instanceof Error?Z.message:Z}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function Ty(y){try{let Z=await t1("/wallet/getaccount",{address:y,visible:!0});return Z&&Object.keys(Z).length>0}catch{return!1}}async function XX(y){try{let Z=await wW({...y,ownerAddress:y.sender}),Q=Z.energy_required??Z.energyRequired;if(Z.result&&!Z.result.result)throw new D0.SwapKitError("toolbox_tron_trongrid_api_error",{message:Z.result.message||"estimateenergy failed"});if(Q!==void 0){let X=_6(Q);if(X!==void 0)return X;throw new D0.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(Z){D0.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${Z instanceof Error?Z.message:Z}`})}try{let{energy_used:Z}=await I6({...y,ownerAddress:y.sender}),Q=_6(Z);if(Q!==void 0)return Q;throw new D0.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid triggerconstantcontract energy response"})}catch(Z){throw D0.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy: ${Z instanceof Error?Z.message:Z}`}),new D0.SwapKitError("toolbox_tron_trongrid_api_error",{message:`Unable to estimate contract energy: ${Z instanceof Error?Z.message:Z}`})}}async function j6({assetAddress:y,owner:Z,spender:Q}){let X=k5([{type:"address",value:Z},{type:"address",value:Q}]),Y=(await I6({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:Q,parameter:X})).constant_result?.[0];if(!Y)return 0n;try{return BigInt(`0x${Y}`)}catch{return 0n}}var D0,k6="https://api.trongrid.io",xW=1000,PW=1e6,KW=420,VW=1e6,EW=30000;var x6=l(()=>{e4();D0=require("@swapkit/helpers")});function b6({phrase:y,derivationPath:Z}){let Q=A6.HDKey.fromMasterSeed(S6.mnemonicToSeedSync(y)).derive(Z);if(!Q.privateKey)throw new p.SwapKitError("toolbox_tron_no_signer");return w6.bytesToHex(Q.privateKey)}function h6(y,Z){return{...y,value:String(Z)}}function l6(y,Z){if(!Z)return y;return{...y,data:Z.startsWith("0x")?Z:`0x${Z}`}}function u6({phrase:y,derivationPath:Z,index:Q}){let X=Z||p.derivationPathToString(p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:Q||0}));return b6({derivationPath:X,phrase:y})}function SW({phrase:y,derivationPath:Z}){let Q=b6({derivationPath:Z,phrase:y}),X=$6(Q);return{getAddress:()=>Promise.resolve(X),signTransaction:(J)=>{_5(J);let Y=N6({privateKey:Q,txID:J.txID});return Promise.resolve({...J,signature:[Y]})}}}function E6({transaction:y,memo:Z,expiration:Q,feeLimit:X}){let J={},Y={};if(X!==void 0&&y.raw_data)J.fee_limit=X,Y.fee_limit=X;if(Z){let T=Z.startsWith("0x")?Z.replace(/^0x/,""):O6(Z);J.data=T,Y.data=T}if(Q){let T=y.raw_data.expiration+Q*1000;J.expiration=T,Y.expiration=T}if(Object.keys(J).length===0)return y;let{raw_data_hex:W,txID:f}=U6(y.raw_data_hex,J);return{...y,raw_data:{...y.raw_data,...Y},raw_data_hex:W,txID:f}}function m6(y={}){let Z="index"in y?y.index||0:0,Q=p.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:Z})),X,J=!1;function Y(){if(J)return Promise.resolve(X);return X=B5.match(y).with({phrase:B5.P.string},({phrase:L})=>SW({derivationPath:Q,phrase:L})).with({signer:B5.P.not(B5.P.nullish)},({signer:L})=>L).otherwise(()=>{return}),J=!0,Promise.resolve(X)}async function W(){let L=await Y();if(!L)throw new p.SwapKitError("toolbox_tron_no_signer");return L.getAddress()}async function f(L,U){let q=L||K6,H=U??(await qy()).energyFee,k=q*H,F=Math.ceil(k*1.5);return Math.min(Math.max(F,1e7),150000000)}async function T({contractAddress:L,functionSelector:U,parameter:q,sender:H,memo:k,expiration:F,extraEnergy:I=0}){let w=await XX({contractAddress:L,functionSelector:U,parameter:q,sender:H}),A=await f(w+I),b=await R6({contractAddress:L,feeLimit:A,functionSelector:U,ownerAddress:H,parameter:q});return E6({expiration:F,feeLimit:A,memo:k,transaction:b})}async function G(L){if(!y1(L))return[p.AssetValue.from({chain:p.Chain.Tron})];try{let U=await u8(L);if(!U)return[p.AssetValue.from({chain:p.Chain.Tron})];let q=[p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:6,value:String(U.balance)})],H=U.trc20?.find((k)=>(QX in k));if(H){let k=H[QX];q.push(p.AssetValue.from({asset:`TRON.USDT-${QX}`,fromBaseDecimal:6,value:k}))}return q}catch(U){return p.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${U instanceof Error?U.message:U}`}),[p.AssetValue.from({chain:p.Chain.Tron})]}}async function z({recipient:L,assetValue:U,memo:q,expiration:H,sweep:k}){if(!y1(L))throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let F=await Y();if(!F)throw new p.SwapKitError("toolbox_tron_no_signer");try{let I=await W(),w=await x({assetValue:U,expiration:H,memo:q,recipient:L,sender:I,sweep:k}),A=await F.signTransaction(w),b=await fy(A);if(!b)throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return b}catch(I){if(I instanceof p.SwapKitError&&I.errorKey==="toolbox_sweep_amount_too_low")throw I;throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:I instanceof Error?I.message:String(I)})}}function B({requiredBandwidth:L,resources:U,feePerUnit:q}){let H=Math.max(0,U.free+U.total-U.used);return L>H?(L-H)*q:0}async function $({memo:L,recipient:U,senderAddress:q}){let[H,k,F]=await Promise.all([qy(),Ty(U),yX(q)]),I=k?0:H.createAccountFee,w=B({feePerUnit:H.bandwidthFee,requiredBandwidth:P6,resources:F.bandwidth}),A=L?H.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:I+w+A})}async function M({assetValue:L,amountInBaseUnits:U=L.getBaseValue("string"),memo:q,recipient:H,senderAddress:k}){let F=L.address;if(!F)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let[I,w,A,b]=await Promise.all([qy(),Ty(H),yX(k),XX({contractAddress:F,functionSelector:"transfer(address,uint256)",parameter:k5([{type:"address",value:H},{type:"uint256",value:U}]),sender:k})]),J0=b+(w?0:ZX),T0=B({feePerUnit:I.bandwidthFee,requiredBandwidth:V6,resources:A.bandwidth}),j=Math.max(0,A.energy.total-A.energy.used),E=J0>j?(J0-j)*I.energyFee:0,h=q?I.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:T0+E+h})}async function O({assetValue:L,memo:U,recipient:q}){let[H,k]=await Promise.all([qy(),Ty(q)]);if(L.isGasAsset){let A=k?0:H.createAccountFee,b=U?H.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:A+P6*H.bandwidthFee+b})}let I=await f(K6+(k?0:ZX),H.energyFee),w=U?H.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:I+V6*H.bandwidthFee+w})}async function N({assetValue:L,memo:U,recipient:q,sender:H}){let k=await Y();try{let F=H?H:k?await W():void 0;if(!F)return O({assetValue:L,memo:U,recipient:q});return L.isGasAsset?$({memo:U,recipient:q,senderAddress:F}):M({assetValue:L,memo:U,recipient:q,senderAddress:F})}catch(F){throw p.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${F instanceof Error?F.message:F}`}),new p.SwapKitError("toolbox_fee_estimation_failed",{chain:p.Chain.Tron,error:F})}}async function C({assetValue:L,memo:U,recipient:q,sender:H,sweep:k}){if(!k)return L.getBaseValue("bigint");let[F,I]=await Promise.all([u8(H),$({memo:U,recipient:q,senderAddress:H})]),w=BigInt(F?.balance??0)-I.getBaseValue("bigint");if(w<=0n)throw new p.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amount:w.toString(),asset:L.toString()}});return w}async function R({assetValue:L,memo:U,recipient:q,sender:H,sweep:k}){if(!k)return L.getBaseValue("string");let F=L.address;if(!F)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let I=await u8(H),A=I?.trc20.find((T0)=>(F in T0))?.[F]??"0";if(BigInt(A)<=0n)throw new p.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:L.toString(),balance:A}});let b=await M({amountInBaseUnits:A,assetValue:L,memo:U,recipient:q,senderAddress:H}),a=BigInt(I?.balance??0),J0=b.getBaseValue("bigint");if(a<J0)throw new p.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:L.toString(),nativeBalance:a.toString(),requiredNativeFee:J0.toString()}});return A}async function x({recipient:L,assetValue:U,memo:q,sender:H,expiration:k,sweep:F}){if(!y1(L)||!y1(H))throw new p.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(U.isGasAsset){let b=await C({assetValue:U,expiration:k,memo:q,recipient:L,sender:H,sweep:F});if(b>BigInt(Number.MAX_SAFE_INTEGER))throw new p.SwapKitError({errorKey:"toolbox_tron_transaction_creation_failed",info:{amount:b.toString(),reason:`Native transfer amount exceeds the safe integer limit of ${Number.MAX_SAFE_INTEGER} SUN`}});let a=await F6({amount:Number(b),from:H,to:L});return E6({expiration:k,memo:q,transaction:a})}let I=U.address;if(!I)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let w=await R({assetValue:U,expiration:k,memo:q,recipient:L,sender:H,sweep:F}),A=await Ty(L);return T({contractAddress:I,expiration:k,extraEnergy:A?0:ZX,functionSelector:"transfer(address,uint256)",memo:q,parameter:k5([{type:"address",value:L},{type:"uint256",value:w}]),sender:H})}async function S(L){_5(L);let U=await Y();if(!U)throw new p.SwapKitError("toolbox_tron_no_signer");return U.signTransaction(L)}async function P(L){let U=await S(L);return fy(U)}function K({assetAddress:L,spenderAddress:U,from:q}){return j6({assetAddress:L,owner:q,spender:U})}async function _({assetAddress:L,spenderAddress:U,from:q,amount:H}){let k=await K({assetAddress:L,from:q,spenderAddress:U});if(!H)return k>0n;return k>=BigInt(H)}async function D({assetAddress:L,spenderAddress:U,amount:q,from:H}){if(!y1(L)||!y1(U))throw new p.SwapKitError("toolbox_tron_approve_failed");let k=await Y();if(!k)throw new p.SwapKitError("toolbox_tron_no_signer");let F=H||await W(),I=q!==void 0?BigInt(q).toString():AW;try{let w=await T({contractAddress:L,functionSelector:"approve(address,uint256)",parameter:k5([{type:"address",value:U},{type:"uint256",value:I}]),sender:F}),A=await k.signTransaction(w),b=await fy(A);if(!b)throw new p.SwapKitError("toolbox_tron_approve_failed");return b}catch(w){if(w instanceof p.SwapKitError)throw w;throw new p.SwapKitError("toolbox_tron_approve_failed",{error:w})}}return{approve:D,broadcastTransaction:fy,createTransaction:x,estimateTransactionFee:N,getAddress:W,getApprovedAmount:K,getBalance:G,getRpcUrl:()=>p.getRPCUrl(p.Chain.Tron),isApproved:_,signAndBroadcastTransaction:P,signTransaction:S,transfer:z,validateAddress:y1}}var w6,A6,S6,p,B5,v6,P6=268,K6=65000,ZX=25000,V6=345,QX="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",AW="115792089237316195423570985008687907853269984665640564039457584007913129639935";var p6=l(()=>{G6();x6();e4();w6=require("@noble/hashes/utils.js"),A6=require("@scure/bip32"),S6=require("@scure/bip39"),p=require("@swapkit/helpers"),B5=require("ts-pattern"),v6=y1});var JX={};x0(JX,{withTronTransactionValue:()=>h6,withTronTransactionData:()=>l6,validateTronAddress:()=>v6,getTronToolbox:()=>m6,getTronPrivateKeyFromMnemonic:()=>u6});module.exports=E0(JX);var YX=l(()=>{p6()});async function g6(y){if(m8&&Date.now()-m8.timestamp<hW)return m8.value;let Q=(await y.ledgers().order("desc").limit(1).call()).records[0]?.base_reserve_in_stroops;if(Q===void 0)throw new d.SwapKitError({errorKey:"toolbox_stellar_balance_error",info:{reason:"base_reserve_unavailable"}});return m8={timestamp:Date.now(),value:Q},Q}function WX(y){return d.AssetValue.from({chain:d.Chain.Stellar,value:y}).getBaseValue("bigint")}function lW(y){let{baseDecimal:Z}=d.getChainConfig(d.Chain.Stellar);return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:Z,value:y}).getValue("string")}function n6({balance:y,baseReserveInStroops:Z,numSponsored:Q,numSponsoring:X,sellingLiabilities:J,subentryCount:Y}){let W=WX(y),f=WX(J),T=o6+Y+X-Q,G=BigInt(T)*BigInt(Z),z=W-G-f;return z>0n?z:0n}function uW({account:y,assetValue:Z,baseReserveInStroops:Q,fee:X}){let J=y.balances.find((f)=>f.asset_type==="native"),W=(J?n6({balance:J.balance,baseReserveInStroops:Q,numSponsored:y.num_sponsored,numSponsoring:y.num_sponsoring,sellingLiabilities:J.selling_liabilities,subentryCount:y.subentry_count}):0n)-BigInt(X);if(W<=0n)throw new d.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:Z.toString(),reason:"spendable balance does not cover the transaction fee"}});return W}function mW({baseReserveInStroops:y,sweepAmountInStroops:Z}){if(Z===void 0||y===void 0)return;let Q=BigInt(o6)*BigInt(y);if(Z<Q)throw new d.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amountInStroops:Z,minimumStartingBalanceInStroops:Q,reason:"starting balance is below the Stellar account minimum"}})}function pW({account:y,assetCode:Z,assetValue:Q,issuer:X,sweep:J}){if(!J)return Q.getValue("string");let Y=y.balances.find((W)=>("asset_code"in W)&&W.asset_code===Z&&W.asset_issuer===X)?.balance??"0";if(WX(Y)<=0n)throw new d.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{asset:Q.toString(),balance:Y,reason:"trust-line balance is not positive"}});return Y}function gW(y){if(!y)return;if(new TextEncoder().encode(y).length>28)throw new d.SwapKitError("helpers_invalid_memo_type")}function g8(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return vW.test(y)}function fX(y){if(typeof y!=="object"||y===null)return;let Z="response"in y?y.response:void 0;return typeof Z?.status==="number"?Z.status:void 0}function cW(y){return fX(y)===504}function oW(y){return y.hash?.().toString("hex")}function nW(y){return[...new Set([y,...d.SKConfig.get("rpcUrls")[d.Chain.Stellar]])].filter(Boolean)}async function d6(y){if(!g8(y))return!1;try{let{StrKey:Z}=await import("@stellar/stellar-sdk");return Z.isValidEd25519PublicKey(y)}catch{return!1}}async function c6(y){let{address:Z,ticker:Q}=y,X=Z?await d6(Z):!1;if(y.chain!==d.Chain.Stellar||y.isGasAsset||!bW.test(Q)||!Z||!X)throw new d.SwapKitError({errorKey:"helpers_invalid_asset_identifier",info:{identifier:y.toString()}});return{assetCode:Q,issuer:Z}}function i6(y={}){let Z,Q=y.derivationPath||d.NetworkDerivationPath[d.Chain.Stellar],X=d.derivationPathToString(Q.slice(0,3));async function J({phrase:P,path:K}){let{HDKey:_}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:D}=await import("@scure/bip39"),{Keypair:L}=await import("@stellar/stellar-sdk"),U=D(P),H=_.fromMasterSeed(U).derive(K,!0);return L.fromRawEd25519Seed(Buffer.from(H.privateKey))}async function Y(){if(Z)return Z;let P=p8.match(y).with({phrase:p8.P.string},({phrase:K})=>K).otherwise(()=>{return});if(!P)throw new d.SwapKitError("toolbox_stellar_no_signer");return Z=await J({path:X,phrase:P}),Z}async function W(P){let{Horizon:K}=await import("@stellar/stellar-sdk"),_=P||await d.getRPCUrl(d.Chain.Stellar);return new K.Server(_)}async function f(P,K){for(let _ of K)try{return(await(await W(_)).transactions().transaction(P).call()).hash||P}catch{}return}async function T(P,K){let _=await d.getRPCUrl(d.Chain.Stellar),D=nW(_),L=oW(P),U;for(let q of D)try{let H=await W(q),{hash:k}=await H.submitTransaction(P);return k}catch(H){if(U=H,!cW(H))break;let k=L?await f(L,D):void 0;if(k)return k}throw new d.SwapKitError(K,U)}async function G(){try{return(await Y()).publicKey()}catch{return""}}async function z(P){let K=P||await G();if(!K)throw new d.SwapKitError("toolbox_stellar_account_not_found");let _=await W(),[D,L]=await Promise.allSettled([_.loadAccount(K),g6(_)]);if(D.status==="rejected"){let U=D.reason;if(fX(U)===404)return[d.AssetValue.from({chain:d.Chain.Stellar,value:0})];throw U}if(L.status==="rejected")throw L.reason;return D.value.balances.map((U)=>{if(U.asset_type==="native"){let k=n6({balance:U.balance,baseReserveInStroops:L.value,numSponsored:D.value.num_sponsored,numSponsoring:D.value.num_sponsoring,sellingLiabilities:U.selling_liabilities,subentryCount:D.value.subentry_count}),{baseDecimal:F}=d.getChainConfig(d.Chain.Stellar);return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:F,value:k})}let q="asset_code"in U?U.asset_code:"",H="asset_issuer"in U?U.asset_issuer:"";return d.AssetValue.from({asset:`${d.Chain.Stellar}.${q}-${H}`,asyncTokenLookup:!1,value:U.balance})})}async function B({address:P,assetValue:K}){if(K.chain!==d.Chain.Stellar)throw new d.SwapKitError({errorKey:"toolbox_stellar_trustline_asset_invalid",info:{asset:K.toString()}});if(K.isGasAsset)return!0;if(!K.address)throw new d.SwapKitError({errorKey:"toolbox_stellar_trustline_asset_invalid",info:{asset:K.toString(),reason:"missing issuer"}});let _=await W(),D;try{D=await _.loadAccount(P)}catch(L){if(fX(L)===404)return!1;throw L}return D.balances.some((L)=>("asset_code"in L)&&L.asset_code===K.ticker&&L.asset_issuer===K.address)}async function $({recipient:P,assetValue:K,memo:_,sender:D,sweep:L}){if(gW(_),!await d6(P))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let q=D||await G();if(!q)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:H,Memo:k,Networks:F,Operation:I,TransactionBuilder:w}=await import("@stellar/stellar-sdk"),A=await W(),b=await A.fetchBaseFee(),a=await A.loadAccount(q),J0=L&&K.isGasAsset?await g6(A):void 0,T0=new w(a,{fee:String(b),networkPassphrase:F.PUBLIC});if(K.isGasAsset){let E=L&&J0!==void 0?uW({account:a,assetValue:K,baseReserveInStroops:J0,fee:b}):void 0,h=E===void 0?K.getValue("string"):lW(E);try{await A.loadAccount(P),T0.addOperation(I.payment({amount:h,asset:H.native(),destination:P}))}catch{mW({baseReserveInStroops:J0,sweepAmountInStroops:E}),T0.addOperation(I.createAccount({destination:P,startingBalance:h}))}}else{let{assetCode:E,issuer:h}=await c6(K),n=pW({account:a,assetCode:E,assetValue:K,issuer:h,sweep:L});T0.addOperation(I.payment({amount:n,asset:new H(E,h),destination:P}))}if(_)T0.addMemo(k.text(_));return T0.setTimeout(30).build()}async function M({assetValue:P,limit:K,sender:_}){let D=_||await G();if(!D)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:L,Networks:U,Operation:q,TransactionBuilder:H}=await import("@stellar/stellar-sdk"),{assetCode:k,issuer:F}=await c6(P),I=await W(),[w,A]=await Promise.all([I.fetchBaseFee(),I.loadAccount(D)]),b=new L(k,F),a=K!==void 0?q.changeTrust({asset:b,limit:K}):q.changeTrust({asset:b});return new H(A,{fee:String(w),networkPassphrase:U.PUBLIC}).addOperation(a).setTimeout(30).build()}async function O(P){let{TransactionBuilder:K,Networks:_}=await import("@stellar/stellar-sdk"),D=await Y(),L=K.fromXDR(P.toXDR(),_.PUBLIC);return L.sign(D),L}function N(P){return T(P,"toolbox_stellar_broadcast_error")}async function C({recipient:P,assetValue:K,memo:_,sweep:D}){let L=await Y(),U=L.publicKey(),q=await $({assetValue:K,memo:_,recipient:P,sender:U,sweep:D});return q.sign(L),T(q,"toolbox_stellar_transaction_failed")}async function R({assetValue:P,limit:K}){let _=await Y(),D=await M({assetValue:P,limit:K,sender:_.publicKey()});return D.sign(_),T(D,"toolbox_stellar_transaction_failed")}async function x(P){let K=await O(P);return N(K)}async function S(){let{baseDecimal:P}=d.getChainConfig(d.Chain.Stellar);try{let D=(await(await W()).feeStats()).fee_charged.p50;return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:P,value:D})}catch{return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:P,value:"100"})}}return{broadcastTransaction:N,createTransaction:$,createTrustline:R,createTrustlineTransaction:M,estimateTransactionFee:S,getAddress:G,getBalance:z,hasTrustline:B,signAndBroadcastTransaction:x,signTransaction:O,transfer:C,validateAddress:g8}}var d,p8,vW,bW,o6=2,hW=600000,m8;var t6=l(()=>{d=require("@swapkit/helpers"),p8=require("ts-pattern"),vW=/^G[A-Z2-7]{55}$/,bW=/^[A-Za-z0-9]{1,12}$/});var c8={};x0(c8,{validateStellarAddress:()=>g8,getStellarToolbox:()=>i6});module.exports=E0(c8);var o8=l(()=>{t6()});var tW={};x0(tW,{getToolbox:()=>qX,getFeeEstimator:()=>iW,getAddressValidator:()=>dW});module.exports=E0(tW);var g=require("@swapkit/helpers");async function dW(){let{match:y}=await import("ts-pattern"),{validateAleoAddress:Z}=await Promise.resolve().then(() => (_y(),Oy)),{validateAptosAddress:Q}=await Promise.resolve().then(() => (By(),ky)),{validateEVMAddress:X}=await Promise.resolve().then(() => (R2(),Y9)),{validateCardanoAddress:J}=await Promise.resolve().then(() => (P2(),x2)),{getCosmosAddressValidator:Y}=await Promise.resolve().then(() => (Z8(),X8)),{validateHyperCoreAddress:W}=await Promise.resolve().then(() => (s2(),a2)),{validateSolanaAddress:f}=await Promise.resolve().then(() => (Q4(),Z4)),{validateStarknetAddress:T}=await Promise.resolve().then(() => (U8(),T8)),{validateSuiAddress:G}=await Promise.resolve().then(() => (L8(),H8)),{validateTonAddress:z}=await Promise.resolve().then(() => (N8(),$8)),{getUTXOAddressValidator:B}=await Promise.resolve().then(() => (j4(),I4)),{validateNearAddress:$}=await Promise.resolve().then(() => (g4(),p4)),{validateRadixAddress:M}=await Promise.resolve().then(() => (o4(),c4)),{validateRippleAddress:O}=await Promise.resolve().then(() => (i4(),d4)),{validateTronAddress:N}=await Promise.resolve().then(() => (YX(),JX)),{validateStellarAddress:C}=await Promise.resolve().then(() => (o8(),c8));return function({address:x,chain:S}){return y(S).with(...g.EVMChains,()=>X(x)).with(...g.UTXOChains,(K)=>{return B(K)(x)}).with(...g.CosmosChains,(K)=>{return Y(K)(x)}).with(g.Chain.Aleo,()=>Z(x)).with(g.Chain.Aptos,()=>Q(x)).with(g.Chain.Radix,()=>M(x)).with(g.Chain.Hype,()=>W(x)).with(g.Chain.Near,()=>$(x)).with(g.Chain.Ripple,()=>O(x)).with(g.Chain.Solana,()=>f(x)).with(g.Chain.Stellar,()=>C(x)).with(g.Chain.Starknet,()=>T(x)).with(g.Chain.Sui,()=>G(x)).with(g.Chain.Ton,()=>z(x)).with(g.Chain.Tron,()=>N(x)).with(g.Chain.Cardano,()=>J(x)).otherwise(()=>!1)}}function iW(y){return async function(Q){let{match:X}=await import("ts-pattern");return X(y).returnType().with(...g.EVMChains,async(J)=>{let Y=await qX(J),W=await Y.createTransaction(Q),f="feeOptionKey"in Q?Q.feeOptionKey:g.FeeOption.Fast;return Y.estimateTransactionFee({...W,feeOption:f})}).with(g.Chain.Bitcoin,g.Chain.BitcoinCash,g.Chain.Dogecoin,g.Chain.Dash,g.Chain.Litecoin,g.Chain.Solana,g.Chain.Ripple,g.Chain.Tron,g.Chain.Near,g.Chain.Cardano,g.Chain.Hype,async(J)=>{return(await qX(J)).estimateTransactionFee(Q)}).with(g.Chain.Aptos,async()=>{let{getAptosToolbox:J}=await Promise.resolve().then(() => (By(),ky));return J().estimateTransactionFee(Q)}).with(g.Chain.Aleo,async()=>{let{getAleoToolbox:J}=await Promise.resolve().then(() => (_y(),Oy));return J().estimateTransactionFee(Q)}).with(g.Chain.Starknet,async()=>{let{getStarknetToolbox:J}=await Promise.resolve().then(() => (U8(),T8));return(await J()).estimateTransactionFee(Q)}).with(g.Chain.Stellar,async()=>{let{getStellarToolbox:J}=await Promise.resolve().then(() => (o8(),c8));return J().estimateTransactionFee()}).with(g.Chain.Sui,async()=>{let{getSuiToolbox:J}=await Promise.resolve().then(() => (L8(),H8));return J().estimateTransactionFee(Q)}).with(g.Chain.Ton,async()=>{let{getTONToolbox:J}=await Promise.resolve().then(() => (N8(),$8));return J().estimateTransactionFee(Q)}).with(...g.CosmosChains,async()=>{let{estimateTransactionFee:J}=await Promise.resolve().then(() => (Z8(),X8));return J(Q)}).otherwise(async()=>g.AssetValue.from({chain:y}))}}async function qX(y,Z){let{match:Q}=await import("ts-pattern");return Q(y).returnType().with(...g.EVMChains,async()=>{let{getEvmToolboxAsync:X}=await Promise.resolve().then(() => (F2(),Z9));return await X(y,Z)}).with(...g.UTXOChains,async()=>{let{getUtxoToolbox:X}=await Promise.resolve().then(() => (j4(),I4));return X(y,Z)}).with(...g.CosmosChains,async()=>{let{getCosmosToolbox:X}=await Promise.resolve().then(() => (Z8(),X8));return X(y,Z)}).with(g.Chain.Aleo,async()=>{let{getAleoToolbox:X}=await Promise.resolve().then(() => (_y(),Oy));return X(Z)}).with(g.Chain.Aptos,async()=>{let{getAptosToolbox:X}=await Promise.resolve().then(() => (By(),ky));return X(Z)}).with(g.Chain.Hype,async()=>{let{getHyperCoreToolbox:X}=await Promise.resolve().then(() => (s2(),a2));return X(Z)}).with(g.Chain.Radix,async()=>{let{getRadixToolbox:X}=await Promise.resolve().then(() => (o4(),c4));return X(Z)}).with(g.Chain.Ripple,async()=>{let{getRippleToolbox:X}=await Promise.resolve().then(() => (i4(),d4));return X(Z)}).with(g.Chain.Solana,async()=>{let{getSolanaToolbox:X}=await Promise.resolve().then(() => (Q4(),Z4));return X(Z)}).with(g.Chain.Stellar,async()=>{let{getStellarToolbox:X}=await Promise.resolve().then(() => (o8(),c8));return X(Z)}).with(g.Chain.Starknet,async()=>{let{getStarknetToolbox:X}=await Promise.resolve().then(() => (U8(),T8));return X(Z)}).with(g.Chain.Sui,async()=>{let{getSuiToolbox:X}=await Promise.resolve().then(() => (L8(),H8));return X(Z)}).with(g.Chain.Tron,async()=>{let{getTronToolbox:X}=await Promise.resolve().then(() => (YX(),JX));return X(Z)}).with(g.Chain.Near,async()=>{let{getNearToolbox:X}=await Promise.resolve().then(() => (g4(),p4));return X(Z)}).with(g.Chain.Cardano,async()=>{let{getCardanoToolbox:X}=await Promise.resolve().then(() => (P2(),x2));return X(Z)}).with(g.Chain.Ton,async()=>{let{getTONToolbox:X}=await Promise.resolve().then(() => (N8(),$8));return X(Z)}).otherwise(()=>{throw new g.SwapKitError("toolbox_not_supported",{chain:y})})}
|