@uswap/toolboxes 4.3.11 → 4.3.12

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:z4,defineProperty:r,getOwnPropertyNames:F6,getOwnPropertyDescriptor:H4}=Object,f6=Object.prototype.hasOwnProperty;var A=(Y,Z,X)=>{X=Y!=null?e6(z4(Y)):{};let z=Z||!Y||!Y.__esModule?r(X,"default",{value:Y,enumerable:!0}):X;for(let L of F6(Y))if(!f6.call(z,L))r(z,L,{get:()=>Y[L],enumerable:!0});return z},M6=new WeakMap,L4=(Y)=>{var Z=M6.get(Y),X;if(Z)return Z;if(Z=r({},"__esModule",{value:!0}),Y&&typeof Y==="object"||typeof Y==="function")F6(Y).map((z)=>!f6.call(Z,z)&&r(Z,z,{get:()=>Y[z],enumerable:!(X=H4(Y,z))||X.enumerable}));return M6.set(Y,Z),Z};var y6=(Y,Z)=>{for(var X in Z)r(Y,X,{get:Z[X],enumerable:!0,configurable:!0,set:(z)=>Z[X]=()=>z})};var F=(Y,Z)=>()=>(Y&&(Z=Y(Y=0)),Z);function a(Y){return C.base64.encode(Uint8Array.from(C.bech32.fromWords(C.bech32.decode(Y).words)))}function s(Y,Z="thor"){return C.bech32.encode(Z,C.bech32.toWords(C.base64.decode(Y)))}function Z4(Y){return Q6.fromByteArray(Y)}function Q4(Y){if(!Y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new D6.USwapError("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("@uswap/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 Z=await import("@cosmjs/stargate"),X=Z.StargateClient??Z.default?.StargateClient,z=typeof window<"u"?{}:{referer:"https://sdk.uswap.dev",referrer:"https://sdk.uswap.dev"};return X.connect({headers:z,url:Y})}async function n(Y,Z,X={}){let z=await import("@cosmjs/stargate"),L=z.SigningStargateClient??z.default?.SigningStargateClient,H=z.GasPrice??z.default?.GasPrice,Q=typeof X==="string"?X:"0.0003uatom",J=typeof X==="string"?{}:X;return L.connectWithSigner(Y,Z,{gasPrice:H.fromString(Q),...J})}async function B6(Y,Z){let X=await import("@cosmjs/stargate");return(X.SigningStargateClient??X.default?.SigningStargateClient).offline(Y,Z)}async function G6({sender:Y,recipient:Z,assetValue:X,memo:z="",feeRate:L,sequence:H,accountNumber:Q}){let{chain:J,chainId:_}=X,E=await B.getRPCUrl(J),k=await(await P(E)).getAccount(Y);if(!k)throw new B.USwapError("toolbox_cosmos_account_not_found",{sender:Y});let I=B.AssetValue.from({chain:J}),x=D(I.symbol),N=S(J),v=x&&L?{amount:[{amount:L.toString(),denom:x}],gas:N.gas}:N,K={amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol)}],fromAddress:Y,toAddress:Z};return{accountNumber:Q??k.accountNumber,chainId:_,fee:v,memo:z,msgs:[{typeUrl:X4(J),value:K}],sequence:H??k.sequence}}var B,W6="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",S6="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",P6,C6,w6,D=(Y,Z=!1)=>{if(Z)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:Z})=>{if(Z===B.Chain.Maya)return(Y.toUpperCase()!=="CACAO"?Y:`${B.Chain.Maya}.${Y}`).toUpperCase();if(Z===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.USwapError("toolbox_cosmos_not_supported",{chain:Y})}},Y4,T6=(Y,Z)=>{let X=Y4[Y.toLowerCase()];if(!X)return B.AssetValue.from({asset:Y,fromBaseDecimal:8,value:Z});let{chain:z,asset:L,decimals:H}=X,Q=z?{chain:z}:{asset:L};return B.AssetValue.from({...Q,fromBaseDecimal:H,value:Z})};var e=F(()=>{B=require("@uswap/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=A(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 Z(X){if(X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.chain="",Z.prototype.symbol="",Z.prototype.ticker="",Z.prototype.synth=!1,Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.chain!=null&&Object.hasOwnProperty.call(z,"chain"))L.uint32(10).string(z.chain);if(z.symbol!=null&&Object.hasOwnProperty.call(z,"symbol"))L.uint32(18).string(z.symbol);if(z.ticker!=null&&Object.hasOwnProperty.call(z,"ticker"))L.uint32(26).string(z.ticker);if(z.synth!=null&&Object.hasOwnProperty.call(z,"synth"))L.uint32(32).bool(z.synth);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.Asset;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.chain=z.string();break;case 2:Q.symbol=z.string();break;case 3:Q.ticker=z.string();break;case 4:Q.synth=z.bool();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.chain!=null&&z.hasOwnProperty("chain")){if(!W.isString(z.chain))return"chain: string expected"}if(z.symbol!=null&&z.hasOwnProperty("symbol")){if(!W.isString(z.symbol))return"symbol: string expected"}if(z.ticker!=null&&z.hasOwnProperty("ticker")){if(!W.isString(z.ticker))return"ticker: string expected"}if(z.synth!=null&&z.hasOwnProperty("synth")){if(typeof z.synth!=="boolean")return"synth: boolean expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.Asset)return z;let L=new q.common.Asset;if(z.chain!=null)L.chain=String(z.chain);if(z.symbol!=null)L.symbol=String(z.symbol);if(z.ticker!=null)L.ticker=String(z.ticker);if(z.synth!=null)L.synth=Boolean(z.synth);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.defaults)H.chain="",H.symbol="",H.ticker="",H.synth=!1;if(z.chain!=null&&z.hasOwnProperty("chain"))H.chain=z.chain;if(z.symbol!=null&&z.hasOwnProperty("symbol"))H.symbol=z.symbol;if(z.ticker!=null&&z.hasOwnProperty("ticker"))H.ticker=z.ticker;if(z.synth!=null&&z.hasOwnProperty("synth"))H.synth=z.synth;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.Coin=(()=>{function Z(X){if(X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.asset=null,Z.prototype.amount="",Z.prototype.decimals=W.Long?W.Long.fromBits(0,0,!1):0,Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.asset!=null&&Object.hasOwnProperty.call(z,"asset"))q.common.Asset.encode(z.asset,L.uint32(10).fork()).ldelim();if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))L.uint32(18).string(z.amount);if(z.decimals!=null&&Object.hasOwnProperty.call(z,"decimals"))L.uint32(24).int64(z.decimals);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.Coin;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.asset=q.common.Asset.decode(z,z.uint32());break;case 2:Q.amount=z.string();break;case 3:Q.decimals=z.int64();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.asset!=null&&z.hasOwnProperty("asset")){let L=q.common.Asset.verify(z.asset);if(L)return"asset."+L}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!W.isString(z.amount))return"amount: string expected"}if(z.decimals!=null&&z.hasOwnProperty("decimals")){if(!W.isInteger(z.decimals)&&!(z.decimals&&W.isInteger(z.decimals.low)&&W.isInteger(z.decimals.high)))return"decimals: integer|Long expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.Coin)return z;let L=new q.common.Coin;if(z.asset!=null){if(typeof z.asset!=="object")throw TypeError(".common.Coin.asset: object expected");L.asset=q.common.Asset.fromObject(z.asset)}if(z.amount!=null)L.amount=String(z.amount);if(z.decimals!=null){if(W.Long)(L.decimals=W.Long.fromValue(z.decimals)).unsigned=!1;else if(typeof z.decimals==="string")L.decimals=Number.parseInt(z.decimals,10);else if(typeof z.decimals==="number")L.decimals=z.decimals;else if(typeof z.decimals==="object")L.decimals=new W.LongBits(z.decimals.low>>>0,z.decimals.high>>>0).toNumber()}return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.defaults)if(H.asset=null,H.amount="",W.Long){let Q=new W.Long(0,0,!1);H.decimals=L.longs===String?Q.toString():L.longs===Number?Q.toNumber():Q}else H.decimals=L.longs===String?"0":0;if(z.asset!=null&&z.hasOwnProperty("asset"))H.asset=q.common.Asset.toObject(z.asset,L);if(z.amount!=null&&z.hasOwnProperty("amount"))H.amount=z.amount;if(z.decimals!=null&&z.hasOwnProperty("decimals"))if(typeof z.decimals==="number")H.decimals=L.longs===String?String(z.decimals):z.decimals;else H.decimals=L.longs===String?W.Long.prototype.toString.call(z.decimals):L.longs===Number?new W.LongBits(z.decimals.low>>>0,z.decimals.high>>>0).toNumber():z.decimals;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.PubKeySet=(()=>{function Z(X){if(X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.secp256k1="",Z.prototype.ed25519="",Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.secp256k1!=null&&Object.hasOwnProperty.call(z,"secp256k1"))L.uint32(10).string(z.secp256k1);if(z.ed25519!=null&&Object.hasOwnProperty.call(z,"ed25519"))L.uint32(18).string(z.ed25519);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.PubKeySet;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.secp256k1=z.string();break;case 2:Q.ed25519=z.string();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.secp256k1!=null&&z.hasOwnProperty("secp256k1")){if(!W.isString(z.secp256k1))return"secp256k1: string expected"}if(z.ed25519!=null&&z.hasOwnProperty("ed25519")){if(!W.isString(z.ed25519))return"ed25519: string expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.PubKeySet)return z;let L=new q.common.PubKeySet;if(z.secp256k1!=null)L.secp256k1=String(z.secp256k1);if(z.ed25519!=null)L.ed25519=String(z.ed25519);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.defaults)H.secp256k1="",H.ed25519="";if(z.secp256k1!=null&&z.hasOwnProperty("secp256k1"))H.secp256k1=z.secp256k1;if(z.ed25519!=null&&z.hasOwnProperty("ed25519"))H.ed25519=z.ed25519;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.Tx=(()=>{function Z(X){if(this.coins=[],this.gas=[],X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.id="",Z.prototype.chain="",Z.prototype.fromAddress="",Z.prototype.toAddress="",Z.prototype.coins=W.emptyArray,Z.prototype.gas=W.emptyArray,Z.prototype.memo="",Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.id!=null&&Object.hasOwnProperty.call(z,"id"))L.uint32(10).string(z.id);if(z.chain!=null&&Object.hasOwnProperty.call(z,"chain"))L.uint32(18).string(z.chain);if(z.fromAddress!=null&&Object.hasOwnProperty.call(z,"fromAddress"))L.uint32(26).string(z.fromAddress);if(z.toAddress!=null&&Object.hasOwnProperty.call(z,"toAddress"))L.uint32(34).string(z.toAddress);if(z.coins?.length)for(let H=0;H<z.coins.length;++H)q.common.Coin.encode(z.coins[H],L.uint32(42).fork()).ldelim();if(z.gas?.length)for(let H=0;H<z.gas.length;++H)q.common.Coin.encode(z.gas[H],L.uint32(50).fork()).ldelim();if(z.memo!=null&&Object.hasOwnProperty.call(z,"memo"))L.uint32(58).string(z.memo);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.Tx;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.id=z.string();break;case 2:Q.chain=z.string();break;case 3:Q.fromAddress=z.string();break;case 4:Q.toAddress=z.string();break;case 5:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(z,z.uint32()));break;case 6:if(!Q.gas?.length)Q.gas=[];Q.gas.push(q.common.Coin.decode(z,z.uint32()));break;case 7:Q.memo=z.string();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.id!=null&&z.hasOwnProperty("id")){if(!W.isString(z.id))return"id: string expected"}if(z.chain!=null&&z.hasOwnProperty("chain")){if(!W.isString(z.chain))return"chain: string expected"}if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress")){if(!W.isString(z.fromAddress))return"fromAddress: string expected"}if(z.toAddress!=null&&z.hasOwnProperty("toAddress")){if(!W.isString(z.toAddress))return"toAddress: string expected"}if(z.coins!=null&&z.hasOwnProperty("coins")){if(!Array.isArray(z.coins))return"coins: array expected";for(let L=0;L<z.coins.length;++L){let H=q.common.Coin.verify(z.coins[L]);if(H)return"coins."+H}}if(z.gas!=null&&z.hasOwnProperty("gas")){if(!Array.isArray(z.gas))return"gas: array expected";for(let L=0;L<z.gas.length;++L){let H=q.common.Coin.verify(z.gas[L]);if(H)return"gas."+H}}if(z.memo!=null&&z.hasOwnProperty("memo")){if(!W.isString(z.memo))return"memo: string expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.Tx)return z;let L=new q.common.Tx;if(z.id!=null)L.id=String(z.id);if(z.chain!=null)L.chain=String(z.chain);if(z.fromAddress!=null)L.fromAddress=String(z.fromAddress);if(z.toAddress!=null)L.toAddress=String(z.toAddress);if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".common.Tx.coins: array expected");L.coins=[];for(let H=0;H<z.coins.length;++H){if(typeof z.coins[H]!=="object")throw TypeError(".common.Tx.coins: object expected");L.coins[H]=q.common.Coin.fromObject(z.coins[H])}}if(z.gas){if(!Array.isArray(z.gas))throw TypeError(".common.Tx.gas: array expected");L.gas=[];for(let H=0;H<z.gas.length;++H){if(typeof z.gas[H]!=="object")throw TypeError(".common.Tx.gas: object expected");L.gas[H]=q.common.Coin.fromObject(z.gas[H])}}if(z.memo!=null)L.memo=String(z.memo);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.arrays||L.defaults)H.coins=[],H.gas=[];if(L.defaults)H.id="",H.chain="",H.fromAddress="",H.toAddress="",H.memo="";if(z.id!=null&&z.hasOwnProperty("id"))H.id=z.id;if(z.chain!=null&&z.hasOwnProperty("chain"))H.chain=z.chain;if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress"))H.fromAddress=z.fromAddress;if(z.toAddress!=null&&z.hasOwnProperty("toAddress"))H.toAddress=z.toAddress;if(z.coins?.length){H.coins=[];for(let Q=0;Q<z.coins.length;++Q)H.coins[Q]=q.common.Coin.toObject(z.coins[Q],L)}if(z.gas?.length){H.gas=[];for(let Q=0;Q<z.gas.length;++Q)H.gas[Q]=q.common.Coin.toObject(z.gas[Q],L)}if(z.memo!=null&&z.hasOwnProperty("memo"))H.memo=z.memo;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.Fee=(()=>{function Z(X){if(this.coins=[],X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.coins=W.emptyArray,Z.prototype.poolDeduct="",Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.coins?.length)for(let H=0;H<z.coins.length;++H)q.common.Coin.encode(z.coins[H],L.uint32(10).fork()).ldelim();if(z.poolDeduct!=null&&Object.hasOwnProperty.call(z,"poolDeduct"))L.uint32(18).string(z.poolDeduct);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.Fee;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(z,z.uint32()));break;case 2:Q.poolDeduct=z.string();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.coins!=null&&z.hasOwnProperty("coins")){if(!Array.isArray(z.coins))return"coins: array expected";for(let L=0;L<z.coins.length;++L){let H=q.common.Coin.verify(z.coins[L]);if(H)return"coins."+H}}if(z.poolDeduct!=null&&z.hasOwnProperty("poolDeduct")){if(!W.isString(z.poolDeduct))return"poolDeduct: string expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.Fee)return z;let L=new q.common.Fee;if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".common.Fee.coins: array expected");L.coins=[];for(let H=0;H<z.coins.length;++H){if(typeof z.coins[H]!=="object")throw TypeError(".common.Fee.coins: object expected");L.coins[H]=q.common.Coin.fromObject(z.coins[H])}}if(z.poolDeduct!=null)L.poolDeduct=String(z.poolDeduct);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.arrays||L.defaults)H.coins=[];if(L.defaults)H.poolDeduct="";if(z.coins?.length){H.coins=[];for(let Q=0;Q<z.coins.length;++Q)H.coins[Q]=q.common.Coin.toObject(z.coins[Q],L)}if(z.poolDeduct!=null&&z.hasOwnProperty("poolDeduct"))H.poolDeduct=z.poolDeduct;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.ProtoUint=(()=>{function Z(X){if(X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.value="",Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.value!=null&&Object.hasOwnProperty.call(z,"value"))L.uint32(10).string(z.value);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.ProtoUint;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.value=z.string();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.value!=null&&z.hasOwnProperty("value")){if(!W.isString(z.value))return"value: string expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.ProtoUint)return z;let L=new q.common.ProtoUint;if(z.value!=null)L.value=String(z.value);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.defaults)H.value="";if(z.value!=null&&z.hasOwnProperty("value"))H.value=z.value;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y})();q.types=(()=>{let Y={};return Y.MsgDeposit=(()=>{function Z(X){if(this.coins=[],X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.coins=W.emptyArray,Z.prototype.memo="",Z.prototype.signer=W.newBuffer([]),Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.coins?.length)for(let H=0;H<z.coins.length;++H)q.common.Coin.encode(z.coins[H],L.uint32(10).fork()).ldelim();if(z.memo!=null&&Object.hasOwnProperty.call(z,"memo"))L.uint32(18).string(z.memo);if(z.signer!=null&&Object.hasOwnProperty.call(z,"signer"))L.uint32(26).bytes(z.signer);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.types.MsgDeposit;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(z,z.uint32()));break;case 2:Q.memo=z.string();break;case 3:Q.signer=z.bytes();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.coins!=null&&z.hasOwnProperty("coins")){if(!Array.isArray(z.coins))return"coins: array expected";for(let L=0;L<z.coins.length;++L){let H=q.common.Coin.verify(z.coins[L]);if(H)return"coins."+H}}if(z.memo!=null&&z.hasOwnProperty("memo")){if(!W.isString(z.memo))return"memo: string expected"}if(z.signer!=null&&z.hasOwnProperty("signer")){if(!(z.signer&&typeof z.signer.length==="number"||W.isString(z.signer)))return"signer: buffer expected"}return null},Z.fromObject=function(z){if(z instanceof q.types.MsgDeposit)return z;let L=new q.types.MsgDeposit;if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".types.MsgDeposit.coins: array expected");L.coins=[];for(let H=0;H<z.coins.length;++H){if(typeof z.coins[H]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");L.coins[H]=q.common.Coin.fromObject(z.coins[H])}}if(z.memo!=null)L.memo=String(z.memo);if(z.signer!=null){if(typeof z.signer==="string")W.base64.decode(z.signer,L.signer=W.newBuffer(W.base64.length(z.signer)),0);else if(z.signer.length)L.signer=z.signer}return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.arrays||L.defaults)H.coins=[];if(L.defaults){if(H.memo="",L.bytes===String)H.signer="";else if(H.signer=[],L.bytes!==Array)H.signer=W.newBuffer(H.signer)}if(z.coins?.length){H.coins=[];for(let Q=0;Q<z.coins.length;++Q)H.coins[Q]=q.common.Coin.toObject(z.coins[Q],L)}if(z.memo!=null&&z.hasOwnProperty("memo"))H.memo=z.memo;if(z.signer!=null&&z.hasOwnProperty("signer"))H.signer=L.bytes===String?W.base64.encode(z.signer,0,z.signer.length):L.bytes===Array?Array.prototype.slice.call(z.signer):z.signer;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.MsgSend=(()=>{function Z(X){if(this.amount=[],X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.fromAddress=W.newBuffer([]),Z.prototype.toAddress=W.newBuffer([]),Z.prototype.amount=W.emptyArray,Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.fromAddress!=null&&Object.hasOwnProperty.call(z,"fromAddress"))L.uint32(10).bytes(z.fromAddress);if(z.toAddress!=null&&Object.hasOwnProperty.call(z,"toAddress"))L.uint32(18).bytes(z.toAddress);if(z.amount?.length)for(let H=0;H<z.amount.length;++H)q.cosmos.base.v1beta1.Coin.encode(z.amount[H],L.uint32(26).fork()).ldelim();return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.types.MsgSend;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.fromAddress=z.bytes();break;case 2:Q.toAddress=z.bytes();break;case 3:if(!Q.amount?.length)Q.amount=[];Q.amount.push(q.cosmos.base.v1beta1.Coin.decode(z,z.uint32()));break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress")){if(!(z.fromAddress&&typeof z.fromAddress.length==="number"||W.isString(z.fromAddress)))return"fromAddress: buffer expected"}if(z.toAddress!=null&&z.hasOwnProperty("toAddress")){if(!(z.toAddress&&typeof z.toAddress.length==="number"||W.isString(z.toAddress)))return"toAddress: buffer expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Array.isArray(z.amount))return"amount: array expected";for(let L=0;L<z.amount.length;++L){let H=q.cosmos.base.v1beta1.Coin.verify(z.amount[L]);if(H)return"amount."+H}}return null},Z.fromObject=function(z){if(z instanceof q.types.MsgSend)return z;let L=new q.types.MsgSend;if(z.fromAddress!=null){if(typeof z.fromAddress==="string")W.base64.decode(z.fromAddress,L.fromAddress=W.newBuffer(W.base64.length(z.fromAddress)),0);else if(z.fromAddress.length)L.fromAddress=z.fromAddress}if(z.toAddress!=null){if(typeof z.toAddress==="string")W.base64.decode(z.toAddress,L.toAddress=W.newBuffer(W.base64.length(z.toAddress)),0);else if(z.toAddress.length)L.toAddress=z.toAddress}if(z.amount){if(!Array.isArray(z.amount))throw TypeError(".types.MsgSend.amount: array expected");L.amount=[];for(let H=0;H<z.amount.length;++H){if(typeof z.amount[H]!=="object")throw TypeError(".types.MsgSend.amount: object expected");L.amount[H]=q.cosmos.base.v1beta1.Coin.fromObject(z.amount[H])}}return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.arrays||L.defaults)H.amount=[];if(L.defaults){if(L.bytes===String)H.fromAddress="";else if(H.fromAddress=[],L.bytes!==Array)H.fromAddress=W.newBuffer(H.fromAddress);if(L.bytes===String)H.toAddress="";else if(H.toAddress=[],L.bytes!==Array)H.toAddress=W.newBuffer(H.toAddress)}if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress"))H.fromAddress=L.bytes===String?W.base64.encode(z.fromAddress,0,z.fromAddress.length):L.bytes===Array?Array.prototype.slice.call(z.fromAddress):z.fromAddress;if(z.toAddress!=null&&z.hasOwnProperty("toAddress"))H.toAddress=L.bytes===String?W.base64.encode(z.toAddress,0,z.toAddress.length):L.bytes===Array?Array.prototype.slice.call(z.toAddress):z.toAddress;if(z.amount?.length){H.amount=[];for(let Q=0;Q<z.amount.length;++Q)H.amount[Q]=q.cosmos.base.v1beta1.Coin.toObject(z.amount[Q],L)}return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y})();q.cosmos=(()=>{let Y={};return Y.base=(()=>{let Z={};return Z.v1beta1=(()=>{let X={};return X.Coin=(()=>{function z(L){if(L){for(let H=Object.keys(L),Q=0;Q<H.length;++Q)if(L[H[Q]]!=null)this[H[Q]]=L[H[Q]]}}return z.prototype.denom="",z.prototype.amount="",z.create=function(H){return new z(H)},z.encode=function(H,Q){if(!Q)Q=f.create();if(H.denom!=null&&Object.hasOwnProperty.call(H,"denom"))Q.uint32(10).string(H.denom);if(H.amount!=null&&Object.hasOwnProperty.call(H,"amount"))Q.uint32(18).string(H.amount);return Q},z.encodeDelimited=function(H,Q){return this.encode(H,Q).ldelim()},z.decode=function(H,Q){if(!(H instanceof T))H=T.create(H);let J=Q===void 0?H.len:H.pos+Q,_=new q.cosmos.base.v1beta1.Coin;while(H.pos<J){let E=H.uint32();switch(E>>>3){case 1:_.denom=H.string();break;case 2:_.amount=H.string();break;default:H.skipType(E&7);break}}return _},z.decodeDelimited=function(H){if(!(H instanceof T))H=new T(H);return this.decode(H,H.uint32())},z.verify=function(H){if(typeof H!=="object"||H===null)return"object expected";if(H.denom!=null&&H.hasOwnProperty("denom")){if(!W.isString(H.denom))return"denom: string expected"}if(H.amount!=null&&H.hasOwnProperty("amount")){if(!W.isString(H.amount))return"amount: string expected"}return null},z.fromObject=function(H){if(H instanceof q.cosmos.base.v1beta1.Coin)return H;let Q=new q.cosmos.base.v1beta1.Coin;if(H.denom!=null)Q.denom=String(H.denom);if(H.amount!=null)Q.amount=String(H.amount);return Q},z.toObject=function(H,Q){if(!Q)Q={};let J={};if(Q.defaults)J.denom="",J.amount="";if(H.denom!=null&&H.hasOwnProperty("denom"))J.denom=H.denom;if(H.amount!=null&&H.hasOwnProperty("amount"))J.amount=H.amount;return J},z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},z})(),X.DecCoin=(()=>{function z(L){if(L){for(let H=Object.keys(L),Q=0;Q<H.length;++Q)if(L[H[Q]]!=null)this[H[Q]]=L[H[Q]]}}return z.prototype.denom="",z.prototype.amount="",z.create=function(H){return new z(H)},z.encode=function(H,Q){if(!Q)Q=f.create();if(H.denom!=null&&Object.hasOwnProperty.call(H,"denom"))Q.uint32(10).string(H.denom);if(H.amount!=null&&Object.hasOwnProperty.call(H,"amount"))Q.uint32(18).string(H.amount);return Q},z.encodeDelimited=function(H,Q){return this.encode(H,Q).ldelim()},z.decode=function(H,Q){if(!(H instanceof T))H=T.create(H);let J=Q===void 0?H.len:H.pos+Q,_=new q.cosmos.base.v1beta1.DecCoin;while(H.pos<J){let E=H.uint32();switch(E>>>3){case 1:_.denom=H.string();break;case 2:_.amount=H.string();break;default:H.skipType(E&7);break}}return _},z.decodeDelimited=function(H){if(!(H instanceof T))H=new T(H);return this.decode(H,H.uint32())},z.verify=function(H){if(typeof H!=="object"||H===null)return"object expected";if(H.denom!=null&&H.hasOwnProperty("denom")){if(!W.isString(H.denom))return"denom: string expected"}if(H.amount!=null&&H.hasOwnProperty("amount")){if(!W.isString(H.amount))return"amount: string expected"}return null},z.fromObject=function(H){if(H instanceof q.cosmos.base.v1beta1.DecCoin)return H;let Q=new q.cosmos.base.v1beta1.DecCoin;if(H.denom!=null)Q.denom=String(H.denom);if(H.amount!=null)Q.amount=String(H.amount);return Q},z.toObject=function(H,Q){if(!Q)Q={};let J={};if(Q.defaults)J.denom="",J.amount="";if(H.denom!=null&&H.hasOwnProperty("denom"))J.denom=H.denom;if(H.amount!=null&&H.hasOwnProperty("amount"))J.amount=H.amount;return J},z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},z})(),X.IntProto=(()=>{function z(L){if(L){for(let H=Object.keys(L),Q=0;Q<H.length;++Q)if(L[H[Q]]!=null)this[H[Q]]=L[H[Q]]}}return z.prototype.int="",z.create=function(H){return new z(H)},z.encode=function(H,Q){if(!Q)Q=f.create();if(H.int!=null&&Object.hasOwnProperty.call(H,"int"))Q.uint32(10).string(H.int);return Q},z.encodeDelimited=function(H,Q){return this.encode(H,Q).ldelim()},z.decode=function(H,Q){if(!(H instanceof T))H=T.create(H);let J=Q===void 0?H.len:H.pos+Q,_=new q.cosmos.base.v1beta1.IntProto;while(H.pos<J){let E=H.uint32();switch(E>>>3){case 1:_.int=H.string();break;default:H.skipType(E&7);break}}return _},z.decodeDelimited=function(H){if(!(H instanceof T))H=new T(H);return this.decode(H,H.uint32())},z.verify=function(H){if(typeof H!=="object"||H===null)return"object expected";if(H.int!=null&&H.hasOwnProperty("int")){if(!W.isString(H.int))return"int: string expected"}return null},z.fromObject=function(H){if(H instanceof q.cosmos.base.v1beta1.IntProto)return H;let Q=new q.cosmos.base.v1beta1.IntProto;if(H.int!=null)Q.int=String(H.int);return Q},z.toObject=function(H,Q){if(!Q)Q={};let J={};if(Q.defaults)J.int="";if(H.int!=null&&H.hasOwnProperty("int"))J.int=H.int;return J},z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},z})(),X.DecProto=(()=>{function z(L){if(L){for(let H=Object.keys(L),Q=0;Q<H.length;++Q)if(L[H[Q]]!=null)this[H[Q]]=L[H[Q]]}}return z.prototype.dec="",z.create=function(H){return new z(H)},z.encode=function(H,Q){if(!Q)Q=f.create();if(H.dec!=null&&Object.hasOwnProperty.call(H,"dec"))Q.uint32(10).string(H.dec);return Q},z.encodeDelimited=function(H,Q){return this.encode(H,Q).ldelim()},z.decode=function(H,Q){if(!(H instanceof T))H=T.create(H);let J=Q===void 0?H.len:H.pos+Q,_=new q.cosmos.base.v1beta1.DecProto;while(H.pos<J){let E=H.uint32();switch(E>>>3){case 1:_.dec=H.string();break;default:H.skipType(E&7);break}}return _},z.decodeDelimited=function(H){if(!(H instanceof T))H=new T(H);return this.decode(H,H.uint32())},z.verify=function(H){if(typeof H!=="object"||H===null)return"object expected";if(H.dec!=null&&H.hasOwnProperty("dec")){if(!W.isString(H.dec))return"dec: string expected"}return null},z.fromObject=function(H){if(H instanceof q.cosmos.base.v1beta1.DecProto)return H;let Q=new q.cosmos.base.v1beta1.DecProto;if(H.dec!=null)Q.dec=String(H.dec);return Q},z.toObject=function(H,Q){if(!Q)Q={};let J={};if(Q.defaults)J.dec="";if(H.dec!=null&&H.hasOwnProperty("dec"))J.dec=H.dec;return J},z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},z})(),X})(),Z})(),Y})()});async function c(){let{$root:Y}=await Promise.resolve().then(() => (u6(),$6)),Z=await import("@cosmjs/proto-signing"),X=Z.Registry??Z.default?.Registry,z=await import("@cosmjs/stargate"),L=z.defaultRegistryTypes??z.default?.defaultRegistryTypes;return new X([...L,["/types.MsgSend",Y.types.MsgSend],["/types.MsgDeposit",Y.types.MsgDeposit]])}async function w(Y){let Z=await import("@cosmjs/stargate"),X=Z.AminoTypes??Z.default?.AminoTypes,z=Y===h6.Chain.THORChain?"thorchain":"mayachain";return new X({"/types.MsgDeposit":{aminoType:`${z}/MsgDeposit`,fromAmino:({signer:L,...H})=>({...H,signer:a(L)}),toAmino:({signer:L,...H})=>({...H,signer:s(L)})},"/types.MsgSend":{aminoType:`${z}/MsgSend`,fromAmino:({from_address:L,to_address:H,...Q})=>({...Q,fromAddress:a(L),toAddress:a(H)}),toAmino:({fromAddress:L,toAddress:H,...Q})=>({...Q,from_address:s(L),to_address:s(H)})}})}var h6;var _6=F(()=>{q6();h6=require("@uswap/helpers")});function N6(Y){return function(X){let{assetValue:z,recipient:L,memo:H,sender:Q,asSignable:J,asAminoMessage:_}=X;if(L)return j6(Y)({asAminoMessage:_,asSignable:J,assetValue:z,memo:H,recipient:L,sender:Q});return b6(Y)({asAminoMessage:_,asSignable:J,assetValue:z,memo:H,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((Z)=>{let X=y.AssetValue.from({asset:Z.asset}),z=(X.isSynthetic?X.symbol.split("/")?.[1]:X.symbol)?.toUpperCase(),L=(X.isSynthetic?X.symbol.split("/")?.[0]:X.chain)?.toUpperCase();return{...Z,asset:{chain:L,symbol:z,synth:X.isSynthetic,ticker:X.ticker}}})}}}async function z6({chain:Y,memo:Z,msgs:X}){let z=await c(),L=await w(Y),H={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:Z,messages:X.map((Q)=>L.fromAmino(Q))}};return z.encode(H)}var y,J4,q4,I6=({sender:Y,recipient:Z,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:Z}}},E6=({sender:Y,assetValue:Z,memo:X=""})=>{return{type:`${Z.chain===y.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:Z.getBaseValue("string"),asset:d(Z)}],memo:X,signer:Y}}},X6=({sender:Y,recipient:Z,assetValue:X,memo:z})=>{return!Z?E6({assetValue:X,memo:z,sender:Y}):I6({assetValue:X,recipient:Z,sender:Y})},$=async(Y,Z)=>{return(await w(Z)).fromAmino(Y)},l6=async({rpcUrl:Y,sender:Z})=>{let z=await(await P(Y)).getAccount(Z);if(!z)throw new y.USwapError("toolbox_cosmos_account_not_found",{sender:Z});return z},j6=(Y)=>async({sender:Z,recipient:X,assetValue:z,memo:L="",asSignable:H=!0,asAminoMessage:Q=!1,sequence:J,accountNumber:_})=>{let E=await l6({rpcUrl:Y,sender:Z}),U=z.chain,{chainId:k}=y.getChainConfig(U),I=I6({assetValue:z,recipient:X,sender:Z}),x=H?await $(Q?I:u(I),U):I;return{accountNumber:_||E.accountNumber,chainId:k,fee:S(U),memo:L,msgs:[x],sequence:J||E.sequence}},b6=(Y)=>async({sender:Z,assetValue:X,memo:z="",asSignable:L=!0,asAminoMessage:H=!1,sequence:Q,accountNumber:J})=>{let _=await l6({rpcUrl:Y,sender:Z}),E=X.chain,{chainId:U}=y.getChainConfig(E),k=E6({assetValue:X,memo:z,sender:Z}),I=L?await $(H?k:u(k),E):k;return{accountNumber:J||_.accountNumber,chainId:U,fee:S(E),memo:z,msgs:[I],sequence:Q||_.sequence}};var p6=F(()=>{e();_6();y=require("@uswap/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 U6(Y,Z){try{let z=(await A6.USwapApi.getGasRate()).find((L)=>L.chainId===Y)?.value;return z?Number.parseFloat(z):Z}catch{return Z}}async function v6({phrase:Y,prefix:Z,...X}){let z=await import("@cosmjs/proto-signing"),L=z.DirectSecp256k1HdWallet??z.default?.DirectSecp256k1HdWallet,H=await import("@cosmjs/crypto"),Q=H.stringToPath??H.default?.stringToPath,J="derivationPath"in X?X.derivationPath:`${G.DerivationPath[X.chain]}/${X.index}`;return L.fromMnemonic(Y,{hdPaths:[Q(J)],prefix:Z})}async function W4({privateKey:Y,prefix:Z}){let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(Y,Z)}function g6(Y){return async function({signature:X,message:z,address:L}){let H=await Y(L);if(!H?.pubkey)throw new G.USwapError("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(z),H.pubkey.value)}}async function L6({chain:Y,...Z}){let X=await G.getRPCUrl(Y),z=G.CosmosChainPrefixes[Y],L="index"in Z?Z.index||0:0,H=G.derivationPathToString("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:G.updateDerivationPath(G.NetworkDerivationPath[Y],{index:L})),Q=await H6.match(Z).with({phrase:H6.P.string},({phrase:I})=>v6({derivationPath:H,phrase:I,prefix:z})).with({signer:H6.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.USwapError("toolbox_cosmos_signer_not_defined");return h.base64.encode(I?.pubkey)}async function U({recipient:I,assetValue:x,memo:N="",feeRate:v,feeOptionKey:K=G.FeeOption.Fast}){let V=await _();if(!(Q&&V))throw new G.USwapError("toolbox_cosmos_signer_not_defined");let M=G.AssetValue.from({chain:Y}),m=d(M),g=v||n6((await K6(Y,x6[Y]))[K],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:K=G.FeeOption.Fast,dryRun:V=!1}){if(V)return U({assetValue:x,feeOptionKey:K,feeRate:v,memo:N,recipient:I});let M=await _();if(!(Q&&M))throw new G.USwapError("toolbox_cosmos_signer_not_defined");let m=G.AssetValue.from({chain:Y}),g=d(m),i=v||n6((await K6(Y,x6[Y]))[K],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(H),createTransaction:G6,fetchFeeRateFromSwapKit:U6,getAccount:J,getAddress:_,getBalance:async(I,x)=>{let N=await m6(X)(I),v=await Promise.all(N.filter(({denom:K})=>K&&!K.includes("IBC/")).map(({denom:K,amount:V})=>{let M=[G.Chain.THORChain,G.Chain.Maya].includes(Y)&&(K.includes("/")||K.includes("˜"))?`${Y}.${K}`:K;return T6(M,V)}));if(v.length===0)return[G.AssetValue.from({chain:Y})];return v},getBalanceAsDenoms:m6(X),getFees:()=>K6(Y,x6[Y]),getPubKey:E,getSignerFromPhrase:async({phrase:I,derivationPath:x})=>v6({derivationPath:G.derivationPathToString(x),index:L,phrase:I,prefix:z}),getSignerFromPrivateKey:async(I)=>{let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(I,z)},signTransaction:U,transfer:k,validateAddress:i6(Y),verifySignature:g6(J)}}async function B4(Y,Z){try{let z=(await A6.USwapApi.getGasRate()).find((L)=>L.chainId===Y)?.value;return z?Number.parseFloat(z):Z}catch{return Z}}function G4({assetValue:{chain:Y}}){return G.AssetValue.from({chain:Y,value:T4(Y)})}async function K6(Y,Z){let{chainId:X,baseDecimal:z}=G.getChainConfig(Y),L=await U6(X,Z);return{average:G.USwapNumber.fromBigInt(BigInt(L),z),fast:G.USwapNumber.fromBigInt(BigInt(G.applyFeeMultiplier(L,G.FeeOption.Fast,!0)),z),fastest:G.USwapNumber.fromBigInt(BigInt(G.applyFeeMultiplier(L,G.FeeOption.Fastest,!0)),z)}}function n6(Y,Z){return{amount:[{amount:Y.getBaseValue("string"),denom:Z}],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 Z=G.CosmosChainPrefixes[Y];return function(z){if(!z.startsWith(Z))return!1;try{let{prefix:L,words:H}=h.bech32.decode(z);return h.bech32.encode(L,H)===z.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 z=await import("@cosmjs/crypto"),L=z.stringToPath??z.default?.stringToPath,H=z.Slip10Curve??z.default?.Slip10Curve,Q=z.Slip10??z.default?.Slip10,J=z.EnglishMnemonic??z.default?.EnglishMnemonic,_=z.Bip39??z.default?.Bip39,E=new J(X),U=await _.mnemonicToSeed(E),{privkey:k}=Q.derivePath(H.Secp256k1,U,L(Y));return k}}var h,G,A6,H6,x6;var Y6=F(()=>{e();h=require("@scure/base"),G=require("@uswap/helpers"),A6=require("@uswap/helpers/api"),H6=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:Z}){return async function(z,L=0){let H=await import("@cosmjs/amino"),Q=H.Secp256k1HdWallet??H.default?.Secp256k1HdWallet,J=await import("@cosmjs/crypto"),_=J.stringToPath??J.default?.stringToPath;return Q.fromMnemonic(z,{hdPaths:[_(`${Z}/${L}`)],prefix:Y})}}function E4(Y){return l.base64.encode(Y)}function N4(Y){return async function({wallet:X,tx:z}){let{msgs:L,accountNumber:H,sequence:Q,chainId:J,fee:_,memo:E}=typeof z==="string"?JSON.parse(z):z,U=(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 L){let M=await $(V,Y);N.push(M)}let{signatures:[v]}=await x.sign(U,N,_,E,{accountNumber:H,chainId:J,sequence:Q});return{bodyBytes:await z6({chain:Y,memo:E,msgs:L.map(u)}),signature:E4(v)}}}function O4({prefix:Y,rpcUrl:Z}){return async function(z,L,H,Q,J){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:E}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:U}=(await import("@cosmjs/stargate")).default,{sequence:k,fee:I}=JSON.parse(z),x=await o6(H,Q),N=L.map((V)=>[E(_(l.base64.decode(V.pubKey)),Y),l.base64.decode(V.signature)]),v=await P(Z),{transactionHash:K}=await v.broadcastTx(U(x,k,I,J,new Map(N)));return K}}async function o6(Y,Z,X=!0){let{createMultisigThresholdPubkey:z,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return z(Y.map((H)=>L(l.base64.decode(H))),Z,X)}function x4(Y){return l.base64.decode(Y)}async function K4({privateKey:Y,message:Z}){let{Secp256k1:X}=(await import("@cosmjs/crypto")).default,z=await X.createSignature(l.base64.decode(Z),Y);return l.base64.encode(Buffer.concat([z.r(32),z.s(32)]))}async function k6({chain:Y,...Z}){let X=await O.getRPCUrl(Y),{nodeUrl:z}=O.getChainConfig(Y),{isStagenet:L}=O.USwapConfig.get("envs"),H=Y===O.Chain.THORChain,Q=`${L?"s":""}${O.CosmosChainPrefixes[Y]}`,J="index"in Z?Z.index||0:0,_="derivationPath"in Z&&Z.derivationPath?Z.derivationPath:O.updateDerivationPath(O.NetworkDerivationPath[Y],{index:J}),E=await L6({chain:Y,...Z}),U=await Z6.match(Z).with({phrase:Z6.P.string},({phrase:N})=>E.getSignerFromPhrase({derivationPath:_,phrase:N})).with({signer:Z6.P.any},({signer:N})=>N).otherwise(()=>{return}),k=S(Y);async function I(){let N,v=`${z}/${H?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:K}}=await O.RequestClient.get(v);if(!K||Number.isNaN(K)||K<0)throw new O.USwapError("toolbox_cosmos_invalid_fee",{nativeFee:K.toString()});N=new O.USwapNumber(K)}catch{N=new O.USwapNumber({decimal:O.getChainConfig(Y).baseDecimal,value:H?0.02:1})}return{[O.FeeOption.Average]:N,[O.FeeOption.Fast]:N,[O.FeeOption.Fastest]:N}}async function x({assetValue:N,memo:v="",recipient:K}){let{TxRaw:V}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),M=(await U?.getAccounts())?.[0]?.address;if(!(M&&U))throw new O.USwapError("toolbox_cosmos_no_signer");let m="signAmino"in U,g=await c(),i=await w(Y),b=await n(X,U,{aminoTypes:i,registry:g}),p=X6({assetValue:N,memo:v,recipient:K,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 z6({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:z6,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:K4,transfer:x}}var l,O,Z6;var R6=F(()=>{O6();e();Y6();l=require("@scure/base"),O=require("@uswap/helpers"),Z6=require("ts-pattern")});var j,v4=(Y,Z)=>{switch(Y){case j.Chain.Cosmos:case j.Chain.Kujira:case j.Chain.Noble:return L6({chain:Y,...Z});case j.Chain.Maya:case j.Chain.THORChain:return k6({chain:Y,...Z});default:throw new j.USwapError("toolbox_cosmos_not_supported",{chain:Y})}};var t6=F(()=>{Y6();R6();j=require("@uswap/helpers");Y6();R6()});var U4={};y6(U4,{verifySignature:()=>g6,transferMsgAmino:()=>I6,toBase64:()=>Z4,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:()=>U6,estimateTransactionFee:()=>G4,depositMsgAmino:()=>E6,createThorchainToolbox:()=>k6,createStargateClient:()=>P,createSigningStargateClient:()=>n,createOfflineStargateClient:()=>B6,createDefaultRegistry:()=>c,createDefaultAminoTypes:()=>w,createCosmosToolbox:()=>L6,cosmosCreateTransaction:()=>G6,convertToSignable:()=>$,buildTransferTx:()=>j6,buildEncodedTxBody:()=>z6,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=L4(U4);var k4=F(()=>{O6();t6();e()});k4();
1
+ var e6=Object.create;var{getPrototypeOf:z4,defineProperty:r,getOwnPropertyNames:F6,getOwnPropertyDescriptor:H4}=Object,f6=Object.prototype.hasOwnProperty;var A=(Y,Z,X)=>{X=Y!=null?e6(z4(Y)):{};let z=Z||!Y||!Y.__esModule?r(X,"default",{value:Y,enumerable:!0}):X;for(let L of F6(Y))if(!f6.call(z,L))r(z,L,{get:()=>Y[L],enumerable:!0});return z},M6=new WeakMap,L4=(Y)=>{var Z=M6.get(Y),X;if(Z)return Z;if(Z=r({},"__esModule",{value:!0}),Y&&typeof Y==="object"||typeof Y==="function")F6(Y).map((z)=>!f6.call(Z,z)&&r(Z,z,{get:()=>Y[z],enumerable:!(X=H4(Y,z))||X.enumerable}));return M6.set(Y,Z),Z};var y6=(Y,Z)=>{for(var X in Z)r(Y,X,{get:Z[X],enumerable:!0,configurable:!0,set:(z)=>Z[X]=()=>z})};var F=(Y,Z)=>()=>(Y&&(Z=Y(Y=0)),Z);function a(Y){return C.base64.encode(Uint8Array.from(C.bech32.fromWords(C.bech32.decode(Y).words)))}function s(Y,Z="thor"){return C.bech32.encode(Z,C.bech32.toWords(C.base64.decode(Y)))}function Z4(Y){return Q6.fromByteArray(Y)}function Q4(Y){if(!Y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new D6.USwapError("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("@uswap/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 Z=await import("@cosmjs/stargate"),X=Z.StargateClient??Z.default?.StargateClient,z=typeof window<"u"?{}:{referer:"https://sdk.uswap.dev",referrer:"https://sdk.uswap.dev"};return X.connect({headers:z,url:Y})}async function n(Y,Z,X={}){let z=await import("@cosmjs/stargate"),L=z.SigningStargateClient??z.default?.SigningStargateClient,H=z.GasPrice??z.default?.GasPrice,Q=typeof X==="string"?X:"0.0003uatom",J=typeof X==="string"?{}:X;return L.connectWithSigner(Y,Z,{gasPrice:H.fromString(Q),...J})}async function B6(Y,Z){let X=await import("@cosmjs/stargate");return(X.SigningStargateClient??X.default?.SigningStargateClient).offline(Y,Z)}async function G6({sender:Y,recipient:Z,assetValue:X,memo:z="",feeRate:L,sequence:H,accountNumber:Q}){let{chain:J,chainId:_}=X,E=await B.getRPCUrl(J),k=await(await P(E)).getAccount(Y);if(!k)throw new B.USwapError("toolbox_cosmos_account_not_found",{sender:Y});let I=B.AssetValue.from({chain:J}),x=D(I.symbol),N=S(J),v=x&&L?{amount:[{amount:L.toString(),denom:x}],gas:N.gas}:N,K={amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol)}],fromAddress:Y,toAddress:Z};return{accountNumber:Q??k.accountNumber,chainId:_,fee:v,memo:z,msgs:[{typeUrl:X4(J),value:K}],sequence:H??k.sequence}}var B,W6="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",S6="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",P6,C6,w6,D=(Y,Z=!1)=>{if(Z)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:Z})=>{if(Z===B.Chain.Maya)return(Y.toUpperCase()!=="CACAO"?Y:`${B.Chain.Maya}.${Y}`).toUpperCase();if(Z===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.USwapError("toolbox_cosmos_not_supported",{chain:Y})}},Y4,T6=(Y,Z)=>{let X=Y4[Y.toLowerCase()];if(!X)return B.AssetValue.from({asset:Y,fromBaseDecimal:8,value:Z});let{chain:z,asset:L,decimals:H}=X,Q=z?{chain:z}:{asset:L};return B.AssetValue.from({...Q,fromBaseDecimal:H,value:Z})};var e=F(()=>{B=require("@uswap/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=A(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 Z(X){if(X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.chain="",Z.prototype.symbol="",Z.prototype.ticker="",Z.prototype.synth=!1,Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.chain!=null&&Object.hasOwnProperty.call(z,"chain"))L.uint32(10).string(z.chain);if(z.symbol!=null&&Object.hasOwnProperty.call(z,"symbol"))L.uint32(18).string(z.symbol);if(z.ticker!=null&&Object.hasOwnProperty.call(z,"ticker"))L.uint32(26).string(z.ticker);if(z.synth!=null&&Object.hasOwnProperty.call(z,"synth"))L.uint32(32).bool(z.synth);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.Asset;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.chain=z.string();break;case 2:Q.symbol=z.string();break;case 3:Q.ticker=z.string();break;case 4:Q.synth=z.bool();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.chain!=null&&z.hasOwnProperty("chain")){if(!W.isString(z.chain))return"chain: string expected"}if(z.symbol!=null&&z.hasOwnProperty("symbol")){if(!W.isString(z.symbol))return"symbol: string expected"}if(z.ticker!=null&&z.hasOwnProperty("ticker")){if(!W.isString(z.ticker))return"ticker: string expected"}if(z.synth!=null&&z.hasOwnProperty("synth")){if(typeof z.synth!=="boolean")return"synth: boolean expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.Asset)return z;let L=new q.common.Asset;if(z.chain!=null)L.chain=String(z.chain);if(z.symbol!=null)L.symbol=String(z.symbol);if(z.ticker!=null)L.ticker=String(z.ticker);if(z.synth!=null)L.synth=Boolean(z.synth);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.defaults)H.chain="",H.symbol="",H.ticker="",H.synth=!1;if(z.chain!=null&&z.hasOwnProperty("chain"))H.chain=z.chain;if(z.symbol!=null&&z.hasOwnProperty("symbol"))H.symbol=z.symbol;if(z.ticker!=null&&z.hasOwnProperty("ticker"))H.ticker=z.ticker;if(z.synth!=null&&z.hasOwnProperty("synth"))H.synth=z.synth;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.Coin=(()=>{function Z(X){if(X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.asset=null,Z.prototype.amount="",Z.prototype.decimals=W.Long?W.Long.fromBits(0,0,!1):0,Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.asset!=null&&Object.hasOwnProperty.call(z,"asset"))q.common.Asset.encode(z.asset,L.uint32(10).fork()).ldelim();if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))L.uint32(18).string(z.amount);if(z.decimals!=null&&Object.hasOwnProperty.call(z,"decimals"))L.uint32(24).int64(z.decimals);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.Coin;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.asset=q.common.Asset.decode(z,z.uint32());break;case 2:Q.amount=z.string();break;case 3:Q.decimals=z.int64();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.asset!=null&&z.hasOwnProperty("asset")){let L=q.common.Asset.verify(z.asset);if(L)return"asset."+L}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!W.isString(z.amount))return"amount: string expected"}if(z.decimals!=null&&z.hasOwnProperty("decimals")){if(!W.isInteger(z.decimals)&&!(z.decimals&&W.isInteger(z.decimals.low)&&W.isInteger(z.decimals.high)))return"decimals: integer|Long expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.Coin)return z;let L=new q.common.Coin;if(z.asset!=null){if(typeof z.asset!=="object")throw TypeError(".common.Coin.asset: object expected");L.asset=q.common.Asset.fromObject(z.asset)}if(z.amount!=null)L.amount=String(z.amount);if(z.decimals!=null){if(W.Long)(L.decimals=W.Long.fromValue(z.decimals)).unsigned=!1;else if(typeof z.decimals==="string")L.decimals=Number.parseInt(z.decimals,10);else if(typeof z.decimals==="number")L.decimals=z.decimals;else if(typeof z.decimals==="object")L.decimals=new W.LongBits(z.decimals.low>>>0,z.decimals.high>>>0).toNumber()}return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.defaults)if(H.asset=null,H.amount="",W.Long){let Q=new W.Long(0,0,!1);H.decimals=L.longs===String?Q.toString():L.longs===Number?Q.toNumber():Q}else H.decimals=L.longs===String?"0":0;if(z.asset!=null&&z.hasOwnProperty("asset"))H.asset=q.common.Asset.toObject(z.asset,L);if(z.amount!=null&&z.hasOwnProperty("amount"))H.amount=z.amount;if(z.decimals!=null&&z.hasOwnProperty("decimals"))if(typeof z.decimals==="number")H.decimals=L.longs===String?String(z.decimals):z.decimals;else H.decimals=L.longs===String?W.Long.prototype.toString.call(z.decimals):L.longs===Number?new W.LongBits(z.decimals.low>>>0,z.decimals.high>>>0).toNumber():z.decimals;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.PubKeySet=(()=>{function Z(X){if(X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.secp256k1="",Z.prototype.ed25519="",Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.secp256k1!=null&&Object.hasOwnProperty.call(z,"secp256k1"))L.uint32(10).string(z.secp256k1);if(z.ed25519!=null&&Object.hasOwnProperty.call(z,"ed25519"))L.uint32(18).string(z.ed25519);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.PubKeySet;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.secp256k1=z.string();break;case 2:Q.ed25519=z.string();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.secp256k1!=null&&z.hasOwnProperty("secp256k1")){if(!W.isString(z.secp256k1))return"secp256k1: string expected"}if(z.ed25519!=null&&z.hasOwnProperty("ed25519")){if(!W.isString(z.ed25519))return"ed25519: string expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.PubKeySet)return z;let L=new q.common.PubKeySet;if(z.secp256k1!=null)L.secp256k1=String(z.secp256k1);if(z.ed25519!=null)L.ed25519=String(z.ed25519);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.defaults)H.secp256k1="",H.ed25519="";if(z.secp256k1!=null&&z.hasOwnProperty("secp256k1"))H.secp256k1=z.secp256k1;if(z.ed25519!=null&&z.hasOwnProperty("ed25519"))H.ed25519=z.ed25519;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.Tx=(()=>{function Z(X){if(this.coins=[],this.gas=[],X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.id="",Z.prototype.chain="",Z.prototype.fromAddress="",Z.prototype.toAddress="",Z.prototype.coins=W.emptyArray,Z.prototype.gas=W.emptyArray,Z.prototype.memo="",Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.id!=null&&Object.hasOwnProperty.call(z,"id"))L.uint32(10).string(z.id);if(z.chain!=null&&Object.hasOwnProperty.call(z,"chain"))L.uint32(18).string(z.chain);if(z.fromAddress!=null&&Object.hasOwnProperty.call(z,"fromAddress"))L.uint32(26).string(z.fromAddress);if(z.toAddress!=null&&Object.hasOwnProperty.call(z,"toAddress"))L.uint32(34).string(z.toAddress);if(z.coins?.length)for(let H=0;H<z.coins.length;++H)q.common.Coin.encode(z.coins[H],L.uint32(42).fork()).ldelim();if(z.gas?.length)for(let H=0;H<z.gas.length;++H)q.common.Coin.encode(z.gas[H],L.uint32(50).fork()).ldelim();if(z.memo!=null&&Object.hasOwnProperty.call(z,"memo"))L.uint32(58).string(z.memo);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.Tx;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.id=z.string();break;case 2:Q.chain=z.string();break;case 3:Q.fromAddress=z.string();break;case 4:Q.toAddress=z.string();break;case 5:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(z,z.uint32()));break;case 6:if(!Q.gas?.length)Q.gas=[];Q.gas.push(q.common.Coin.decode(z,z.uint32()));break;case 7:Q.memo=z.string();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.id!=null&&z.hasOwnProperty("id")){if(!W.isString(z.id))return"id: string expected"}if(z.chain!=null&&z.hasOwnProperty("chain")){if(!W.isString(z.chain))return"chain: string expected"}if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress")){if(!W.isString(z.fromAddress))return"fromAddress: string expected"}if(z.toAddress!=null&&z.hasOwnProperty("toAddress")){if(!W.isString(z.toAddress))return"toAddress: string expected"}if(z.coins!=null&&z.hasOwnProperty("coins")){if(!Array.isArray(z.coins))return"coins: array expected";for(let L=0;L<z.coins.length;++L){let H=q.common.Coin.verify(z.coins[L]);if(H)return"coins."+H}}if(z.gas!=null&&z.hasOwnProperty("gas")){if(!Array.isArray(z.gas))return"gas: array expected";for(let L=0;L<z.gas.length;++L){let H=q.common.Coin.verify(z.gas[L]);if(H)return"gas."+H}}if(z.memo!=null&&z.hasOwnProperty("memo")){if(!W.isString(z.memo))return"memo: string expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.Tx)return z;let L=new q.common.Tx;if(z.id!=null)L.id=String(z.id);if(z.chain!=null)L.chain=String(z.chain);if(z.fromAddress!=null)L.fromAddress=String(z.fromAddress);if(z.toAddress!=null)L.toAddress=String(z.toAddress);if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".common.Tx.coins: array expected");L.coins=[];for(let H=0;H<z.coins.length;++H){if(typeof z.coins[H]!=="object")throw TypeError(".common.Tx.coins: object expected");L.coins[H]=q.common.Coin.fromObject(z.coins[H])}}if(z.gas){if(!Array.isArray(z.gas))throw TypeError(".common.Tx.gas: array expected");L.gas=[];for(let H=0;H<z.gas.length;++H){if(typeof z.gas[H]!=="object")throw TypeError(".common.Tx.gas: object expected");L.gas[H]=q.common.Coin.fromObject(z.gas[H])}}if(z.memo!=null)L.memo=String(z.memo);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.arrays||L.defaults)H.coins=[],H.gas=[];if(L.defaults)H.id="",H.chain="",H.fromAddress="",H.toAddress="",H.memo="";if(z.id!=null&&z.hasOwnProperty("id"))H.id=z.id;if(z.chain!=null&&z.hasOwnProperty("chain"))H.chain=z.chain;if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress"))H.fromAddress=z.fromAddress;if(z.toAddress!=null&&z.hasOwnProperty("toAddress"))H.toAddress=z.toAddress;if(z.coins?.length){H.coins=[];for(let Q=0;Q<z.coins.length;++Q)H.coins[Q]=q.common.Coin.toObject(z.coins[Q],L)}if(z.gas?.length){H.gas=[];for(let Q=0;Q<z.gas.length;++Q)H.gas[Q]=q.common.Coin.toObject(z.gas[Q],L)}if(z.memo!=null&&z.hasOwnProperty("memo"))H.memo=z.memo;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.Fee=(()=>{function Z(X){if(this.coins=[],X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.coins=W.emptyArray,Z.prototype.poolDeduct="",Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.coins?.length)for(let H=0;H<z.coins.length;++H)q.common.Coin.encode(z.coins[H],L.uint32(10).fork()).ldelim();if(z.poolDeduct!=null&&Object.hasOwnProperty.call(z,"poolDeduct"))L.uint32(18).string(z.poolDeduct);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.Fee;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(z,z.uint32()));break;case 2:Q.poolDeduct=z.string();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.coins!=null&&z.hasOwnProperty("coins")){if(!Array.isArray(z.coins))return"coins: array expected";for(let L=0;L<z.coins.length;++L){let H=q.common.Coin.verify(z.coins[L]);if(H)return"coins."+H}}if(z.poolDeduct!=null&&z.hasOwnProperty("poolDeduct")){if(!W.isString(z.poolDeduct))return"poolDeduct: string expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.Fee)return z;let L=new q.common.Fee;if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".common.Fee.coins: array expected");L.coins=[];for(let H=0;H<z.coins.length;++H){if(typeof z.coins[H]!=="object")throw TypeError(".common.Fee.coins: object expected");L.coins[H]=q.common.Coin.fromObject(z.coins[H])}}if(z.poolDeduct!=null)L.poolDeduct=String(z.poolDeduct);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.arrays||L.defaults)H.coins=[];if(L.defaults)H.poolDeduct="";if(z.coins?.length){H.coins=[];for(let Q=0;Q<z.coins.length;++Q)H.coins[Q]=q.common.Coin.toObject(z.coins[Q],L)}if(z.poolDeduct!=null&&z.hasOwnProperty("poolDeduct"))H.poolDeduct=z.poolDeduct;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.ProtoUint=(()=>{function Z(X){if(X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.value="",Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.value!=null&&Object.hasOwnProperty.call(z,"value"))L.uint32(10).string(z.value);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.common.ProtoUint;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.value=z.string();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.value!=null&&z.hasOwnProperty("value")){if(!W.isString(z.value))return"value: string expected"}return null},Z.fromObject=function(z){if(z instanceof q.common.ProtoUint)return z;let L=new q.common.ProtoUint;if(z.value!=null)L.value=String(z.value);return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.defaults)H.value="";if(z.value!=null&&z.hasOwnProperty("value"))H.value=z.value;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y})();q.types=(()=>{let Y={};return Y.MsgDeposit=(()=>{function Z(X){if(this.coins=[],X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.coins=W.emptyArray,Z.prototype.memo="",Z.prototype.signer=W.newBuffer([]),Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.coins?.length)for(let H=0;H<z.coins.length;++H)q.common.Coin.encode(z.coins[H],L.uint32(10).fork()).ldelim();if(z.memo!=null&&Object.hasOwnProperty.call(z,"memo"))L.uint32(18).string(z.memo);if(z.signer!=null&&Object.hasOwnProperty.call(z,"signer"))L.uint32(26).bytes(z.signer);return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.types.MsgDeposit;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(q.common.Coin.decode(z,z.uint32()));break;case 2:Q.memo=z.string();break;case 3:Q.signer=z.bytes();break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.coins!=null&&z.hasOwnProperty("coins")){if(!Array.isArray(z.coins))return"coins: array expected";for(let L=0;L<z.coins.length;++L){let H=q.common.Coin.verify(z.coins[L]);if(H)return"coins."+H}}if(z.memo!=null&&z.hasOwnProperty("memo")){if(!W.isString(z.memo))return"memo: string expected"}if(z.signer!=null&&z.hasOwnProperty("signer")){if(!(z.signer&&typeof z.signer.length==="number"||W.isString(z.signer)))return"signer: buffer expected"}return null},Z.fromObject=function(z){if(z instanceof q.types.MsgDeposit)return z;let L=new q.types.MsgDeposit;if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".types.MsgDeposit.coins: array expected");L.coins=[];for(let H=0;H<z.coins.length;++H){if(typeof z.coins[H]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");L.coins[H]=q.common.Coin.fromObject(z.coins[H])}}if(z.memo!=null)L.memo=String(z.memo);if(z.signer!=null){if(typeof z.signer==="string")W.base64.decode(z.signer,L.signer=W.newBuffer(W.base64.length(z.signer)),0);else if(z.signer.length)L.signer=z.signer}return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.arrays||L.defaults)H.coins=[];if(L.defaults){if(H.memo="",L.bytes===String)H.signer="";else if(H.signer=[],L.bytes!==Array)H.signer=W.newBuffer(H.signer)}if(z.coins?.length){H.coins=[];for(let Q=0;Q<z.coins.length;++Q)H.coins[Q]=q.common.Coin.toObject(z.coins[Q],L)}if(z.memo!=null&&z.hasOwnProperty("memo"))H.memo=z.memo;if(z.signer!=null&&z.hasOwnProperty("signer"))H.signer=L.bytes===String?W.base64.encode(z.signer,0,z.signer.length):L.bytes===Array?Array.prototype.slice.call(z.signer):z.signer;return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y.MsgSend=(()=>{function Z(X){if(this.amount=[],X){for(let z=Object.keys(X),L=0;L<z.length;++L)if(X[z[L]]!=null)this[z[L]]=X[z[L]]}}return Z.prototype.fromAddress=W.newBuffer([]),Z.prototype.toAddress=W.newBuffer([]),Z.prototype.amount=W.emptyArray,Z.create=function(z){return new Z(z)},Z.encode=function(z,L){if(!L)L=f.create();if(z.fromAddress!=null&&Object.hasOwnProperty.call(z,"fromAddress"))L.uint32(10).bytes(z.fromAddress);if(z.toAddress!=null&&Object.hasOwnProperty.call(z,"toAddress"))L.uint32(18).bytes(z.toAddress);if(z.amount?.length)for(let H=0;H<z.amount.length;++H)q.cosmos.base.v1beta1.Coin.encode(z.amount[H],L.uint32(26).fork()).ldelim();return L},Z.encodeDelimited=function(z,L){return this.encode(z,L).ldelim()},Z.decode=function(z,L){if(!(z instanceof T))z=T.create(z);let H=L===void 0?z.len:z.pos+L,Q=new q.types.MsgSend;while(z.pos<H){let J=z.uint32();switch(J>>>3){case 1:Q.fromAddress=z.bytes();break;case 2:Q.toAddress=z.bytes();break;case 3:if(!Q.amount?.length)Q.amount=[];Q.amount.push(q.cosmos.base.v1beta1.Coin.decode(z,z.uint32()));break;default:z.skipType(J&7);break}}return Q},Z.decodeDelimited=function(z){if(!(z instanceof T))z=new T(z);return this.decode(z,z.uint32())},Z.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress")){if(!(z.fromAddress&&typeof z.fromAddress.length==="number"||W.isString(z.fromAddress)))return"fromAddress: buffer expected"}if(z.toAddress!=null&&z.hasOwnProperty("toAddress")){if(!(z.toAddress&&typeof z.toAddress.length==="number"||W.isString(z.toAddress)))return"toAddress: buffer expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Array.isArray(z.amount))return"amount: array expected";for(let L=0;L<z.amount.length;++L){let H=q.cosmos.base.v1beta1.Coin.verify(z.amount[L]);if(H)return"amount."+H}}return null},Z.fromObject=function(z){if(z instanceof q.types.MsgSend)return z;let L=new q.types.MsgSend;if(z.fromAddress!=null){if(typeof z.fromAddress==="string")W.base64.decode(z.fromAddress,L.fromAddress=W.newBuffer(W.base64.length(z.fromAddress)),0);else if(z.fromAddress.length)L.fromAddress=z.fromAddress}if(z.toAddress!=null){if(typeof z.toAddress==="string")W.base64.decode(z.toAddress,L.toAddress=W.newBuffer(W.base64.length(z.toAddress)),0);else if(z.toAddress.length)L.toAddress=z.toAddress}if(z.amount){if(!Array.isArray(z.amount))throw TypeError(".types.MsgSend.amount: array expected");L.amount=[];for(let H=0;H<z.amount.length;++H){if(typeof z.amount[H]!=="object")throw TypeError(".types.MsgSend.amount: object expected");L.amount[H]=q.cosmos.base.v1beta1.Coin.fromObject(z.amount[H])}}return L},Z.toObject=function(z,L){if(!L)L={};let H={};if(L.arrays||L.defaults)H.amount=[];if(L.defaults){if(L.bytes===String)H.fromAddress="";else if(H.fromAddress=[],L.bytes!==Array)H.fromAddress=W.newBuffer(H.fromAddress);if(L.bytes===String)H.toAddress="";else if(H.toAddress=[],L.bytes!==Array)H.toAddress=W.newBuffer(H.toAddress)}if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress"))H.fromAddress=L.bytes===String?W.base64.encode(z.fromAddress,0,z.fromAddress.length):L.bytes===Array?Array.prototype.slice.call(z.fromAddress):z.fromAddress;if(z.toAddress!=null&&z.hasOwnProperty("toAddress"))H.toAddress=L.bytes===String?W.base64.encode(z.toAddress,0,z.toAddress.length):L.bytes===Array?Array.prototype.slice.call(z.toAddress):z.toAddress;if(z.amount?.length){H.amount=[];for(let Q=0;Q<z.amount.length;++Q)H.amount[Q]=q.cosmos.base.v1beta1.Coin.toObject(z.amount[Q],L)}return H},Z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},Z})(),Y})();q.cosmos=(()=>{let Y={};return Y.base=(()=>{let Z={};return Z.v1beta1=(()=>{let X={};return X.Coin=(()=>{function z(L){if(L){for(let H=Object.keys(L),Q=0;Q<H.length;++Q)if(L[H[Q]]!=null)this[H[Q]]=L[H[Q]]}}return z.prototype.denom="",z.prototype.amount="",z.create=function(H){return new z(H)},z.encode=function(H,Q){if(!Q)Q=f.create();if(H.denom!=null&&Object.hasOwnProperty.call(H,"denom"))Q.uint32(10).string(H.denom);if(H.amount!=null&&Object.hasOwnProperty.call(H,"amount"))Q.uint32(18).string(H.amount);return Q},z.encodeDelimited=function(H,Q){return this.encode(H,Q).ldelim()},z.decode=function(H,Q){if(!(H instanceof T))H=T.create(H);let J=Q===void 0?H.len:H.pos+Q,_=new q.cosmos.base.v1beta1.Coin;while(H.pos<J){let E=H.uint32();switch(E>>>3){case 1:_.denom=H.string();break;case 2:_.amount=H.string();break;default:H.skipType(E&7);break}}return _},z.decodeDelimited=function(H){if(!(H instanceof T))H=new T(H);return this.decode(H,H.uint32())},z.verify=function(H){if(typeof H!=="object"||H===null)return"object expected";if(H.denom!=null&&H.hasOwnProperty("denom")){if(!W.isString(H.denom))return"denom: string expected"}if(H.amount!=null&&H.hasOwnProperty("amount")){if(!W.isString(H.amount))return"amount: string expected"}return null},z.fromObject=function(H){if(H instanceof q.cosmos.base.v1beta1.Coin)return H;let Q=new q.cosmos.base.v1beta1.Coin;if(H.denom!=null)Q.denom=String(H.denom);if(H.amount!=null)Q.amount=String(H.amount);return Q},z.toObject=function(H,Q){if(!Q)Q={};let J={};if(Q.defaults)J.denom="",J.amount="";if(H.denom!=null&&H.hasOwnProperty("denom"))J.denom=H.denom;if(H.amount!=null&&H.hasOwnProperty("amount"))J.amount=H.amount;return J},z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},z})(),X.DecCoin=(()=>{function z(L){if(L){for(let H=Object.keys(L),Q=0;Q<H.length;++Q)if(L[H[Q]]!=null)this[H[Q]]=L[H[Q]]}}return z.prototype.denom="",z.prototype.amount="",z.create=function(H){return new z(H)},z.encode=function(H,Q){if(!Q)Q=f.create();if(H.denom!=null&&Object.hasOwnProperty.call(H,"denom"))Q.uint32(10).string(H.denom);if(H.amount!=null&&Object.hasOwnProperty.call(H,"amount"))Q.uint32(18).string(H.amount);return Q},z.encodeDelimited=function(H,Q){return this.encode(H,Q).ldelim()},z.decode=function(H,Q){if(!(H instanceof T))H=T.create(H);let J=Q===void 0?H.len:H.pos+Q,_=new q.cosmos.base.v1beta1.DecCoin;while(H.pos<J){let E=H.uint32();switch(E>>>3){case 1:_.denom=H.string();break;case 2:_.amount=H.string();break;default:H.skipType(E&7);break}}return _},z.decodeDelimited=function(H){if(!(H instanceof T))H=new T(H);return this.decode(H,H.uint32())},z.verify=function(H){if(typeof H!=="object"||H===null)return"object expected";if(H.denom!=null&&H.hasOwnProperty("denom")){if(!W.isString(H.denom))return"denom: string expected"}if(H.amount!=null&&H.hasOwnProperty("amount")){if(!W.isString(H.amount))return"amount: string expected"}return null},z.fromObject=function(H){if(H instanceof q.cosmos.base.v1beta1.DecCoin)return H;let Q=new q.cosmos.base.v1beta1.DecCoin;if(H.denom!=null)Q.denom=String(H.denom);if(H.amount!=null)Q.amount=String(H.amount);return Q},z.toObject=function(H,Q){if(!Q)Q={};let J={};if(Q.defaults)J.denom="",J.amount="";if(H.denom!=null&&H.hasOwnProperty("denom"))J.denom=H.denom;if(H.amount!=null&&H.hasOwnProperty("amount"))J.amount=H.amount;return J},z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},z})(),X.IntProto=(()=>{function z(L){if(L){for(let H=Object.keys(L),Q=0;Q<H.length;++Q)if(L[H[Q]]!=null)this[H[Q]]=L[H[Q]]}}return z.prototype.int="",z.create=function(H){return new z(H)},z.encode=function(H,Q){if(!Q)Q=f.create();if(H.int!=null&&Object.hasOwnProperty.call(H,"int"))Q.uint32(10).string(H.int);return Q},z.encodeDelimited=function(H,Q){return this.encode(H,Q).ldelim()},z.decode=function(H,Q){if(!(H instanceof T))H=T.create(H);let J=Q===void 0?H.len:H.pos+Q,_=new q.cosmos.base.v1beta1.IntProto;while(H.pos<J){let E=H.uint32();switch(E>>>3){case 1:_.int=H.string();break;default:H.skipType(E&7);break}}return _},z.decodeDelimited=function(H){if(!(H instanceof T))H=new T(H);return this.decode(H,H.uint32())},z.verify=function(H){if(typeof H!=="object"||H===null)return"object expected";if(H.int!=null&&H.hasOwnProperty("int")){if(!W.isString(H.int))return"int: string expected"}return null},z.fromObject=function(H){if(H instanceof q.cosmos.base.v1beta1.IntProto)return H;let Q=new q.cosmos.base.v1beta1.IntProto;if(H.int!=null)Q.int=String(H.int);return Q},z.toObject=function(H,Q){if(!Q)Q={};let J={};if(Q.defaults)J.int="";if(H.int!=null&&H.hasOwnProperty("int"))J.int=H.int;return J},z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},z})(),X.DecProto=(()=>{function z(L){if(L){for(let H=Object.keys(L),Q=0;Q<H.length;++Q)if(L[H[Q]]!=null)this[H[Q]]=L[H[Q]]}}return z.prototype.dec="",z.create=function(H){return new z(H)},z.encode=function(H,Q){if(!Q)Q=f.create();if(H.dec!=null&&Object.hasOwnProperty.call(H,"dec"))Q.uint32(10).string(H.dec);return Q},z.encodeDelimited=function(H,Q){return this.encode(H,Q).ldelim()},z.decode=function(H,Q){if(!(H instanceof T))H=T.create(H);let J=Q===void 0?H.len:H.pos+Q,_=new q.cosmos.base.v1beta1.DecProto;while(H.pos<J){let E=H.uint32();switch(E>>>3){case 1:_.dec=H.string();break;default:H.skipType(E&7);break}}return _},z.decodeDelimited=function(H){if(!(H instanceof T))H=new T(H);return this.decode(H,H.uint32())},z.verify=function(H){if(typeof H!=="object"||H===null)return"object expected";if(H.dec!=null&&H.hasOwnProperty("dec")){if(!W.isString(H.dec))return"dec: string expected"}return null},z.fromObject=function(H){if(H instanceof q.cosmos.base.v1beta1.DecProto)return H;let Q=new q.cosmos.base.v1beta1.DecProto;if(H.dec!=null)Q.dec=String(H.dec);return Q},z.toObject=function(H,Q){if(!Q)Q={};let J={};if(Q.defaults)J.dec="";if(H.dec!=null&&H.hasOwnProperty("dec"))J.dec=H.dec;return J},z.prototype.toJSON=function(){return this.constructor.toObject(this,R.default.util.toJSONOptions)},z})(),X})(),Z})(),Y})()});async function c(){let{$root:Y}=await Promise.resolve().then(() => (u6(),$6)),Z=await import("@cosmjs/proto-signing"),X=Z.Registry??Z.default?.Registry,z=await import("@cosmjs/stargate"),L=z.defaultRegistryTypes??z.default?.defaultRegistryTypes;return new X([...L,["/types.MsgSend",Y.types.MsgSend],["/types.MsgDeposit",Y.types.MsgDeposit]])}async function w(Y){let Z=await import("@cosmjs/stargate"),X=Z.AminoTypes??Z.default?.AminoTypes,z=Y===h6.Chain.THORChain?"thorchain":"mayachain";return new X({"/types.MsgDeposit":{aminoType:`${z}/MsgDeposit`,fromAmino:({signer:L,...H})=>({...H,signer:a(L)}),toAmino:({signer:L,...H})=>({...H,signer:s(L)})},"/types.MsgSend":{aminoType:`${z}/MsgSend`,fromAmino:({from_address:L,to_address:H,...Q})=>({...Q,fromAddress:a(L),toAddress:a(H)}),toAmino:({fromAddress:L,toAddress:H,...Q})=>({...Q,from_address:s(L),to_address:s(H)})}})}var h6;var _6=F(()=>{q6();h6=require("@uswap/helpers")});function N6(Y){return function(X){let{assetValue:z,recipient:L,memo:H,sender:Q,asSignable:J,asAminoMessage:_}=X;if(L)return j6(Y)({asAminoMessage:_,asSignable:J,assetValue:z,memo:H,recipient:L,sender:Q});return b6(Y)({asAminoMessage:_,asSignable:J,assetValue:z,memo:H,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((Z)=>{let X=y.AssetValue.from({asset:Z.asset}),z=(X.isSynthetic?X.symbol.split("/")?.[1]:X.symbol)?.toUpperCase(),L=(X.isSynthetic?X.symbol.split("/")?.[0]:X.chain)?.toUpperCase();return{...Z,asset:{chain:L,symbol:z,synth:X.isSynthetic,ticker:X.ticker}}})}}}async function z6({chain:Y,memo:Z,msgs:X}){let z=await c(),L=await w(Y),H={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:Z,messages:X.map((Q)=>L.fromAmino(Q))}};return z.encode(H)}var y,J4,q4,I6=({sender:Y,recipient:Z,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:Z}}},E6=({sender:Y,assetValue:Z,memo:X=""})=>{return{type:`${Z.chain===y.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:Z.getBaseValue("string"),asset:d(Z)}],memo:X,signer:Y}}},X6=({sender:Y,recipient:Z,assetValue:X,memo:z})=>{return!Z?E6({assetValue:X,memo:z,sender:Y}):I6({assetValue:X,recipient:Z,sender:Y})},$=async(Y,Z)=>{return(await w(Z)).fromAmino(Y)},l6=async({rpcUrl:Y,sender:Z})=>{let z=await(await P(Y)).getAccount(Z);if(!z)throw new y.USwapError("toolbox_cosmos_account_not_found",{sender:Z});return z},j6=(Y)=>async({sender:Z,recipient:X,assetValue:z,memo:L="",asSignable:H=!0,asAminoMessage:Q=!1,sequence:J,accountNumber:_})=>{let E=await l6({rpcUrl:Y,sender:Z}),U=z.chain,{chainId:k}=y.getChainConfig(U),I=I6({assetValue:z,recipient:X,sender:Z}),x=H?await $(Q?I:u(I),U):I;return{accountNumber:_||E.accountNumber,chainId:k,fee:S(U),memo:L,msgs:[x],sequence:J||E.sequence}},b6=(Y)=>async({sender:Z,assetValue:X,memo:z="",asSignable:L=!0,asAminoMessage:H=!1,sequence:Q,accountNumber:J})=>{let _=await l6({rpcUrl:Y,sender:Z}),E=X.chain,{chainId:U}=y.getChainConfig(E),k=E6({assetValue:X,memo:z,sender:Z}),I=L?await $(H?k:u(k),E):k;return{accountNumber:J||_.accountNumber,chainId:U,fee:S(E),memo:z,msgs:[I],sequence:Q||_.sequence}};var p6=F(()=>{e();_6();y=require("@uswap/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 U6(Y,Z){try{let z=(await A6.USwapApi.getGasRate()).find((L)=>L.chainId===Y)?.value;return z?Number.parseFloat(z):Z}catch{return Z}}async function v6({phrase:Y,prefix:Z,...X}){let z=await import("@cosmjs/proto-signing"),L=z.DirectSecp256k1HdWallet??z.default?.DirectSecp256k1HdWallet,H=await import("@cosmjs/crypto"),Q=H.stringToPath??H.default?.stringToPath,J="derivationPath"in X?X.derivationPath:`${G.DerivationPath[X.chain]}/${X.index}`;return L.fromMnemonic(Y,{hdPaths:[Q(J)],prefix:Z})}async function W4({privateKey:Y,prefix:Z}){let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(Y,Z)}function g6(Y){return async function({signature:X,message:z,address:L}){let H=await Y(L);if(!H?.pubkey)throw new G.USwapError("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(z),H.pubkey.value)}}async function L6({chain:Y,...Z}){let X=await G.getRPCUrl(Y),z=G.CosmosChainPrefixes[Y],L="index"in Z?Z.index||0:0,H=G.derivationPathToString("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:G.updateDerivationPath(G.NetworkDerivationPath[Y],{index:L})),Q=await H6.match(Z).with({phrase:H6.P.string},({phrase:I})=>v6({derivationPath:H,phrase:I,prefix:z})).with({signer:H6.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.USwapError("toolbox_cosmos_signer_not_defined");return h.base64.encode(I?.pubkey)}async function U({recipient:I,assetValue:x,memo:N="",feeRate:v,feeOptionKey:K=G.FeeOption.Fast}){let V=await _();if(!(Q&&V))throw new G.USwapError("toolbox_cosmos_signer_not_defined");let M=G.AssetValue.from({chain:Y}),m=d(M),g=v||n6((await K6(Y,x6[Y]))[K],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:K=G.FeeOption.Fast,dryRun:V=!1}){if(V)return U({assetValue:x,feeOptionKey:K,feeRate:v,memo:N,recipient:I});let M=await _();if(!(Q&&M))throw new G.USwapError("toolbox_cosmos_signer_not_defined");let m=G.AssetValue.from({chain:Y}),g=d(m),i=v||n6((await K6(Y,x6[Y]))[K],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(H),createTransaction:G6,fetchFeeRateFromSwapKit:U6,getAccount:J,getAddress:_,getBalance:async(I,x)=>{let N=await m6(X)(I),v=await Promise.all(N.filter(({denom:K})=>K&&!K.includes("IBC/")&&!([G.Chain.THORChain,G.Chain.Maya].includes(Y)&&K.split("-").length>2)).map(({denom:K,amount:V})=>{let M=[G.Chain.THORChain,G.Chain.Maya].includes(Y)&&(K.includes("/")||K.includes("˜"))?`${Y}.${K}`:K;return T6(M,V)}));if(v.length===0)return[G.AssetValue.from({chain:Y})];return v},getBalanceAsDenoms:m6(X),getFees:()=>K6(Y,x6[Y]),getPubKey:E,getSignerFromPhrase:async({phrase:I,derivationPath:x})=>v6({derivationPath:G.derivationPathToString(x),index:L,phrase:I,prefix:z}),getSignerFromPrivateKey:async(I)=>{let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(I,z)},signTransaction:U,transfer:k,validateAddress:i6(Y),verifySignature:g6(J)}}async function B4(Y,Z){try{let z=(await A6.USwapApi.getGasRate()).find((L)=>L.chainId===Y)?.value;return z?Number.parseFloat(z):Z}catch{return Z}}function G4({assetValue:{chain:Y}}){return G.AssetValue.from({chain:Y,value:T4(Y)})}async function K6(Y,Z){let{chainId:X,baseDecimal:z}=G.getChainConfig(Y),L=await U6(X,Z);return{average:G.USwapNumber.fromBigInt(BigInt(L),z),fast:G.USwapNumber.fromBigInt(BigInt(G.applyFeeMultiplier(L,G.FeeOption.Fast,!0)),z),fastest:G.USwapNumber.fromBigInt(BigInt(G.applyFeeMultiplier(L,G.FeeOption.Fastest,!0)),z)}}function n6(Y,Z){return{amount:[{amount:Y.getBaseValue("string"),denom:Z}],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 Z=G.CosmosChainPrefixes[Y];return function(z){if(!z.startsWith(Z))return!1;try{let{prefix:L,words:H}=h.bech32.decode(z);return h.bech32.encode(L,H)===z.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 z=await import("@cosmjs/crypto"),L=z.stringToPath??z.default?.stringToPath,H=z.Slip10Curve??z.default?.Slip10Curve,Q=z.Slip10??z.default?.Slip10,J=z.EnglishMnemonic??z.default?.EnglishMnemonic,_=z.Bip39??z.default?.Bip39,E=new J(X),U=await _.mnemonicToSeed(E),{privkey:k}=Q.derivePath(H.Secp256k1,U,L(Y));return k}}var h,G,A6,H6,x6;var Y6=F(()=>{e();h=require("@scure/base"),G=require("@uswap/helpers"),A6=require("@uswap/helpers/api"),H6=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:Z}){return async function(z,L=0){let H=await import("@cosmjs/amino"),Q=H.Secp256k1HdWallet??H.default?.Secp256k1HdWallet,J=await import("@cosmjs/crypto"),_=J.stringToPath??J.default?.stringToPath;return Q.fromMnemonic(z,{hdPaths:[_(`${Z}/${L}`)],prefix:Y})}}function E4(Y){return l.base64.encode(Y)}function N4(Y){return async function({wallet:X,tx:z}){let{msgs:L,accountNumber:H,sequence:Q,chainId:J,fee:_,memo:E}=typeof z==="string"?JSON.parse(z):z,U=(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 L){let M=await $(V,Y);N.push(M)}let{signatures:[v]}=await x.sign(U,N,_,E,{accountNumber:H,chainId:J,sequence:Q});return{bodyBytes:await z6({chain:Y,memo:E,msgs:L.map(u)}),signature:E4(v)}}}function O4({prefix:Y,rpcUrl:Z}){return async function(z,L,H,Q,J){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:E}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:U}=(await import("@cosmjs/stargate")).default,{sequence:k,fee:I}=JSON.parse(z),x=await o6(H,Q),N=L.map((V)=>[E(_(l.base64.decode(V.pubKey)),Y),l.base64.decode(V.signature)]),v=await P(Z),{transactionHash:K}=await v.broadcastTx(U(x,k,I,J,new Map(N)));return K}}async function o6(Y,Z,X=!0){let{createMultisigThresholdPubkey:z,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return z(Y.map((H)=>L(l.base64.decode(H))),Z,X)}function x4(Y){return l.base64.decode(Y)}async function K4({privateKey:Y,message:Z}){let{Secp256k1:X}=(await import("@cosmjs/crypto")).default,z=await X.createSignature(l.base64.decode(Z),Y);return l.base64.encode(Buffer.concat([z.r(32),z.s(32)]))}async function k6({chain:Y,...Z}){let X=await O.getRPCUrl(Y),{nodeUrl:z}=O.getChainConfig(Y),{isStagenet:L}=O.USwapConfig.get("envs"),H=Y===O.Chain.THORChain,Q=`${L?"s":""}${O.CosmosChainPrefixes[Y]}`,J="index"in Z?Z.index||0:0,_="derivationPath"in Z&&Z.derivationPath?Z.derivationPath:O.updateDerivationPath(O.NetworkDerivationPath[Y],{index:J}),E=await L6({chain:Y,...Z}),U=await Z6.match(Z).with({phrase:Z6.P.string},({phrase:N})=>E.getSignerFromPhrase({derivationPath:_,phrase:N})).with({signer:Z6.P.any},({signer:N})=>N).otherwise(()=>{return}),k=S(Y);async function I(){let N,v=`${z}/${H?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:K}}=await O.RequestClient.get(v);if(!K||Number.isNaN(K)||K<0)throw new O.USwapError("toolbox_cosmos_invalid_fee",{nativeFee:K.toString()});N=new O.USwapNumber(K)}catch{N=new O.USwapNumber({decimal:O.getChainConfig(Y).baseDecimal,value:H?0.02:1})}return{[O.FeeOption.Average]:N,[O.FeeOption.Fast]:N,[O.FeeOption.Fastest]:N}}async function x({assetValue:N,memo:v="",recipient:K}){let{TxRaw:V}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),M=(await U?.getAccounts())?.[0]?.address;if(!(M&&U))throw new O.USwapError("toolbox_cosmos_no_signer");let m="signAmino"in U,g=await c(),i=await w(Y),b=await n(X,U,{aminoTypes:i,registry:g}),p=X6({assetValue:N,memo:v,recipient:K,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 z6({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:z6,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:K4,transfer:x}}var l,O,Z6;var R6=F(()=>{O6();e();Y6();l=require("@scure/base"),O=require("@uswap/helpers"),Z6=require("ts-pattern")});var j,v4=(Y,Z)=>{switch(Y){case j.Chain.Cosmos:case j.Chain.Kujira:case j.Chain.Noble:return L6({chain:Y,...Z});case j.Chain.Maya:case j.Chain.THORChain:return k6({chain:Y,...Z});default:throw new j.USwapError("toolbox_cosmos_not_supported",{chain:Y})}};var t6=F(()=>{Y6();R6();j=require("@uswap/helpers");Y6();R6()});var U4={};y6(U4,{verifySignature:()=>g6,transferMsgAmino:()=>I6,toBase64:()=>Z4,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:()=>U6,estimateTransactionFee:()=>G4,depositMsgAmino:()=>E6,createThorchainToolbox:()=>k6,createStargateClient:()=>P,createSigningStargateClient:()=>n,createOfflineStargateClient:()=>B6,createDefaultRegistry:()=>c,createDefaultAminoTypes:()=>w,createCosmosToolbox:()=>L6,cosmosCreateTransaction:()=>G6,convertToSignable:()=>$,buildTransferTx:()=>j6,buildEncodedTxBody:()=>z6,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=L4(U4);var k4=F(()=>{O6();t6();e()});k4();
2
2
 
3
- //# debugId=9A09EAFD601870D764756E2164756E21
3
+ //# debugId=D085A39D7356D82664756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -9,12 +9,12 @@
9
9
  "/**\n * Modifications © 2025 Horizontal Systems.\n */\n\nimport type { TxBodyEncodeObject } from \"@cosmjs/proto-signing\";\nimport { AssetValue, Chain, getChainConfig, type TCLikeChain, USwapError } from \"@uswap/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 USwapError(\"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
- "/**\n * Modifications © 2025 Horizontal Systems.\n */\n\nimport 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 type TCLikeChain,\n USwapError,\n USwapNumber,\n updateDerivationPath,\n} from \"@uswap/helpers\";\nimport { USwapApi } from \"@uswap/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 USwapApi.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 USwapError(\"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 USwapError(\"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 USwapError(\"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 USwapError(\"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 USwapApi.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: USwapNumber.fromBigInt(BigInt(baseFee), baseDecimal),\n fast: USwapNumber.fromBigInt(BigInt(applyFeeMultiplier(baseFee, FeeOption.Fast, true)), baseDecimal),\n fastest: USwapNumber.fromBigInt(BigInt(applyFeeMultiplier(baseFee, FeeOption.Fastest, true)), baseDecimal),\n } as { [key in FeeOption]: USwapNumber };\n}\n\nfunction feeToStdFee(fee: USwapNumber, 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
+ "/**\n * Modifications © 2025 Horizontal Systems.\n */\n\nimport 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 type TCLikeChain,\n USwapError,\n USwapNumber,\n updateDerivationPath,\n} from \"@uswap/helpers\";\nimport { USwapApi } from \"@uswap/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 USwapApi.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 USwapError(\"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 USwapError(\"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 USwapError(\"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 USwapError(\"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 USwapApi.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: USwapNumber.fromBigInt(BigInt(baseFee), baseDecimal),\n fast: USwapNumber.fromBigInt(BigInt(applyFeeMultiplier(baseFee, FeeOption.Fast, true)), baseDecimal),\n fastest: USwapNumber.fromBigInt(BigInt(applyFeeMultiplier(baseFee, FeeOption.Fastest, true)), baseDecimal),\n } as { [key in FeeOption]: USwapNumber };\n}\n\nfunction feeToStdFee(fee: USwapNumber, 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
  "/**\n * Modifications © 2025 Horizontal Systems.\n */\n\nimport 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 type TCLikeChain,\n USwapConfig,\n USwapError,\n USwapNumber,\n updateDerivationPath,\n} from \"@uswap/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 } = USwapConfig.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: USwapNumber;\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 USwapError(\"toolbox_cosmos_invalid_fee\", { nativeFee: nativeFee.toString() });\n }\n\n fee = new USwapNumber(nativeFee);\n } catch {\n fee = new USwapNumber({ 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 USwapError(\"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
  "/**\n * Modifications © 2025 Horizontal Systems.\n */\n\nimport { Chain, type CosmosChain, USwapError } from \"@uswap/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 USwapError(\"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": "9A09EAFD601870D764756E2164756E21",
17
+ "mappings": "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",
18
+ "debugId": "D085A39D7356D82664756E2164756E21",
19
19
  "names": []
20
20
  }