@swapkit/toolboxes 4.3.8 → 4.3.10

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,4 +1,4 @@
1
- var e6=Object.create;var{getPrototypeOf:L4,defineProperty:r,getOwnPropertyNames:F6,getOwnPropertyDescriptor:z4}=Object,f6=Object.prototype.hasOwnProperty;var K=(Y,H,X)=>{X=Y!=null?e6(L4(Y)):{};let L=H||!Y||!Y.__esModule?r(X,"default",{value:Y,enumerable:!0}):X;for(let Z of F6(Y))if(!f6.call(L,Z))r(L,Z,{get:()=>Y[Z],enumerable:!0});return L},M6=new WeakMap,Z4=(Y)=>{var H=M6.get(Y),X;if(H)return H;if(H=r({},"__esModule",{value:!0}),Y&&typeof Y==="object"||typeof Y==="function")F6(Y).map((L)=>!f6.call(H,L)&&r(H,L,{get:()=>Y[L],enumerable:!(X=z4(Y,L))||X.enumerable}));return M6.set(Y,H),H};var y6=(Y,H)=>{for(var X in H)r(Y,X,{get:H[X],enumerable:!0,configurable:!0,set:(L)=>H[X]=()=>L})};var F=(Y,H)=>()=>(Y&&(H=Y(Y=0)),H);function a(Y){return C.base64.encode(Uint8Array.from(C.bech32.fromWords(C.bech32.decode(Y).words)))}function s(Y,H="thor"){return C.bech32.encode(H,C.bech32.toWords(C.base64.decode(Y)))}function H4(Y){return Q6.fromByteArray(Y)}function Q4(Y){if(!Y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new D6.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Q6.toByteArray(Y)}var C,D6,Q6;var q6=F(()=>{C=require("@scure/base"),D6=require("@swapkit/helpers"),Q6=require("base64-js")});function S(Y){switch(Y){case B.Chain.Maya:return{amount:[],gas:"10000000000"};case B.Chain.THORChain:return{amount:[],gas:"500000000"};case B.Chain.Kujira:return C6;case B.Chain.Noble:return w6;default:return P6}}async function P(Y){let H=await import("@cosmjs/stargate"),X=H.StargateClient??H.default?.StargateClient,L=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return X.connect({headers:L,url:Y})}async function n(Y,H,X={}){let L=await import("@cosmjs/stargate"),Z=L.SigningStargateClient??L.default?.SigningStargateClient,z=L.GasPrice??L.default?.GasPrice,Q=typeof X==="string"?X:"0.0003uatom",J=typeof X==="string"?{}:X;return Z.connectWithSigner(Y,H,{gasPrice:z.fromString(Q),...J})}async function B6(Y,H){let X=await import("@cosmjs/stargate");return(X.SigningStargateClient??X.default?.SigningStargateClient).offline(Y,H)}async function G6({sender:Y,recipient:H,assetValue:X,memo:L="",feeRate:Z,sequence:z,accountNumber:Q}){let{chain:J,chainId:_}=X,E=await B.getRPCUrl(J),k=await(await P(E)).getAccount(Y);if(!k)throw new B.SwapKitError("toolbox_cosmos_account_not_found",{sender:Y});let I=B.AssetValue.from({chain:J}),x=D(I.symbol),N=S(J),v=x&&Z?{amount:[{amount:Z.toString(),denom:x}],gas:N.gas}:N,U={amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol)}],fromAddress:Y,toAddress:H};return{accountNumber:Q??k.accountNumber,chainId:_,fee:v,memo:L,msgs:[{typeUrl:X4(J),value:U}],sequence:z??k.sequence}}var B,W6="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",S6="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",P6,C6,w6,D=(Y,H=!1)=>{if(H)return Y.toLowerCase();switch(Y){case"uUSK":case"USK":return W6;case"uYUM":case"YUM":return S6;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return Y}},d=({symbol:Y,chain:H})=>{if(H===B.Chain.Maya)return(Y.toUpperCase()!=="CACAO"?Y:`${B.Chain.Maya}.${Y}`).toUpperCase();if(H===B.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(Y.toUpperCase())?`${B.Chain.THORChain}.${Y}`:Y).toUpperCase();return D(Y,!1)},X4=(Y)=>{switch(Y){case B.Chain.Maya:case B.Chain.THORChain:return"/types.MsgSend";case B.Chain.Cosmos:case B.Chain.Kujira:case B.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new B.SwapKitError("toolbox_cosmos_not_supported",{chain:Y})}},Y4,T6=(Y,H)=>{let X=Y4[Y.toLowerCase()];if(!X)return B.AssetValue.from({asset:Y,fromBaseDecimal:8,value:H});let{chain:L,asset:Z,decimals:z}=X,Q=L?{chain:L}:{asset:Z};return B.AssetValue.from({...Q,fromBaseDecimal:z,value:H})};var e=F(()=>{B=require("@swapkit/helpers"),P6={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},C6={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},w6={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};Y4={atom:{chain:B.Chain.Cosmos,decimals:B.getChainConfig(B.Chain.Cosmos).baseDecimal},cacao:{chain:B.Chain.Maya,decimals:10},kuji:{chain:B.Chain.Kujira,decimals:B.getChainConfig(B.Chain.Kujira).baseDecimal},maya:{asset:`${B.Chain.Maya}.${B.Chain.Maya}`,decimals:4},rune:{chain:B.Chain.THORChain,decimals:B.getChainConfig(B.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:B.getChainConfig(B.Chain.THORChain).baseDecimal},uatom:{chain:B.Chain.Cosmos,decimals:B.getChainConfig(B.Chain.Cosmos).baseDecimal},ukuji:{chain:B.Chain.Kujira,decimals:B.getChainConfig(B.Chain.Kujira).baseDecimal},usdc:{chain:B.Chain.Noble,decimals:B.getChainConfig(B.Chain.Noble).baseDecimal},uusdc:{chain:B.Chain.Noble,decimals:B.getChainConfig(B.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:B.getChainConfig(B.Chain.THORChain).baseDecimal},[W6.toLowerCase()]:{asset:`${B.Chain.Kujira}.USK`,decimals:B.getChainConfig(B.Chain.Kujira).baseDecimal}}});var $6={};y6($6,{$root:()=>q});var R,T,f,W,q;var u6=F(()=>{R=K(require("protobufjs/minimal.js")),T=R.default.Reader,f=R.default.Writer,W=R.default.util,q=R.default.roots.default||(R.default.roots.default={});q.common=(()=>{let Y={};return Y.Asset=(()=>{function H(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.chain="",H.prototype.symbol="",H.prototype.ticker="",H.prototype.synth=!1,H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.chain!=null&&Object.hasOwnProperty.call(L,"chain"))Z.uint32(10).string(L.chain);if(L.symbol!=null&&Object.hasOwnProperty.call(L,"symbol"))Z.uint32(18).string(L.symbol);if(L.ticker!=null&&Object.hasOwnProperty.call(L,"ticker"))Z.uint32(26).string(L.ticker);if(L.synth!=null&&Object.hasOwnProperty.call(L,"synth"))Z.uint32(32).bool(L.synth);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.Asset;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.chain=L.string();break;case 2:Q.symbol=L.string();break;case 3:Q.ticker=L.string();break;case 4:Q.synth=L.bool();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.chain!=null&&L.hasOwnProperty("chain")){if(!W.isString(L.chain))return"chain: string expected"}if(L.symbol!=null&&L.hasOwnProperty("symbol")){if(!W.isString(L.symbol))return"symbol: string expected"}if(L.ticker!=null&&L.hasOwnProperty("ticker")){if(!W.isString(L.ticker))return"ticker: string expected"}if(L.synth!=null&&L.hasOwnProperty("synth")){if(typeof L.synth!=="boolean")return"synth: boolean expected"}return null},H.fromObject=function(L){if(L instanceof q.common.Asset)return L;let Z=new q.common.Asset;if(L.chain!=null)Z.chain=String(L.chain);if(L.symbol!=null)Z.symbol=String(L.symbol);if(L.ticker!=null)Z.ticker=String(L.ticker);if(L.synth!=null)Z.synth=Boolean(L.synth);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.defaults)z.chain="",z.symbol="",z.ticker="",z.synth=!1;if(L.chain!=null&&L.hasOwnProperty("chain"))z.chain=L.chain;if(L.symbol!=null&&L.hasOwnProperty("symbol"))z.symbol=L.symbol;if(L.ticker!=null&&L.hasOwnProperty("ticker"))z.ticker=L.ticker;if(L.synth!=null&&L.hasOwnProperty("synth"))z.synth=L.synth;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.Coin=(()=>{function H(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.asset=null,H.prototype.amount="",H.prototype.decimals=W.Long?W.Long.fromBits(0,0,!1):0,H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.asset!=null&&Object.hasOwnProperty.call(L,"asset"))q.common.Asset.encode(L.asset,Z.uint32(10).fork()).ldelim();if(L.amount!=null&&Object.hasOwnProperty.call(L,"amount"))Z.uint32(18).string(L.amount);if(L.decimals!=null&&Object.hasOwnProperty.call(L,"decimals"))Z.uint32(24).int64(L.decimals);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.Coin;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.asset=q.common.Asset.decode(L,L.uint32());break;case 2:Q.amount=L.string();break;case 3:Q.decimals=L.int64();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.asset!=null&&L.hasOwnProperty("asset")){let Z=q.common.Asset.verify(L.asset);if(Z)return"asset."+Z}if(L.amount!=null&&L.hasOwnProperty("amount")){if(!W.isString(L.amount))return"amount: string expected"}if(L.decimals!=null&&L.hasOwnProperty("decimals")){if(!W.isInteger(L.decimals)&&!(L.decimals&&W.isInteger(L.decimals.low)&&W.isInteger(L.decimals.high)))return"decimals: integer|Long expected"}return null},H.fromObject=function(L){if(L instanceof q.common.Coin)return L;let Z=new q.common.Coin;if(L.asset!=null){if(typeof L.asset!=="object")throw TypeError(".common.Coin.asset: object expected");Z.asset=q.common.Asset.fromObject(L.asset)}if(L.amount!=null)Z.amount=String(L.amount);if(L.decimals!=null){if(W.Long)(Z.decimals=W.Long.fromValue(L.decimals)).unsigned=!1;else if(typeof L.decimals==="string")Z.decimals=Number.parseInt(L.decimals,10);else if(typeof L.decimals==="number")Z.decimals=L.decimals;else if(typeof L.decimals==="object")Z.decimals=new W.LongBits(L.decimals.low>>>0,L.decimals.high>>>0).toNumber()}return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.defaults)if(z.asset=null,z.amount="",W.Long){let Q=new W.Long(0,0,!1);z.decimals=Z.longs===String?Q.toString():Z.longs===Number?Q.toNumber():Q}else z.decimals=Z.longs===String?"0":0;if(L.asset!=null&&L.hasOwnProperty("asset"))z.asset=q.common.Asset.toObject(L.asset,Z);if(L.amount!=null&&L.hasOwnProperty("amount"))z.amount=L.amount;if(L.decimals!=null&&L.hasOwnProperty("decimals"))if(typeof L.decimals==="number")z.decimals=Z.longs===String?String(L.decimals):L.decimals;else z.decimals=Z.longs===String?W.Long.prototype.toString.call(L.decimals):Z.longs===Number?new W.LongBits(L.decimals.low>>>0,L.decimals.high>>>0).toNumber():L.decimals;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.PubKeySet=(()=>{function H(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.secp256k1="",H.prototype.ed25519="",H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.secp256k1!=null&&Object.hasOwnProperty.call(L,"secp256k1"))Z.uint32(10).string(L.secp256k1);if(L.ed25519!=null&&Object.hasOwnProperty.call(L,"ed25519"))Z.uint32(18).string(L.ed25519);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.PubKeySet;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.secp256k1=L.string();break;case 2:Q.ed25519=L.string();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.secp256k1!=null&&L.hasOwnProperty("secp256k1")){if(!W.isString(L.secp256k1))return"secp256k1: string expected"}if(L.ed25519!=null&&L.hasOwnProperty("ed25519")){if(!W.isString(L.ed25519))return"ed25519: string expected"}return null},H.fromObject=function(L){if(L instanceof q.common.PubKeySet)return L;let Z=new q.common.PubKeySet;if(L.secp256k1!=null)Z.secp256k1=String(L.secp256k1);if(L.ed25519!=null)Z.ed25519=String(L.ed25519);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.defaults)z.secp256k1="",z.ed25519="";if(L.secp256k1!=null&&L.hasOwnProperty("secp256k1"))z.secp256k1=L.secp256k1;if(L.ed25519!=null&&L.hasOwnProperty("ed25519"))z.ed25519=L.ed25519;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.Tx=(()=>{function H(X){if(this.coins=[],this.gas=[],X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.id="",H.prototype.chain="",H.prototype.fromAddress="",H.prototype.toAddress="",H.prototype.coins=W.emptyArray,H.prototype.gas=W.emptyArray,H.prototype.memo="",H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.id!=null&&Object.hasOwnProperty.call(L,"id"))Z.uint32(10).string(L.id);if(L.chain!=null&&Object.hasOwnProperty.call(L,"chain"))Z.uint32(18).string(L.chain);if(L.fromAddress!=null&&Object.hasOwnProperty.call(L,"fromAddress"))Z.uint32(26).string(L.fromAddress);if(L.toAddress!=null&&Object.hasOwnProperty.call(L,"toAddress"))Z.uint32(34).string(L.toAddress);if(L.coins?.length)for(let z=0;z<L.coins.length;++z)q.common.Coin.encode(L.coins[z],Z.uint32(42).fork()).ldelim();if(L.gas?.length)for(let z=0;z<L.gas.length;++z)q.common.Coin.encode(L.gas[z],Z.uint32(50).fork()).ldelim();if(L.memo!=null&&Object.hasOwnProperty.call(L,"memo"))Z.uint32(58).string(L.memo);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.Tx;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.id=L.string();break;case 2:Q.chain=L.string();break;case 3:Q.fromAddress=L.string();break;case 4:Q.toAddress=L.string();break;case 5:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(L,L.uint32()));break;case 6:if(!Q.gas?.length)Q.gas=[];Q.gas.push(q.common.Coin.decode(L,L.uint32()));break;case 7:Q.memo=L.string();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.id!=null&&L.hasOwnProperty("id")){if(!W.isString(L.id))return"id: string expected"}if(L.chain!=null&&L.hasOwnProperty("chain")){if(!W.isString(L.chain))return"chain: string expected"}if(L.fromAddress!=null&&L.hasOwnProperty("fromAddress")){if(!W.isString(L.fromAddress))return"fromAddress: string expected"}if(L.toAddress!=null&&L.hasOwnProperty("toAddress")){if(!W.isString(L.toAddress))return"toAddress: string expected"}if(L.coins!=null&&L.hasOwnProperty("coins")){if(!Array.isArray(L.coins))return"coins: array expected";for(let Z=0;Z<L.coins.length;++Z){let z=q.common.Coin.verify(L.coins[Z]);if(z)return"coins."+z}}if(L.gas!=null&&L.hasOwnProperty("gas")){if(!Array.isArray(L.gas))return"gas: array expected";for(let Z=0;Z<L.gas.length;++Z){let z=q.common.Coin.verify(L.gas[Z]);if(z)return"gas."+z}}if(L.memo!=null&&L.hasOwnProperty("memo")){if(!W.isString(L.memo))return"memo: string expected"}return null},H.fromObject=function(L){if(L instanceof q.common.Tx)return L;let Z=new q.common.Tx;if(L.id!=null)Z.id=String(L.id);if(L.chain!=null)Z.chain=String(L.chain);if(L.fromAddress!=null)Z.fromAddress=String(L.fromAddress);if(L.toAddress!=null)Z.toAddress=String(L.toAddress);if(L.coins){if(!Array.isArray(L.coins))throw TypeError(".common.Tx.coins: array expected");Z.coins=[];for(let z=0;z<L.coins.length;++z){if(typeof L.coins[z]!=="object")throw TypeError(".common.Tx.coins: object expected");Z.coins[z]=q.common.Coin.fromObject(L.coins[z])}}if(L.gas){if(!Array.isArray(L.gas))throw TypeError(".common.Tx.gas: array expected");Z.gas=[];for(let z=0;z<L.gas.length;++z){if(typeof L.gas[z]!=="object")throw TypeError(".common.Tx.gas: object expected");Z.gas[z]=q.common.Coin.fromObject(L.gas[z])}}if(L.memo!=null)Z.memo=String(L.memo);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.arrays||Z.defaults)z.coins=[],z.gas=[];if(Z.defaults)z.id="",z.chain="",z.fromAddress="",z.toAddress="",z.memo="";if(L.id!=null&&L.hasOwnProperty("id"))z.id=L.id;if(L.chain!=null&&L.hasOwnProperty("chain"))z.chain=L.chain;if(L.fromAddress!=null&&L.hasOwnProperty("fromAddress"))z.fromAddress=L.fromAddress;if(L.toAddress!=null&&L.hasOwnProperty("toAddress"))z.toAddress=L.toAddress;if(L.coins?.length){z.coins=[];for(let Q=0;Q<L.coins.length;++Q)z.coins[Q]=q.common.Coin.toObject(L.coins[Q],Z)}if(L.gas?.length){z.gas=[];for(let Q=0;Q<L.gas.length;++Q)z.gas[Q]=q.common.Coin.toObject(L.gas[Q],Z)}if(L.memo!=null&&L.hasOwnProperty("memo"))z.memo=L.memo;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.Fee=(()=>{function H(X){if(this.coins=[],X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.coins=W.emptyArray,H.prototype.poolDeduct="",H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.coins?.length)for(let z=0;z<L.coins.length;++z)q.common.Coin.encode(L.coins[z],Z.uint32(10).fork()).ldelim();if(L.poolDeduct!=null&&Object.hasOwnProperty.call(L,"poolDeduct"))Z.uint32(18).string(L.poolDeduct);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.Fee;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(L,L.uint32()));break;case 2:Q.poolDeduct=L.string();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.coins!=null&&L.hasOwnProperty("coins")){if(!Array.isArray(L.coins))return"coins: array expected";for(let Z=0;Z<L.coins.length;++Z){let z=q.common.Coin.verify(L.coins[Z]);if(z)return"coins."+z}}if(L.poolDeduct!=null&&L.hasOwnProperty("poolDeduct")){if(!W.isString(L.poolDeduct))return"poolDeduct: string expected"}return null},H.fromObject=function(L){if(L instanceof q.common.Fee)return L;let Z=new q.common.Fee;if(L.coins){if(!Array.isArray(L.coins))throw TypeError(".common.Fee.coins: array expected");Z.coins=[];for(let z=0;z<L.coins.length;++z){if(typeof L.coins[z]!=="object")throw TypeError(".common.Fee.coins: object expected");Z.coins[z]=q.common.Coin.fromObject(L.coins[z])}}if(L.poolDeduct!=null)Z.poolDeduct=String(L.poolDeduct);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.arrays||Z.defaults)z.coins=[];if(Z.defaults)z.poolDeduct="";if(L.coins?.length){z.coins=[];for(let Q=0;Q<L.coins.length;++Q)z.coins[Q]=q.common.Coin.toObject(L.coins[Q],Z)}if(L.poolDeduct!=null&&L.hasOwnProperty("poolDeduct"))z.poolDeduct=L.poolDeduct;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.ProtoUint=(()=>{function H(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.value="",H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.value!=null&&Object.hasOwnProperty.call(L,"value"))Z.uint32(10).string(L.value);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.ProtoUint;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.value=L.string();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.value!=null&&L.hasOwnProperty("value")){if(!W.isString(L.value))return"value: string expected"}return null},H.fromObject=function(L){if(L instanceof q.common.ProtoUint)return L;let Z=new q.common.ProtoUint;if(L.value!=null)Z.value=String(L.value);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.defaults)z.value="";if(L.value!=null&&L.hasOwnProperty("value"))z.value=L.value;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y})();q.types=(()=>{let Y={};return Y.MsgDeposit=(()=>{function H(X){if(this.coins=[],X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.coins=W.emptyArray,H.prototype.memo="",H.prototype.signer=W.newBuffer([]),H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.coins?.length)for(let z=0;z<L.coins.length;++z)q.common.Coin.encode(L.coins[z],Z.uint32(10).fork()).ldelim();if(L.memo!=null&&Object.hasOwnProperty.call(L,"memo"))Z.uint32(18).string(L.memo);if(L.signer!=null&&Object.hasOwnProperty.call(L,"signer"))Z.uint32(26).bytes(L.signer);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.types.MsgDeposit;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(L,L.uint32()));break;case 2:Q.memo=L.string();break;case 3:Q.signer=L.bytes();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.coins!=null&&L.hasOwnProperty("coins")){if(!Array.isArray(L.coins))return"coins: array expected";for(let Z=0;Z<L.coins.length;++Z){let z=q.common.Coin.verify(L.coins[Z]);if(z)return"coins."+z}}if(L.memo!=null&&L.hasOwnProperty("memo")){if(!W.isString(L.memo))return"memo: string expected"}if(L.signer!=null&&L.hasOwnProperty("signer")){if(!(L.signer&&typeof L.signer.length==="number"||W.isString(L.signer)))return"signer: buffer expected"}return null},H.fromObject=function(L){if(L instanceof q.types.MsgDeposit)return L;let Z=new q.types.MsgDeposit;if(L.coins){if(!Array.isArray(L.coins))throw TypeError(".types.MsgDeposit.coins: array expected");Z.coins=[];for(let z=0;z<L.coins.length;++z){if(typeof L.coins[z]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");Z.coins[z]=q.common.Coin.fromObject(L.coins[z])}}if(L.memo!=null)Z.memo=String(L.memo);if(L.signer!=null){if(typeof L.signer==="string")W.base64.decode(L.signer,Z.signer=W.newBuffer(W.base64.length(L.signer)),0);else if(L.signer.length)Z.signer=L.signer}return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.arrays||Z.defaults)z.coins=[];if(Z.defaults){if(z.memo="",Z.bytes===String)z.signer="";else if(z.signer=[],Z.bytes!==Array)z.signer=W.newBuffer(z.signer)}if(L.coins?.length){z.coins=[];for(let Q=0;Q<L.coins.length;++Q)z.coins[Q]=q.common.Coin.toObject(L.coins[Q],Z)}if(L.memo!=null&&L.hasOwnProperty("memo"))z.memo=L.memo;if(L.signer!=null&&L.hasOwnProperty("signer"))z.signer=Z.bytes===String?W.base64.encode(L.signer,0,L.signer.length):Z.bytes===Array?Array.prototype.slice.call(L.signer):L.signer;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.MsgSend=(()=>{function H(X){if(this.amount=[],X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.fromAddress=W.newBuffer([]),H.prototype.toAddress=W.newBuffer([]),H.prototype.amount=W.emptyArray,H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.fromAddress!=null&&Object.hasOwnProperty.call(L,"fromAddress"))Z.uint32(10).bytes(L.fromAddress);if(L.toAddress!=null&&Object.hasOwnProperty.call(L,"toAddress"))Z.uint32(18).bytes(L.toAddress);if(L.amount?.length)for(let z=0;z<L.amount.length;++z)q.cosmos.base.v1beta1.Coin.encode(L.amount[z],Z.uint32(26).fork()).ldelim();return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.types.MsgSend;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.fromAddress=L.bytes();break;case 2:Q.toAddress=L.bytes();break;case 3:if(!Q.amount?.length)Q.amount=[];Q.amount.push(q.cosmos.base.v1beta1.Coin.decode(L,L.uint32()));break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.fromAddress!=null&&L.hasOwnProperty("fromAddress")){if(!(L.fromAddress&&typeof L.fromAddress.length==="number"||W.isString(L.fromAddress)))return"fromAddress: buffer expected"}if(L.toAddress!=null&&L.hasOwnProperty("toAddress")){if(!(L.toAddress&&typeof L.toAddress.length==="number"||W.isString(L.toAddress)))return"toAddress: buffer expected"}if(L.amount!=null&&L.hasOwnProperty("amount")){if(!Array.isArray(L.amount))return"amount: array expected";for(let Z=0;Z<L.amount.length;++Z){let z=q.cosmos.base.v1beta1.Coin.verify(L.amount[Z]);if(z)return"amount."+z}}return null},H.fromObject=function(L){if(L instanceof q.types.MsgSend)return L;let Z=new q.types.MsgSend;if(L.fromAddress!=null){if(typeof L.fromAddress==="string")W.base64.decode(L.fromAddress,Z.fromAddress=W.newBuffer(W.base64.length(L.fromAddress)),0);else if(L.fromAddress.length)Z.fromAddress=L.fromAddress}if(L.toAddress!=null){if(typeof L.toAddress==="string")W.base64.decode(L.toAddress,Z.toAddress=W.newBuffer(W.base64.length(L.toAddress)),0);else if(L.toAddress.length)Z.toAddress=L.toAddress}if(L.amount){if(!Array.isArray(L.amount))throw TypeError(".types.MsgSend.amount: array expected");Z.amount=[];for(let z=0;z<L.amount.length;++z){if(typeof L.amount[z]!=="object")throw TypeError(".types.MsgSend.amount: object expected");Z.amount[z]=q.cosmos.base.v1beta1.Coin.fromObject(L.amount[z])}}return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.arrays||Z.defaults)z.amount=[];if(Z.defaults){if(Z.bytes===String)z.fromAddress="";else if(z.fromAddress=[],Z.bytes!==Array)z.fromAddress=W.newBuffer(z.fromAddress);if(Z.bytes===String)z.toAddress="";else if(z.toAddress=[],Z.bytes!==Array)z.toAddress=W.newBuffer(z.toAddress)}if(L.fromAddress!=null&&L.hasOwnProperty("fromAddress"))z.fromAddress=Z.bytes===String?W.base64.encode(L.fromAddress,0,L.fromAddress.length):Z.bytes===Array?Array.prototype.slice.call(L.fromAddress):L.fromAddress;if(L.toAddress!=null&&L.hasOwnProperty("toAddress"))z.toAddress=Z.bytes===String?W.base64.encode(L.toAddress,0,L.toAddress.length):Z.bytes===Array?Array.prototype.slice.call(L.toAddress):L.toAddress;if(L.amount?.length){z.amount=[];for(let Q=0;Q<L.amount.length;++Q)z.amount[Q]=q.cosmos.base.v1beta1.Coin.toObject(L.amount[Q],Z)}return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y})();q.cosmos=(()=>{let Y={};return Y.base=(()=>{let H={};return H.v1beta1=(()=>{let X={};return X.Coin=(()=>{function L(Z){if(Z){for(let z=Object.keys(Z),Q=0;Q<z.length;++Q)if(Z[z[Q]]!=null)this[z[Q]]=Z[z[Q]]}}return L.prototype.denom="",L.prototype.amount="",L.create=function(z){return new L(z)},L.encode=function(z,Q){if(!Q)Q=f.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))Q.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))Q.uint32(18).string(z.amount);return Q},L.encodeDelimited=function(z,Q){return this.encode(z,Q).ldelim()},L.decode=function(z,Q){if(!(z instanceof T))z=T.create(z);let J=Q===void 0?z.len:z.pos+Q,_=new q.cosmos.base.v1beta1.Coin;while(z.pos<J){let E=z.uint32();switch(E>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(E&7);break}}return _},L.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},L.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!W.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!W.isString(z.amount))return"amount: string expected"}return null},L.fromObject=function(z){if(z instanceof q.cosmos.base.v1beta1.Coin)return z;let Q=new q.cosmos.base.v1beta1.Coin;if(z.denom!=null)Q.denom=String(z.denom);if(z.amount!=null)Q.amount=String(z.amount);return Q},L.toObject=function(z,Q){if(!Q)Q={};let J={};if(Q.defaults)J.denom="",J.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))J.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))J.amount=z.amount;return J},L.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},L})(),X.DecCoin=(()=>{function L(Z){if(Z){for(let z=Object.keys(Z),Q=0;Q<z.length;++Q)if(Z[z[Q]]!=null)this[z[Q]]=Z[z[Q]]}}return L.prototype.denom="",L.prototype.amount="",L.create=function(z){return new L(z)},L.encode=function(z,Q){if(!Q)Q=f.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))Q.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))Q.uint32(18).string(z.amount);return Q},L.encodeDelimited=function(z,Q){return this.encode(z,Q).ldelim()},L.decode=function(z,Q){if(!(z instanceof T))z=T.create(z);let J=Q===void 0?z.len:z.pos+Q,_=new q.cosmos.base.v1beta1.DecCoin;while(z.pos<J){let E=z.uint32();switch(E>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(E&7);break}}return _},L.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},L.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!W.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!W.isString(z.amount))return"amount: string expected"}return null},L.fromObject=function(z){if(z instanceof q.cosmos.base.v1beta1.DecCoin)return z;let Q=new q.cosmos.base.v1beta1.DecCoin;if(z.denom!=null)Q.denom=String(z.denom);if(z.amount!=null)Q.amount=String(z.amount);return Q},L.toObject=function(z,Q){if(!Q)Q={};let J={};if(Q.defaults)J.denom="",J.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))J.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))J.amount=z.amount;return J},L.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},L})(),X.IntProto=(()=>{function L(Z){if(Z){for(let z=Object.keys(Z),Q=0;Q<z.length;++Q)if(Z[z[Q]]!=null)this[z[Q]]=Z[z[Q]]}}return L.prototype.int="",L.create=function(z){return new L(z)},L.encode=function(z,Q){if(!Q)Q=f.create();if(z.int!=null&&Object.hasOwnProperty.call(z,"int"))Q.uint32(10).string(z.int);return Q},L.encodeDelimited=function(z,Q){return this.encode(z,Q).ldelim()},L.decode=function(z,Q){if(!(z instanceof T))z=T.create(z);let J=Q===void 0?z.len:z.pos+Q,_=new q.cosmos.base.v1beta1.IntProto;while(z.pos<J){let E=z.uint32();switch(E>>>3){case 1:_.int=z.string();break;default:z.skipType(E&7);break}}return _},L.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},L.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.int!=null&&z.hasOwnProperty("int")){if(!W.isString(z.int))return"int: string expected"}return null},L.fromObject=function(z){if(z instanceof q.cosmos.base.v1beta1.IntProto)return z;let Q=new q.cosmos.base.v1beta1.IntProto;if(z.int!=null)Q.int=String(z.int);return Q},L.toObject=function(z,Q){if(!Q)Q={};let J={};if(Q.defaults)J.int="";if(z.int!=null&&z.hasOwnProperty("int"))J.int=z.int;return J},L.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},L})(),X.DecProto=(()=>{function L(Z){if(Z){for(let z=Object.keys(Z),Q=0;Q<z.length;++Q)if(Z[z[Q]]!=null)this[z[Q]]=Z[z[Q]]}}return L.prototype.dec="",L.create=function(z){return new L(z)},L.encode=function(z,Q){if(!Q)Q=f.create();if(z.dec!=null&&Object.hasOwnProperty.call(z,"dec"))Q.uint32(10).string(z.dec);return Q},L.encodeDelimited=function(z,Q){return this.encode(z,Q).ldelim()},L.decode=function(z,Q){if(!(z instanceof T))z=T.create(z);let J=Q===void 0?z.len:z.pos+Q,_=new q.cosmos.base.v1beta1.DecProto;while(z.pos<J){let E=z.uint32();switch(E>>>3){case 1:_.dec=z.string();break;default:z.skipType(E&7);break}}return _},L.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},L.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.dec!=null&&z.hasOwnProperty("dec")){if(!W.isString(z.dec))return"dec: string expected"}return null},L.fromObject=function(z){if(z instanceof q.cosmos.base.v1beta1.DecProto)return z;let Q=new q.cosmos.base.v1beta1.DecProto;if(z.dec!=null)Q.dec=String(z.dec);return Q},L.toObject=function(z,Q){if(!Q)Q={};let J={};if(Q.defaults)J.dec="";if(z.dec!=null&&z.hasOwnProperty("dec"))J.dec=z.dec;return J},L.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},L})(),X})(),H})(),Y})()});async function c(){let{$root:Y}=await Promise.resolve().then(() => (u6(),$6)),H=await import("@cosmjs/proto-signing"),X=H.Registry??H.default?.Registry,L=await import("@cosmjs/stargate"),Z=L.defaultRegistryTypes??L.default?.defaultRegistryTypes;return new X([...Z,["/types.MsgSend",Y.types.MsgSend],["/types.MsgDeposit",Y.types.MsgDeposit]])}async function w(Y){let H=await import("@cosmjs/stargate"),X=H.AminoTypes??H.default?.AminoTypes,L=Y===h6.Chain.THORChain?"thorchain":"mayachain";return new X({"/types.MsgDeposit":{aminoType:`${L}/MsgDeposit`,fromAmino:({signer:Z,...z})=>({...z,signer:a(Z)}),toAmino:({signer:Z,...z})=>({...z,signer:s(Z)})},"/types.MsgSend":{aminoType:`${L}/MsgSend`,fromAmino:({from_address:Z,to_address:z,...Q})=>({...Q,fromAddress:a(Z),toAddress:a(z)}),toAmino:({fromAddress:Z,toAddress:z,...Q})=>({...Q,from_address:s(Z),to_address:s(z)})}})}var h6;var _6=F(()=>{q6();h6=require("@swapkit/helpers")});function N6(Y){return function(X){let{assetValue:L,recipient:Z,memo:z,sender:Q,asSignable:J,asAminoMessage:_}=X;if(Z)return j6(Y)({asAminoMessage:_,asSignable:J,assetValue:L,memo:z,recipient:Z,sender:Q});return b6(Y)({asAminoMessage:_,asSignable:J,assetValue:L,memo:z,sender:Q})}}function u(Y){if(Y.type==="thorchain/MsgSend"||Y.type==="mayachain/MsgSend")return Y;return{...Y,value:{...Y.value,coins:Y.value.coins.map((H)=>{let X=y.AssetValue.from({asset:H.asset}),L=(X.isSynthetic?X.symbol.split("/")?.[1]:X.symbol)?.toUpperCase(),Z=(X.isSynthetic?X.symbol.split("/")?.[0]:X.chain)?.toUpperCase();return{...H,asset:{chain:Z,symbol:L,synth:X.isSynthetic,ticker:X.ticker}}})}}}async function L6({chain:Y,memo:H,msgs:X}){let L=await c(),Z=await w(Y),z={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:H,messages:X.map((Q)=>Z.fromAmino(Q))}};return L.encode(z)}var y,J4,q4,I6=({sender:Y,recipient:H,assetValue:X})=>{return{type:`${X.chain===y.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol,!0)}],from_address:Y,to_address:H}}},E6=({sender:Y,assetValue:H,memo:X=""})=>{return{type:`${H.chain===y.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:H.getBaseValue("string"),asset:d(H)}],memo:X,signer:Y}}},X6=({sender:Y,recipient:H,assetValue:X,memo:L})=>{return!H?E6({assetValue:X,memo:L,sender:Y}):I6({assetValue:X,recipient:H,sender:Y})},$=async(Y,H)=>{return(await w(H)).fromAmino(Y)},l6=async({rpcUrl:Y,sender:H})=>{let L=await(await P(Y)).getAccount(H);if(!L)throw new y.SwapKitError("toolbox_cosmos_account_not_found",{sender:H});return L},j6=(Y)=>async({sender:H,recipient:X,assetValue:L,memo:Z="",asSignable:z=!0,asAminoMessage:Q=!1,sequence:J,accountNumber:_})=>{let E=await l6({rpcUrl:Y,sender:H}),A=L.chain,{chainId:k}=y.getChainConfig(A),I=I6({assetValue:L,recipient:X,sender:H}),x=z?await $(Q?I:u(I),A):I;return{accountNumber:_||E.accountNumber,chainId:k,fee:S(A),memo:Z,msgs:[x],sequence:J||E.sequence}},b6=(Y)=>async({sender:H,assetValue:X,memo:L="",asSignable:Z=!0,asAminoMessage:z=!1,sequence:Q,accountNumber:J})=>{let _=await l6({rpcUrl:Y,sender:H}),E=X.chain,{chainId:A}=y.getChainConfig(E),k=E6({assetValue:X,memo:L,sender:H}),I=Z?await $(z?k:u(k),E):k;return{accountNumber:J||_.accountNumber,chainId:A,fee:S(E),memo:L,msgs:[I],sequence:Q||_.sequence}};var p6=F(()=>{e();_6();y=require("@swapkit/helpers"),J4=S(y.Chain.THORChain).gas,q4=S(y.Chain.Maya).gas});var c6=()=>{};var d6=F(()=>{c6()});var O6=F(()=>{q6();p6();_6();d6()});async function A6(Y,H){try{let L=(await K6.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===Y)?.value;return L?Number.parseFloat(L):H}catch{return H}}async function v6({phrase:Y,prefix:H,...X}){let L=await import("@cosmjs/proto-signing"),Z=L.DirectSecp256k1HdWallet??L.default?.DirectSecp256k1HdWallet,z=await import("@cosmjs/crypto"),Q=z.stringToPath??z.default?.stringToPath,J="derivationPath"in X?X.derivationPath:`${G.DerivationPath[X.chain]}/${X.index}`;return Z.fromMnemonic(Y,{hdPaths:[Q(J)],prefix:H})}async function W4({privateKey:Y,prefix:H}){let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(Y,H)}function g6(Y){return async function({signature:X,message:L,address:Z}){let z=await Y(Z);if(!z?.pubkey)throw new G.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let Q=await import("@cosmjs/crypto"),J=Q.Secp256k1Signature??Q.default?.Secp256k1Signature,_=Q.Secp256k1??Q.default?.Secp256k1,E=J.fromFixedLength(h.base64.decode(X));return _.verifySignature(E,h.base64.decode(L),z.pubkey.value)}}async function Z6({chain:Y,...H}){let X=await G.getRPCUrl(Y),L=G.CosmosChainPrefixes[Y],Z="index"in H?H.index||0:0,z=G.derivationPathToString("derivationPath"in H&&H.derivationPath?H.derivationPath:G.updateDerivationPath(G.NetworkDerivationPath[Y],{index:Z})),Q=await z6.match(H).with({phrase:z6.P.string},({phrase:I})=>v6({derivationPath:z,phrase:I,prefix:L})).with({signer:z6.P.any},({signer:I})=>I).otherwise(()=>{return});async function J(I){return(await P(X)).getAccount(I)}async function _(){let[I]=await Q?.getAccounts()||[];return I?.address}async function E(){let[I]=await Q?.getAccounts()||[];if(!I?.pubkey)throw new G.SwapKitError("toolbox_cosmos_signer_not_defined");return h.base64.encode(I?.pubkey)}async function A({recipient:I,assetValue:x,memo:N="",feeRate:v,feeOptionKey:U=G.FeeOption.Fast}){let V=await _();if(!(Q&&V))throw new G.SwapKitError("toolbox_cosmos_signer_not_defined");let M=G.AssetValue.from({chain:Y}),m=d(M),g=v||n6((await U6(Y,x6[Y]))[U],m),i=await n(X,Q),b=D(x.symbol),p=x.getBaseValue("string"),{TxRaw:o}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),t={amount:[{amount:p,denom:b}],fromAddress:V,toAddress:I},V6=await i.sign(V,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:t}],g,N),J6=o.encode(V6).finish();return Buffer.from(J6).toString("hex")}async function k({recipient:I,assetValue:x,memo:N="",feeRate:v,feeOptionKey:U=G.FeeOption.Fast,dryRun:V=!1}){if(V)return A({assetValue:x,feeOptionKey:U,feeRate:v,memo:N,recipient:I});let M=await _();if(!(Q&&M))throw new G.SwapKitError("toolbox_cosmos_signer_not_defined");let m=G.AssetValue.from({chain:Y}),g=d(m),i=v||n6((await U6(Y,x6[Y]))[U],g),b=await n(X,Q),p=D(x.symbol),o=[{amount:x.getBaseValue("string"),denom:p}],{transactionHash:t}=await b.sendTokens(M,I,o,i,N);return t}return{createPrivateKeyFromPhrase:_4(z),createTransaction:G6,fetchFeeRateFromSwapKit:A6,getAccount:J,getAddress:_,getBalance:async(I,x)=>{let N=await m6(X)(I),v=await Promise.all(N.filter(({denom:U})=>U&&!U.includes("IBC/")).map(({denom:U,amount:V})=>{let M=[G.Chain.THORChain,G.Chain.Maya].includes(Y)&&(U.includes("/")||U.includes("˜"))?`${Y}.${U}`:U;return T6(M,V)}));if(v.length===0)return[G.AssetValue.from({chain:Y})];return v},getBalanceAsDenoms:m6(X),getFees:()=>U6(Y,x6[Y]),getPubKey:E,getSignerFromPhrase:async({phrase:I,derivationPath:x})=>v6({derivationPath:G.derivationPathToString(x),index:Z,phrase:I,prefix:L}),getSignerFromPrivateKey:async(I)=>{let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(I,L)},signTransaction:A,transfer:k,validateAddress:i6(Y),verifySignature:g6(J)}}async function B4(Y,H){try{let L=(await K6.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===Y)?.value;return L?Number.parseFloat(L):H}catch{return H}}function G4({assetValue:{chain:Y}}){return G.AssetValue.from({chain:Y,value:T4(Y)})}async function U6(Y,H){let{chainId:X,baseDecimal:L}=G.getChainConfig(Y),Z=await A6(X,H);return{average:G.SwapKitNumber.fromBigInt(BigInt(Z),L),fast:G.SwapKitNumber.fromBigInt(BigInt(G.applyFeeMultiplier(Z,G.FeeOption.Fast,!0)),L),fastest:G.SwapKitNumber.fromBigInt(BigInt(G.applyFeeMultiplier(Z,G.FeeOption.Fastest,!0)),L)}}function n6(Y,H){return{amount:[{amount:Y.getBaseValue("string"),denom:H}],gas:"200000"}}function T4(Y){return{[G.Chain.Cosmos]:0.007,[G.Chain.Kujira]:0.02,[G.Chain.Noble]:0.01,[G.Chain.THORChain]:0.02,[G.Chain.Maya]:0.02,[G.Chain.Harbor]:0.02}[Y]||0}function i6(Y){let H=G.CosmosChainPrefixes[Y];return function(L){if(!L.startsWith(H))return!1;try{let{prefix:Z,words:z}=h.bech32.decode(L);return h.bech32.encode(Z,z)===L.toLocaleLowerCase()}catch{return!1}}}function m6(Y){return async function(X){return(await(await P(Y)).getAllBalances(X)).map((Q)=>({...Q,denom:Q.denom.includes("/")?Q.denom.toUpperCase():Q.denom}))}}function _4(Y){return async function(X){let L=await import("@cosmjs/crypto"),Z=L.stringToPath??L.default?.stringToPath,z=L.Slip10Curve??L.default?.Slip10Curve,Q=L.Slip10??L.default?.Slip10,J=L.EnglishMnemonic??L.default?.EnglishMnemonic,_=L.Bip39??L.default?.Bip39,E=new J(X),A=await _.mnemonicToSeed(E),{privkey:k}=Q.derivePath(z.Secp256k1,A,Z(Y));return k}}var h,G,K6,z6,x6;var Y6=F(()=>{e();h=require("@scure/base"),G=require("@swapkit/helpers"),K6=require("@swapkit/helpers/api"),z6=require("ts-pattern");x6={[G.Chain.Cosmos]:1000,[G.Chain.Kujira]:1000,[G.Chain.Noble]:1000,[G.Chain.THORChain]:5000000,[G.Chain.Maya]:5000000,[G.Chain.Harbor]:5000000}});function I4({prefix:Y,derivationPath:H}){return async function(L,Z=0){let z=await import("@cosmjs/amino"),Q=z.Secp256k1HdWallet??z.default?.Secp256k1HdWallet,J=await import("@cosmjs/crypto"),_=J.stringToPath??J.default?.stringToPath;return Q.fromMnemonic(L,{hdPaths:[_(`${H}/${Z}`)],prefix:Y})}}function E4(Y){return l.base64.encode(Y)}function N4(Y){return async function({wallet:X,tx:L}){let{msgs:Z,accountNumber:z,sequence:Q,chainId:J,fee:_,memo:E}=typeof L==="string"?JSON.parse(L):L,A=(await X.getAccounts())?.[0]?.address||"",k=await w(Y),I=await c(),x=await B6(X,{aminoTypes:k,registry:I}),N=[];for(let V of Z){let M=await $(V,Y);N.push(M)}let{signatures:[v]}=await x.sign(A,N,_,E,{accountNumber:z,chainId:J,sequence:Q});return{bodyBytes:await L6({chain:Y,memo:E,msgs:Z.map(u)}),signature:E4(v)}}}function O4({prefix:Y,rpcUrl:H}){return async function(L,Z,z,Q,J){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:E}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:A}=(await import("@cosmjs/stargate")).default,{sequence:k,fee:I}=JSON.parse(L),x=await o6(z,Q),N=Z.map((V)=>[E(_(l.base64.decode(V.pubKey)),Y),l.base64.decode(V.signature)]),v=await P(H),{transactionHash:U}=await v.broadcastTx(A(x,k,I,J,new Map(N)));return U}}async function o6(Y,H,X=!0){let{createMultisigThresholdPubkey:L,encodeSecp256k1Pubkey:Z}=(await import("@cosmjs/amino")).default;return L(Y.map((z)=>Z(l.base64.decode(z))),H,X)}function x4(Y){return l.base64.decode(Y)}async function U4({privateKey:Y,message:H}){let{Secp256k1:X}=(await import("@cosmjs/crypto")).default,L=await X.createSignature(l.base64.decode(H),Y);return l.base64.encode(Buffer.concat([L.r(32),L.s(32)]))}async function k6({chain:Y,...H}){let X=await O.getRPCUrl(Y),{nodeUrl:L}=O.getChainConfig(Y),{isStagenet:Z}=O.SKConfig.get("envs"),z=Y===O.Chain.THORChain,Q=`${Z?"s":""}${O.CosmosChainPrefixes[Y]}`,J="index"in H?H.index||0:0,_="derivationPath"in H&&H.derivationPath?H.derivationPath:O.updateDerivationPath(O.NetworkDerivationPath[Y],{index:J}),E=await Z6({chain:Y,...H}),A=await H6.match(H).with({phrase:H6.P.string},({phrase:N})=>E.getSignerFromPhrase({derivationPath:_,phrase:N})).with({signer:H6.P.any},({signer:N})=>N).otherwise(()=>{return}),k=S(Y);async function I(){let N,v=`${L}/${z?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:U}}=await O.RequestClient.get(v);if(!U||Number.isNaN(U)||U<0)throw new O.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:U.toString()});N=new O.SwapKitNumber(U)}catch{N=new O.SwapKitNumber({decimal:O.getChainConfig(Y).baseDecimal,value:z?0.02:1})}return{[O.FeeOption.Average]:N,[O.FeeOption.Fast]:N,[O.FeeOption.Fastest]:N}}async function x({assetValue:N,memo:v="",recipient:U}){let{TxRaw:V}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),M=(await A?.getAccounts())?.[0]?.address;if(!(M&&A))throw new O.SwapKitError("toolbox_cosmos_no_signer");let m="signAmino"in A,g=await c(),i=await w(Y),b=await n(X,A,{aminoTypes:i,registry:g}),p=X6({assetValue:N,memo:v,recipient:U,sender:M});if(m){let J6=await $(p,Y),{signatures:r6,authInfoBytes:a6}=await b.sign(M,[J6],k,v),s6=V.encode({authInfoBytes:a6,bodyBytes:await L6({chain:Y,memo:v,msgs:[p].map(u)}),signatures:r6}).finish();return(await b.broadcastTx(s6)).transactionHash}let o=u(p),t=await $(o,Y);return(await b.signAndBroadcast(M,[t],k,v)).transactionHash}return{...E,broadcastMultisigTx:O4({prefix:Q,rpcUrl:X}),buildAminoMsg:X6,buildEncodedTxBody:L6,convertToSignable:$,createDefaultAminoTypes:()=>w(Y),createDefaultRegistry:c,createMultisig:o6,createTransaction:N6(X),deposit:x,getFees:I,importSignature:x4,parseAminoMessageForDirectSigning:u,pubkeyToAddress:async(N)=>{let{pubkeyToAddress:v}=(await import("@cosmjs/amino")).default;return v(N,Q)},secp256k1HdWalletFromMnemonic:I4({derivationPath:O.derivationPathToString(_),prefix:Q}),signMultisigTx:N4(Y),signWithPrivateKey:U4,transfer:x}}var l,O,H6;var R6=F(()=>{O6();e();Y6();l=require("@scure/base"),O=require("@swapkit/helpers"),H6=require("ts-pattern")});var j,v4=(Y,H)=>{switch(Y){case j.Chain.Cosmos:case j.Chain.Kujira:case j.Chain.Noble:return Z6({chain:Y,...H});case j.Chain.Maya:case j.Chain.THORChain:return k6({chain:Y,...H});default:throw new j.SwapKitError("toolbox_cosmos_not_supported",{chain:Y})}};var t6=F(()=>{Y6();R6();j=require("@swapkit/helpers");Y6();R6()});var A4={};y6(A4,{verifySignature:()=>g6,transferMsgAmino:()=>I6,toBase64:()=>H4,parseAminoMessageForDirectSigning:()=>u,getSignerFromPrivateKey:()=>W4,getSignerFromPhrase:()=>v6,getMsgSendDenom:()=>D,getFeeRateFromSwapKit:()=>B4,getDenomWithChain:()=>d,getDefaultChainFee:()=>S,getCreateTransaction:()=>N6,getCosmosValidateAddress:()=>i6,getCosmosToolbox:()=>v4,getAssetFromDenom:()=>T6,fromBase64:()=>Q4,fetchFeeRateFromSwapKit:()=>A6,estimateTransactionFee:()=>G4,depositMsgAmino:()=>E6,createThorchainToolbox:()=>k6,createStargateClient:()=>P,createSigningStargateClient:()=>n,createOfflineStargateClient:()=>B6,createDefaultRegistry:()=>c,createDefaultAminoTypes:()=>w,createCosmosToolbox:()=>Z6,cosmosCreateTransaction:()=>G6,convertToSignable:()=>$,buildTransferTx:()=>j6,buildEncodedTxBody:()=>L6,buildDepositTx:()=>b6,buildAminoMsg:()=>X6,bech32ToBase64:()=>a,base64ToBech32:()=>s,YUM_KUJIRA_FACTORY_DENOM:()=>S6,USK_KUJIRA_FACTORY_DENOM:()=>W6,THORCHAIN_GAS_VALUE:()=>J4,MAYA_GAS_VALUE:()=>q4,DEFAULT_NOBLE_FEE_MAINNET:()=>w6,DEFAULT_KUJI_FEE_MAINNET:()=>C6,DEFAULT_COSMOS_FEE_MAINNET:()=>P6});module.exports=Z4(A4);var k4=F(()=>{O6();t6();e()});k4();
1
+ var e6=Object.create;var{getPrototypeOf:L4,defineProperty:r,getOwnPropertyNames:F6,getOwnPropertyDescriptor:z4}=Object,f6=Object.prototype.hasOwnProperty;var K=(Y,H,X)=>{X=Y!=null?e6(L4(Y)):{};let L=H||!Y||!Y.__esModule?r(X,"default",{value:Y,enumerable:!0}):X;for(let Z of F6(Y))if(!f6.call(L,Z))r(L,Z,{get:()=>Y[Z],enumerable:!0});return L},M6=new WeakMap,Z4=(Y)=>{var H=M6.get(Y),X;if(H)return H;if(H=r({},"__esModule",{value:!0}),Y&&typeof Y==="object"||typeof Y==="function")F6(Y).map((L)=>!f6.call(H,L)&&r(H,L,{get:()=>Y[L],enumerable:!(X=z4(Y,L))||X.enumerable}));return M6.set(Y,H),H};var y6=(Y,H)=>{for(var X in H)r(Y,X,{get:H[X],enumerable:!0,configurable:!0,set:(L)=>H[X]=()=>L})};var F=(Y,H)=>()=>(Y&&(H=Y(Y=0)),H);function a(Y){return C.base64.encode(Uint8Array.from(C.bech32.fromWords(C.bech32.decode(Y).words)))}function s(Y,H="thor"){return C.bech32.encode(H,C.bech32.toWords(C.base64.decode(Y)))}function H4(Y){return Q6.fromByteArray(Y)}function Q4(Y){if(!Y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new D6.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Q6.toByteArray(Y)}var C,D6,Q6;var q6=F(()=>{C=require("@scure/base"),D6=require("@swapkit/helpers"),Q6=require("base64-js")});function S(Y){switch(Y){case B.Chain.Maya:return{amount:[],gas:"10000000000"};case B.Chain.THORChain:return{amount:[],gas:"500000000"};case B.Chain.Kujira:return C6;case B.Chain.Noble:return w6;default:return P6}}async function P(Y){let H=await import("@cosmjs/stargate"),X=H.StargateClient??H.default?.StargateClient,L=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return X.connect({headers:L,url:Y})}async function n(Y,H,X={}){let L=await import("@cosmjs/stargate"),Z=L.SigningStargateClient??L.default?.SigningStargateClient,z=L.GasPrice??L.default?.GasPrice,Q=typeof X==="string"?X:"0.0003uatom",J=typeof X==="string"?{}:X;return Z.connectWithSigner(Y,H,{gasPrice:z.fromString(Q),...J})}async function B6(Y,H){let X=await import("@cosmjs/stargate");return(X.SigningStargateClient??X.default?.SigningStargateClient).offline(Y,H)}async function G6({sender:Y,recipient:H,assetValue:X,memo:L="",feeRate:Z,sequence:z,accountNumber:Q}){let{chain:J,chainId:_}=X,E=await B.getRPCUrl(J),k=await(await P(E)).getAccount(Y);if(!k)throw new B.SwapKitError("toolbox_cosmos_account_not_found",{sender:Y});let I=B.AssetValue.from({chain:J}),x=D(I.symbol),N=S(J),v=x&&Z?{amount:[{amount:Z.toString(),denom:x}],gas:N.gas}:N,U={amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol)}],fromAddress:Y,toAddress:H};return{accountNumber:Q??k.accountNumber,chainId:_,fee:v,memo:L,msgs:[{typeUrl:X4(J),value:U}],sequence:z??k.sequence}}var B,W6="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",S6="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",P6,C6,w6,D=(Y,H=!1)=>{if(H)return Y.toLowerCase();switch(Y){case"uUSK":case"USK":return W6;case"uYUM":case"YUM":return S6;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return Y}},d=({symbol:Y,chain:H})=>{if(H===B.Chain.Maya)return(Y.toUpperCase()!=="CACAO"?Y:`${B.Chain.Maya}.${Y}`).toUpperCase();if(H===B.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(Y.toUpperCase())?`${B.Chain.THORChain}.${Y}`:Y).toUpperCase();return D(Y,!1)},X4=(Y)=>{switch(Y){case B.Chain.Maya:case B.Chain.THORChain:return"/types.MsgSend";case B.Chain.Cosmos:case B.Chain.Kujira:case B.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new B.SwapKitError("toolbox_cosmos_not_supported",{chain:Y})}},Y4,T6=(Y,H)=>{let X=Y4[Y.toLowerCase()];if(!X)return B.AssetValue.from({asset:Y,fromBaseDecimal:8,value:H});let{chain:L,asset:Z,decimals:z}=X,Q=L?{chain:L}:{asset:Z};return B.AssetValue.from({...Q,fromBaseDecimal:z,value:H})};var e=F(()=>{B=require("@swapkit/helpers"),P6={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},C6={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},w6={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};Y4={atom:{chain:B.Chain.Cosmos,decimals:B.getChainConfig(B.Chain.Cosmos).baseDecimal},cacao:{chain:B.Chain.Maya,decimals:10},kuji:{chain:B.Chain.Kujira,decimals:B.getChainConfig(B.Chain.Kujira).baseDecimal},maya:{asset:`${B.Chain.Maya}.${B.Chain.Maya}`,decimals:4},rune:{chain:B.Chain.THORChain,decimals:B.getChainConfig(B.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:B.getChainConfig(B.Chain.THORChain).baseDecimal},uatom:{chain:B.Chain.Cosmos,decimals:B.getChainConfig(B.Chain.Cosmos).baseDecimal},ukuji:{chain:B.Chain.Kujira,decimals:B.getChainConfig(B.Chain.Kujira).baseDecimal},usdc:{chain:B.Chain.Noble,decimals:B.getChainConfig(B.Chain.Noble).baseDecimal},uusdc:{chain:B.Chain.Noble,decimals:B.getChainConfig(B.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:B.getChainConfig(B.Chain.THORChain).baseDecimal},[W6.toLowerCase()]:{asset:`${B.Chain.Kujira}.USK`,decimals:B.getChainConfig(B.Chain.Kujira).baseDecimal}}});var $6={};y6($6,{$root:()=>q});var R,T,f,W,q;var u6=F(()=>{R=K(require("protobufjs/minimal.js")),T=R.default.Reader,f=R.default.Writer,W=R.default.util,q=R.default.roots.default||(R.default.roots.default={});q.common=(()=>{let Y={};return Y.Asset=(()=>{function H(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.chain="",H.prototype.symbol="",H.prototype.ticker="",H.prototype.synth=!1,H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.chain!=null&&Object.hasOwnProperty.call(L,"chain"))Z.uint32(10).string(L.chain);if(L.symbol!=null&&Object.hasOwnProperty.call(L,"symbol"))Z.uint32(18).string(L.symbol);if(L.ticker!=null&&Object.hasOwnProperty.call(L,"ticker"))Z.uint32(26).string(L.ticker);if(L.synth!=null&&Object.hasOwnProperty.call(L,"synth"))Z.uint32(32).bool(L.synth);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.Asset;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.chain=L.string();break;case 2:Q.symbol=L.string();break;case 3:Q.ticker=L.string();break;case 4:Q.synth=L.bool();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.chain!=null&&L.hasOwnProperty("chain")){if(!W.isString(L.chain))return"chain: string expected"}if(L.symbol!=null&&L.hasOwnProperty("symbol")){if(!W.isString(L.symbol))return"symbol: string expected"}if(L.ticker!=null&&L.hasOwnProperty("ticker")){if(!W.isString(L.ticker))return"ticker: string expected"}if(L.synth!=null&&L.hasOwnProperty("synth")){if(typeof L.synth!=="boolean")return"synth: boolean expected"}return null},H.fromObject=function(L){if(L instanceof q.common.Asset)return L;let Z=new q.common.Asset;if(L.chain!=null)Z.chain=String(L.chain);if(L.symbol!=null)Z.symbol=String(L.symbol);if(L.ticker!=null)Z.ticker=String(L.ticker);if(L.synth!=null)Z.synth=Boolean(L.synth);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.defaults)z.chain="",z.symbol="",z.ticker="",z.synth=!1;if(L.chain!=null&&L.hasOwnProperty("chain"))z.chain=L.chain;if(L.symbol!=null&&L.hasOwnProperty("symbol"))z.symbol=L.symbol;if(L.ticker!=null&&L.hasOwnProperty("ticker"))z.ticker=L.ticker;if(L.synth!=null&&L.hasOwnProperty("synth"))z.synth=L.synth;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.Coin=(()=>{function H(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.asset=null,H.prototype.amount="",H.prototype.decimals=W.Long?W.Long.fromBits(0,0,!1):0,H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.asset!=null&&Object.hasOwnProperty.call(L,"asset"))q.common.Asset.encode(L.asset,Z.uint32(10).fork()).ldelim();if(L.amount!=null&&Object.hasOwnProperty.call(L,"amount"))Z.uint32(18).string(L.amount);if(L.decimals!=null&&Object.hasOwnProperty.call(L,"decimals"))Z.uint32(24).int64(L.decimals);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.Coin;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.asset=q.common.Asset.decode(L,L.uint32());break;case 2:Q.amount=L.string();break;case 3:Q.decimals=L.int64();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.asset!=null&&L.hasOwnProperty("asset")){let Z=q.common.Asset.verify(L.asset);if(Z)return"asset."+Z}if(L.amount!=null&&L.hasOwnProperty("amount")){if(!W.isString(L.amount))return"amount: string expected"}if(L.decimals!=null&&L.hasOwnProperty("decimals")){if(!W.isInteger(L.decimals)&&!(L.decimals&&W.isInteger(L.decimals.low)&&W.isInteger(L.decimals.high)))return"decimals: integer|Long expected"}return null},H.fromObject=function(L){if(L instanceof q.common.Coin)return L;let Z=new q.common.Coin;if(L.asset!=null){if(typeof L.asset!=="object")throw TypeError(".common.Coin.asset: object expected");Z.asset=q.common.Asset.fromObject(L.asset)}if(L.amount!=null)Z.amount=String(L.amount);if(L.decimals!=null){if(W.Long)(Z.decimals=W.Long.fromValue(L.decimals)).unsigned=!1;else if(typeof L.decimals==="string")Z.decimals=Number.parseInt(L.decimals,10);else if(typeof L.decimals==="number")Z.decimals=L.decimals;else if(typeof L.decimals==="object")Z.decimals=new W.LongBits(L.decimals.low>>>0,L.decimals.high>>>0).toNumber()}return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.defaults)if(z.asset=null,z.amount="",W.Long){let Q=new W.Long(0,0,!1);z.decimals=Z.longs===String?Q.toString():Z.longs===Number?Q.toNumber():Q}else z.decimals=Z.longs===String?"0":0;if(L.asset!=null&&L.hasOwnProperty("asset"))z.asset=q.common.Asset.toObject(L.asset,Z);if(L.amount!=null&&L.hasOwnProperty("amount"))z.amount=L.amount;if(L.decimals!=null&&L.hasOwnProperty("decimals"))if(typeof L.decimals==="number")z.decimals=Z.longs===String?String(L.decimals):L.decimals;else z.decimals=Z.longs===String?W.Long.prototype.toString.call(L.decimals):Z.longs===Number?new W.LongBits(L.decimals.low>>>0,L.decimals.high>>>0).toNumber():L.decimals;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.PubKeySet=(()=>{function H(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.secp256k1="",H.prototype.ed25519="",H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.secp256k1!=null&&Object.hasOwnProperty.call(L,"secp256k1"))Z.uint32(10).string(L.secp256k1);if(L.ed25519!=null&&Object.hasOwnProperty.call(L,"ed25519"))Z.uint32(18).string(L.ed25519);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.PubKeySet;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.secp256k1=L.string();break;case 2:Q.ed25519=L.string();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.secp256k1!=null&&L.hasOwnProperty("secp256k1")){if(!W.isString(L.secp256k1))return"secp256k1: string expected"}if(L.ed25519!=null&&L.hasOwnProperty("ed25519")){if(!W.isString(L.ed25519))return"ed25519: string expected"}return null},H.fromObject=function(L){if(L instanceof q.common.PubKeySet)return L;let Z=new q.common.PubKeySet;if(L.secp256k1!=null)Z.secp256k1=String(L.secp256k1);if(L.ed25519!=null)Z.ed25519=String(L.ed25519);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.defaults)z.secp256k1="",z.ed25519="";if(L.secp256k1!=null&&L.hasOwnProperty("secp256k1"))z.secp256k1=L.secp256k1;if(L.ed25519!=null&&L.hasOwnProperty("ed25519"))z.ed25519=L.ed25519;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.Tx=(()=>{function H(X){if(this.coins=[],this.gas=[],X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.id="",H.prototype.chain="",H.prototype.fromAddress="",H.prototype.toAddress="",H.prototype.coins=W.emptyArray,H.prototype.gas=W.emptyArray,H.prototype.memo="",H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.id!=null&&Object.hasOwnProperty.call(L,"id"))Z.uint32(10).string(L.id);if(L.chain!=null&&Object.hasOwnProperty.call(L,"chain"))Z.uint32(18).string(L.chain);if(L.fromAddress!=null&&Object.hasOwnProperty.call(L,"fromAddress"))Z.uint32(26).string(L.fromAddress);if(L.toAddress!=null&&Object.hasOwnProperty.call(L,"toAddress"))Z.uint32(34).string(L.toAddress);if(L.coins?.length)for(let z=0;z<L.coins.length;++z)q.common.Coin.encode(L.coins[z],Z.uint32(42).fork()).ldelim();if(L.gas?.length)for(let z=0;z<L.gas.length;++z)q.common.Coin.encode(L.gas[z],Z.uint32(50).fork()).ldelim();if(L.memo!=null&&Object.hasOwnProperty.call(L,"memo"))Z.uint32(58).string(L.memo);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.Tx;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.id=L.string();break;case 2:Q.chain=L.string();break;case 3:Q.fromAddress=L.string();break;case 4:Q.toAddress=L.string();break;case 5:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(L,L.uint32()));break;case 6:if(!Q.gas?.length)Q.gas=[];Q.gas.push(q.common.Coin.decode(L,L.uint32()));break;case 7:Q.memo=L.string();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.id!=null&&L.hasOwnProperty("id")){if(!W.isString(L.id))return"id: string expected"}if(L.chain!=null&&L.hasOwnProperty("chain")){if(!W.isString(L.chain))return"chain: string expected"}if(L.fromAddress!=null&&L.hasOwnProperty("fromAddress")){if(!W.isString(L.fromAddress))return"fromAddress: string expected"}if(L.toAddress!=null&&L.hasOwnProperty("toAddress")){if(!W.isString(L.toAddress))return"toAddress: string expected"}if(L.coins!=null&&L.hasOwnProperty("coins")){if(!Array.isArray(L.coins))return"coins: array expected";for(let Z=0;Z<L.coins.length;++Z){let z=q.common.Coin.verify(L.coins[Z]);if(z)return"coins."+z}}if(L.gas!=null&&L.hasOwnProperty("gas")){if(!Array.isArray(L.gas))return"gas: array expected";for(let Z=0;Z<L.gas.length;++Z){let z=q.common.Coin.verify(L.gas[Z]);if(z)return"gas."+z}}if(L.memo!=null&&L.hasOwnProperty("memo")){if(!W.isString(L.memo))return"memo: string expected"}return null},H.fromObject=function(L){if(L instanceof q.common.Tx)return L;let Z=new q.common.Tx;if(L.id!=null)Z.id=String(L.id);if(L.chain!=null)Z.chain=String(L.chain);if(L.fromAddress!=null)Z.fromAddress=String(L.fromAddress);if(L.toAddress!=null)Z.toAddress=String(L.toAddress);if(L.coins){if(!Array.isArray(L.coins))throw TypeError(".common.Tx.coins: array expected");Z.coins=[];for(let z=0;z<L.coins.length;++z){if(typeof L.coins[z]!=="object")throw TypeError(".common.Tx.coins: object expected");Z.coins[z]=q.common.Coin.fromObject(L.coins[z])}}if(L.gas){if(!Array.isArray(L.gas))throw TypeError(".common.Tx.gas: array expected");Z.gas=[];for(let z=0;z<L.gas.length;++z){if(typeof L.gas[z]!=="object")throw TypeError(".common.Tx.gas: object expected");Z.gas[z]=q.common.Coin.fromObject(L.gas[z])}}if(L.memo!=null)Z.memo=String(L.memo);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.arrays||Z.defaults)z.coins=[],z.gas=[];if(Z.defaults)z.id="",z.chain="",z.fromAddress="",z.toAddress="",z.memo="";if(L.id!=null&&L.hasOwnProperty("id"))z.id=L.id;if(L.chain!=null&&L.hasOwnProperty("chain"))z.chain=L.chain;if(L.fromAddress!=null&&L.hasOwnProperty("fromAddress"))z.fromAddress=L.fromAddress;if(L.toAddress!=null&&L.hasOwnProperty("toAddress"))z.toAddress=L.toAddress;if(L.coins?.length){z.coins=[];for(let Q=0;Q<L.coins.length;++Q)z.coins[Q]=q.common.Coin.toObject(L.coins[Q],Z)}if(L.gas?.length){z.gas=[];for(let Q=0;Q<L.gas.length;++Q)z.gas[Q]=q.common.Coin.toObject(L.gas[Q],Z)}if(L.memo!=null&&L.hasOwnProperty("memo"))z.memo=L.memo;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.Fee=(()=>{function H(X){if(this.coins=[],X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.coins=W.emptyArray,H.prototype.poolDeduct="",H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.coins?.length)for(let z=0;z<L.coins.length;++z)q.common.Coin.encode(L.coins[z],Z.uint32(10).fork()).ldelim();if(L.poolDeduct!=null&&Object.hasOwnProperty.call(L,"poolDeduct"))Z.uint32(18).string(L.poolDeduct);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.Fee;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(L,L.uint32()));break;case 2:Q.poolDeduct=L.string();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.coins!=null&&L.hasOwnProperty("coins")){if(!Array.isArray(L.coins))return"coins: array expected";for(let Z=0;Z<L.coins.length;++Z){let z=q.common.Coin.verify(L.coins[Z]);if(z)return"coins."+z}}if(L.poolDeduct!=null&&L.hasOwnProperty("poolDeduct")){if(!W.isString(L.poolDeduct))return"poolDeduct: string expected"}return null},H.fromObject=function(L){if(L instanceof q.common.Fee)return L;let Z=new q.common.Fee;if(L.coins){if(!Array.isArray(L.coins))throw TypeError(".common.Fee.coins: array expected");Z.coins=[];for(let z=0;z<L.coins.length;++z){if(typeof L.coins[z]!=="object")throw TypeError(".common.Fee.coins: object expected");Z.coins[z]=q.common.Coin.fromObject(L.coins[z])}}if(L.poolDeduct!=null)Z.poolDeduct=String(L.poolDeduct);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.arrays||Z.defaults)z.coins=[];if(Z.defaults)z.poolDeduct="";if(L.coins?.length){z.coins=[];for(let Q=0;Q<L.coins.length;++Q)z.coins[Q]=q.common.Coin.toObject(L.coins[Q],Z)}if(L.poolDeduct!=null&&L.hasOwnProperty("poolDeduct"))z.poolDeduct=L.poolDeduct;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.ProtoUint=(()=>{function H(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.value="",H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.value!=null&&Object.hasOwnProperty.call(L,"value"))Z.uint32(10).string(L.value);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.common.ProtoUint;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.value=L.string();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.value!=null&&L.hasOwnProperty("value")){if(!W.isString(L.value))return"value: string expected"}return null},H.fromObject=function(L){if(L instanceof q.common.ProtoUint)return L;let Z=new q.common.ProtoUint;if(L.value!=null)Z.value=String(L.value);return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.defaults)z.value="";if(L.value!=null&&L.hasOwnProperty("value"))z.value=L.value;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y})();q.types=(()=>{let Y={};return Y.MsgDeposit=(()=>{function H(X){if(this.coins=[],X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.coins=W.emptyArray,H.prototype.memo="",H.prototype.signer=W.newBuffer([]),H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.coins?.length)for(let z=0;z<L.coins.length;++z)q.common.Coin.encode(L.coins[z],Z.uint32(10).fork()).ldelim();if(L.memo!=null&&Object.hasOwnProperty.call(L,"memo"))Z.uint32(18).string(L.memo);if(L.signer!=null&&Object.hasOwnProperty.call(L,"signer"))Z.uint32(26).bytes(L.signer);return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.types.MsgDeposit;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(L,L.uint32()));break;case 2:Q.memo=L.string();break;case 3:Q.signer=L.bytes();break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.coins!=null&&L.hasOwnProperty("coins")){if(!Array.isArray(L.coins))return"coins: array expected";for(let Z=0;Z<L.coins.length;++Z){let z=q.common.Coin.verify(L.coins[Z]);if(z)return"coins."+z}}if(L.memo!=null&&L.hasOwnProperty("memo")){if(!W.isString(L.memo))return"memo: string expected"}if(L.signer!=null&&L.hasOwnProperty("signer")){if(!(L.signer&&typeof L.signer.length==="number"||W.isString(L.signer)))return"signer: buffer expected"}return null},H.fromObject=function(L){if(L instanceof q.types.MsgDeposit)return L;let Z=new q.types.MsgDeposit;if(L.coins){if(!Array.isArray(L.coins))throw TypeError(".types.MsgDeposit.coins: array expected");Z.coins=[];for(let z=0;z<L.coins.length;++z){if(typeof L.coins[z]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");Z.coins[z]=q.common.Coin.fromObject(L.coins[z])}}if(L.memo!=null)Z.memo=String(L.memo);if(L.signer!=null){if(typeof L.signer==="string")W.base64.decode(L.signer,Z.signer=W.newBuffer(W.base64.length(L.signer)),0);else if(L.signer.length)Z.signer=L.signer}return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.arrays||Z.defaults)z.coins=[];if(Z.defaults){if(z.memo="",Z.bytes===String)z.signer="";else if(z.signer=[],Z.bytes!==Array)z.signer=W.newBuffer(z.signer)}if(L.coins?.length){z.coins=[];for(let Q=0;Q<L.coins.length;++Q)z.coins[Q]=q.common.Coin.toObject(L.coins[Q],Z)}if(L.memo!=null&&L.hasOwnProperty("memo"))z.memo=L.memo;if(L.signer!=null&&L.hasOwnProperty("signer"))z.signer=Z.bytes===String?W.base64.encode(L.signer,0,L.signer.length):Z.bytes===Array?Array.prototype.slice.call(L.signer):L.signer;return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y.MsgSend=(()=>{function H(X){if(this.amount=[],X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return H.prototype.fromAddress=W.newBuffer([]),H.prototype.toAddress=W.newBuffer([]),H.prototype.amount=W.emptyArray,H.create=function(L){return new H(L)},H.encode=function(L,Z){if(!Z)Z=f.create();if(L.fromAddress!=null&&Object.hasOwnProperty.call(L,"fromAddress"))Z.uint32(10).bytes(L.fromAddress);if(L.toAddress!=null&&Object.hasOwnProperty.call(L,"toAddress"))Z.uint32(18).bytes(L.toAddress);if(L.amount?.length)for(let z=0;z<L.amount.length;++z)q.cosmos.base.v1beta1.Coin.encode(L.amount[z],Z.uint32(26).fork()).ldelim();return Z},H.encodeDelimited=function(L,Z){return this.encode(L,Z).ldelim()},H.decode=function(L,Z){if(!(L instanceof T))L=T.create(L);let z=Z===void 0?L.len:L.pos+Z,Q=new q.types.MsgSend;while(L.pos<z){let J=L.uint32();switch(J>>>3){case 1:Q.fromAddress=L.bytes();break;case 2:Q.toAddress=L.bytes();break;case 3:if(!Q.amount?.length)Q.amount=[];Q.amount.push(q.cosmos.base.v1beta1.Coin.decode(L,L.uint32()));break;default:L.skipType(J&7);break}}return Q},H.decodeDelimited=function(L){if(!(L instanceof T))L=new T(L);return this.decode(L,L.uint32())},H.verify=function(L){if(typeof L!=="object"||L===null)return"object expected";if(L.fromAddress!=null&&L.hasOwnProperty("fromAddress")){if(!(L.fromAddress&&typeof L.fromAddress.length==="number"||W.isString(L.fromAddress)))return"fromAddress: buffer expected"}if(L.toAddress!=null&&L.hasOwnProperty("toAddress")){if(!(L.toAddress&&typeof L.toAddress.length==="number"||W.isString(L.toAddress)))return"toAddress: buffer expected"}if(L.amount!=null&&L.hasOwnProperty("amount")){if(!Array.isArray(L.amount))return"amount: array expected";for(let Z=0;Z<L.amount.length;++Z){let z=q.cosmos.base.v1beta1.Coin.verify(L.amount[Z]);if(z)return"amount."+z}}return null},H.fromObject=function(L){if(L instanceof q.types.MsgSend)return L;let Z=new q.types.MsgSend;if(L.fromAddress!=null){if(typeof L.fromAddress==="string")W.base64.decode(L.fromAddress,Z.fromAddress=W.newBuffer(W.base64.length(L.fromAddress)),0);else if(L.fromAddress.length)Z.fromAddress=L.fromAddress}if(L.toAddress!=null){if(typeof L.toAddress==="string")W.base64.decode(L.toAddress,Z.toAddress=W.newBuffer(W.base64.length(L.toAddress)),0);else if(L.toAddress.length)Z.toAddress=L.toAddress}if(L.amount){if(!Array.isArray(L.amount))throw TypeError(".types.MsgSend.amount: array expected");Z.amount=[];for(let z=0;z<L.amount.length;++z){if(typeof L.amount[z]!=="object")throw TypeError(".types.MsgSend.amount: object expected");Z.amount[z]=q.cosmos.base.v1beta1.Coin.fromObject(L.amount[z])}}return Z},H.toObject=function(L,Z){if(!Z)Z={};let z={};if(Z.arrays||Z.defaults)z.amount=[];if(Z.defaults){if(Z.bytes===String)z.fromAddress="";else if(z.fromAddress=[],Z.bytes!==Array)z.fromAddress=W.newBuffer(z.fromAddress);if(Z.bytes===String)z.toAddress="";else if(z.toAddress=[],Z.bytes!==Array)z.toAddress=W.newBuffer(z.toAddress)}if(L.fromAddress!=null&&L.hasOwnProperty("fromAddress"))z.fromAddress=Z.bytes===String?W.base64.encode(L.fromAddress,0,L.fromAddress.length):Z.bytes===Array?Array.prototype.slice.call(L.fromAddress):L.fromAddress;if(L.toAddress!=null&&L.hasOwnProperty("toAddress"))z.toAddress=Z.bytes===String?W.base64.encode(L.toAddress,0,L.toAddress.length):Z.bytes===Array?Array.prototype.slice.call(L.toAddress):L.toAddress;if(L.amount?.length){z.amount=[];for(let Q=0;Q<L.amount.length;++Q)z.amount[Q]=q.cosmos.base.v1beta1.Coin.toObject(L.amount[Q],Z)}return z},H.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},H})(),Y})();q.cosmos=(()=>{let Y={};return Y.base=(()=>{let H={};return H.v1beta1=(()=>{let X={};return X.Coin=(()=>{function L(Z){if(Z){for(let z=Object.keys(Z),Q=0;Q<z.length;++Q)if(Z[z[Q]]!=null)this[z[Q]]=Z[z[Q]]}}return L.prototype.denom="",L.prototype.amount="",L.create=function(z){return new L(z)},L.encode=function(z,Q){if(!Q)Q=f.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))Q.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))Q.uint32(18).string(z.amount);return Q},L.encodeDelimited=function(z,Q){return this.encode(z,Q).ldelim()},L.decode=function(z,Q){if(!(z instanceof T))z=T.create(z);let J=Q===void 0?z.len:z.pos+Q,_=new q.cosmos.base.v1beta1.Coin;while(z.pos<J){let E=z.uint32();switch(E>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(E&7);break}}return _},L.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},L.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!W.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!W.isString(z.amount))return"amount: string expected"}return null},L.fromObject=function(z){if(z instanceof q.cosmos.base.v1beta1.Coin)return z;let Q=new q.cosmos.base.v1beta1.Coin;if(z.denom!=null)Q.denom=String(z.denom);if(z.amount!=null)Q.amount=String(z.amount);return Q},L.toObject=function(z,Q){if(!Q)Q={};let J={};if(Q.defaults)J.denom="",J.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))J.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))J.amount=z.amount;return J},L.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},L})(),X.DecCoin=(()=>{function L(Z){if(Z){for(let z=Object.keys(Z),Q=0;Q<z.length;++Q)if(Z[z[Q]]!=null)this[z[Q]]=Z[z[Q]]}}return L.prototype.denom="",L.prototype.amount="",L.create=function(z){return new L(z)},L.encode=function(z,Q){if(!Q)Q=f.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))Q.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))Q.uint32(18).string(z.amount);return Q},L.encodeDelimited=function(z,Q){return this.encode(z,Q).ldelim()},L.decode=function(z,Q){if(!(z instanceof T))z=T.create(z);let J=Q===void 0?z.len:z.pos+Q,_=new q.cosmos.base.v1beta1.DecCoin;while(z.pos<J){let E=z.uint32();switch(E>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(E&7);break}}return _},L.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},L.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!W.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!W.isString(z.amount))return"amount: string expected"}return null},L.fromObject=function(z){if(z instanceof q.cosmos.base.v1beta1.DecCoin)return z;let Q=new q.cosmos.base.v1beta1.DecCoin;if(z.denom!=null)Q.denom=String(z.denom);if(z.amount!=null)Q.amount=String(z.amount);return Q},L.toObject=function(z,Q){if(!Q)Q={};let J={};if(Q.defaults)J.denom="",J.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))J.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))J.amount=z.amount;return J},L.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},L})(),X.IntProto=(()=>{function L(Z){if(Z){for(let z=Object.keys(Z),Q=0;Q<z.length;++Q)if(Z[z[Q]]!=null)this[z[Q]]=Z[z[Q]]}}return L.prototype.int="",L.create=function(z){return new L(z)},L.encode=function(z,Q){if(!Q)Q=f.create();if(z.int!=null&&Object.hasOwnProperty.call(z,"int"))Q.uint32(10).string(z.int);return Q},L.encodeDelimited=function(z,Q){return this.encode(z,Q).ldelim()},L.decode=function(z,Q){if(!(z instanceof T))z=T.create(z);let J=Q===void 0?z.len:z.pos+Q,_=new q.cosmos.base.v1beta1.IntProto;while(z.pos<J){let E=z.uint32();switch(E>>>3){case 1:_.int=z.string();break;default:z.skipType(E&7);break}}return _},L.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},L.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.int!=null&&z.hasOwnProperty("int")){if(!W.isString(z.int))return"int: string expected"}return null},L.fromObject=function(z){if(z instanceof q.cosmos.base.v1beta1.IntProto)return z;let Q=new q.cosmos.base.v1beta1.IntProto;if(z.int!=null)Q.int=String(z.int);return Q},L.toObject=function(z,Q){if(!Q)Q={};let J={};if(Q.defaults)J.int="";if(z.int!=null&&z.hasOwnProperty("int"))J.int=z.int;return J},L.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},L})(),X.DecProto=(()=>{function L(Z){if(Z){for(let z=Object.keys(Z),Q=0;Q<z.length;++Q)if(Z[z[Q]]!=null)this[z[Q]]=Z[z[Q]]}}return L.prototype.dec="",L.create=function(z){return new L(z)},L.encode=function(z,Q){if(!Q)Q=f.create();if(z.dec!=null&&Object.hasOwnProperty.call(z,"dec"))Q.uint32(10).string(z.dec);return Q},L.encodeDelimited=function(z,Q){return this.encode(z,Q).ldelim()},L.decode=function(z,Q){if(!(z instanceof T))z=T.create(z);let J=Q===void 0?z.len:z.pos+Q,_=new q.cosmos.base.v1beta1.DecProto;while(z.pos<J){let E=z.uint32();switch(E>>>3){case 1:_.dec=z.string();break;default:z.skipType(E&7);break}}return _},L.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},L.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.dec!=null&&z.hasOwnProperty("dec")){if(!W.isString(z.dec))return"dec: string expected"}return null},L.fromObject=function(z){if(z instanceof q.cosmos.base.v1beta1.DecProto)return z;let Q=new q.cosmos.base.v1beta1.DecProto;if(z.dec!=null)Q.dec=String(z.dec);return Q},L.toObject=function(z,Q){if(!Q)Q={};let J={};if(Q.defaults)J.dec="";if(z.dec!=null&&z.hasOwnProperty("dec"))J.dec=z.dec;return J},L.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},L})(),X})(),H})(),Y})()});async function c(){let{$root:Y}=await Promise.resolve().then(() => (u6(),$6)),H=await import("@cosmjs/proto-signing"),X=H.Registry??H.default?.Registry,L=await import("@cosmjs/stargate"),Z=L.defaultRegistryTypes??L.default?.defaultRegistryTypes;return new X([...Z,["/types.MsgSend",Y.types.MsgSend],["/types.MsgDeposit",Y.types.MsgDeposit]])}async function w(Y){let H=await import("@cosmjs/stargate"),X=H.AminoTypes??H.default?.AminoTypes,L=Y===h6.Chain.THORChain?"thorchain":"mayachain";return new X({"/types.MsgDeposit":{aminoType:`${L}/MsgDeposit`,fromAmino:({signer:Z,...z})=>({...z,signer:a(Z)}),toAmino:({signer:Z,...z})=>({...z,signer:s(Z)})},"/types.MsgSend":{aminoType:`${L}/MsgSend`,fromAmino:({from_address:Z,to_address:z,...Q})=>({...Q,fromAddress:a(Z),toAddress:a(z)}),toAmino:({fromAddress:Z,toAddress:z,...Q})=>({...Q,from_address:s(Z),to_address:s(z)})}})}var h6;var _6=F(()=>{q6();h6=require("@swapkit/helpers")});function N6(Y){return function(X){let{assetValue:L,recipient:Z,memo:z,sender:Q,asSignable:J,asAminoMessage:_}=X;if(Z)return j6(Y)({asAminoMessage:_,asSignable:J,assetValue:L,memo:z,recipient:Z,sender:Q});return b6(Y)({asAminoMessage:_,asSignable:J,assetValue:L,memo:z,sender:Q})}}function u(Y){if(Y.type==="thorchain/MsgSend"||Y.type==="mayachain/MsgSend")return Y;return{...Y,value:{...Y.value,coins:Y.value.coins.map((H)=>{let X=y.AssetValue.from({asset:H.asset}),L=(X.isSynthetic?X.symbol.split("/")?.[1]:X.symbol)?.toUpperCase(),Z=(X.isSynthetic?X.symbol.split("/")?.[0]:X.chain)?.toUpperCase();return{...H,asset:{chain:Z,symbol:L,synth:X.isSynthetic,ticker:X.ticker}}})}}}async function L6({chain:Y,memo:H,msgs:X}){let L=await c(),Z=await w(Y),z={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:H,messages:X.map((Q)=>Z.fromAmino(Q))}};return L.encode(z)}var y,J4,q4,I6=({sender:Y,recipient:H,assetValue:X})=>{return{type:`${X.chain===y.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol,!0)}],from_address:Y,to_address:H}}},E6=({sender:Y,assetValue:H,memo:X=""})=>{return{type:`${H.chain===y.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:H.getBaseValue("string"),asset:d(H)}],memo:X,signer:Y}}},X6=({sender:Y,recipient:H,assetValue:X,memo:L})=>{return!H?E6({assetValue:X,memo:L,sender:Y}):I6({assetValue:X,recipient:H,sender:Y})},$=async(Y,H)=>{return(await w(H)).fromAmino(Y)},l6=async({rpcUrl:Y,sender:H})=>{let L=await(await P(Y)).getAccount(H);if(!L)throw new y.SwapKitError("toolbox_cosmos_account_not_found",{sender:H});return L},j6=(Y)=>async({sender:H,recipient:X,assetValue:L,memo:Z="",asSignable:z=!0,asAminoMessage:Q=!1,sequence:J,accountNumber:_})=>{let E=await l6({rpcUrl:Y,sender:H}),A=L.chain,{chainId:k}=y.getChainConfig(A),I=I6({assetValue:L,recipient:X,sender:H}),x=z?await $(Q?I:u(I),A):I;return{accountNumber:_||E.accountNumber,chainId:k,fee:S(A),memo:Z,msgs:[x],sequence:J||E.sequence}},b6=(Y)=>async({sender:H,assetValue:X,memo:L="",asSignable:Z=!0,asAminoMessage:z=!1,sequence:Q,accountNumber:J})=>{let _=await l6({rpcUrl:Y,sender:H}),E=X.chain,{chainId:A}=y.getChainConfig(E),k=E6({assetValue:X,memo:L,sender:H}),I=Z?await $(z?k:u(k),E):k;return{accountNumber:J||_.accountNumber,chainId:A,fee:S(E),memo:L,msgs:[I],sequence:Q||_.sequence}};var p6=F(()=>{e();_6();y=require("@swapkit/helpers"),J4=S(y.Chain.THORChain).gas,q4=S(y.Chain.Maya).gas});var c6=()=>{};var d6=F(()=>{c6()});var O6=F(()=>{q6();p6();_6();d6()});async function A6(Y,H){try{let L=(await K6.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===Y)?.value;return L?Number.parseFloat(L):H}catch{return H}}async function v6({phrase:Y,prefix:H,...X}){let L=await import("@cosmjs/proto-signing"),Z=L.DirectSecp256k1HdWallet??L.default?.DirectSecp256k1HdWallet,z=await import("@cosmjs/crypto"),Q=z.stringToPath??z.default?.stringToPath,J="derivationPath"in X?X.derivationPath:`${G.DerivationPath[X.chain]}/${X.index}`;return Z.fromMnemonic(Y,{hdPaths:[Q(J)],prefix:H})}async function W4({privateKey:Y,prefix:H}){let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(Y,H)}function g6(Y){return async function({signature:X,message:L,address:Z}){let z=await Y(Z);if(!z?.pubkey)throw new G.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let Q=await import("@cosmjs/crypto"),J=Q.Secp256k1Signature??Q.default?.Secp256k1Signature,_=Q.Secp256k1??Q.default?.Secp256k1,E=J.fromFixedLength(h.base64.decode(X));return _.verifySignature(E,h.base64.decode(L),z.pubkey.value)}}async function Z6({chain:Y,...H}){let X=await G.getRPCUrl(Y),L=G.CosmosChainPrefixes[Y],Z="index"in H?H.index||0:0,z=G.derivationPathToString("derivationPath"in H&&H.derivationPath?H.derivationPath:G.updateDerivationPath(G.NetworkDerivationPath[Y],{index:Z})),Q=await z6.match(H).with({phrase:z6.P.string},({phrase:I})=>v6({derivationPath:z,phrase:I,prefix:L})).with({signer:z6.P.any},({signer:I})=>I).otherwise(()=>{return});async function J(I){return(await P(X)).getAccount(I)}async function _(){let[I]=await Q?.getAccounts()||[];return I?.address}async function E(){let[I]=await Q?.getAccounts()||[];if(!I?.pubkey)throw new G.SwapKitError("toolbox_cosmos_signer_not_defined");return h.base64.encode(I?.pubkey)}async function A({recipient:I,assetValue:x,memo:N="",feeRate:v,feeOptionKey:U=G.FeeOption.Fast}){let V=await _();if(!(Q&&V))throw new G.SwapKitError("toolbox_cosmos_signer_not_defined");let M=G.AssetValue.from({chain:Y}),m=d(M),g=v||n6((await U6(Y,x6[Y]))[U],m),i=await n(X,Q),b=D(x.symbol),p=x.getBaseValue("string"),{TxRaw:o}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),t={amount:[{amount:p,denom:b}],fromAddress:V,toAddress:I},V6=await i.sign(V,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:t}],g,N),J6=o.encode(V6).finish();return Buffer.from(J6).toString("hex")}async function k({recipient:I,assetValue:x,memo:N="",feeRate:v,feeOptionKey:U=G.FeeOption.Fast,dryRun:V=!1}){if(V)return A({assetValue:x,feeOptionKey:U,feeRate:v,memo:N,recipient:I});let M=await _();if(!(Q&&M))throw new G.SwapKitError("toolbox_cosmos_signer_not_defined");let m=G.AssetValue.from({chain:Y}),g=d(m),i=v||n6((await U6(Y,x6[Y]))[U],g),b=await n(X,Q),p=D(x.symbol),o=[{amount:x.getBaseValue("string"),denom:p}],{transactionHash:t}=await b.sendTokens(M,I,o,i,N);return t}return{createPrivateKeyFromPhrase:_4(z),createTransaction:G6,fetchFeeRateFromSwapKit:A6,getAccount:J,getAddress:_,getBalance:async(I,x)=>{let N=await m6(X)(I),v=await Promise.all(N.filter(({denom:U})=>U&&!U.includes("IBC/")&&!([G.Chain.THORChain,G.Chain.Maya].includes(Y)&&U.split("-").length>2)).map(({denom:U,amount:V})=>{let M=[G.Chain.THORChain,G.Chain.Maya].includes(Y)&&(U.includes("/")||U.includes("˜"))?`${Y}.${U}`:U;return T6(M,V)}));if(v.length===0)return[G.AssetValue.from({chain:Y})];return v},getBalanceAsDenoms:m6(X),getFees:()=>U6(Y,x6[Y]),getPubKey:E,getSignerFromPhrase:async({phrase:I,derivationPath:x})=>v6({derivationPath:G.derivationPathToString(x),index:Z,phrase:I,prefix:L}),getSignerFromPrivateKey:async(I)=>{let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(I,L)},signTransaction:A,transfer:k,validateAddress:i6(Y),verifySignature:g6(J)}}async function B4(Y,H){try{let L=(await K6.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===Y)?.value;return L?Number.parseFloat(L):H}catch{return H}}function G4({assetValue:{chain:Y}}){return G.AssetValue.from({chain:Y,value:T4(Y)})}async function U6(Y,H){let{chainId:X,baseDecimal:L}=G.getChainConfig(Y),Z=await A6(X,H);return{average:G.SwapKitNumber.fromBigInt(BigInt(Z),L),fast:G.SwapKitNumber.fromBigInt(BigInt(G.applyFeeMultiplier(Z,G.FeeOption.Fast,!0)),L),fastest:G.SwapKitNumber.fromBigInt(BigInt(G.applyFeeMultiplier(Z,G.FeeOption.Fastest,!0)),L)}}function n6(Y,H){return{amount:[{amount:Y.getBaseValue("string"),denom:H}],gas:"200000"}}function T4(Y){return{[G.Chain.Cosmos]:0.007,[G.Chain.Kujira]:0.02,[G.Chain.Noble]:0.01,[G.Chain.THORChain]:0.02,[G.Chain.Maya]:0.02,[G.Chain.Harbor]:0.02}[Y]||0}function i6(Y){let H=G.CosmosChainPrefixes[Y];return function(L){if(!L.startsWith(H))return!1;try{let{prefix:Z,words:z}=h.bech32.decode(L);return h.bech32.encode(Z,z)===L.toLocaleLowerCase()}catch{return!1}}}function m6(Y){return async function(X){return(await(await P(Y)).getAllBalances(X)).map((Q)=>({...Q,denom:Q.denom.includes("/")?Q.denom.toUpperCase():Q.denom}))}}function _4(Y){return async function(X){let L=await import("@cosmjs/crypto"),Z=L.stringToPath??L.default?.stringToPath,z=L.Slip10Curve??L.default?.Slip10Curve,Q=L.Slip10??L.default?.Slip10,J=L.EnglishMnemonic??L.default?.EnglishMnemonic,_=L.Bip39??L.default?.Bip39,E=new J(X),A=await _.mnemonicToSeed(E),{privkey:k}=Q.derivePath(z.Secp256k1,A,Z(Y));return k}}var h,G,K6,z6,x6;var Y6=F(()=>{e();h=require("@scure/base"),G=require("@swapkit/helpers"),K6=require("@swapkit/helpers/api"),z6=require("ts-pattern");x6={[G.Chain.Cosmos]:1000,[G.Chain.Kujira]:1000,[G.Chain.Noble]:1000,[G.Chain.THORChain]:5000000,[G.Chain.Maya]:5000000,[G.Chain.Harbor]:5000000}});function I4({prefix:Y,derivationPath:H}){return async function(L,Z=0){let z=await import("@cosmjs/amino"),Q=z.Secp256k1HdWallet??z.default?.Secp256k1HdWallet,J=await import("@cosmjs/crypto"),_=J.stringToPath??J.default?.stringToPath;return Q.fromMnemonic(L,{hdPaths:[_(`${H}/${Z}`)],prefix:Y})}}function E4(Y){return l.base64.encode(Y)}function N4(Y){return async function({wallet:X,tx:L}){let{msgs:Z,accountNumber:z,sequence:Q,chainId:J,fee:_,memo:E}=typeof L==="string"?JSON.parse(L):L,A=(await X.getAccounts())?.[0]?.address||"",k=await w(Y),I=await c(),x=await B6(X,{aminoTypes:k,registry:I}),N=[];for(let V of Z){let M=await $(V,Y);N.push(M)}let{signatures:[v]}=await x.sign(A,N,_,E,{accountNumber:z,chainId:J,sequence:Q});return{bodyBytes:await L6({chain:Y,memo:E,msgs:Z.map(u)}),signature:E4(v)}}}function O4({prefix:Y,rpcUrl:H}){return async function(L,Z,z,Q,J){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:E}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:A}=(await import("@cosmjs/stargate")).default,{sequence:k,fee:I}=JSON.parse(L),x=await o6(z,Q),N=Z.map((V)=>[E(_(l.base64.decode(V.pubKey)),Y),l.base64.decode(V.signature)]),v=await P(H),{transactionHash:U}=await v.broadcastTx(A(x,k,I,J,new Map(N)));return U}}async function o6(Y,H,X=!0){let{createMultisigThresholdPubkey:L,encodeSecp256k1Pubkey:Z}=(await import("@cosmjs/amino")).default;return L(Y.map((z)=>Z(l.base64.decode(z))),H,X)}function x4(Y){return l.base64.decode(Y)}async function U4({privateKey:Y,message:H}){let{Secp256k1:X}=(await import("@cosmjs/crypto")).default,L=await X.createSignature(l.base64.decode(H),Y);return l.base64.encode(Buffer.concat([L.r(32),L.s(32)]))}async function k6({chain:Y,...H}){let X=await O.getRPCUrl(Y),{nodeUrl:L}=O.getChainConfig(Y),{isStagenet:Z}=O.SKConfig.get("envs"),z=Y===O.Chain.THORChain,Q=`${Z?"s":""}${O.CosmosChainPrefixes[Y]}`,J="index"in H?H.index||0:0,_="derivationPath"in H&&H.derivationPath?H.derivationPath:O.updateDerivationPath(O.NetworkDerivationPath[Y],{index:J}),E=await Z6({chain:Y,...H}),A=await H6.match(H).with({phrase:H6.P.string},({phrase:N})=>E.getSignerFromPhrase({derivationPath:_,phrase:N})).with({signer:H6.P.any},({signer:N})=>N).otherwise(()=>{return}),k=S(Y);async function I(){let N,v=`${L}/${z?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:U}}=await O.RequestClient.get(v);if(!U||Number.isNaN(U)||U<0)throw new O.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:U.toString()});N=new O.SwapKitNumber(U)}catch{N=new O.SwapKitNumber({decimal:O.getChainConfig(Y).baseDecimal,value:z?0.02:1})}return{[O.FeeOption.Average]:N,[O.FeeOption.Fast]:N,[O.FeeOption.Fastest]:N}}async function x({assetValue:N,memo:v="",recipient:U}){let{TxRaw:V}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),M=(await A?.getAccounts())?.[0]?.address;if(!(M&&A))throw new O.SwapKitError("toolbox_cosmos_no_signer");let m="signAmino"in A,g=await c(),i=await w(Y),b=await n(X,A,{aminoTypes:i,registry:g}),p=X6({assetValue:N,memo:v,recipient:U,sender:M});if(m){let J6=await $(p,Y),{signatures:r6,authInfoBytes:a6}=await b.sign(M,[J6],k,v),s6=V.encode({authInfoBytes:a6,bodyBytes:await L6({chain:Y,memo:v,msgs:[p].map(u)}),signatures:r6}).finish();return(await b.broadcastTx(s6)).transactionHash}let o=u(p),t=await $(o,Y);return(await b.signAndBroadcast(M,[t],k,v)).transactionHash}return{...E,broadcastMultisigTx:O4({prefix:Q,rpcUrl:X}),buildAminoMsg:X6,buildEncodedTxBody:L6,convertToSignable:$,createDefaultAminoTypes:()=>w(Y),createDefaultRegistry:c,createMultisig:o6,createTransaction:N6(X),deposit:x,getFees:I,importSignature:x4,parseAminoMessageForDirectSigning:u,pubkeyToAddress:async(N)=>{let{pubkeyToAddress:v}=(await import("@cosmjs/amino")).default;return v(N,Q)},secp256k1HdWalletFromMnemonic:I4({derivationPath:O.derivationPathToString(_),prefix:Q}),signMultisigTx:N4(Y),signWithPrivateKey:U4,transfer:x}}var l,O,H6;var R6=F(()=>{O6();e();Y6();l=require("@scure/base"),O=require("@swapkit/helpers"),H6=require("ts-pattern")});var j,v4=(Y,H)=>{switch(Y){case j.Chain.Cosmos:case j.Chain.Kujira:case j.Chain.Noble:return Z6({chain:Y,...H});case j.Chain.Maya:case j.Chain.THORChain:return k6({chain:Y,...H});default:throw new j.SwapKitError("toolbox_cosmos_not_supported",{chain:Y})}};var t6=F(()=>{Y6();R6();j=require("@swapkit/helpers");Y6();R6()});var A4={};y6(A4,{verifySignature:()=>g6,transferMsgAmino:()=>I6,toBase64:()=>H4,parseAminoMessageForDirectSigning:()=>u,getSignerFromPrivateKey:()=>W4,getSignerFromPhrase:()=>v6,getMsgSendDenom:()=>D,getFeeRateFromSwapKit:()=>B4,getDenomWithChain:()=>d,getDefaultChainFee:()=>S,getCreateTransaction:()=>N6,getCosmosValidateAddress:()=>i6,getCosmosToolbox:()=>v4,getAssetFromDenom:()=>T6,fromBase64:()=>Q4,fetchFeeRateFromSwapKit:()=>A6,estimateTransactionFee:()=>G4,depositMsgAmino:()=>E6,createThorchainToolbox:()=>k6,createStargateClient:()=>P,createSigningStargateClient:()=>n,createOfflineStargateClient:()=>B6,createDefaultRegistry:()=>c,createDefaultAminoTypes:()=>w,createCosmosToolbox:()=>Z6,cosmosCreateTransaction:()=>G6,convertToSignable:()=>$,buildTransferTx:()=>j6,buildEncodedTxBody:()=>L6,buildDepositTx:()=>b6,buildAminoMsg:()=>X6,bech32ToBase64:()=>a,base64ToBech32:()=>s,YUM_KUJIRA_FACTORY_DENOM:()=>S6,USK_KUJIRA_FACTORY_DENOM:()=>W6,THORCHAIN_GAS_VALUE:()=>J4,MAYA_GAS_VALUE:()=>q4,DEFAULT_NOBLE_FEE_MAINNET:()=>w6,DEFAULT_KUJI_FEE_MAINNET:()=>C6,DEFAULT_COSMOS_FEE_MAINNET:()=>P6});module.exports=Z4(A4);var k4=F(()=>{O6();t6();e()});k4();
2
2
 
3
- //# debugId=0A479BDB313E39E064756E2164756E21
3
+ //# debugId=BA6951F2C300CEC964756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -9,12 +9,12 @@
9
9
  "import type { TxBodyEncodeObject } from \"@cosmjs/proto-signing\";\nimport { AssetValue, Chain, getChainConfig, SwapKitError, type TCLikeChain } from \"@swapkit/helpers\";\n\nimport { createStargateClient, getDefaultChainFee, getDenomWithChain, getMsgSendDenom } from \"../util\";\n\nimport { createDefaultAminoTypes, createDefaultRegistry } from \"./registry\";\nimport type { ThorchainCreateTransactionParams } from \"./types\";\n\ntype MsgSend = ReturnType<typeof transferMsgAmino>;\ntype MsgDeposit = ReturnType<typeof depositMsgAmino>;\ntype DirectMsgSendForBroadcast = ReturnType<typeof parseAminoMessageForDirectSigning<MsgSend>>;\ntype DirectMsgDepositForBroadcast = ReturnType<typeof parseAminoMessageForDirectSigning<MsgDeposit>>;\n\nexport const THORCHAIN_GAS_VALUE = getDefaultChainFee(Chain.THORChain).gas;\nexport const MAYA_GAS_VALUE = getDefaultChainFee(Chain.Maya).gas;\n\nexport const transferMsgAmino = ({\n sender,\n recipient,\n assetValue,\n}: {\n sender: string;\n recipient?: string;\n assetValue: AssetValue;\n}) => {\n const chain = assetValue.chain as typeof Chain.THORChain | typeof Chain.Maya;\n return {\n type: `${chain === Chain.Maya ? \"mayachain\" : \"thorchain\"}/MsgSend` as const,\n value: {\n amount: [{ amount: assetValue.getBaseValue(\"string\"), denom: getMsgSendDenom(assetValue.symbol, true) }],\n from_address: sender,\n to_address: recipient,\n },\n };\n};\n\nexport const depositMsgAmino = ({\n sender,\n assetValue,\n memo = \"\",\n}: {\n sender: string;\n assetValue: AssetValue;\n memo?: string;\n}) => {\n const chain = assetValue.chain as TCLikeChain;\n return {\n type: `${chain === Chain.Maya ? \"mayachain\" : \"thorchain\"}/MsgDeposit` as const,\n value: {\n coins: [{ amount: assetValue.getBaseValue(\"string\"), asset: getDenomWithChain(assetValue) }],\n memo,\n signer: sender,\n },\n };\n};\n\nexport const buildAminoMsg = ({\n sender,\n recipient,\n assetValue,\n memo,\n}: {\n sender: string;\n recipient?: string;\n assetValue: AssetValue;\n memo?: string;\n}) => {\n const isDeposit = !recipient;\n const msg = isDeposit\n ? depositMsgAmino({ assetValue, memo, sender })\n : transferMsgAmino({ assetValue, recipient, sender });\n\n return msg;\n};\n\nexport const convertToSignable = async (msg: MsgSend | MsgDeposit, chain: TCLikeChain) => {\n const aminoTypes = await createDefaultAminoTypes(chain);\n\n return aminoTypes.fromAmino(msg);\n};\n\nconst getAccount = async ({ rpcUrl, sender }: { sender: string; rpcUrl: string }) => {\n const client = await createStargateClient(rpcUrl);\n const account = await client.getAccount(sender);\n\n if (!account) {\n throw new SwapKitError(\"toolbox_cosmos_account_not_found\", { sender });\n }\n\n return account;\n};\n\nexport function getCreateTransaction(rpcUrl: string) {\n return function createTransaction(params: ThorchainCreateTransactionParams) {\n const { assetValue, recipient, memo, sender, asSignable, asAminoMessage } = params;\n\n if (recipient) {\n return buildTransferTx(rpcUrl)({ asAminoMessage, asSignable, assetValue, memo, recipient, sender });\n }\n\n return buildDepositTx(rpcUrl)({ asAminoMessage, asSignable, assetValue, memo, sender });\n };\n}\n\nexport const buildTransferTx =\n (rpcUrl: string) =>\n async ({\n sender,\n recipient,\n assetValue,\n memo = \"\",\n asSignable = true,\n asAminoMessage = false,\n sequence,\n accountNumber,\n }: ThorchainCreateTransactionParams) => {\n const account = await getAccount({ rpcUrl, sender });\n const chain = assetValue.chain as TCLikeChain;\n const { chainId } = getChainConfig(chain);\n\n const transferMsg = transferMsgAmino({ assetValue, recipient, sender });\n\n const msg = asSignable\n ? await convertToSignable(asAminoMessage ? transferMsg : parseAminoMessageForDirectSigning(transferMsg), chain)\n : transferMsg;\n\n const transaction = {\n accountNumber: accountNumber || account.accountNumber,\n chainId,\n fee: getDefaultChainFee(chain),\n memo,\n msgs: [msg],\n sequence: sequence || account.sequence,\n };\n\n return transaction;\n };\n\nexport const buildDepositTx =\n (rpcUrl: string) =>\n async ({\n sender,\n assetValue,\n memo = \"\",\n asSignable = true,\n asAminoMessage = false,\n sequence,\n accountNumber,\n }: ThorchainCreateTransactionParams) => {\n const account = await getAccount({ rpcUrl, sender });\n const chain = assetValue.chain as TCLikeChain;\n const { chainId } = getChainConfig(chain);\n\n const depositMsg = depositMsgAmino({ assetValue, memo, sender });\n\n const msg = asSignable\n ? await convertToSignable(\n asAminoMessage ? depositMsg : parseAminoMessageForDirectSigning<MsgDeposit>(depositMsg),\n chain,\n )\n : depositMsg;\n\n const transaction = {\n accountNumber: accountNumber || account.accountNumber,\n chainId,\n fee: getDefaultChainFee(chain),\n memo,\n msgs: [msg],\n sequence: sequence || account.sequence,\n };\n\n return transaction;\n };\n\nexport function parseAminoMessageForDirectSigning<T extends MsgDeposit | MsgSend>(msg: T) {\n if (msg.type === \"thorchain/MsgSend\" || msg.type === \"mayachain/MsgSend\") return msg as MsgSend;\n\n return {\n ...msg,\n value: {\n ...msg.value,\n coins: (msg as MsgDeposit).value.coins.map((coin: { asset: string; amount: string }) => {\n const assetValue = AssetValue.from({ asset: coin.asset });\n\n const symbol = (assetValue.isSynthetic ? assetValue.symbol.split(\"/\")?.[1] : assetValue.symbol)?.toUpperCase();\n const chain = (assetValue.isSynthetic ? assetValue.symbol.split(\"/\")?.[0] : assetValue.chain)?.toUpperCase();\n\n return { ...coin, asset: { chain, symbol, synth: assetValue.isSynthetic, ticker: assetValue.ticker } };\n }),\n },\n };\n}\n\nexport async function buildEncodedTxBody({\n chain,\n memo,\n msgs,\n}: {\n msgs: DirectMsgDepositForBroadcast[] | DirectMsgSendForBroadcast[];\n memo: string;\n chain: TCLikeChain;\n}) {\n const registry = await createDefaultRegistry();\n const aminoTypes = await createDefaultAminoTypes(chain);\n\n const signedTxBody: TxBodyEncodeObject = {\n typeUrl: \"/cosmos.tx.v1beta1.TxBody\",\n value: { memo, messages: msgs.map((msg) => aminoTypes.fromAmino(msg)) },\n };\n\n return registry.encode(signedTxBody);\n}\n",
10
10
  "export * from \"./client-types\";\n",
11
11
  "export * from \"./addressFormat\";\nexport * from \"./messages\";\nexport * from \"./registry\";\nexport * from \"./types\";\n",
12
- "import type { StdFee } from \"@cosmjs/amino\";\nimport type { Account } from \"@cosmjs/stargate\";\nimport { base64, bech32 } from \"@scure/base\";\nimport {\n AssetValue,\n applyFeeMultiplier,\n Chain,\n type ChainId,\n type CosmosChain,\n CosmosChainPrefixes,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n FeeOption,\n type GenericTransferParams,\n getChainConfig,\n getRPCUrl,\n NetworkDerivationPath,\n SwapKitError,\n SwapKitNumber,\n type TCLikeChain,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\nimport { match, P } from \"ts-pattern\";\nimport type { CosmosToolboxParams } from \"../types\";\nimport {\n cosmosCreateTransaction,\n createSigningStargateClient,\n createStargateClient,\n getAssetFromDenom,\n getDenomWithChain,\n getMsgSendDenom,\n} from \"../util\";\n\nexport async function fetchFeeRateFromSwapKit(chainId: ChainId, safeDefault: number) {\n try {\n const response = await SwapKitApi.getGasRate();\n const responseGasRate = response.find((gas) => gas.chainId === chainId)?.value;\n\n return responseGasRate ? Number.parseFloat(responseGasRate) : safeDefault;\n } catch {\n return safeDefault;\n }\n}\n\nexport async function getSignerFromPhrase({\n phrase,\n prefix,\n ...derivationParams\n}: { phrase: string; prefix?: string } & ({ chain: Chain; index?: number } | { derivationPath: string })) {\n const importedProtoSigning = await import(\"@cosmjs/proto-signing\");\n const DirectSecp256k1HdWallet =\n importedProtoSigning.DirectSecp256k1HdWallet ?? importedProtoSigning.default?.DirectSecp256k1HdWallet;\n const importedCrypto = await import(\"@cosmjs/crypto\");\n const stringToPath = importedCrypto.stringToPath ?? importedCrypto.default?.stringToPath;\n\n const derivationPath =\n \"derivationPath\" in derivationParams\n ? derivationParams.derivationPath\n : `${DerivationPath[derivationParams.chain]}/${derivationParams.index}`;\n\n return DirectSecp256k1HdWallet.fromMnemonic(phrase, { hdPaths: [stringToPath(derivationPath)], prefix });\n}\n\nexport async function getSignerFromPrivateKey({ privateKey, prefix }: { privateKey: Uint8Array; prefix: string }) {\n const importedProtoSigning = await import(\"@cosmjs/proto-signing\");\n const DirectSecp256k1Wallet =\n importedProtoSigning.DirectSecp256k1Wallet ?? importedProtoSigning.default?.DirectSecp256k1Wallet;\n\n return DirectSecp256k1Wallet.fromKey(privateKey, prefix);\n}\n\nconst SafeDefaultFeeValues = {\n [Chain.Cosmos]: 1000,\n [Chain.Kujira]: 1000,\n [Chain.Noble]: 1000,\n [Chain.THORChain]: 5000000,\n [Chain.Maya]: 5000000,\n [Chain.Harbor]: 5000000,\n};\n\nexport function verifySignature(getAccount: (address: string) => Promise<Account | null>) {\n return async function verifySignature({\n signature,\n message,\n address,\n }: {\n signature: string;\n message: string;\n address: string;\n }) {\n const account = await getAccount(address);\n if (!account?.pubkey) throw new SwapKitError(\"toolbox_cosmos_verify_signature_no_pubkey\");\n\n const importedCrypto = await import(\"@cosmjs/crypto\");\n const Secp256k1Signature = importedCrypto.Secp256k1Signature ?? importedCrypto.default?.Secp256k1Signature;\n const Secp256k1 = importedCrypto.Secp256k1 ?? importedCrypto.default?.Secp256k1;\n\n const secpSignature = Secp256k1Signature.fromFixedLength(base64.decode(signature));\n return Secp256k1.verifySignature(secpSignature, base64.decode(message), account.pubkey.value);\n };\n}\n\nexport async function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams) {\n const rpcUrl = await getRPCUrl(chain);\n const chainPrefix = CosmosChainPrefixes[chain];\n\n const index = \"index\" in toolboxParams ? toolboxParams.index || 0 : 0;\n const derivationPath = derivationPathToString(\n \"derivationPath\" in toolboxParams && toolboxParams.derivationPath\n ? toolboxParams.derivationPath\n : updateDerivationPath(NetworkDerivationPath[chain], { index }),\n );\n\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, ({ phrase }) => getSignerFromPhrase({ derivationPath, phrase, prefix: chainPrefix }))\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n async function getAccount(address: string) {\n const client = await createStargateClient(rpcUrl);\n return client.getAccount(address);\n }\n\n async function getAddress() {\n const [account] = (await signer?.getAccounts()) || [];\n return account?.address;\n }\n\n async function getPubKey() {\n const [account] = (await signer?.getAccounts()) || [];\n if (!account?.pubkey) {\n throw new SwapKitError(\"toolbox_cosmos_signer_not_defined\");\n }\n return base64.encode(account?.pubkey);\n }\n\n async function signTransaction({\n recipient,\n assetValue,\n memo = \"\",\n feeRate,\n feeOptionKey = FeeOption.Fast,\n }: GenericTransferParams) {\n const from = await getAddress();\n\n if (!(signer && from)) {\n throw new SwapKitError(\"toolbox_cosmos_signer_not_defined\");\n }\n\n const feeAssetValue = AssetValue.from({ chain });\n const assetDenom = getDenomWithChain(feeAssetValue);\n const txFee = feeRate || feeToStdFee((await getFees(chain, SafeDefaultFeeValues[chain]))[feeOptionKey], assetDenom);\n\n const signingClient = await createSigningStargateClient(rpcUrl, signer);\n const denom = getMsgSendDenom(assetValue.symbol);\n const amount = assetValue.getBaseValue(\"string\");\n\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx\");\n\n const msgSend = { amount: [{ amount, denom }], fromAddress: from, toAddress: recipient };\n\n const txRaw = await signingClient.sign(\n from,\n [{ typeUrl: \"/cosmos.bank.v1beta1.MsgSend\", value: msgSend }],\n txFee as StdFee,\n memo,\n );\n\n const txBytes = TxRaw.encode(txRaw).finish();\n return Buffer.from(txBytes).toString(\"hex\");\n }\n\n async function transfer({\n recipient,\n assetValue,\n memo = \"\",\n feeRate,\n feeOptionKey = FeeOption.Fast,\n dryRun = false,\n }: GenericTransferParams & { dryRun?: boolean }) {\n if (dryRun) {\n return signTransaction({ assetValue, feeOptionKey, feeRate, memo, recipient });\n }\n\n const from = await getAddress();\n\n if (!(signer && from)) {\n throw new SwapKitError(\"toolbox_cosmos_signer_not_defined\");\n }\n\n const feeAssetValue = AssetValue.from({ chain });\n const assetDenom = getDenomWithChain(feeAssetValue);\n const txFee = feeRate || feeToStdFee((await getFees(chain, SafeDefaultFeeValues[chain]))[feeOptionKey], assetDenom);\n\n const signingClient = await createSigningStargateClient(rpcUrl, signer);\n const denom = getMsgSendDenom(assetValue.symbol);\n const message = [{ amount: assetValue.getBaseValue(\"string\"), denom }];\n\n const { transactionHash } = await signingClient.sendTokens(from, recipient, message, txFee, memo);\n\n return transactionHash;\n }\n\n return {\n createPrivateKeyFromPhrase: createPrivateKeyFromPhrase(derivationPath),\n createTransaction: cosmosCreateTransaction,\n fetchFeeRateFromSwapKit,\n getAccount,\n getAddress,\n getBalance: async (address: string, _potentialScamFilter?: boolean) => {\n const denomBalances = await cosmosBalanceDenomsGetter(rpcUrl)(address);\n const balances = await Promise.all(\n denomBalances\n .filter(({ denom }) => denom && !denom.includes(\"IBC/\"))\n .map(({ denom, amount }) => {\n const fullDenom =\n [Chain.THORChain, Chain.Maya].includes(chain as TCLikeChain) &&\n (denom.includes(\"/\") || denom.includes(\"˜\"))\n ? `${chain}.${denom}`\n : denom;\n return getAssetFromDenom(fullDenom, amount);\n }),\n );\n\n if (balances.length === 0) {\n return [AssetValue.from({ chain })];\n }\n\n return balances;\n },\n getBalanceAsDenoms: cosmosBalanceDenomsGetter(rpcUrl),\n getFees: () => getFees(chain, SafeDefaultFeeValues[chain]),\n getPubKey,\n getSignerFromPhrase: async ({ phrase, derivationPath }: { phrase: string; derivationPath: DerivationPathArray }) =>\n getSignerFromPhrase({\n derivationPath: derivationPathToString(derivationPath),\n index,\n phrase,\n prefix: chainPrefix,\n }),\n getSignerFromPrivateKey: async (privateKey: Uint8Array) => {\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const DirectSecp256k1Wallet =\n importedSigning.DirectSecp256k1Wallet ?? importedSigning.default?.DirectSecp256k1Wallet;\n return DirectSecp256k1Wallet.fromKey(privateKey, chainPrefix);\n },\n signTransaction,\n transfer,\n validateAddress: getCosmosValidateAddress(chain),\n verifySignature: verifySignature(getAccount),\n };\n}\n\nexport async function getFeeRateFromSwapKit(chainId: ChainId, safeDefault: number) {\n try {\n const response = await SwapKitApi.getGasRate();\n const responseGasRate = response.find((gas) => gas.chainId === chainId)?.value;\n\n return responseGasRate ? Number.parseFloat(responseGasRate) : safeDefault;\n } catch {\n return safeDefault;\n }\n}\n\nexport function estimateTransactionFee({ assetValue: { chain } }: { assetValue: AssetValue }) {\n return AssetValue.from({ chain, value: getMinTransactionFee(chain) });\n}\n\nasync function getFees(chain: Chain, safeDefault: number) {\n const { chainId, baseDecimal } = getChainConfig(chain);\n\n const baseFee = await fetchFeeRateFromSwapKit(chainId, safeDefault);\n return {\n average: SwapKitNumber.fromBigInt(BigInt(baseFee), baseDecimal),\n fast: SwapKitNumber.fromBigInt(BigInt(applyFeeMultiplier(baseFee, FeeOption.Fast, true)), baseDecimal),\n fastest: SwapKitNumber.fromBigInt(BigInt(applyFeeMultiplier(baseFee, FeeOption.Fastest, true)), baseDecimal),\n } as { [key in FeeOption]: SwapKitNumber };\n}\n\nfunction feeToStdFee(fee: SwapKitNumber, denom: string): StdFee {\n return { amount: [{ amount: fee.getBaseValue(\"string\"), denom }], gas: \"200000\" };\n}\n\nfunction getMinTransactionFee(chain: Chain) {\n return (\n {\n [Chain.Cosmos]: 0.007,\n [Chain.Kujira]: 0.02,\n [Chain.Noble]: 0.01,\n [Chain.THORChain]: 0.02,\n [Chain.Maya]: 0.02,\n [Chain.Harbor]: 0.02,\n }[chain as CosmosChain] || 0\n );\n}\n\nexport function getCosmosValidateAddress(chain: CosmosChain) {\n const chainPrefix = CosmosChainPrefixes[chain];\n return function validateAddress(address: string) {\n if (!address.startsWith(chainPrefix)) return false;\n\n try {\n const { prefix, words } = bech32.decode(address as `${string}1${string}`);\n const normalized = bech32.encode(prefix, words);\n\n return normalized === address.toLocaleLowerCase();\n } catch {\n return false;\n }\n };\n}\n\nfunction cosmosBalanceDenomsGetter(rpcUrl: string) {\n return async function getCosmosBalanceDenoms(address: string) {\n const client = await createStargateClient(rpcUrl);\n const allBalances = await client.getAllBalances(address);\n\n const balances = allBalances.map((balance) => ({\n ...balance,\n denom: balance.denom.includes(\"/\") ? balance.denom.toUpperCase() : balance.denom,\n }));\n\n return balances;\n };\n}\n\nfunction createPrivateKeyFromPhrase(derivationPath: string) {\n return async function createPrivateKeyFromPhrase(phrase: string) {\n const importedCrypto = await import(\"@cosmjs/crypto\");\n const stringToPath = importedCrypto.stringToPath ?? importedCrypto.default?.stringToPath;\n const Slip10Curve = importedCrypto.Slip10Curve ?? importedCrypto.default?.Slip10Curve;\n const Slip10 = importedCrypto.Slip10 ?? importedCrypto.default?.Slip10;\n const EnglishMnemonic = importedCrypto.EnglishMnemonic ?? importedCrypto.default?.EnglishMnemonic;\n const Bip39 = importedCrypto.Bip39 ?? importedCrypto.default?.Bip39;\n\n const mnemonicChecked = new EnglishMnemonic(phrase);\n const seed = await Bip39.mnemonicToSeed(mnemonicChecked);\n\n const { privkey } = Slip10.derivePath(Slip10Curve.Secp256k1, seed, stringToPath(derivationPath));\n\n return privkey;\n };\n}\n",
12
+ "import type { StdFee } from \"@cosmjs/amino\";\nimport type { Account } from \"@cosmjs/stargate\";\nimport { base64, bech32 } from \"@scure/base\";\nimport {\n AssetValue,\n applyFeeMultiplier,\n Chain,\n type ChainId,\n type CosmosChain,\n CosmosChainPrefixes,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n FeeOption,\n type GenericTransferParams,\n getChainConfig,\n getRPCUrl,\n NetworkDerivationPath,\n SwapKitError,\n SwapKitNumber,\n type TCLikeChain,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\nimport { match, P } from \"ts-pattern\";\nimport type { CosmosToolboxParams } from \"../types\";\nimport {\n cosmosCreateTransaction,\n createSigningStargateClient,\n createStargateClient,\n getAssetFromDenom,\n getDenomWithChain,\n getMsgSendDenom,\n} from \"../util\";\n\nexport async function fetchFeeRateFromSwapKit(chainId: ChainId, safeDefault: number) {\n try {\n const response = await SwapKitApi.getGasRate();\n const responseGasRate = response.find((gas) => gas.chainId === chainId)?.value;\n\n return responseGasRate ? Number.parseFloat(responseGasRate) : safeDefault;\n } catch {\n return safeDefault;\n }\n}\n\nexport async function getSignerFromPhrase({\n phrase,\n prefix,\n ...derivationParams\n}: { phrase: string; prefix?: string } & ({ chain: Chain; index?: number } | { derivationPath: string })) {\n const importedProtoSigning = await import(\"@cosmjs/proto-signing\");\n const DirectSecp256k1HdWallet =\n importedProtoSigning.DirectSecp256k1HdWallet ?? importedProtoSigning.default?.DirectSecp256k1HdWallet;\n const importedCrypto = await import(\"@cosmjs/crypto\");\n const stringToPath = importedCrypto.stringToPath ?? importedCrypto.default?.stringToPath;\n\n const derivationPath =\n \"derivationPath\" in derivationParams\n ? derivationParams.derivationPath\n : `${DerivationPath[derivationParams.chain]}/${derivationParams.index}`;\n\n return DirectSecp256k1HdWallet.fromMnemonic(phrase, { hdPaths: [stringToPath(derivationPath)], prefix });\n}\n\nexport async function getSignerFromPrivateKey({ privateKey, prefix }: { privateKey: Uint8Array; prefix: string }) {\n const importedProtoSigning = await import(\"@cosmjs/proto-signing\");\n const DirectSecp256k1Wallet =\n importedProtoSigning.DirectSecp256k1Wallet ?? importedProtoSigning.default?.DirectSecp256k1Wallet;\n\n return DirectSecp256k1Wallet.fromKey(privateKey, prefix);\n}\n\nconst SafeDefaultFeeValues = {\n [Chain.Cosmos]: 1000,\n [Chain.Kujira]: 1000,\n [Chain.Noble]: 1000,\n [Chain.THORChain]: 5000000,\n [Chain.Maya]: 5000000,\n [Chain.Harbor]: 5000000,\n};\n\nexport function verifySignature(getAccount: (address: string) => Promise<Account | null>) {\n return async function verifySignature({\n signature,\n message,\n address,\n }: {\n signature: string;\n message: string;\n address: string;\n }) {\n const account = await getAccount(address);\n if (!account?.pubkey) throw new SwapKitError(\"toolbox_cosmos_verify_signature_no_pubkey\");\n\n const importedCrypto = await import(\"@cosmjs/crypto\");\n const Secp256k1Signature = importedCrypto.Secp256k1Signature ?? importedCrypto.default?.Secp256k1Signature;\n const Secp256k1 = importedCrypto.Secp256k1 ?? importedCrypto.default?.Secp256k1;\n\n const secpSignature = Secp256k1Signature.fromFixedLength(base64.decode(signature));\n return Secp256k1.verifySignature(secpSignature, base64.decode(message), account.pubkey.value);\n };\n}\n\nexport async function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams) {\n const rpcUrl = await getRPCUrl(chain);\n const chainPrefix = CosmosChainPrefixes[chain];\n\n const index = \"index\" in toolboxParams ? toolboxParams.index || 0 : 0;\n const derivationPath = derivationPathToString(\n \"derivationPath\" in toolboxParams && toolboxParams.derivationPath\n ? toolboxParams.derivationPath\n : updateDerivationPath(NetworkDerivationPath[chain], { index }),\n );\n\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, ({ phrase }) => getSignerFromPhrase({ derivationPath, phrase, prefix: chainPrefix }))\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n async function getAccount(address: string) {\n const client = await createStargateClient(rpcUrl);\n return client.getAccount(address);\n }\n\n async function getAddress() {\n const [account] = (await signer?.getAccounts()) || [];\n return account?.address;\n }\n\n async function getPubKey() {\n const [account] = (await signer?.getAccounts()) || [];\n if (!account?.pubkey) {\n throw new SwapKitError(\"toolbox_cosmos_signer_not_defined\");\n }\n return base64.encode(account?.pubkey);\n }\n\n async function signTransaction({\n recipient,\n assetValue,\n memo = \"\",\n feeRate,\n feeOptionKey = FeeOption.Fast,\n }: GenericTransferParams) {\n const from = await getAddress();\n\n if (!(signer && from)) {\n throw new SwapKitError(\"toolbox_cosmos_signer_not_defined\");\n }\n\n const feeAssetValue = AssetValue.from({ chain });\n const assetDenom = getDenomWithChain(feeAssetValue);\n const txFee = feeRate || feeToStdFee((await getFees(chain, SafeDefaultFeeValues[chain]))[feeOptionKey], assetDenom);\n\n const signingClient = await createSigningStargateClient(rpcUrl, signer);\n const denom = getMsgSendDenom(assetValue.symbol);\n const amount = assetValue.getBaseValue(\"string\");\n\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx\");\n\n const msgSend = { amount: [{ amount, denom }], fromAddress: from, toAddress: recipient };\n\n const txRaw = await signingClient.sign(\n from,\n [{ typeUrl: \"/cosmos.bank.v1beta1.MsgSend\", value: msgSend }],\n txFee as StdFee,\n memo,\n );\n\n const txBytes = TxRaw.encode(txRaw).finish();\n return Buffer.from(txBytes).toString(\"hex\");\n }\n\n async function transfer({\n recipient,\n assetValue,\n memo = \"\",\n feeRate,\n feeOptionKey = FeeOption.Fast,\n dryRun = false,\n }: GenericTransferParams & { dryRun?: boolean }) {\n if (dryRun) {\n return signTransaction({ assetValue, feeOptionKey, feeRate, memo, recipient });\n }\n\n const from = await getAddress();\n\n if (!(signer && from)) {\n throw new SwapKitError(\"toolbox_cosmos_signer_not_defined\");\n }\n\n const feeAssetValue = AssetValue.from({ chain });\n const assetDenom = getDenomWithChain(feeAssetValue);\n const txFee = feeRate || feeToStdFee((await getFees(chain, SafeDefaultFeeValues[chain]))[feeOptionKey], assetDenom);\n\n const signingClient = await createSigningStargateClient(rpcUrl, signer);\n const denom = getMsgSendDenom(assetValue.symbol);\n const message = [{ amount: assetValue.getBaseValue(\"string\"), denom }];\n\n const { transactionHash } = await signingClient.sendTokens(from, recipient, message, txFee, memo);\n\n return transactionHash;\n }\n\n return {\n createPrivateKeyFromPhrase: createPrivateKeyFromPhrase(derivationPath),\n createTransaction: cosmosCreateTransaction,\n fetchFeeRateFromSwapKit,\n getAccount,\n getAddress,\n getBalance: async (address: string, _potentialScamFilter?: boolean) => {\n const denomBalances = await cosmosBalanceDenomsGetter(rpcUrl)(address);\n const balances = await Promise.all(\n denomBalances\n .filter(\n ({ denom }) =>\n denom &&\n !denom.includes(\"IBC/\") &&\n !([Chain.THORChain, Chain.Maya].includes(chain as TCLikeChain) && denom.split(\"-\").length > 2),\n )\n .map(({ denom, amount }) => {\n const fullDenom =\n [Chain.THORChain, Chain.Maya].includes(chain as TCLikeChain) &&\n (denom.includes(\"/\") || denom.includes(\"˜\"))\n ? `${chain}.${denom}`\n : denom;\n return getAssetFromDenom(fullDenom, amount);\n }),\n );\n\n if (balances.length === 0) {\n return [AssetValue.from({ chain })];\n }\n\n return balances;\n },\n getBalanceAsDenoms: cosmosBalanceDenomsGetter(rpcUrl),\n getFees: () => getFees(chain, SafeDefaultFeeValues[chain]),\n getPubKey,\n getSignerFromPhrase: async ({ phrase, derivationPath }: { phrase: string; derivationPath: DerivationPathArray }) =>\n getSignerFromPhrase({\n derivationPath: derivationPathToString(derivationPath),\n index,\n phrase,\n prefix: chainPrefix,\n }),\n getSignerFromPrivateKey: async (privateKey: Uint8Array) => {\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const DirectSecp256k1Wallet =\n importedSigning.DirectSecp256k1Wallet ?? importedSigning.default?.DirectSecp256k1Wallet;\n return DirectSecp256k1Wallet.fromKey(privateKey, chainPrefix);\n },\n signTransaction,\n transfer,\n validateAddress: getCosmosValidateAddress(chain),\n verifySignature: verifySignature(getAccount),\n };\n}\n\nexport async function getFeeRateFromSwapKit(chainId: ChainId, safeDefault: number) {\n try {\n const response = await SwapKitApi.getGasRate();\n const responseGasRate = response.find((gas) => gas.chainId === chainId)?.value;\n\n return responseGasRate ? Number.parseFloat(responseGasRate) : safeDefault;\n } catch {\n return safeDefault;\n }\n}\n\nexport function estimateTransactionFee({ assetValue: { chain } }: { assetValue: AssetValue }) {\n return AssetValue.from({ chain, value: getMinTransactionFee(chain) });\n}\n\nasync function getFees(chain: Chain, safeDefault: number) {\n const { chainId, baseDecimal } = getChainConfig(chain);\n\n const baseFee = await fetchFeeRateFromSwapKit(chainId, safeDefault);\n return {\n average: SwapKitNumber.fromBigInt(BigInt(baseFee), baseDecimal),\n fast: SwapKitNumber.fromBigInt(BigInt(applyFeeMultiplier(baseFee, FeeOption.Fast, true)), baseDecimal),\n fastest: SwapKitNumber.fromBigInt(BigInt(applyFeeMultiplier(baseFee, FeeOption.Fastest, true)), baseDecimal),\n } as { [key in FeeOption]: SwapKitNumber };\n}\n\nfunction feeToStdFee(fee: SwapKitNumber, denom: string): StdFee {\n return { amount: [{ amount: fee.getBaseValue(\"string\"), denom }], gas: \"200000\" };\n}\n\nfunction getMinTransactionFee(chain: Chain) {\n return (\n {\n [Chain.Cosmos]: 0.007,\n [Chain.Kujira]: 0.02,\n [Chain.Noble]: 0.01,\n [Chain.THORChain]: 0.02,\n [Chain.Maya]: 0.02,\n [Chain.Harbor]: 0.02,\n }[chain as CosmosChain] || 0\n );\n}\n\nexport function getCosmosValidateAddress(chain: CosmosChain) {\n const chainPrefix = CosmosChainPrefixes[chain];\n return function validateAddress(address: string) {\n if (!address.startsWith(chainPrefix)) return false;\n\n try {\n const { prefix, words } = bech32.decode(address as `${string}1${string}`);\n const normalized = bech32.encode(prefix, words);\n\n return normalized === address.toLocaleLowerCase();\n } catch {\n return false;\n }\n };\n}\n\nfunction cosmosBalanceDenomsGetter(rpcUrl: string) {\n return async function getCosmosBalanceDenoms(address: string) {\n const client = await createStargateClient(rpcUrl);\n const allBalances = await client.getAllBalances(address);\n\n const balances = allBalances.map((balance) => ({\n ...balance,\n denom: balance.denom.includes(\"/\") ? balance.denom.toUpperCase() : balance.denom,\n }));\n\n return balances;\n };\n}\n\nfunction createPrivateKeyFromPhrase(derivationPath: string) {\n return async function createPrivateKeyFromPhrase(phrase: string) {\n const importedCrypto = await import(\"@cosmjs/crypto\");\n const stringToPath = importedCrypto.stringToPath ?? importedCrypto.default?.stringToPath;\n const Slip10Curve = importedCrypto.Slip10Curve ?? importedCrypto.default?.Slip10Curve;\n const Slip10 = importedCrypto.Slip10 ?? importedCrypto.default?.Slip10;\n const EnglishMnemonic = importedCrypto.EnglishMnemonic ?? importedCrypto.default?.EnglishMnemonic;\n const Bip39 = importedCrypto.Bip39 ?? importedCrypto.default?.Bip39;\n\n const mnemonicChecked = new EnglishMnemonic(phrase);\n const seed = await Bip39.mnemonicToSeed(mnemonicChecked);\n\n const { privkey } = Slip10.derivePath(Slip10Curve.Secp256k1, seed, stringToPath(derivationPath));\n\n return privkey;\n };\n}\n",
13
13
  "import type { Pubkey, Secp256k1HdWallet } from \"@cosmjs/amino\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n CosmosChainPrefixes,\n derivationPathToString,\n FeeOption,\n type GenericTransferParams,\n getChainConfig,\n getRPCUrl,\n NetworkDerivationPath,\n RequestClient,\n SKConfig,\n SwapKitError,\n SwapKitNumber,\n type TCLikeChain,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\n\nimport { match, P } from \"ts-pattern\";\nimport {\n buildAminoMsg,\n buildEncodedTxBody,\n convertToSignable,\n createDefaultAminoTypes,\n createDefaultRegistry,\n getCreateTransaction,\n parseAminoMessageForDirectSigning,\n} from \"../thorchainUtils\";\nimport type { ThorchainConstantsResponse } from \"../thorchainUtils/types/client-types\";\nimport type { CosmosToolboxParams, MultiSigSigner, MultisigTx } from \"../types\";\nimport {\n createOfflineStargateClient,\n createSigningStargateClient,\n createStargateClient,\n getDefaultChainFee,\n} from \"../util\";\nimport { createCosmosToolbox } from \"./cosmos\";\n\nfunction secp256k1HdWalletFromMnemonic({ prefix, derivationPath }: { prefix: string; derivationPath?: string }) {\n return async function secp256k1HdWalletFromMnemonic(mnemonic: string, index = 0) {\n const importedAmino = await import(\"@cosmjs/amino\");\n const Secp256k1HdWallet = importedAmino.Secp256k1HdWallet ?? importedAmino.default?.Secp256k1HdWallet;\n const importedCrypto = await import(\"@cosmjs/crypto\");\n const stringToPath = importedCrypto.stringToPath ?? importedCrypto.default?.stringToPath;\n\n return Secp256k1HdWallet.fromMnemonic(mnemonic, { hdPaths: [stringToPath(`${derivationPath}/${index}`)], prefix });\n };\n}\n\nfunction exportSignature(signature: Uint8Array) {\n return base64.encode(signature);\n}\n\nfunction signMultisigTx(chain: TCLikeChain) {\n return async function signMultisigTx({ wallet, tx }: { wallet: Secp256k1HdWallet; tx: string | MultisigTx }) {\n const { msgs, accountNumber, sequence, chainId, fee, memo } = typeof tx === \"string\" ? JSON.parse(tx) : tx;\n\n const address = (await wallet.getAccounts())?.[0]?.address || \"\";\n const aminoTypes = await createDefaultAminoTypes(chain);\n const registry = await createDefaultRegistry();\n const signingClient = await createOfflineStargateClient(wallet, { aminoTypes, registry });\n const msgForSigning = [];\n\n for (const msg of msgs) {\n const signMsg = await convertToSignable(msg, chain);\n msgForSigning.push(signMsg);\n }\n\n const {\n signatures: [signature],\n } = await signingClient.sign(address, msgForSigning, fee, memo, { accountNumber, chainId, sequence });\n\n const bodyBytes = await buildEncodedTxBody({ chain, memo, msgs: msgs.map(parseAminoMessageForDirectSigning) });\n\n return { bodyBytes, signature: exportSignature(signature as Uint8Array) };\n };\n}\n\nfunction broadcastMultisigTx({ prefix, rpcUrl }: { prefix: string; rpcUrl: string }) {\n return async function broadcastMultisigTx(\n tx: string,\n signers: MultiSigSigner[],\n membersPubKeys: string[],\n threshold: number,\n bodyBytes: Uint8Array,\n ) {\n const { encodeSecp256k1Pubkey, pubkeyToAddress } = (await import(\"@cosmjs/amino\")).default;\n const { makeMultisignedTxBytes } = (await import(\"@cosmjs/stargate\")).default;\n\n const { sequence, fee } = JSON.parse(tx);\n const multisigPubkey = await createMultisig(membersPubKeys, threshold);\n\n const addressesAndSignatures: [string, Uint8Array][] = signers.map((signer) => [\n pubkeyToAddress(encodeSecp256k1Pubkey(base64.decode(signer.pubKey)), prefix),\n base64.decode(signer.signature),\n ]);\n\n const broadcaster = await createStargateClient(rpcUrl);\n\n const { transactionHash } = await broadcaster.broadcastTx(\n makeMultisignedTxBytes(\n multisigPubkey,\n sequence,\n fee,\n bodyBytes,\n new Map<string, Uint8Array>(addressesAndSignatures),\n ),\n );\n\n return transactionHash;\n };\n}\n\nasync function createMultisig(pubKeys: string[], threshold: number, noSortPubKeys = true) {\n const { createMultisigThresholdPubkey, encodeSecp256k1Pubkey } = (await import(\"@cosmjs/amino\")).default;\n return createMultisigThresholdPubkey(\n pubKeys.map((pubKey) => encodeSecp256k1Pubkey(base64.decode(pubKey))),\n threshold,\n noSortPubKeys,\n );\n}\n\nfunction importSignature(signature: string) {\n return base64.decode(signature);\n}\n\nasync function signWithPrivateKey({ privateKey, message }: { privateKey: Uint8Array; message: string }) {\n const { Secp256k1 } = (await import(\"@cosmjs/crypto\")).default;\n\n const signature = await Secp256k1.createSignature(base64.decode(message), privateKey);\n return base64.encode(Buffer.concat([signature.r(32), signature.s(32)]));\n}\n\nexport async function createThorchainToolbox({ chain, ...toolboxParams }: CosmosToolboxParams<TCLikeChain>) {\n const rpcUrl = await getRPCUrl(chain);\n const { nodeUrl } = getChainConfig(chain);\n const { isStagenet } = SKConfig.get(\"envs\");\n const isThorchain = chain === Chain.THORChain;\n const chainPrefix = `${isStagenet ? \"s\" : \"\"}${CosmosChainPrefixes[chain]}`;\n\n const index = \"index\" in toolboxParams ? toolboxParams.index || 0 : 0;\n\n const derivationPath =\n \"derivationPath\" in toolboxParams && toolboxParams.derivationPath\n ? toolboxParams.derivationPath\n : updateDerivationPath(NetworkDerivationPath[chain], { index });\n\n const cosmosToolbox = await createCosmosToolbox({ chain, ...toolboxParams });\n\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, ({ phrase }) => cosmosToolbox.getSignerFromPhrase({ derivationPath, phrase }))\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n const defaultFee = getDefaultChainFee(chain);\n\n async function getFees() {\n let fee: SwapKitNumber;\n\n const constantsUrl = `${nodeUrl}/${isThorchain ? \"thorchain\" : \"mayachain\"}/constants`;\n\n try {\n const {\n int_64_values: { NativeTransactionFee: nativeFee },\n } = await RequestClient.get<ThorchainConstantsResponse>(constantsUrl);\n\n if (!nativeFee || Number.isNaN(nativeFee) || nativeFee < 0) {\n throw new SwapKitError(\"toolbox_cosmos_invalid_fee\", { nativeFee: nativeFee.toString() });\n }\n\n fee = new SwapKitNumber(nativeFee);\n } catch {\n fee = new SwapKitNumber({ decimal: getChainConfig(chain).baseDecimal, value: isThorchain ? 0.02 : 1 });\n }\n\n return { [FeeOption.Average]: fee, [FeeOption.Fast]: fee, [FeeOption.Fastest]: fee };\n }\n\n async function transfer({\n assetValue,\n memo = \"\",\n recipient,\n }: Omit<GenericTransferParams, \"recipient\"> & { recipient?: string }) {\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx\");\n const sender = (await signer?.getAccounts())?.[0]?.address;\n if (!(sender && signer)) throw new SwapKitError(\"toolbox_cosmos_no_signer\");\n\n const isAminoSigner = \"signAmino\" in signer;\n const registry = await createDefaultRegistry();\n const aminoTypes = await createDefaultAminoTypes(chain);\n const signingClient = await createSigningStargateClient(rpcUrl, signer, { aminoTypes, registry });\n\n const aminoMessage = buildAminoMsg({ assetValue, memo, recipient, sender });\n\n if (isAminoSigner) {\n const msgSign = await convertToSignable(aminoMessage, chain);\n\n const { signatures, authInfoBytes } = await signingClient.sign(sender, [msgSign], defaultFee, memo);\n\n const tx = TxRaw.encode({\n authInfoBytes,\n bodyBytes: await buildEncodedTxBody({\n chain,\n memo,\n msgs: [aminoMessage].map(parseAminoMessageForDirectSigning),\n }),\n signatures,\n }).finish();\n\n const txResponse = await signingClient.broadcastTx(tx);\n\n return txResponse.transactionHash;\n }\n\n const preparedMessage = parseAminoMessageForDirectSigning(aminoMessage);\n const msgSign = await convertToSignable(preparedMessage, chain);\n const txResponse = await signingClient.signAndBroadcast(sender, [msgSign], defaultFee, memo);\n\n return txResponse.transactionHash;\n }\n\n return {\n ...cosmosToolbox,\n broadcastMultisigTx: broadcastMultisigTx({ prefix: chainPrefix, rpcUrl }),\n buildAminoMsg,\n buildEncodedTxBody,\n convertToSignable,\n createDefaultAminoTypes: () => createDefaultAminoTypes(chain),\n createDefaultRegistry,\n createMultisig,\n createTransaction: getCreateTransaction(rpcUrl),\n deposit: transfer,\n getFees,\n importSignature,\n parseAminoMessageForDirectSigning,\n pubkeyToAddress: async (pubkey: Pubkey) => {\n const { pubkeyToAddress } = (await import(\"@cosmjs/amino\")).default;\n return pubkeyToAddress(pubkey, chainPrefix);\n },\n secp256k1HdWalletFromMnemonic: secp256k1HdWalletFromMnemonic({\n derivationPath: derivationPathToString(derivationPath),\n prefix: chainPrefix,\n }),\n signMultisigTx: signMultisigTx(chain),\n signWithPrivateKey,\n transfer,\n };\n}\n",
14
14
  "import { Chain, type CosmosChain, SwapKitError } from \"@swapkit/helpers\";\n\nimport type { CosmosToolboxParams } from \"../types\";\nimport { createCosmosToolbox } from \"./cosmos\";\nimport { createThorchainToolbox } from \"./thorchain\";\n\nexport type CosmosToolboxes = {\n GAIA: ReturnType<typeof createCosmosToolbox>;\n KUJI: ReturnType<typeof createCosmosToolbox>;\n MAYA: ReturnType<typeof createThorchainToolbox>;\n NOBLE: ReturnType<typeof createCosmosToolbox>;\n THOR: ReturnType<typeof createThorchainToolbox>;\n};\n\nexport const getCosmosToolbox = <T extends Exclude<CosmosChain, Chain.Harbor>>(\n chain: T,\n params?: Omit<CosmosToolboxParams, \"chain\">,\n): CosmosToolboxes[T] => {\n switch (chain) {\n case Chain.Cosmos:\n case Chain.Kujira:\n case Chain.Noble:\n return createCosmosToolbox({ chain, ...params }) as CosmosToolboxes[T];\n\n case Chain.Maya:\n case Chain.THORChain:\n return createThorchainToolbox({ chain, ...params }) as CosmosToolboxes[T];\n\n default:\n throw new SwapKitError(\"toolbox_cosmos_not_supported\", { chain });\n }\n};\n\nexport * from \"./cosmos\";\nexport * from \"./thorchain\";\n",
15
15
  "export * from \"./thorchainUtils\";\nexport * from \"./toolbox\";\nexport * from \"./types\";\nexport * from \"./util\";\n"
16
16
  ],
17
- "mappings": "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",
18
- "debugId": "0A479BDB313E39E064756E2164756E21",
17
+ "mappings": "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",
18
+ "debugId": "BA6951F2C300CEC964756E2164756E21",
19
19
  "names": []
20
20
  }