@uswap/toolboxes 4.3.11 → 4.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cosmos/index.cjs +2 -2
- package/dist/src/cosmos/index.cjs.map +3 -3
- package/dist/src/cosmos/index.js +2 -2
- package/dist/src/cosmos/index.js.map +3 -3
- package/dist/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +3 -3
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +3 -3
- package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/cosmos/toolbox/cosmos.ts +6 -1
package/dist/src/cosmos/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var B4=Object.create;var{getPrototypeOf:G4,defineProperty:J6,getOwnPropertyNames:T4}=Object;var _4=Object.prototype.hasOwnProperty;var K=(Y,Z,X)=>{X=Y!=null?B4(G4(Y)):{};let z=Z||!Y||!Y.__esModule?J6(X,"default",{value:Y,enumerable:!0}):X;for(let L of T4(Y))if(!_4.call(z,L))J6(z,L,{get:()=>Y[L],enumerable:!0});return z};var D6=(Y,Z)=>{for(var X in Z)J6(Y,X,{get:Z[X],enumerable:!0,configurable:!0,set:(z)=>Z[X]=()=>z})};var F=(Y,Z)=>()=>(Y&&(Z=Y(Y=0)),Z);var v=((Y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(Y,{get:(Z,X)=>(typeof require<"u"?require:Z)[X]}):Y)(function(Y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+Y+'" is not supported')});import{base64 as S6,bech32 as e}from"@scure/base";import{USwapError as I4}from"@uswap/helpers";import{fromByteArray as E4,toByteArray as N4}from"base64-js";function i(Y){return S6.encode(Uint8Array.from(e.fromWords(e.decode(Y).words)))}function o(Y,Z="thor"){return e.encode(Z,e.toWords(S6.decode(Y)))}function O4(Y){return E4(Y)}function x4(Y){if(!Y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new I4("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return N4(Y)}var q6=()=>{};import{AssetValue as W6,Chain as I,getChainConfig as y,getRPCUrl as K4,USwapError as P6}from"@uswap/helpers";function S(Y){switch(Y){case I.Maya:return{amount:[],gas:"10000000000"};case I.THORChain:return{amount:[],gas:"500000000"};case I.Kujira:return $6;case I.Noble:return u6;default:return w6}}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 p(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 G6(Y,Z){let X=await import("@cosmjs/stargate");return(X.SigningStargateClient??X.default?.SigningStargateClient).offline(Y,Z)}async function T6({sender:Y,recipient:Z,assetValue:X,memo:z="",feeRate:L,sequence:H,accountNumber:Q}){let{chain:J,chainId:G}=X,_=await K4(J),U=await(await P(_)).getAccount(Y);if(!U)throw new P6("toolbox_cosmos_account_not_found",{sender:Y});let T=W6.from({chain:J}),N=D(T.symbol),E=S(J),x=N&&L?{amount:[{amount:L.toString(),denom:N}],gas:E.gas}:E,O={amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol)}],fromAddress:Y,toAddress:Z};return{accountNumber:Q??U.accountNumber,chainId:G,fee:x,memo:z,msgs:[{typeUrl:v4(J),value:O}],sequence:H??U.sequence}}var B6="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",C6="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",w6,$6,u6,D=(Y,Z=!1)=>{if(Z)return Y.toLowerCase();switch(Y){case"uUSK":case"USK":return B6;case"uYUM":case"YUM":return C6;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return Y}},b=({symbol:Y,chain:Z})=>{if(Z===I.Maya)return(Y.toUpperCase()!=="CACAO"?Y:`${I.Maya}.${Y}`).toUpperCase();if(Z===I.THORChain)return(["RUNE","TCY","RUJI"].includes(Y.toUpperCase())?`${I.THORChain}.${Y}`:Y).toUpperCase();return D(Y,!1)},v4=(Y)=>{switch(Y){case I.Maya:case I.THORChain:return"/types.MsgSend";case I.Cosmos:case I.Kujira:case I.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new P6("toolbox_cosmos_not_supported",{chain:Y})}},A4,_6=(Y,Z)=>{let X=A4[Y.toLowerCase()];if(!X)return W6.from({asset:Y,fromBaseDecimal:8,value:Z});let{chain:z,asset:L,decimals:H}=X,Q=z?{chain:z}:{asset:L};return W6.from({...Q,fromBaseDecimal:H,value:Z})};var t=F(()=>{w6={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},$6={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},u6={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};A4={atom:{chain:I.Cosmos,decimals:y(I.Cosmos).baseDecimal},cacao:{chain:I.Maya,decimals:10},kuji:{chain:I.Kujira,decimals:y(I.Kujira).baseDecimal},maya:{asset:`${I.Maya}.${I.Maya}`,decimals:4},rune:{chain:I.THORChain,decimals:y(I.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:y(I.THORChain).baseDecimal},uatom:{chain:I.Cosmos,decimals:y(I.Cosmos).baseDecimal},ukuji:{chain:I.Kujira,decimals:y(I.Kujira).baseDecimal},usdc:{chain:I.Noble,decimals:y(I.Noble).baseDecimal},uusdc:{chain:I.Noble,decimals:y(I.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:y(I.THORChain).baseDecimal},[B6.toLowerCase()]:{asset:`${I.Kujira}.USK`,decimals:y(I.Kujira).baseDecimal}}});var h6={};D6(h6,{$root:()=>q});import k from"protobufjs/minimal.js";var B,f,W,q;var l6=F(()=>{B=k.Reader,f=k.Writer,W=k.util,q=k.roots.default||(k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))H=B.create(H);let J=Q===void 0?H.len:H.pos+Q,G=new q.cosmos.base.v1beta1.Coin;while(H.pos<J){let _=H.uint32();switch(_>>>3){case 1:G.denom=H.string();break;case 2:G.amount=H.string();break;default:H.skipType(_&7);break}}return G},z.decodeDelimited=function(H){if(!(H instanceof B))H=new B(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,k.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 B))H=B.create(H);let J=Q===void 0?H.len:H.pos+Q,G=new q.cosmos.base.v1beta1.DecCoin;while(H.pos<J){let _=H.uint32();switch(_>>>3){case 1:G.denom=H.string();break;case 2:G.amount=H.string();break;default:H.skipType(_&7);break}}return G},z.decodeDelimited=function(H){if(!(H instanceof B))H=new B(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,k.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 B))H=B.create(H);let J=Q===void 0?H.len:H.pos+Q,G=new q.cosmos.base.v1beta1.IntProto;while(H.pos<J){let _=H.uint32();switch(_>>>3){case 1:G.int=H.string();break;default:H.skipType(_&7);break}}return G},z.decodeDelimited=function(H){if(!(H instanceof B))H=new B(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,k.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 B))H=B.create(H);let J=Q===void 0?H.len:H.pos+Q,G=new q.cosmos.base.v1beta1.DecProto;while(H.pos<J){let _=H.uint32();switch(_>>>3){case 1:G.dec=H.string();break;default:H.skipType(_&7);break}}return G},z.decodeDelimited=function(H){if(!(H instanceof B))H=new B(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,k.util.toJSONOptions)},z})(),X})(),Z})(),Y})()});import{Chain as U4}from"@uswap/helpers";async function l(){let{$root:Y}=await Promise.resolve().then(() => (l6(),h6)),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 C(Y){let Z=await import("@cosmjs/stargate"),X=Z.AminoTypes??Z.default?.AminoTypes,z=Y===U4.THORChain?"thorchain":"mayachain";return new X({"/types.MsgDeposit":{aminoType:`${z}/MsgDeposit`,fromAmino:({signer:L,...H})=>({...H,signer:i(L)}),toAmino:({signer:L,...H})=>({...H,signer:o(L)})},"/types.MsgSend":{aminoType:`${z}/MsgSend`,fromAmino:({from_address:L,to_address:H,...Q})=>({...Q,fromAddress:i(L),toAddress:i(H)}),toAmino:({fromAddress:L,toAddress:H,...Q})=>({...Q,from_address:o(L),to_address:o(H)})}})}var I6=F(()=>{q6()});import{AssetValue as k4,Chain as z6,getChainConfig as j6,USwapError as R4}from"@uswap/helpers";function O6(Y){return function(X){let{assetValue:z,recipient:L,memo:H,sender:Q,asSignable:J,asAminoMessage:G}=X;if(L)return p6(Y)({asAminoMessage:G,asSignable:J,assetValue:z,memo:H,recipient:L,sender:Q});return c6(Y)({asAminoMessage:G,asSignable:J,assetValue:z,memo:H,sender:Q})}}function $(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=k4.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 r({chain:Y,memo:Z,msgs:X}){let z=await l(),L=await C(Y),H={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:Z,messages:X.map((Q)=>L.fromAmino(Q))}};return z.encode(H)}var V4,M4,E6=({sender:Y,recipient:Z,assetValue:X})=>{return{type:`${X.chain===z6.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol,!0)}],from_address:Y,to_address:Z}}},N6=({sender:Y,assetValue:Z,memo:X=""})=>{return{type:`${Z.chain===z6.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:Z.getBaseValue("string"),asset:b(Z)}],memo:X,signer:Y}}},H6=({sender:Y,recipient:Z,assetValue:X,memo:z})=>{return!Z?N6({assetValue:X,memo:z,sender:Y}):E6({assetValue:X,recipient:Z,sender:Y})},w=async(Y,Z)=>{return(await C(Z)).fromAmino(Y)},b6=async({rpcUrl:Y,sender:Z})=>{let z=await(await P(Y)).getAccount(Z);if(!z)throw new R4("toolbox_cosmos_account_not_found",{sender:Z});return z},p6=(Y)=>async({sender:Z,recipient:X,assetValue:z,memo:L="",asSignable:H=!0,asAminoMessage:Q=!1,sequence:J,accountNumber:G})=>{let _=await b6({rpcUrl:Y,sender:Z}),A=z.chain,{chainId:U}=j6(A),T=E6({assetValue:z,recipient:X,sender:Z}),N=H?await w(Q?T:$(T),A):T;return{accountNumber:G||_.accountNumber,chainId:U,fee:S(A),memo:L,msgs:[N],sequence:J||_.sequence}},c6=(Y)=>async({sender:Z,assetValue:X,memo:z="",asSignable:L=!0,asAminoMessage:H=!1,sequence:Q,accountNumber:J})=>{let G=await b6({rpcUrl:Y,sender:Z}),_=X.chain,{chainId:A}=j6(_),U=N6({assetValue:X,memo:z,sender:Z}),T=L?await w(H?U:$(U),_):U;return{accountNumber:J||G.accountNumber,chainId:A,fee:S(_),memo:z,msgs:[T],sequence:Q||G.sequence}};var d6=F(()=>{t();I6();V4=S(z6.THORChain).gas,M4=S(z6.Maya).gas});var n6=()=>{};var m6=F(()=>{n6()});var x6=F(()=>{q6();d6();I6();m6()});import{base64 as k6,bech32 as K6}from"@scure/base";import{AssetValue as L6,applyFeeMultiplier as g6,Chain as V,CosmosChainPrefixes as a6,DerivationPath as F4,derivationPathToString as i6,FeeOption as Q6,getChainConfig as f4,getRPCUrl as y4,NetworkDerivationPath as D4,USwapError as Z6,USwapNumber as v6,updateDerivationPath as S4}from"@uswap/helpers";import{USwapApi as s6}from"@uswap/helpers/api";import{match as P4,P as o6}from"ts-pattern";async function V6(Y,Z){try{let z=(await s6.getGasRate()).find((L)=>L.chainId===Y)?.value;return z?Number.parseFloat(z):Z}catch{return Z}}async function R6({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:`${F4[X.chain]}/${X.index}`;return L.fromMnemonic(Y,{hdPaths:[Q(J)],prefix:Z})}async function C4({privateKey:Y,prefix:Z}){let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(Y,Z)}function e6(Y){return async function({signature:X,message:z,address:L}){let H=await Y(L);if(!H?.pubkey)throw new Z6("toolbox_cosmos_verify_signature_no_pubkey");let Q=await import("@cosmjs/crypto"),J=Q.Secp256k1Signature??Q.default?.Secp256k1Signature,G=Q.Secp256k1??Q.default?.Secp256k1,_=J.fromFixedLength(k6.decode(X));return G.verifySignature(_,k6.decode(z),H.pubkey.value)}}async function a({chain:Y,...Z}){let X=await y4(Y),z=a6[Y],L="index"in Z?Z.index||0:0,H=i6("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:S4(D4[Y],{index:L})),Q=await P4(Z).with({phrase:o6.string},({phrase:T})=>R6({derivationPath:H,phrase:T,prefix:z})).with({signer:o6.any},({signer:T})=>T).otherwise(()=>{return});async function J(T){return(await P(X)).getAccount(T)}async function G(){let[T]=await Q?.getAccounts()||[];return T?.address}async function _(){let[T]=await Q?.getAccounts()||[];if(!T?.pubkey)throw new Z6("toolbox_cosmos_signer_not_defined");return k6.encode(T?.pubkey)}async function A({recipient:T,assetValue:N,memo:E="",feeRate:x,feeOptionKey:O=Q6.Fast}){let R=await G();if(!(Q&&R))throw new Z6("toolbox_cosmos_signer_not_defined");let M=L6.from({chain:Y}),c=b(M),d=x||t6((await U6(Y,A6[Y]))[O],c),n=await p(X,Q),u=D(N.symbol),h=N.getBaseValue("string"),{TxRaw:m}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),g={amount:[{amount:h,denom:u}],fromAddress:R,toAddress:T},y6=await n.sign(R,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:g}],d,E),Y6=m.encode(y6).finish();return Buffer.from(Y6).toString("hex")}async function U({recipient:T,assetValue:N,memo:E="",feeRate:x,feeOptionKey:O=Q6.Fast,dryRun:R=!1}){if(R)return A({assetValue:N,feeOptionKey:O,feeRate:x,memo:E,recipient:T});let M=await G();if(!(Q&&M))throw new Z6("toolbox_cosmos_signer_not_defined");let c=L6.from({chain:Y}),d=b(c),n=x||t6((await U6(Y,A6[Y]))[O],d),u=await p(X,Q),h=D(N.symbol),m=[{amount:N.getBaseValue("string"),denom:h}],{transactionHash:g}=await u.sendTokens(M,T,m,n,E);return g}return{createPrivateKeyFromPhrase:h4(H),createTransaction:T6,fetchFeeRateFromSwapKit:V6,getAccount:J,getAddress:G,getBalance:async(T,N)=>{let E=await r6(X)(T),x=await Promise.all(E.filter(({denom:O})=>O&&!O.includes("IBC/")).map(({denom:O,amount:R})=>{let M=[V.THORChain,V.Maya].includes(Y)&&(O.includes("/")||O.includes("˜"))?`${Y}.${O}`:O;return _6(M,R)}));if(x.length===0)return[L6.from({chain:Y})];return x},getBalanceAsDenoms:r6(X),getFees:()=>U6(Y,A6[Y]),getPubKey:_,getSignerFromPhrase:async({phrase:T,derivationPath:N})=>R6({derivationPath:i6(N),index:L,phrase:T,prefix:z}),getSignerFromPrivateKey:async(T)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,z)},signTransaction:A,transfer:U,validateAddress:z4(Y),verifySignature:e6(J)}}async function w4(Y,Z){try{let z=(await s6.getGasRate()).find((L)=>L.chainId===Y)?.value;return z?Number.parseFloat(z):Z}catch{return Z}}function $4({assetValue:{chain:Y}}){return L6.from({chain:Y,value:u4(Y)})}async function U6(Y,Z){let{chainId:X,baseDecimal:z}=f4(Y),L=await V6(X,Z);return{average:v6.fromBigInt(BigInt(L),z),fast:v6.fromBigInt(BigInt(g6(L,Q6.Fast,!0)),z),fastest:v6.fromBigInt(BigInt(g6(L,Q6.Fastest,!0)),z)}}function t6(Y,Z){return{amount:[{amount:Y.getBaseValue("string"),denom:Z}],gas:"200000"}}function u4(Y){return{[V.Cosmos]:0.007,[V.Kujira]:0.02,[V.Noble]:0.01,[V.THORChain]:0.02,[V.Maya]:0.02,[V.Harbor]:0.02}[Y]||0}function z4(Y){let Z=a6[Y];return function(z){if(!z.startsWith(Z))return!1;try{let{prefix:L,words:H}=K6.decode(z);return K6.encode(L,H)===z.toLocaleLowerCase()}catch{return!1}}}function r6(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 h4(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,G=z.Bip39??z.default?.Bip39,_=new J(X),A=await G.mnemonicToSeed(_),{privkey:U}=Q.derivePath(H.Secp256k1,A,L(Y));return U}}var A6;var X6=F(()=>{t();A6={[V.Cosmos]:1000,[V.Kujira]:1000,[V.Noble]:1000,[V.THORChain]:5000000,[V.Maya]:5000000,[V.Harbor]:5000000}});import{base64 as j}from"@scure/base";import{Chain as l4,CosmosChainPrefixes as j4,derivationPathToString as b4,FeeOption as M6,getChainConfig as H4,getRPCUrl as p4,NetworkDerivationPath as c4,RequestClient as d4,USwapConfig as n4,USwapError as L4,USwapNumber as Z4,updateDerivationPath as m4}from"@uswap/helpers";import{match as g4,P as Q4}from"ts-pattern";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"),G=J.stringToPath??J.default?.stringToPath;return Q.fromMnemonic(z,{hdPaths:[G(`${Z}/${L}`)],prefix:Y})}}function o4(Y){return j.encode(Y)}function t4(Y){return async function({wallet:X,tx:z}){let{msgs:L,accountNumber:H,sequence:Q,chainId:J,fee:G,memo:_}=typeof z==="string"?JSON.parse(z):z,A=(await X.getAccounts())?.[0]?.address||"",U=await C(Y),T=await l(),N=await G6(X,{aminoTypes:U,registry:T}),E=[];for(let R of L){let M=await w(R,Y);E.push(M)}let{signatures:[x]}=await N.sign(A,E,G,_,{accountNumber:H,chainId:J,sequence:Q});return{bodyBytes:await r({chain:Y,memo:_,msgs:L.map($)}),signature:o4(x)}}}function r4({prefix:Y,rpcUrl:Z}){return async function(z,L,H,Q,J){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:_}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:A}=(await import("@cosmjs/stargate")).default,{sequence:U,fee:T}=JSON.parse(z),N=await X4(H,Q),E=L.map((R)=>[_(G(j.decode(R.pubKey)),Y),j.decode(R.signature)]),x=await P(Z),{transactionHash:O}=await x.broadcastTx(A(N,U,T,J,new Map(E)));return O}}async function X4(Y,Z,X=!0){let{createMultisigThresholdPubkey:z,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return z(Y.map((H)=>L(j.decode(H))),Z,X)}function a4(Y){return j.decode(Y)}async function s4({privateKey:Y,message:Z}){let{Secp256k1:X}=(await import("@cosmjs/crypto")).default,z=await X.createSignature(j.decode(Z),Y);return j.encode(Buffer.concat([z.r(32),z.s(32)]))}async function F6({chain:Y,...Z}){let X=await p4(Y),{nodeUrl:z}=H4(Y),{isStagenet:L}=n4.get("envs"),H=Y===l4.THORChain,Q=`${L?"s":""}${j4[Y]}`,J="index"in Z?Z.index||0:0,G="derivationPath"in Z&&Z.derivationPath?Z.derivationPath:m4(c4[Y],{index:J}),_=await a({chain:Y,...Z}),A=await g4(Z).with({phrase:Q4.string},({phrase:E})=>_.getSignerFromPhrase({derivationPath:G,phrase:E})).with({signer:Q4.any},({signer:E})=>E).otherwise(()=>{return}),U=S(Y);async function T(){let E,x=`${z}/${H?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:O}}=await d4.get(x);if(!O||Number.isNaN(O)||O<0)throw new L4("toolbox_cosmos_invalid_fee",{nativeFee:O.toString()});E=new Z4(O)}catch{E=new Z4({decimal:H4(Y).baseDecimal,value:H?0.02:1})}return{[M6.Average]:E,[M6.Fast]:E,[M6.Fastest]:E}}async function N({assetValue:E,memo:x="",recipient:O}){let{TxRaw:R}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),M=(await A?.getAccounts())?.[0]?.address;if(!(M&&A))throw new L4("toolbox_cosmos_no_signer");let c="signAmino"in A,d=await l(),n=await C(Y),u=await p(X,A,{aminoTypes:n,registry:d}),h=H6({assetValue:E,memo:x,recipient:O,sender:M});if(c){let Y6=await w(h,Y),{signatures:J4,authInfoBytes:q4}=await u.sign(M,[Y6],U,x),W4=R.encode({authInfoBytes:q4,bodyBytes:await r({chain:Y,memo:x,msgs:[h].map($)}),signatures:J4}).finish();return(await u.broadcastTx(W4)).transactionHash}let m=$(h),g=await w(m,Y);return(await u.signAndBroadcast(M,[g],U,x)).transactionHash}return{..._,broadcastMultisigTx:r4({prefix:Q,rpcUrl:X}),buildAminoMsg:H6,buildEncodedTxBody:r,convertToSignable:w,createDefaultAminoTypes:()=>C(Y),createDefaultRegistry:l,createMultisig:X4,createTransaction:O6(X),deposit:N,getFees:T,importSignature:a4,parseAminoMessageForDirectSigning:$,pubkeyToAddress:async(E)=>{let{pubkeyToAddress:x}=(await import("@cosmjs/amino")).default;return x(E,Q)},secp256k1HdWalletFromMnemonic:i4({derivationPath:b4(G),prefix:Q}),signMultisigTx:t4(Y),signWithPrivateKey:s4,transfer:N}}var f6=F(()=>{x6();t();X6()});import{Chain as s,USwapError as e4}from"@uswap/helpers";var z0=(Y,Z)=>{switch(Y){case s.Cosmos:case s.Kujira:case s.Noble:return a({chain:Y,...Z});case s.Maya:case s.THORChain:return F6({chain:Y,...Z});default:throw new e4("toolbox_cosmos_not_supported",{chain:Y})}};var Y4=F(()=>{X6();f6();X6();f6()});var L0={};D6(L0,{verifySignature:()=>e6,transferMsgAmino:()=>E6,toBase64:()=>O4,parseAminoMessageForDirectSigning:()=>$,getSignerFromPrivateKey:()=>C4,getSignerFromPhrase:()=>R6,getMsgSendDenom:()=>D,getFeeRateFromSwapKit:()=>w4,getDenomWithChain:()=>b,getDefaultChainFee:()=>S,getCreateTransaction:()=>O6,getCosmosValidateAddress:()=>z4,getCosmosToolbox:()=>z0,getAssetFromDenom:()=>_6,fromBase64:()=>x4,fetchFeeRateFromSwapKit:()=>V6,estimateTransactionFee:()=>$4,depositMsgAmino:()=>N6,createThorchainToolbox:()=>F6,createStargateClient:()=>P,createSigningStargateClient:()=>p,createOfflineStargateClient:()=>G6,createDefaultRegistry:()=>l,createDefaultAminoTypes:()=>C,createCosmosToolbox:()=>a,cosmosCreateTransaction:()=>T6,convertToSignable:()=>w,buildTransferTx:()=>p6,buildEncodedTxBody:()=>r,buildDepositTx:()=>c6,buildAminoMsg:()=>H6,bech32ToBase64:()=>i,base64ToBech32:()=>o,YUM_KUJIRA_FACTORY_DENOM:()=>C6,USK_KUJIRA_FACTORY_DENOM:()=>B6,THORCHAIN_GAS_VALUE:()=>V4,MAYA_GAS_VALUE:()=>M4,DEFAULT_NOBLE_FEE_MAINNET:()=>u6,DEFAULT_KUJI_FEE_MAINNET:()=>$6,DEFAULT_COSMOS_FEE_MAINNET:()=>w6});var Z0=F(()=>{x6();Y4();t()});Z0();export{e6 as verifySignature,E6 as transferMsgAmino,O4 as toBase64,$ as parseAminoMessageForDirectSigning,C4 as getSignerFromPrivateKey,R6 as getSignerFromPhrase,D as getMsgSendDenom,w4 as getFeeRateFromSwapKit,b as getDenomWithChain,S as getDefaultChainFee,O6 as getCreateTransaction,z4 as getCosmosValidateAddress,z0 as getCosmosToolbox,_6 as getAssetFromDenom,x4 as fromBase64,V6 as fetchFeeRateFromSwapKit,$4 as estimateTransactionFee,N6 as depositMsgAmino,F6 as createThorchainToolbox,P as createStargateClient,p as createSigningStargateClient,G6 as createOfflineStargateClient,l as createDefaultRegistry,C as createDefaultAminoTypes,a as createCosmosToolbox,T6 as cosmosCreateTransaction,w as convertToSignable,p6 as buildTransferTx,r as buildEncodedTxBody,c6 as buildDepositTx,H6 as buildAminoMsg,i as bech32ToBase64,o as base64ToBech32,C6 as YUM_KUJIRA_FACTORY_DENOM,B6 as USK_KUJIRA_FACTORY_DENOM,V4 as THORCHAIN_GAS_VALUE,M4 as MAYA_GAS_VALUE,u6 as DEFAULT_NOBLE_FEE_MAINNET,$6 as DEFAULT_KUJI_FEE_MAINNET,w6 as DEFAULT_COSMOS_FEE_MAINNET};
|
|
1
|
+
var B4=Object.create;var{getPrototypeOf:G4,defineProperty:J6,getOwnPropertyNames:T4}=Object;var _4=Object.prototype.hasOwnProperty;var K=(Y,Z,X)=>{X=Y!=null?B4(G4(Y)):{};let z=Z||!Y||!Y.__esModule?J6(X,"default",{value:Y,enumerable:!0}):X;for(let L of T4(Y))if(!_4.call(z,L))J6(z,L,{get:()=>Y[L],enumerable:!0});return z};var D6=(Y,Z)=>{for(var X in Z)J6(Y,X,{get:Z[X],enumerable:!0,configurable:!0,set:(z)=>Z[X]=()=>z})};var F=(Y,Z)=>()=>(Y&&(Z=Y(Y=0)),Z);var v=((Y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(Y,{get:(Z,X)=>(typeof require<"u"?require:Z)[X]}):Y)(function(Y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+Y+'" is not supported')});import{base64 as S6,bech32 as e}from"@scure/base";import{USwapError as I4}from"@uswap/helpers";import{fromByteArray as E4,toByteArray as N4}from"base64-js";function i(Y){return S6.encode(Uint8Array.from(e.fromWords(e.decode(Y).words)))}function o(Y,Z="thor"){return e.encode(Z,e.toWords(S6.decode(Y)))}function O4(Y){return E4(Y)}function x4(Y){if(!Y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new I4("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return N4(Y)}var q6=()=>{};import{AssetValue as W6,Chain as I,getChainConfig as y,getRPCUrl as K4,USwapError as P6}from"@uswap/helpers";function S(Y){switch(Y){case I.Maya:return{amount:[],gas:"10000000000"};case I.THORChain:return{amount:[],gas:"500000000"};case I.Kujira:return $6;case I.Noble:return u6;default:return w6}}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 p(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 G6(Y,Z){let X=await import("@cosmjs/stargate");return(X.SigningStargateClient??X.default?.SigningStargateClient).offline(Y,Z)}async function T6({sender:Y,recipient:Z,assetValue:X,memo:z="",feeRate:L,sequence:H,accountNumber:Q}){let{chain:J,chainId:G}=X,_=await K4(J),U=await(await P(_)).getAccount(Y);if(!U)throw new P6("toolbox_cosmos_account_not_found",{sender:Y});let T=W6.from({chain:J}),N=D(T.symbol),E=S(J),x=N&&L?{amount:[{amount:L.toString(),denom:N}],gas:E.gas}:E,O={amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol)}],fromAddress:Y,toAddress:Z};return{accountNumber:Q??U.accountNumber,chainId:G,fee:x,memo:z,msgs:[{typeUrl:v4(J),value:O}],sequence:H??U.sequence}}var B6="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",C6="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",w6,$6,u6,D=(Y,Z=!1)=>{if(Z)return Y.toLowerCase();switch(Y){case"uUSK":case"USK":return B6;case"uYUM":case"YUM":return C6;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return Y}},b=({symbol:Y,chain:Z})=>{if(Z===I.Maya)return(Y.toUpperCase()!=="CACAO"?Y:`${I.Maya}.${Y}`).toUpperCase();if(Z===I.THORChain)return(["RUNE","TCY","RUJI"].includes(Y.toUpperCase())?`${I.THORChain}.${Y}`:Y).toUpperCase();return D(Y,!1)},v4=(Y)=>{switch(Y){case I.Maya:case I.THORChain:return"/types.MsgSend";case I.Cosmos:case I.Kujira:case I.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new P6("toolbox_cosmos_not_supported",{chain:Y})}},A4,_6=(Y,Z)=>{let X=A4[Y.toLowerCase()];if(!X)return W6.from({asset:Y,fromBaseDecimal:8,value:Z});let{chain:z,asset:L,decimals:H}=X,Q=z?{chain:z}:{asset:L};return W6.from({...Q,fromBaseDecimal:H,value:Z})};var t=F(()=>{w6={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},$6={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},u6={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};A4={atom:{chain:I.Cosmos,decimals:y(I.Cosmos).baseDecimal},cacao:{chain:I.Maya,decimals:10},kuji:{chain:I.Kujira,decimals:y(I.Kujira).baseDecimal},maya:{asset:`${I.Maya}.${I.Maya}`,decimals:4},rune:{chain:I.THORChain,decimals:y(I.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:y(I.THORChain).baseDecimal},uatom:{chain:I.Cosmos,decimals:y(I.Cosmos).baseDecimal},ukuji:{chain:I.Kujira,decimals:y(I.Kujira).baseDecimal},usdc:{chain:I.Noble,decimals:y(I.Noble).baseDecimal},uusdc:{chain:I.Noble,decimals:y(I.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:y(I.THORChain).baseDecimal},[B6.toLowerCase()]:{asset:`${I.Kujira}.USK`,decimals:y(I.Kujira).baseDecimal}}});var h6={};D6(h6,{$root:()=>q});import k from"protobufjs/minimal.js";var B,f,W,q;var l6=F(()=>{B=k.Reader,f=k.Writer,W=k.util,q=k.roots.default||(k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))z=B.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 B))z=new B(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,k.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 B))H=B.create(H);let J=Q===void 0?H.len:H.pos+Q,G=new q.cosmos.base.v1beta1.Coin;while(H.pos<J){let _=H.uint32();switch(_>>>3){case 1:G.denom=H.string();break;case 2:G.amount=H.string();break;default:H.skipType(_&7);break}}return G},z.decodeDelimited=function(H){if(!(H instanceof B))H=new B(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,k.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 B))H=B.create(H);let J=Q===void 0?H.len:H.pos+Q,G=new q.cosmos.base.v1beta1.DecCoin;while(H.pos<J){let _=H.uint32();switch(_>>>3){case 1:G.denom=H.string();break;case 2:G.amount=H.string();break;default:H.skipType(_&7);break}}return G},z.decodeDelimited=function(H){if(!(H instanceof B))H=new B(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,k.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 B))H=B.create(H);let J=Q===void 0?H.len:H.pos+Q,G=new q.cosmos.base.v1beta1.IntProto;while(H.pos<J){let _=H.uint32();switch(_>>>3){case 1:G.int=H.string();break;default:H.skipType(_&7);break}}return G},z.decodeDelimited=function(H){if(!(H instanceof B))H=new B(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,k.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 B))H=B.create(H);let J=Q===void 0?H.len:H.pos+Q,G=new q.cosmos.base.v1beta1.DecProto;while(H.pos<J){let _=H.uint32();switch(_>>>3){case 1:G.dec=H.string();break;default:H.skipType(_&7);break}}return G},z.decodeDelimited=function(H){if(!(H instanceof B))H=new B(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,k.util.toJSONOptions)},z})(),X})(),Z})(),Y})()});import{Chain as U4}from"@uswap/helpers";async function l(){let{$root:Y}=await Promise.resolve().then(() => (l6(),h6)),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 C(Y){let Z=await import("@cosmjs/stargate"),X=Z.AminoTypes??Z.default?.AminoTypes,z=Y===U4.THORChain?"thorchain":"mayachain";return new X({"/types.MsgDeposit":{aminoType:`${z}/MsgDeposit`,fromAmino:({signer:L,...H})=>({...H,signer:i(L)}),toAmino:({signer:L,...H})=>({...H,signer:o(L)})},"/types.MsgSend":{aminoType:`${z}/MsgSend`,fromAmino:({from_address:L,to_address:H,...Q})=>({...Q,fromAddress:i(L),toAddress:i(H)}),toAmino:({fromAddress:L,toAddress:H,...Q})=>({...Q,from_address:o(L),to_address:o(H)})}})}var I6=F(()=>{q6()});import{AssetValue as k4,Chain as z6,getChainConfig as j6,USwapError as R4}from"@uswap/helpers";function O6(Y){return function(X){let{assetValue:z,recipient:L,memo:H,sender:Q,asSignable:J,asAminoMessage:G}=X;if(L)return p6(Y)({asAminoMessage:G,asSignable:J,assetValue:z,memo:H,recipient:L,sender:Q});return c6(Y)({asAminoMessage:G,asSignable:J,assetValue:z,memo:H,sender:Q})}}function $(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=k4.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 r({chain:Y,memo:Z,msgs:X}){let z=await l(),L=await C(Y),H={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:Z,messages:X.map((Q)=>L.fromAmino(Q))}};return z.encode(H)}var V4,M4,E6=({sender:Y,recipient:Z,assetValue:X})=>{return{type:`${X.chain===z6.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:X.getBaseValue("string"),denom:D(X.symbol,!0)}],from_address:Y,to_address:Z}}},N6=({sender:Y,assetValue:Z,memo:X=""})=>{return{type:`${Z.chain===z6.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:Z.getBaseValue("string"),asset:b(Z)}],memo:X,signer:Y}}},H6=({sender:Y,recipient:Z,assetValue:X,memo:z})=>{return!Z?N6({assetValue:X,memo:z,sender:Y}):E6({assetValue:X,recipient:Z,sender:Y})},w=async(Y,Z)=>{return(await C(Z)).fromAmino(Y)},b6=async({rpcUrl:Y,sender:Z})=>{let z=await(await P(Y)).getAccount(Z);if(!z)throw new R4("toolbox_cosmos_account_not_found",{sender:Z});return z},p6=(Y)=>async({sender:Z,recipient:X,assetValue:z,memo:L="",asSignable:H=!0,asAminoMessage:Q=!1,sequence:J,accountNumber:G})=>{let _=await b6({rpcUrl:Y,sender:Z}),A=z.chain,{chainId:U}=j6(A),T=E6({assetValue:z,recipient:X,sender:Z}),N=H?await w(Q?T:$(T),A):T;return{accountNumber:G||_.accountNumber,chainId:U,fee:S(A),memo:L,msgs:[N],sequence:J||_.sequence}},c6=(Y)=>async({sender:Z,assetValue:X,memo:z="",asSignable:L=!0,asAminoMessage:H=!1,sequence:Q,accountNumber:J})=>{let G=await b6({rpcUrl:Y,sender:Z}),_=X.chain,{chainId:A}=j6(_),U=N6({assetValue:X,memo:z,sender:Z}),T=L?await w(H?U:$(U),_):U;return{accountNumber:J||G.accountNumber,chainId:A,fee:S(_),memo:z,msgs:[T],sequence:Q||G.sequence}};var d6=F(()=>{t();I6();V4=S(z6.THORChain).gas,M4=S(z6.Maya).gas});var n6=()=>{};var m6=F(()=>{n6()});var x6=F(()=>{q6();d6();I6();m6()});import{base64 as k6,bech32 as K6}from"@scure/base";import{AssetValue as L6,applyFeeMultiplier as g6,Chain as R,CosmosChainPrefixes as a6,DerivationPath as F4,derivationPathToString as i6,FeeOption as Q6,getChainConfig as f4,getRPCUrl as y4,NetworkDerivationPath as D4,USwapError as Z6,USwapNumber as v6,updateDerivationPath as S4}from"@uswap/helpers";import{USwapApi as s6}from"@uswap/helpers/api";import{match as P4,P as o6}from"ts-pattern";async function V6(Y,Z){try{let z=(await s6.getGasRate()).find((L)=>L.chainId===Y)?.value;return z?Number.parseFloat(z):Z}catch{return Z}}async function R6({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:`${F4[X.chain]}/${X.index}`;return L.fromMnemonic(Y,{hdPaths:[Q(J)],prefix:Z})}async function C4({privateKey:Y,prefix:Z}){let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(Y,Z)}function e6(Y){return async function({signature:X,message:z,address:L}){let H=await Y(L);if(!H?.pubkey)throw new Z6("toolbox_cosmos_verify_signature_no_pubkey");let Q=await import("@cosmjs/crypto"),J=Q.Secp256k1Signature??Q.default?.Secp256k1Signature,G=Q.Secp256k1??Q.default?.Secp256k1,_=J.fromFixedLength(k6.decode(X));return G.verifySignature(_,k6.decode(z),H.pubkey.value)}}async function a({chain:Y,...Z}){let X=await y4(Y),z=a6[Y],L="index"in Z?Z.index||0:0,H=i6("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:S4(D4[Y],{index:L})),Q=await P4(Z).with({phrase:o6.string},({phrase:T})=>R6({derivationPath:H,phrase:T,prefix:z})).with({signer:o6.any},({signer:T})=>T).otherwise(()=>{return});async function J(T){return(await P(X)).getAccount(T)}async function G(){let[T]=await Q?.getAccounts()||[];return T?.address}async function _(){let[T]=await Q?.getAccounts()||[];if(!T?.pubkey)throw new Z6("toolbox_cosmos_signer_not_defined");return k6.encode(T?.pubkey)}async function A({recipient:T,assetValue:N,memo:E="",feeRate:x,feeOptionKey:O=Q6.Fast}){let V=await G();if(!(Q&&V))throw new Z6("toolbox_cosmos_signer_not_defined");let M=L6.from({chain:Y}),c=b(M),d=x||t6((await U6(Y,A6[Y]))[O],c),n=await p(X,Q),u=D(N.symbol),h=N.getBaseValue("string"),{TxRaw:m}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),g={amount:[{amount:h,denom:u}],fromAddress:V,toAddress:T},y6=await n.sign(V,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:g}],d,E),Y6=m.encode(y6).finish();return Buffer.from(Y6).toString("hex")}async function U({recipient:T,assetValue:N,memo:E="",feeRate:x,feeOptionKey:O=Q6.Fast,dryRun:V=!1}){if(V)return A({assetValue:N,feeOptionKey:O,feeRate:x,memo:E,recipient:T});let M=await G();if(!(Q&&M))throw new Z6("toolbox_cosmos_signer_not_defined");let c=L6.from({chain:Y}),d=b(c),n=x||t6((await U6(Y,A6[Y]))[O],d),u=await p(X,Q),h=D(N.symbol),m=[{amount:N.getBaseValue("string"),denom:h}],{transactionHash:g}=await u.sendTokens(M,T,m,n,E);return g}return{createPrivateKeyFromPhrase:h4(H),createTransaction:T6,fetchFeeRateFromSwapKit:V6,getAccount:J,getAddress:G,getBalance:async(T,N)=>{let E=await r6(X)(T),x=await Promise.all(E.filter(({denom:O})=>O&&!O.includes("IBC/")&&!([R.THORChain,R.Maya].includes(Y)&&O.split("-").length>2)).map(({denom:O,amount:V})=>{let M=[R.THORChain,R.Maya].includes(Y)&&(O.includes("/")||O.includes("˜"))?`${Y}.${O}`:O;return _6(M,V)}));if(x.length===0)return[L6.from({chain:Y})];return x},getBalanceAsDenoms:r6(X),getFees:()=>U6(Y,A6[Y]),getPubKey:_,getSignerFromPhrase:async({phrase:T,derivationPath:N})=>R6({derivationPath:i6(N),index:L,phrase:T,prefix:z}),getSignerFromPrivateKey:async(T)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,z)},signTransaction:A,transfer:U,validateAddress:z4(Y),verifySignature:e6(J)}}async function w4(Y,Z){try{let z=(await s6.getGasRate()).find((L)=>L.chainId===Y)?.value;return z?Number.parseFloat(z):Z}catch{return Z}}function $4({assetValue:{chain:Y}}){return L6.from({chain:Y,value:u4(Y)})}async function U6(Y,Z){let{chainId:X,baseDecimal:z}=f4(Y),L=await V6(X,Z);return{average:v6.fromBigInt(BigInt(L),z),fast:v6.fromBigInt(BigInt(g6(L,Q6.Fast,!0)),z),fastest:v6.fromBigInt(BigInt(g6(L,Q6.Fastest,!0)),z)}}function t6(Y,Z){return{amount:[{amount:Y.getBaseValue("string"),denom:Z}],gas:"200000"}}function u4(Y){return{[R.Cosmos]:0.007,[R.Kujira]:0.02,[R.Noble]:0.01,[R.THORChain]:0.02,[R.Maya]:0.02,[R.Harbor]:0.02}[Y]||0}function z4(Y){let Z=a6[Y];return function(z){if(!z.startsWith(Z))return!1;try{let{prefix:L,words:H}=K6.decode(z);return K6.encode(L,H)===z.toLocaleLowerCase()}catch{return!1}}}function r6(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 h4(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,G=z.Bip39??z.default?.Bip39,_=new J(X),A=await G.mnemonicToSeed(_),{privkey:U}=Q.derivePath(H.Secp256k1,A,L(Y));return U}}var A6;var X6=F(()=>{t();A6={[R.Cosmos]:1000,[R.Kujira]:1000,[R.Noble]:1000,[R.THORChain]:5000000,[R.Maya]:5000000,[R.Harbor]:5000000}});import{base64 as j}from"@scure/base";import{Chain as l4,CosmosChainPrefixes as j4,derivationPathToString as b4,FeeOption as M6,getChainConfig as H4,getRPCUrl as p4,NetworkDerivationPath as c4,RequestClient as d4,USwapConfig as n4,USwapError as L4,USwapNumber as Z4,updateDerivationPath as m4}from"@uswap/helpers";import{match as g4,P as Q4}from"ts-pattern";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"),G=J.stringToPath??J.default?.stringToPath;return Q.fromMnemonic(z,{hdPaths:[G(`${Z}/${L}`)],prefix:Y})}}function o4(Y){return j.encode(Y)}function t4(Y){return async function({wallet:X,tx:z}){let{msgs:L,accountNumber:H,sequence:Q,chainId:J,fee:G,memo:_}=typeof z==="string"?JSON.parse(z):z,A=(await X.getAccounts())?.[0]?.address||"",U=await C(Y),T=await l(),N=await G6(X,{aminoTypes:U,registry:T}),E=[];for(let V of L){let M=await w(V,Y);E.push(M)}let{signatures:[x]}=await N.sign(A,E,G,_,{accountNumber:H,chainId:J,sequence:Q});return{bodyBytes:await r({chain:Y,memo:_,msgs:L.map($)}),signature:o4(x)}}}function r4({prefix:Y,rpcUrl:Z}){return async function(z,L,H,Q,J){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:_}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:A}=(await import("@cosmjs/stargate")).default,{sequence:U,fee:T}=JSON.parse(z),N=await X4(H,Q),E=L.map((V)=>[_(G(j.decode(V.pubKey)),Y),j.decode(V.signature)]),x=await P(Z),{transactionHash:O}=await x.broadcastTx(A(N,U,T,J,new Map(E)));return O}}async function X4(Y,Z,X=!0){let{createMultisigThresholdPubkey:z,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return z(Y.map((H)=>L(j.decode(H))),Z,X)}function a4(Y){return j.decode(Y)}async function s4({privateKey:Y,message:Z}){let{Secp256k1:X}=(await import("@cosmjs/crypto")).default,z=await X.createSignature(j.decode(Z),Y);return j.encode(Buffer.concat([z.r(32),z.s(32)]))}async function F6({chain:Y,...Z}){let X=await p4(Y),{nodeUrl:z}=H4(Y),{isStagenet:L}=n4.get("envs"),H=Y===l4.THORChain,Q=`${L?"s":""}${j4[Y]}`,J="index"in Z?Z.index||0:0,G="derivationPath"in Z&&Z.derivationPath?Z.derivationPath:m4(c4[Y],{index:J}),_=await a({chain:Y,...Z}),A=await g4(Z).with({phrase:Q4.string},({phrase:E})=>_.getSignerFromPhrase({derivationPath:G,phrase:E})).with({signer:Q4.any},({signer:E})=>E).otherwise(()=>{return}),U=S(Y);async function T(){let E,x=`${z}/${H?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:O}}=await d4.get(x);if(!O||Number.isNaN(O)||O<0)throw new L4("toolbox_cosmos_invalid_fee",{nativeFee:O.toString()});E=new Z4(O)}catch{E=new Z4({decimal:H4(Y).baseDecimal,value:H?0.02:1})}return{[M6.Average]:E,[M6.Fast]:E,[M6.Fastest]:E}}async function N({assetValue:E,memo:x="",recipient:O}){let{TxRaw:V}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),M=(await A?.getAccounts())?.[0]?.address;if(!(M&&A))throw new L4("toolbox_cosmos_no_signer");let c="signAmino"in A,d=await l(),n=await C(Y),u=await p(X,A,{aminoTypes:n,registry:d}),h=H6({assetValue:E,memo:x,recipient:O,sender:M});if(c){let Y6=await w(h,Y),{signatures:J4,authInfoBytes:q4}=await u.sign(M,[Y6],U,x),W4=V.encode({authInfoBytes:q4,bodyBytes:await r({chain:Y,memo:x,msgs:[h].map($)}),signatures:J4}).finish();return(await u.broadcastTx(W4)).transactionHash}let m=$(h),g=await w(m,Y);return(await u.signAndBroadcast(M,[g],U,x)).transactionHash}return{..._,broadcastMultisigTx:r4({prefix:Q,rpcUrl:X}),buildAminoMsg:H6,buildEncodedTxBody:r,convertToSignable:w,createDefaultAminoTypes:()=>C(Y),createDefaultRegistry:l,createMultisig:X4,createTransaction:O6(X),deposit:N,getFees:T,importSignature:a4,parseAminoMessageForDirectSigning:$,pubkeyToAddress:async(E)=>{let{pubkeyToAddress:x}=(await import("@cosmjs/amino")).default;return x(E,Q)},secp256k1HdWalletFromMnemonic:i4({derivationPath:b4(G),prefix:Q}),signMultisigTx:t4(Y),signWithPrivateKey:s4,transfer:N}}var f6=F(()=>{x6();t();X6()});import{Chain as s,USwapError as e4}from"@uswap/helpers";var z0=(Y,Z)=>{switch(Y){case s.Cosmos:case s.Kujira:case s.Noble:return a({chain:Y,...Z});case s.Maya:case s.THORChain:return F6({chain:Y,...Z});default:throw new e4("toolbox_cosmos_not_supported",{chain:Y})}};var Y4=F(()=>{X6();f6();X6();f6()});var L0={};D6(L0,{verifySignature:()=>e6,transferMsgAmino:()=>E6,toBase64:()=>O4,parseAminoMessageForDirectSigning:()=>$,getSignerFromPrivateKey:()=>C4,getSignerFromPhrase:()=>R6,getMsgSendDenom:()=>D,getFeeRateFromSwapKit:()=>w4,getDenomWithChain:()=>b,getDefaultChainFee:()=>S,getCreateTransaction:()=>O6,getCosmosValidateAddress:()=>z4,getCosmosToolbox:()=>z0,getAssetFromDenom:()=>_6,fromBase64:()=>x4,fetchFeeRateFromSwapKit:()=>V6,estimateTransactionFee:()=>$4,depositMsgAmino:()=>N6,createThorchainToolbox:()=>F6,createStargateClient:()=>P,createSigningStargateClient:()=>p,createOfflineStargateClient:()=>G6,createDefaultRegistry:()=>l,createDefaultAminoTypes:()=>C,createCosmosToolbox:()=>a,cosmosCreateTransaction:()=>T6,convertToSignable:()=>w,buildTransferTx:()=>p6,buildEncodedTxBody:()=>r,buildDepositTx:()=>c6,buildAminoMsg:()=>H6,bech32ToBase64:()=>i,base64ToBech32:()=>o,YUM_KUJIRA_FACTORY_DENOM:()=>C6,USK_KUJIRA_FACTORY_DENOM:()=>B6,THORCHAIN_GAS_VALUE:()=>V4,MAYA_GAS_VALUE:()=>M4,DEFAULT_NOBLE_FEE_MAINNET:()=>u6,DEFAULT_KUJI_FEE_MAINNET:()=>$6,DEFAULT_COSMOS_FEE_MAINNET:()=>w6});var Z0=F(()=>{x6();Y4();t()});Z0();export{e6 as verifySignature,E6 as transferMsgAmino,O4 as toBase64,$ as parseAminoMessageForDirectSigning,C4 as getSignerFromPrivateKey,R6 as getSignerFromPhrase,D as getMsgSendDenom,w4 as getFeeRateFromSwapKit,b as getDenomWithChain,S as getDefaultChainFee,O6 as getCreateTransaction,z4 as getCosmosValidateAddress,z0 as getCosmosToolbox,_6 as getAssetFromDenom,x4 as fromBase64,V6 as fetchFeeRateFromSwapKit,$4 as estimateTransactionFee,N6 as depositMsgAmino,F6 as createThorchainToolbox,P as createStargateClient,p as createSigningStargateClient,G6 as createOfflineStargateClient,l as createDefaultRegistry,C as createDefaultAminoTypes,a as createCosmosToolbox,T6 as cosmosCreateTransaction,w as convertToSignable,p6 as buildTransferTx,r as buildEncodedTxBody,c6 as buildDepositTx,H6 as buildAminoMsg,i as bech32ToBase64,o as base64ToBech32,C6 as YUM_KUJIRA_FACTORY_DENOM,B6 as USK_KUJIRA_FACTORY_DENOM,V4 as THORCHAIN_GAS_VALUE,M4 as MAYA_GAS_VALUE,u6 as DEFAULT_NOBLE_FEE_MAINNET,$6 as DEFAULT_KUJI_FEE_MAINNET,w6 as DEFAULT_COSMOS_FEE_MAINNET};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=5E599EF31FCED6DF64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.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": "
|
|
17
|
+
"mappings": "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",
|
|
18
|
+
"debugId": "5E599EF31FCED6DF64756E2164756E21",
|
|
19
19
|
"names": []
|
|
20
20
|
}
|