@swapkit/toolboxes 4.15.4 → 4.15.5

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.
@@ -1 +1 @@
1
- var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames,getOwnPropertyDescriptor:__getOwnPropDesc}=Object,__hasOwnProp=Object.prototype.hasOwnProperty;function __accessProp(key){return this[key]}var __toESMCache_node,__toESMCache_esm,__toESM=(mod,isNodeMode,target)=>{var canCache=mod!=null&&typeof mod==="object";if(canCache){var cache=isNodeMode?__toESMCache_node??=new WeakMap:__toESMCache_esm??=new WeakMap,cached=cache.get(mod);if(cached)return cached}target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:__accessProp.bind(mod,key),enumerable:!0});if(canCache)cache.set(mod,to);return to},__toCommonJS=(from)=>{var entry=(__moduleCache??=new WeakMap).get(from),desc;if(entry)return entry;if(entry=__defProp({},"__esModule",{value:!0}),from&&typeof from==="object"||typeof from==="function"){for(var key of __getOwnPropNames(from))if(!__hasOwnProp.call(entry,key))__defProp(entry,key,{get:__accessProp.bind(from,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return __moduleCache.set(from,entry),entry},__moduleCache;var __returnValue=(v)=>v;function __exportSetter(name,newValue){this[name]=__returnValue.bind(null,newValue)}var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0,configurable:!0,set:__exportSetter.bind(all,name)})};var __esm=(fn,res)=>()=>(fn&&(res=fn(fn=0)),res);function validateAptosAddress(address){if(!address||typeof address!=="string"||!address.startsWith("0x"))return!1;let hex=address.slice(2);if(hex.length===0||hex.length>64)return!1;return hexRegex.test(hex)}function getAptosToolbox({derivationPath,provider:providerParam,...signerParams}={}){let cachedSigner,derivePath=import_helpers.derivationPathToString(derivationPath||import_helpers.NetworkDerivationPath[import_helpers.Chain.Aptos],{allHardened:!0});async function getSigner(){if(cachedSigner)return cachedSigner;return cachedSigner=await import_ts_pattern.match(signerParams).with({phrase:import_ts_pattern.P.string},async({phrase})=>{let{Ed25519Account}=await import("@aptos-labs/ts-sdk");return Ed25519Account.fromDerivationPath({mnemonic:phrase,path:derivePath})}).with({signer:import_ts_pattern.P.any},({signer})=>signer).otherwise(()=>{return}),cachedSigner}async function getAptosClient(){let{Aptos,AptosConfig}=await import("@aptos-labs/ts-sdk"),config=new AptosConfig({fullnode:providerParam||import_helpers.getRPCUrlSync(import_helpers.Chain.Aptos)});return new Aptos(config)}async function getAddress(){return(await getSigner())?.accountAddress.toString()||""}async function getBalance(targetAddress){let addressToQuery=targetAddress||await getAddress();if(!addressToQuery)throw new import_helpers.SwapKitError("toolbox_aptos_address_required");let{baseDecimal,chain}=import_helpers.getChainConfig(import_helpers.Chain.Aptos);try{let aptos=await getAptosClient(),aptBalance=await aptos.getAccountAPTAmount({accountAddress:addressToQuery}),aptosBalances=[import_helpers.AssetValue.from({chain,fromBaseDecimal:baseDecimal,value:aptBalance.toString()})],fungibleAssets=await aptos.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:addressToQuery}}}});for(let asset of fungibleAssets){if(asset.asset_type===AptosModules.COIN_TYPE||Number(asset.amount)<=0)continue;let assetType=asset.asset_type;if(assetType){let decimal=("metadata"in asset&&typeof asset.metadata==="object"&&asset.metadata!==null?asset.metadata:void 0)?.decimals??baseDecimal;aptosBalances.push(import_helpers.AssetValue.from({asset:`${import_helpers.Chain.Aptos}.APT-${assetType}`,fromBaseDecimal:decimal,value:String(asset.amount)}))}}return aptosBalances}catch{return[import_helpers.AssetValue.from({chain})]}}async function estimateTransactionFee(params){if(!params){let{baseDecimal:baseDecimal2}=import_helpers.getChainConfig(import_helpers.Chain.Aptos),fullnode=providerParam||import_helpers.getRPCUrlSync(import_helpers.Chain.Aptos),response=await fetch(`${fullnode}/estimate_gas_price`),{gas_estimate:gasEstimate}=await response.json();return import_helpers.AssetValue.from({chain:import_helpers.Chain.Aptos,fromBaseDecimal:baseDecimal2,value:String(gasEstimate)})}let signer=await getSigner();if(!signer)throw new import_helpers.SwapKitError("toolbox_aptos_no_signer");let transaction=await createTransaction(params),aptos=await getAptosClient(),[simulation]=await aptos.transaction.simulate.simple({signerPublicKey:signer.publicKey,transaction});if(!simulation)throw new import_helpers.SwapKitError("toolbox_aptos_transaction_creation_error");let gasUsed=BigInt(simulation.gas_used)*BigInt(simulation.gas_unit_price),{baseDecimal}=import_helpers.getChainConfig(import_helpers.Chain.Aptos);return import_helpers.AssetValue.from({chain:import_helpers.Chain.Aptos,fromBaseDecimal:baseDecimal,value:gasUsed.toString()})}async function createTransaction({recipient,assetValue,maxGasAmount,sender:_senderAddress}){if(!validateAptosAddress(recipient))throw new import_helpers.SwapKitError("core_transaction_invalid_recipient_address");let senderAddress=_senderAddress||await getAddress();if(!senderAddress)throw new import_helpers.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress}=await import("@aptos-labs/ts-sdk"),aptos=await getAptosClient(),sender=AccountAddress.from(senderAddress);try{let functionName=assetValue.isGasAsset?AptosModules.TRANSFER:AptosModules.FUNGIBLE_STORE_TRANSFER,functionArguments=import_ts_pattern.match({address:assetValue?.address,isGasAsset:assetValue.isGasAsset}).with({isGasAsset:!0},()=>[AccountAddress.from(recipient),assetValue.getBaseValue("bigint")]).with({address:import_ts_pattern.P.string},({address})=>[AccountAddress.from(address),AccountAddress.from(recipient),assetValue.getBaseValue("bigint")]).otherwise(()=>null);if(!functionArguments)throw new import_helpers.SwapKitError("toolbox_aptos_missing_asset_type");return aptos.transaction.build.simple({data:{function:functionName,functionArguments,typeArguments:assetValue.isGasAsset?[]:[AptosModules.FUNGIBLE_ASSET_METADATA]},options:maxGasAmount?{maxGasAmount}:void 0,sender})}catch(error){if(error instanceof import_helpers.SwapKitError)throw error;throw new import_helpers.SwapKitError("toolbox_aptos_transaction_creation_error",error)}}async function signTransaction(transaction){let signer=await getSigner();if(!signer)throw new import_helpers.SwapKitError("toolbox_aptos_no_signer");return(await getAptosClient()).transaction.sign({signer,transaction})}async function transfer({assetValue,maxGasAmount,recipient}){let signer=await getSigner();if(!signer)throw new import_helpers.SwapKitError("toolbox_aptos_no_signer");if(!validateAptosAddress(recipient))throw new import_helpers.SwapKitError("core_transaction_invalid_recipient_address");try{let sender=signer.accountAddress.toString(),transaction=await createTransaction({assetValue,maxGasAmount,recipient,sender});return(await(await getAptosClient()).signAndSubmitTransaction({signer,transaction})).hash}catch(error){if(error instanceof import_helpers.SwapKitError)throw error;throw new import_helpers.SwapKitError("toolbox_aptos_transaction_creation_error",error)}}async function broadcastTransaction({senderAuthenticator,transaction}){try{return(await(await getAptosClient()).transaction.submit.simple({senderAuthenticator,transaction})).hash}catch(error){throw new import_helpers.SwapKitError("toolbox_aptos_broadcast_error",error)}}async function signAndBroadcastTransaction(transaction){let senderAuthenticator=await signTransaction(transaction);return broadcastTransaction({senderAuthenticator,transaction})}return{broadcastTransaction,createTransaction,estimateTransactionFee,getAddress,getBalance,signAndBroadcastTransaction,signTransaction,transfer,validateAddress:validateAptosAddress}}function createAptosExtensionTransfer({provider}){return async function({assetValue,recipient}){if(!validateAptosAddress(recipient))throw new import_helpers.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress}=await import("@aptos-labs/ts-sdk");if(assetValue.isGasAsset)return(await provider.signAndSubmitTransaction({arguments:[AccountAddress.from(recipient).toString(),assetValue.getBaseValue("string")],function:AptosModules.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let assetAddress=assetValue.address;if(!assetAddress)throw new import_helpers.SwapKitError("toolbox_aptos_missing_asset_type");return(await provider.signAndSubmitTransaction({arguments:[assetAddress,AccountAddress.from(recipient).toString(),assetValue.getBaseValue("string")],function:AptosModules.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[AptosModules.FUNGIBLE_ASSET_METADATA]})).hash}}var import_helpers,import_ts_pattern,AptosModules,hexRegex;var init_toolbox=__esm(()=>{import_helpers=require("@swapkit/helpers"),import_ts_pattern=require("ts-pattern"),AptosModules={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},hexRegex=/^[0-9a-fA-F]+$/});var exports_aptos={};__export(exports_aptos,{validateAptosAddress:()=>validateAptosAddress,getAptosToolbox:()=>getAptosToolbox,createAptosExtensionTransfer:()=>createAptosExtensionTransfer});module.exports=__toCommonJS(exports_aptos);var init_aptos=__esm(()=>{init_toolbox()});init_aptos();
1
+ var $=Object.create;var{getPrototypeOf:K,defineProperty:b,getOwnPropertyNames:R,getOwnPropertyDescriptor:j}=Object,v=Object.prototype.hasOwnProperty;function N(n){return this[n]}var k,q,Z=(n,s,e)=>{var r=n!=null&&typeof n==="object";if(r){var _=s?k??=new WeakMap:q??=new WeakMap,f=_.get(n);if(f)return f}e=n!=null?$(K(n)):{};let u=s||!n||!n.__esModule?b(e,"default",{value:n,enumerable:!0}):e;for(let m of R(n))if(!v.call(u,m))b(u,m,{get:N.bind(n,m),enumerable:!0});if(r)_.set(n,u);return u},W=(n)=>{var s=(B??=new WeakMap).get(n),e;if(s)return s;if(s=b({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var r of R(n))if(!v.call(s,r))b(s,r,{get:N.bind(n,r),enumerable:!(e=j(n,r))||e.enumerable})}return B.set(n,s),s},B;var Y=(n)=>n;function H(n,s){this[n]=Y.bind(null,s)}var Q=(n,s)=>{for(var e in s)b(n,e,{get:s[e],enumerable:!0,configurable:!0,set:H.bind(s,e)})};var F=(n,s)=>()=>(n&&(s=n(n=0)),s);function y(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let s=n.slice(2);if(s.length===0||s.length>64)return!1;return z.test(s)}function C({derivationPath:n,provider:s,...e}={}){let r,_=t.derivationPathToString(n||t.NetworkDerivationPath[t.Chain.Aptos],{allHardened:!0});async function f(){if(r)return r;return r=await T.match(e).with({phrase:T.P.string},async({phrase:o})=>{let{Ed25519Account:a}=await import("@aptos-labs/ts-sdk");return a.fromDerivationPath({mnemonic:o,path:_})}).with({signer:T.P.any},({signer:o})=>o).otherwise(()=>{return}),r}async function u(){let{Aptos:o,AptosConfig:a}=await import("@aptos-labs/ts-sdk"),i=new a({fullnode:s||t.getRPCUrlSync(t.Chain.Aptos)});return new o(i)}async function m(){return(await f())?.accountAddress.toString()||""}async function I(o){let a=o||await m();if(!a)throw new t.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:i,chain:d}=t.getChainConfig(t.Chain.Aptos);try{let p=await u(),A=await p.getAccountAPTAmount({accountAddress:a}),g=[t.AssetValue.from({chain:d,fromBaseDecimal:i,value:A.toString()})],h=await p.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:a}}}});for(let c of h){if(c.asset_type===w.COIN_TYPE||Number(c.amount)<=0)continue;let l=c.asset_type;if(l){let O=("metadata"in c&&typeof c.metadata==="object"&&c.metadata!==null?c.metadata:void 0)?.decimals??i;g.push(t.AssetValue.from({asset:`${t.Chain.Aptos}.APT-${l}`,fromBaseDecimal:O,value:String(c.amount)}))}}return g}catch{return[t.AssetValue.from({chain:d})]}}async function U(o){if(!o){let{baseDecimal:h}=t.getChainConfig(t.Chain.Aptos),c=s||t.getRPCUrlSync(t.Chain.Aptos),l=await fetch(`${c}/estimate_gas_price`),{gas_estimate:x}=await l.json();return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:h,value:String(x)})}let a=await f();if(!a)throw new t.SwapKitError("toolbox_aptos_no_signer");let i=await E(o),d=await u(),[p]=await d.transaction.simulate.simple({signerPublicKey:a.publicKey,transaction:i});if(!p)throw new t.SwapKitError("toolbox_aptos_transaction_creation_error");let A=BigInt(p.gas_used)*BigInt(p.gas_unit_price),{baseDecimal:g}=t.getChainConfig(t.Chain.Aptos);return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:g,value:A.toString()})}async function E({recipient:o,assetValue:a,maxGasAmount:i,sender:d}){if(!y(o))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let p=d||await m();if(!p)throw new t.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:A}=await import("@aptos-labs/ts-sdk"),g=await u(),h=A.from(p);try{let c=a.isGasAsset?w.TRANSFER:w.FUNGIBLE_STORE_TRANSFER,l=T.match({address:a?.address,isGasAsset:a.isGasAsset}).with({isGasAsset:!0},()=>[A.from(o),a.getBaseValue("bigint")]).with({address:T.P.string},({address:x})=>[A.from(x),A.from(o),a.getBaseValue("bigint")]).otherwise(()=>null);if(!l)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");return g.transaction.build.simple({data:{function:c,functionArguments:l,typeArguments:a.isGasAsset?[]:[w.FUNGIBLE_ASSET_METADATA]},options:i?{maxGasAmount:i}:void 0,sender:h})}catch(c){if(c instanceof t.SwapKitError)throw c;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",c)}}async function S(o){let a=await f();if(!a)throw new t.SwapKitError("toolbox_aptos_no_signer");return(await u()).transaction.sign({signer:a,transaction:o})}async function L({assetValue:o,maxGasAmount:a,recipient:i}){let d=await f();if(!d)throw new t.SwapKitError("toolbox_aptos_no_signer");if(!y(i))throw new t.SwapKitError("core_transaction_invalid_recipient_address");try{let p=d.accountAddress.toString(),A=await E({assetValue:o,maxGasAmount:a,recipient:i,sender:p});return(await(await u()).signAndSubmitTransaction({signer:d,transaction:A})).hash}catch(p){if(p instanceof t.SwapKitError)throw p;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",p)}}async function P({senderAuthenticator:o,transaction:a}){try{return(await(await u()).transaction.submit.simple({senderAuthenticator:o,transaction:a})).hash}catch(i){throw new t.SwapKitError("toolbox_aptos_broadcast_error",i)}}async function M(o){let a=await S(o);return P({senderAuthenticator:a,transaction:o})}return{broadcastTransaction:P,createTransaction:E,estimateTransactionFee:U,getAddress:m,getBalance:I,signAndBroadcastTransaction:M,signTransaction:S,transfer:L,validateAddress:y}}function D({provider:n}){return async function({assetValue:e,recipient:r}){if(!y(r))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:_}=await import("@aptos-labs/ts-sdk");if(e.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[_.from(r).toString(),e.getBaseValue("string")],function:w.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let f=e.address;if(!f)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[f,_.from(r).toString(),e.getBaseValue("string")],function:w.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[w.FUNGIBLE_ASSET_METADATA]})).hash}}var t,T,w,z;var G=F(()=>{t=require("@swapkit/helpers"),T=require("ts-pattern"),w={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},z=/^[0-9a-fA-F]+$/});var J={};Q(J,{validateAptosAddress:()=>y,getAptosToolbox:()=>C,createAptosExtensionTransfer:()=>D});module.exports=W(J);var X=F(()=>{G()});X();
@@ -1 +1 @@
1
- var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames,getOwnPropertyDescriptor:__getOwnPropDesc}=Object,__hasOwnProp=Object.prototype.hasOwnProperty;function __accessProp(key){return this[key]}var __toESMCache_node,__toESMCache_esm,__toESM=(mod,isNodeMode,target)=>{var canCache=mod!=null&&typeof mod==="object";if(canCache){var cache=isNodeMode?__toESMCache_node??=new WeakMap:__toESMCache_esm??=new WeakMap,cached=cache.get(mod);if(cached)return cached}target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:__accessProp.bind(mod,key),enumerable:!0});if(canCache)cache.set(mod,to);return to},__toCommonJS=(from)=>{var entry=(__moduleCache??=new WeakMap).get(from),desc;if(entry)return entry;if(entry=__defProp({},"__esModule",{value:!0}),from&&typeof from==="object"||typeof from==="function"){for(var key of __getOwnPropNames(from))if(!__hasOwnProp.call(entry,key))__defProp(entry,key,{get:__accessProp.bind(from,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return __moduleCache.set(from,entry),entry},__moduleCache;var __returnValue=(v)=>v;function __exportSetter(name,newValue){this[name]=__returnValue.bind(null,newValue)}var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0,configurable:!0,set:__exportSetter.bind(all,name)})};var __esm=(fn,res)=>()=>(fn&&(res=fn(fn=0)),res);async function fetchBlockfrost(endpoint,options){let response=await fetch(`${BLOCKFROST_URL}${endpoint}`,{...options,headers:{project_id:BLOCKFROST_API_KEY,...options?.headers}});if(!response.ok)throw Error(`Blockfrost API error: ${response.status} ${response.statusText}`);return response.json()}async function fetchUtxos(address){try{return await fetchBlockfrost(`/addresses/${address}/utxos`)}catch{return[]}}async function fetchLatestSlot(){return(await fetchBlockfrost("/blocks/latest")).slot}async function fetchProtocolParameters(){let params=await fetchBlockfrost("/epochs/latest/parameters"),languageView={PlutusScriptV1:params.cost_models.PlutusV1?Object.values(params.cost_models.PlutusV1):[],PlutusScriptV2:params.cost_models.PlutusV2?Object.values(params.cost_models.PlutusV2):[],PlutusScriptV3:params.cost_models.PlutusV3?Object.values(params.cost_models.PlutusV3):[]};return{collateralPercent:new import_bignumber.default(params.collateral_percent),languageView,lovelacePerUtxoWord:new import_bignumber.default(0),maxValueSize:Number.parseInt(params.max_val_size,10),minFeeA:new import_bignumber.default(params.min_fee_a),minFeeB:new import_bignumber.default(params.min_fee_b),minFeeRefScriptCostPerByte:new import_bignumber.default(15),priceMem:new import_bignumber.default(params.price_mem),priceSteps:new import_bignumber.default(params.price_step),stakeKeyDeposit:new import_bignumber.default(2000000),utxoCostPerByte:new import_bignumber.default(params.coins_per_utxo_size)}}async function submitTransaction(txCbor){let response=await fetch(`${BLOCKFROST_URL}/tx/submit`,{body:Buffer.from(txCbor,"hex"),headers:{"Content-Type":"application/cbor",project_id:BLOCKFROST_API_KEY},method:"POST"});if(!response.ok){let error=await response.text();throw Error(`Transaction submission failed: ${error}`)}return response.json()}function blockfrostToTyphonInputs(utxos,ownerAddress){return utxos.map((utxo)=>{let lovelaceEntry=utxo.amount.find((a)=>a.unit==="lovelace"),lovelaceAmount=lovelaceEntry?new import_bignumber.default(lovelaceEntry.quantity):new import_bignumber.default(0),tokens=utxo.amount.filter((a)=>a.unit!=="lovelace").map((a)=>({amount:new import_bignumber.default(a.quantity),assetName:a.unit.slice(56),policyId:a.unit.slice(0,56)}));return{address:ownerAddress,amount:lovelaceAmount,index:utxo.output_index,tokens,txId:utxo.tx_hash}})}async function getCardanoBalance(address){try{let utxos=await fetchUtxos(address),totalLovelace=0n,assetBalances=new Map;for(let utxo of utxos){if(!utxo.amount||!Array.isArray(utxo.amount))continue;for(let amountEntry of utxo.amount){let{unit,quantity}=amountEntry;if(unit==="lovelace")totalLovelace+=BigInt(quantity);else{let current=assetBalances.get(unit)||0n;assetBalances.set(unit,current+BigInt(quantity))}}}let balances=[],{baseDecimal}=import_helpers.getChainConfig(import_helpers.Chain.Cardano);if(totalLovelace>0n)balances.push(import_helpers.AssetValue.from({chain:import_helpers.Chain.Cardano,fromBaseDecimal:baseDecimal,value:totalLovelace.toString()}));for(let[assetId,amount]of assetBalances)balances.push(import_helpers.AssetValue.from({asset:`${import_helpers.Chain.Cardano}.${assetId}`,value:amount.toString()}));if(balances.length===0)return[import_helpers.AssetValue.from({chain:import_helpers.Chain.Cardano})];return balances}catch(error){let errorMessage=error instanceof Error?error.message:String(error);return console.error(`Cardano balance fetch error: ${errorMessage}`),[import_helpers.AssetValue.from({chain:import_helpers.Chain.Cardano})]}}function validateCardanoAddress(address){if(!address||typeof address!=="string")return!1;try{let decoded=import_base.bech32.decode(address,120);return decoded.prefix==="addr"||decoded.prefix==="addr_test"}catch{return!1}}async function createSignerFromMnemonic(phrase,accountIndex=0,addressIndex=0){let seed=await import_bip39.mnemonicToSeed(phrase,""),accountKey=(await import_bip32ed25519.Bip32PrivateKey.fromEntropy(Buffer.from(seed.slice(0,64)))).derive(HARDENED+1852).derive(HARDENED+1815).derive(HARDENED+accountIndex),paymentKey=accountKey.derive(0).derive(addressIndex),paymentPublicKey=paymentKey.toBip32PublicKey().toPublicKey().toBytes(),paymentKeyHash=import_typhonjs.crypto.hash28(paymentPublicKey),stakingPublicKey=accountKey.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),stakingKeyHash=import_typhonjs.crypto.hash28(stakingPublicKey),paymentCredential={hash:paymentKeyHash,type:import_typhonjs.types.HashType.ADDRESS},stakingCredential={hash:stakingKeyHash,type:import_typhonjs.types.HashType.ADDRESS},address=new import_typhonjs.address.BaseAddress(NETWORK_ID,paymentCredential,stakingCredential).getBech32(),paymentPrivateKey=paymentKey.toPrivateKey();return{getAddress:()=>address,publicKey:paymentPublicKey,publicKeyHash:paymentKeyHash,signTransaction:async(tx)=>{try{let cbors=await import("@stricahq/cbors"),txBytes=Buffer.from(tx,"hex"),decoded=cbors.Decoder.decode(txBytes),[body,witnesses,isValid,auxiliaryData]=decoded.value,bodyEncoded=cbors.Encoder.encode(body),txHash=import_typhonjs.crypto.hash32(bodyEncoded),signature=paymentPrivateKey.sign(txHash),witnessMap=witnesses instanceof Map?witnesses:new Map,existingVkeyWitnesses=witnessMap.get(VKEY_WITNESS_TYPE)||[];existingVkeyWitnesses.push([paymentPublicKey,signature]),witnessMap.set(VKEY_WITNESS_TYPE,existingVkeyWitnesses);let signedTx=[body,witnessMap,isValid,auxiliaryData];return cbors.Encoder.encode(signedTx).toString("hex")}catch(error){throw new import_helpers.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(error)})}}}}function getCardanoToolbox(toolboxParams){let cachedSigner,cachedAddress,cachedProtocolParams;async function getProtocolParams(){if(!cachedProtocolParams)cachedProtocolParams=await fetchProtocolParameters();return cachedProtocolParams}async function getSigner(){if(cachedSigner!==void 0)return cachedSigner;if(toolboxParams&&"phrase"in toolboxParams&&toolboxParams.phrase){let index=toolboxParams.index??0;return cachedSigner=await createSignerFromMnemonic(toolboxParams.phrase,0,index),cachedSigner}if(toolboxParams&&"signer"in toolboxParams&&toolboxParams.signer)return cachedSigner=toolboxParams.signer,cachedSigner;return}async function getAddress(){if(cachedAddress)return cachedAddress;let signer=await getSigner();if(!signer)return"";if("getAddress"in signer)return cachedAddress=await signer.getAddress(),cachedAddress;return""}async function getBalance(addressParam){let address=addressParam||await getAddress();if(!address)throw new import_helpers.SwapKitError("core_wallet_connection_not_found");return getCardanoBalance(address)}async function estimateTransactionFee(params){if(params)try{let{tx}=await createTransaction(params),fee=tx.getFee();return import_helpers.AssetValue.from({chain:import_helpers.Chain.Cardano,fromBaseDecimal:6,value:fee.toString()})}catch{}let protocolParams=await getProtocolParams(),estimatedSizeBytes=400,feeLovelace=protocolParams.minFeeB.plus(protocolParams.minFeeA.times(estimatedSizeBytes));return import_helpers.AssetValue.from({chain:import_helpers.Chain.Cardano,fromBaseDecimal:6,value:feeLovelace.toString()})}async function createTransaction({sender="",recipient,assetValue,memo,pureLovelaceOnly=!1}){let senderAddress=sender||await getAddress();if(!senderAddress)throw new import_helpers.SwapKitError("core_wallet_connection_not_found");let[utxos,currentSlot,protocolParams]=await Promise.all([fetchUtxos(senderAddress),fetchLatestSlot(),getProtocolParams()]),sortedUtxos=utxos.filter((utxo)=>pureLovelaceOnly?utxo.amount.every((a)=>a.unit==="lovelace"):utxo.amount.some((a)=>a.unit==="lovelace")).sort((a,b)=>{let aHasTokens=a.amount.some((entry)=>entry.unit!=="lovelace"),bHasTokens=b.amount.some((entry)=>entry.unit!=="lovelace");if(aHasTokens===bHasTokens)return 0;return aHasTokens?1:-1}),senderAddr=import_typhonjs.utils.getAddressFromString(senderAddress),recipientAddr=import_typhonjs.utils.getAddressFromString(recipient),inputs=blockfrostToTyphonInputs(sortedUtxos,senderAddr),lovelaceAmount=new import_bignumber.default(assetValue.getBaseValue("string")),outputs=[{address:recipientAddr,amount:lovelaceAmount,tokens:[]}],auxiliaryData;if(memo){let msgMap=new Map;msgMap.set("msg",[memo]),auxiliaryData={metadata:[{data:msgMap,label:674}]}}let bufferedParams={...protocolParams,minFeeB:protocolParams.minFeeB.plus(protocolParams.minFeeA.times(4))},preparedTx=new import_typhonjs.Transaction({protocolParams:bufferedParams}).paymentTransaction({auxiliaryData,changeAddress:senderAddr,inputs,outputs,ttl:currentSlot+3600}),{payload}=preparedTx.buildTransaction();return{tx:preparedTx,unsignedTx:payload}}async function signTransaction(tx){let signer=await getSigner();if(!signer||!("signTransaction"in signer))throw new import_helpers.SwapKitError("core_wallet_connection_not_found");return signer.signTransaction(tx)}async function transfer({recipient,assetValue,memo}){let signer=await getSigner();if(!signer||!("signTransaction"in signer))throw new import_helpers.SwapKitError("core_wallet_connection_not_found");let{unsignedTx}=await createTransaction({assetValue,memo,recipient,sender:await getAddress()}),signedTxCbor=await signTransaction(unsignedTx);return await submitTransaction(signedTxCbor)}async function signAndBroadcastTransaction(txInput){let signedTxCbor=await signTransaction(txInput);return await submitTransaction(signedTxCbor)}return{createTransaction,estimateTransactionFee,getAddress,getBalance,signAndBroadcastTransaction,signTransaction,transfer,validateAddress:validateCardanoAddress}}var import_base,import_bip39,import_bip32ed25519,import_typhonjs,import_helpers,import_bignumber,BLOCKFROST_API_KEY="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",BLOCKFROST_URL="https://cardano-mainnet.blockfrost.io/api/v0",NETWORK_ID,HARDENED=2147483648,VKEY_WITNESS_TYPE=0;var init_toolbox=__esm(()=>{import_base=require("@scure/base"),import_bip39=require("@scure/bip39"),import_bip32ed25519=require("@stricahq/bip32ed25519"),import_typhonjs=require("@stricahq/typhonjs"),import_helpers=require("@swapkit/helpers"),import_bignumber=__toESM(require("bignumber.js")),NETWORK_ID=import_typhonjs.types.NetworkId.MAINNET});var exports_cardano={};__export(exports_cardano,{validateCardanoAddress:()=>validateCardanoAddress,getCardanoToolbox:()=>getCardanoToolbox});module.exports=__toCommonJS(exports_cardano);var init_cardano=__esm(()=>{init_toolbox()});init_cardano();
1
+ var zG=Object.create;var{getPrototypeOf:XG,defineProperty:w,getOwnPropertyNames:m,getOwnPropertyDescriptor:jG}=Object,c=Object.prototype.hasOwnProperty;function d(G){return this[G]}var qG,UG,WG=(G,J,Q)=>{var z=G!=null&&typeof G==="object";if(z){var W=J?qG??=new WeakMap:UG??=new WeakMap,Y=W.get(G);if(Y)return Y}Q=G!=null?zG(XG(G)):{};let Z=J||!G||!G.__esModule?w(Q,"default",{value:G,enumerable:!0}):Q;for(let M of m(G))if(!c.call(Z,M))w(Z,M,{get:d.bind(G,M),enumerable:!0});if(z)W.set(G,Z);return Z},YG=(G)=>{var J=(l??=new WeakMap).get(G),Q;if(J)return J;if(J=w({},"__esModule",{value:!0}),G&&typeof G==="object"||typeof G==="function"){for(var z of m(G))if(!c.call(J,z))w(J,z,{get:d.bind(G,z),enumerable:!(Q=jG(G,z))||Q.enumerable})}return l.set(G,J),J},l;var MG=(G)=>G;function FG(G,J){this[G]=MG.bind(null,J)}var HG=(G,J)=>{for(var Q in J)w(G,Q,{get:J[Q],enumerable:!0,configurable:!0,set:FG.bind(J,Q)})};var i=(G,J)=>()=>(G&&(J=G(G=0)),J);async function g(G,J){let Q=await fetch(`${e}${G}`,{...J,headers:{project_id:a,...J?.headers}});if(!Q.ok)throw Error(`Blockfrost API error: ${Q.status} ${Q.statusText}`);return Q.json()}async function GG(G){try{return await g(`/addresses/${G}/utxos`)}catch{return[]}}async function DG(){return(await g("/blocks/latest")).slot}async function OG(){let G=await g("/epochs/latest/parameters"),J={PlutusScriptV1:G.cost_models.PlutusV1?Object.values(G.cost_models.PlutusV1):[],PlutusScriptV2:G.cost_models.PlutusV2?Object.values(G.cost_models.PlutusV2):[],PlutusScriptV3:G.cost_models.PlutusV3?Object.values(G.cost_models.PlutusV3):[]};return{collateralPercent:new U.default(G.collateral_percent),languageView:J,lovelacePerUtxoWord:new U.default(0),maxValueSize:Number.parseInt(G.max_val_size,10),minFeeA:new U.default(G.min_fee_a),minFeeB:new U.default(G.min_fee_b),minFeeRefScriptCostPerByte:new U.default(15),priceMem:new U.default(G.price_mem),priceSteps:new U.default(G.price_step),stakeKeyDeposit:new U.default(2000000),utxoCostPerByte:new U.default(G.coins_per_utxo_size)}}async function o(G){let J=await fetch(`${e}/tx/submit`,{body:Buffer.from(G,"hex"),headers:{"Content-Type":"application/cbor",project_id:a},method:"POST"});if(!J.ok){let Q=await J.text();throw Error(`Transaction submission failed: ${Q}`)}return J.json()}function IG(G,J){return G.map((Q)=>{let z=Q.amount.find((Z)=>Z.unit==="lovelace"),W=z?new U.default(z.quantity):new U.default(0),Y=Q.amount.filter((Z)=>Z.unit!=="lovelace").map((Z)=>({amount:new U.default(Z.quantity),assetName:Z.unit.slice(56),policyId:Z.unit.slice(0,56)}));return{address:J,amount:W,index:Q.output_index,tokens:Y,txId:Q.tx_hash}})}async function LG(G){try{let J=await GG(G),Q=0n,z=new Map;for(let Z of J){if(!Z.amount||!Array.isArray(Z.amount))continue;for(let M of Z.amount){let{unit:R,quantity:O}=M;if(R==="lovelace")Q+=BigInt(O);else{let I=z.get(R)||0n;z.set(R,I+BigInt(O))}}}let W=[],{baseDecimal:Y}=$.getChainConfig($.Chain.Cardano);if(Q>0n)W.push($.AssetValue.from({chain:$.Chain.Cardano,fromBaseDecimal:Y,value:Q.toString()}));for(let[Z,M]of z)W.push($.AssetValue.from({asset:`${$.Chain.Cardano}.${Z}`,value:M.toString()}));if(W.length===0)return[$.AssetValue.from({chain:$.Chain.Cardano})];return W}catch(J){let Q=J instanceof Error?J.message:String(J);return console.error(`Cardano balance fetch error: ${Q}`),[$.AssetValue.from({chain:$.Chain.Cardano})]}}function JG(G){if(!G||typeof G!=="string")return!1;try{let J=t.bech32.decode(G,120);return J.prefix==="addr"||J.prefix==="addr_test"}catch{return!1}}async function _G(G,J=0,Q=0){let z=await r.mnemonicToSeed(G,""),Y=(await s.Bip32PrivateKey.fromEntropy(Buffer.from(z.slice(0,64)))).derive(x+1852).derive(x+1815).derive(x+J),Z=Y.derive(0).derive(Q),M=Z.toBip32PublicKey().toPublicKey().toBytes(),R=q.crypto.hash28(M),I=Y.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),K=q.crypto.hash28(I),S={hash:R,type:q.types.HashType.ADDRESS},X={hash:K,type:q.types.HashType.ADDRESS},D=new q.address.BaseAddress(RG,S,X).getBech32(),H=Z.toPrivateKey();return{getAddress:()=>D,publicKey:M,publicKeyHash:R,signTransaction:async(L)=>{try{let F=await import("@stricahq/cbors"),V=Buffer.from(L,"hex"),B=F.Decoder.decode(V),[f,N,C,T]=B.value,A=F.Encoder.encode(f),P=q.crypto.hash32(A),h=H.sign(P),k=N instanceof Map?N:new Map,E=k.get(n)||[];E.push([M,h]),k.set(n,E);let u=[f,k,C,T];return F.Encoder.encode(u).toString("hex")}catch(F){throw new $.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(F)})}}}}function fG(G){let J,Q,z;async function W(){if(!z)z=await OG();return z}async function Y(){if(J!==void 0)return J;if(G&&"phrase"in G&&G.phrase){let X=G.index??0;return J=await _G(G.phrase,0,X),J}if(G&&"signer"in G&&G.signer)return J=G.signer,J;return}async function Z(){if(Q)return Q;let X=await Y();if(!X)return"";if("getAddress"in X)return Q=await X.getAddress(),Q;return""}async function M(X){let j=X||await Z();if(!j)throw new $.SwapKitError("core_wallet_connection_not_found");return LG(j)}async function R(X){if(X)try{let{tx:L}=await O(X),F=L.getFee();return $.AssetValue.from({chain:$.Chain.Cardano,fromBaseDecimal:6,value:F.toString()})}catch{}let j=await W(),D=400,H=j.minFeeB.plus(j.minFeeA.times(D));return $.AssetValue.from({chain:$.Chain.Cardano,fromBaseDecimal:6,value:H.toString()})}async function O({sender:X="",recipient:j,assetValue:D,memo:H,pureLovelaceOnly:L=!1}){let F=X||await Z();if(!F)throw new $.SwapKitError("core_wallet_connection_not_found");let[V,B,f]=await Promise.all([GG(F),DG(),W()]),N=V.filter((_)=>L?_.amount.every((v)=>v.unit==="lovelace"):_.amount.some((v)=>v.unit==="lovelace")).sort((_,v)=>{let p=_.amount.some((b)=>b.unit!=="lovelace"),$G=v.amount.some((b)=>b.unit!=="lovelace");if(p===$G)return 0;return p?1:-1}),C=q.utils.getAddressFromString(F),T=q.utils.getAddressFromString(j),A=IG(N,C),P=new U.default(D.getBaseValue("string")),h=[{address:T,amount:P,tokens:[]}],k;if(H){let _=new Map;_.set("msg",[H]),k={metadata:[{data:_,label:674}]}}let E={...f,minFeeB:f.minFeeB.plus(f.minFeeA.times(4))},y=new q.Transaction({protocolParams:E}).paymentTransaction({auxiliaryData:k,changeAddress:C,inputs:A,outputs:h,ttl:B+3600}),{payload:ZG}=y.buildTransaction();return{tx:y,unsignedTx:ZG}}async function I(X){let j=await Y();if(!j||!("signTransaction"in j))throw new $.SwapKitError("core_wallet_connection_not_found");return j.signTransaction(X)}async function K({recipient:X,assetValue:j,memo:D}){let H=await Y();if(!H||!("signTransaction"in H))throw new $.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:L}=await O({assetValue:j,memo:D,recipient:X,sender:await Z()}),F=await I(L);return await o(F)}async function S(X){let j=await I(X);return await o(j)}return{createTransaction:O,estimateTransactionFee:R,getAddress:Z,getBalance:M,signAndBroadcastTransaction:S,signTransaction:I,transfer:K,validateAddress:JG}}var t,r,s,q,$,U,a="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",e="https://cardano-mainnet.blockfrost.io/api/v0",RG,x=2147483648,n=0;var QG=i(()=>{t=require("@scure/base"),r=require("@scure/bip39"),s=require("@stricahq/bip32ed25519"),q=require("@stricahq/typhonjs"),$=require("@swapkit/helpers"),U=WG(require("bignumber.js")),RG=q.types.NetworkId.MAINNET});var vG={};HG(vG,{validateCardanoAddress:()=>JG,getCardanoToolbox:()=>fG});module.exports=YG(vG);var wG=i(()=>{QG()});wG();
@@ -1 +1 @@
1
- var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames,getOwnPropertyDescriptor:__getOwnPropDesc}=Object,__hasOwnProp=Object.prototype.hasOwnProperty;function __accessProp(key){return this[key]}var __toESMCache_node,__toESMCache_esm,__toESM=(mod,isNodeMode,target)=>{var canCache=mod!=null&&typeof mod==="object";if(canCache){var cache=isNodeMode?__toESMCache_node??=new WeakMap:__toESMCache_esm??=new WeakMap,cached=cache.get(mod);if(cached)return cached}target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:__accessProp.bind(mod,key),enumerable:!0});if(canCache)cache.set(mod,to);return to},__toCommonJS=(from)=>{var entry=(__moduleCache??=new WeakMap).get(from),desc;if(entry)return entry;if(entry=__defProp({},"__esModule",{value:!0}),from&&typeof from==="object"||typeof from==="function"){for(var key of __getOwnPropNames(from))if(!__hasOwnProp.call(entry,key))__defProp(entry,key,{get:__accessProp.bind(from,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return __moduleCache.set(from,entry),entry},__moduleCache;var __returnValue=(v)=>v;function __exportSetter(name,newValue){this[name]=__returnValue.bind(null,newValue)}var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0,configurable:!0,set:__exportSetter.bind(all,name)})};var __esm=(fn,res)=>()=>(fn&&(res=fn(fn=0)),res);function bech32ToBase64(address){return import_base.base64.encode(Uint8Array.from(import_base.bech32.fromWords(import_base.bech32.decode(address).words)))}function base64ToBech32(address,prefix="thor"){return import_base.bech32.encode(prefix,import_base.bech32.toWords(import_base.base64.decode(address)))}function toBase64(data){return import_base.base64.encode(data)}function fromBase64(base64String){if(!base64String.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new import_helpers.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return import_base.base64.decode(base64String)}var import_base,import_helpers;var init_addressFormat=__esm(()=>{import_base=require("@scure/base"),import_helpers=require("@swapkit/helpers")});function getDefaultChainFee(chain){switch(chain){case import_helpers2.Chain.Maya:return{amount:[],gas:"10000000000"};case import_helpers2.Chain.THORChain:return{amount:[],gas:"500000000"};case import_helpers2.Chain.Kujira:return DEFAULT_KUJI_FEE_MAINNET;case import_helpers2.Chain.Noble:return DEFAULT_NOBLE_FEE_MAINNET;default:return DEFAULT_COSMOS_FEE_MAINNET}}async function createStargateClient(url){let imported=await import("@cosmjs/stargate"),StargateClient=imported.StargateClient??imported.default?.StargateClient,defaultRequestHeaders=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return StargateClient.connect({headers:defaultRequestHeaders,url})}async function createSigningStargateClient(url,signer,optionsOrBaseGas={}){let imported=await import("@cosmjs/stargate"),SigningStargateClient=imported.SigningStargateClient??imported.default?.SigningStargateClient,GasPrice=imported.GasPrice??imported.default?.GasPrice,gasPrice=typeof optionsOrBaseGas==="string"?optionsOrBaseGas:"0.0003uatom",options=typeof optionsOrBaseGas==="string"?{}:optionsOrBaseGas;return SigningStargateClient.connectWithSigner(url,signer,{gasPrice:GasPrice.fromString(gasPrice),...options})}async function createOfflineStargateClient(wallet,registry){let imported=await import("@cosmjs/stargate");return(imported.SigningStargateClient??imported.default?.SigningStargateClient).offline(wallet,registry)}async function cosmosCreateTransaction({sender,recipient,assetValue,memo="",feeRate,sequence,accountNumber}){let{chain,chainId}=assetValue,rpcUrl=await import_helpers2.getRPCUrl(chain),accountOnChain=await(await createStargateClient(rpcUrl)).getAccount(sender);if(!accountOnChain)throw new import_helpers2.SwapKitError("toolbox_cosmos_account_not_found",{sender});let gasAsset=import_helpers2.AssetValue.from({chain}),feeAsset=getMsgSendDenom(gasAsset.symbol),defaultFee=getDefaultChainFee(chain),txFee=feeAsset&&feeRate?{amount:[{amount:feeRate.toString(),denom:feeAsset}],gas:defaultFee.gas}:defaultFee,msgSend={amount:[{amount:assetValue.getBaseValue("string"),denom:getMsgSendDenom(assetValue.symbol)}],fromAddress:sender,toAddress:recipient};return{accountNumber:accountNumber??accountOnChain.accountNumber,chainId,fee:txFee,memo,msgs:[{typeUrl:getTransferMsgTypeByChain(chain),value:msgSend}],sequence:sequence??accountOnChain.sequence}}var import_helpers2,USK_KUJIRA_FACTORY_DENOM="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",YUM_KUJIRA_FACTORY_DENOM="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",DEFAULT_COSMOS_FEE_MAINNET,DEFAULT_KUJI_FEE_MAINNET,DEFAULT_NOBLE_FEE_MAINNET,getMsgSendDenom=(symbol,isThorchain=!1)=>{if(isThorchain)return symbol.toLowerCase();switch(symbol){case"uUSK":case"USK":return USK_KUJIRA_FACTORY_DENOM;case"uYUM":case"YUM":return YUM_KUJIRA_FACTORY_DENOM;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return symbol}},getDenomWithChain=({symbol,chain})=>{if(chain===import_helpers2.Chain.Maya)return(symbol.toUpperCase()!=="CACAO"?symbol:`${import_helpers2.Chain.Maya}.${symbol}`).toUpperCase();if(chain===import_helpers2.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(symbol.toUpperCase())?`${import_helpers2.Chain.THORChain}.${symbol}`:symbol).toUpperCase();return getMsgSendDenom(symbol,!1)},getTransferMsgTypeByChain=(chain)=>{switch(chain){case import_helpers2.Chain.Maya:case import_helpers2.Chain.THORChain:return"/types.MsgSend";case import_helpers2.Chain.Cosmos:case import_helpers2.Chain.Kujira:case import_helpers2.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new import_helpers2.SwapKitError("toolbox_cosmos_not_supported",{chain})}},DENOM_MAP,getAssetFromDenom=(denom,amount)=>{let config=DENOM_MAP[denom.toLowerCase()];if(!config)return import_helpers2.AssetValue.from({asset:denom,fromBaseDecimal:8,value:amount});let{chain,asset,decimals}=config,assetOrChain=chain?{chain}:{asset};return import_helpers2.AssetValue.from({...assetOrChain,fromBaseDecimal:decimals,value:amount})};var init_util=__esm(()=>{import_helpers2=require("@swapkit/helpers"),DEFAULT_COSMOS_FEE_MAINNET={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},DEFAULT_KUJI_FEE_MAINNET={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},DEFAULT_NOBLE_FEE_MAINNET={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};DENOM_MAP={atom:{chain:import_helpers2.Chain.Cosmos,decimals:import_helpers2.getChainConfig(import_helpers2.Chain.Cosmos).baseDecimal},cacao:{chain:import_helpers2.Chain.Maya,decimals:10},kuji:{chain:import_helpers2.Chain.Kujira,decimals:import_helpers2.getChainConfig(import_helpers2.Chain.Kujira).baseDecimal},maya:{asset:`${import_helpers2.Chain.Maya}.${import_helpers2.Chain.Maya}`,decimals:4},rune:{chain:import_helpers2.Chain.THORChain,decimals:import_helpers2.getChainConfig(import_helpers2.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:import_helpers2.getChainConfig(import_helpers2.Chain.THORChain).baseDecimal},uatom:{chain:import_helpers2.Chain.Cosmos,decimals:import_helpers2.getChainConfig(import_helpers2.Chain.Cosmos).baseDecimal},ukuji:{chain:import_helpers2.Chain.Kujira,decimals:import_helpers2.getChainConfig(import_helpers2.Chain.Kujira).baseDecimal},usdc:{chain:import_helpers2.Chain.Noble,decimals:import_helpers2.getChainConfig(import_helpers2.Chain.Noble).baseDecimal},uusdc:{chain:import_helpers2.Chain.Noble,decimals:import_helpers2.getChainConfig(import_helpers2.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:import_helpers2.getChainConfig(import_helpers2.Chain.THORChain).baseDecimal},[USK_KUJIRA_FACTORY_DENOM.toLowerCase()]:{asset:`${import_helpers2.Chain.Kujira}.USK`,decimals:import_helpers2.getChainConfig(import_helpers2.Chain.Kujira).baseDecimal}}});var exports_MsgCompiled={};__export(exports_MsgCompiled,{$root:()=>$root});var import_minimal,$Reader,$Writer,$util,$root;var init_MsgCompiled=__esm(()=>{import_minimal=__toESM(require("protobufjs/minimal.js")),$Reader=import_minimal.default.Reader,$Writer=import_minimal.default.Writer,$util=import_minimal.default.util,$root=import_minimal.default.roots.default||(import_minimal.default.roots.default={});$root.common=(()=>{let common={};return common.Asset=(()=>{function Asset(properties){if(properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return Asset.prototype.chain="",Asset.prototype.symbol="",Asset.prototype.ticker="",Asset.prototype.synth=!1,Asset.create=function(properties){return new Asset(properties)},Asset.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.chain!=null&&Object.hasOwnProperty.call(message,"chain"))writer.uint32(10).string(message.chain);if(message.symbol!=null&&Object.hasOwnProperty.call(message,"symbol"))writer.uint32(18).string(message.symbol);if(message.ticker!=null&&Object.hasOwnProperty.call(message,"ticker"))writer.uint32(26).string(message.ticker);if(message.synth!=null&&Object.hasOwnProperty.call(message,"synth"))writer.uint32(32).bool(message.synth);return writer},Asset.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},Asset.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.common.Asset;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.chain=reader.string();break;case 2:message.symbol=reader.string();break;case 3:message.ticker=reader.string();break;case 4:message.synth=reader.bool();break;default:reader.skipType(tag&7);break}}return message},Asset.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},Asset.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.chain!=null&&message.hasOwnProperty("chain")){if(!$util.isString(message.chain))return"chain: string expected"}if(message.symbol!=null&&message.hasOwnProperty("symbol")){if(!$util.isString(message.symbol))return"symbol: string expected"}if(message.ticker!=null&&message.hasOwnProperty("ticker")){if(!$util.isString(message.ticker))return"ticker: string expected"}if(message.synth!=null&&message.hasOwnProperty("synth")){if(typeof message.synth!=="boolean")return"synth: boolean expected"}return null},Asset.fromObject=function(object){if(object instanceof $root.common.Asset)return object;let message=new $root.common.Asset;if(object.chain!=null)message.chain=String(object.chain);if(object.symbol!=null)message.symbol=String(object.symbol);if(object.ticker!=null)message.ticker=String(object.ticker);if(object.synth!=null)message.synth=Boolean(object.synth);return message},Asset.toObject=function(message,options){if(!options)options={};let object={};if(options.defaults)object.chain="",object.symbol="",object.ticker="",object.synth=!1;if(message.chain!=null&&message.hasOwnProperty("chain"))object.chain=message.chain;if(message.symbol!=null&&message.hasOwnProperty("symbol"))object.symbol=message.symbol;if(message.ticker!=null&&message.hasOwnProperty("ticker"))object.ticker=message.ticker;if(message.synth!=null&&message.hasOwnProperty("synth"))object.synth=message.synth;return object},Asset.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},Asset})(),common.Coin=(()=>{function Coin(properties){if(properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return Coin.prototype.asset=null,Coin.prototype.amount="",Coin.prototype.decimals=$util.Long?$util.Long.fromBits(0,0,!1):0,Coin.create=function(properties){return new Coin(properties)},Coin.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.asset!=null&&Object.hasOwnProperty.call(message,"asset"))$root.common.Asset.encode(message.asset,writer.uint32(10).fork()).ldelim();if(message.amount!=null&&Object.hasOwnProperty.call(message,"amount"))writer.uint32(18).string(message.amount);if(message.decimals!=null&&Object.hasOwnProperty.call(message,"decimals"))writer.uint32(24).int64(message.decimals);return writer},Coin.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},Coin.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.common.Coin;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.asset=$root.common.Asset.decode(reader,reader.uint32());break;case 2:message.amount=reader.string();break;case 3:message.decimals=reader.int64();break;default:reader.skipType(tag&7);break}}return message},Coin.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},Coin.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.asset!=null&&message.hasOwnProperty("asset")){let error=$root.common.Asset.verify(message.asset);if(error)return"asset."+error}if(message.amount!=null&&message.hasOwnProperty("amount")){if(!$util.isString(message.amount))return"amount: string expected"}if(message.decimals!=null&&message.hasOwnProperty("decimals")){if(!$util.isInteger(message.decimals)&&!(message.decimals&&$util.isInteger(message.decimals.low)&&$util.isInteger(message.decimals.high)))return"decimals: integer|Long expected"}return null},Coin.fromObject=function(object){if(object instanceof $root.common.Coin)return object;let message=new $root.common.Coin;if(object.asset!=null){if(typeof object.asset!=="object")throw TypeError(".common.Coin.asset: object expected");message.asset=$root.common.Asset.fromObject(object.asset)}if(object.amount!=null)message.amount=String(object.amount);if(object.decimals!=null){if($util.Long)(message.decimals=$util.Long.fromValue(object.decimals)).unsigned=!1;else if(typeof object.decimals==="string")message.decimals=Number.parseInt(object.decimals,10);else if(typeof object.decimals==="number")message.decimals=object.decimals;else if(typeof object.decimals==="object")message.decimals=new $util.LongBits(object.decimals.low>>>0,object.decimals.high>>>0).toNumber()}return message},Coin.toObject=function(message,options){if(!options)options={};let object={};if(options.defaults)if(object.asset=null,object.amount="",$util.Long){let long=new $util.Long(0,0,!1);object.decimals=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.decimals=options.longs===String?"0":0;if(message.asset!=null&&message.hasOwnProperty("asset"))object.asset=$root.common.Asset.toObject(message.asset,options);if(message.amount!=null&&message.hasOwnProperty("amount"))object.amount=message.amount;if(message.decimals!=null&&message.hasOwnProperty("decimals"))if(typeof message.decimals==="number")object.decimals=options.longs===String?String(message.decimals):message.decimals;else object.decimals=options.longs===String?$util.Long.prototype.toString.call(message.decimals):options.longs===Number?new $util.LongBits(message.decimals.low>>>0,message.decimals.high>>>0).toNumber():message.decimals;return object},Coin.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},Coin})(),common.PubKeySet=(()=>{function PubKeySet(properties){if(properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return PubKeySet.prototype.secp256k1="",PubKeySet.prototype.ed25519="",PubKeySet.create=function(properties){return new PubKeySet(properties)},PubKeySet.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.secp256k1!=null&&Object.hasOwnProperty.call(message,"secp256k1"))writer.uint32(10).string(message.secp256k1);if(message.ed25519!=null&&Object.hasOwnProperty.call(message,"ed25519"))writer.uint32(18).string(message.ed25519);return writer},PubKeySet.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},PubKeySet.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.common.PubKeySet;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.secp256k1=reader.string();break;case 2:message.ed25519=reader.string();break;default:reader.skipType(tag&7);break}}return message},PubKeySet.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},PubKeySet.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.secp256k1!=null&&message.hasOwnProperty("secp256k1")){if(!$util.isString(message.secp256k1))return"secp256k1: string expected"}if(message.ed25519!=null&&message.hasOwnProperty("ed25519")){if(!$util.isString(message.ed25519))return"ed25519: string expected"}return null},PubKeySet.fromObject=function(object){if(object instanceof $root.common.PubKeySet)return object;let message=new $root.common.PubKeySet;if(object.secp256k1!=null)message.secp256k1=String(object.secp256k1);if(object.ed25519!=null)message.ed25519=String(object.ed25519);return message},PubKeySet.toObject=function(message,options){if(!options)options={};let object={};if(options.defaults)object.secp256k1="",object.ed25519="";if(message.secp256k1!=null&&message.hasOwnProperty("secp256k1"))object.secp256k1=message.secp256k1;if(message.ed25519!=null&&message.hasOwnProperty("ed25519"))object.ed25519=message.ed25519;return object},PubKeySet.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},PubKeySet})(),common.Tx=(()=>{function Tx(properties){if(this.coins=[],this.gas=[],properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return Tx.prototype.id="",Tx.prototype.chain="",Tx.prototype.fromAddress="",Tx.prototype.toAddress="",Tx.prototype.coins=$util.emptyArray,Tx.prototype.gas=$util.emptyArray,Tx.prototype.memo="",Tx.create=function(properties){return new Tx(properties)},Tx.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.id!=null&&Object.hasOwnProperty.call(message,"id"))writer.uint32(10).string(message.id);if(message.chain!=null&&Object.hasOwnProperty.call(message,"chain"))writer.uint32(18).string(message.chain);if(message.fromAddress!=null&&Object.hasOwnProperty.call(message,"fromAddress"))writer.uint32(26).string(message.fromAddress);if(message.toAddress!=null&&Object.hasOwnProperty.call(message,"toAddress"))writer.uint32(34).string(message.toAddress);if(message.coins?.length)for(let i=0;i<message.coins.length;++i)$root.common.Coin.encode(message.coins[i],writer.uint32(42).fork()).ldelim();if(message.gas?.length)for(let j=0;j<message.gas.length;++j)$root.common.Coin.encode(message.gas[j],writer.uint32(50).fork()).ldelim();if(message.memo!=null&&Object.hasOwnProperty.call(message,"memo"))writer.uint32(58).string(message.memo);return writer},Tx.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},Tx.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.common.Tx;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.id=reader.string();break;case 2:message.chain=reader.string();break;case 3:message.fromAddress=reader.string();break;case 4:message.toAddress=reader.string();break;case 5:if(!message.coins?.length)message.coins=[];message.coins.push($root.common.Coin.decode(reader,reader.uint32()));break;case 6:if(!message.gas?.length)message.gas=[];message.gas.push($root.common.Coin.decode(reader,reader.uint32()));break;case 7:message.memo=reader.string();break;default:reader.skipType(tag&7);break}}return message},Tx.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},Tx.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.id!=null&&message.hasOwnProperty("id")){if(!$util.isString(message.id))return"id: string expected"}if(message.chain!=null&&message.hasOwnProperty("chain")){if(!$util.isString(message.chain))return"chain: string expected"}if(message.fromAddress!=null&&message.hasOwnProperty("fromAddress")){if(!$util.isString(message.fromAddress))return"fromAddress: string expected"}if(message.toAddress!=null&&message.hasOwnProperty("toAddress")){if(!$util.isString(message.toAddress))return"toAddress: string expected"}if(message.coins!=null&&message.hasOwnProperty("coins")){if(!Array.isArray(message.coins))return"coins: array expected";for(let i=0;i<message.coins.length;++i){let error=$root.common.Coin.verify(message.coins[i]);if(error)return"coins."+error}}if(message.gas!=null&&message.hasOwnProperty("gas")){if(!Array.isArray(message.gas))return"gas: array expected";for(let j=0;j<message.gas.length;++j){let error=$root.common.Coin.verify(message.gas[j]);if(error)return"gas."+error}}if(message.memo!=null&&message.hasOwnProperty("memo")){if(!$util.isString(message.memo))return"memo: string expected"}return null},Tx.fromObject=function(object){if(object instanceof $root.common.Tx)return object;let message=new $root.common.Tx;if(object.id!=null)message.id=String(object.id);if(object.chain!=null)message.chain=String(object.chain);if(object.fromAddress!=null)message.fromAddress=String(object.fromAddress);if(object.toAddress!=null)message.toAddress=String(object.toAddress);if(object.coins){if(!Array.isArray(object.coins))throw TypeError(".common.Tx.coins: array expected");message.coins=[];for(let i=0;i<object.coins.length;++i){if(typeof object.coins[i]!=="object")throw TypeError(".common.Tx.coins: object expected");message.coins[i]=$root.common.Coin.fromObject(object.coins[i])}}if(object.gas){if(!Array.isArray(object.gas))throw TypeError(".common.Tx.gas: array expected");message.gas=[];for(let i=0;i<object.gas.length;++i){if(typeof object.gas[i]!=="object")throw TypeError(".common.Tx.gas: object expected");message.gas[i]=$root.common.Coin.fromObject(object.gas[i])}}if(object.memo!=null)message.memo=String(object.memo);return message},Tx.toObject=function(message,options){if(!options)options={};let object={};if(options.arrays||options.defaults)object.coins=[],object.gas=[];if(options.defaults)object.id="",object.chain="",object.fromAddress="",object.toAddress="",object.memo="";if(message.id!=null&&message.hasOwnProperty("id"))object.id=message.id;if(message.chain!=null&&message.hasOwnProperty("chain"))object.chain=message.chain;if(message.fromAddress!=null&&message.hasOwnProperty("fromAddress"))object.fromAddress=message.fromAddress;if(message.toAddress!=null&&message.hasOwnProperty("toAddress"))object.toAddress=message.toAddress;if(message.coins?.length){object.coins=[];for(let j=0;j<message.coins.length;++j)object.coins[j]=$root.common.Coin.toObject(message.coins[j],options)}if(message.gas?.length){object.gas=[];for(let j=0;j<message.gas.length;++j)object.gas[j]=$root.common.Coin.toObject(message.gas[j],options)}if(message.memo!=null&&message.hasOwnProperty("memo"))object.memo=message.memo;return object},Tx.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},Tx})(),common.Fee=(()=>{function Fee(properties){if(this.coins=[],properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return Fee.prototype.coins=$util.emptyArray,Fee.prototype.poolDeduct="",Fee.create=function(properties){return new Fee(properties)},Fee.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.coins?.length)for(let i=0;i<message.coins.length;++i)$root.common.Coin.encode(message.coins[i],writer.uint32(10).fork()).ldelim();if(message.poolDeduct!=null&&Object.hasOwnProperty.call(message,"poolDeduct"))writer.uint32(18).string(message.poolDeduct);return writer},Fee.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},Fee.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.common.Fee;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:if(!message.coins?.length)message.coins=[];message.coins.push($root.common.Coin.decode(reader,reader.uint32()));break;case 2:message.poolDeduct=reader.string();break;default:reader.skipType(tag&7);break}}return message},Fee.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},Fee.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.coins!=null&&message.hasOwnProperty("coins")){if(!Array.isArray(message.coins))return"coins: array expected";for(let i=0;i<message.coins.length;++i){let error=$root.common.Coin.verify(message.coins[i]);if(error)return"coins."+error}}if(message.poolDeduct!=null&&message.hasOwnProperty("poolDeduct")){if(!$util.isString(message.poolDeduct))return"poolDeduct: string expected"}return null},Fee.fromObject=function(object){if(object instanceof $root.common.Fee)return object;let message=new $root.common.Fee;if(object.coins){if(!Array.isArray(object.coins))throw TypeError(".common.Fee.coins: array expected");message.coins=[];for(let i=0;i<object.coins.length;++i){if(typeof object.coins[i]!=="object")throw TypeError(".common.Fee.coins: object expected");message.coins[i]=$root.common.Coin.fromObject(object.coins[i])}}if(object.poolDeduct!=null)message.poolDeduct=String(object.poolDeduct);return message},Fee.toObject=function(message,options){if(!options)options={};let object={};if(options.arrays||options.defaults)object.coins=[];if(options.defaults)object.poolDeduct="";if(message.coins?.length){object.coins=[];for(let j=0;j<message.coins.length;++j)object.coins[j]=$root.common.Coin.toObject(message.coins[j],options)}if(message.poolDeduct!=null&&message.hasOwnProperty("poolDeduct"))object.poolDeduct=message.poolDeduct;return object},Fee.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},Fee})(),common.ProtoUint=(()=>{function ProtoUint(properties){if(properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return ProtoUint.prototype.value="",ProtoUint.create=function(properties){return new ProtoUint(properties)},ProtoUint.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.value!=null&&Object.hasOwnProperty.call(message,"value"))writer.uint32(10).string(message.value);return writer},ProtoUint.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},ProtoUint.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.common.ProtoUint;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.value=reader.string();break;default:reader.skipType(tag&7);break}}return message},ProtoUint.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},ProtoUint.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.value!=null&&message.hasOwnProperty("value")){if(!$util.isString(message.value))return"value: string expected"}return null},ProtoUint.fromObject=function(object){if(object instanceof $root.common.ProtoUint)return object;let message=new $root.common.ProtoUint;if(object.value!=null)message.value=String(object.value);return message},ProtoUint.toObject=function(message,options){if(!options)options={};let object={};if(options.defaults)object.value="";if(message.value!=null&&message.hasOwnProperty("value"))object.value=message.value;return object},ProtoUint.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},ProtoUint})(),common})();$root.types=(()=>{let types={};return types.MsgDeposit=(()=>{function MsgDeposit(properties){if(this.coins=[],properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return MsgDeposit.prototype.coins=$util.emptyArray,MsgDeposit.prototype.memo="",MsgDeposit.prototype.signer=$util.newBuffer([]),MsgDeposit.create=function(properties){return new MsgDeposit(properties)},MsgDeposit.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.coins?.length)for(let i=0;i<message.coins.length;++i)$root.common.Coin.encode(message.coins[i],writer.uint32(10).fork()).ldelim();if(message.memo!=null&&Object.hasOwnProperty.call(message,"memo"))writer.uint32(18).string(message.memo);if(message.signer!=null&&Object.hasOwnProperty.call(message,"signer"))writer.uint32(26).bytes(message.signer);return writer},MsgDeposit.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},MsgDeposit.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.types.MsgDeposit;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:if(!message.coins?.length)message.coins=[];message.coins.push($root.common.Coin.decode(reader,reader.uint32()));break;case 2:message.memo=reader.string();break;case 3:message.signer=reader.bytes();break;default:reader.skipType(tag&7);break}}return message},MsgDeposit.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},MsgDeposit.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.coins!=null&&message.hasOwnProperty("coins")){if(!Array.isArray(message.coins))return"coins: array expected";for(let i=0;i<message.coins.length;++i){let error=$root.common.Coin.verify(message.coins[i]);if(error)return"coins."+error}}if(message.memo!=null&&message.hasOwnProperty("memo")){if(!$util.isString(message.memo))return"memo: string expected"}if(message.signer!=null&&message.hasOwnProperty("signer")){if(!(message.signer&&typeof message.signer.length==="number"||$util.isString(message.signer)))return"signer: buffer expected"}return null},MsgDeposit.fromObject=function(object){if(object instanceof $root.types.MsgDeposit)return object;let message=new $root.types.MsgDeposit;if(object.coins){if(!Array.isArray(object.coins))throw TypeError(".types.MsgDeposit.coins: array expected");message.coins=[];for(let i=0;i<object.coins.length;++i){if(typeof object.coins[i]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");message.coins[i]=$root.common.Coin.fromObject(object.coins[i])}}if(object.memo!=null)message.memo=String(object.memo);if(object.signer!=null){if(typeof object.signer==="string")$util.base64.decode(object.signer,message.signer=$util.newBuffer($util.base64.length(object.signer)),0);else if(object.signer.length)message.signer=object.signer}return message},MsgDeposit.toObject=function(message,options){if(!options)options={};let object={};if(options.arrays||options.defaults)object.coins=[];if(options.defaults){if(object.memo="",options.bytes===String)object.signer="";else if(object.signer=[],options.bytes!==Array)object.signer=$util.newBuffer(object.signer)}if(message.coins?.length){object.coins=[];for(let j=0;j<message.coins.length;++j)object.coins[j]=$root.common.Coin.toObject(message.coins[j],options)}if(message.memo!=null&&message.hasOwnProperty("memo"))object.memo=message.memo;if(message.signer!=null&&message.hasOwnProperty("signer"))object.signer=options.bytes===String?$util.base64.encode(message.signer,0,message.signer.length):options.bytes===Array?Array.prototype.slice.call(message.signer):message.signer;return object},MsgDeposit.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},MsgDeposit})(),types.MsgSend=(()=>{function MsgSend(properties){if(this.amount=[],properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return MsgSend.prototype.fromAddress=$util.newBuffer([]),MsgSend.prototype.toAddress=$util.newBuffer([]),MsgSend.prototype.amount=$util.emptyArray,MsgSend.create=function(properties){return new MsgSend(properties)},MsgSend.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.fromAddress!=null&&Object.hasOwnProperty.call(message,"fromAddress"))writer.uint32(10).bytes(message.fromAddress);if(message.toAddress!=null&&Object.hasOwnProperty.call(message,"toAddress"))writer.uint32(18).bytes(message.toAddress);if(message.amount?.length)for(let i=0;i<message.amount.length;++i)$root.cosmos.base.v1beta1.Coin.encode(message.amount[i],writer.uint32(26).fork()).ldelim();return writer},MsgSend.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},MsgSend.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.types.MsgSend;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.fromAddress=reader.bytes();break;case 2:message.toAddress=reader.bytes();break;case 3:if(!message.amount?.length)message.amount=[];message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader,reader.uint32()));break;default:reader.skipType(tag&7);break}}return message},MsgSend.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},MsgSend.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.fromAddress!=null&&message.hasOwnProperty("fromAddress")){if(!(message.fromAddress&&typeof message.fromAddress.length==="number"||$util.isString(message.fromAddress)))return"fromAddress: buffer expected"}if(message.toAddress!=null&&message.hasOwnProperty("toAddress")){if(!(message.toAddress&&typeof message.toAddress.length==="number"||$util.isString(message.toAddress)))return"toAddress: buffer expected"}if(message.amount!=null&&message.hasOwnProperty("amount")){if(!Array.isArray(message.amount))return"amount: array expected";for(let i=0;i<message.amount.length;++i){let error=$root.cosmos.base.v1beta1.Coin.verify(message.amount[i]);if(error)return"amount."+error}}return null},MsgSend.fromObject=function(object){if(object instanceof $root.types.MsgSend)return object;let message=new $root.types.MsgSend;if(object.fromAddress!=null){if(typeof object.fromAddress==="string")$util.base64.decode(object.fromAddress,message.fromAddress=$util.newBuffer($util.base64.length(object.fromAddress)),0);else if(object.fromAddress.length)message.fromAddress=object.fromAddress}if(object.toAddress!=null){if(typeof object.toAddress==="string")$util.base64.decode(object.toAddress,message.toAddress=$util.newBuffer($util.base64.length(object.toAddress)),0);else if(object.toAddress.length)message.toAddress=object.toAddress}if(object.amount){if(!Array.isArray(object.amount))throw TypeError(".types.MsgSend.amount: array expected");message.amount=[];for(let i=0;i<object.amount.length;++i){if(typeof object.amount[i]!=="object")throw TypeError(".types.MsgSend.amount: object expected");message.amount[i]=$root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i])}}return message},MsgSend.toObject=function(message,options){if(!options)options={};let object={};if(options.arrays||options.defaults)object.amount=[];if(options.defaults){if(options.bytes===String)object.fromAddress="";else if(object.fromAddress=[],options.bytes!==Array)object.fromAddress=$util.newBuffer(object.fromAddress);if(options.bytes===String)object.toAddress="";else if(object.toAddress=[],options.bytes!==Array)object.toAddress=$util.newBuffer(object.toAddress)}if(message.fromAddress!=null&&message.hasOwnProperty("fromAddress"))object.fromAddress=options.bytes===String?$util.base64.encode(message.fromAddress,0,message.fromAddress.length):options.bytes===Array?Array.prototype.slice.call(message.fromAddress):message.fromAddress;if(message.toAddress!=null&&message.hasOwnProperty("toAddress"))object.toAddress=options.bytes===String?$util.base64.encode(message.toAddress,0,message.toAddress.length):options.bytes===Array?Array.prototype.slice.call(message.toAddress):message.toAddress;if(message.amount?.length){object.amount=[];for(let j=0;j<message.amount.length;++j)object.amount[j]=$root.cosmos.base.v1beta1.Coin.toObject(message.amount[j],options)}return object},MsgSend.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},MsgSend})(),types})();$root.cosmos=(()=>{let cosmos={};return cosmos.base=(()=>{let base={};return base.v1beta1=(()=>{let v1beta1={};return v1beta1.Coin=(()=>{function Coin(properties){if(properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return Coin.prototype.denom="",Coin.prototype.amount="",Coin.create=function(properties){return new Coin(properties)},Coin.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.denom!=null&&Object.hasOwnProperty.call(message,"denom"))writer.uint32(10).string(message.denom);if(message.amount!=null&&Object.hasOwnProperty.call(message,"amount"))writer.uint32(18).string(message.amount);return writer},Coin.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},Coin.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.cosmos.base.v1beta1.Coin;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.denom=reader.string();break;case 2:message.amount=reader.string();break;default:reader.skipType(tag&7);break}}return message},Coin.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},Coin.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.denom!=null&&message.hasOwnProperty("denom")){if(!$util.isString(message.denom))return"denom: string expected"}if(message.amount!=null&&message.hasOwnProperty("amount")){if(!$util.isString(message.amount))return"amount: string expected"}return null},Coin.fromObject=function(object){if(object instanceof $root.cosmos.base.v1beta1.Coin)return object;let message=new $root.cosmos.base.v1beta1.Coin;if(object.denom!=null)message.denom=String(object.denom);if(object.amount!=null)message.amount=String(object.amount);return message},Coin.toObject=function(message,options){if(!options)options={};let object={};if(options.defaults)object.denom="",object.amount="";if(message.denom!=null&&message.hasOwnProperty("denom"))object.denom=message.denom;if(message.amount!=null&&message.hasOwnProperty("amount"))object.amount=message.amount;return object},Coin.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},Coin})(),v1beta1.DecCoin=(()=>{function DecCoin(properties){if(properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return DecCoin.prototype.denom="",DecCoin.prototype.amount="",DecCoin.create=function(properties){return new DecCoin(properties)},DecCoin.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.denom!=null&&Object.hasOwnProperty.call(message,"denom"))writer.uint32(10).string(message.denom);if(message.amount!=null&&Object.hasOwnProperty.call(message,"amount"))writer.uint32(18).string(message.amount);return writer},DecCoin.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},DecCoin.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.cosmos.base.v1beta1.DecCoin;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.denom=reader.string();break;case 2:message.amount=reader.string();break;default:reader.skipType(tag&7);break}}return message},DecCoin.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},DecCoin.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.denom!=null&&message.hasOwnProperty("denom")){if(!$util.isString(message.denom))return"denom: string expected"}if(message.amount!=null&&message.hasOwnProperty("amount")){if(!$util.isString(message.amount))return"amount: string expected"}return null},DecCoin.fromObject=function(object){if(object instanceof $root.cosmos.base.v1beta1.DecCoin)return object;let message=new $root.cosmos.base.v1beta1.DecCoin;if(object.denom!=null)message.denom=String(object.denom);if(object.amount!=null)message.amount=String(object.amount);return message},DecCoin.toObject=function(message,options){if(!options)options={};let object={};if(options.defaults)object.denom="",object.amount="";if(message.denom!=null&&message.hasOwnProperty("denom"))object.denom=message.denom;if(message.amount!=null&&message.hasOwnProperty("amount"))object.amount=message.amount;return object},DecCoin.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},DecCoin})(),v1beta1.IntProto=(()=>{function IntProto(properties){if(properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return IntProto.prototype.int="",IntProto.create=function(properties){return new IntProto(properties)},IntProto.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.int!=null&&Object.hasOwnProperty.call(message,"int"))writer.uint32(10).string(message.int);return writer},IntProto.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},IntProto.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.cosmos.base.v1beta1.IntProto;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.int=reader.string();break;default:reader.skipType(tag&7);break}}return message},IntProto.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},IntProto.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.int!=null&&message.hasOwnProperty("int")){if(!$util.isString(message.int))return"int: string expected"}return null},IntProto.fromObject=function(object){if(object instanceof $root.cosmos.base.v1beta1.IntProto)return object;let message=new $root.cosmos.base.v1beta1.IntProto;if(object.int!=null)message.int=String(object.int);return message},IntProto.toObject=function(message,options){if(!options)options={};let object={};if(options.defaults)object.int="";if(message.int!=null&&message.hasOwnProperty("int"))object.int=message.int;return object},IntProto.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},IntProto})(),v1beta1.DecProto=(()=>{function DecProto(properties){if(properties){for(let keys=Object.keys(properties),i=0;i<keys.length;++i)if(properties[keys[i]]!=null)this[keys[i]]=properties[keys[i]]}}return DecProto.prototype.dec="",DecProto.create=function(properties){return new DecProto(properties)},DecProto.encode=function(message,writer){if(!writer)writer=$Writer.create();if(message.dec!=null&&Object.hasOwnProperty.call(message,"dec"))writer.uint32(10).string(message.dec);return writer},DecProto.encodeDelimited=function(message,writer){return this.encode(message,writer).ldelim()},DecProto.decode=function(reader,length){if(!(reader instanceof $Reader))reader=$Reader.create(reader);let end=length===void 0?reader.len:reader.pos+length,message=new $root.cosmos.base.v1beta1.DecProto;while(reader.pos<end){let tag=reader.uint32();switch(tag>>>3){case 1:message.dec=reader.string();break;default:reader.skipType(tag&7);break}}return message},DecProto.decodeDelimited=function(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())},DecProto.verify=function(message){if(typeof message!=="object"||message===null)return"object expected";if(message.dec!=null&&message.hasOwnProperty("dec")){if(!$util.isString(message.dec))return"dec: string expected"}return null},DecProto.fromObject=function(object){if(object instanceof $root.cosmos.base.v1beta1.DecProto)return object;let message=new $root.cosmos.base.v1beta1.DecProto;if(object.dec!=null)message.dec=String(object.dec);return message},DecProto.toObject=function(message,options){if(!options)options={};let object={};if(options.defaults)object.dec="";if(message.dec!=null&&message.hasOwnProperty("dec"))object.dec=message.dec;return object},DecProto.prototype.toJSON=function(){return this.constructor.toObject(this,import_minimal.default.util.toJSONOptions)},DecProto})(),v1beta1})(),base})(),cosmos})()});async function createDefaultRegistry(){let{$root:$root2}=await Promise.resolve().then(() => (init_MsgCompiled(),exports_MsgCompiled)),importedProtoSigning=await import("@cosmjs/proto-signing"),Registry=importedProtoSigning.Registry??importedProtoSigning.default?.Registry,importedStargate=await import("@cosmjs/stargate"),defaultRegistryTypes=importedStargate.defaultRegistryTypes??importedStargate.default?.defaultRegistryTypes;return new Registry([...defaultRegistryTypes,["/types.MsgSend",$root2.types.MsgSend],["/types.MsgDeposit",$root2.types.MsgDeposit]])}async function createDefaultAminoTypes(chain){let imported=await import("@cosmjs/stargate"),AminoTypes=imported.AminoTypes??imported.default?.AminoTypes,aminoTypePrefix=chain===import_helpers3.Chain.THORChain?"thorchain":"mayachain";return new AminoTypes({"/types.MsgDeposit":{aminoType:`${aminoTypePrefix}/MsgDeposit`,fromAmino:({signer,...rest})=>({...rest,signer:bech32ToBase64(signer)}),toAmino:({signer,...rest})=>({...rest,signer:base64ToBech32(signer)})},"/types.MsgSend":{aminoType:`${aminoTypePrefix}/MsgSend`,fromAmino:({from_address,to_address,...rest})=>({...rest,fromAddress:bech32ToBase64(from_address),toAddress:bech32ToBase64(to_address)}),toAmino:({fromAddress,toAddress,...rest})=>({...rest,from_address:base64ToBech32(fromAddress),to_address:base64ToBech32(toAddress)})}})}var import_helpers3;var init_registry=__esm(()=>{init_addressFormat();import_helpers3=require("@swapkit/helpers")});function createTransaction(params){let{assetValue,recipient,memo,sender,asSignable,asAminoMessage}=params;if(recipient)return buildTransferTx({asAminoMessage,asSignable,assetValue,memo,recipient,sender});return buildDepositTx({asAminoMessage,asSignable,assetValue,memo,sender})}async function buildTransferTx({sender,recipient,assetValue,memo="",asSignable=!0,asAminoMessage=!1,sequence,accountNumber}){let chain=assetValue.chain,rpcUrl=await import_helpers4.getRPCUrl(chain),account=await getAccount({rpcUrl,sender}),{chainId}=import_helpers4.getChainConfig(chain),transferMsg=transferMsgAmino({assetValue,recipient,sender}),msg=asSignable?await convertToSignable(asAminoMessage?transferMsg:parseAminoMessageForDirectSigning(transferMsg),chain):transferMsg;return{accountNumber:accountNumber||account.accountNumber,chainId,fee:getDefaultChainFee(chain),memo,msgs:[msg],sequence:sequence||account.sequence}}async function buildDepositTx({sender,assetValue,memo="",asSignable=!0,asAminoMessage=!1,sequence,accountNumber}){let chain=assetValue.chain,rpcUrl=await import_helpers4.getRPCUrl(chain),account=await getAccount({rpcUrl,sender}),{chainId}=import_helpers4.getChainConfig(chain),depositMsg=depositMsgAmino({assetValue,memo,sender}),msg=asSignable?await convertToSignable(asAminoMessage?depositMsg:parseAminoMessageForDirectSigning(depositMsg),chain):depositMsg;return{accountNumber:accountNumber||account.accountNumber,chainId,fee:getDefaultChainFee(chain),memo,msgs:[msg],sequence:sequence||account.sequence}}function parseAminoMessageForDirectSigning(msg){if(msg.type==="thorchain/MsgSend"||msg.type==="mayachain/MsgSend")return msg;return{...msg,value:{...msg.value,coins:msg.value.coins.map((coin)=>{let assetValue=import_helpers4.AssetValue.from({asset:coin.asset}),symbol=(assetValue.isSynthetic?assetValue.symbol.split("/")?.[1]:assetValue.symbol)?.toUpperCase(),chain=(assetValue.isSynthetic?assetValue.symbol.split("/")?.[0]:assetValue.chain)?.toUpperCase();return{...coin,asset:{chain,symbol,synth:assetValue.isSynthetic,ticker:assetValue.ticker}}})}}}async function buildEncodedTxBody({chain,memo,msgs}){let registry=await createDefaultRegistry(),aminoTypes=await createDefaultAminoTypes(chain),signedTxBody={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo,messages:msgs.map((msg)=>aminoTypes.fromAmino(msg))}};return registry.encode(signedTxBody)}var import_helpers4,THORCHAIN_GAS_VALUE,MAYA_GAS_VALUE,transferMsgAmino=({sender,recipient,assetValue})=>{return{type:`${assetValue.chain===import_helpers4.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:assetValue.getBaseValue("string"),denom:getMsgSendDenom(assetValue.symbol,!0)}],from_address:sender,to_address:recipient}}},depositMsgAmino=({sender,assetValue,memo=""})=>{return{type:`${assetValue.chain===import_helpers4.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:assetValue.getBaseValue("string"),asset:getDenomWithChain(assetValue)}],memo,signer:sender}}},buildAminoMsg=({sender,recipient,assetValue,memo})=>{return!recipient?depositMsgAmino({assetValue,memo,sender}):transferMsgAmino({assetValue,recipient,sender})},convertToSignable=async(msg,chain)=>{return(await createDefaultAminoTypes(chain)).fromAmino(msg)},getAccount=async({rpcUrl,sender})=>{let account=await(await createStargateClient(rpcUrl)).getAccount(sender);if(!account)throw new import_helpers4.SwapKitError("toolbox_cosmos_account_not_found",{sender});return account};var init_messages=__esm(()=>{init_util();init_registry();import_helpers4=require("@swapkit/helpers"),THORCHAIN_GAS_VALUE=getDefaultChainFee(import_helpers4.Chain.THORChain).gas,MAYA_GAS_VALUE=getDefaultChainFee(import_helpers4.Chain.Maya).gas});var init_client_types=()=>{};var init_types=__esm(()=>{init_client_types()});var init_thorchainUtils=__esm(()=>{init_addressFormat();init_messages();init_registry();init_types()});async function fetchFeeRateFromSwapKit(chainId,safeDefault){try{let responseGasRate=(await import_api.SwapKitApi.getGasRate()).find((gas)=>gas.chainId===chainId)?.value;return responseGasRate?Number.parseFloat(responseGasRate):safeDefault}catch{return safeDefault}}async function getSignerFromPhrase({phrase,prefix,...derivationParams}){let derivationPath="derivationPath"in derivationParams?derivationParams.derivationPath:`${import_helpers5.DerivationPath[derivationParams.chain]}/${derivationParams.index}`;return await import_proto_signing.DirectSecp256k1HdWallet.fromMnemonic(phrase,{hdPaths:[import_crypto.stringToPath(derivationPath)],prefix})}async function getSignerFromPrivateKey({privateKey,prefix}){let importedProtoSigning=await import("@cosmjs/proto-signing");return(importedProtoSigning.DirectSecp256k1Wallet??importedProtoSigning.default?.DirectSecp256k1Wallet).fromKey(privateKey,prefix)}function verifySignature(getAccount2){return async function({signature,message,address}){let account=await getAccount2(address);if(!account?.pubkey)throw new import_helpers5.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let importedCrypto=await import("@cosmjs/crypto"),Secp256k1Signature=importedCrypto.Secp256k1Signature??importedCrypto.default?.Secp256k1Signature,Secp256k1=importedCrypto.Secp256k1??importedCrypto.default?.Secp256k1,secpSignature=Secp256k1Signature.fromFixedLength(import_base2.base64.decode(signature));return Secp256k1.verifySignature(secpSignature,import_base2.base64.decode(message),account.pubkey.value)}}function createCosmosToolbox({chain,...toolboxParams}){let chainPrefix=import_helpers5.CosmosChainPrefixes[chain],index="index"in toolboxParams?toolboxParams.index||0:0,derivationPath=import_helpers5.derivationPathToString("derivationPath"in toolboxParams&&toolboxParams.derivationPath?toolboxParams.derivationPath:import_helpers5.updateDerivationPath(import_helpers5.NetworkDerivationPath[chain],{index})),cachedSigner;async function getSigner(){if(cachedSigner)return cachedSigner;return cachedSigner=await import_ts_pattern.match(toolboxParams).with({phrase:import_ts_pattern.P.string},({phrase})=>getSignerFromPhrase({derivationPath,phrase,prefix:chainPrefix})).with({signer:import_ts_pattern.P.any},({signer})=>signer).otherwise(()=>{return}),cachedSigner}async function getAccount2(address){let rpcUrl=await import_helpers5.getRPCUrl(chain);return(await createStargateClient(rpcUrl)).getAccount(address)}async function getAddress(){let signer=await getSigner(),[account]=await signer?.getAccounts()||[];return account?.address}async function getPubKey(){let signer=await getSigner(),[account]=await signer?.getAccounts()||[];if(!account?.pubkey)throw new import_helpers5.SwapKitError("toolbox_cosmos_signer_not_defined");return import_base2.base64.encode(account?.pubkey)}async function signTransaction(transaction){let signer=await getSigner(),from=await getAddress(),rpcUrl=await import_helpers5.getRPCUrl(chain);if(!(signer&&from))throw new import_helpers5.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await createSigningStargateClient(rpcUrl,signer)).sign(from,transaction.msgs,transaction.fee,transaction.memo,{accountNumber:transaction.accountNumber,chainId:transaction.chainId,sequence:transaction.sequence})}async function signAndBroadcastTransaction(transaction){let signer=await getSigner(),from=await getAddress(),rpcUrl=await import_helpers5.getRPCUrl(chain);if(!(signer&&from))throw new import_helpers5.SwapKitError("toolbox_cosmos_signer_not_defined");let result=await(await createSigningStargateClient(rpcUrl,signer)).signAndBroadcast(from,transaction.msgs,transaction.fee,transaction.memo);if(result.code!==0)throw new import_helpers5.SwapKitError("core_swap_transaction_error",{code:result.code,message:result.rawLog});return result.transactionHash}async function transfer({recipient,assetValue,memo="",feeRate,feeOptionKey=import_helpers5.FeeOption.Fast}){let signer=await getSigner(),from=await getAddress();if(!(signer&&from))throw new import_helpers5.SwapKitError("toolbox_cosmos_signer_not_defined");let rpcUrl=await import_helpers5.getRPCUrl(chain),feeAssetValue=import_helpers5.AssetValue.from({chain}),assetDenom=getDenomWithChain(feeAssetValue),txFee=feeRate||feeToStdFee((await getFees(chain,SafeDefaultFeeValues[chain]))[feeOptionKey],assetDenom),signingClient=await createSigningStargateClient(rpcUrl,signer),denom=getMsgSendDenom(assetValue.symbol),message=[{amount:assetValue.getBaseValue("string"),denom}],{transactionHash}=await signingClient.sendTokens(from,recipient,message,txFee,memo);return transactionHash}return{createPrivateKeyFromPhrase:createPrivateKeyFromPhrase(derivationPath),createTransaction:cosmosCreateTransaction,fetchFeeRateFromSwapKit,getAccount:getAccount2,getAddress,getBalance:async(address,_potentialScamFilter)=>{let denomBalances=await cosmosBalanceDenomsGetter(chain)(address),balances=await Promise.all(denomBalances.filter(({denom})=>denom&&!denom.includes("IBC/")&&!([import_helpers5.Chain.THORChain,import_helpers5.Chain.Maya].includes(chain)&&denom.split("-").length>2)).map(({denom,amount})=>{let fullDenom=[import_helpers5.Chain.THORChain,import_helpers5.Chain.Maya].includes(chain)&&(denom.includes("/")||denom.includes("˜"))?`${chain}.${denom}`:denom;return getAssetFromDenom(fullDenom,amount)}));if(balances.length===0)return[import_helpers5.AssetValue.from({chain})];return balances},getBalanceAsDenoms:cosmosBalanceDenomsGetter(chain),getFees:()=>getFees(chain,SafeDefaultFeeValues[chain]),getPubKey,getSignerFromPhrase:({phrase,derivationPath:derivationPath2})=>getSignerFromPhrase({derivationPath:import_helpers5.derivationPathToString(derivationPath2),index,phrase,prefix:chainPrefix}),getSignerFromPrivateKey:async(privateKey)=>{let importedSigning=await import("@cosmjs/proto-signing");return(importedSigning.DirectSecp256k1Wallet??importedSigning.default?.DirectSecp256k1Wallet).fromKey(privateKey,chainPrefix)},signAndBroadcastTransaction,signTransaction,transfer,validateAddress:getCosmosAddressValidator(chain),verifySignature:verifySignature(getAccount2)}}async function getFeeRateFromSwapKit(chainId,safeDefault){try{let responseGasRate=(await import_api.SwapKitApi.getGasRate()).find((gas)=>gas.chainId===chainId)?.value;return responseGasRate?Number.parseFloat(responseGasRate):safeDefault}catch{return safeDefault}}function estimateTransactionFee({assetValue:{chain}}){return import_helpers5.AssetValue.from({chain,value:getMinTransactionFee(chain)})}async function getFees(chain,safeDefault){let{chainId,baseDecimal}=import_helpers5.getChainConfig(chain),baseFee=await fetchFeeRateFromSwapKit(chainId,safeDefault);return{average:import_helpers5.SwapKitNumber.fromBigInt(BigInt(baseFee),baseDecimal),fast:import_helpers5.SwapKitNumber.fromBigInt(BigInt(import_helpers5.applyFeeMultiplier(baseFee,import_helpers5.FeeOption.Fast,!0)),baseDecimal),fastest:import_helpers5.SwapKitNumber.fromBigInt(BigInt(import_helpers5.applyFeeMultiplier(baseFee,import_helpers5.FeeOption.Fastest,!0)),baseDecimal)}}function feeToStdFee(fee,denom){return{amount:[{amount:fee.getBaseValue("string"),denom}],gas:"200000"}}function getMinTransactionFee(chain){return{[import_helpers5.Chain.Cosmos]:0.007,[import_helpers5.Chain.Kujira]:0.02,[import_helpers5.Chain.Noble]:0.01,[import_helpers5.Chain.THORChain]:0.02,[import_helpers5.Chain.Maya]:0.02,[import_helpers5.Chain.Harbor]:0.02}[chain]||0}function getCosmosAddressValidator(chain){let chainPrefix=import_helpers5.CosmosChainPrefixes[chain];return function(address){if(!address.startsWith(chainPrefix))return!1;try{let{prefix,words}=import_base2.bech32.decode(address);return import_base2.bech32.encode(prefix,words)===address.toLocaleLowerCase()}catch{return!1}}}function cosmosBalanceDenomsGetter(chain){return async function(address){let rpcUrl=await import_helpers5.getRPCUrl(chain);return(await(await createStargateClient(rpcUrl)).getAllBalances(address)).map((balance)=>({...balance,denom:balance.denom.includes("/")?balance.denom.toUpperCase():balance.denom}))}}function createPrivateKeyFromPhrase(derivationPath){return async function(phrase){let importedCrypto=await import("@cosmjs/crypto"),stringToPath2=importedCrypto.stringToPath??importedCrypto.default?.stringToPath,Slip10Curve=importedCrypto.Slip10Curve??importedCrypto.default?.Slip10Curve,Slip10=importedCrypto.Slip10??importedCrypto.default?.Slip10,EnglishMnemonic=importedCrypto.EnglishMnemonic??importedCrypto.default?.EnglishMnemonic,Bip39=importedCrypto.Bip39??importedCrypto.default?.Bip39,mnemonicChecked=new EnglishMnemonic(phrase),seed=await Bip39.mnemonicToSeed(mnemonicChecked),{privkey}=Slip10.derivePath(Slip10Curve.Secp256k1,seed,stringToPath2(derivationPath));return privkey}}var import_crypto,import_proto_signing,import_base2,import_helpers5,import_api,import_ts_pattern,SafeDefaultFeeValues;var init_cosmos=__esm(()=>{init_util();import_crypto=require("@cosmjs/crypto"),import_proto_signing=require("@cosmjs/proto-signing"),import_base2=require("@scure/base"),import_helpers5=require("@swapkit/helpers"),import_api=require("@swapkit/helpers/api"),import_ts_pattern=require("ts-pattern");SafeDefaultFeeValues={[import_helpers5.Chain.Cosmos]:1000,[import_helpers5.Chain.Kujira]:1000,[import_helpers5.Chain.Noble]:1000,[import_helpers5.Chain.THORChain]:5000000,[import_helpers5.Chain.Maya]:5000000,[import_helpers5.Chain.Harbor]:5000000}});function secp256k1HdWalletFromMnemonic({prefix,derivationPath}){return async function(mnemonic,index=0){let importedAmino=await import("@cosmjs/amino"),Secp256k1HdWallet=importedAmino.Secp256k1HdWallet??importedAmino.default?.Secp256k1HdWallet,importedCrypto=await import("@cosmjs/crypto"),stringToPath2=importedCrypto.stringToPath??importedCrypto.default?.stringToPath;return Secp256k1HdWallet.fromMnemonic(mnemonic,{hdPaths:[stringToPath2(`${derivationPath}/${index}`)],prefix})}}function exportSignature(signature){return import_base3.base64.encode(signature)}function signMultisigTx(chain){return async function({wallet,tx}){let{msgs,accountNumber,sequence,chainId,fee,memo}=typeof tx==="string"?JSON.parse(tx):tx,address=(await wallet.getAccounts())?.[0]?.address||"",aminoTypes=await createDefaultAminoTypes(chain),registry2=await createDefaultRegistry(),signingClient=await createOfflineStargateClient(wallet,{aminoTypes,registry:registry2}),msgForSigning=[];for(let msg of msgs){let signMsg=await convertToSignable(msg,chain);msgForSigning.push(signMsg)}let{signatures:[signature]}=await signingClient.sign(address,msgForSigning,fee,memo,{accountNumber,chainId,sequence});return{bodyBytes:await buildEncodedTxBody({chain,memo,msgs:msgs.map(parseAminoMessageForDirectSigning)}),signature:exportSignature(signature)}}}function broadcastMultisigTx({prefix,chain}){return async function(tx,signers,membersPubKeys,threshold,bodyBytes){let rpcUrl=await import_helpers6.getRPCUrl(chain),{encodeSecp256k1Pubkey,pubkeyToAddress}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes}=(await import("@cosmjs/stargate")).default,{sequence,fee}=JSON.parse(tx),multisigPubkey=await createMultisig(membersPubKeys,threshold),addressesAndSignatures=signers.map((signer)=>[pubkeyToAddress(encodeSecp256k1Pubkey(import_base3.base64.decode(signer.pubKey)),prefix),import_base3.base64.decode(signer.signature)]),broadcaster=await createStargateClient(rpcUrl),{transactionHash}=await broadcaster.broadcastTx(makeMultisignedTxBytes(multisigPubkey,sequence,fee,bodyBytes,new Map(addressesAndSignatures)));return transactionHash}}async function createMultisig(pubKeys,threshold,noSortPubKeys=!0){let{createMultisigThresholdPubkey,encodeSecp256k1Pubkey}=(await import("@cosmjs/amino")).default;return createMultisigThresholdPubkey(pubKeys.map((pubKey)=>encodeSecp256k1Pubkey(import_base3.base64.decode(pubKey))),threshold,noSortPubKeys)}function importSignature(signature){return import_base3.base64.decode(signature)}async function signWithPrivateKey({privateKey,message}){let{Secp256k1}=(await import("@cosmjs/crypto")).default,signature=await Secp256k1.createSignature(import_base3.base64.decode(message),privateKey);return import_base3.base64.encode(Buffer.concat([signature.r(32),signature.s(32)]))}function createThorchainToolbox({chain,...toolboxParams}){let{isStagenet}=import_helpers6.SKConfig.get("envs"),thornodeUrls=import_helpers6.SKConfig.get("thornodeUrls"),isMayachain=chain===import_helpers6.Chain.Maya,nodeUrl=import_ts_pattern2.match({isMayachain,isStagenet}).with({isMayachain:!0},({isStagenet:isStagenet2})=>isStagenet2?thornodeUrls.MAYA_STAGENET:thornodeUrls.MAYA).otherwise(({isStagenet:isStagenet2})=>isStagenet2?thornodeUrls.THOR_STAGENET:thornodeUrls.THOR),chainPrefix=`${isStagenet?"s":""}${import_helpers6.CosmosChainPrefixes[chain]}`,index="index"in toolboxParams?toolboxParams.index||0:0,derivationPath="derivationPath"in toolboxParams&&toolboxParams.derivationPath?toolboxParams.derivationPath:import_helpers6.updateDerivationPath(import_helpers6.NetworkDerivationPath[chain],{index}),cosmosToolbox=createCosmosToolbox({chain,...toolboxParams}),defaultFee=getDefaultChainFee(chain);async function getFees2(){let fee,constantsUrl=`${nodeUrl}/${isMayachain?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:nativeFee}}=await import_helpers6.RequestClient.get(constantsUrl);if(!nativeFee||Number.isNaN(nativeFee)||nativeFee<0)throw new import_helpers6.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:nativeFee.toString()});fee=new import_helpers6.SwapKitNumber(nativeFee)}catch{fee=new import_helpers6.SwapKitNumber({decimal:import_helpers6.getChainConfig(chain).baseDecimal,value:isMayachain?1:0.02})}return{[import_helpers6.FeeOption.Average]:fee,[import_helpers6.FeeOption.Fast]:fee,[import_helpers6.FeeOption.Fastest]:fee}}async function transfer({assetValue,memo="",recipient}){let rpcUrl=await import_helpers6.getRPCUrl(chain),signer=await import_ts_pattern2.match(toolboxParams).with({phrase:import_ts_pattern2.P.string},({phrase})=>cosmosToolbox.getSignerFromPhrase({derivationPath,phrase})).with({signer:import_ts_pattern2.P.any},({signer:signer2})=>signer2).otherwise(()=>{return}),{TxRaw}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),sender=(await signer?.getAccounts())?.[0]?.address;if(!(sender&&signer))throw new import_helpers6.SwapKitError("toolbox_cosmos_no_signer");let isAminoSigner="signAmino"in signer,registry2=await createDefaultRegistry(),aminoTypes=await createDefaultAminoTypes(chain),signingClient=await createSigningStargateClient(rpcUrl,signer,{aminoTypes,registry:registry2}),aminoMessage=buildAminoMsg({assetValue,memo,recipient,sender});if(isAminoSigner){let msgSign2=await convertToSignable(aminoMessage,chain),{signatures,authInfoBytes}=await signingClient.sign(sender,[msgSign2],defaultFee,memo),tx=TxRaw.encode({authInfoBytes,bodyBytes:await buildEncodedTxBody({chain,memo,msgs:[aminoMessage].map(parseAminoMessageForDirectSigning)}),signatures}).finish();return(await signingClient.broadcastTx(tx)).transactionHash}let preparedMessage=parseAminoMessageForDirectSigning(aminoMessage),msgSign=await convertToSignable(preparedMessage,chain);return(await signingClient.signAndBroadcast(sender,[msgSign],defaultFee,memo)).transactionHash}return{...cosmosToolbox,broadcastMultisigTx:broadcastMultisigTx({chain,prefix:chainPrefix}),buildAminoMsg,buildEncodedTxBody,convertToSignable,createDefaultAminoTypes:()=>createDefaultAminoTypes(chain),createDefaultRegistry,createMultisig,createTransaction,deposit:transfer,getFees:getFees2,importSignature,parseAminoMessageForDirectSigning,pubkeyToAddress:async(pubkey)=>{let{pubkeyToAddress}=(await import("@cosmjs/amino")).default;return pubkeyToAddress(pubkey,chainPrefix)},secp256k1HdWalletFromMnemonic:secp256k1HdWalletFromMnemonic({derivationPath:import_helpers6.derivationPathToString(derivationPath),prefix:chainPrefix}),signMultisigTx:signMultisigTx(chain),signWithPrivateKey,transfer}}var import_base3,import_helpers6,import_ts_pattern2;var init_thorchain=__esm(()=>{init_thorchainUtils();init_util();init_cosmos();import_base3=require("@scure/base"),import_helpers6=require("@swapkit/helpers"),import_ts_pattern2=require("ts-pattern")});var import_helpers7,getCosmosToolbox=(chain,params)=>{switch(chain){case import_helpers7.Chain.Cosmos:case import_helpers7.Chain.Kujira:case import_helpers7.Chain.Noble:return createCosmosToolbox({chain,...params});case import_helpers7.Chain.Maya:case import_helpers7.Chain.THORChain:return createThorchainToolbox({chain,...params});default:throw new import_helpers7.SwapKitError("toolbox_cosmos_not_supported",{chain})}};var init_toolbox=__esm(()=>{init_cosmos();init_thorchain();import_helpers7=require("@swapkit/helpers");init_cosmos();init_thorchain()});var exports_cosmos={};__export(exports_cosmos,{verifySignature:()=>verifySignature,transferMsgAmino:()=>transferMsgAmino,toBase64:()=>toBase64,parseAminoMessageForDirectSigning:()=>parseAminoMessageForDirectSigning,getSignerFromPrivateKey:()=>getSignerFromPrivateKey,getSignerFromPhrase:()=>getSignerFromPhrase,getMsgSendDenom:()=>getMsgSendDenom,getFeeRateFromSwapKit:()=>getFeeRateFromSwapKit,getDenomWithChain:()=>getDenomWithChain,getDefaultChainFee:()=>getDefaultChainFee,getCosmosToolbox:()=>getCosmosToolbox,getCosmosAddressValidator:()=>getCosmosAddressValidator,getAssetFromDenom:()=>getAssetFromDenom,fromBase64:()=>fromBase64,fetchFeeRateFromSwapKit:()=>fetchFeeRateFromSwapKit,estimateTransactionFee:()=>estimateTransactionFee,depositMsgAmino:()=>depositMsgAmino,createTransaction:()=>createTransaction,createThorchainToolbox:()=>createThorchainToolbox,createStargateClient:()=>createStargateClient,createSigningStargateClient:()=>createSigningStargateClient,createOfflineStargateClient:()=>createOfflineStargateClient,createDefaultRegistry:()=>createDefaultRegistry,createDefaultAminoTypes:()=>createDefaultAminoTypes,createCosmosToolbox:()=>createCosmosToolbox,cosmosCreateTransaction:()=>cosmosCreateTransaction,convertToSignable:()=>convertToSignable,buildTransferTx:()=>buildTransferTx,buildEncodedTxBody:()=>buildEncodedTxBody,buildDepositTx:()=>buildDepositTx,buildAminoMsg:()=>buildAminoMsg,bech32ToBase64:()=>bech32ToBase64,base64ToBech32:()=>base64ToBech32,YUM_KUJIRA_FACTORY_DENOM:()=>YUM_KUJIRA_FACTORY_DENOM,USK_KUJIRA_FACTORY_DENOM:()=>USK_KUJIRA_FACTORY_DENOM,THORCHAIN_GAS_VALUE:()=>THORCHAIN_GAS_VALUE,MAYA_GAS_VALUE:()=>MAYA_GAS_VALUE,DEFAULT_NOBLE_FEE_MAINNET:()=>DEFAULT_NOBLE_FEE_MAINNET,DEFAULT_KUJI_FEE_MAINNET:()=>DEFAULT_KUJI_FEE_MAINNET,DEFAULT_COSMOS_FEE_MAINNET:()=>DEFAULT_COSMOS_FEE_MAINNET});module.exports=__toCommonJS(exports_cosmos);var init_cosmos2=__esm(()=>{init_thorchainUtils();init_toolbox();init_util()});init_cosmos2();
1
+ var T0=Object.create;var{getPrototypeOf:x0,defineProperty:o,getOwnPropertyNames:Sf,getOwnPropertyDescriptor:B0}=Object,Af=Object.prototype.hasOwnProperty;function Uf(H){return this[H]}var v0,_0,H0=(H,B,_)=>{var f=H!=null&&typeof H==="object";if(f){var x=B?v0??=new WeakMap:_0??=new WeakMap,T=x.get(H);if(T)return T}_=H!=null?T0(x0(H)):{};let v=B||!H||!H.__esModule?o(_,"default",{value:H,enumerable:!0}):_;for(let L of Sf(H))if(!Af.call(v,L))o(v,L,{get:Uf.bind(H,L),enumerable:!0});if(f)x.set(H,v);return v},L0=(H)=>{var B=(Ff??=new WeakMap).get(H),_;if(B)return B;if(B=o({},"__esModule",{value:!0}),H&&typeof H==="object"||typeof H==="function"){for(var f of Sf(H))if(!Af.call(B,f))o(B,f,{get:Uf.bind(H,f),enumerable:!(_=B0(H,f))||_.enumerable})}return Ff.set(H,B),B},Ff;var y0=(H)=>H;function W0(H,B){this[H]=y0.bind(null,B)}var kf=(H,B)=>{for(var _ in B)o(H,_,{get:B[_],enumerable:!0,configurable:!0,set:W0.bind(B,_)})};var k=(H,B)=>()=>(H&&(B=H(H=0)),B);function t(H){return R.base64.encode(Uint8Array.from(R.bech32.fromWords(R.bech32.decode(H).words)))}function m(H,B="thor"){return R.bech32.encode(B,R.bech32.toWords(R.base64.decode(H)))}function z0(H){return R.base64.encode(H)}function G0(H){if(!H.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Cf.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return R.base64.decode(H)}var R,Cf;var Lf=k(()=>{R=require("@scure/base"),Cf=require("@swapkit/helpers")});function D(H){switch(H){case G.Chain.Maya:return{amount:[],gas:"10000000000"};case G.Chain.THORChain:return{amount:[],gas:"500000000"};case G.Chain.Kujira:return Df;case G.Chain.Noble:return Pf;default:return Vf}}async function P(H){let B=await import("@cosmjs/stargate"),_=B.StargateClient??B.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return _.connect({headers:f,url:H})}async function c(H,B,_={}){let f=await import("@cosmjs/stargate"),x=f.SigningStargateClient??f.default?.SigningStargateClient,T=f.GasPrice??f.default?.GasPrice,v=typeof _==="string"?_:"0.0003uatom",L=typeof _==="string"?{}:_;return x.connectWithSigner(H,B,{gasPrice:T.fromString(v),...L})}async function Wf(H,B){let _=await import("@cosmjs/stargate");return(_.SigningStargateClient??_.default?.SigningStargateClient).offline(H,B)}async function zf({sender:H,recipient:B,assetValue:_,memo:f="",feeRate:x,sequence:T,accountNumber:v}){let{chain:L,chainId:X}=_,Y=await G.getRPCUrl(L),O=await(await P(Y)).getAccount(H);if(!O)throw new G.SwapKitError("toolbox_cosmos_account_not_found",{sender:H});let S=G.AssetValue.from({chain:L}),Z=u(S.symbol),I=D(L),J=Z&&x?{amount:[{amount:x.toString(),denom:Z}],gas:I.gas}:I,A={amount:[{amount:_.getBaseValue("string"),denom:u(_.symbol)}],fromAddress:H,toAddress:B};return{accountNumber:v??O.accountNumber,chainId:X,fee:J,memo:f,msgs:[{typeUrl:Z0(L),value:A}],sequence:T??O.sequence}}var G,yf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Rf="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Vf,Df,Pf,u=(H,B=!1)=>{if(B)return H.toLowerCase();switch(H){case"uUSK":case"USK":return yf;case"uYUM":case"YUM":return Rf;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return H}},g=({symbol:H,chain:B})=>{if(B===G.Chain.Maya)return(H.toUpperCase()!=="CACAO"?H:`${G.Chain.Maya}.${H}`).toUpperCase();if(B===G.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(H.toUpperCase())?`${G.Chain.THORChain}.${H}`:H).toUpperCase();return u(H,!1)},Z0=(H)=>{switch(H){case G.Chain.Maya:case G.Chain.THORChain:return"/types.MsgSend";case G.Chain.Cosmos:case G.Chain.Kujira:case G.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new G.SwapKitError("toolbox_cosmos_not_supported",{chain:H})}},Q0,Gf=(H,B)=>{let _=Q0[H.toLowerCase()];if(!_)return G.AssetValue.from({asset:H,fromBaseDecimal:8,value:B});let{chain:f,asset:x,decimals:T}=_,v=f?{chain:f}:{asset:x};return G.AssetValue.from({...v,fromBaseDecimal:T,value:B})};var r=k(()=>{G=require("@swapkit/helpers"),Vf={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Df={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Pf={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};Q0={atom:{chain:G.Chain.Cosmos,decimals:G.getChainConfig(G.Chain.Cosmos).baseDecimal},cacao:{chain:G.Chain.Maya,decimals:10},kuji:{chain:G.Chain.Kujira,decimals:G.getChainConfig(G.Chain.Kujira).baseDecimal},maya:{asset:`${G.Chain.Maya}.${G.Chain.Maya}`,decimals:4},rune:{chain:G.Chain.THORChain,decimals:G.getChainConfig(G.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:G.getChainConfig(G.Chain.THORChain).baseDecimal},uatom:{chain:G.Chain.Cosmos,decimals:G.getChainConfig(G.Chain.Cosmos).baseDecimal},ukuji:{chain:G.Chain.Kujira,decimals:G.getChainConfig(G.Chain.Kujira).baseDecimal},usdc:{chain:G.Chain.Noble,decimals:G.getChainConfig(G.Chain.Noble).baseDecimal},uusdc:{chain:G.Chain.Noble,decimals:G.getChainConfig(G.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:G.getChainConfig(G.Chain.THORChain).baseDecimal},[yf.toLowerCase()]:{asset:`${G.Chain.Kujira}.USK`,decimals:G.getChainConfig(G.Chain.Kujira).baseDecimal}}});var uf={};kf(uf,{$root:()=>y});var K,Q,C,z,y;var Mf=k(()=>{K=H0(require("protobufjs/minimal.js")),Q=K.default.Reader,C=K.default.Writer,z=K.default.util,y=K.default.roots.default||(K.default.roots.default={});y.common=(()=>{let H={};return H.Asset=(()=>{function B(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return B.prototype.chain="",B.prototype.symbol="",B.prototype.ticker="",B.prototype.synth=!1,B.create=function(f){return new B(f)},B.encode=function(f,x){if(!x)x=C.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},B.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},B.decode=function(f,x){if(!(f instanceof Q))f=Q.create(f);let T=x===void 0?f.len:f.pos+x,v=new y.common.Asset;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:v.chain=f.string();break;case 2:v.symbol=f.string();break;case 3:v.ticker=f.string();break;case 4:v.synth=f.bool();break;default:f.skipType(L&7);break}}return v},B.decodeDelimited=function(f){if(!(f instanceof Q))f=new Q(f);return this.decode(f,f.uint32())},B.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!z.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!z.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!z.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},B.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},B.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},B.prototype.toJSON=function(){return this.constructor.toObject(this,K.default.util.toJSONOptions)},B})(),H.Coin=(()=>{function B(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return B.prototype.asset=null,B.prototype.amount="",B.prototype.decimals=z.Long?z.Long.fromBits(0,0,!1):0,B.create=function(f){return new B(f)},B.encode=function(f,x){if(!x)x=C.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},B.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},B.decode=function(f,x){if(!(f instanceof Q))f=Q.create(f);let T=x===void 0?f.len:f.pos+x,v=new y.common.Coin;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:v.asset=y.common.Asset.decode(f,f.uint32());break;case 2:v.amount=f.string();break;case 3:v.decimals=f.int64();break;default:f.skipType(L&7);break}}return v},B.decodeDelimited=function(f){if(!(f instanceof Q))f=new Q(f);return this.decode(f,f.uint32())},B.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(!z.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!z.isInteger(f.decimals)&&!(f.decimals&&z.isInteger(f.decimals.low)&&z.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},B.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(z.Long)(x.decimals=z.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 z.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return x},B.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)if(T.asset=null,T.amount="",z.Long){let v=new z.Long(0,0,!1);T.decimals=x.longs===String?v.toString():x.longs===Number?v.toNumber():v}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?z.Long.prototype.toString.call(f.decimals):x.longs===Number?new z.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return T},B.prototype.toJSON=function(){return this.constructor.toObject(this,K.default.util.toJSONOptions)},B})(),H.PubKeySet=(()=>{function B(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return B.prototype.secp256k1="",B.prototype.ed25519="",B.create=function(f){return new B(f)},B.encode=function(f,x){if(!x)x=C.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},B.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},B.decode=function(f,x){if(!(f instanceof Q))f=Q.create(f);let T=x===void 0?f.len:f.pos+x,v=new y.common.PubKeySet;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:v.secp256k1=f.string();break;case 2:v.ed25519=f.string();break;default:f.skipType(L&7);break}}return v},B.decodeDelimited=function(f){if(!(f instanceof Q))f=new Q(f);return this.decode(f,f.uint32())},B.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!z.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!z.isString(f.ed25519))return"ed25519: string expected"}return null},B.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},B.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},B.prototype.toJSON=function(){return this.constructor.toObject(this,K.default.util.toJSONOptions)},B})(),H.Tx=(()=>{function B(_){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 B.prototype.id="",B.prototype.chain="",B.prototype.fromAddress="",B.prototype.toAddress="",B.prototype.coins=z.emptyArray,B.prototype.gas=z.emptyArray,B.prototype.memo="",B.create=function(f){return new B(f)},B.encode=function(f,x){if(!x)x=C.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},B.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},B.decode=function(f,x){if(!(f instanceof Q))f=Q.create(f);let T=x===void 0?f.len:f.pos+x,v=new y.common.Tx;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:v.id=f.string();break;case 2:v.chain=f.string();break;case 3:v.fromAddress=f.string();break;case 4:v.toAddress=f.string();break;case 5:if(!v.coins?.length)v.coins=[];v.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 6:if(!v.gas?.length)v.gas=[];v.gas.push(y.common.Coin.decode(f,f.uint32()));break;case 7:v.memo=f.string();break;default:f.skipType(L&7);break}}return v},B.decodeDelimited=function(f){if(!(f instanceof Q))f=new Q(f);return this.decode(f,f.uint32())},B.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!z.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!z.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!z.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!z.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(!z.isString(f.memo))return"memo: string expected"}return null},B.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},B.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 v=0;v<f.coins.length;++v)T.coins[v]=y.common.Coin.toObject(f.coins[v],x)}if(f.gas?.length){T.gas=[];for(let v=0;v<f.gas.length;++v)T.gas[v]=y.common.Coin.toObject(f.gas[v],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;return T},B.prototype.toJSON=function(){return this.constructor.toObject(this,K.default.util.toJSONOptions)},B})(),H.Fee=(()=>{function B(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return B.prototype.coins=z.emptyArray,B.prototype.poolDeduct="",B.create=function(f){return new B(f)},B.encode=function(f,x){if(!x)x=C.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},B.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},B.decode=function(f,x){if(!(f instanceof Q))f=Q.create(f);let T=x===void 0?f.len:f.pos+x,v=new y.common.Fee;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!v.coins?.length)v.coins=[];v.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:v.poolDeduct=f.string();break;default:f.skipType(L&7);break}}return v},B.decodeDelimited=function(f){if(!(f instanceof Q))f=new Q(f);return this.decode(f,f.uint32())},B.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(!z.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},B.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},B.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 v=0;v<f.coins.length;++v)T.coins[v]=y.common.Coin.toObject(f.coins[v],x)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))T.poolDeduct=f.poolDeduct;return T},B.prototype.toJSON=function(){return this.constructor.toObject(this,K.default.util.toJSONOptions)},B})(),H.ProtoUint=(()=>{function B(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return B.prototype.value="",B.create=function(f){return new B(f)},B.encode=function(f,x){if(!x)x=C.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))x.uint32(10).string(f.value);return x},B.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},B.decode=function(f,x){if(!(f instanceof Q))f=Q.create(f);let T=x===void 0?f.len:f.pos+x,v=new y.common.ProtoUint;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:v.value=f.string();break;default:f.skipType(L&7);break}}return v},B.decodeDelimited=function(f){if(!(f instanceof Q))f=new Q(f);return this.decode(f,f.uint32())},B.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!z.isString(f.value))return"value: string expected"}return null},B.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},B.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},B.prototype.toJSON=function(){return this.constructor.toObject(this,K.default.util.toJSONOptions)},B})(),H})();y.types=(()=>{let H={};return H.MsgDeposit=(()=>{function B(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return B.prototype.coins=z.emptyArray,B.prototype.memo="",B.prototype.signer=z.newBuffer([]),B.create=function(f){return new B(f)},B.encode=function(f,x){if(!x)x=C.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},B.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},B.decode=function(f,x){if(!(f instanceof Q))f=Q.create(f);let T=x===void 0?f.len:f.pos+x,v=new y.types.MsgDeposit;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!v.coins?.length)v.coins=[];v.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:v.memo=f.string();break;case 3:v.signer=f.bytes();break;default:f.skipType(L&7);break}}return v},B.decodeDelimited=function(f){if(!(f instanceof Q))f=new Q(f);return this.decode(f,f.uint32())},B.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(!z.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||z.isString(f.signer)))return"signer: buffer expected"}return null},B.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")z.base64.decode(f.signer,x.signer=z.newBuffer(z.base64.length(f.signer)),0);else if(f.signer.length)x.signer=f.signer}return x},B.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=z.newBuffer(T.signer)}if(f.coins?.length){T.coins=[];for(let v=0;v<f.coins.length;++v)T.coins[v]=y.common.Coin.toObject(f.coins[v],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))T.signer=x.bytes===String?z.base64.encode(f.signer,0,f.signer.length):x.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return T},B.prototype.toJSON=function(){return this.constructor.toObject(this,K.default.util.toJSONOptions)},B})(),H.MsgSend=(()=>{function B(_){if(this.amount=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return B.prototype.fromAddress=z.newBuffer([]),B.prototype.toAddress=z.newBuffer([]),B.prototype.amount=z.emptyArray,B.create=function(f){return new B(f)},B.encode=function(f,x){if(!x)x=C.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},B.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},B.decode=function(f,x){if(!(f instanceof Q))f=Q.create(f);let T=x===void 0?f.len:f.pos+x,v=new y.types.MsgSend;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:v.fromAddress=f.bytes();break;case 2:v.toAddress=f.bytes();break;case 3:if(!v.amount?.length)v.amount=[];v.amount.push(y.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(L&7);break}}return v},B.decodeDelimited=function(f){if(!(f instanceof Q))f=new Q(f);return this.decode(f,f.uint32())},B.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"||z.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||z.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},B.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")z.base64.decode(f.fromAddress,x.fromAddress=z.newBuffer(z.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)x.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")z.base64.decode(f.toAddress,x.toAddress=z.newBuffer(z.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},B.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=z.newBuffer(T.fromAddress);if(x.bytes===String)T.toAddress="";else if(T.toAddress=[],x.bytes!==Array)T.toAddress=z.newBuffer(T.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=x.bytes===String?z.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?z.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 v=0;v<f.amount.length;++v)T.amount[v]=y.cosmos.base.v1beta1.Coin.toObject(f.amount[v],x)}return T},B.prototype.toJSON=function(){return this.constructor.toObject(this,K.default.util.toJSONOptions)},B})(),H})();y.cosmos=(()=>{let H={};return H.base=(()=>{let B={};return B.v1beta1=(()=>{let _={};return _.Coin=(()=>{function f(x){if(x){for(let T=Object.keys(x),v=0;v<T.length;++v)if(x[T[v]]!=null)this[T[v]]=x[T[v]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,v){if(!v)v=C.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))v.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))v.uint32(18).string(T.amount);return v},f.encodeDelimited=function(T,v){return this.encode(T,v).ldelim()},f.decode=function(T,v){if(!(T instanceof Q))T=Q.create(T);let L=v===void 0?T.len:T.pos+v,X=new y.cosmos.base.v1beta1.Coin;while(T.pos<L){let Y=T.uint32();switch(Y>>>3){case 1:X.denom=T.string();break;case 2:X.amount=T.string();break;default:T.skipType(Y&7);break}}return X},f.decodeDelimited=function(T){if(!(T instanceof Q))T=new Q(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(!z.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!z.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.Coin)return T;let v=new y.cosmos.base.v1beta1.Coin;if(T.denom!=null)v.denom=String(T.denom);if(T.amount!=null)v.amount=String(T.amount);return v},f.toObject=function(T,v){if(!v)v={};let L={};if(v.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),v=0;v<T.length;++v)if(x[T[v]]!=null)this[T[v]]=x[T[v]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,v){if(!v)v=C.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))v.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))v.uint32(18).string(T.amount);return v},f.encodeDelimited=function(T,v){return this.encode(T,v).ldelim()},f.decode=function(T,v){if(!(T instanceof Q))T=Q.create(T);let L=v===void 0?T.len:T.pos+v,X=new y.cosmos.base.v1beta1.DecCoin;while(T.pos<L){let Y=T.uint32();switch(Y>>>3){case 1:X.denom=T.string();break;case 2:X.amount=T.string();break;default:T.skipType(Y&7);break}}return X},f.decodeDelimited=function(T){if(!(T instanceof Q))T=new Q(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(!z.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!z.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecCoin)return T;let v=new y.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)v.denom=String(T.denom);if(T.amount!=null)v.amount=String(T.amount);return v},f.toObject=function(T,v){if(!v)v={};let L={};if(v.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),v=0;v<T.length;++v)if(x[T[v]]!=null)this[T[v]]=x[T[v]]}}return f.prototype.int="",f.create=function(T){return new f(T)},f.encode=function(T,v){if(!v)v=C.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))v.uint32(10).string(T.int);return v},f.encodeDelimited=function(T,v){return this.encode(T,v).ldelim()},f.decode=function(T,v){if(!(T instanceof Q))T=Q.create(T);let L=v===void 0?T.len:T.pos+v,X=new y.cosmos.base.v1beta1.IntProto;while(T.pos<L){let Y=T.uint32();switch(Y>>>3){case 1:X.int=T.string();break;default:T.skipType(Y&7);break}}return X},f.decodeDelimited=function(T){if(!(T instanceof Q))T=new Q(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(!z.isString(T.int))return"int: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.IntProto)return T;let v=new y.cosmos.base.v1beta1.IntProto;if(T.int!=null)v.int=String(T.int);return v},f.toObject=function(T,v){if(!v)v={};let L={};if(v.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),v=0;v<T.length;++v)if(x[T[v]]!=null)this[T[v]]=x[T[v]]}}return f.prototype.dec="",f.create=function(T){return new f(T)},f.encode=function(T,v){if(!v)v=C.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))v.uint32(10).string(T.dec);return v},f.encodeDelimited=function(T,v){return this.encode(T,v).ldelim()},f.decode=function(T,v){if(!(T instanceof Q))T=Q.create(T);let L=v===void 0?T.len:T.pos+v,X=new y.cosmos.base.v1beta1.DecProto;while(T.pos<L){let Y=T.uint32();switch(Y>>>3){case 1:X.dec=T.string();break;default:T.skipType(Y&7);break}}return X},f.decodeDelimited=function(T){if(!(T instanceof Q))T=new Q(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(!z.isString(T.dec))return"dec: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecProto)return T;let v=new y.cosmos.base.v1beta1.DecProto;if(T.dec!=null)v.dec=String(T.dec);return v},f.toObject=function(T,v){if(!v)v={};let L={};if(v.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})(),_})(),B})(),H})()});async function p(){let{$root:H}=await Promise.resolve().then(() => (Mf(),uf)),B=await import("@cosmjs/proto-signing"),_=B.Registry??B.default?.Registry,f=await import("@cosmjs/stargate"),x=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new _([...x,["/types.MsgSend",H.types.MsgSend],["/types.MsgDeposit",H.types.MsgDeposit]])}async function M(H){let B=await import("@cosmjs/stargate"),_=B.AminoTypes??B.default?.AminoTypes,f=H===wf.Chain.THORChain?"thorchain":"mayachain";return new _({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:x,...T})=>({...T,signer:t(x)}),toAmino:({signer:x,...T})=>({...T,signer:m(x)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:x,to_address:T,...v})=>({...v,fromAddress:t(x),toAddress:t(T)}),toAmino:({fromAddress:x,toAddress:T,...v})=>({...v,from_address:m(x),to_address:m(T)})}})}var wf;var Zf=k(()=>{Lf();wf=require("@swapkit/helpers")});function If(H){let{assetValue:B,recipient:_,memo:f,sender:x,asSignable:T,asAminoMessage:v}=H;if(_)return lf({asAminoMessage:v,asSignable:T,assetValue:B,memo:f,recipient:_,sender:x});return nf({asAminoMessage:v,asSignable:T,assetValue:B,memo:f,sender:x})}async function lf({sender:H,recipient:B,assetValue:_,memo:f="",asSignable:x=!0,asAminoMessage:T=!1,sequence:v,accountNumber:L}){let X=_.chain,Y=await U.getRPCUrl(X),F=await hf({rpcUrl:Y,sender:H}),{chainId:O}=U.getChainConfig(X),S=Qf({assetValue:_,recipient:B,sender:H}),Z=x?await w(T?S:h(S),X):S;return{accountNumber:L||F.accountNumber,chainId:O,fee:D(X),memo:f,msgs:[Z],sequence:v||F.sequence}}async function nf({sender:H,assetValue:B,memo:_="",asSignable:f=!0,asAminoMessage:x=!1,sequence:T,accountNumber:v}){let L=B.chain,X=await U.getRPCUrl(L),Y=await hf({rpcUrl:X,sender:H}),{chainId:F}=U.getChainConfig(L),O=Xf({assetValue:B,memo:_,sender:H}),S=f?await w(x?O:h(O),L):O;return{accountNumber:v||Y.accountNumber,chainId:F,fee:D(L),memo:_,msgs:[S],sequence:T||Y.sequence}}function h(H){if(H.type==="thorchain/MsgSend"||H.type==="mayachain/MsgSend")return H;return{...H,value:{...H.value,coins:H.value.coins.map((B)=>{let _=U.AssetValue.from({asset:B.asset}),f=(_.isSynthetic?_.symbol.split("/")?.[1]:_.symbol)?.toUpperCase(),x=(_.isSynthetic?_.symbol.split("/")?.[0]:_.chain)?.toUpperCase();return{...B,asset:{chain:x,symbol:f,synth:_.isSynthetic,ticker:_.ticker}}})}}}async function a({chain:H,memo:B,msgs:_}){let f=await p(),x=await M(H),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:B,messages:_.map((v)=>x.fromAmino(v))}};return f.encode(T)}var U,X0,I0,Qf=({sender:H,recipient:B,assetValue:_})=>{return{type:`${_.chain===U.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:_.getBaseValue("string"),denom:u(_.symbol,!0)}],from_address:H,to_address:B}}},Xf=({sender:H,assetValue:B,memo:_=""})=>{return{type:`${B.chain===U.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:B.getBaseValue("string"),asset:g(B)}],memo:_,signer:H}}},ff=({sender:H,recipient:B,assetValue:_,memo:f})=>{return!B?Xf({assetValue:_,memo:f,sender:H}):Qf({assetValue:_,recipient:B,sender:H})},w=async(H,B)=>{return(await M(B)).fromAmino(H)},hf=async({rpcUrl:H,sender:B})=>{let f=await(await P(H)).getAccount(B);if(!f)throw new U.SwapKitError("toolbox_cosmos_account_not_found",{sender:B});return f};var $f=k(()=>{r();Zf();U=require("@swapkit/helpers"),X0=D(U.Chain.THORChain).gas,I0=D(U.Chain.Maya).gas});var cf=()=>{};var pf=k(()=>{cf()});var Yf=k(()=>{Lf();$f();Zf();pf()});async function Nf(H,B){try{let f=(await Jf.SwapKitApi.getGasRate()).find((x)=>x.chainId===H)?.value;return f?Number.parseFloat(f):B}catch{return B}}async function qf({phrase:H,prefix:B,..._}){let f="derivationPath"in _?_.derivationPath:`${W.DerivationPath[_.chain]}/${_.index}`;return await tf.DirectSecp256k1HdWallet.fromMnemonic(H,{hdPaths:[of.stringToPath(f)],prefix:B})}async function Y0({privateKey:H,prefix:B}){let _=await import("@cosmjs/proto-signing");return(_.DirectSecp256k1Wallet??_.default?.DirectSecp256k1Wallet).fromKey(H,B)}function mf(H){return async function({signature:_,message:f,address:x}){let T=await H(x);if(!T?.pubkey)throw new W.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let v=await import("@cosmjs/crypto"),L=v.Secp256k1Signature??v.default?.Secp256k1Signature,X=v.Secp256k1??v.default?.Secp256k1,Y=L.fromFixedLength(l.base64.decode(_));return X.verifySignature(Y,l.base64.decode(f),T.pubkey.value)}}function e({chain:H,...B}){let _=W.CosmosChainPrefixes[H],f="index"in B?B.index||0:0,x=W.derivationPathToString("derivationPath"in B&&B.derivationPath?B.derivationPath:W.updateDerivationPath(W.NetworkDerivationPath[H],{index:f})),T;async function v(){if(T)return T;return T=await s.match(B).with({phrase:s.P.string},({phrase:Z})=>qf({derivationPath:x,phrase:Z,prefix:_})).with({signer:s.P.any},({signer:Z})=>Z).otherwise(()=>{return}),T}async function L(Z){let I=await W.getRPCUrl(H);return(await P(I)).getAccount(Z)}async function X(){let Z=await v(),[I]=await Z?.getAccounts()||[];return I?.address}async function Y(){let Z=await v(),[I]=await Z?.getAccounts()||[];if(!I?.pubkey)throw new W.SwapKitError("toolbox_cosmos_signer_not_defined");return l.base64.encode(I?.pubkey)}async function F(Z){let I=await v(),J=await X(),A=await W.getRPCUrl(H);if(!(I&&J))throw new W.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await c(A,I)).sign(J,Z.msgs,Z.fee,Z.memo,{accountNumber:Z.accountNumber,chainId:Z.chainId,sequence:Z.sequence})}async function O(Z){let I=await v(),J=await X(),A=await W.getRPCUrl(H);if(!(I&&J))throw new W.SwapKitError("toolbox_cosmos_signer_not_defined");let E=await(await c(A,I)).signAndBroadcast(J,Z.msgs,Z.fee,Z.memo);if(E.code!==0)throw new W.SwapKitError("core_swap_transaction_error",{code:E.code,message:E.rawLog});return E.transactionHash}async function S({recipient:Z,assetValue:I,memo:J="",feeRate:A,feeOptionKey:N=W.FeeOption.Fast}){let E=await v(),V=await X();if(!(E&&V))throw new W.SwapKitError("toolbox_cosmos_signer_not_defined");let xf=await W.getRPCUrl(H),Bf=W.AssetValue.from({chain:H}),vf=g(Bf),b=A||N0((await bf(H,jf[H]))[N],vf),d=await c(xf,E),_f=u(I.symbol),Hf=[{amount:I.getBaseValue("string"),denom:_f}],{transactionHash:Ef}=await d.sendTokens(V,Z,Hf,b,J);return Ef}return{createPrivateKeyFromPhrase:K0(x),createTransaction:zf,fetchFeeRateFromSwapKit:Nf,getAccount:L,getAddress:X,getBalance:async(Z,I)=>{let J=await df(H)(Z),A=await Promise.all(J.filter(({denom:N})=>N&&!N.includes("IBC/")&&!([W.Chain.THORChain,W.Chain.Maya].includes(H)&&N.split("-").length>2)).map(({denom:N,amount:E})=>{let V=[W.Chain.THORChain,W.Chain.Maya].includes(H)&&(N.includes("/")||N.includes("˜"))?`${H}.${N}`:N;return Gf(V,E)}));if(A.length===0)return[W.AssetValue.from({chain:H})];return A},getBalanceAsDenoms:df(H),getFees:()=>bf(H,jf[H]),getPubKey:Y,getSignerFromPhrase:({phrase:Z,derivationPath:I})=>qf({derivationPath:W.derivationPathToString(I),index:f,phrase:Z,prefix:_}),getSignerFromPrivateKey:async(Z)=>{let I=await import("@cosmjs/proto-signing");return(I.DirectSecp256k1Wallet??I.default?.DirectSecp256k1Wallet).fromKey(Z,_)},signAndBroadcastTransaction:O,signTransaction:F,transfer:S,validateAddress:gf(H),verifySignature:mf(L)}}async function q0(H,B){try{let f=(await Jf.SwapKitApi.getGasRate()).find((x)=>x.chainId===H)?.value;return f?Number.parseFloat(f):B}catch{return B}}function J0({assetValue:{chain:H}}){return W.AssetValue.from({chain:H,value:O0(H)})}async function bf(H,B){let{chainId:_,baseDecimal:f}=W.getChainConfig(H),x=await Nf(_,B);return{average:W.SwapKitNumber.fromBigInt(BigInt(x),f),fast:W.SwapKitNumber.fromBigInt(BigInt(W.applyFeeMultiplier(x,W.FeeOption.Fast,!0)),f),fastest:W.SwapKitNumber.fromBigInt(BigInt(W.applyFeeMultiplier(x,W.FeeOption.Fastest,!0)),f)}}function N0(H,B){return{amount:[{amount:H.getBaseValue("string"),denom:B}],gas:"200000"}}function O0(H){return{[W.Chain.Cosmos]:0.007,[W.Chain.Kujira]:0.02,[W.Chain.Noble]:0.01,[W.Chain.THORChain]:0.02,[W.Chain.Maya]:0.02,[W.Chain.Harbor]:0.02}[H]||0}function gf(H){let B=W.CosmosChainPrefixes[H];return function(f){if(!f.startsWith(B))return!1;try{let{prefix:x,words:T}=l.bech32.decode(f);return l.bech32.encode(x,T)===f.toLocaleLowerCase()}catch{return!1}}}function df(H){return async function(_){let f=await W.getRPCUrl(H);return(await(await P(f)).getAllBalances(_)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function K0(H){return async function(_){let f=await import("@cosmjs/crypto"),x=f.stringToPath??f.default?.stringToPath,T=f.Slip10Curve??f.default?.Slip10Curve,v=f.Slip10??f.default?.Slip10,L=f.EnglishMnemonic??f.default?.EnglishMnemonic,X=f.Bip39??f.default?.Bip39,Y=new L(_),F=await X.mnemonicToSeed(Y),{privkey:O}=v.derivePath(T.Secp256k1,F,x(H));return O}}var of,tf,l,W,Jf,s,jf;var Tf=k(()=>{r();of=require("@cosmjs/crypto"),tf=require("@cosmjs/proto-signing"),l=require("@scure/base"),W=require("@swapkit/helpers"),Jf=require("@swapkit/helpers/api"),s=require("ts-pattern");jf={[W.Chain.Cosmos]:1000,[W.Chain.Kujira]:1000,[W.Chain.Noble]:1000,[W.Chain.THORChain]:5000000,[W.Chain.Maya]:5000000,[W.Chain.Harbor]:5000000}});function E0({prefix:H,derivationPath:B}){return async function(f,x=0){let T=await import("@cosmjs/amino"),v=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,L=await import("@cosmjs/crypto"),X=L.stringToPath??L.default?.stringToPath;return v.fromMnemonic(f,{hdPaths:[X(`${B}/${x}`)],prefix:H})}}function F0(H){return n.base64.encode(H)}function S0(H){return async function({wallet:_,tx:f}){let{msgs:x,accountNumber:T,sequence:v,chainId:L,fee:X,memo:Y}=typeof f==="string"?JSON.parse(f):f,F=(await _.getAccounts())?.[0]?.address||"",O=await M(H),S=await p(),Z=await Wf(_,{aminoTypes:O,registry:S}),I=[];for(let N of x){let E=await w(N,H);I.push(E)}let{signatures:[J]}=await Z.sign(F,I,X,Y,{accountNumber:T,chainId:L,sequence:v});return{bodyBytes:await a({chain:H,memo:Y,msgs:x.map(h)}),signature:F0(J)}}}function A0({prefix:H,chain:B}){return async function(f,x,T,v,L){let X=await q.getRPCUrl(B),{encodeSecp256k1Pubkey:Y,pubkeyToAddress:F}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:O}=(await import("@cosmjs/stargate")).default,{sequence:S,fee:Z}=JSON.parse(f),I=await rf(T,v),J=x.map((E)=>[F(Y(n.base64.decode(E.pubKey)),H),n.base64.decode(E.signature)]),A=await P(X),{transactionHash:N}=await A.broadcastTx(O(I,S,Z,L,new Map(J)));return N}}async function rf(H,B,_=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return f(H.map((T)=>x(n.base64.decode(T))),B,_)}function U0(H){return n.base64.decode(H)}async function k0({privateKey:H,message:B}){let{Secp256k1:_}=(await import("@cosmjs/crypto")).default,f=await _.createSignature(n.base64.decode(B),H);return n.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function Of({chain:H,...B}){let{isStagenet:_}=q.SKConfig.get("envs"),f=q.SKConfig.get("thornodeUrls"),x=H===q.Chain.Maya,T=j.match({isMayachain:x,isStagenet:_}).with({isMayachain:!0},({isStagenet:Z})=>Z?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:Z})=>Z?f.THOR_STAGENET:f.THOR),v=`${_?"s":""}${q.CosmosChainPrefixes[H]}`,L="index"in B?B.index||0:0,X="derivationPath"in B&&B.derivationPath?B.derivationPath:q.updateDerivationPath(q.NetworkDerivationPath[H],{index:L}),Y=e({chain:H,...B}),F=D(H);async function O(){let Z,I=`${T}/${x?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:J}}=await q.RequestClient.get(I);if(!J||Number.isNaN(J)||J<0)throw new q.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:J.toString()});Z=new q.SwapKitNumber(J)}catch{Z=new q.SwapKitNumber({decimal:q.getChainConfig(H).baseDecimal,value:x?1:0.02})}return{[q.FeeOption.Average]:Z,[q.FeeOption.Fast]:Z,[q.FeeOption.Fastest]:Z}}async function S({assetValue:Z,memo:I="",recipient:J}){let A=await q.getRPCUrl(H),N=await j.match(B).with({phrase:j.P.string},({phrase:i})=>Y.getSignerFromPhrase({derivationPath:X,phrase:i})).with({signer:j.P.any},({signer:i})=>i).otherwise(()=>{return}),{TxRaw:E}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),V=(await N?.getAccounts())?.[0]?.address;if(!(V&&N))throw new q.SwapKitError("toolbox_cosmos_no_signer");let xf="signAmino"in N,Bf=await p(),vf=await M(H),b=await c(A,N,{aminoTypes:vf,registry:Bf}),d=ff({assetValue:Z,memo:I,recipient:J,sender:V});if(xf){let i=await w(d,H),{signatures:sf,authInfoBytes:ef}=await b.sign(V,[i],F,I),f0=E.encode({authInfoBytes:ef,bodyBytes:await a({chain:H,memo:I,msgs:[d].map(h)}),signatures:sf}).finish();return(await b.broadcastTx(f0)).transactionHash}let _f=h(d),Hf=await w(_f,H);return(await b.signAndBroadcast(V,[Hf],F,I)).transactionHash}return{...Y,broadcastMultisigTx:A0({chain:H,prefix:v}),buildAminoMsg:ff,buildEncodedTxBody:a,convertToSignable:w,createDefaultAminoTypes:()=>M(H),createDefaultRegistry:p,createMultisig:rf,createTransaction:If,deposit:S,getFees:O,importSignature:U0,parseAminoMessageForDirectSigning:h,pubkeyToAddress:async(Z)=>{let{pubkeyToAddress:I}=(await import("@cosmjs/amino")).default;return I(Z,v)},secp256k1HdWalletFromMnemonic:E0({derivationPath:q.derivationPathToString(X),prefix:v}),signMultisigTx:S0(H),signWithPrivateKey:k0,transfer:S}}var n,q,j;var Kf=k(()=>{Yf();r();Tf();n=require("@scure/base"),q=require("@swapkit/helpers"),j=require("ts-pattern")});var $,C0=(H,B)=>{switch(H){case $.Chain.Cosmos:case $.Chain.Kujira:case $.Chain.Noble:return e({chain:H,...B});case $.Chain.Maya:case $.Chain.THORChain:return Of({chain:H,...B});default:throw new $.SwapKitError("toolbox_cosmos_not_supported",{chain:H})}};var af=k(()=>{Tf();Kf();$=require("@swapkit/helpers");Tf();Kf()});var V0={};kf(V0,{verifySignature:()=>mf,transferMsgAmino:()=>Qf,toBase64:()=>z0,parseAminoMessageForDirectSigning:()=>h,getSignerFromPrivateKey:()=>Y0,getSignerFromPhrase:()=>qf,getMsgSendDenom:()=>u,getFeeRateFromSwapKit:()=>q0,getDenomWithChain:()=>g,getDefaultChainFee:()=>D,getCosmosToolbox:()=>C0,getCosmosAddressValidator:()=>gf,getAssetFromDenom:()=>Gf,fromBase64:()=>G0,fetchFeeRateFromSwapKit:()=>Nf,estimateTransactionFee:()=>J0,depositMsgAmino:()=>Xf,createTransaction:()=>If,createThorchainToolbox:()=>Of,createStargateClient:()=>P,createSigningStargateClient:()=>c,createOfflineStargateClient:()=>Wf,createDefaultRegistry:()=>p,createDefaultAminoTypes:()=>M,createCosmosToolbox:()=>e,cosmosCreateTransaction:()=>zf,convertToSignable:()=>w,buildTransferTx:()=>lf,buildEncodedTxBody:()=>a,buildDepositTx:()=>nf,buildAminoMsg:()=>ff,bech32ToBase64:()=>t,base64ToBech32:()=>m,YUM_KUJIRA_FACTORY_DENOM:()=>Rf,USK_KUJIRA_FACTORY_DENOM:()=>yf,THORCHAIN_GAS_VALUE:()=>X0,MAYA_GAS_VALUE:()=>I0,DEFAULT_NOBLE_FEE_MAINNET:()=>Pf,DEFAULT_KUJI_FEE_MAINNET:()=>Df,DEFAULT_COSMOS_FEE_MAINNET:()=>Vf});module.exports=L0(V0);var D0=k(()=>{Yf();af();r()});D0();