@swapkit/toolboxes 4.24.1 → 4.25.0

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 CHANGED
@@ -1,5 +1,14 @@
1
1
  # @swapkit/toolboxes
2
2
 
3
+ ## 4.25.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#319](https://github.com/swapkit/sdk/pull/319) [`67445d1`](https://github.com/swapkit/sdk/commit/67445d13c963492bbe4283f098b959de010ed0a7) Thanks [@towanTG](https://github.com/towanTG)! - Add Aleo chain metadata, assets, public-balance support, HD derivation, public transfers, fee estimates, broadcasting, transaction status, and keystore/server registration.
8
+ - [#328](https://github.com/swapkit/sdk/pull/328) [`0794dd0`](https://github.com/swapkit/sdk/commit/0794dd0d92a4ab1808c42069d483b91e5ae35f4a) Thanks [@towanTG](https://github.com/towanTG)! - Aleo review follow-up: surface `splitTransactionId` in unshield failure errors so an interrupted unshield is resumable, treat a 404 on the serial-number lookup as the authoritative unspent answer across RPC failover, filter record extraction to `credits.aleo` in `getRecords`, reject toolbox params carrying both a phrase and an external signer (`toolbox_aleo_conflicting_signers`), validate `feeRecordCredits`, and throw a clear `toolbox_aleo_no_rpc_urls` error when no RPC URL is configured.
9
+ - [#325](https://github.com/swapkit/sdk/pull/325) [`88aa0cc`](https://github.com/swapkit/sdk/commit/88aa0cc308af1010e5632a7fd9136e43ddbed6a4) Thanks [@paz-ts](https://github.com/paz-ts)! - toSignificant no longer corrupts values with long decimal parts: leading zeros are stripped as a string instead of through Number.parseInt, whose float round-trip rendered full-precision balances on 24-decimal chains like NEAR with two decimal points ("0.0003.2238") and silently lost digits past 2^53 on 18-decimal chains. (via @swapkit/helpers@4.18.0)
10
+ - Update generated token lists. (via @swapkit/helpers@4.18.0)
11
+
3
12
  ## 4.24.1
4
13
 
5
14
  ### Patch Changes
@@ -0,0 +1 @@
1
+ var CJ=Object.create;var{getPrototypeOf:vJ,defineProperty:F,getOwnPropertyNames:zJ,getOwnPropertyDescriptor:TJ}=Object,HJ=Object.prototype.hasOwnProperty;function WJ(J){return this[J]}var SJ,hJ,cJ=(J,Q,Z)=>{var H=J!=null&&typeof J==="object";if(H){var z=Q?SJ??=new WeakMap:hJ??=new WeakMap,L=z.get(J);if(L)return L}Z=J!=null?CJ(vJ(J)):{};let U=Q||!J||!J.__esModule?F(Z,"default",{value:J,enumerable:!0}):Z;for(let D of zJ(J))if(!HJ.call(U,D))F(U,D,{get:WJ.bind(J,D),enumerable:!0});if(H)z.set(J,U);return U},IJ=(J)=>{var Q=(YJ??=new WeakMap).get(J),Z;if(Q)return Q;if(Q=F({},"__esModule",{value:!0}),J&&typeof J==="object"||typeof J==="function"){for(var H of zJ(J))if(!HJ.call(Q,H))F(Q,H,{get:WJ.bind(J,H),enumerable:!(Z=TJ(J,H))||Z.enumerable})}return YJ.set(J,Q),Q},YJ;var mJ=(J)=>J;function RJ(J,Q){this[J]=mJ.bind(null,Q)}var AJ=(J,Q)=>{for(var Z in Q)F(J,Z,{get:Q[Z],enumerable:!0,configurable:!0,set:RJ.bind(Q,Z)})};var S=(J,Q)=>()=>(J&&(Q=J(J=0)),Q);function i(J,Q){if(!M(J))return[];let Z=M(J.transaction)?J.transaction:J,H=Z.execution,z=M(Z.fee)?Z.fee.transition:void 0;return[...M(H)&&Array.isArray(H.transitions)?H.transitions:[],...M(z)?[z]:[]].flatMap((U)=>{if(!M(U)||!Array.isArray(U.outputs))return[];if(Q&&U.program!==Q)return[];return U.outputs.flatMap((D)=>M(D)&&D.type==="record"&&typeof D.value==="string"?[D.value]:[])})}function n(J){return J.reduce((Q,Z)=>Z.spent?Q:Q+Z.microcredits,0n)}function b(J,Q){return Q instanceof j.SwapKitError&&Q.errorKey.startsWith("toolbox_aleo_")?Q:new j.SwapKitError(J,Q)}function EJ(...J){let Q=J.reduce((z,L)=>z+L.length,0),Z=new Uint8Array(Q),H=0;for(let z of J)Z.set(z,H),H+=z.length;return Z}function gJ(J){let Q=new Uint8Array(4);return new DataView(Q.buffer).setUint32(0,J,!1),Q}function GJ(J){let Q=p.hmac(l.sha512,jJ,J);return{chainCode:Q.slice(32),key:Q.slice(0,32)}}function LJ(J,Q){if(!Number.isSafeInteger(Q)||Q<0||Q>=u)throw new j.SwapKitError("toolbox_aleo_wasm_init_failed",{index:Q});let Z=Q+u,H=EJ(Uint8Array.of(0),J.key,gJ(Z)),z=p.hmac(l.sha512,J.chainCode,H);return{chainCode:z.slice(32),key:z.slice(0,32)}}function o(J,Q){let Z=J.split("/");if(Z.shift()!=="m"||Z.length===0)throw new j.SwapKitError("toolbox_aleo_wasm_init_failed",{path:J});return Z.reduce((H,z)=>{if(!/^\d+'$/.test(z))throw new j.SwapKitError("toolbox_aleo_wasm_init_failed",{path:J,segment:z});return LJ(H,Number.parseInt(z.slice(0,-1),10))},GJ(Q))}function _(J){return typeof J==="string"&&XJ.test(J)}async function s(J){if(!_(J))return!1;try{let{Account:Q}=await import("@provablehq/sdk/mainnet.js");return Q.isValidAddress(J)}catch{return!1}}function UJ(J){return qJ.test(J)}function t(J,Q){if(J===null)return 0n;if(typeof J!=="string")throw new j.SwapKitError("toolbox_aleo_balance_error",{integerType:Q,value:J});let Z=J.match(new RegExp(`^(\\d+)${Q}$`));if(!Z?.[1])throw new j.SwapKitError("toolbox_aleo_balance_error",{integerType:Q,value:J});return BigInt(Z[1])}function m(J){if(J.chain!==j.Chain.Aleo)throw new j.SwapKitError("toolbox_aleo_unsupported_token",{asset:J.toString()});let Q=J.getBaseValue("bigint");if(J.isGasAsset)return{amount:`${Q}u64`,functionName:h,isTokenTransfer:!1,programName:y};if(!J.address||!UJ(J.address))throw new j.SwapKitError("toolbox_aleo_unsupported_token",{asset:J.toString()});return{amount:`${Q}u128`,functionName:h,isTokenTransfer:!0,programName:J.address}}function P(){let J=[...new Set([...j.SKConfig.get("rpcUrls")[j.Chain.Aleo],...j.getChainConfig(j.Chain.Aleo).rpcUrls])].filter(Boolean);if(J.length===0)throw new j.SwapKitError("toolbox_aleo_no_rpc_urls");return J}function R(J){if(typeof J==="object"&&J!==null&&"status"in J&&J.status===404)return!0;return J instanceof Error&&J.message.includes("404")}function M(J){return typeof J==="object"&&J!==null}function BJ(J){if(!M(J))return!1;return[J.transaction,J.rejected].some((Q)=>{if(!M(Q)||!M(Q.execution))return!1;let{transitions:Z}=Q.execution;return Array.isArray(Z)&&Z.some((H)=>M(H)&&H.function===h&&typeof H.program==="string"&&H.program!==y)})}function DJ(J,Q){if(!M(J)||typeof J.status!=="string")throw new j.SwapKitError("toolbox_aleo_transaction_failed",{response:J,transactionId:Q});let Z=J.status.toLowerCase();if(Z==="rejected"){let H=BJ(J)?"toolbox_aleo_token_transfer_rejected":"toolbox_aleo_transaction_failed";throw new j.SwapKitError(H,{transactionId:Q})}return Z==="accepted"?"accepted":"pending"}async function xJ(J){if(!N.test(J))throw new j.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:J});let Q,Z=!0;for(let H of P())try{let{AleoNetworkClient:z}=await import("@provablehq/sdk/mainnet.js"),L=await new z(H).getConfirmedTransaction(J);return DJ(L,J)}catch(z){if(z instanceof j.SwapKitError)throw z;Q=z,Z=Z&&R(z)}if(Z)return"pending";throw b("toolbox_aleo_transaction_failed",Q)}async function A(J,{intervalMs:Q=5000,timeoutMs:Z=60000}={}){let H=Date.now();while(Date.now()-H<Z){let z=await xJ(J);if(z==="accepted")return z;await new Promise((L)=>setTimeout(L,Q))}throw new j.SwapKitError("toolbox_aleo_transaction_failed",{reason:"confirmation_timeout",transactionId:J})}var p,l,j,XJ,qJ,N,jJ,u=2147483648,I=1e6,y="credits.aleo",h="transfer_public",c=1e6,d=2000000;var a=S(()=>{p=require("@noble/hashes/hmac.js"),l=require("@noble/hashes/sha2.js"),j=require("@swapkit/helpers"),XJ=/^aleo1[ac-hj-np-z02-9]{58}$/,qJ=/^[a-z0-9_]+\.aleo$/,N=/^at1[ac-hj-np-z02-9]+$/,jJ=new TextEncoder().encode("bls12_377 seed")});function nJ(){function J(){let Q=Date.now(),Z=e||Q;return e=Z,Q>e?Q:Z+1}return uJ+J().toString(36)}function MJ(J){return async function(Z,H=!0){let z=await kJ.SwapKitApi.getChainBalance({address:Z,chain:J,scamFilter:H}),{baseDecimal:L}=C.getChainConfig(J),U=z.map(({identifier:O,value:V,decimal:v})=>{return new C.AssetValue({decimal:v||L,identifier:O,value:V})});if(!U.some((O)=>O.isGasAsset))return[C.AssetValue.from({chain:J}),...U];return U}}var C,kJ,uJ,e=0;var fJ=S(()=>{C=require("@swapkit/helpers"),kJ=require("@swapkit/helpers/api"),uJ=typeof process<"u"&&process.pid?process.pid.toString(36):""});async function OJ(J,Q){try{let{Account:Z}=await import("@provablehq/sdk/mainnet.js"),{mnemonicToSeedSync:H}=await import("@scure/bip39"),z=W.derivationPathToString(Q||W.NetworkDerivationPath[W.Chain.Aleo],{allHardened:!0}),{key:L}=o(z,H(J));return new Z({seed:L})}catch(Z){throw b("toolbox_aleo_wasm_init_failed",Z)}}function bJ(J,Q){let Z,H=()=>{return Z??=OJ(J,Q),Z};return{getAddress:async()=>(await H()).address().to_string(),signTransaction:async(z)=>{let L=await H();if(z.sender!==L.address().to_string())throw new W.SwapKitError("toolbox_aleo_invalid_address",{address:z.sender});let U;for(let D of P())try{let{ProgramManager:O}=await import("@provablehq/sdk/mainnet.js"),V=new O(D);return V.setAccount(L),await V.buildExecutionTransaction({functionName:z.functionName,inputs:z.inputs,priorityFee:z.priorityFee/I,privateFee:!1,programName:z.programName})}catch(O){U=O}throw U}}}function yJ(J={}){if("phrase"in J&&J.phrase&&"signer"in J&&J.signer)throw new W.SwapKitError("toolbox_aleo_conflicting_signers");let Q;async function Z(){if(Q)return Q;let Y="phrase"in J?J.phrase:void 0;if(!Y)throw new W.SwapKitError("toolbox_aleo_no_signer");let $="derivationPath"in J?J.derivationPath:void 0;return Q=await OJ(Y,$),Q}let H;function z(){let Y="signer"in J?J.signer:void 0;if(Y)return Y;let $="phrase"in J?J.phrase:void 0;if(!$)throw new W.SwapKitError("toolbox_aleo_no_signer");return H??=bJ($,"derivationPath"in J?J.derivationPath:void 0),H}async function L(Y){let $;for(let X of P())try{let{AleoNetworkClient:q}=await import("@provablehq/sdk/mainnet.js");return await Y(new q(X))}catch(q){$=q}throw $}async function U(Y){let $;for(let X of P())try{let{AleoNetworkClient:q}=await import("@provablehq/sdk/mainnet.js");return await new q(X).getTransitionId(Y),!0}catch(q){if(R(q))return!1;$=q}throw $}async function D(){let Y=z();try{return await Y.getAddress()}catch($){throw b("toolbox_aleo_wasm_init_failed",$)}}async function O(Y){let $=await L((X)=>X.getProgramMappingValue(y,"account",Y));return t($,"u64")}async function V(Y){try{let $=await O(Y);return[W.AssetValue.from({chain:W.Chain.Aleo,fromBaseDecimal:6,value:$})]}catch($){throw b("toolbox_aleo_balance_error",$)}}let v=MJ(W.Chain.Aleo);async function r(Y,$=!0){try{return await v(Y,$)}catch{return V(Y)}}async function VJ(){return r(await D())}async function T({transactionIds:Y}){try{let $=await Z(),X=[];for(let q of Y){if(!N.test(q))throw new W.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:q});let x=await L((G)=>G.getTransaction(q));for(let G of i(x,y)){if(!$.ownsRecordCiphertext(G))continue;let{RecordPlaintext:k}=await import("@provablehq/sdk/mainnet.js"),B=$.decryptRecord(G).toString(),f=k.fromString(B),w=f.microcredits();if(w===0n)continue;let K=$.generateRecordViewKey(G).toString(),g=f.serialNumberString($.privateKey(),y,"credits",K);X.push({microcredits:w,plaintext:B,spent:await U(g),transactionId:q})}}return X}catch($){throw b("toolbox_aleo_balance_error",$)}}async function KJ({transactionIds:Y}){let $=await T({transactionIds:Y});return W.AssetValue.from({chain:W.Chain.Aleo,fromBaseDecimal:6,value:n($)})}async function wJ(Y,$){if(!Number.isSafeInteger($)||$<=0)throw new W.SwapKitError("toolbox_aleo_insufficient_fee_balance",{feeRecordCredits:$});let X=await Z();if(!Y||Y.microcredits<=BigInt($)*BigInt(I))throw new W.SwapKitError("toolbox_aleo_insufficient_fee_balance",{available:Y?.microcredits.toString(),required:`${$} credits fee record`});let{ProgramManager:q,RecordPlaintext:x}=await import("@provablehq/sdk/mainnet.js"),G;for(let k of P())try{let B=new q(k);return B.setAccount(X),await B.split($,x.fromString(Y.plaintext))}catch(B){G=B}throw G}async function FJ(Y,$,X){let q=await Z(),{ProgramManager:x,RecordPlaintext:G}=await import("@provablehq/sdk/mainnet.js"),k;for(let B of P())try{let f=new x(B);return f.setAccount(q),await f.buildExecutionTransaction({feeRecord:G.fromString($.plaintext),functionName:"transfer_private_to_public",inputs:[Y.plaintext,X,`${Y.microcredits}u64`],priorityFee:0,privateFee:!0,programName:y})}catch(f){k=f}throw k}async function NJ({transactionId:Y,feeRecordCredits:$=4}){let X;try{let x=(await Z()).address().to_string(),G=(await T({transactionIds:[Y]})).filter((K)=>!K.spent);if(G.length===0)throw new W.SwapKitError("toolbox_aleo_no_unspent_records",{transactionId:Y});if(G.length===1){if(X=await wJ(G[0],$),await A(X),G=(await T({transactionIds:[X]})).filter((K)=>!K.spent),G.length<2)throw new W.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:X})}let k=[...G].sort((K,g)=>K.microcredits<g.microcredits?-1:1),B=k[0],f=k[k.length-1];if(!B||!f||B===f)throw new W.SwapKitError("toolbox_aleo_no_unspent_records",{transactionId:Y});let w=await E(await FJ(f,B,x));return await A(w),{publicBalance:W.AssetValue.from({chain:W.Chain.Aleo,fromBaseDecimal:6,value:await O(x)}),splitTransactionId:X,unshieldTransactionId:w}}catch(q){if(X)throw new W.SwapKitError("toolbox_aleo_transaction_failed",{error:q,splitTransactionId:X});throw b("toolbox_aleo_transaction_failed",q)}}function JJ({assetValue:Y,priorityFee:$=0}){try{if(!Number.isSafeInteger($)||$<0)throw new W.SwapKitError("toolbox_aleo_fee_estimation_failed",{priorityFee:$});let q=m(Y).isTokenTransfer?d:c;return W.AssetValue.from({chain:W.Chain.Aleo,fromBaseDecimal:6,value:BigInt(q)+BigInt($)})}catch(X){throw b("toolbox_aleo_fee_estimation_failed",X)}}async function QJ({assetValue:Y,priorityFee:$=0,recipient:X,sender:q}){if(!await s(X))throw new W.SwapKitError("toolbox_aleo_invalid_address",{address:X});let x=q||await D();if(!_(x))throw new W.SwapKitError("toolbox_aleo_invalid_address",{address:x});let G=m(Y),k=await JJ({assetValue:Y,priorityFee:$,recipient:X});try{let B=await O(x);if(W.AssetValue.from({chain:W.Chain.Aleo,fromBaseDecimal:6,value:B}).lt(k))throw new W.SwapKitError("toolbox_aleo_insufficient_fee_balance",{available:B.toString(),required:k.getBaseValue("string")});return{functionName:G.functionName,inputs:[X,G.amount],priorityFee:$,programName:G.programName,sender:x}}catch(B){throw b("toolbox_aleo_transaction_failed",B)}}async function ZJ(Y){try{return await z().signTransaction(Y)}catch($){throw b("toolbox_aleo_transaction_failed",$)}}async function $J(Y){return E(await ZJ(Y))}async function E(Y){try{let $=typeof Y==="string"?Y:Y.toString(),X=await L((q)=>q.submitTransaction($));if(!N.test(X))throw new W.SwapKitError("toolbox_aleo_broadcast_error",{transactionId:X});return X}catch($){throw b("toolbox_aleo_broadcast_error",$)}}async function _J(Y){let $=await QJ({...Y,sender:await D()});return $J($)}return{broadcastTransaction:E,createSigner:bJ,createTransaction:QJ,estimateTransactionFee:JJ,getAddress:D,getBalance:v,getBalanceFromRpc:V,getBalances:VJ,getBalanceWithFallback:r,getRecords:T,getShieldedBalance:KJ,signAndBroadcastTransaction:$J,signTransaction:ZJ,transfer:_J,unshield:NJ,validateAddress:_}}var W;var PJ=S(()=>{fJ();a();W=require("@swapkit/helpers")});var pJ={};AJ(pJ,{waitForAleoTransaction:()=>A,validateAleoProgramId:()=>UJ,validateAleoAddressWithChecksum:()=>s,validateAleoAddress:()=>_,sumUnspentRecords:()=>n,parseAleoTransactionStatus:()=>DJ,parseAleoMappingValue:()=>t,isRecord:()=>M,isNotFoundError:()=>R,isAleoTokenTransferResponse:()=>BJ,getConfiguredAleoUrls:()=>P,getAleoTransferRoute:()=>m,getAleoTransactionStatus:()=>xJ,getAleoToolbox:()=>yJ,getAleoMasterSeed:()=>GJ,getAleoError:()=>b,extractAleoRecordCiphertexts:()=>i,deriveAleoPath:()=>o,deriveAleoChildKey:()=>LJ,TRANSFER_PUBLIC_FUNCTION:()=>h,NATIVE_PROGRAM_ID:()=>y,MICRO_CREDITS_PER_CREDIT:()=>I,HARDENED_OFFSET:()=>u,ALEO_TRANSFER_PUBLIC_FEE:()=>c,ALEO_TRANSACTION_ID_REGEX:()=>N,ALEO_TOKEN_TRANSFER_PUBLIC_FEE:()=>d,ALEO_PROGRAM_ID_REGEX:()=>qJ,ALEO_HD_KEY:()=>jJ,ALEO_ADDRESS_REGEX:()=>XJ});module.exports=IJ(pJ);var lJ=S(()=>{PJ();a()});lJ();
@@ -0,0 +1 @@
1
+ import{fa as YJ}from"../../chunk-nvfkjbyq.js";import{ga as b}from"../../chunk-xbdjxeqd.js";import{hmac as o}from"@noble/hashes/hmac.js";import{sha512 as s}from"@noble/hashes/sha2.js";import{Chain as I,getChainConfig as LJ,SKConfig as UJ,SwapKitError as U}from"@swapkit/helpers";var BJ=/^aleo1[ac-hj-np-z02-9]{58}$/,DJ=/^[a-z0-9_]+\.aleo$/,C=/^at1[ac-hj-np-z02-9]+$/,kJ=new TextEncoder().encode("bls12_377 seed"),n=2147483648,m=1e6,f="credits.aleo",R="transfer_public",t=1e6,a=2000000;function e(J,Z){if(!M(J))return[];let Y=M(J.transaction)?J.transaction:J,W=Y.execution,z=M(Y.fee)?Y.fee.transition:void 0;return[...M(W)&&Array.isArray(W.transitions)?W.transitions:[],...M(z)?[z]:[]].flatMap((P)=>{if(!M(P)||!Array.isArray(P.outputs))return[];if(Z&&P.program!==Z)return[];return P.outputs.flatMap((x)=>M(x)&&x.type==="record"&&typeof x.value==="string"?[x.value]:[])})}function r(J){return J.reduce((Z,Y)=>Y.spent?Z:Z+Y.microcredits,0n)}function O(J,Z){return Z instanceof U&&Z.errorKey.startsWith("toolbox_aleo_")?Z:new U(J,Z)}function MJ(...J){let Z=J.reduce((z,L)=>z+L.length,0),Y=new Uint8Array(Z),W=0;for(let z of J)Y.set(z,W),W+=z.length;return Y}function xJ(J){let Z=new Uint8Array(4);return new DataView(Z.buffer).setUint32(0,J,!1),Z}function OJ(J){let Z=o(s,kJ,J);return{chainCode:Z.slice(32),key:Z.slice(0,32)}}function bJ(J,Z){if(!Number.isSafeInteger(Z)||Z<0||Z>=n)throw new U("toolbox_aleo_wasm_init_failed",{index:Z});let Y=Z+n,W=MJ(Uint8Array.of(0),J.key,xJ(Y)),z=o(s,J.chainCode,W);return{chainCode:z.slice(32),key:z.slice(0,32)}}function JJ(J,Z){let Y=J.split("/");if(Y.shift()!=="m"||Y.length===0)throw new U("toolbox_aleo_wasm_init_failed",{path:J});return Y.reduce((W,z)=>{if(!/^\d+'$/.test(z))throw new U("toolbox_aleo_wasm_init_failed",{path:J,segment:z});return bJ(W,Number.parseInt(z.slice(0,-1),10))},OJ(Z))}function T(J){return typeof J==="string"&&BJ.test(J)}async function QJ(J){if(!T(J))return!1;try{let{Account:Z}=await import("@provablehq/sdk/mainnet.js");return Z.isValidAddress(J)}catch{return!1}}function PJ(J){return DJ.test(J)}function ZJ(J,Z){if(J===null)return 0n;if(typeof J!=="string")throw new U("toolbox_aleo_balance_error",{integerType:Z,value:J});let Y=J.match(new RegExp(`^(\\d+)${Z}$`));if(!Y?.[1])throw new U("toolbox_aleo_balance_error",{integerType:Z,value:J});return BigInt(Y[1])}function A(J){if(J.chain!==I.Aleo)throw new U("toolbox_aleo_unsupported_token",{asset:J.toString()});let Z=J.getBaseValue("bigint");if(J.isGasAsset)return{amount:`${Z}u64`,functionName:R,isTokenTransfer:!1,programName:f};if(!J.address||!PJ(J.address))throw new U("toolbox_aleo_unsupported_token",{asset:J.toString()});return{amount:`${Z}u128`,functionName:R,isTokenTransfer:!0,programName:J.address}}function K(){let J=[...new Set([...UJ.get("rpcUrls")[I.Aleo],...LJ(I.Aleo).rpcUrls])].filter(Boolean);if(J.length===0)throw new U("toolbox_aleo_no_rpc_urls");return J}function E(J){if(typeof J==="object"&&J!==null&&"status"in J&&J.status===404)return!0;return J instanceof Error&&J.message.includes("404")}function M(J){return typeof J==="object"&&J!==null}function yJ(J){if(!M(J))return!1;return[J.transaction,J.rejected].some((Z)=>{if(!M(Z)||!M(Z.execution))return!1;let{transitions:Y}=Z.execution;return Array.isArray(Y)&&Y.some((W)=>M(W)&&W.function===R&&typeof W.program==="string"&&W.program!==f)})}function VJ(J,Z){if(!M(J)||typeof J.status!=="string")throw new U("toolbox_aleo_transaction_failed",{response:J,transactionId:Z});let Y=J.status.toLowerCase();if(Y==="rejected"){let W=yJ(J)?"toolbox_aleo_token_transfer_rejected":"toolbox_aleo_transaction_failed";throw new U(W,{transactionId:Z})}return Y==="accepted"?"accepted":"pending"}async function fJ(J){if(!C.test(J))throw new U("toolbox_aleo_transaction_failed",{transactionId:J});let Z,Y=!0;for(let W of K())try{let{AleoNetworkClient:z}=await import("@provablehq/sdk/mainnet.js"),L=await new z(W).getConfirmedTransaction(J);return VJ(L,J)}catch(z){if(z instanceof U)throw z;Z=z,Y=Y&&E(z)}if(Y)return"pending";throw O("toolbox_aleo_transaction_failed",Z)}async function g(J,{intervalMs:Z=5000,timeoutMs:Y=60000}={}){let W=Date.now();while(Date.now()-W<Y){let z=await fJ(J);if(z==="accepted")return z;await new Promise((L)=>setTimeout(L,Z))}throw new U("toolbox_aleo_transaction_failed",{reason:"confirmation_timeout",transactionId:J})}import{AssetValue as _,Chain as F,derivationPathToString as KJ,NetworkDerivationPath as FJ,SwapKitError as G}from"@swapkit/helpers";async function zJ(J,Z){try{let{Account:Y}=await import("@provablehq/sdk/mainnet.js"),{mnemonicToSeedSync:W}=await import("@scure/bip39"),z=KJ(Z||FJ[F.Aleo],{allHardened:!0}),{key:L}=JJ(z,W(J));return new Y({seed:L})}catch(Y){throw O("toolbox_aleo_wasm_init_failed",Y)}}function $J(J,Z){let Y,W=()=>{return Y??=zJ(J,Z),Y};return{getAddress:async()=>(await W()).address().to_string(),signTransaction:async(z)=>{let L=await W();if(z.sender!==L.address().to_string())throw new G("toolbox_aleo_invalid_address",{address:z.sender});let P;for(let x of K())try{let{ProgramManager:y}=await import("@provablehq/sdk/mainnet.js"),w=new y(x);return w.setAccount(L),await w.buildExecutionTransaction({functionName:z.functionName,inputs:z.inputs,priorityFee:z.priorityFee/m,privateFee:!1,programName:z.programName})}catch(y){P=y}throw P}}}function wJ(J={}){if("phrase"in J&&J.phrase&&"signer"in J&&J.signer)throw new G("toolbox_aleo_conflicting_signers");let Z;async function Y(){if(Z)return Z;let $="phrase"in J?J.phrase:void 0;if(!$)throw new G("toolbox_aleo_no_signer");let Q="derivationPath"in J?J.derivationPath:void 0;return Z=await zJ($,Q),Z}let W;function z(){let $="signer"in J?J.signer:void 0;if($)return $;let Q="phrase"in J?J.phrase:void 0;if(!Q)throw new G("toolbox_aleo_no_signer");return W??=$J(Q,"derivationPath"in J?J.derivationPath:void 0),W}async function L($){let Q;for(let H of K())try{let{AleoNetworkClient:X}=await import("@provablehq/sdk/mainnet.js");return await $(new X(H))}catch(X){Q=X}throw Q}async function P($){let Q;for(let H of K())try{let{AleoNetworkClient:X}=await import("@provablehq/sdk/mainnet.js");return await new X(H).getTransitionId($),!0}catch(X){if(E(X))return!1;Q=X}throw Q}async function x(){let $=z();try{return await $.getAddress()}catch(Q){throw O("toolbox_aleo_wasm_init_failed",Q)}}async function y($){let Q=await L((H)=>H.getProgramMappingValue(f,"account",$));return ZJ(Q,"u64")}async function w($){try{let Q=await y($);return[_.from({chain:F.Aleo,fromBaseDecimal:6,value:Q})]}catch(Q){throw O("toolbox_aleo_balance_error",Q)}}let u=YJ(F.Aleo);async function p($,Q=!0){try{return await u($,Q)}catch{return w($)}}async function HJ(){return p(await x())}async function v({transactionIds:$}){try{let Q=await Y(),H=[];for(let X of $){if(!C.test(X))throw new G("toolbox_aleo_transaction_failed",{transactionId:X});let B=await L((q)=>q.getTransaction(X));for(let q of e(B,f)){if(!Q.ownsRecordCiphertext(q))continue;let{RecordPlaintext:D}=await import("@provablehq/sdk/mainnet.js"),j=Q.decryptRecord(q).toString(),k=D.fromString(j),N=k.microcredits();if(N===0n)continue;let V=Q.generateRecordViewKey(q).toString(),h=k.serialNumberString(Q.privateKey(),f,"credits",V);H.push({microcredits:N,plaintext:j,spent:await P(h),transactionId:X})}}return H}catch(Q){throw O("toolbox_aleo_balance_error",Q)}}async function WJ({transactionIds:$}){let Q=await v({transactionIds:$});return _.from({chain:F.Aleo,fromBaseDecimal:6,value:r(Q)})}async function XJ($,Q){if(!Number.isSafeInteger(Q)||Q<=0)throw new G("toolbox_aleo_insufficient_fee_balance",{feeRecordCredits:Q});let H=await Y();if(!$||$.microcredits<=BigInt(Q)*BigInt(m))throw new G("toolbox_aleo_insufficient_fee_balance",{available:$?.microcredits.toString(),required:`${Q} credits fee record`});let{ProgramManager:X,RecordPlaintext:B}=await import("@provablehq/sdk/mainnet.js"),q;for(let D of K())try{let j=new X(D);return j.setAccount(H),await j.split(Q,B.fromString($.plaintext))}catch(j){q=j}throw q}async function qJ($,Q,H){let X=await Y(),{ProgramManager:B,RecordPlaintext:q}=await import("@provablehq/sdk/mainnet.js"),D;for(let j of K())try{let k=new B(j);return k.setAccount(X),await k.buildExecutionTransaction({feeRecord:q.fromString(Q.plaintext),functionName:"transfer_private_to_public",inputs:[$.plaintext,H,`${$.microcredits}u64`],priorityFee:0,privateFee:!0,programName:f})}catch(k){D=k}throw D}async function jJ({transactionId:$,feeRecordCredits:Q=4}){let H;try{let B=(await Y()).address().to_string(),q=(await v({transactionIds:[$]})).filter((V)=>!V.spent);if(q.length===0)throw new G("toolbox_aleo_no_unspent_records",{transactionId:$});if(q.length===1){if(H=await XJ(q[0],Q),await g(H),q=(await v({transactionIds:[H]})).filter((V)=>!V.spent),q.length<2)throw new G("toolbox_aleo_transaction_failed",{transactionId:H})}let D=[...q].sort((V,h)=>V.microcredits<h.microcredits?-1:1),j=D[0],k=D[D.length-1];if(!j||!k||j===k)throw new G("toolbox_aleo_no_unspent_records",{transactionId:$});let N=await S(await qJ(k,j,B));return await g(N),{publicBalance:_.from({chain:F.Aleo,fromBaseDecimal:6,value:await y(B)}),splitTransactionId:H,unshieldTransactionId:N}}catch(X){if(H)throw new G("toolbox_aleo_transaction_failed",{error:X,splitTransactionId:H});throw O("toolbox_aleo_transaction_failed",X)}}function l({assetValue:$,priorityFee:Q=0}){try{if(!Number.isSafeInteger(Q)||Q<0)throw new G("toolbox_aleo_fee_estimation_failed",{priorityFee:Q});let X=A($).isTokenTransfer?a:t;return _.from({chain:F.Aleo,fromBaseDecimal:6,value:BigInt(X)+BigInt(Q)})}catch(H){throw O("toolbox_aleo_fee_estimation_failed",H)}}async function c({assetValue:$,priorityFee:Q=0,recipient:H,sender:X}){if(!await QJ(H))throw new G("toolbox_aleo_invalid_address",{address:H});let B=X||await x();if(!T(B))throw new G("toolbox_aleo_invalid_address",{address:B});let q=A($),D=await l({assetValue:$,priorityFee:Q,recipient:H});try{let j=await y(B);if(_.from({chain:F.Aleo,fromBaseDecimal:6,value:j}).lt(D))throw new G("toolbox_aleo_insufficient_fee_balance",{available:j.toString(),required:D.getBaseValue("string")});return{functionName:q.functionName,inputs:[H,q.amount],priorityFee:Q,programName:q.programName,sender:B}}catch(j){throw O("toolbox_aleo_transaction_failed",j)}}async function d($){try{return await z().signTransaction($)}catch(Q){throw O("toolbox_aleo_transaction_failed",Q)}}async function i($){return S(await d($))}async function S($){try{let Q=typeof $==="string"?$:$.toString(),H=await L((X)=>X.submitTransaction(Q));if(!C.test(H))throw new G("toolbox_aleo_broadcast_error",{transactionId:H});return H}catch(Q){throw O("toolbox_aleo_broadcast_error",Q)}}async function GJ($){let Q=await c({...$,sender:await x()});return i(Q)}return{broadcastTransaction:S,createSigner:$J,createTransaction:c,estimateTransactionFee:l,getAddress:x,getBalance:u,getBalanceFromRpc:w,getBalances:HJ,getBalanceWithFallback:p,getRecords:v,getShieldedBalance:WJ,signAndBroadcastTransaction:i,signTransaction:d,transfer:GJ,unshield:jJ,validateAddress:T}}export{g as waitForAleoTransaction,PJ as validateAleoProgramId,QJ as validateAleoAddressWithChecksum,T as validateAleoAddress,r as sumUnspentRecords,VJ as parseAleoTransactionStatus,ZJ as parseAleoMappingValue,M as isRecord,E as isNotFoundError,yJ as isAleoTokenTransferResponse,K as getConfiguredAleoUrls,A as getAleoTransferRoute,fJ as getAleoTransactionStatus,wJ as getAleoToolbox,OJ as getAleoMasterSeed,O as getAleoError,e as extractAleoRecordCiphertexts,JJ as deriveAleoPath,bJ as deriveAleoChildKey,R as TRANSFER_PUBLIC_FUNCTION,f as NATIVE_PROGRAM_ID,m as MICRO_CREDITS_PER_CREDIT,n as HARDENED_OFFSET,t as ALEO_TRANSFER_PUBLIC_FEE,C as ALEO_TRANSACTION_ID_REGEX,a as ALEO_TOKEN_TRANSFER_PUBLIC_FEE,DJ as ALEO_PROGRAM_ID_REGEX,kJ as ALEO_HD_KEY,BJ as ALEO_ADDRESS_REGEX};
@@ -1 +1 @@
1
- var H0=Object.create;var{getPrototypeOf:B0,defineProperty:t,getOwnPropertyNames:Pf,getOwnPropertyDescriptor:_0}=Object,Mf=Object.prototype.hasOwnProperty;function Vf(v){return this[v]}var v0,L0,y0=(v,H,_)=>{var f=v!=null&&typeof v==="object";if(f){var x=H?v0??=new WeakMap:L0??=new WeakMap,T=x.get(v);if(T)return T}_=v!=null?H0(B0(v)):{};let B=H||!v||!v.__esModule?t(_,"default",{value:v,enumerable:!0}):_;for(let L of Pf(v))if(!Mf.call(B,L))t(B,L,{get:Vf.bind(v,L),enumerable:!0});if(f)x.set(v,B);return B},W0=(v)=>{var H=(Df??=new WeakMap).get(v),_;if(H)return H;if(H=t({},"__esModule",{value:!0}),v&&typeof v==="object"||typeof v==="function"){for(var f of Pf(v))if(!Mf.call(H,f))t(H,f,{get:Vf.bind(v,f),enumerable:!(_=_0(v,f))||_.enumerable})}return Df.set(v,H),H},Df;var z0=(v)=>v;function G0(v,H){this[v]=z0.bind(null,H)}var uf=(v,H)=>{for(var _ in H)t(v,_,{get:H[_],enumerable:!0,configurable:!0,set:G0.bind(H,_)})};var A=(v,H)=>()=>(v&&(H=v(v=0)),H);function g(v){return P.base64.encode(Uint8Array.from(P.bech32.fromWords(P.bech32.decode(v).words)))}function r(v,H="thor"){return P.bech32.encode(H,P.bech32.toWords(P.base64.decode(v)))}function Z0(v){return P.base64.encode(v)}function I0(v){if(!v.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new wf.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return P.base64.decode(v)}var P,wf;var Zf=A(()=>{P=require("@scure/base"),wf=require("@swapkit/helpers")});function D(v){switch(v){case W.Chain.Maya:return{amount:[],gas:"10000000000"};case W.Chain.THORChain:return{amount:[],gas:"500000000"};case W.Chain.Kujira:return $f;case W.Chain.Noble:return nf;default:return lf}}async function a(v){let{isStagenet:H}=W.SKConfig.get("envs"),_=W.SKConfig.get("thornodeUrls"),f=v===W.Chain.Maya,T=`${f?H?_.MAYA_STAGENET:_.MAYA:H?_.THOR_STAGENET:_.THOR}/${f?"mayachain":"thorchain"}/constants`,B=W.getChainConfig(v).baseDecimal;try{let{int_64_values:{NativeTransactionFee:L}}=await W.RequestClient.get(T);if(!Number.isInteger(L)||L<=0)throw new W.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:L.toString()});return W.SwapKitNumber.fromBigInt(BigInt(L),B)}catch{let L=f?10000000000n:2000000n;return W.SwapKitNumber.fromBigInt(L,B)}}async function M(v){let H=await import("@cosmjs/stargate"),_=H.StargateClient??H.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return _.connect({headers:f,url:v})}async function j(v,H,_={}){let f=await import("@cosmjs/stargate"),x=f.SigningStargateClient??f.default?.SigningStargateClient,T=f.GasPrice??f.default?.GasPrice,B=typeof _==="string"?_:"0.0003uatom",L=typeof _==="string"?{}:_;return x.connectWithSigner(v,H,{gasPrice:T.fromString(B),...L})}async function Qf(v,H){let _=await import("@cosmjs/stargate");return(_.SigningStargateClient??_.default?.SigningStargateClient).offline(v,H)}async function Xf({sender:v,recipient:H,assetValue:_,memo:f="",feeRate:x,sequence:T,accountNumber:B,sweep:L}){let{chain:I,chainId:q}=_,E=await W.getRPCUrl(I),K=await M(E),U=await K.getAccount(v);if(!U)throw new W.SwapKitError("toolbox_cosmos_account_not_found",{sender:v});let X=W.AssetValue.from({chain:I}),Y=w(X.symbol),Q=D(I),J=Y&&x?{amount:[{amount:x.toString(),denom:Y}],gas:Q.gas}:Q,O=w(_.symbol),C={amount:[{amount:(L?i({assetValue:_,balances:await K.getAllBalances(v),denom:O,feeAmount:_f(J.amount,O)}):_).getBaseValue("string"),denom:O}],fromAddress:v,toAddress:H};return{accountNumber:B??Number(U.accountNumber),chainId:q,fee:J,memo:f,msgs:[{typeUrl:Q0(I),value:C}],sequence:T??U.sequence}}function _f(v,H){let _=H.toLowerCase();return v.reduce((f,x)=>x.denom.toLowerCase()===_?f+BigInt(x.amount):f,0n)}function i({assetValue:v,balances:H,denom:_,feeAmount:f=0n}){let x=_.toLowerCase(),T=H.find(({denom:I})=>I.toLowerCase()===x),B=BigInt(T?.amount??"0"),L=B-f;if(L<=0n)throw new W.SwapKitError("toolbox_sweep_amount_too_low",{asset:v.toString(),balance:B.toString(),fee:f.toString()});return v.set(W.SwapKitNumber.fromBigInt(L,v.decimal))}var W,If="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",hf="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",lf,$f,nf,w=(v,H=!1)=>{if(H)return v.toLowerCase();switch(v){case"uUSK":case"USK":return If;case"uYUM":case"YUM":return hf;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":case"NOBLE":return"uusdc";default:return v}},s=({symbol:v,chain:H})=>{if(H===W.Chain.Maya)return(v.toUpperCase()!=="CACAO"?v:`${W.Chain.Maya}.${v}`).toUpperCase();if(H===W.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(v.toUpperCase())?`${W.Chain.THORChain}.${v}`:v).toUpperCase();return w(v,!1)},Q0=(v)=>{switch(v){case W.Chain.Maya:case W.Chain.THORChain:return"/types.MsgSend";case W.Chain.Cosmos:case W.Chain.Kujira:case W.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new W.SwapKitError("toolbox_cosmos_not_supported",{chain:v})}},X0,Yf=(v,H)=>{let _=X0[v.toLowerCase()];if(!_)return W.AssetValue.from({asset:v,fromBaseDecimal:8,value:H});let{chain:f,asset:x,decimals:T}=_,B=f?{chain:f}:{asset:x};return W.AssetValue.from({...B,fromBaseDecimal:T,value:H})};var e=A(()=>{W=require("@swapkit/helpers"),lf={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},$f={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},nf={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};X0={atom:{chain:W.Chain.Cosmos,decimals:W.getChainConfig(W.Chain.Cosmos).baseDecimal},cacao:{chain:W.Chain.Maya,decimals:10},kuji:{chain:W.Chain.Kujira,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal},maya:{asset:`${W.Chain.Maya}.${W.Chain.Maya}`,decimals:4},rune:{chain:W.Chain.THORChain,decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},uatom:{chain:W.Chain.Cosmos,decimals:W.getChainConfig(W.Chain.Cosmos).baseDecimal},ukuji:{chain:W.Chain.Kujira,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal},usdc:{chain:W.Chain.Noble,decimals:W.getChainConfig(W.Chain.Noble).baseDecimal},uusdc:{chain:W.Chain.Noble,decimals:W.getChainConfig(W.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},[If.toLowerCase()]:{asset:`${W.Chain.Kujira}.USK`,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal}}});var pf={};uf(pf,{$root:()=>y});var k,Z,R,G,y;var cf=A(()=>{k=y0(require("protobufjs/minimal.js")),Z=k.default.Reader,R=k.default.Writer,G=k.default.util,y=k.default.roots.default||(k.default.roots.default={});y.common=(()=>{let v={};return v.Asset=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.chain="",H.prototype.symbol="",H.prototype.ticker="",H.prototype.synth=!1,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.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},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Asset;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.chain=f.string();break;case 2:B.symbol=f.string();break;case 3:B.ticker=f.string();break;case 4:B.synth=f.bool();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!G.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!G.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!G.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},H.fromObject=function(f){if(f instanceof y.common.Asset)return f;let x=new y.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},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.chain="",T.symbol="",T.ticker="",T.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))T.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))T.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))T.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))T.synth=f.synth;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},H})(),v.Coin=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.asset=null,H.prototype.amount="",H.prototype.decimals=G.Long?G.Long.fromBits(0,0,!1):0,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))y.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},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Coin;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.asset=y.common.Asset.decode(f,f.uint32());break;case 2:B.amount=f.string();break;case 3:B.decimals=f.int64();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let x=y.common.Asset.verify(f.asset);if(x)return"asset."+x}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!G.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!G.isInteger(f.decimals)&&!(f.decimals&&G.isInteger(f.decimals.low)&&G.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Coin)return f;let x=new y.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=y.common.Asset.fromObject(f.asset)}if(f.amount!=null)x.amount=String(f.amount);if(f.decimals!=null){if(G.Long)(x.decimals=G.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 G.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)if(T.asset=null,T.amount="",G.Long){let B=new G.Long(0,0,!1);T.decimals=x.longs===String?B.toString():x.longs===Number?B.toNumber():B}else T.decimals=x.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))T.asset=y.common.Asset.toObject(f.asset,x);if(f.amount!=null&&f.hasOwnProperty("amount"))T.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")T.decimals=x.longs===String?String(f.decimals):f.decimals;else T.decimals=x.longs===String?G.Long.prototype.toString.call(f.decimals):x.longs===Number?new G.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},H})(),v.PubKeySet=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.secp256k1="",H.prototype.ed25519="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.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},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.PubKeySet;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.secp256k1=f.string();break;case 2:B.ed25519=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!G.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!G.isString(f.ed25519))return"ed25519: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.PubKeySet)return f;let x=new y.common.PubKeySet;if(f.secp256k1!=null)x.secp256k1=String(f.secp256k1);if(f.ed25519!=null)x.ed25519=String(f.ed25519);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.secp256k1="",T.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))T.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))T.ed25519=f.ed25519;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},H})(),v.Tx=(()=>{function H(_){if(this.coins=[],this.gas=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.id="",H.prototype.chain="",H.prototype.fromAddress="",H.prototype.toAddress="",H.prototype.coins=G.emptyArray,H.prototype.gas=G.emptyArray,H.prototype.memo="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.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 T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(42).fork()).ldelim();if(f.gas?.length)for(let T=0;T<f.gas.length;++T)y.common.Coin.encode(f.gas[T],x.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))x.uint32(58).string(f.memo);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Tx;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.id=f.string();break;case 2:B.chain=f.string();break;case 3:B.fromAddress=f.string();break;case 4:B.toAddress=f.string();break;case 5:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 6:if(!B.gas?.length)B.gas=[];B.gas.push(y.common.Coin.decode(f,f.uint32()));break;case 7:B.memo=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!G.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!G.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!G.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!G.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 T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}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 T=y.common.Coin.verify(f.gas[x]);if(T)return"gas."+T}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!G.isString(f.memo))return"memo: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Tx)return f;let x=new y.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 T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let T=0;T<f.gas.length;++T){if(typeof f.gas[T]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[T]=y.common.Coin.fromObject(f.gas[T])}}if(f.memo!=null)x.memo=String(f.memo);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[],T.gas=[];if(x.defaults)T.id="",T.chain="",T.fromAddress="",T.toAddress="",T.memo="";if(f.id!=null&&f.hasOwnProperty("id"))T.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))T.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))T.toAddress=f.toAddress;if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.gas?.length){T.gas=[];for(let B=0;B<f.gas.length;++B)T.gas[B]=y.common.Coin.toObject(f.gas[B],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},H})(),v.Fee=(()=>{function H(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.coins=G.emptyArray,H.prototype.poolDeduct="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))x.uint32(18).string(f.poolDeduct);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Fee;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:B.poolDeduct=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.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 T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!G.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Fee)return f;let x=new y.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.poolDeduct!=null)x.poolDeduct=String(f.poolDeduct);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[];if(x.defaults)T.poolDeduct="";if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))T.poolDeduct=f.poolDeduct;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},H})(),v.ProtoUint=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.value="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))x.uint32(10).string(f.value);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.ProtoUint;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.value=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!G.isString(f.value))return"value: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.ProtoUint)return f;let x=new y.common.ProtoUint;if(f.value!=null)x.value=String(f.value);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.value="";if(f.value!=null&&f.hasOwnProperty("value"))T.value=f.value;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},H})(),v})();y.types=(()=>{let v={};return v.MsgDeposit=(()=>{function H(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.coins=G.emptyArray,H.prototype.memo="",H.prototype.signer=G.newBuffer([]),H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],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},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.types.MsgDeposit;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:B.memo=f.string();break;case 3:B.signer=f.bytes();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.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 T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!G.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||G.isString(f.signer)))return"signer: buffer expected"}return null},H.fromObject=function(f){if(f instanceof y.types.MsgDeposit)return f;let x=new y.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.memo!=null)x.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")G.base64.decode(f.signer,x.signer=G.newBuffer(G.base64.length(f.signer)),0);else if(f.signer.length)x.signer=f.signer}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[];if(x.defaults){if(T.memo="",x.bytes===String)T.signer="";else if(T.signer=[],x.bytes!==Array)T.signer=G.newBuffer(T.signer)}if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))T.signer=x.bytes===String?G.base64.encode(f.signer,0,f.signer.length):x.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},H})(),v.MsgSend=(()=>{function H(_){if(this.amount=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.fromAddress=G.newBuffer([]),H.prototype.toAddress=G.newBuffer([]),H.prototype.amount=G.emptyArray,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.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 T=0;T<f.amount.length;++T)y.cosmos.base.v1beta1.Coin.encode(f.amount[T],x.uint32(26).fork()).ldelim();return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.types.MsgSend;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.fromAddress=f.bytes();break;case 2:B.toAddress=f.bytes();break;case 3:if(!B.amount?.length)B.amount=[];B.amount.push(y.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.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"||G.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||G.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 T=y.cosmos.base.v1beta1.Coin.verify(f.amount[x]);if(T)return"amount."+T}}return null},H.fromObject=function(f){if(f instanceof y.types.MsgSend)return f;let x=new y.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")G.base64.decode(f.fromAddress,x.fromAddress=G.newBuffer(G.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)x.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")G.base64.decode(f.toAddress,x.toAddress=G.newBuffer(G.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 T=0;T<f.amount.length;++T){if(typeof f.amount[T]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[T]=y.cosmos.base.v1beta1.Coin.fromObject(f.amount[T])}}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.amount=[];if(x.defaults){if(x.bytes===String)T.fromAddress="";else if(T.fromAddress=[],x.bytes!==Array)T.fromAddress=G.newBuffer(T.fromAddress);if(x.bytes===String)T.toAddress="";else if(T.toAddress=[],x.bytes!==Array)T.toAddress=G.newBuffer(T.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=x.bytes===String?G.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"))T.toAddress=x.bytes===String?G.base64.encode(f.toAddress,0,f.toAddress.length):x.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){T.amount=[];for(let B=0;B<f.amount.length;++B)T.amount[B]=y.cosmos.base.v1beta1.Coin.toObject(f.amount[B],x)}return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},H})(),v})();y.cosmos=(()=>{let v={};return v.base=(()=>{let H={};return H.v1beta1=(()=>{let _={};return _.Coin=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))B.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))B.uint32(18).string(T.amount);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.Coin;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.denom=T.string();break;case 2:I.amount=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!G.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!G.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.Coin)return T;let B=new y.cosmos.base.v1beta1.Coin;if(T.denom!=null)B.denom=String(T.denom);if(T.amount!=null)B.amount=String(T.amount);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.denom="",L.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))L.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))L.amount=T.amount;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},f})(),_.DecCoin=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))B.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))B.uint32(18).string(T.amount);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.DecCoin;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.denom=T.string();break;case 2:I.amount=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!G.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!G.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecCoin)return T;let B=new y.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)B.denom=String(T.denom);if(T.amount!=null)B.amount=String(T.amount);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.denom="",L.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))L.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))L.amount=T.amount;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},f})(),_.IntProto=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.int="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))B.uint32(10).string(T.int);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.IntProto;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.int=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.int!=null&&T.hasOwnProperty("int")){if(!G.isString(T.int))return"int: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.IntProto)return T;let B=new y.cosmos.base.v1beta1.IntProto;if(T.int!=null)B.int=String(T.int);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.int="";if(T.int!=null&&T.hasOwnProperty("int"))L.int=T.int;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},f})(),_.DecProto=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.dec="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))B.uint32(10).string(T.dec);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.DecProto;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.dec=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.dec!=null&&T.hasOwnProperty("dec")){if(!G.isString(T.dec))return"dec: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecProto)return T;let B=new y.cosmos.base.v1beta1.DecProto;if(T.dec!=null)B.dec=String(T.dec);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.dec="";if(T.dec!=null&&T.hasOwnProperty("dec"))L.dec=T.dec;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,k.default.util.toJSONOptions)},f})(),_})(),H})(),v})()});async function b(){let{$root:v}=await Promise.resolve().then(() => (cf(),pf)),H=await import("@cosmjs/proto-signing"),_=await import("@cosmjs/stargate"),f=H.Registry??H.default?.Registry,x=_.defaultRegistryTypes??_.default?.defaultRegistryTypes;return new f([...x,["/types.MsgSend",v.types.MsgSend],["/types.MsgDeposit",v.types.MsgDeposit]])}async function h(v,H=v===qf.Chain.THORChain?"thor":"maya"){let _=await import("@cosmjs/stargate"),f=_.AminoTypes??_.default?.AminoTypes,x=v===qf.Chain.THORChain?"thorchain":"mayachain";return new f({"/types.MsgDeposit":{aminoType:`${x}/MsgDeposit`,fromAmino:({signer:T,...B})=>({...B,signer:g(T)}),toAmino:({signer:T,...B})=>({...B,signer:r(T,H)})},"/types.MsgSend":{aminoType:`${x}/MsgSend`,fromAmino:({from_address:T,to_address:B,...L})=>({...L,fromAddress:g(T),toAddress:g(B)}),toAmino:({fromAddress:T,toAddress:B,...L})=>({...L,from_address:r(T,H),to_address:r(B,H)})}})}var qf;var Jf=A(()=>{Zf();qf=require("@swapkit/helpers")});async function Ff(v){let{assetValue:H,recipient:_,memo:f,sender:x,asSignable:T,asAminoMessage:B}=v,L=v.sweep?await Lf({assetValue:H,sender:x}):H;if(_)return bf({asAminoMessage:B,asSignable:T,assetValue:L,memo:f,recipient:_,sender:x});return df({asAminoMessage:B,asSignable:T,assetValue:L,memo:f,sender:x})}async function Lf({assetValue:v,sender:H}){let _=v.chain,f=await S.getRPCUrl(_),T=await(await M(f)).getAllBalances(H),B=v.isGasAsset?(await a(_)).getBaseValue("bigint"):0n;return i({assetValue:v,balances:T,denom:w(v.symbol,!0),feeAmount:B})}async function bf({sender:v,recipient:H,assetValue:_,memo:f="",asSignable:x=!0,asAminoMessage:T=!1,sequence:B,accountNumber:L}){let I=_.chain,q=await S.getRPCUrl(I),E=await jf({rpcUrl:q,sender:v}),{chainId:K}=S.getChainConfig(I),U=Of({assetValue:_,recipient:H,sender:v}),X=x?await l(T?U:$(U),I):U;return{accountNumber:L||Number(E.accountNumber),chainId:K,fee:D(I),memo:f,msgs:[X],sequence:B||E.sequence}}async function df({sender:v,assetValue:H,memo:_="",asSignable:f=!0,asAminoMessage:x=!1,sequence:T,accountNumber:B}){let L=H.chain,I=await S.getRPCUrl(L),q=await jf({rpcUrl:I,sender:v}),{chainId:E}=S.getChainConfig(L),K=Nf({assetValue:H,memo:_,sender:v}),U=f?await l(x?K:$(K),L):K;return{accountNumber:B||Number(q.accountNumber),chainId:E,fee:D(L),memo:_,msgs:[U],sequence:T||q.sequence}}function $(v){if(v.type==="thorchain/MsgSend"||v.type==="mayachain/MsgSend")return v;return{...v,value:{...v.value,coins:v.value.coins.map((H)=>{let _=S.AssetValue.from({asset:H.asset}),f=(_.isSynthetic?_.symbol.split("/")?.[1]:_.symbol)?.toUpperCase(),x=(_.isSynthetic?_.symbol.split("/")?.[0]:_.chain)?.toUpperCase();return{...H,asset:{chain:x,symbol:f,synth:_.isSynthetic,ticker:_.ticker}}})}}}async function ff({chain:v,memo:H,msgs:_}){let f=await b(),x=await h(v),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:H,messages:_.map((B)=>x.fromAmino(B))}};return f.encode(T)}var S,Y0,q0,Of=({sender:v,recipient:H,assetValue:_})=>{return{type:`${_.chain===S.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:_.getBaseValue("string"),denom:w(_.symbol,!0)}],from_address:v,to_address:H}}},Nf=({sender:v,assetValue:H,memo:_=""})=>{return{type:`${H.chain===S.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:H.getBaseValue("string"),asset:s(H)}],memo:_,signer:v}}},vf=({sender:v,recipient:H,assetValue:_,memo:f})=>{return!H?Nf({assetValue:_,memo:f,sender:v}):Of({assetValue:_,recipient:H,sender:v})},l=async(v,H)=>{return(await h(H)).fromAmino(v)},jf=async({rpcUrl:v,sender:H})=>{let f=await(await M(v)).getAccount(H);if(!f)throw new S.SwapKitError("toolbox_cosmos_account_not_found",{sender:H});return f};var of=A(()=>{e();Jf();S=require("@swapkit/helpers"),Y0=D(S.Chain.THORChain).gas,q0=D(S.Chain.Maya).gas});var mf=()=>{};var tf=A(()=>{mf()});var Ef=A(()=>{Zf();of();Jf();tf()});async function Sf(v,H){try{let f=(await Uf.SwapKitApi.getGasRate()).find((x)=>x.chainId===v)?.value;return f?Number.parseFloat(f):H}catch{return H}}async function kf({phrase:v,prefix:H,..._}){let f=await import("@cosmjs/proto-signing"),x=await import("@cosmjs/crypto"),T=f.DirectSecp256k1HdWallet??f.default?.DirectSecp256k1HdWallet,B=x.stringToPath??x.default?.stringToPath,L="derivationPath"in _?_.derivationPath:`${z.DerivationPath[_.chain]}/${_.index}`;return await T.fromMnemonic(v,{hdPaths:[B(L)],prefix:H})}async function J0({privateKey:v,prefix:H}){let _=await import("@cosmjs/proto-signing");return(_.DirectSecp256k1Wallet??_.default?.DirectSecp256k1Wallet).fromKey(v,H)}function af(v){return async function({signature:_,message:f,address:x}){let T=await v(x);if(!T?.pubkey)throw new z.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let B=await import("@cosmjs/crypto"),L=B.Secp256k1Signature??B.default?.Secp256k1Signature,I=B.Secp256k1??B.default?.Secp256k1,q=L.fromFixedLength(n.base64.decode(_));return I.verifySignature(q,n.base64.decode(f),T.pubkey.value)}}function xf({chain:v,...H}){let _=z.CosmosChainPrefixes[v],f="index"in H?H.index||0:0,x=z.derivationPathToString("derivationPath"in H&&H.derivationPath?H.derivationPath:z.updateDerivationPath(z.NetworkDerivationPath[v],{index:f})),T;async function B(){if(T)return T;return T=await Tf.match(H).with({phrase:Tf.P.string},({phrase:X})=>kf({derivationPath:x,phrase:X,prefix:_})).with({signer:Tf.P.any},({signer:X})=>X).otherwise(()=>{return}),T}async function L(X){let Y=await z.getRPCUrl(v);return(await M(Y)).getAccount(X)}async function I(){let X=await B(),[Y]=await X?.getAccounts()||[];return Y?.address}async function q(){let X=await B(),[Y]=await X?.getAccounts()||[];if(!Y?.pubkey)throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");return n.base64.encode(Y?.pubkey)}async function E(X){let Y=await B(),Q=await I(),J=await z.getRPCUrl(v);if(!(Y&&Q))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await j(J,Y)).sign(Q,X.msgs,X.fee,X.memo,{accountNumber:BigInt(X.accountNumber),chainId:X.chainId,sequence:X.sequence})}async function K(X){let Y=await B(),Q=await I(),J=await z.getRPCUrl(v);if(!(Y&&Q))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await(await j(J,Y)).signAndBroadcast(Q,X.msgs,X.fee,X.memo);if(N.code!==0)throw new z.SwapKitError("core_swap_transaction_error",{code:N.code,message:N.rawLog});return N.transactionHash}async function U({recipient:X,assetValue:Y,memo:Q="",feeRate:J,feeOptionKey:O=z.FeeOption.Fast,sweep:N}){let C=await B(),V=await I();if(!(C&&V))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");let u=await z.getRPCUrl(v),d=z.AssetValue.from({chain:v}),Wf=s(d),Bf=F0(J||(await rf(v,gf[v]))[O],Wf,v),o=await j(u,C),m=w(Y.symbol),zf=[{amount:(N?i({assetValue:Y,balances:await Kf(v)(V),denom:m,feeAmount:_f(Bf.amount,m)}):Y).getBaseValue("string"),denom:m}],{transactionHash:Gf}=await o.sendTokens(V,X,zf,Bf,Q);return Gf}return{createPrivateKeyFromPhrase:K0(x),createTransaction:Xf,fetchFeeRateFromSwapKit:Sf,getAccount:L,getAddress:I,getBalance:async(X,Y)=>{let Q=await Kf(v)(X),J=await Promise.all(Q.filter(({denom:O})=>O&&!O.includes("IBC/")&&!([z.Chain.THORChain,z.Chain.Maya].includes(v)&&O.split("-").length>2)).map(({denom:O,amount:N})=>{let C=[z.Chain.THORChain,z.Chain.Maya].includes(v)&&(O.includes("/")||O.includes("˜"))?`${v}.${O}`:O;return Yf(C,N)}));if(J.length===0)return[z.AssetValue.from({chain:v})];return J},getBalanceAsDenoms:Kf(v),getFees:()=>rf(v,gf[v]),getPubKey:q,getSignerFromPhrase:({phrase:X,derivationPath:Y})=>kf({derivationPath:z.derivationPathToString(Y),index:f,phrase:X,prefix:_}),getSignerFromPrivateKey:async(X)=>{let Y=await import("@cosmjs/proto-signing");return(Y.DirectSecp256k1Wallet??Y.default?.DirectSecp256k1Wallet).fromKey(X,_)},signAndBroadcastTransaction:K,signTransaction:E,transfer:U,validateAddress:sf(v),verifySignature:af(L)}}async function O0(v,H){try{let f=(await Uf.SwapKitApi.getGasRate()).find((x)=>x.chainId===v)?.value;return f?Number.parseFloat(f):H}catch{return H}}function N0({assetValue:{chain:v}}){return z.AssetValue.from({chain:v,value:E0(v)})}async function rf(v,H){let{chainId:_,baseDecimal:f}=z.getChainConfig(v),x=await Sf(_,H);return{average:z.SwapKitNumber.fromBigInt(BigInt(x),f),fast:z.SwapKitNumber.fromBigInt(BigInt(z.applyFeeMultiplier(x,z.FeeOption.Fast,!0)),f),fastest:z.SwapKitNumber.fromBigInt(BigInt(z.applyFeeMultiplier(x,z.FeeOption.Fastest,!0)),f)}}function F0(v,H,_){return{amount:[{amount:typeof v==="number"?v.toString():v.getBaseValue("string"),denom:H}],gas:D(_).gas}}function E0(v){return{[z.Chain.Cosmos]:0.007,[z.Chain.Kujira]:0.02,[z.Chain.Noble]:0.01,[z.Chain.THORChain]:0.02,[z.Chain.Maya]:0.02,[z.Chain.Harbor]:0.02}[v]||0}function sf(v){let H=z.CosmosChainPrefixes[v];return function(f){if(!f.startsWith(H))return!1;try{let{prefix:x,words:T}=n.bech32.decode(f);return n.bech32.encode(x,T)===f.toLocaleLowerCase()}catch{return!1}}}function Kf(v){return async function(_){let f=await z.getRPCUrl(v);return(await(await M(f)).getAllBalances(_)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function K0(v){return async function(_){let f=await import("@cosmjs/crypto"),x=f.stringToPath??f.default?.stringToPath,T=f.Slip10Curve??f.default?.Slip10Curve,B=f.Slip10??f.default?.Slip10,L=f.EnglishMnemonic??f.default?.EnglishMnemonic,I=f.Bip39??f.default?.Bip39,q=new L(_),E=await I.mnemonicToSeed(q),{privkey:K}=B.derivePath(T.Secp256k1,E,x(v));return K}}var n,z,Uf,Tf,gf;var yf=A(()=>{e();n=require("@scure/base"),z=require("@swapkit/helpers"),Uf=require("@swapkit/helpers/api"),Tf=require("ts-pattern");gf={[z.Chain.Cosmos]:1000,[z.Chain.Kujira]:1000,[z.Chain.Noble]:1000,[z.Chain.THORChain]:5000000,[z.Chain.Maya]:5000000,[z.Chain.Harbor]:5000000}});function k0({prefix:v,derivationPath:H}){return async function(f,x=0){let T=await import("@cosmjs/amino"),B=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,L=await import("@cosmjs/crypto"),I=L.stringToPath??L.default?.stringToPath;return B.fromMnemonic(f,{hdPaths:[I(`${H}/${x}`)],prefix:v})}}function U0(v){return p.base64.encode(v)}function S0(v,H){return async function({wallet:f,tx:x}){let{msgs:T,accountNumber:B,sequence:L,chainId:I,fee:q,memo:E}=typeof x==="string"?JSON.parse(x):x,K=(await f.getAccounts())?.[0]?.address||"",U=await h(v,H),X=await b(),Y=await Qf(f,{aminoTypes:U,registry:X}),Q=[];for(let N of T){let C=await l(N,v);Q.push(C)}let{signatures:[J]}=await Y.sign(K,Q,q,E,{accountNumber:BigInt(B),chainId:I,sequence:L});return{bodyBytes:await ff({chain:v,memo:E,msgs:T.map($)}),signature:U0(J)}}}function C0({prefix:v,chain:H}){return async function(f,x,T,B,L){let I=await F.getRPCUrl(H),{encodeSecp256k1Pubkey:q,pubkeyToAddress:E}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:K}=(await import("@cosmjs/stargate")).default,{sequence:U,fee:X}=JSON.parse(f),Y=await ef(T,B),Q=x.map((N)=>[E(q(p.base64.decode(N.pubKey)),v),p.base64.decode(N.signature)]),J=await M(I),{transactionHash:O}=await J.broadcastTx(K(Y,U,X,L,new Map(Q)));return O}}async function ef(v,H,_=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return f(v.map((T)=>x(p.base64.decode(T))),H,_)}function A0(v){return p.base64.decode(v)}async function R0({privateKey:v,message:H}){let{Secp256k1:_}=(await import("@cosmjs/crypto")).default,f=await _.createSignature(p.base64.decode(H),v);return p.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function Cf({chain:v,...H}){let{isStagenet:_}=F.SKConfig.get("envs"),f=`${_?"s":""}${F.CosmosChainPrefixes[v]}`,x="index"in H?H.index||0:0,T="derivationPath"in H&&H.derivationPath?H.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[v],{index:x}),B=xf({chain:v,...H}),L=D(v),I;function q(){return I??=Hf.match(H).with({phrase:Hf.P.string},({phrase:Q})=>B.getSignerFromPhrase({derivationPath:T,phrase:Q})).with({signer:Hf.P.any},({signer:Q})=>Promise.resolve(Q)).otherwise(()=>Promise.resolve(void 0)),I}async function E(){let Q=await F.getRPCUrl(v),J=await q();if(!J)throw new F.SwapKitError("toolbox_cosmos_no_signer");let O=await b(),N=await h(v,f),C=await j(Q,J,{aminoTypes:N,registry:O});return{signer:J,signingClient:C}}async function K({fee:Q,memo:J,msgs:O}){let{signer:N,signingClient:C}=await E(),V=(await N.getAccounts())?.[0]?.address;if(!V)throw new F.SwapKitError("toolbox_cosmos_signer_not_defined");let u=await C.signAndBroadcast(V,O,Q,J);if(u.code!==0)throw new F.SwapKitError("core_swap_transaction_error",{code:u.code,message:u.rawLog});return u.transactionHash}async function U(){let Q=await a(v);return{[F.FeeOption.Average]:Q,[F.FeeOption.Fast]:Q,[F.FeeOption.Fastest]:Q}}async function X({assetValue:Q,memo:J="",recipient:O,sweep:N}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:V,signingClient:u}=await E(),d=(await V.getAccounts())?.[0]?.address;if(!d)throw new F.SwapKitError("toolbox_cosmos_no_signer");let Wf="signAmino"in V,Bf=N?await Lf({assetValue:Q,sender:d}):Q,o=vf({assetValue:Bf,memo:J,recipient:O,sender:d});if(Wf){let zf=await l(o,v),{signatures:Gf,authInfoBytes:T0}=await u.sign(d,[zf],L,J),x0=C.encode({authInfoBytes:T0,bodyBytes:await ff({chain:v,memo:J,msgs:[o].map($)}),signatures:Gf}).finish();return(await u.broadcastTx(x0)).transactionHash}let m=$(o),Rf=await l(m,v);return K({fee:L,memo:J,msgs:[Rf]})}async function Y(Q){let{signer:J,signingClient:O}=await E(),N=(await J.getAccounts())?.[0]?.address;if(!N)throw new F.SwapKitError("toolbox_cosmos_signer_not_defined");return O.sign(N,Q.msgs,Q.fee,Q.memo,{accountNumber:BigInt(Q.accountNumber),chainId:Q.chainId,sequence:Q.sequence})}return{...B,broadcastMultisigTx:C0({chain:v,prefix:f}),buildAminoMsg:vf,buildEncodedTxBody:ff,convertToSignable:l,createDefaultAminoTypes:()=>h(v,f),createDefaultRegistry:b,createMultisig:ef,createTransaction:Ff,deposit:X,getFees:U,importSignature:A0,parseAminoMessageForDirectSigning:$,pubkeyToAddress:async(Q)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(Q,f)},secp256k1HdWalletFromMnemonic:k0({derivationPath:F.derivationPathToString(T),prefix:f}),signAndBroadcastTransaction:K,signMultisigTx:S0(v,f),signTransaction:Y,signWithPrivateKey:R0,transfer:X}}var p,F,Hf;var Af=A(()=>{Ef();e();yf();p=require("@scure/base"),F=require("@swapkit/helpers"),Hf=require("ts-pattern")});var c,D0=(v,H)=>{switch(v){case c.Chain.Cosmos:case c.Chain.Kujira:case c.Chain.Noble:return xf({chain:v,...H});case c.Chain.Maya:case c.Chain.THORChain:return Cf({chain:v,...H});default:throw new c.SwapKitError("toolbox_cosmos_not_supported",{chain:v})}};var f0=A(()=>{yf();Af();c=require("@swapkit/helpers");yf();Af()});var M0={};uf(M0,{verifySignature:()=>af,transferMsgAmino:()=>Of,toBase64:()=>Z0,resolveThorchainSweepAssetValue:()=>Lf,parseAminoMessageForDirectSigning:()=>$,getThorchainNativeFee:()=>a,getSweepAssetValue:()=>i,getSignerFromPrivateKey:()=>J0,getSignerFromPhrase:()=>kf,getMsgSendDenom:()=>w,getFeeRateFromSwapKit:()=>O0,getFeeAmountForDenom:()=>_f,getDenomWithChain:()=>s,getDefaultChainFee:()=>D,getCosmosToolbox:()=>D0,getCosmosAddressValidator:()=>sf,getAssetFromDenom:()=>Yf,fromBase64:()=>I0,fetchFeeRateFromSwapKit:()=>Sf,estimateTransactionFee:()=>N0,depositMsgAmino:()=>Nf,createTransaction:()=>Ff,createThorchainToolbox:()=>Cf,createStargateClient:()=>M,createSigningStargateClient:()=>j,createOfflineStargateClient:()=>Qf,createDefaultRegistry:()=>b,createDefaultAminoTypes:()=>h,createCosmosToolbox:()=>xf,cosmosCreateTransaction:()=>Xf,convertToSignable:()=>l,buildTransferTx:()=>bf,buildEncodedTxBody:()=>ff,buildDepositTx:()=>df,buildAminoMsg:()=>vf,bech32ToBase64:()=>g,base64ToBech32:()=>r,YUM_KUJIRA_FACTORY_DENOM:()=>hf,USK_KUJIRA_FACTORY_DENOM:()=>If,THORCHAIN_GAS_VALUE:()=>Y0,MAYA_GAS_VALUE:()=>q0,DEFAULT_NOBLE_FEE_MAINNET:()=>nf,DEFAULT_KUJI_FEE_MAINNET:()=>$f,DEFAULT_COSMOS_FEE_MAINNET:()=>lf});module.exports=W0(M0);var V0=A(()=>{Ef();f0();e()});V0();
1
+ var H0=Object.create;var{getPrototypeOf:B0,defineProperty:t,getOwnPropertyNames:Pf,getOwnPropertyDescriptor:_0}=Object,Mf=Object.prototype.hasOwnProperty;function Vf(v){return this[v]}var v0,L0,y0=(v,H,_)=>{var f=v!=null&&typeof v==="object";if(f){var x=H?v0??=new WeakMap:L0??=new WeakMap,T=x.get(v);if(T)return T}_=v!=null?H0(B0(v)):{};let B=H||!v||!v.__esModule?t(_,"default",{value:v,enumerable:!0}):_;for(let L of Pf(v))if(!Mf.call(B,L))t(B,L,{get:Vf.bind(v,L),enumerable:!0});if(f)x.set(v,B);return B},W0=(v)=>{var H=(Df??=new WeakMap).get(v),_;if(H)return H;if(H=t({},"__esModule",{value:!0}),v&&typeof v==="object"||typeof v==="function"){for(var f of Pf(v))if(!Mf.call(H,f))t(H,f,{get:Vf.bind(v,f),enumerable:!(_=_0(v,f))||_.enumerable})}return Df.set(v,H),H},Df;var z0=(v)=>v;function G0(v,H){this[v]=z0.bind(null,H)}var uf=(v,H)=>{for(var _ in H)t(v,_,{get:H[_],enumerable:!0,configurable:!0,set:G0.bind(H,_)})};var A=(v,H)=>()=>(v&&(H=v(v=0)),H);function g(v){return P.base64.encode(Uint8Array.from(P.bech32.fromWords(P.bech32.decode(v).words)))}function r(v,H="thor"){return P.bech32.encode(H,P.bech32.toWords(P.base64.decode(v)))}function Z0(v){return P.base64.encode(v)}function I0(v){if(!v.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new wf.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return P.base64.decode(v)}var P,wf;var Zf=A(()=>{P=require("@scure/base"),wf=require("@swapkit/helpers")});function D(v){switch(v){case W.Chain.Maya:return{amount:[],gas:"10000000000"};case W.Chain.THORChain:return{amount:[],gas:"500000000"};case W.Chain.Kujira:return $f;case W.Chain.Noble:return nf;default:return lf}}async function a(v){let{isStagenet:H}=W.SKConfig.get("envs"),_=W.SKConfig.get("thornodeUrls"),f=v===W.Chain.Maya,T=`${f?H?_.MAYA_STAGENET:_.MAYA:H?_.THOR_STAGENET:_.THOR}/${f?"mayachain":"thorchain"}/constants`,B=W.getChainConfig(v).baseDecimal;try{let{int_64_values:{NativeTransactionFee:L}}=await W.RequestClient.get(T);if(!Number.isInteger(L)||L<=0)throw new W.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:L.toString()});return W.SwapKitNumber.fromBigInt(BigInt(L),B)}catch{let L=f?10000000000n:2000000n;return W.SwapKitNumber.fromBigInt(L,B)}}async function M(v){let H=await import("@cosmjs/stargate"),_=H.StargateClient??H.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return _.connect({headers:f,url:v})}async function j(v,H,_={}){let f=await import("@cosmjs/stargate"),x=f.SigningStargateClient??f.default?.SigningStargateClient,T=f.GasPrice??f.default?.GasPrice,B=typeof _==="string"?_:"0.0003uatom",L=typeof _==="string"?{}:_;return x.connectWithSigner(v,H,{gasPrice:T.fromString(B),...L})}async function Qf(v,H){let _=await import("@cosmjs/stargate");return(_.SigningStargateClient??_.default?.SigningStargateClient).offline(v,H)}async function Xf({sender:v,recipient:H,assetValue:_,memo:f="",feeRate:x,sequence:T,accountNumber:B,sweep:L}){let{chain:I,chainId:q}=_,E=await W.getRPCUrl(I),K=await M(E),k=await K.getAccount(v);if(!k)throw new W.SwapKitError("toolbox_cosmos_account_not_found",{sender:v});let X=W.AssetValue.from({chain:I}),Y=w(X.symbol),Q=D(I),J=Y&&x?{amount:[{amount:x.toString(),denom:Y}],gas:Q.gas}:Q,O=w(_.symbol),C={amount:[{amount:(L?i({assetValue:_,balances:await K.getAllBalances(v),denom:O,feeAmount:_f(J.amount,O)}):_).getBaseValue("string"),denom:O}],fromAddress:v,toAddress:H};return{accountNumber:B??Number(k.accountNumber),chainId:q,fee:J,memo:f,msgs:[{typeUrl:Q0(I),value:C}],sequence:T??k.sequence}}function _f(v,H){let _=H.toLowerCase();return v.reduce((f,x)=>x.denom.toLowerCase()===_?f+BigInt(x.amount):f,0n)}function i({assetValue:v,balances:H,denom:_,feeAmount:f=0n}){let x=_.toLowerCase(),T=H.find(({denom:I})=>I.toLowerCase()===x),B=BigInt(T?.amount??"0"),L=B-f;if(L<=0n)throw new W.SwapKitError("toolbox_sweep_amount_too_low",{asset:v.toString(),balance:B.toString(),fee:f.toString()});return v.set(W.SwapKitNumber.fromBigInt(L,v.decimal))}var W,If="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",hf="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",lf,$f,nf,w=(v,H=!1)=>{if(H)return v.toLowerCase();switch(v){case"uUSK":case"USK":return If;case"uYUM":case"YUM":return hf;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":case"NOBLE":return"uusdc";default:return v}},s=({symbol:v,chain:H})=>{if(H===W.Chain.Maya)return(v.toUpperCase()!=="CACAO"?v:`${W.Chain.Maya}.${v}`).toUpperCase();if(H===W.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(v.toUpperCase())?`${W.Chain.THORChain}.${v}`:v).toUpperCase();return w(v,!1)},Q0=(v)=>{switch(v){case W.Chain.Maya:case W.Chain.THORChain:return"/types.MsgSend";case W.Chain.Cosmos:case W.Chain.Kujira:case W.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new W.SwapKitError("toolbox_cosmos_not_supported",{chain:v})}},X0,Yf=(v,H)=>{let _=X0[v.toLowerCase()];if(!_)return W.AssetValue.from({asset:v,fromBaseDecimal:8,value:H});let{chain:f,asset:x,decimals:T}=_,B=f?{chain:f}:{asset:x};return W.AssetValue.from({...B,fromBaseDecimal:T,value:H})};var e=A(()=>{W=require("@swapkit/helpers"),lf={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},$f={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},nf={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};X0={atom:{chain:W.Chain.Cosmos,decimals:W.getChainConfig(W.Chain.Cosmos).baseDecimal},cacao:{chain:W.Chain.Maya,decimals:10},kuji:{chain:W.Chain.Kujira,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal},maya:{asset:`${W.Chain.Maya}.${W.Chain.Maya}`,decimals:4},rune:{chain:W.Chain.THORChain,decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},uatom:{chain:W.Chain.Cosmos,decimals:W.getChainConfig(W.Chain.Cosmos).baseDecimal},ukuji:{chain:W.Chain.Kujira,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal},usdc:{chain:W.Chain.Noble,decimals:W.getChainConfig(W.Chain.Noble).baseDecimal},uusdc:{chain:W.Chain.Noble,decimals:W.getChainConfig(W.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},[If.toLowerCase()]:{asset:`${W.Chain.Kujira}.USK`,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal}}});var pf={};uf(pf,{$root:()=>y});var U,Z,R,G,y;var cf=A(()=>{U=y0(require("protobufjs/minimal.js")),Z=U.default.Reader,R=U.default.Writer,G=U.default.util,y=U.default.roots.default||(U.default.roots.default={});y.common=(()=>{let v={};return v.Asset=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.chain="",H.prototype.symbol="",H.prototype.ticker="",H.prototype.synth=!1,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.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},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Asset;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.chain=f.string();break;case 2:B.symbol=f.string();break;case 3:B.ticker=f.string();break;case 4:B.synth=f.bool();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!G.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!G.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!G.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},H.fromObject=function(f){if(f instanceof y.common.Asset)return f;let x=new y.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},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.chain="",T.symbol="",T.ticker="",T.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))T.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))T.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))T.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))T.synth=f.synth;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.Coin=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.asset=null,H.prototype.amount="",H.prototype.decimals=G.Long?G.Long.fromBits(0,0,!1):0,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))y.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},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Coin;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.asset=y.common.Asset.decode(f,f.uint32());break;case 2:B.amount=f.string();break;case 3:B.decimals=f.int64();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let x=y.common.Asset.verify(f.asset);if(x)return"asset."+x}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!G.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!G.isInteger(f.decimals)&&!(f.decimals&&G.isInteger(f.decimals.low)&&G.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Coin)return f;let x=new y.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=y.common.Asset.fromObject(f.asset)}if(f.amount!=null)x.amount=String(f.amount);if(f.decimals!=null){if(G.Long)(x.decimals=G.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 G.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)if(T.asset=null,T.amount="",G.Long){let B=new G.Long(0,0,!1);T.decimals=x.longs===String?B.toString():x.longs===Number?B.toNumber():B}else T.decimals=x.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))T.asset=y.common.Asset.toObject(f.asset,x);if(f.amount!=null&&f.hasOwnProperty("amount"))T.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")T.decimals=x.longs===String?String(f.decimals):f.decimals;else T.decimals=x.longs===String?G.Long.prototype.toString.call(f.decimals):x.longs===Number?new G.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.PubKeySet=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.secp256k1="",H.prototype.ed25519="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.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},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.PubKeySet;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.secp256k1=f.string();break;case 2:B.ed25519=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!G.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!G.isString(f.ed25519))return"ed25519: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.PubKeySet)return f;let x=new y.common.PubKeySet;if(f.secp256k1!=null)x.secp256k1=String(f.secp256k1);if(f.ed25519!=null)x.ed25519=String(f.ed25519);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.secp256k1="",T.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))T.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))T.ed25519=f.ed25519;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.Tx=(()=>{function H(_){if(this.coins=[],this.gas=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.id="",H.prototype.chain="",H.prototype.fromAddress="",H.prototype.toAddress="",H.prototype.coins=G.emptyArray,H.prototype.gas=G.emptyArray,H.prototype.memo="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.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 T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(42).fork()).ldelim();if(f.gas?.length)for(let T=0;T<f.gas.length;++T)y.common.Coin.encode(f.gas[T],x.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))x.uint32(58).string(f.memo);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Tx;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.id=f.string();break;case 2:B.chain=f.string();break;case 3:B.fromAddress=f.string();break;case 4:B.toAddress=f.string();break;case 5:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 6:if(!B.gas?.length)B.gas=[];B.gas.push(y.common.Coin.decode(f,f.uint32()));break;case 7:B.memo=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!G.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!G.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!G.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!G.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 T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}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 T=y.common.Coin.verify(f.gas[x]);if(T)return"gas."+T}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!G.isString(f.memo))return"memo: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Tx)return f;let x=new y.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 T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let T=0;T<f.gas.length;++T){if(typeof f.gas[T]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[T]=y.common.Coin.fromObject(f.gas[T])}}if(f.memo!=null)x.memo=String(f.memo);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[],T.gas=[];if(x.defaults)T.id="",T.chain="",T.fromAddress="",T.toAddress="",T.memo="";if(f.id!=null&&f.hasOwnProperty("id"))T.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))T.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))T.toAddress=f.toAddress;if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.gas?.length){T.gas=[];for(let B=0;B<f.gas.length;++B)T.gas[B]=y.common.Coin.toObject(f.gas[B],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.Fee=(()=>{function H(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.coins=G.emptyArray,H.prototype.poolDeduct="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))x.uint32(18).string(f.poolDeduct);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Fee;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:B.poolDeduct=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.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 T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!G.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Fee)return f;let x=new y.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.poolDeduct!=null)x.poolDeduct=String(f.poolDeduct);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[];if(x.defaults)T.poolDeduct="";if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))T.poolDeduct=f.poolDeduct;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.ProtoUint=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.value="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))x.uint32(10).string(f.value);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.ProtoUint;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.value=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!G.isString(f.value))return"value: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.ProtoUint)return f;let x=new y.common.ProtoUint;if(f.value!=null)x.value=String(f.value);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.value="";if(f.value!=null&&f.hasOwnProperty("value"))T.value=f.value;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v})();y.types=(()=>{let v={};return v.MsgDeposit=(()=>{function H(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.coins=G.emptyArray,H.prototype.memo="",H.prototype.signer=G.newBuffer([]),H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],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},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.types.MsgDeposit;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:B.memo=f.string();break;case 3:B.signer=f.bytes();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.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 T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!G.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||G.isString(f.signer)))return"signer: buffer expected"}return null},H.fromObject=function(f){if(f instanceof y.types.MsgDeposit)return f;let x=new y.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.memo!=null)x.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")G.base64.decode(f.signer,x.signer=G.newBuffer(G.base64.length(f.signer)),0);else if(f.signer.length)x.signer=f.signer}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[];if(x.defaults){if(T.memo="",x.bytes===String)T.signer="";else if(T.signer=[],x.bytes!==Array)T.signer=G.newBuffer(T.signer)}if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))T.signer=x.bytes===String?G.base64.encode(f.signer,0,f.signer.length):x.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.MsgSend=(()=>{function H(_){if(this.amount=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.fromAddress=G.newBuffer([]),H.prototype.toAddress=G.newBuffer([]),H.prototype.amount=G.emptyArray,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.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 T=0;T<f.amount.length;++T)y.cosmos.base.v1beta1.Coin.encode(f.amount[T],x.uint32(26).fork()).ldelim();return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.types.MsgSend;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.fromAddress=f.bytes();break;case 2:B.toAddress=f.bytes();break;case 3:if(!B.amount?.length)B.amount=[];B.amount.push(y.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.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"||G.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||G.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 T=y.cosmos.base.v1beta1.Coin.verify(f.amount[x]);if(T)return"amount."+T}}return null},H.fromObject=function(f){if(f instanceof y.types.MsgSend)return f;let x=new y.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")G.base64.decode(f.fromAddress,x.fromAddress=G.newBuffer(G.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)x.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")G.base64.decode(f.toAddress,x.toAddress=G.newBuffer(G.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 T=0;T<f.amount.length;++T){if(typeof f.amount[T]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[T]=y.cosmos.base.v1beta1.Coin.fromObject(f.amount[T])}}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.amount=[];if(x.defaults){if(x.bytes===String)T.fromAddress="";else if(T.fromAddress=[],x.bytes!==Array)T.fromAddress=G.newBuffer(T.fromAddress);if(x.bytes===String)T.toAddress="";else if(T.toAddress=[],x.bytes!==Array)T.toAddress=G.newBuffer(T.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=x.bytes===String?G.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"))T.toAddress=x.bytes===String?G.base64.encode(f.toAddress,0,f.toAddress.length):x.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){T.amount=[];for(let B=0;B<f.amount.length;++B)T.amount[B]=y.cosmos.base.v1beta1.Coin.toObject(f.amount[B],x)}return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v})();y.cosmos=(()=>{let v={};return v.base=(()=>{let H={};return H.v1beta1=(()=>{let _={};return _.Coin=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))B.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))B.uint32(18).string(T.amount);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.Coin;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.denom=T.string();break;case 2:I.amount=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!G.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!G.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.Coin)return T;let B=new y.cosmos.base.v1beta1.Coin;if(T.denom!=null)B.denom=String(T.denom);if(T.amount!=null)B.amount=String(T.amount);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.denom="",L.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))L.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))L.amount=T.amount;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},f})(),_.DecCoin=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))B.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))B.uint32(18).string(T.amount);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.DecCoin;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.denom=T.string();break;case 2:I.amount=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!G.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!G.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecCoin)return T;let B=new y.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)B.denom=String(T.denom);if(T.amount!=null)B.amount=String(T.amount);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.denom="",L.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))L.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))L.amount=T.amount;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},f})(),_.IntProto=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.int="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))B.uint32(10).string(T.int);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.IntProto;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.int=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.int!=null&&T.hasOwnProperty("int")){if(!G.isString(T.int))return"int: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.IntProto)return T;let B=new y.cosmos.base.v1beta1.IntProto;if(T.int!=null)B.int=String(T.int);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.int="";if(T.int!=null&&T.hasOwnProperty("int"))L.int=T.int;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},f})(),_.DecProto=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.dec="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))B.uint32(10).string(T.dec);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.DecProto;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.dec=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.dec!=null&&T.hasOwnProperty("dec")){if(!G.isString(T.dec))return"dec: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecProto)return T;let B=new y.cosmos.base.v1beta1.DecProto;if(T.dec!=null)B.dec=String(T.dec);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.dec="";if(T.dec!=null&&T.hasOwnProperty("dec"))L.dec=T.dec;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},f})(),_})(),H})(),v})()});async function b(){let{$root:v}=await Promise.resolve().then(() => (cf(),pf)),H=await import("@cosmjs/proto-signing"),_=await import("@cosmjs/stargate"),f=H.Registry??H.default?.Registry,x=_.defaultRegistryTypes??_.default?.defaultRegistryTypes;return new f([...x,["/types.MsgSend",v.types.MsgSend],["/types.MsgDeposit",v.types.MsgDeposit]])}async function h(v,H=v===qf.Chain.THORChain?"thor":"maya"){let _=await import("@cosmjs/stargate"),f=_.AminoTypes??_.default?.AminoTypes,x=v===qf.Chain.THORChain?"thorchain":"mayachain";return new f({"/types.MsgDeposit":{aminoType:`${x}/MsgDeposit`,fromAmino:({signer:T,...B})=>({...B,signer:g(T)}),toAmino:({signer:T,...B})=>({...B,signer:r(T,H)})},"/types.MsgSend":{aminoType:`${x}/MsgSend`,fromAmino:({from_address:T,to_address:B,...L})=>({...L,fromAddress:g(T),toAddress:g(B)}),toAmino:({fromAddress:T,toAddress:B,...L})=>({...L,from_address:r(T,H),to_address:r(B,H)})}})}var qf;var Jf=A(()=>{Zf();qf=require("@swapkit/helpers")});async function Ff(v){let{assetValue:H,recipient:_,memo:f,sender:x,asSignable:T,asAminoMessage:B}=v,L=v.sweep?await Lf({assetValue:H,sender:x}):H;if(_)return bf({asAminoMessage:B,asSignable:T,assetValue:L,memo:f,recipient:_,sender:x});return df({asAminoMessage:B,asSignable:T,assetValue:L,memo:f,sender:x})}async function Lf({assetValue:v,sender:H}){let _=v.chain,f=await S.getRPCUrl(_),T=await(await M(f)).getAllBalances(H),B=v.isGasAsset?(await a(_)).getBaseValue("bigint"):0n;return i({assetValue:v,balances:T,denom:w(v.symbol,!0),feeAmount:B})}async function bf({sender:v,recipient:H,assetValue:_,memo:f="",asSignable:x=!0,asAminoMessage:T=!1,sequence:B,accountNumber:L}){let I=_.chain,q=await S.getRPCUrl(I),E=await jf({rpcUrl:q,sender:v}),{chainId:K}=S.getChainConfig(I),k=Of({assetValue:_,recipient:H,sender:v}),X=x?await l(T?k:$(k),I):k;return{accountNumber:L||Number(E.accountNumber),chainId:K,fee:D(I),memo:f,msgs:[X],sequence:B||E.sequence}}async function df({sender:v,assetValue:H,memo:_="",asSignable:f=!0,asAminoMessage:x=!1,sequence:T,accountNumber:B}){let L=H.chain,I=await S.getRPCUrl(L),q=await jf({rpcUrl:I,sender:v}),{chainId:E}=S.getChainConfig(L),K=Nf({assetValue:H,memo:_,sender:v}),k=f?await l(x?K:$(K),L):K;return{accountNumber:B||Number(q.accountNumber),chainId:E,fee:D(L),memo:_,msgs:[k],sequence:T||q.sequence}}function $(v){if(v.type==="thorchain/MsgSend"||v.type==="mayachain/MsgSend")return v;return{...v,value:{...v.value,coins:v.value.coins.map((H)=>{let _=S.AssetValue.from({asset:H.asset}),f=(_.isSynthetic?_.symbol.split("/")?.[1]:_.symbol)?.toUpperCase(),x=(_.isSynthetic?_.symbol.split("/")?.[0]:_.chain)?.toUpperCase();return{...H,asset:{chain:x,symbol:f,synth:_.isSynthetic,ticker:_.ticker}}})}}}async function ff({chain:v,memo:H,msgs:_}){let f=await b(),x=await h(v),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:H,messages:_.map((B)=>x.fromAmino(B))}};return f.encode(T)}var S,Y0,q0,Of=({sender:v,recipient:H,assetValue:_})=>{return{type:`${_.chain===S.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:_.getBaseValue("string"),denom:w(_.symbol,!0)}],from_address:v,to_address:H}}},Nf=({sender:v,assetValue:H,memo:_=""})=>{return{type:`${H.chain===S.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:H.getBaseValue("string"),asset:s(H)}],memo:_,signer:v}}},vf=({sender:v,recipient:H,assetValue:_,memo:f})=>{return!H?Nf({assetValue:_,memo:f,sender:v}):Of({assetValue:_,recipient:H,sender:v})},l=async(v,H)=>{return(await h(H)).fromAmino(v)},jf=async({rpcUrl:v,sender:H})=>{let f=await(await M(v)).getAccount(H);if(!f)throw new S.SwapKitError("toolbox_cosmos_account_not_found",{sender:H});return f};var of=A(()=>{e();Jf();S=require("@swapkit/helpers"),Y0=D(S.Chain.THORChain).gas,q0=D(S.Chain.Maya).gas});var mf=()=>{};var tf=A(()=>{mf()});var Ef=A(()=>{Zf();of();Jf();tf()});async function Sf(v,H){try{let f=(await kf.SwapKitApi.getGasRate()).find((x)=>x.chainId===v)?.value;return f?Number.parseFloat(f):H}catch{return H}}async function Uf({phrase:v,prefix:H,..._}){let f=await import("@cosmjs/proto-signing"),x=await import("@cosmjs/crypto"),T=f.DirectSecp256k1HdWallet??f.default?.DirectSecp256k1HdWallet,B=x.stringToPath??x.default?.stringToPath,L="derivationPath"in _?_.derivationPath:`${z.DerivationPath[_.chain]}/${_.index}`;return await T.fromMnemonic(v,{hdPaths:[B(L)],prefix:H})}async function J0({privateKey:v,prefix:H}){let _=await import("@cosmjs/proto-signing");return(_.DirectSecp256k1Wallet??_.default?.DirectSecp256k1Wallet).fromKey(v,H)}function af(v){return async function({signature:_,message:f,address:x}){let T=await v(x);if(!T?.pubkey)throw new z.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let B=await import("@cosmjs/crypto"),L=B.Secp256k1Signature??B.default?.Secp256k1Signature,I=B.Secp256k1??B.default?.Secp256k1,q=L.fromFixedLength(n.base64.decode(_));return I.verifySignature(q,n.base64.decode(f),T.pubkey.value)}}function xf({chain:v,...H}){let _=z.CosmosChainPrefixes[v],f="index"in H?H.index||0:0,x=z.derivationPathToString("derivationPath"in H&&H.derivationPath?H.derivationPath:z.updateDerivationPath(z.NetworkDerivationPath[v],{index:f})),T;async function B(){if(T)return T;return T=await Tf.match(H).with({phrase:Tf.P.string},({phrase:X})=>Uf({derivationPath:x,phrase:X,prefix:_})).with({signer:Tf.P.any},({signer:X})=>X).otherwise(()=>{return}),T}async function L(X){let Y=await z.getRPCUrl(v);return(await M(Y)).getAccount(X)}async function I(){let X=await B(),[Y]=await X?.getAccounts()||[];return Y?.address}async function q(){let X=await B(),[Y]=await X?.getAccounts()||[];if(!Y?.pubkey)throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");return n.base64.encode(Y?.pubkey)}async function E(X){let Y=await B(),Q=await I(),J=await z.getRPCUrl(v);if(!(Y&&Q))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await j(J,Y)).sign(Q,X.msgs,X.fee,X.memo,{accountNumber:BigInt(X.accountNumber),chainId:X.chainId,sequence:X.sequence})}async function K(X){let Y=await B(),Q=await I(),J=await z.getRPCUrl(v);if(!(Y&&Q))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await(await j(J,Y)).signAndBroadcast(Q,X.msgs,X.fee,X.memo);if(N.code!==0)throw new z.SwapKitError("core_swap_transaction_error",{code:N.code,message:N.rawLog});return N.transactionHash}async function k({recipient:X,assetValue:Y,memo:Q="",feeRate:J,feeOptionKey:O=z.FeeOption.Fast,sweep:N}){let C=await B(),V=await I();if(!(C&&V))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");let u=await z.getRPCUrl(v),d=z.AssetValue.from({chain:v}),Wf=s(d),Bf=F0(J||(await rf(v,gf[v]))[O],Wf,v),o=await j(u,C),m=w(Y.symbol),zf=[{amount:(N?i({assetValue:Y,balances:await Kf(v)(V),denom:m,feeAmount:_f(Bf.amount,m)}):Y).getBaseValue("string"),denom:m}],{transactionHash:Gf}=await o.sendTokens(V,X,zf,Bf,Q);return Gf}return{createPrivateKeyFromPhrase:K0(x),createTransaction:Xf,fetchFeeRateFromSwapKit:Sf,getAccount:L,getAddress:I,getBalance:async(X,Y)=>{let Q=await Kf(v)(X),J=await Promise.all(Q.filter(({denom:O})=>O&&!O.includes("IBC/")&&!([z.Chain.THORChain,z.Chain.Maya].includes(v)&&O.split("-").length>2)).map(({denom:O,amount:N})=>{let C=[z.Chain.THORChain,z.Chain.Maya].includes(v)&&(O.includes("/")||O.includes("˜"))?`${v}.${O}`:O;return Yf(C,N)}));if(J.length===0)return[z.AssetValue.from({chain:v})];return J},getBalanceAsDenoms:Kf(v),getFees:()=>rf(v,gf[v]),getPubKey:q,getSignerFromPhrase:({phrase:X,derivationPath:Y})=>Uf({derivationPath:z.derivationPathToString(Y),index:f,phrase:X,prefix:_}),getSignerFromPrivateKey:async(X)=>{let Y=await import("@cosmjs/proto-signing");return(Y.DirectSecp256k1Wallet??Y.default?.DirectSecp256k1Wallet).fromKey(X,_)},signAndBroadcastTransaction:K,signTransaction:E,transfer:k,validateAddress:sf(v),verifySignature:af(L)}}async function O0(v,H){try{let f=(await kf.SwapKitApi.getGasRate()).find((x)=>x.chainId===v)?.value;return f?Number.parseFloat(f):H}catch{return H}}function N0({assetValue:{chain:v}}){return z.AssetValue.from({chain:v,value:E0(v)})}async function rf(v,H){let{chainId:_,baseDecimal:f}=z.getChainConfig(v),x=await Sf(_,H);return{average:z.SwapKitNumber.fromBigInt(BigInt(x),f),fast:z.SwapKitNumber.fromBigInt(BigInt(z.applyFeeMultiplier(x,z.FeeOption.Fast,!0)),f),fastest:z.SwapKitNumber.fromBigInt(BigInt(z.applyFeeMultiplier(x,z.FeeOption.Fastest,!0)),f)}}function F0(v,H,_){return{amount:[{amount:typeof v==="number"?v.toString():v.getBaseValue("string"),denom:H}],gas:D(_).gas}}function E0(v){return{[z.Chain.Cosmos]:0.007,[z.Chain.Kujira]:0.02,[z.Chain.Noble]:0.01,[z.Chain.THORChain]:0.02,[z.Chain.Maya]:0.02,[z.Chain.Harbor]:0.02}[v]||0}function sf(v){let H=z.CosmosChainPrefixes[v];return function(f){if(!f.startsWith(H))return!1;try{let{prefix:x,words:T}=n.bech32.decode(f);return n.bech32.encode(x,T)===f.toLocaleLowerCase()}catch{return!1}}}function Kf(v){return async function(_){let f=await z.getRPCUrl(v);return(await(await M(f)).getAllBalances(_)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function K0(v){return async function(_){let f=await import("@cosmjs/crypto"),x=f.stringToPath??f.default?.stringToPath,T=f.Slip10Curve??f.default?.Slip10Curve,B=f.Slip10??f.default?.Slip10,L=f.EnglishMnemonic??f.default?.EnglishMnemonic,I=f.Bip39??f.default?.Bip39,q=new L(_),E=await I.mnemonicToSeed(q),{privkey:K}=B.derivePath(T.Secp256k1,E,x(v));return K}}var n,z,kf,Tf,gf;var yf=A(()=>{e();n=require("@scure/base"),z=require("@swapkit/helpers"),kf=require("@swapkit/helpers/api"),Tf=require("ts-pattern");gf={[z.Chain.Cosmos]:1000,[z.Chain.Kujira]:1000,[z.Chain.Noble]:1000,[z.Chain.THORChain]:5000000,[z.Chain.Maya]:5000000,[z.Chain.Harbor]:5000000}});function U0({prefix:v,derivationPath:H}){return async function(f,x=0){let T=await import("@cosmjs/amino"),B=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,L=await import("@cosmjs/crypto"),I=L.stringToPath??L.default?.stringToPath;return B.fromMnemonic(f,{hdPaths:[I(`${H}/${x}`)],prefix:v})}}function k0(v){return p.base64.encode(v)}function S0(v,H){return async function({wallet:f,tx:x}){let{msgs:T,accountNumber:B,sequence:L,chainId:I,fee:q,memo:E}=typeof x==="string"?JSON.parse(x):x,K=(await f.getAccounts())?.[0]?.address||"",k=await h(v,H),X=await b(),Y=await Qf(f,{aminoTypes:k,registry:X}),Q=[];for(let N of T){let C=await l(N,v);Q.push(C)}let{signatures:[J]}=await Y.sign(K,Q,q,E,{accountNumber:BigInt(B),chainId:I,sequence:L});return{bodyBytes:await ff({chain:v,memo:E,msgs:T.map($)}),signature:k0(J)}}}function C0({prefix:v,chain:H}){return async function(f,x,T,B,L){let I=await F.getRPCUrl(H),{encodeSecp256k1Pubkey:q,pubkeyToAddress:E}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:K}=(await import("@cosmjs/stargate")).default,{sequence:k,fee:X}=JSON.parse(f),Y=await ef(T,B),Q=x.map((N)=>[E(q(p.base64.decode(N.pubKey)),v),p.base64.decode(N.signature)]),J=await M(I),{transactionHash:O}=await J.broadcastTx(K(Y,k,X,L,new Map(Q)));return O}}async function ef(v,H,_=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return f(v.map((T)=>x(p.base64.decode(T))),H,_)}function A0(v){return p.base64.decode(v)}async function R0({privateKey:v,message:H}){let{Secp256k1:_}=(await import("@cosmjs/crypto")).default,f=await _.createSignature(p.base64.decode(H),v);return p.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function Cf({chain:v,...H}){let{isStagenet:_}=F.SKConfig.get("envs"),f=`${_?"s":""}${F.CosmosChainPrefixes[v]}`,x="index"in H?H.index||0:0,T="derivationPath"in H&&H.derivationPath?H.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[v],{index:x}),B=xf({chain:v,...H}),L=D(v),I;function q(){return I??=Hf.match(H).with({phrase:Hf.P.string},({phrase:Q})=>B.getSignerFromPhrase({derivationPath:T,phrase:Q})).with({signer:Hf.P.any},({signer:Q})=>Promise.resolve(Q)).otherwise(()=>Promise.resolve(void 0)),I}async function E(){let Q=await F.getRPCUrl(v),J=await q();if(!J)throw new F.SwapKitError("toolbox_cosmos_no_signer");let O=await b(),N=await h(v,f),C=await j(Q,J,{aminoTypes:N,registry:O});return{signer:J,signingClient:C}}async function K({fee:Q,memo:J,msgs:O}){let{signer:N,signingClient:C}=await E(),V=(await N.getAccounts())?.[0]?.address;if(!V)throw new F.SwapKitError("toolbox_cosmos_signer_not_defined");let u=await C.signAndBroadcast(V,O,Q,J);if(u.code!==0)throw new F.SwapKitError("core_swap_transaction_error",{code:u.code,message:u.rawLog});return u.transactionHash}async function k(){let Q=await a(v);return{[F.FeeOption.Average]:Q,[F.FeeOption.Fast]:Q,[F.FeeOption.Fastest]:Q}}async function X({assetValue:Q,memo:J="",recipient:O,sweep:N}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:V,signingClient:u}=await E(),d=(await V.getAccounts())?.[0]?.address;if(!d)throw new F.SwapKitError("toolbox_cosmos_no_signer");let Wf="signAmino"in V,Bf=N?await Lf({assetValue:Q,sender:d}):Q,o=vf({assetValue:Bf,memo:J,recipient:O,sender:d});if(Wf){let zf=await l(o,v),{signatures:Gf,authInfoBytes:T0}=await u.sign(d,[zf],L,J),x0=C.encode({authInfoBytes:T0,bodyBytes:await ff({chain:v,memo:J,msgs:[o].map($)}),signatures:Gf}).finish();return(await u.broadcastTx(x0)).transactionHash}let m=$(o),Rf=await l(m,v);return K({fee:L,memo:J,msgs:[Rf]})}async function Y(Q){let{signer:J,signingClient:O}=await E(),N=(await J.getAccounts())?.[0]?.address;if(!N)throw new F.SwapKitError("toolbox_cosmos_signer_not_defined");return O.sign(N,Q.msgs,Q.fee,Q.memo,{accountNumber:BigInt(Q.accountNumber),chainId:Q.chainId,sequence:Q.sequence})}return{...B,broadcastMultisigTx:C0({chain:v,prefix:f}),buildAminoMsg:vf,buildEncodedTxBody:ff,convertToSignable:l,createDefaultAminoTypes:()=>h(v,f),createDefaultRegistry:b,createMultisig:ef,createTransaction:Ff,deposit:X,getFees:k,importSignature:A0,parseAminoMessageForDirectSigning:$,pubkeyToAddress:async(Q)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(Q,f)},secp256k1HdWalletFromMnemonic:U0({derivationPath:F.derivationPathToString(T),prefix:f}),signAndBroadcastTransaction:K,signMultisigTx:S0(v,f),signTransaction:Y,signWithPrivateKey:R0,transfer:X}}var p,F,Hf;var Af=A(()=>{Ef();e();yf();p=require("@scure/base"),F=require("@swapkit/helpers"),Hf=require("ts-pattern")});var c,D0=(v,H)=>{switch(v){case c.Chain.Cosmos:case c.Chain.Kujira:case c.Chain.Noble:return xf({chain:v,...H});case c.Chain.Maya:case c.Chain.THORChain:return Cf({chain:v,...H});default:throw new c.SwapKitError("toolbox_cosmos_not_supported",{chain:v})}};var f0=A(()=>{yf();Af();c=require("@swapkit/helpers");yf();Af()});var M0={};uf(M0,{verifySignature:()=>af,transferMsgAmino:()=>Of,toBase64:()=>Z0,resolveThorchainSweepAssetValue:()=>Lf,parseAminoMessageForDirectSigning:()=>$,getThorchainNativeFee:()=>a,getSweepAssetValue:()=>i,getSignerFromPrivateKey:()=>J0,getSignerFromPhrase:()=>Uf,getMsgSendDenom:()=>w,getFeeRateFromSwapKit:()=>O0,getFeeAmountForDenom:()=>_f,getDenomWithChain:()=>s,getDefaultChainFee:()=>D,getCosmosToolbox:()=>D0,getCosmosAddressValidator:()=>sf,getAssetFromDenom:()=>Yf,fromBase64:()=>I0,fetchFeeRateFromSwapKit:()=>Sf,estimateTransactionFee:()=>N0,depositMsgAmino:()=>Nf,createTransaction:()=>Ff,createThorchainToolbox:()=>Cf,createStargateClient:()=>M,createSigningStargateClient:()=>j,createOfflineStargateClient:()=>Qf,createDefaultRegistry:()=>b,createDefaultAminoTypes:()=>h,createCosmosToolbox:()=>xf,cosmosCreateTransaction:()=>Xf,convertToSignable:()=>l,buildTransferTx:()=>bf,buildEncodedTxBody:()=>ff,buildDepositTx:()=>df,buildAminoMsg:()=>vf,bech32ToBase64:()=>g,base64ToBech32:()=>r,YUM_KUJIRA_FACTORY_DENOM:()=>hf,USK_KUJIRA_FACTORY_DENOM:()=>If,THORCHAIN_GAS_VALUE:()=>Y0,MAYA_GAS_VALUE:()=>q0,DEFAULT_NOBLE_FEE_MAINNET:()=>nf,DEFAULT_KUJI_FEE_MAINNET:()=>$f,DEFAULT_COSMOS_FEE_MAINNET:()=>lf});module.exports=W0(M0);var V0=A(()=>{Ef();f0();e()});V0();
@@ -1 +1 @@
1
- import{ga as u}from"../../chunk-xbdjxeqd.js";import{base64 as M,bech32 as E}from"@scure/base";import{SwapKitError as Eo}from"@swapkit/helpers";function b(o){return M.encode(Uint8Array.from(E.fromWords(E.decode(o).words)))}function l(o,t="thor"){return E.encode(t,E.toWords(M.decode(o)))}function Qt(o){return M.encode(o)}function St(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Eo("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return M.decode(o)}import{AssetValue as ao,Chain as h,getChainConfig as Lo,getRPCUrl as co,SwapKitError as ot}from"@swapkit/helpers";import{AssetValue as po,Chain as x,getChainConfig as L,getRPCUrl as Mo,RequestClient as bo,SKConfig as Bo,SwapKitError as V,SwapKitNumber as fo}from"@swapkit/helpers";var Io="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",lo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Vo={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},go={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},so={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};function j(o){switch(o){case x.Maya:return{amount:[],gas:"10000000000"};case x.THORChain:return{amount:[],gas:"500000000"};case x.Kujira:return go;case x.Noble:return so;default:return Vo}}async function g(o){let{isStagenet:t}=Bo.get("envs"),p=Bo.get("thornodeUrls"),r=o===x.Maya,y=`${r?t?p.MAYA_STAGENET:p.MAYA:t?p.THOR_STAGENET:p.THOR}/${r?"mayachain":"thorchain"}/constants`,c=L(o).baseDecimal;try{let{int_64_values:{NativeTransactionFee:w}}=await bo.get(y);if(!Number.isInteger(w)||w<=0)throw new V("toolbox_cosmos_invalid_fee",{nativeFee:w.toString()});return fo.fromBigInt(BigInt(w),c)}catch{let w=r?10000000000n:2000000n;return fo.fromBigInt(w,c)}}var Z=(o,t=!1)=>{if(t)return o.toLowerCase();switch(o){case"uUSK":case"USK":return Io;case"uYUM":case"YUM":return lo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":case"NOBLE":return"uusdc";default:return o}},s=({symbol:o,chain:t})=>{if(t===x.Maya)return(o.toUpperCase()!=="CACAO"?o:`${x.Maya}.${o}`).toUpperCase();if(t===x.THORChain)return(["RUNE","TCY","RUJI"].includes(o.toUpperCase())?`${x.THORChain}.${o}`:o).toUpperCase();return Z(o,!1)};async function G(o){let t=await import("@cosmjs/stargate"),p=t.StargateClient??t.default?.StargateClient,r=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return p.connect({headers:r,url:o})}async function J(o,t,p={}){let r=await import("@cosmjs/stargate"),f=r.SigningStargateClient??r.default?.SigningStargateClient,y=r.GasPrice??r.default?.GasPrice,c=typeof p==="string"?p:"0.0003uatom",w=typeof p==="string"?{}:p;return f.connectWithSigner(o,t,{gasPrice:y.fromString(c),...w})}async function Ro(o,t){let p=await import("@cosmjs/stargate");return(p.SigningStargateClient??p.default?.SigningStargateClient).offline(o,t)}var ho=(o)=>{switch(o){case x.Maya:case x.THORChain:return"/types.MsgSend";case x.Cosmos:case x.Kujira:case x.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new V("toolbox_cosmos_not_supported",{chain:o})}};async function _o({sender:o,recipient:t,assetValue:p,memo:r="",feeRate:f,sequence:y,accountNumber:c,sweep:w}){let{chain:k,chainId:R}=p,B=await Mo(k),I=await G(B),_=await I.getAccount(o);if(!_)throw new V("toolbox_cosmos_account_not_found",{sender:o});let n=po.from({chain:k}),W=Z(n.symbol),T=j(k),v=W&&f?{amount:[{amount:f.toString(),denom:W}],gas:T.gas}:T,H=Z(p.symbol),C={amount:[{amount:(w?K({assetValue:p,balances:await I.getAllBalances(o),denom:H,feeAmount:yo(v.amount,H)}):p).getBaseValue("string"),denom:H}],fromAddress:o,toAddress:t};return{accountNumber:c??Number(_.accountNumber),chainId:R,fee:v,memo:r,msgs:[{typeUrl:ho(k),value:C}],sequence:y??_.sequence}}function yo(o,t){let p=t.toLowerCase();return o.reduce((r,f)=>f.denom.toLowerCase()===p?r+BigInt(f.amount):r,0n)}function K({assetValue:o,balances:t,denom:p,feeAmount:r=0n}){let f=p.toLowerCase(),y=t.find(({denom:k})=>k.toLowerCase()===f),c=BigInt(y?.amount??"0"),w=c-r;if(w<=0n)throw new V("toolbox_sweep_amount_too_low",{asset:o.toString(),balance:c.toString(),fee:r.toString()});return o.set(fo.fromBigInt(w,o.decimal))}var eo={atom:{chain:x.Cosmos,decimals:L(x.Cosmos).baseDecimal},cacao:{chain:x.Maya,decimals:10},kuji:{chain:x.Kujira,decimals:L(x.Kujira).baseDecimal},maya:{asset:`${x.Maya}.${x.Maya}`,decimals:4},rune:{chain:x.THORChain,decimals:L(x.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:L(x.THORChain).baseDecimal},uatom:{chain:x.Cosmos,decimals:L(x.Cosmos).baseDecimal},ukuji:{chain:x.Kujira,decimals:L(x.Kujira).baseDecimal},usdc:{chain:x.Noble,decimals:L(x.Noble).baseDecimal},uusdc:{chain:x.Noble,decimals:L(x.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:L(x.THORChain).baseDecimal},[Io.toLowerCase()]:{asset:`${x.Kujira}.USK`,decimals:L(x.Kujira).baseDecimal}},$o=(o,t)=>{let p=eo[o.toLowerCase()];if(!p)return po.from({asset:o,fromBaseDecimal:8,value:t});let{chain:r,asset:f,decimals:y}=p,c=r?{chain:r}:{asset:f};return po.from({...c,fromBaseDecimal:y,value:t})};import{Chain as Co}from"@swapkit/helpers";async function Y(){let{$root:o}=await import("../../chunk-btth5bse.js"),t=await import("@cosmjs/proto-signing"),p=await import("@cosmjs/stargate"),r=t.Registry??t.default?.Registry,f=p.defaultRegistryTypes??p.default?.defaultRegistryTypes;return new r([...f,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function Q(o,t=o===Co.THORChain?"thor":"maya"){let p=await import("@cosmjs/stargate"),r=p.AminoTypes??p.default?.AminoTypes,f=o===Co.THORChain?"thorchain":"mayachain";return new r({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:y,...c})=>({...c,signer:b(y)}),toAmino:({signer:y,...c})=>({...c,signer:l(y,t)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:y,to_address:c,...w})=>({...w,fromAddress:b(y),toAddress:b(c)}),toAmino:({fromAddress:y,toAddress:c,...w})=>({...w,from_address:l(y,t),to_address:l(c,t)})}})}var Ot=j(h.THORChain).gas,Nt=j(h.Maya).gas,jo=({sender:o,recipient:t,assetValue:p})=>{return{type:`${p.chain===h.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:p.getBaseValue("string"),denom:Z(p.symbol,!0)}],from_address:o,to_address:t}}},io=({sender:o,assetValue:t,memo:p=""})=>{return{type:`${t.chain===h.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:t.getBaseValue("string"),asset:s(t)}],memo:p,signer:o}}},wo=({sender:o,recipient:t,assetValue:p,memo:r})=>{return!t?io({assetValue:p,memo:r,sender:o}):jo({assetValue:p,recipient:t,sender:o})},S=async(o,t)=>{return(await Q(t)).fromAmino(o)},zo=async({rpcUrl:o,sender:t})=>{let r=await(await G(o)).getAccount(t);if(!r)throw new ot("toolbox_cosmos_account_not_found",{sender:t});return r};async function Go(o){let{assetValue:t,recipient:p,memo:r,sender:f,asSignable:y,asAminoMessage:c}=o,w=o.sweep?await To({assetValue:t,sender:f}):t;if(p)return tt({asAminoMessage:c,asSignable:y,assetValue:w,memo:r,recipient:p,sender:f});return rt({asAminoMessage:c,asSignable:y,assetValue:w,memo:r,sender:f})}async function To({assetValue:o,sender:t}){let p=o.chain,r=await co(p),y=await(await G(r)).getAllBalances(t),c=o.isGasAsset?(await g(p)).getBaseValue("bigint"):0n;return K({assetValue:o,balances:y,denom:Z(o.symbol,!0),feeAmount:c})}async function tt({sender:o,recipient:t,assetValue:p,memo:r="",asSignable:f=!0,asAminoMessage:y=!1,sequence:c,accountNumber:w}){let k=p.chain,R=await co(k),B=await zo({rpcUrl:R,sender:o}),{chainId:I}=Lo(k),_=jo({assetValue:p,recipient:t,sender:o}),n=f?await S(y?_:X(_),k):_;return{accountNumber:w||Number(B.accountNumber),chainId:I,fee:j(k),memo:r,msgs:[n],sequence:c||B.sequence}}async function rt({sender:o,assetValue:t,memo:p="",asSignable:r=!0,asAminoMessage:f=!1,sequence:y,accountNumber:c}){let w=t.chain,k=await co(w),R=await zo({rpcUrl:k,sender:o}),{chainId:B}=Lo(w),I=io({assetValue:t,memo:p,sender:o}),_=r?await S(f?I:X(I),w):I;return{accountNumber:c||Number(R.accountNumber),chainId:B,fee:j(w),memo:p,msgs:[_],sequence:y||R.sequence}}function X(o){if(o.type==="thorchain/MsgSend"||o.type==="mayachain/MsgSend")return o;return{...o,value:{...o.value,coins:o.value.coins.map((t)=>{let p=ao.from({asset:t.asset}),r=(p.isSynthetic?p.symbol.split("/")?.[1]:p.symbol)?.toUpperCase(),f=(p.isSynthetic?p.symbol.split("/")?.[0]:p.chain)?.toUpperCase();return{...t,asset:{chain:f,symbol:r,synth:p.isSynthetic,ticker:p.ticker}}})}}}async function e({chain:o,memo:t,msgs:p}){let r=await Y(),f=await Q(o),y={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:t,messages:p.map((c)=>f.fromAmino(c))}};return r.encode(y)}import{Chain as U,SwapKitError as it}from"@swapkit/helpers";import{base64 as Wo,bech32 as no}from"@scure/base";import{AssetValue as vo,applyFeeMultiplier as Zo,Chain as $,CosmosChainPrefixes as Yo,DerivationPath as pt,derivationPathToString as Qo,FeeOption as Ho,getChainConfig as ft,getRPCUrl as O,NetworkDerivationPath as yt,SwapKitError as D,SwapKitNumber as xo,updateDerivationPath as ct}from"@swapkit/helpers";import{SwapKitApi as Do}from"@swapkit/helpers/api";import{match as wt,P as So}from"ts-pattern";async function qo(o,t){try{let r=(await Do.getGasRate()).find((f)=>f.chainId===o)?.value;return r?Number.parseFloat(r):t}catch{return t}}async function Xo({phrase:o,prefix:t,...p}){let r=await import("@cosmjs/proto-signing"),f=await import("@cosmjs/crypto"),y=r.DirectSecp256k1HdWallet??r.default?.DirectSecp256k1HdWallet,c=f.stringToPath??f.default?.stringToPath,w="derivationPath"in p?p.derivationPath:`${pt[p.chain]}/${p.index}`;return await y.fromMnemonic(o,{hdPaths:[c(w)],prefix:t})}async function or({privateKey:o,prefix:t}){let p=await import("@cosmjs/proto-signing");return(p.DirectSecp256k1Wallet??p.default?.DirectSecp256k1Wallet).fromKey(o,t)}var Po={[$.Cosmos]:1000,[$.Kujira]:1000,[$.Noble]:1000,[$.THORChain]:5000000,[$.Maya]:5000000,[$.Harbor]:5000000};function Tt(o){return async function({signature:p,message:r,address:f}){let y=await o(f);if(!y?.pubkey)throw new D("toolbox_cosmos_verify_signature_no_pubkey");let c=await import("@cosmjs/crypto"),w=c.Secp256k1Signature??c.default?.Secp256k1Signature,k=c.Secp256k1??c.default?.Secp256k1,R=w.fromFixedLength(Wo.decode(p));return k.verifySignature(R,Wo.decode(r),y.pubkey.value)}}function a({chain:o,...t}){let p=Yo[o],r="index"in t?t.index||0:0,f=Qo("derivationPath"in t&&t.derivationPath?t.derivationPath:ct(yt[o],{index:r})),y;async function c(){if(y)return y;return y=await wt(t).with({phrase:So.string},({phrase:n})=>Xo({derivationPath:f,phrase:n,prefix:p})).with({signer:So.any},({signer:n})=>n).otherwise(()=>{return}),y}async function w(n){let W=await O(o);return(await G(W)).getAccount(n)}async function k(){let n=await c(),[W]=await n?.getAccounts()||[];return W?.address}async function R(){let n=await c(),[W]=await n?.getAccounts()||[];if(!W?.pubkey)throw new D("toolbox_cosmos_signer_not_defined");return Wo.encode(W?.pubkey)}async function B(n){let W=await c(),T=await k(),v=await O(o);if(!(W&&T))throw new D("toolbox_cosmos_signer_not_defined");return await(await J(v,W)).sign(T,n.msgs,n.fee,n.memo,{accountNumber:BigInt(n.accountNumber),chainId:n.chainId,sequence:n.sequence})}async function I(n){let W=await c(),T=await k(),v=await O(o);if(!(W&&T))throw new D("toolbox_cosmos_signer_not_defined");let m=await(await J(v,W)).signAndBroadcast(T,n.msgs,n.fee,n.memo);if(m.code!==0)throw new D("core_swap_transaction_error",{code:m.code,message:m.rawLog});return m.transactionHash}async function _({recipient:n,assetValue:W,memo:T="",feeRate:v,feeOptionKey:H=Ho.Fast,sweep:m}){let C=await c(),i=await k();if(!(C&&i))throw new D("toolbox_cosmos_signer_not_defined");let z=await O(o),P=vo.from({chain:o}),oo=s(P),A=nt(v||(await Jo(o,Po[o]))[H],oo,o),q=await J(z,C),F=Z(W.symbol),to=[{amount:(m?K({assetValue:W,balances:await ko(o)(i),denom:F,feeAmount:yo(A.amount,F)}):W).getBaseValue("string"),denom:F}],{transactionHash:ro}=await q.sendTokens(i,n,to,A,T);return ro}return{createPrivateKeyFromPhrase:Wt(f),createTransaction:_o,fetchFeeRateFromSwapKit:qo,getAccount:w,getAddress:k,getBalance:async(n,W)=>{let T=await ko(o)(n),v=await Promise.all(T.filter(({denom:H})=>H&&!H.includes("IBC/")&&!([$.THORChain,$.Maya].includes(o)&&H.split("-").length>2)).map(({denom:H,amount:m})=>{let C=[$.THORChain,$.Maya].includes(o)&&(H.includes("/")||H.includes("˜"))?`${o}.${H}`:H;return $o(C,m)}));if(v.length===0)return[vo.from({chain:o})];return v},getBalanceAsDenoms:ko(o),getFees:()=>Jo(o,Po[o]),getPubKey:R,getSignerFromPhrase:({phrase:n,derivationPath:W})=>Xo({derivationPath:Qo(W),index:r,phrase:n,prefix:p}),getSignerFromPrivateKey:async(n)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(n,p)},signAndBroadcastTransaction:I,signTransaction:B,transfer:_,validateAddress:kt(o),verifySignature:Tt(w)}}async function tr(o,t){try{let r=(await Do.getGasRate()).find((f)=>f.chainId===o)?.value;return r?Number.parseFloat(r):t}catch{return t}}function rr({assetValue:{chain:o}}){return vo.from({chain:o,value:xt(o)})}async function Jo(o,t){let{chainId:p,baseDecimal:r}=ft(o),f=await qo(p,t);return{average:xo.fromBigInt(BigInt(f),r),fast:xo.fromBigInt(BigInt(Zo(f,Ho.Fast,!0)),r),fastest:xo.fromBigInt(BigInt(Zo(f,Ho.Fastest,!0)),r)}}function nt(o,t,p){return{amount:[{amount:typeof o==="number"?o.toString():o.getBaseValue("string"),denom:t}],gas:j(p).gas}}function xt(o){return{[$.Cosmos]:0.007,[$.Kujira]:0.02,[$.Noble]:0.01,[$.THORChain]:0.02,[$.Maya]:0.02,[$.Harbor]:0.02}[o]||0}function kt(o){let t=Yo[o];return function(r){if(!r.startsWith(t))return!1;try{let{prefix:f,words:y}=no.decode(r);return no.encode(f,y)===r.toLocaleLowerCase()}catch{return!1}}}function ko(o){return async function(p){let r=await O(o);return(await(await G(r)).getAllBalances(p)).map((w)=>({...w,denom:w.denom.includes("/")?w.denom.toUpperCase():w.denom}))}}function Wt(o){return async function(p){let r=await import("@cosmjs/crypto"),f=r.stringToPath??r.default?.stringToPath,y=r.Slip10Curve??r.default?.Slip10Curve,c=r.Slip10??r.default?.Slip10,w=r.EnglishMnemonic??r.default?.EnglishMnemonic,k=r.Bip39??r.default?.Bip39,R=new w(p),B=await k.mnemonicToSeed(R),{privkey:I}=c.derivePath(y.Secp256k1,B,f(o));return I}}import{base64 as d}from"@scure/base";import{CosmosChainPrefixes as vt,derivationPathToString as Ht,FeeOption as mo,getRPCUrl as Ko,NetworkDerivationPath as mt,SKConfig as ut,SwapKitError as N,updateDerivationPath as Bt}from"@swapkit/helpers";import{match as It,P as Fo}from"ts-pattern";function Rt({prefix:o,derivationPath:t}){return async function(r,f=0){let y=await import("@cosmjs/amino"),c=y.Secp256k1HdWallet??y.default?.Secp256k1HdWallet,w=await import("@cosmjs/crypto"),k=w.stringToPath??w.default?.stringToPath;return c.fromMnemonic(r,{hdPaths:[k(`${t}/${f}`)],prefix:o})}}function _t(o){return d.encode(o)}function $t(o,t){return async function({wallet:r,tx:f}){let{msgs:y,accountNumber:c,sequence:w,chainId:k,fee:R,memo:B}=typeof f==="string"?JSON.parse(f):f,I=(await r.getAccounts())?.[0]?.address||"",_=await Q(o,t),n=await Y(),W=await Ro(r,{aminoTypes:_,registry:n}),T=[];for(let m of y){let C=await S(m,o);T.push(C)}let{signatures:[v]}=await W.sign(I,T,R,B,{accountNumber:BigInt(c),chainId:k,sequence:w});return{bodyBytes:await e({chain:o,memo:B,msgs:y.map(X)}),signature:_t(v)}}}function Ct({prefix:o,chain:t}){return async function(r,f,y,c,w){let k=await Ko(t),{encodeSecp256k1Pubkey:R,pubkeyToAddress:B}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:I}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:n}=JSON.parse(r),W=await Oo(y,c),T=f.map((m)=>[B(R(d.decode(m.pubKey)),o),d.decode(m.signature)]),v=await G(k),{transactionHash:H}=await v.broadcastTx(I(W,_,n,w,new Map(T)));return H}}async function Oo(o,t,p=!0){let{createMultisigThresholdPubkey:r,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return r(o.map((y)=>f(d.decode(y))),t,p)}function Lt(o){return d.decode(o)}async function jt({privateKey:o,message:t}){let{Secp256k1:p}=(await import("@cosmjs/crypto")).default,r=await p.createSignature(d.decode(t),o);return d.encode(Buffer.concat([r.r(32),r.s(32)]))}function No({chain:o,...t}){let{isStagenet:p}=ut.get("envs"),r=`${p?"s":""}${vt[o]}`,f="index"in t?t.index||0:0,y="derivationPath"in t&&t.derivationPath?t.derivationPath:Bt(mt[o],{index:f}),c=a({chain:o,...t}),w=j(o),k;function R(){return k??=It(t).with({phrase:Fo.string},({phrase:T})=>c.getSignerFromPhrase({derivationPath:y,phrase:T})).with({signer:Fo.any},({signer:T})=>Promise.resolve(T)).otherwise(()=>Promise.resolve(void 0)),k}async function B(){let T=await Ko(o),v=await R();if(!v)throw new N("toolbox_cosmos_no_signer");let H=await Y(),m=await Q(o,r),C=await J(T,v,{aminoTypes:m,registry:H});return{signer:v,signingClient:C}}async function I({fee:T,memo:v,msgs:H}){let{signer:m,signingClient:C}=await B(),i=(await m.getAccounts())?.[0]?.address;if(!i)throw new N("toolbox_cosmos_signer_not_defined");let z=await C.signAndBroadcast(i,H,T,v);if(z.code!==0)throw new N("core_swap_transaction_error",{code:z.code,message:z.rawLog});return z.transactionHash}async function _(){let T=await g(o);return{[mo.Average]:T,[mo.Fast]:T,[mo.Fastest]:T}}async function n({assetValue:T,memo:v="",recipient:H,sweep:m}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:i,signingClient:z}=await B(),P=(await i.getAccounts())?.[0]?.address;if(!P)throw new N("toolbox_cosmos_no_signer");let oo="signAmino"in i,A=m?await To({assetValue:T,sender:P}):T,q=wo({assetValue:A,memo:v,recipient:H,sender:P});if(oo){let to=await S(q,o),{signatures:ro,authInfoBytes:Uo}=await z.sign(P,[to],w,v),Ao=C.encode({authInfoBytes:Uo,bodyBytes:await e({chain:o,memo:v,msgs:[q].map(X)}),signatures:ro}).finish();return(await z.broadcastTx(Ao)).transactionHash}let F=X(q),uo=await S(F,o);return I({fee:w,memo:v,msgs:[uo]})}async function W(T){let{signer:v,signingClient:H}=await B(),m=(await v.getAccounts())?.[0]?.address;if(!m)throw new N("toolbox_cosmos_signer_not_defined");return H.sign(m,T.msgs,T.fee,T.memo,{accountNumber:BigInt(T.accountNumber),chainId:T.chainId,sequence:T.sequence})}return{...c,broadcastMultisigTx:Ct({chain:o,prefix:r}),buildAminoMsg:wo,buildEncodedTxBody:e,convertToSignable:S,createDefaultAminoTypes:()=>Q(o,r),createDefaultRegistry:Y,createMultisig:Oo,createTransaction:Go,deposit:n,getFees:_,importSignature:Lt,parseAminoMessageForDirectSigning:X,pubkeyToAddress:async(T)=>{let{pubkeyToAddress:v}=(await import("@cosmjs/amino")).default;return v(T,r)},secp256k1HdWalletFromMnemonic:Rt({derivationPath:Ht(y),prefix:r}),signAndBroadcastTransaction:I,signMultisigTx:$t(o,r),signTransaction:W,signWithPrivateKey:jt,transfer:n}}var Hr=(o,t)=>{switch(o){case U.Cosmos:case U.Kujira:case U.Noble:return a({chain:o,...t});case U.Maya:case U.THORChain:return No({chain:o,...t});default:throw new it("toolbox_cosmos_not_supported",{chain:o})}};export{Tt as verifySignature,jo as transferMsgAmino,Qt as toBase64,To as resolveThorchainSweepAssetValue,X as parseAminoMessageForDirectSigning,g as getThorchainNativeFee,K as getSweepAssetValue,or as getSignerFromPrivateKey,Xo as getSignerFromPhrase,Z as getMsgSendDenom,tr as getFeeRateFromSwapKit,yo as getFeeAmountForDenom,s as getDenomWithChain,j as getDefaultChainFee,Hr as getCosmosToolbox,kt as getCosmosAddressValidator,$o as getAssetFromDenom,St as fromBase64,qo as fetchFeeRateFromSwapKit,rr as estimateTransactionFee,io as depositMsgAmino,Go as createTransaction,No as createThorchainToolbox,G as createStargateClient,J as createSigningStargateClient,Ro as createOfflineStargateClient,Y as createDefaultRegistry,Q as createDefaultAminoTypes,a as createCosmosToolbox,_o as cosmosCreateTransaction,S as convertToSignable,tt as buildTransferTx,e as buildEncodedTxBody,rt as buildDepositTx,wo as buildAminoMsg,b as bech32ToBase64,l as base64ToBech32,lo as YUM_KUJIRA_FACTORY_DENOM,Io as USK_KUJIRA_FACTORY_DENOM,Ot as THORCHAIN_GAS_VALUE,Nt as MAYA_GAS_VALUE,so as DEFAULT_NOBLE_FEE_MAINNET,go as DEFAULT_KUJI_FEE_MAINNET,Vo as DEFAULT_COSMOS_FEE_MAINNET};
1
+ import{ga as u}from"../../chunk-xbdjxeqd.js";import{base64 as b,bech32 as E}from"@scure/base";import{SwapKitError as Eo}from"@swapkit/helpers";function M(o){return b.encode(Uint8Array.from(E.fromWords(E.decode(o).words)))}function l(o,t="thor"){return E.encode(t,E.toWords(b.decode(o)))}function Qt(o){return b.encode(o)}function St(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Eo("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return b.decode(o)}import{AssetValue as ao,Chain as h,getChainConfig as Lo,getRPCUrl as co,SwapKitError as ot}from"@swapkit/helpers";import{AssetValue as po,Chain as n,getChainConfig as L,getRPCUrl as bo,RequestClient as Mo,SKConfig as Io,SwapKitError as g,SwapKitNumber as fo}from"@swapkit/helpers";var Ro="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",lo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",go={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Vo={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},so={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};function i(o){switch(o){case n.Maya:return{amount:[],gas:"10000000000"};case n.THORChain:return{amount:[],gas:"500000000"};case n.Kujira:return Vo;case n.Noble:return so;default:return go}}async function V(o){let{isStagenet:t}=Io.get("envs"),p=Io.get("thornodeUrls"),r=o===n.Maya,y=`${r?t?p.MAYA_STAGENET:p.MAYA:t?p.THOR_STAGENET:p.THOR}/${r?"mayachain":"thorchain"}/constants`,c=L(o).baseDecimal;try{let{int_64_values:{NativeTransactionFee:w}}=await Mo.get(y);if(!Number.isInteger(w)||w<=0)throw new g("toolbox_cosmos_invalid_fee",{nativeFee:w.toString()});return fo.fromBigInt(BigInt(w),c)}catch{let w=r?10000000000n:2000000n;return fo.fromBigInt(w,c)}}var Z=(o,t=!1)=>{if(t)return o.toLowerCase();switch(o){case"uUSK":case"USK":return Ro;case"uYUM":case"YUM":return lo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":case"NOBLE":return"uusdc";default:return o}},s=({symbol:o,chain:t})=>{if(t===n.Maya)return(o.toUpperCase()!=="CACAO"?o:`${n.Maya}.${o}`).toUpperCase();if(t===n.THORChain)return(["RUNE","TCY","RUJI"].includes(o.toUpperCase())?`${n.THORChain}.${o}`:o).toUpperCase();return Z(o,!1)};async function G(o){let t=await import("@cosmjs/stargate"),p=t.StargateClient??t.default?.StargateClient,r=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return p.connect({headers:r,url:o})}async function Y(o,t,p={}){let r=await import("@cosmjs/stargate"),f=r.SigningStargateClient??r.default?.SigningStargateClient,y=r.GasPrice??r.default?.GasPrice,c=typeof p==="string"?p:"0.0003uatom",w=typeof p==="string"?{}:p;return f.connectWithSigner(o,t,{gasPrice:y.fromString(c),...w})}async function _o(o,t){let p=await import("@cosmjs/stargate");return(p.SigningStargateClient??p.default?.SigningStargateClient).offline(o,t)}var ho=(o)=>{switch(o){case n.Maya:case n.THORChain:return"/types.MsgSend";case n.Cosmos:case n.Kujira:case n.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new g("toolbox_cosmos_not_supported",{chain:o})}};async function $o({sender:o,recipient:t,assetValue:p,memo:r="",feeRate:f,sequence:y,accountNumber:c,sweep:w}){let{chain:k,chainId:_}=p,I=await bo(k),R=await G(I),$=await R.getAccount(o);if(!$)throw new g("toolbox_cosmos_account_not_found",{sender:o});let x=po.from({chain:k}),v=Z(x.symbol),T=i(k),W=v&&f?{amount:[{amount:f.toString(),denom:v}],gas:T.gas}:T,H=Z(p.symbol),C={amount:[{amount:(w?K({assetValue:p,balances:await R.getAllBalances(o),denom:H,feeAmount:yo(W.amount,H)}):p).getBaseValue("string"),denom:H}],fromAddress:o,toAddress:t};return{accountNumber:c??Number($.accountNumber),chainId:_,fee:W,memo:r,msgs:[{typeUrl:ho(k),value:C}],sequence:y??$.sequence}}function yo(o,t){let p=t.toLowerCase();return o.reduce((r,f)=>f.denom.toLowerCase()===p?r+BigInt(f.amount):r,0n)}function K({assetValue:o,balances:t,denom:p,feeAmount:r=0n}){let f=p.toLowerCase(),y=t.find(({denom:k})=>k.toLowerCase()===f),c=BigInt(y?.amount??"0"),w=c-r;if(w<=0n)throw new g("toolbox_sweep_amount_too_low",{asset:o.toString(),balance:c.toString(),fee:r.toString()});return o.set(fo.fromBigInt(w,o.decimal))}var eo={atom:{chain:n.Cosmos,decimals:L(n.Cosmos).baseDecimal},cacao:{chain:n.Maya,decimals:10},kuji:{chain:n.Kujira,decimals:L(n.Kujira).baseDecimal},maya:{asset:`${n.Maya}.${n.Maya}`,decimals:4},rune:{chain:n.THORChain,decimals:L(n.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:L(n.THORChain).baseDecimal},uatom:{chain:n.Cosmos,decimals:L(n.Cosmos).baseDecimal},ukuji:{chain:n.Kujira,decimals:L(n.Kujira).baseDecimal},usdc:{chain:n.Noble,decimals:L(n.Noble).baseDecimal},uusdc:{chain:n.Noble,decimals:L(n.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:L(n.THORChain).baseDecimal},[Ro.toLowerCase()]:{asset:`${n.Kujira}.USK`,decimals:L(n.Kujira).baseDecimal}},mo=(o,t)=>{let p=eo[o.toLowerCase()];if(!p)return po.from({asset:o,fromBaseDecimal:8,value:t});let{chain:r,asset:f,decimals:y}=p,c=r?{chain:r}:{asset:f};return po.from({...c,fromBaseDecimal:y,value:t})};import{Chain as Co}from"@swapkit/helpers";async function D(){let{$root:o}=await import("../../chunk-btth5bse.js"),t=await import("@cosmjs/proto-signing"),p=await import("@cosmjs/stargate"),r=t.Registry??t.default?.Registry,f=p.defaultRegistryTypes??p.default?.defaultRegistryTypes;return new r([...f,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function Q(o,t=o===Co.THORChain?"thor":"maya"){let p=await import("@cosmjs/stargate"),r=p.AminoTypes??p.default?.AminoTypes,f=o===Co.THORChain?"thorchain":"mayachain";return new r({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:y,...c})=>({...c,signer:M(y)}),toAmino:({signer:y,...c})=>({...c,signer:l(y,t)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:y,to_address:c,...w})=>({...w,fromAddress:M(y),toAddress:M(c)}),toAmino:({fromAddress:y,toAddress:c,...w})=>({...w,from_address:l(y,t),to_address:l(c,t)})}})}var Ot=i(h.THORChain).gas,Nt=i(h.Maya).gas,io=({sender:o,recipient:t,assetValue:p})=>{return{type:`${p.chain===h.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:p.getBaseValue("string"),denom:Z(p.symbol,!0)}],from_address:o,to_address:t}}},jo=({sender:o,assetValue:t,memo:p=""})=>{return{type:`${t.chain===h.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:t.getBaseValue("string"),asset:s(t)}],memo:p,signer:o}}},wo=({sender:o,recipient:t,assetValue:p,memo:r})=>{return!t?jo({assetValue:p,memo:r,sender:o}):io({assetValue:p,recipient:t,sender:o})},S=async(o,t)=>{return(await Q(t)).fromAmino(o)},zo=async({rpcUrl:o,sender:t})=>{let r=await(await G(o)).getAccount(t);if(!r)throw new ot("toolbox_cosmos_account_not_found",{sender:t});return r};async function Go(o){let{assetValue:t,recipient:p,memo:r,sender:f,asSignable:y,asAminoMessage:c}=o,w=o.sweep?await To({assetValue:t,sender:f}):t;if(p)return tt({asAminoMessage:c,asSignable:y,assetValue:w,memo:r,recipient:p,sender:f});return rt({asAminoMessage:c,asSignable:y,assetValue:w,memo:r,sender:f})}async function To({assetValue:o,sender:t}){let p=o.chain,r=await co(p),y=await(await G(r)).getAllBalances(t),c=o.isGasAsset?(await V(p)).getBaseValue("bigint"):0n;return K({assetValue:o,balances:y,denom:Z(o.symbol,!0),feeAmount:c})}async function tt({sender:o,recipient:t,assetValue:p,memo:r="",asSignable:f=!0,asAminoMessage:y=!1,sequence:c,accountNumber:w}){let k=p.chain,_=await co(k),I=await zo({rpcUrl:_,sender:o}),{chainId:R}=Lo(k),$=io({assetValue:p,recipient:t,sender:o}),x=f?await S(y?$:X($),k):$;return{accountNumber:w||Number(I.accountNumber),chainId:R,fee:i(k),memo:r,msgs:[x],sequence:c||I.sequence}}async function rt({sender:o,assetValue:t,memo:p="",asSignable:r=!0,asAminoMessage:f=!1,sequence:y,accountNumber:c}){let w=t.chain,k=await co(w),_=await zo({rpcUrl:k,sender:o}),{chainId:I}=Lo(w),R=jo({assetValue:t,memo:p,sender:o}),$=r?await S(f?R:X(R),w):R;return{accountNumber:c||Number(_.accountNumber),chainId:I,fee:i(w),memo:p,msgs:[$],sequence:y||_.sequence}}function X(o){if(o.type==="thorchain/MsgSend"||o.type==="mayachain/MsgSend")return o;return{...o,value:{...o.value,coins:o.value.coins.map((t)=>{let p=ao.from({asset:t.asset}),r=(p.isSynthetic?p.symbol.split("/")?.[1]:p.symbol)?.toUpperCase(),f=(p.isSynthetic?p.symbol.split("/")?.[0]:p.chain)?.toUpperCase();return{...t,asset:{chain:f,symbol:r,synth:p.isSynthetic,ticker:p.ticker}}})}}}async function e({chain:o,memo:t,msgs:p}){let r=await D(),f=await Q(o),y={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:t,messages:p.map((c)=>f.fromAmino(c))}};return r.encode(y)}import{Chain as U,SwapKitError as jt}from"@swapkit/helpers";import{base64 as vo,bech32 as xo}from"@scure/base";import{AssetValue as Wo,applyFeeMultiplier as Zo,Chain as m,CosmosChainPrefixes as Yo,DerivationPath as pt,derivationPathToString as Qo,FeeOption as Ho,getChainConfig as ft,getRPCUrl as O,NetworkDerivationPath as yt,SwapKitError as d,SwapKitNumber as no,updateDerivationPath as ct}from"@swapkit/helpers";import{SwapKitApi as Do}from"@swapkit/helpers/api";import{match as wt,P as So}from"ts-pattern";async function qo(o,t){try{let r=(await Do.getGasRate()).find((f)=>f.chainId===o)?.value;return r?Number.parseFloat(r):t}catch{return t}}async function Xo({phrase:o,prefix:t,...p}){let r=await import("@cosmjs/proto-signing"),f=await import("@cosmjs/crypto"),y=r.DirectSecp256k1HdWallet??r.default?.DirectSecp256k1HdWallet,c=f.stringToPath??f.default?.stringToPath,w="derivationPath"in p?p.derivationPath:`${pt[p.chain]}/${p.index}`;return await y.fromMnemonic(o,{hdPaths:[c(w)],prefix:t})}async function or({privateKey:o,prefix:t}){let p=await import("@cosmjs/proto-signing");return(p.DirectSecp256k1Wallet??p.default?.DirectSecp256k1Wallet).fromKey(o,t)}var Po={[m.Cosmos]:1000,[m.Kujira]:1000,[m.Noble]:1000,[m.THORChain]:5000000,[m.Maya]:5000000,[m.Harbor]:5000000};function Tt(o){return async function({signature:p,message:r,address:f}){let y=await o(f);if(!y?.pubkey)throw new d("toolbox_cosmos_verify_signature_no_pubkey");let c=await import("@cosmjs/crypto"),w=c.Secp256k1Signature??c.default?.Secp256k1Signature,k=c.Secp256k1??c.default?.Secp256k1,_=w.fromFixedLength(vo.decode(p));return k.verifySignature(_,vo.decode(r),y.pubkey.value)}}function a({chain:o,...t}){let p=Yo[o],r="index"in t?t.index||0:0,f=Qo("derivationPath"in t&&t.derivationPath?t.derivationPath:ct(yt[o],{index:r})),y;async function c(){if(y)return y;return y=await wt(t).with({phrase:So.string},({phrase:x})=>Xo({derivationPath:f,phrase:x,prefix:p})).with({signer:So.any},({signer:x})=>x).otherwise(()=>{return}),y}async function w(x){let v=await O(o);return(await G(v)).getAccount(x)}async function k(){let x=await c(),[v]=await x?.getAccounts()||[];return v?.address}async function _(){let x=await c(),[v]=await x?.getAccounts()||[];if(!v?.pubkey)throw new d("toolbox_cosmos_signer_not_defined");return vo.encode(v?.pubkey)}async function I(x){let v=await c(),T=await k(),W=await O(o);if(!(v&&T))throw new d("toolbox_cosmos_signer_not_defined");return await(await Y(W,v)).sign(T,x.msgs,x.fee,x.memo,{accountNumber:BigInt(x.accountNumber),chainId:x.chainId,sequence:x.sequence})}async function R(x){let v=await c(),T=await k(),W=await O(o);if(!(v&&T))throw new d("toolbox_cosmos_signer_not_defined");let B=await(await Y(W,v)).signAndBroadcast(T,x.msgs,x.fee,x.memo);if(B.code!==0)throw new d("core_swap_transaction_error",{code:B.code,message:B.rawLog});return B.transactionHash}async function $({recipient:x,assetValue:v,memo:T="",feeRate:W,feeOptionKey:H=Ho.Fast,sweep:B}){let C=await c(),j=await k();if(!(C&&j))throw new d("toolbox_cosmos_signer_not_defined");let z=await O(o),J=Wo.from({chain:o}),oo=s(J),A=xt(W||(await Jo(o,Po[o]))[H],oo,o),q=await Y(z,C),F=Z(v.symbol),to=[{amount:(B?K({assetValue:v,balances:await ko(o)(j),denom:F,feeAmount:yo(A.amount,F)}):v).getBaseValue("string"),denom:F}],{transactionHash:ro}=await q.sendTokens(j,x,to,A,T);return ro}return{createPrivateKeyFromPhrase:vt(f),createTransaction:$o,fetchFeeRateFromSwapKit:qo,getAccount:w,getAddress:k,getBalance:async(x,v)=>{let T=await ko(o)(x),W=await Promise.all(T.filter(({denom:H})=>H&&!H.includes("IBC/")&&!([m.THORChain,m.Maya].includes(o)&&H.split("-").length>2)).map(({denom:H,amount:B})=>{let C=[m.THORChain,m.Maya].includes(o)&&(H.includes("/")||H.includes("˜"))?`${o}.${H}`:H;return mo(C,B)}));if(W.length===0)return[Wo.from({chain:o})];return W},getBalanceAsDenoms:ko(o),getFees:()=>Jo(o,Po[o]),getPubKey:_,getSignerFromPhrase:({phrase:x,derivationPath:v})=>Xo({derivationPath:Qo(v),index:r,phrase:x,prefix:p}),getSignerFromPrivateKey:async(x)=>{let v=await import("@cosmjs/proto-signing");return(v.DirectSecp256k1Wallet??v.default?.DirectSecp256k1Wallet).fromKey(x,p)},signAndBroadcastTransaction:R,signTransaction:I,transfer:$,validateAddress:kt(o),verifySignature:Tt(w)}}async function tr(o,t){try{let r=(await Do.getGasRate()).find((f)=>f.chainId===o)?.value;return r?Number.parseFloat(r):t}catch{return t}}function rr({assetValue:{chain:o}}){return Wo.from({chain:o,value:nt(o)})}async function Jo(o,t){let{chainId:p,baseDecimal:r}=ft(o),f=await qo(p,t);return{average:no.fromBigInt(BigInt(f),r),fast:no.fromBigInt(BigInt(Zo(f,Ho.Fast,!0)),r),fastest:no.fromBigInt(BigInt(Zo(f,Ho.Fastest,!0)),r)}}function xt(o,t,p){return{amount:[{amount:typeof o==="number"?o.toString():o.getBaseValue("string"),denom:t}],gas:i(p).gas}}function nt(o){return{[m.Cosmos]:0.007,[m.Kujira]:0.02,[m.Noble]:0.01,[m.THORChain]:0.02,[m.Maya]:0.02,[m.Harbor]:0.02}[o]||0}function kt(o){let t=Yo[o];return function(r){if(!r.startsWith(t))return!1;try{let{prefix:f,words:y}=xo.decode(r);return xo.encode(f,y)===r.toLocaleLowerCase()}catch{return!1}}}function ko(o){return async function(p){let r=await O(o);return(await(await G(r)).getAllBalances(p)).map((w)=>({...w,denom:w.denom.includes("/")?w.denom.toUpperCase():w.denom}))}}function vt(o){return async function(p){let r=await import("@cosmjs/crypto"),f=r.stringToPath??r.default?.stringToPath,y=r.Slip10Curve??r.default?.Slip10Curve,c=r.Slip10??r.default?.Slip10,w=r.EnglishMnemonic??r.default?.EnglishMnemonic,k=r.Bip39??r.default?.Bip39,_=new w(p),I=await k.mnemonicToSeed(_),{privkey:R}=c.derivePath(y.Secp256k1,I,f(o));return R}}import{base64 as P}from"@scure/base";import{CosmosChainPrefixes as Wt,derivationPathToString as Ht,FeeOption as Bo,getRPCUrl as Ko,NetworkDerivationPath as Bt,SKConfig as ut,SwapKitError as N,updateDerivationPath as It}from"@swapkit/helpers";import{match as Rt,P as Fo}from"ts-pattern";function _t({prefix:o,derivationPath:t}){return async function(r,f=0){let y=await import("@cosmjs/amino"),c=y.Secp256k1HdWallet??y.default?.Secp256k1HdWallet,w=await import("@cosmjs/crypto"),k=w.stringToPath??w.default?.stringToPath;return c.fromMnemonic(r,{hdPaths:[k(`${t}/${f}`)],prefix:o})}}function $t(o){return P.encode(o)}function mt(o,t){return async function({wallet:r,tx:f}){let{msgs:y,accountNumber:c,sequence:w,chainId:k,fee:_,memo:I}=typeof f==="string"?JSON.parse(f):f,R=(await r.getAccounts())?.[0]?.address||"",$=await Q(o,t),x=await D(),v=await _o(r,{aminoTypes:$,registry:x}),T=[];for(let B of y){let C=await S(B,o);T.push(C)}let{signatures:[W]}=await v.sign(R,T,_,I,{accountNumber:BigInt(c),chainId:k,sequence:w});return{bodyBytes:await e({chain:o,memo:I,msgs:y.map(X)}),signature:$t(W)}}}function Ct({prefix:o,chain:t}){return async function(r,f,y,c,w){let k=await Ko(t),{encodeSecp256k1Pubkey:_,pubkeyToAddress:I}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:R}=(await import("@cosmjs/stargate")).default,{sequence:$,fee:x}=JSON.parse(r),v=await Oo(y,c),T=f.map((B)=>[I(_(P.decode(B.pubKey)),o),P.decode(B.signature)]),W=await G(k),{transactionHash:H}=await W.broadcastTx(R(v,$,x,w,new Map(T)));return H}}async function Oo(o,t,p=!0){let{createMultisigThresholdPubkey:r,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return r(o.map((y)=>f(P.decode(y))),t,p)}function Lt(o){return P.decode(o)}async function it({privateKey:o,message:t}){let{Secp256k1:p}=(await import("@cosmjs/crypto")).default,r=await p.createSignature(P.decode(t),o);return P.encode(Buffer.concat([r.r(32),r.s(32)]))}function No({chain:o,...t}){let{isStagenet:p}=ut.get("envs"),r=`${p?"s":""}${Wt[o]}`,f="index"in t?t.index||0:0,y="derivationPath"in t&&t.derivationPath?t.derivationPath:It(Bt[o],{index:f}),c=a({chain:o,...t}),w=i(o),k;function _(){return k??=Rt(t).with({phrase:Fo.string},({phrase:T})=>c.getSignerFromPhrase({derivationPath:y,phrase:T})).with({signer:Fo.any},({signer:T})=>Promise.resolve(T)).otherwise(()=>Promise.resolve(void 0)),k}async function I(){let T=await Ko(o),W=await _();if(!W)throw new N("toolbox_cosmos_no_signer");let H=await D(),B=await Q(o,r),C=await Y(T,W,{aminoTypes:B,registry:H});return{signer:W,signingClient:C}}async function R({fee:T,memo:W,msgs:H}){let{signer:B,signingClient:C}=await I(),j=(await B.getAccounts())?.[0]?.address;if(!j)throw new N("toolbox_cosmos_signer_not_defined");let z=await C.signAndBroadcast(j,H,T,W);if(z.code!==0)throw new N("core_swap_transaction_error",{code:z.code,message:z.rawLog});return z.transactionHash}async function $(){let T=await V(o);return{[Bo.Average]:T,[Bo.Fast]:T,[Bo.Fastest]:T}}async function x({assetValue:T,memo:W="",recipient:H,sweep:B}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:j,signingClient:z}=await I(),J=(await j.getAccounts())?.[0]?.address;if(!J)throw new N("toolbox_cosmos_no_signer");let oo="signAmino"in j,A=B?await To({assetValue:T,sender:J}):T,q=wo({assetValue:A,memo:W,recipient:H,sender:J});if(oo){let to=await S(q,o),{signatures:ro,authInfoBytes:Uo}=await z.sign(J,[to],w,W),Ao=C.encode({authInfoBytes:Uo,bodyBytes:await e({chain:o,memo:W,msgs:[q].map(X)}),signatures:ro}).finish();return(await z.broadcastTx(Ao)).transactionHash}let F=X(q),uo=await S(F,o);return R({fee:w,memo:W,msgs:[uo]})}async function v(T){let{signer:W,signingClient:H}=await I(),B=(await W.getAccounts())?.[0]?.address;if(!B)throw new N("toolbox_cosmos_signer_not_defined");return H.sign(B,T.msgs,T.fee,T.memo,{accountNumber:BigInt(T.accountNumber),chainId:T.chainId,sequence:T.sequence})}return{...c,broadcastMultisigTx:Ct({chain:o,prefix:r}),buildAminoMsg:wo,buildEncodedTxBody:e,convertToSignable:S,createDefaultAminoTypes:()=>Q(o,r),createDefaultRegistry:D,createMultisig:Oo,createTransaction:Go,deposit:x,getFees:$,importSignature:Lt,parseAminoMessageForDirectSigning:X,pubkeyToAddress:async(T)=>{let{pubkeyToAddress:W}=(await import("@cosmjs/amino")).default;return W(T,r)},secp256k1HdWalletFromMnemonic:_t({derivationPath:Ht(y),prefix:r}),signAndBroadcastTransaction:R,signMultisigTx:mt(o,r),signTransaction:v,signWithPrivateKey:it,transfer:x}}var Hr=(o,t)=>{switch(o){case U.Cosmos:case U.Kujira:case U.Noble:return a({chain:o,...t});case U.Maya:case U.THORChain:return No({chain:o,...t});default:throw new jt("toolbox_cosmos_not_supported",{chain:o})}};export{Tt as verifySignature,io as transferMsgAmino,Qt as toBase64,To as resolveThorchainSweepAssetValue,X as parseAminoMessageForDirectSigning,V as getThorchainNativeFee,K as getSweepAssetValue,or as getSignerFromPrivateKey,Xo as getSignerFromPhrase,Z as getMsgSendDenom,tr as getFeeRateFromSwapKit,yo as getFeeAmountForDenom,s as getDenomWithChain,i as getDefaultChainFee,Hr as getCosmosToolbox,kt as getCosmosAddressValidator,mo as getAssetFromDenom,St as fromBase64,qo as fetchFeeRateFromSwapKit,rr as estimateTransactionFee,jo as depositMsgAmino,Go as createTransaction,No as createThorchainToolbox,G as createStargateClient,Y as createSigningStargateClient,_o as createOfflineStargateClient,D as createDefaultRegistry,Q as createDefaultAminoTypes,a as createCosmosToolbox,$o as cosmosCreateTransaction,S as convertToSignable,tt as buildTransferTx,e as buildEncodedTxBody,rt as buildDepositTx,wo as buildAminoMsg,M as bech32ToBase64,l as base64ToBech32,lo as YUM_KUJIRA_FACTORY_DENOM,Ro as USK_KUJIRA_FACTORY_DENOM,Ot as THORCHAIN_GAS_VALUE,Nt as MAYA_GAS_VALUE,so as DEFAULT_NOBLE_FEE_MAINNET,Vo as DEFAULT_KUJI_FEE_MAINNET,go as DEFAULT_COSMOS_FEE_MAINNET};