@swapkit/toolboxes 1.0.0-beta.0 → 1.0.0-beta.2

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.
Files changed (103) hide show
  1. package/dist/chunk-0f0249b1.js +3 -0
  2. package/dist/chunk-0f0249b1.js.map +10 -0
  3. package/dist/chunk-0h4xdrwz.js +4 -0
  4. package/dist/chunk-0h4xdrwz.js.map +10 -0
  5. package/dist/chunk-4yap1fvd.js +3 -0
  6. package/dist/chunk-4yap1fvd.js.map +10 -0
  7. package/dist/chunk-fjfxga2v.js +3 -0
  8. package/dist/chunk-fjfxga2v.js.map +10 -0
  9. package/dist/{chunk-tvrdndbw.js → chunk-p1kdg37m.js} +2 -2
  10. package/dist/{chunk-tvrdndbw.js.map → chunk-p1kdg37m.js.map} +1 -1
  11. package/dist/cosmos/index.cjs +2 -2
  12. package/dist/cosmos/index.cjs.map +10 -13
  13. package/dist/cosmos/index.js +2 -2
  14. package/dist/cosmos/index.js.map +10 -13
  15. package/dist/evm/index.cjs +2 -2
  16. package/dist/evm/index.cjs.map +10 -16
  17. package/dist/evm/index.js +2 -2
  18. package/dist/evm/index.js.map +10 -16
  19. package/dist/index.cjs +2 -2
  20. package/dist/index.cjs.map +4 -3
  21. package/dist/index.js +2 -2
  22. package/dist/index.js.map +4 -3
  23. package/dist/radix/index.cjs +2 -2
  24. package/dist/radix/index.cjs.map +3 -3
  25. package/dist/radix/index.js +2 -2
  26. package/dist/radix/index.js.map +3 -3
  27. package/dist/ripple/index.cjs +3 -0
  28. package/dist/ripple/index.cjs.map +10 -0
  29. package/dist/ripple/index.js +3 -0
  30. package/dist/ripple/index.js.map +10 -0
  31. package/dist/solana/index.cjs +2 -2
  32. package/dist/solana/index.cjs.map +3 -3
  33. package/dist/solana/index.js +2 -2
  34. package/dist/solana/index.js.map +3 -3
  35. package/dist/substrate/index.cjs +2 -2
  36. package/dist/substrate/index.cjs.map +5 -6
  37. package/dist/substrate/index.js +2 -2
  38. package/dist/substrate/index.js.map +5 -6
  39. package/dist/utxo/index.cjs +2 -2
  40. package/dist/utxo/index.cjs.map +9 -11
  41. package/dist/utxo/index.js +2 -2
  42. package/dist/utxo/index.js.map +9 -11
  43. package/package.json +30 -24
  44. package/src/cosmos/index.ts +2 -9
  45. package/src/cosmos/thorchainUtils/addressFormat.ts +1 -2
  46. package/src/cosmos/thorchainUtils/index.ts +1 -1
  47. package/src/cosmos/thorchainUtils/messages.ts +74 -56
  48. package/src/cosmos/thorchainUtils/registry.ts +16 -23
  49. package/src/cosmos/thorchainUtils/types/{proto/MsgCompiled.ts → MsgCompiled.ts} +1 -3
  50. package/src/cosmos/thorchainUtils/types/client-types.ts +16 -23
  51. package/src/cosmos/toolbox/cosmos.ts +334 -0
  52. package/src/cosmos/toolbox/index.ts +33 -0
  53. package/src/cosmos/toolbox/thorchain.ts +118 -131
  54. package/src/cosmos/types.ts +37 -18
  55. package/src/cosmos/util.ts +21 -71
  56. package/src/evm/__tests__/ethereum.test.ts +110 -116
  57. package/src/evm/api.ts +11 -147
  58. package/src/evm/helpers.ts +111 -83
  59. package/src/evm/index.ts +1 -17
  60. package/src/evm/toolbox/baseEVMToolbox.ts +742 -0
  61. package/src/evm/toolbox/evm.ts +69 -0
  62. package/src/evm/toolbox/index.ts +36 -0
  63. package/src/evm/toolbox/op.ts +97 -143
  64. package/src/evm/types.ts +50 -28
  65. package/src/index.ts +235 -0
  66. package/src/radix/index.ts +18 -19
  67. package/src/ripple/index.ts +203 -0
  68. package/src/solana/index.ts +11 -5
  69. package/src/solana/toolbox.ts +223 -133
  70. package/src/substrate/index.ts +2 -3
  71. package/src/substrate/{toolbox/baseSubstrateToolbox.ts → substrate.ts} +104 -72
  72. package/src/substrate/types.ts +120 -0
  73. package/src/utils.ts +27 -0
  74. package/src/utxo/helpers/api.ts +27 -23
  75. package/src/utxo/helpers/bchaddrjs.ts +21 -21
  76. package/src/utxo/helpers/index.ts +0 -1
  77. package/src/utxo/helpers/txSize.ts +3 -4
  78. package/src/utxo/index.ts +3 -7
  79. package/src/utxo/toolbox/bitcoinCash.ts +164 -154
  80. package/src/utxo/toolbox/index.ts +63 -24
  81. package/src/utxo/toolbox/utxo.ts +376 -229
  82. package/src/utxo/types.ts +24 -39
  83. package/src/cosmos/thorchainUtils/types/proto/MsgCompiled.js +0 -2806
  84. package/src/cosmos/thorchainUtils/util.ts +0 -46
  85. package/src/cosmos/toolbox/BaseCosmosToolbox.ts +0 -254
  86. package/src/cosmos/toolbox/gaia.ts +0 -39
  87. package/src/cosmos/toolbox/getToolboxByChain.ts +0 -29
  88. package/src/cosmos/toolbox/kujira.ts +0 -61
  89. package/src/evm/provider.ts +0 -6
  90. package/src/evm/toolbox/EVMToolbox.ts +0 -662
  91. package/src/evm/toolbox/arb.ts +0 -61
  92. package/src/evm/toolbox/avax.ts +0 -36
  93. package/src/evm/toolbox/base.ts +0 -42
  94. package/src/evm/toolbox/bsc.ts +0 -34
  95. package/src/evm/toolbox/eth.ts +0 -44
  96. package/src/evm/toolbox/getToolboxByChain.ts +0 -42
  97. package/src/evm/toolbox/matic.ts +0 -42
  98. package/src/radix/toolbox.ts +0 -693
  99. package/src/substrate/toolbox/index.ts +0 -40
  100. package/src/substrate/types/index.ts +0 -2
  101. package/src/substrate/types/network.ts +0 -42
  102. package/src/substrate/types/wallet.ts +0 -78
  103. package/src/utxo/helpers/utils.ts +0 -45
@@ -1,3 +1,3 @@
1
- import{a as W,b as E}from"../chunk-tvrdndbw.js";import{toBech32 as c0}from"@cosmjs/encoding";import{base64 as G0,bech32 as H0}from"@scure/base";import{fromByteArray as n0,toByteArray as m0}from"base64-js";function l(B){return G0.encode(Uint8Array.from(H0.fromWords(H0.decode(B).words)))}function j(B,J="thor"){return c0(J,G0.decode(B))}function M8(B){return n0(B)}function D8(B){if(!B.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Error("Invalid base64 string format");return m0(B)}import{AssetValue as a0,Chain as n,ChainToChainId as T0}from"@swapkit/helpers";import{AssetValue as P,Chain as K,ChainId as r,SKConfig as N0,defaultRequestHeaders as O0,getGasAsset as i0}from"@swapkit/helpers";var b="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",a="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",s={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},g0={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function k(B){switch(B){case K.Maya:return{amount:[],gas:"10000000000"};case K.THORChain:return{amount:[],gas:"500000000"};case K.Kujira:return g0;default:return s}}var y=(B,J=!1)=>{if(J)return B.toLowerCase();switch(B){case"uUSK":case"USK":return b;case"uYUM":case"YUM":return a;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return B}},_0=({symbol:B,chain:J})=>{if(J===K.Maya)return(B.toUpperCase()!=="CACAO"?B:`${K.Maya}.${B}`).toUpperCase();if(J===K.THORChain)return(B.toUpperCase()!=="RUNE"?B:`${K.THORChain}.${B}`).toUpperCase();return y(B,!1)},p=(B,J)=>{switch(B){case"rune":return P.from({chain:K.THORChain,value:Number.parseInt(J)/1e8});case"uatom":case"atom":return P.from({chain:K.Cosmos,value:Number.parseInt(J)/1e6});case"cacao":return P.from({chain:K.Maya,value:Number.parseInt(J)/10000000000});case"maya":return P.from({asset:`${K.Maya}.${K.Maya}`,value:Number.parseInt(J)/1e4});case"ukuji":case"kuji":return P.from({chain:K.Kujira,value:Number.parseInt(J)/1e6});case b:return P.from({asset:`${K.Kujira}.USK`,value:Number.parseInt(J)/1e6});default:return P.from({asset:B,value:Number.parseInt(J)/1e8})}};async function M(B){let{StargateClient:J}=await import("@cosmjs/stargate");return J.connect({url:B,headers:O0})}async function d(B,J,X={}){let{SigningStargateClient:z,GasPrice:Z}=await import("@cosmjs/stargate"),Y=typeof X==="string"?X:"0.0003uatom",Q=typeof X==="string"?{}:X;return z.connectWithSigner({url:B,headers:O0},J,{gasPrice:Z.fromString(Y),...Q})}async function W0(B,J){let{SigningStargateClient:X}=await import("@cosmjs/stargate");return X.offline(B,J)}var o0=(B)=>{let{isStagenet:J}=N0.get("envs"),X=N0.get("rpcUrls");switch(B){case r.Kujira:return X.KUJI;case r.THORChain:case"thorchain-mainnet-v1":return J?X.THOR_STAGENET:X.THOR;case r.Maya:return J?X.MAYA_STAGENET:X.MAYA;default:return X.GAIA}},t0=(B)=>{switch(B){case K.Maya:case K.THORChain:return"/types.MsgSend";case K.Cosmos:case K.Kujira:return"/cosmos.bank.v1beta1.MsgSend";default:throw new Error("Unsupported chain")}},c=async({fromAddress:B,toAddress:J,assetValue:X,memo:z="",fee:Z})=>{let{chain:Y,chainId:Q}=X,I=o0(Q),N=await(await M(I)).getAccount(B);if(!N)throw new Error("Account does not exist");let O=y(i0({chain:Y}).symbol),T=k(Y),_=O&&Z?{amount:[{denom:O,amount:Z}],gas:T.gas}:T,x={fromAddress:B,toAddress:J,amount:[{amount:X.getBaseValue("string"),denom:y(X.symbol)}]};return{accountNumber:N.accountNumber,chainId:Q,fee:_,memo:z,sequence:N.sequence,msgs:[{typeUrl:t0(Y),value:x}]}};import{Chain as E0}from"@swapkit/helpers";import v from"protobufjs/minimal.js";var H=v.Reader,U=v.Writer,q=v.util,L=v.roots.default||(v.roots.default={});L.common=(()=>{let B={};return B.Asset=(()=>{function J(X){if(X){for(let z=Object.keys(X),Z=0;Z<z.length;++Z)if(X[z[Z]]!=null)this[z[Z]]=X[z[Z]]}}return J.prototype.chain="",J.prototype.symbol="",J.prototype.ticker="",J.prototype.synth=!1,J.create=function X(z){return new J(z)},J.encode=function X(z,Z){if(!Z)Z=U.create();if(z.chain!=null&&Object.hasOwnProperty.call(z,"chain"))Z.uint32(10).string(z.chain);if(z.symbol!=null&&Object.hasOwnProperty.call(z,"symbol"))Z.uint32(18).string(z.symbol);if(z.ticker!=null&&Object.hasOwnProperty.call(z,"ticker"))Z.uint32(26).string(z.ticker);if(z.synth!=null&&Object.hasOwnProperty.call(z,"synth"))Z.uint32(32).bool(z.synth);return Z},J.encodeDelimited=function X(z,Z){return this.encode(z,Z).ldelim()},J.decode=function X(z,Z){if(!(z instanceof H))z=H.create(z);let Y=Z===void 0?z.len:z.pos+Z,Q=new L.common.Asset;while(z.pos<Y){let I=z.uint32();switch(I>>>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(I&7);break}}return Q},J.decodeDelimited=function X(z){if(!(z instanceof H))z=new H(z);return this.decode(z,z.uint32())},J.verify=function X(z){if(typeof z!=="object"||z===null)return"object expected";if(z.chain!=null&&z.hasOwnProperty("chain")){if(!q.isString(z.chain))return"chain: string expected"}if(z.symbol!=null&&z.hasOwnProperty("symbol")){if(!q.isString(z.symbol))return"symbol: string expected"}if(z.ticker!=null&&z.hasOwnProperty("ticker")){if(!q.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},J.fromObject=function X(z){if(z instanceof L.common.Asset)return z;let Z=new L.common.Asset;if(z.chain!=null)Z.chain=String(z.chain);if(z.symbol!=null)Z.symbol=String(z.symbol);if(z.ticker!=null)Z.ticker=String(z.ticker);if(z.synth!=null)Z.synth=Boolean(z.synth);return Z},J.toObject=function X(z,Z){if(!Z)Z={};let Y={};if(Z.defaults)Y.chain="",Y.symbol="",Y.ticker="",Y.synth=!1;if(z.chain!=null&&z.hasOwnProperty("chain"))Y.chain=z.chain;if(z.symbol!=null&&z.hasOwnProperty("symbol"))Y.symbol=z.symbol;if(z.ticker!=null&&z.hasOwnProperty("ticker"))Y.ticker=z.ticker;if(z.synth!=null&&z.hasOwnProperty("synth"))Y.synth=z.synth;return Y},J.prototype.toJSON=function X(){return this.constructor.toObject(this,v.util.toJSONOptions)},J})(),B.Coin=(()=>{function J(X){if(X){for(let z=Object.keys(X),Z=0;Z<z.length;++Z)if(X[z[Z]]!=null)this[z[Z]]=X[z[Z]]}}return J.prototype.asset=null,J.prototype.amount="",J.prototype.decimals=q.Long?q.Long.fromBits(0,0,!1):0,J.create=function X(z){return new J(z)},J.encode=function X(z,Z){if(!Z)Z=U.create();if(z.asset!=null&&Object.hasOwnProperty.call(z,"asset"))L.common.Asset.encode(z.asset,Z.uint32(10).fork()).ldelim();if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))Z.uint32(18).string(z.amount);if(z.decimals!=null&&Object.hasOwnProperty.call(z,"decimals"))Z.uint32(24).int64(z.decimals);return Z},J.encodeDelimited=function X(z,Z){return this.encode(z,Z).ldelim()},J.decode=function X(z,Z){if(!(z instanceof H))z=H.create(z);let Y=Z===void 0?z.len:z.pos+Z,Q=new L.common.Coin;while(z.pos<Y){let I=z.uint32();switch(I>>>3){case 1:Q.asset=L.common.Asset.decode(z,z.uint32());break;case 2:Q.amount=z.string();break;case 3:Q.decimals=z.int64();break;default:z.skipType(I&7);break}}return Q},J.decodeDelimited=function X(z){if(!(z instanceof H))z=new H(z);return this.decode(z,z.uint32())},J.verify=function X(z){if(typeof z!=="object"||z===null)return"object expected";if(z.asset!=null&&z.hasOwnProperty("asset")){let Z=L.common.Asset.verify(z.asset);if(Z)return"asset."+Z}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!q.isString(z.amount))return"amount: string expected"}if(z.decimals!=null&&z.hasOwnProperty("decimals")){if(!q.isInteger(z.decimals)&&!(z.decimals&&q.isInteger(z.decimals.low)&&q.isInteger(z.decimals.high)))return"decimals: integer|Long expected"}return null},J.fromObject=function X(z){if(z instanceof L.common.Coin)return z;let Z=new L.common.Coin;if(z.asset!=null){if(typeof z.asset!=="object")throw TypeError(".common.Coin.asset: object expected");Z.asset=L.common.Asset.fromObject(z.asset)}if(z.amount!=null)Z.amount=String(z.amount);if(z.decimals!=null){if(q.Long)(Z.decimals=q.Long.fromValue(z.decimals)).unsigned=!1;else if(typeof z.decimals==="string")Z.decimals=Number.parseInt(z.decimals,10);else if(typeof z.decimals==="number")Z.decimals=z.decimals;else if(typeof z.decimals==="object")Z.decimals=new q.LongBits(z.decimals.low>>>0,z.decimals.high>>>0).toNumber()}return Z},J.toObject=function X(z,Z){if(!Z)Z={};let Y={};if(Z.defaults)if(Y.asset=null,Y.amount="",q.Long){let Q=new q.Long(0,0,!1);Y.decimals=Z.longs===String?Q.toString():Z.longs===Number?Q.toNumber():Q}else Y.decimals=Z.longs===String?"0":0;if(z.asset!=null&&z.hasOwnProperty("asset"))Y.asset=L.common.Asset.toObject(z.asset,Z);if(z.amount!=null&&z.hasOwnProperty("amount"))Y.amount=z.amount;if(z.decimals!=null&&z.hasOwnProperty("decimals"))if(typeof z.decimals==="number")Y.decimals=Z.longs===String?String(z.decimals):z.decimals;else Y.decimals=Z.longs===String?q.Long.prototype.toString.call(z.decimals):Z.longs===Number?new q.LongBits(z.decimals.low>>>0,z.decimals.high>>>0).toNumber():z.decimals;return Y},J.prototype.toJSON=function X(){return this.constructor.toObject(this,v.util.toJSONOptions)},J})(),B.PubKeySet=(()=>{function J(X){if(X){for(let z=Object.keys(X),Z=0;Z<z.length;++Z)if(X[z[Z]]!=null)this[z[Z]]=X[z[Z]]}}return J.prototype.secp256k1="",J.prototype.ed25519="",J.create=function X(z){return new J(z)},J.encode=function X(z,Z){if(!Z)Z=U.create();if(z.secp256k1!=null&&Object.hasOwnProperty.call(z,"secp256k1"))Z.uint32(10).string(z.secp256k1);if(z.ed25519!=null&&Object.hasOwnProperty.call(z,"ed25519"))Z.uint32(18).string(z.ed25519);return Z},J.encodeDelimited=function X(z,Z){return this.encode(z,Z).ldelim()},J.decode=function X(z,Z){if(!(z instanceof H))z=H.create(z);let Y=Z===void 0?z.len:z.pos+Z,Q=new L.common.PubKeySet;while(z.pos<Y){let I=z.uint32();switch(I>>>3){case 1:Q.secp256k1=z.string();break;case 2:Q.ed25519=z.string();break;default:z.skipType(I&7);break}}return Q},J.decodeDelimited=function X(z){if(!(z instanceof H))z=new H(z);return this.decode(z,z.uint32())},J.verify=function X(z){if(typeof z!=="object"||z===null)return"object expected";if(z.secp256k1!=null&&z.hasOwnProperty("secp256k1")){if(!q.isString(z.secp256k1))return"secp256k1: string expected"}if(z.ed25519!=null&&z.hasOwnProperty("ed25519")){if(!q.isString(z.ed25519))return"ed25519: string expected"}return null},J.fromObject=function X(z){if(z instanceof L.common.PubKeySet)return z;let Z=new L.common.PubKeySet;if(z.secp256k1!=null)Z.secp256k1=String(z.secp256k1);if(z.ed25519!=null)Z.ed25519=String(z.ed25519);return Z},J.toObject=function X(z,Z){if(!Z)Z={};let Y={};if(Z.defaults)Y.secp256k1="",Y.ed25519="";if(z.secp256k1!=null&&z.hasOwnProperty("secp256k1"))Y.secp256k1=z.secp256k1;if(z.ed25519!=null&&z.hasOwnProperty("ed25519"))Y.ed25519=z.ed25519;return Y},J.prototype.toJSON=function X(){return this.constructor.toObject(this,v.util.toJSONOptions)},J})(),B.Tx=(()=>{function J(X){if(this.coins=[],this.gas=[],X){for(let z=Object.keys(X),Z=0;Z<z.length;++Z)if(X[z[Z]]!=null)this[z[Z]]=X[z[Z]]}}return J.prototype.id="",J.prototype.chain="",J.prototype.fromAddress="",J.prototype.toAddress="",J.prototype.coins=q.emptyArray,J.prototype.gas=q.emptyArray,J.prototype.memo="",J.create=function X(z){return new J(z)},J.encode=function X(z,Z){if(!Z)Z=U.create();if(z.id!=null&&Object.hasOwnProperty.call(z,"id"))Z.uint32(10).string(z.id);if(z.chain!=null&&Object.hasOwnProperty.call(z,"chain"))Z.uint32(18).string(z.chain);if(z.fromAddress!=null&&Object.hasOwnProperty.call(z,"fromAddress"))Z.uint32(26).string(z.fromAddress);if(z.toAddress!=null&&Object.hasOwnProperty.call(z,"toAddress"))Z.uint32(34).string(z.toAddress);if(z.coins?.length)for(let Y=0;Y<z.coins.length;++Y)L.common.Coin.encode(z.coins[Y],Z.uint32(42).fork()).ldelim();if(z.gas?.length)for(let Y=0;Y<z.gas.length;++Y)L.common.Coin.encode(z.gas[Y],Z.uint32(50).fork()).ldelim();if(z.memo!=null&&Object.hasOwnProperty.call(z,"memo"))Z.uint32(58).string(z.memo);return Z},J.encodeDelimited=function X(z,Z){return this.encode(z,Z).ldelim()},J.decode=function X(z,Z){if(!(z instanceof H))z=H.create(z);let Y=Z===void 0?z.len:z.pos+Z,Q=new L.common.Tx;while(z.pos<Y){let I=z.uint32();switch(I>>>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(L.common.Coin.decode(z,z.uint32()));break;case 6:if(!Q.gas?.length)Q.gas=[];Q.gas.push(L.common.Coin.decode(z,z.uint32()));break;case 7:Q.memo=z.string();break;default:z.skipType(I&7);break}}return Q},J.decodeDelimited=function X(z){if(!(z instanceof H))z=new H(z);return this.decode(z,z.uint32())},J.verify=function X(z){if(typeof z!=="object"||z===null)return"object expected";if(z.id!=null&&z.hasOwnProperty("id")){if(!q.isString(z.id))return"id: string expected"}if(z.chain!=null&&z.hasOwnProperty("chain")){if(!q.isString(z.chain))return"chain: string expected"}if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress")){if(!q.isString(z.fromAddress))return"fromAddress: string expected"}if(z.toAddress!=null&&z.hasOwnProperty("toAddress")){if(!q.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 Z=0;Z<z.coins.length;++Z){let Y=L.common.Coin.verify(z.coins[Z]);if(Y)return"coins."+Y}}if(z.gas!=null&&z.hasOwnProperty("gas")){if(!Array.isArray(z.gas))return"gas: array expected";for(let Z=0;Z<z.gas.length;++Z){let Y=L.common.Coin.verify(z.gas[Z]);if(Y)return"gas."+Y}}if(z.memo!=null&&z.hasOwnProperty("memo")){if(!q.isString(z.memo))return"memo: string expected"}return null},J.fromObject=function X(z){if(z instanceof L.common.Tx)return z;let Z=new L.common.Tx;if(z.id!=null)Z.id=String(z.id);if(z.chain!=null)Z.chain=String(z.chain);if(z.fromAddress!=null)Z.fromAddress=String(z.fromAddress);if(z.toAddress!=null)Z.toAddress=String(z.toAddress);if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".common.Tx.coins: array expected");Z.coins=[];for(let Y=0;Y<z.coins.length;++Y){if(typeof z.coins[Y]!=="object")throw TypeError(".common.Tx.coins: object expected");Z.coins[Y]=L.common.Coin.fromObject(z.coins[Y])}}if(z.gas){if(!Array.isArray(z.gas))throw TypeError(".common.Tx.gas: array expected");Z.gas=[];for(let Y=0;Y<z.gas.length;++Y){if(typeof z.gas[Y]!=="object")throw TypeError(".common.Tx.gas: object expected");Z.gas[Y]=L.common.Coin.fromObject(z.gas[Y])}}if(z.memo!=null)Z.memo=String(z.memo);return Z},J.toObject=function X(z,Z){if(!Z)Z={};let Y={};if(Z.arrays||Z.defaults)Y.coins=[],Y.gas=[];if(Z.defaults)Y.id="",Y.chain="",Y.fromAddress="",Y.toAddress="",Y.memo="";if(z.id!=null&&z.hasOwnProperty("id"))Y.id=z.id;if(z.chain!=null&&z.hasOwnProperty("chain"))Y.chain=z.chain;if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress"))Y.fromAddress=z.fromAddress;if(z.toAddress!=null&&z.hasOwnProperty("toAddress"))Y.toAddress=z.toAddress;if(z.coins?.length){Y.coins=[];for(let Q=0;Q<z.coins.length;++Q)Y.coins[Q]=L.common.Coin.toObject(z.coins[Q],Z)}if(z.gas?.length){Y.gas=[];for(let Q=0;Q<z.gas.length;++Q)Y.gas[Q]=L.common.Coin.toObject(z.gas[Q],Z)}if(z.memo!=null&&z.hasOwnProperty("memo"))Y.memo=z.memo;return Y},J.prototype.toJSON=function X(){return this.constructor.toObject(this,v.util.toJSONOptions)},J})(),B.Fee=(()=>{function J(X){if(this.coins=[],X){for(let z=Object.keys(X),Z=0;Z<z.length;++Z)if(X[z[Z]]!=null)this[z[Z]]=X[z[Z]]}}return J.prototype.coins=q.emptyArray,J.prototype.poolDeduct="",J.create=function X(z){return new J(z)},J.encode=function X(z,Z){if(!Z)Z=U.create();if(z.coins?.length)for(let Y=0;Y<z.coins.length;++Y)L.common.Coin.encode(z.coins[Y],Z.uint32(10).fork()).ldelim();if(z.poolDeduct!=null&&Object.hasOwnProperty.call(z,"poolDeduct"))Z.uint32(18).string(z.poolDeduct);return Z},J.encodeDelimited=function X(z,Z){return this.encode(z,Z).ldelim()},J.decode=function X(z,Z){if(!(z instanceof H))z=H.create(z);let Y=Z===void 0?z.len:z.pos+Z,Q=new L.common.Fee;while(z.pos<Y){let I=z.uint32();switch(I>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(L.common.Coin.decode(z,z.uint32()));break;case 2:Q.poolDeduct=z.string();break;default:z.skipType(I&7);break}}return Q},J.decodeDelimited=function X(z){if(!(z instanceof H))z=new H(z);return this.decode(z,z.uint32())},J.verify=function X(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 Z=0;Z<z.coins.length;++Z){let Y=L.common.Coin.verify(z.coins[Z]);if(Y)return"coins."+Y}}if(z.poolDeduct!=null&&z.hasOwnProperty("poolDeduct")){if(!q.isString(z.poolDeduct))return"poolDeduct: string expected"}return null},J.fromObject=function X(z){if(z instanceof L.common.Fee)return z;let Z=new L.common.Fee;if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".common.Fee.coins: array expected");Z.coins=[];for(let Y=0;Y<z.coins.length;++Y){if(typeof z.coins[Y]!=="object")throw TypeError(".common.Fee.coins: object expected");Z.coins[Y]=L.common.Coin.fromObject(z.coins[Y])}}if(z.poolDeduct!=null)Z.poolDeduct=String(z.poolDeduct);return Z},J.toObject=function X(z,Z){if(!Z)Z={};let Y={};if(Z.arrays||Z.defaults)Y.coins=[];if(Z.defaults)Y.poolDeduct="";if(z.coins?.length){Y.coins=[];for(let Q=0;Q<z.coins.length;++Q)Y.coins[Q]=L.common.Coin.toObject(z.coins[Q],Z)}if(z.poolDeduct!=null&&z.hasOwnProperty("poolDeduct"))Y.poolDeduct=z.poolDeduct;return Y},J.prototype.toJSON=function X(){return this.constructor.toObject(this,v.util.toJSONOptions)},J})(),B.ProtoUint=(()=>{function J(X){if(X){for(let z=Object.keys(X),Z=0;Z<z.length;++Z)if(X[z[Z]]!=null)this[z[Z]]=X[z[Z]]}}return J.prototype.value="",J.create=function X(z){return new J(z)},J.encode=function X(z,Z){if(!Z)Z=U.create();if(z.value!=null&&Object.hasOwnProperty.call(z,"value"))Z.uint32(10).string(z.value);return Z},J.encodeDelimited=function X(z,Z){return this.encode(z,Z).ldelim()},J.decode=function X(z,Z){if(!(z instanceof H))z=H.create(z);let Y=Z===void 0?z.len:z.pos+Z,Q=new L.common.ProtoUint;while(z.pos<Y){let I=z.uint32();switch(I>>>3){case 1:Q.value=z.string();break;default:z.skipType(I&7);break}}return Q},J.decodeDelimited=function X(z){if(!(z instanceof H))z=new H(z);return this.decode(z,z.uint32())},J.verify=function X(z){if(typeof z!=="object"||z===null)return"object expected";if(z.value!=null&&z.hasOwnProperty("value")){if(!q.isString(z.value))return"value: string expected"}return null},J.fromObject=function X(z){if(z instanceof L.common.ProtoUint)return z;let Z=new L.common.ProtoUint;if(z.value!=null)Z.value=String(z.value);return Z},J.toObject=function X(z,Z){if(!Z)Z={};let Y={};if(Z.defaults)Y.value="";if(z.value!=null&&z.hasOwnProperty("value"))Y.value=z.value;return Y},J.prototype.toJSON=function X(){return this.constructor.toObject(this,v.util.toJSONOptions)},J})(),B})();L.types=(()=>{let B={};return B.MsgDeposit=(()=>{function J(X){if(this.coins=[],X){for(let z=Object.keys(X),Z=0;Z<z.length;++Z)if(X[z[Z]]!=null)this[z[Z]]=X[z[Z]]}}return J.prototype.coins=q.emptyArray,J.prototype.memo="",J.prototype.signer=q.newBuffer([]),J.create=function X(z){return new J(z)},J.encode=function X(z,Z){if(!Z)Z=U.create();if(z.coins?.length)for(let Y=0;Y<z.coins.length;++Y)L.common.Coin.encode(z.coins[Y],Z.uint32(10).fork()).ldelim();if(z.memo!=null&&Object.hasOwnProperty.call(z,"memo"))Z.uint32(18).string(z.memo);if(z.signer!=null&&Object.hasOwnProperty.call(z,"signer"))Z.uint32(26).bytes(z.signer);return Z},J.encodeDelimited=function X(z,Z){return this.encode(z,Z).ldelim()},J.decode=function X(z,Z){if(!(z instanceof H))z=H.create(z);let Y=Z===void 0?z.len:z.pos+Z,Q=new L.types.MsgDeposit;while(z.pos<Y){let I=z.uint32();switch(I>>>3){case 1:if(!Q.coins?.length)Q.coins=[];Q.coins.push(L.common.Coin.decode(z,z.uint32()));break;case 2:Q.memo=z.string();break;case 3:Q.signer=z.bytes();break;default:z.skipType(I&7);break}}return Q},J.decodeDelimited=function X(z){if(!(z instanceof H))z=new H(z);return this.decode(z,z.uint32())},J.verify=function X(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 Z=0;Z<z.coins.length;++Z){let Y=L.common.Coin.verify(z.coins[Z]);if(Y)return"coins."+Y}}if(z.memo!=null&&z.hasOwnProperty("memo")){if(!q.isString(z.memo))return"memo: string expected"}if(z.signer!=null&&z.hasOwnProperty("signer")){if(!(z.signer&&typeof z.signer.length==="number"||q.isString(z.signer)))return"signer: buffer expected"}return null},J.fromObject=function X(z){if(z instanceof L.types.MsgDeposit)return z;let Z=new L.types.MsgDeposit;if(z.coins){if(!Array.isArray(z.coins))throw TypeError(".types.MsgDeposit.coins: array expected");Z.coins=[];for(let Y=0;Y<z.coins.length;++Y){if(typeof z.coins[Y]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");Z.coins[Y]=L.common.Coin.fromObject(z.coins[Y])}}if(z.memo!=null)Z.memo=String(z.memo);if(z.signer!=null){if(typeof z.signer==="string")q.base64.decode(z.signer,Z.signer=q.newBuffer(q.base64.length(z.signer)),0);else if(z.signer.length)Z.signer=z.signer}return Z},J.toObject=function X(z,Z){if(!Z)Z={};let Y={};if(Z.arrays||Z.defaults)Y.coins=[];if(Z.defaults){if(Y.memo="",Z.bytes===String)Y.signer="";else if(Y.signer=[],Z.bytes!==Array)Y.signer=q.newBuffer(Y.signer)}if(z.coins?.length){Y.coins=[];for(let Q=0;Q<z.coins.length;++Q)Y.coins[Q]=L.common.Coin.toObject(z.coins[Q],Z)}if(z.memo!=null&&z.hasOwnProperty("memo"))Y.memo=z.memo;if(z.signer!=null&&z.hasOwnProperty("signer"))Y.signer=Z.bytes===String?q.base64.encode(z.signer,0,z.signer.length):Z.bytes===Array?Array.prototype.slice.call(z.signer):z.signer;return Y},J.prototype.toJSON=function X(){return this.constructor.toObject(this,v.util.toJSONOptions)},J})(),B.MsgSend=(()=>{function J(X){if(this.amount=[],X){for(let z=Object.keys(X),Z=0;Z<z.length;++Z)if(X[z[Z]]!=null)this[z[Z]]=X[z[Z]]}}return J.prototype.fromAddress=q.newBuffer([]),J.prototype.toAddress=q.newBuffer([]),J.prototype.amount=q.emptyArray,J.create=function X(z){return new J(z)},J.encode=function X(z,Z){if(!Z)Z=U.create();if(z.fromAddress!=null&&Object.hasOwnProperty.call(z,"fromAddress"))Z.uint32(10).bytes(z.fromAddress);if(z.toAddress!=null&&Object.hasOwnProperty.call(z,"toAddress"))Z.uint32(18).bytes(z.toAddress);if(z.amount?.length)for(let Y=0;Y<z.amount.length;++Y)L.cosmos.base.v1beta1.Coin.encode(z.amount[Y],Z.uint32(26).fork()).ldelim();return Z},J.encodeDelimited=function X(z,Z){return this.encode(z,Z).ldelim()},J.decode=function X(z,Z){if(!(z instanceof H))z=H.create(z);let Y=Z===void 0?z.len:z.pos+Z,Q=new L.types.MsgSend;while(z.pos<Y){let I=z.uint32();switch(I>>>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(L.cosmos.base.v1beta1.Coin.decode(z,z.uint32()));break;default:z.skipType(I&7);break}}return Q},J.decodeDelimited=function X(z){if(!(z instanceof H))z=new H(z);return this.decode(z,z.uint32())},J.verify=function X(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"||q.isString(z.fromAddress)))return"fromAddress: buffer expected"}if(z.toAddress!=null&&z.hasOwnProperty("toAddress")){if(!(z.toAddress&&typeof z.toAddress.length==="number"||q.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 Z=0;Z<z.amount.length;++Z){let Y=L.cosmos.base.v1beta1.Coin.verify(z.amount[Z]);if(Y)return"amount."+Y}}return null},J.fromObject=function X(z){if(z instanceof L.types.MsgSend)return z;let Z=new L.types.MsgSend;if(z.fromAddress!=null){if(typeof z.fromAddress==="string")q.base64.decode(z.fromAddress,Z.fromAddress=q.newBuffer(q.base64.length(z.fromAddress)),0);else if(z.fromAddress.length)Z.fromAddress=z.fromAddress}if(z.toAddress!=null){if(typeof z.toAddress==="string")q.base64.decode(z.toAddress,Z.toAddress=q.newBuffer(q.base64.length(z.toAddress)),0);else if(z.toAddress.length)Z.toAddress=z.toAddress}if(z.amount){if(!Array.isArray(z.amount))throw TypeError(".types.MsgSend.amount: array expected");Z.amount=[];for(let Y=0;Y<z.amount.length;++Y){if(typeof z.amount[Y]!=="object")throw TypeError(".types.MsgSend.amount: object expected");Z.amount[Y]=L.cosmos.base.v1beta1.Coin.fromObject(z.amount[Y])}}return Z},J.toObject=function X(z,Z){if(!Z)Z={};let Y={};if(Z.arrays||Z.defaults)Y.amount=[];if(Z.defaults){if(Z.bytes===String)Y.fromAddress="";else if(Y.fromAddress=[],Z.bytes!==Array)Y.fromAddress=q.newBuffer(Y.fromAddress);if(Z.bytes===String)Y.toAddress="";else if(Y.toAddress=[],Z.bytes!==Array)Y.toAddress=q.newBuffer(Y.toAddress)}if(z.fromAddress!=null&&z.hasOwnProperty("fromAddress"))Y.fromAddress=Z.bytes===String?q.base64.encode(z.fromAddress,0,z.fromAddress.length):Z.bytes===Array?Array.prototype.slice.call(z.fromAddress):z.fromAddress;if(z.toAddress!=null&&z.hasOwnProperty("toAddress"))Y.toAddress=Z.bytes===String?q.base64.encode(z.toAddress,0,z.toAddress.length):Z.bytes===Array?Array.prototype.slice.call(z.toAddress):z.toAddress;if(z.amount?.length){Y.amount=[];for(let Q=0;Q<z.amount.length;++Q)Y.amount[Q]=L.cosmos.base.v1beta1.Coin.toObject(z.amount[Q],Z)}return Y},J.prototype.toJSON=function X(){return this.constructor.toObject(this,v.util.toJSONOptions)},J})(),B})();L.cosmos=(()=>{let B={};return B.base=(()=>{let J={};return J.v1beta1=(()=>{let X={};return X.Coin=(()=>{function z(Z){if(Z){for(let Y=Object.keys(Z),Q=0;Q<Y.length;++Q)if(Z[Y[Q]]!=null)this[Y[Q]]=Z[Y[Q]]}}return z.prototype.denom="",z.prototype.amount="",z.create=function Z(Y){return new z(Y)},z.encode=function Z(Y,Q){if(!Q)Q=U.create();if(Y.denom!=null&&Object.hasOwnProperty.call(Y,"denom"))Q.uint32(10).string(Y.denom);if(Y.amount!=null&&Object.hasOwnProperty.call(Y,"amount"))Q.uint32(18).string(Y.amount);return Q},z.encodeDelimited=function Z(Y,Q){return this.encode(Y,Q).ldelim()},z.decode=function Z(Y,Q){if(!(Y instanceof H))Y=H.create(Y);let I=Q===void 0?Y.len:Y.pos+Q,G=new L.cosmos.base.v1beta1.Coin;while(Y.pos<I){let N=Y.uint32();switch(N>>>3){case 1:G.denom=Y.string();break;case 2:G.amount=Y.string();break;default:Y.skipType(N&7);break}}return G},z.decodeDelimited=function Z(Y){if(!(Y instanceof H))Y=new H(Y);return this.decode(Y,Y.uint32())},z.verify=function Z(Y){if(typeof Y!=="object"||Y===null)return"object expected";if(Y.denom!=null&&Y.hasOwnProperty("denom")){if(!q.isString(Y.denom))return"denom: string expected"}if(Y.amount!=null&&Y.hasOwnProperty("amount")){if(!q.isString(Y.amount))return"amount: string expected"}return null},z.fromObject=function Z(Y){if(Y instanceof L.cosmos.base.v1beta1.Coin)return Y;let Q=new L.cosmos.base.v1beta1.Coin;if(Y.denom!=null)Q.denom=String(Y.denom);if(Y.amount!=null)Q.amount=String(Y.amount);return Q},z.toObject=function Z(Y,Q){if(!Q)Q={};let I={};if(Q.defaults)I.denom="",I.amount="";if(Y.denom!=null&&Y.hasOwnProperty("denom"))I.denom=Y.denom;if(Y.amount!=null&&Y.hasOwnProperty("amount"))I.amount=Y.amount;return I},z.prototype.toJSON=function Z(){return this.constructor.toObject(this,v.util.toJSONOptions)},z})(),X.DecCoin=(()=>{function z(Z){if(Z){for(let Y=Object.keys(Z),Q=0;Q<Y.length;++Q)if(Z[Y[Q]]!=null)this[Y[Q]]=Z[Y[Q]]}}return z.prototype.denom="",z.prototype.amount="",z.create=function Z(Y){return new z(Y)},z.encode=function Z(Y,Q){if(!Q)Q=U.create();if(Y.denom!=null&&Object.hasOwnProperty.call(Y,"denom"))Q.uint32(10).string(Y.denom);if(Y.amount!=null&&Object.hasOwnProperty.call(Y,"amount"))Q.uint32(18).string(Y.amount);return Q},z.encodeDelimited=function Z(Y,Q){return this.encode(Y,Q).ldelim()},z.decode=function Z(Y,Q){if(!(Y instanceof H))Y=H.create(Y);let I=Q===void 0?Y.len:Y.pos+Q,G=new L.cosmos.base.v1beta1.DecCoin;while(Y.pos<I){let N=Y.uint32();switch(N>>>3){case 1:G.denom=Y.string();break;case 2:G.amount=Y.string();break;default:Y.skipType(N&7);break}}return G},z.decodeDelimited=function Z(Y){if(!(Y instanceof H))Y=new H(Y);return this.decode(Y,Y.uint32())},z.verify=function Z(Y){if(typeof Y!=="object"||Y===null)return"object expected";if(Y.denom!=null&&Y.hasOwnProperty("denom")){if(!q.isString(Y.denom))return"denom: string expected"}if(Y.amount!=null&&Y.hasOwnProperty("amount")){if(!q.isString(Y.amount))return"amount: string expected"}return null},z.fromObject=function Z(Y){if(Y instanceof L.cosmos.base.v1beta1.DecCoin)return Y;let Q=new L.cosmos.base.v1beta1.DecCoin;if(Y.denom!=null)Q.denom=String(Y.denom);if(Y.amount!=null)Q.amount=String(Y.amount);return Q},z.toObject=function Z(Y,Q){if(!Q)Q={};let I={};if(Q.defaults)I.denom="",I.amount="";if(Y.denom!=null&&Y.hasOwnProperty("denom"))I.denom=Y.denom;if(Y.amount!=null&&Y.hasOwnProperty("amount"))I.amount=Y.amount;return I},z.prototype.toJSON=function Z(){return this.constructor.toObject(this,v.util.toJSONOptions)},z})(),X.IntProto=(()=>{function z(Z){if(Z){for(let Y=Object.keys(Z),Q=0;Q<Y.length;++Q)if(Z[Y[Q]]!=null)this[Y[Q]]=Z[Y[Q]]}}return z.prototype.int="",z.create=function Z(Y){return new z(Y)},z.encode=function Z(Y,Q){if(!Q)Q=U.create();if(Y.int!=null&&Object.hasOwnProperty.call(Y,"int"))Q.uint32(10).string(Y.int);return Q},z.encodeDelimited=function Z(Y,Q){return this.encode(Y,Q).ldelim()},z.decode=function Z(Y,Q){if(!(Y instanceof H))Y=H.create(Y);let I=Q===void 0?Y.len:Y.pos+Q,G=new L.cosmos.base.v1beta1.IntProto;while(Y.pos<I){let N=Y.uint32();switch(N>>>3){case 1:G.int=Y.string();break;default:Y.skipType(N&7);break}}return G},z.decodeDelimited=function Z(Y){if(!(Y instanceof H))Y=new H(Y);return this.decode(Y,Y.uint32())},z.verify=function Z(Y){if(typeof Y!=="object"||Y===null)return"object expected";if(Y.int!=null&&Y.hasOwnProperty("int")){if(!q.isString(Y.int))return"int: string expected"}return null},z.fromObject=function Z(Y){if(Y instanceof L.cosmos.base.v1beta1.IntProto)return Y;let Q=new L.cosmos.base.v1beta1.IntProto;if(Y.int!=null)Q.int=String(Y.int);return Q},z.toObject=function Z(Y,Q){if(!Q)Q={};let I={};if(Q.defaults)I.int="";if(Y.int!=null&&Y.hasOwnProperty("int"))I.int=Y.int;return I},z.prototype.toJSON=function Z(){return this.constructor.toObject(this,v.util.toJSONOptions)},z})(),X.DecProto=(()=>{function z(Z){if(Z){for(let Y=Object.keys(Z),Q=0;Q<Y.length;++Q)if(Z[Y[Q]]!=null)this[Y[Q]]=Z[Y[Q]]}}return z.prototype.dec="",z.create=function Z(Y){return new z(Y)},z.encode=function Z(Y,Q){if(!Q)Q=U.create();if(Y.dec!=null&&Object.hasOwnProperty.call(Y,"dec"))Q.uint32(10).string(Y.dec);return Q},z.encodeDelimited=function Z(Y,Q){return this.encode(Y,Q).ldelim()},z.decode=function Z(Y,Q){if(!(Y instanceof H))Y=H.create(Y);let I=Q===void 0?Y.len:Y.pos+Q,G=new L.cosmos.base.v1beta1.DecProto;while(Y.pos<I){let N=Y.uint32();switch(N>>>3){case 1:G.dec=Y.string();break;default:Y.skipType(N&7);break}}return G},z.decodeDelimited=function Z(Y){if(!(Y instanceof H))Y=new H(Y);return this.decode(Y,Y.uint32())},z.verify=function Z(Y){if(typeof Y!=="object"||Y===null)return"object expected";if(Y.dec!=null&&Y.hasOwnProperty("dec")){if(!q.isString(Y.dec))return"dec: string expected"}return null},z.fromObject=function Z(Y){if(Y instanceof L.cosmos.base.v1beta1.DecProto)return Y;let Q=new L.cosmos.base.v1beta1.DecProto;if(Y.dec!=null)Q.dec=String(Y.dec);return Q},z.toObject=function Z(Y,Q){if(!Q)Q={};let I={};if(Q.defaults)I.dec="";if(Y.dec!=null&&Y.hasOwnProperty("dec"))I.dec=Y.dec;return I},z.prototype.toJSON=function Z(){return this.constructor.toObject(this,v.util.toJSONOptions)},z})(),X})(),J})(),B})();var e=L;async function $(){let{Registry:B}=await import("@cosmjs/proto-signing"),{defaultRegistryTypes:J}=await import("@cosmjs/stargate");return new B([...J,["/types.MsgSend",{...e.types.MsgSend}],["/types.MsgDeposit",{...e.types.MsgDeposit}]])}async function S(B){let{AminoTypes:J}=await import("@cosmjs/stargate");return new J({"/types.MsgSend":{aminoType:`${B===E0.Maya?"mayachain":"thorchain"}/MsgSend`,toAmino:(X)=>({from_address:j(X.fromAddress),to_address:j(X.toAddress),amount:[...X.amount]}),fromAmino:(X)=>({fromAddress:l(X.from_address),toAddress:l(X.to_address),amount:[...X.amount]})},"/types.MsgDeposit":{aminoType:`${B===E0.Maya?"mayachain":"thorchain"}/MsgDeposit`,toAmino:(X)=>({signer:j(X.signer),memo:X.memo,coins:[...X.coins]}),fromAmino:(X)=>({signer:l(X.signer),memo:X.memo,coins:[...X.coins]})}})}var b8=k(n.THORChain).gas,p8=k(n.Maya).gas,x0=({from:B,recipient:J,assetValue:X,chain:z})=>({type:`${z===n.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:B,to_address:J,amount:[{amount:X.getBaseValue("string"),denom:y(X.symbol,!0)}]}}),K0=({from:B,assetValue:J,memo:X="",chain:z})=>{return{type:`${z===n.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:J.getBaseValue("string"),asset:_0(J)}],signer:B,memo:X}}},z0=({from:B,recipient:J,assetValue:X,memo:z,chain:Z})=>{return!J?K0({from:B,assetValue:X,memo:z,chain:Z}):x0({from:B,recipient:J,assetValue:X,chain:Z})},C=async(B,J)=>{return(await S(J)).fromAmino(B)},v0=async({rpcUrl:B,from:J})=>{let z=await(await M(B)).getAccount(J);if(!z)throw new Error("Account does not exist");return z},F0=(B)=>async({from:J,recipient:X,assetValue:z,memo:Z="",chain:Y,asSignable:Q=!0,asAminoMessage:I=!1})=>{let G=await v0({rpcUrl:B,from:J}),N=x0({from:J,recipient:X,assetValue:z,chain:Y}),O=Q?await C(I?N:w(N),Y):N;return{chainId:T0[Y],accountNumber:G.accountNumber,sequence:G.sequence,msgs:[O],fee:k(z.chain),memo:Z}},U0=(B)=>async({from:J,assetValue:X,memo:z="",chain:Z,asSignable:Y=!0,asAminoMessage:Q=!1})=>{let I=await v0({rpcUrl:B,from:J}),G=K0({from:J,assetValue:X,memo:z,chain:Z}),N=Y?await C(Q?G:w(G),Z):G;return{chainId:T0[Z],accountNumber:I.accountNumber,sequence:I.sequence,msgs:[N],fee:k(X.chain),memo:z}};function w(B){if(B.type==="thorchain/MsgSend"||B.type==="mayachain/MsgSend")return B;return{...B,value:{...B.value,coins:B.value.coins.map((J)=>{let X=a0.from({asset:J.asset}),z=(X.isSynthetic?X.symbol.split("/")?.[1]:X.symbol)?.toUpperCase(),Z=(X.isSynthetic?X.symbol.split("/")?.[0]:X.chain)?.toUpperCase();return{...J,asset:{chain:Z,symbol:z,ticker:z,synth:X.isSynthetic}}})}}}async function m({chain:B,memo:J,msgs:X}){let z=await $(),Z=await S(B),Y={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:J,messages:X.map((Q)=>Z.fromAmino(Q))}};return z.encode(Y)}import{base64 as s0,bech32 as Y0}from"@scure/base";import{AssetValue as e0,Chain as D,CosmosChainPrefixes as V0,DerivationPath as z8,SKConfig as f0,SwapKitError as Z0}from"@swapkit/helpers";import{SwapKitApi as Y8}from"@swapkit/helpers/api";async function h(B,J){try{let z=(await Y8.getGasRate()).find((Z)=>Z.chainId===B)?.value;return z?Number.parseFloat(z):J}catch(X){return console.error(X),J}}function u({chain:B,derivationPath:J,index:X=0,prefix:z}){let Z=f0.get("rpcUrls")[B],Y=z||V0[B],Q=J?`${J}/${X}`:`${z8[B]}/${X}`,I=B8(Y),G=J8({chain:B,rpcUrl:Z}),N=R0(Z);return{transfer:X8(Z),getSigner:async(O)=>{let{DirectSecp256k1HdWallet:T}=await import("@cosmjs/proto-signing"),{stringToPath:_}=await import("@cosmjs/crypto");return T.fromMnemonic(O,{prefix:z,hdPaths:[_(Q)]})},getSignerFromPrivateKey:async(O)=>{let{DirectSecp256k1Wallet:T}=await import("@cosmjs/proto-signing");return T.fromKey(O,z)},createPrivateKeyFromPhrase:async(O)=>{let{Bip39:T,EnglishMnemonic:_,Slip10:x,Slip10Curve:F,stringToPath:V}=await import("@cosmjs/crypto"),f=new _(O),R=await T.mnemonicToSeed(f),{privkey:g}=x.derivePath(F.Secp256k1,R,V(Q));return g},getAccount:async(O)=>{return(await M(Z)).getAccount(O)},validateAddress:(O)=>A0({prefix:Y,address:O}),getAddressFromMnemonic:async(O)=>{return(await I({phrase:O,derivationPath:Q})).address},getPubKeyFromMnemonic:async(O)=>{let T=await I({phrase:O,derivationPath:Q});return s0.encode(T.pubkey)},getFeeRateFromThorswap:h,getBalanceAsDenoms:N,getBalance:G}}function e8({address:B,chain:J,prefix:X}){let z=X||Z8(J);if(!(z&&B))throw new Z0("toolbox_cosmos_validate_address_prefix_not_found");return A0({prefix:z,address:B})}function z6({assetValue:{chain:B}}){return e0.from({chain:B,value:Q8(B)})}function Z8(B){let{isStagenet:J}=f0.get("envs"),X=B?[D.THORChain,D.Maya].includes(B)&&J:!1,z=B?V0[B]:void 0;return X?`s${z}`:z}function Q8(B){return{[D.Cosmos]:0.007,[D.Kujira]:0.02,[D.THORChain]:0.02,[D.Maya]:0.02}[B]||0}function A0({prefix:B,address:J}){if(!J.startsWith(B))return!1;try{let{prefix:X,words:z}=Y0.decode(J);return Y0.encode(X,z)===J.toLocaleLowerCase()}catch(X){return!1}}function X8(B){return async function J({from:X,recipient:z,assetValue:Z,memo:Y="",fee:Q=s,signer:I}){if(!I)throw new Z0("toolbox_cosmos_signer_not_defined");let G=await d(B,I),N=[{denom:y(`u${Z.symbol}`).toLowerCase(),amount:Z.getBaseValue("string")}],{transactionHash:O}=await G.sendTokens(X,z,N,Q,Y);return O}}function R0(B){return async function J(X){return(await(await M(B)).getAllBalances(X)).map((Q)=>({...Q,denom:Q.denom.includes("/")?Q.denom.toUpperCase():Q.denom}))}}function J8({chain:B,rpcUrl:J}){return async function X(z){return(await R0(J)(z)).filter(({denom:Q})=>Q&&!Q.includes("IBC/")).map(({denom:Q,amount:I})=>{let G=[D.THORChain,D.Maya].includes(B)&&Q.includes("/")?`${B}.${Q}`:Q;return p(G,I)})}}function B8(B){return async function J({phrase:X,derivationPath:z}){let{Secp256k1HdWallet:Z}=await import("@cosmjs/amino"),{stringToPath:Y}=await import("@cosmjs/crypto"),Q=await Z.fromMnemonic(X,{prefix:B,hdPaths:[Y(z)]}),[I]=await Q.getAccounts();if(!I)throw new Z0("toolbox_cosmos_no_accounts_found");return I}}import{BaseDecimal as Q0,Chain as I8,ChainId as L8,SwapKitNumber as X0}from"@swapkit/helpers";function k0(){let B=u({chain:I8.Cosmos});async function J(){let z=await h(L8.Cosmos,500);return{type:"base",average:X0.fromBigInt(BigInt(z),Q0.GAIA),fast:X0.fromBigInt(BigInt(z)*15n/10n,Q0.GAIA),fastest:X0.fromBigInt(BigInt(z)*2n,Q0.GAIA)}}async function X(z){let Z=await J();return B.transfer({...z,fee:z.fee||{amount:[{denom:"uatom",amount:Z[z.feeOptionKey||"fast"].getBaseValue("string")||"1000"}],gas:"200000"}})}return{...B,getFees:J,transfer:X,buildTransferTx:c}}import{Chain as i}from"@swapkit/helpers";import{BaseDecimal as J0,Chain as q8,ChainId as H8,SwapKitNumber as B0}from"@swapkit/helpers";async function M0(){let B=await h(H8.Kujira,1000);return{type:"base",average:B0.fromBigInt(BigInt(B),J0.KUJI),fast:B0.fromBigInt(BigInt(Math.floor(B*1.5)),J0.KUJI),fastest:B0.fromBigInt(BigInt(Math.floor(B*2)),J0.KUJI)}}var D0=()=>{let B=u({chain:q8.Kujira});return{...B,getFees:M0,buildTransferTx:c,getBalance:async(J,X)=>{let z=await B.getBalanceAsDenoms(J);return await Promise.all(z.filter(({denom:Y})=>{if(!Y||Y.includes("IBC/"))return!1;return[b,a].includes(Y)||!Y.startsWith("FACTORY")}).map(({denom:Y,amount:Q})=>p(Y,Q)))},transfer:async(J)=>{let X=await M0();return B.transfer({...J,fee:J.fee||{gas:"200000",amount:[{denom:"ukuji",amount:X[J.feeOptionKey||"fast"].getBaseValue("string")||"1000"}]}})}}};import{base64 as A}from"@scure/base";import{BaseDecimal as G8,Chain as q0,CosmosChainPrefixes as N8,DerivationPath as O8,FeeOption as I0,RequestClient as _8,SKConfig as L0,SwapKitError as W8,SwapKitNumber as P0}from"@swapkit/helpers";function E8({prefix:B,derivationPath:J}){return async function X(z,Z=0){let{Secp256k1HdWallet:Y}=await import("@cosmjs/amino"),{stringToPath:Q}=await import("@cosmjs/crypto");return Y.fromMnemonic(z,{hdPaths:[Q(`${J}/${Z}`)],prefix:B})}}function T8(B){return A.encode(B)}async function x8(B,J,X){let{msgs:z,accountNumber:Z,sequence:Y,chainId:Q,fee:I,memo:G}=JSON.parse(J),N=(await B.getAccounts())?.[0]?.address||"",O=await S(X),T=await $(),_=await W0(B,{registry:T,aminoTypes:O}),x=[];for(let f of z){let R=await C(f,X);x.push(R)}let{signatures:[F]}=await _.sign(N,x,I,G,{accountNumber:Z,sequence:Y,chainId:Q}),V=await m({chain:X,memo:G,msgs:z.map(w)});return{signature:T8(F),bodyBytes:V}}function K8({prefix:B,rpcUrl:J}){return async function X(z,Z,Y,Q,I){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=await import("@cosmjs/amino"),{makeMultisignedTxBytes:O}=await import("@cosmjs/stargate"),{sequence:T,fee:_}=JSON.parse(z),x=await y0(Y,Q),F=Z.map((R)=>[N(G(A.decode(R.pubKey)),B),A.decode(R.signature)]),V=await M(J),{transactionHash:f}=await V.broadcastTx(O(x,T,_,I,new Map(F)));return f}}async function y0(B,J,X=!0){let{createMultisigThresholdPubkey:z,encodeSecp256k1Pubkey:Z}=await import("@cosmjs/amino");return z(B.map((Y)=>Z(A.decode(Y))),J,X)}function v8(B){return A.decode(B)}async function F8({privateKey:B,message:J}){let{Secp256k1:X}=await import("@cosmjs/crypto"),z=await X.createSignature(A.decode(J),B);return A.encode(Buffer.concat([z.r(32),z.s(32)]))}function U8(B){return async function J({signature:X,message:z,address:Z}){let Y=await B(Z);if(!Y?.pubkey)throw new W8("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:Q,Secp256k1:I}=await import("@cosmjs/crypto"),G=Q.fromFixedLength(A.decode(X));return I.verifySignature(G,A.decode(z),Y.pubkey.value)}}function S0(B){let J=L0.get("nodeUrls")[B],X=L0.get("rpcUrls")[B],{isStagenet:z}=L0.get("envs"),Z=B===q0.THORChain,Y=`${z?"s":""}${N8[B]}`,Q=O8[B],I=u({chain:B,derivationPath:Q,prefix:Y}),G=k(B);function N(_){try{return I.getBalance(_)}catch(x){return Promise.reject(x)}}async function O(){let _,x=`${J}/${Z?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:F}}=await _8.get(x);if(!F||Number.isNaN(F)||F<0)throw new Error(`Invalid nativeFee: ${F.toString()}`);_=new P0(F)}catch{_=new P0({value:Z?0.02:1,decimal:G8[B]})}return{[I0.Average]:_,[I0.Fast]:_,[I0.Fastest]:_}}async function T({from:_,recipient:x,assetValue:F,memo:V="",signer:f}){let{TxRaw:R}=await import("cosmjs-types/cosmos/tx/v1beta1/tx");if(!f)throw new Error("Signer not defined");let g="signAmino"in f,$0=await $(),u0=await S(B),o=await d(X,f,{registry:$0,aminoTypes:u0}),t=z0({assetValue:F,from:_,recipient:x,memo:V,chain:B});if(g){let j0=await C(t,B),{signatures:b0,authInfoBytes:p0}=await o.sign(_,[j0],G,V),d0=R.encode({signatures:b0,authInfoBytes:p0,bodyBytes:await m({chain:B,msgs:[t].map(w),memo:V})}).finish();return(await o.broadcastTx(d0)).transactionHash}let h0=w(t),l0=await C(h0,B);return(await o.signAndBroadcast(_,[l0],G,V)).transactionHash}return{...I,deposit:(_)=>T(_),pubkeyToAddress:async(_)=>{let{pubkeyToAddress:x}=await import("@cosmjs/amino");return x(_,Y)},transfer:T,getFees:O,buildAminoMsg:z0,convertToSignable:C,buildDepositTx:U0(X),buildTransferTx:F0(X),buildEncodedTxBody:m,parseAminoMessageForDirectSigning:w,createDefaultAminoTypes:()=>S(B),createDefaultRegistry:$,secp256k1HdWalletFromMnemonic:E8({derivationPath:Q,prefix:Y}),signMultisigTx:(_,x)=>x8(_,x,B),broadcastMultisigTx:K8({prefix:Y,rpcUrl:X}),createMultisig:y0,importSignature:v8,loadAddressBalances:N,signWithPrivateKey:F8,verifySignature:U8(I.getAccount)}}function C0(){return S0(q0.THORChain)}function w0(){return S0(q0.Maya)}var F6=(B)=>{switch(B){case i.Kujira:return D0;case i.Maya:return w0;case i.THORChain:return C0;case i.Cosmos:return k0;default:throw new Error(`Chain ${B} is not supported`)}};export{x0 as transferMsgAmino,M8 as toBase64,w as parseAminoMessageForDirectSigning,F6 as getToolboxByChain,o0 as getRPC,y as getMsgSendDenom,h as getFeeRateFromThorswap,_0 as getDenomWithChain,k as getDefaultChainFee,p as getAssetFromDenom,D8 as fromBase64,z6 as estimateTransactionFee,K0 as depositMsgAmino,M as createStargateClient,d as createSigningStargateClient,W0 as createOfflineStargateClient,$ as createDefaultRegistry,S as createDefaultAminoTypes,e8 as cosmosValidateAddress,C as convertToSignable,F0 as buildTransferTx,c as buildNativeTransferTx,m as buildEncodedTxBody,U0 as buildDepositTx,z0 as buildAminoMsg,l as bech32ToBase64,j as base64ToBech32,a as YUM_KUJIRA_FACTORY_DENOM,b as USK_KUJIRA_FACTORY_DENOM,C0 as ThorchainToolbox,b8 as THORCHAIN_GAS_VALUE,w0 as MayaToolbox,p8 as MAYA_GAS_VALUE,D0 as KujiraToolbox,k0 as GaiaToolbox,g0 as DEFAULT_KUJI_FEE_MAINNET,s as DEFAULT_COSMOS_FEE_MAINNET,S0 as BaseThorchainToolbox,u as BaseCosmosToolbox};
1
+ import{b as vo}from"../chunk-0h4xdrwz.js";import{c as T,d as m}from"../chunk-p1kdg37m.js";import{base64 as oo,bech32 as Q}from"@scure/base";import{fromByteArray as Qo,toByteArray as Xo}from"base64-js";function X(o){return oo.encode(Uint8Array.from(Q.fromWords(Q.decode(o).words)))}function G(o,r="thor"){return Q.encode(r,Q.toWords(oo.decode(o)))}function _t(o){return Qo(o)}function At(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Error("Invalid base64 string format");return Xo(o)}import{AssetValue as Eo,Chain as Y,ChainToChainId as fo}from"@swapkit/helpers";import{AssetValue as Go,Chain as R,ChainId as U,SKConfig as to}from"@swapkit/helpers";var Do="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Jo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Yo={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},ho={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function u(o){switch(o){case R.Maya:return{amount:[],gas:"10000000000"};case R.THORChain:return{amount:[],gas:"500000000"};case R.Kujira:return ho;default:return Yo}}var I=(o,r=!1)=>{if(r)return o.toLowerCase();switch(o){case"uUSK":case"USK":return Do;case"uYUM":case"YUM":return Jo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},D=({symbol:o,chain:r})=>{if(r===R.Maya)return(o.toUpperCase()!=="CACAO"?o:`${R.Maya}.${o}`).toUpperCase();if(r===R.THORChain)return(o.toUpperCase()!=="RUNE"?o:`${R.THORChain}.${o}`).toUpperCase();return I(o,!1)};async function j(o){let{StargateClient:r}=await import("@cosmjs/stargate");return r.connect(o)}async function J(o,r,t={}){let{SigningStargateClient:n,GasPrice:f}=await import("@cosmjs/stargate"),p=typeof t==="string"?t:"0.0003uatom",y=typeof t==="string"?{}:t;return n.connectWithSigner(o,r,{gasPrice:f.fromString(p),...y})}async function ro(o,r){let{SigningStargateClient:t}=await import("@cosmjs/stargate");return t.offline(o,r)}var Oo=(o)=>{let{isStagenet:r}=to.get("envs"),t=to.get("rpcUrls");switch(o){case U.Kujira:return t.KUJI;case U.THORChain:case"thorchain-mainnet-v1":return r?t.THOR_STAGENET:t.THOR;case U.Maya:return r?t.MAYA_STAGENET:t.MAYA;default:return t.GAIA}},Fo=(o)=>{switch(o){case R.Maya:case R.THORChain:return"/types.MsgSend";case R.Cosmos:case R.Kujira:return"/cosmos.bank.v1beta1.MsgSend";default:throw new Error("Unsupported chain")}},no=async({sender:o,recipient:r,assetValue:t,memo:n="",feeRate:f,sequence:p,accountNumber:y})=>{let{chain:x,chainId:i}=t,v=Oo(i),w=await(await j(v)).getAccount(o);if(!w)throw new Error("Account does not exist");let $=Go.from({chain:x}),B=I($.symbol),C=u(x),d=B&&f?{amount:[{denom:B,amount:f.toString()}],gas:C.gas}:C,W={fromAddress:o,toAddress:r,amount:[{amount:t.getBaseValue("string"),denom:I(t.symbol)}]};return{accountNumber:y??w.accountNumber,chainId:i,fee:d,memo:n,sequence:p??w.sequence,msgs:[{typeUrl:Fo(x),value:W}]}};import{Chain as qo}from"@swapkit/helpers";async function Z(){let{$root:o}=await import("../chunk-0f0249b1.js"),{Registry:r}=await import("@cosmjs/proto-signing"),{defaultRegistryTypes:t}=await import("@cosmjs/stargate");return new r([...t,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function z(o){let{AminoTypes:r}=await import("@cosmjs/stargate"),t=o===qo.THORChain?"thorchain":"mayachain";return new r({"/types.MsgSend":{aminoType:`${t}/MsgSend`,toAmino:({fromAddress:n,toAddress:f,...p})=>({...p,from_address:G(n),to_address:G(f)}),fromAmino:({from_address:n,to_address:f,...p})=>({...p,fromAddress:X(n),toAddress:X(f)})},"/types.MsgDeposit":{aminoType:`${t}/MsgDeposit`,toAmino:({signer:n,...f})=>({...f,signer:G(n)}),fromAmino:({signer:n,...f})=>({...f,signer:X(n)})}})}var Qt=u(Y.THORChain).gas,Xt=u(Y.Maya).gas,po=({sender:o,recipient:r,assetValue:t})=>{return{type:`${t.chain===Y.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:r,amount:[{amount:t.getBaseValue("string"),denom:I(t.symbol,!0)}]}}},yo=({sender:o,assetValue:r,memo:t=""})=>{return{type:`${r.chain===Y.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:r.getBaseValue("string"),asset:D(r)}],signer:o,memo:t}}},e=({sender:o,recipient:r,assetValue:t,memo:n})=>{return!r?yo({sender:o,assetValue:t,memo:n}):po({sender:o,recipient:r,assetValue:t})},L=async(o,r)=>{return(await z(r)).fromAmino(o)},wo=async({rpcUrl:o,sender:r})=>{let n=await(await j(o)).getAccount(r);if(!n)throw new Error("Account does not exist");return n};function io(o){return function r(t){let{assetValue:n,recipient:f,memo:p,sender:y,asSignable:x,asAminoMessage:i}=t;if(f)return No(o)({sender:y,recipient:f,assetValue:n,memo:p,asSignable:x,asAminoMessage:i});return So(o)({sender:y,assetValue:n,memo:p,asSignable:x,asAminoMessage:i})}}var No=(o)=>async({sender:r,recipient:t,assetValue:n,memo:f="",asSignable:p=!0,asAminoMessage:y=!1,sequence:x,accountNumber:i})=>{let v=await wo({rpcUrl:o,sender:r}),c=n.chain,w=po({sender:r,recipient:t,assetValue:n}),$=p?await L(y?w:P(w),c):w;return{chainId:fo[c],accountNumber:i||v.accountNumber,sequence:x||v.sequence,msgs:[$],fee:u(n.chain),memo:f}},So=(o)=>async({sender:r,assetValue:t,memo:n="",asSignable:f=!0,asAminoMessage:p=!1,sequence:y,accountNumber:x})=>{let i=await wo({rpcUrl:o,sender:r}),v=t.chain,c=yo({sender:r,assetValue:t,memo:n}),w=f?await L(p?c:P(c),v):c;return{chainId:fo[v],accountNumber:x||i.accountNumber,sequence:y||i.sequence,msgs:[w],fee:u(t.chain),memo:n}};function P(o){if(o.type==="thorchain/MsgSend"||o.type==="mayachain/MsgSend")return o;return{...o,value:{...o.value,coins:o.value.coins.map((r)=>{let t=Eo.from({asset:r.asset}),n=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),f=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...r,asset:{chain:f,symbol:n,ticker:t.ticker,synth:t.isSynthetic}}})}}}async function h({chain:o,memo:r,msgs:t}){let n=await Z(),f=await z(o),p={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:r,messages:t.map((y)=>f.fromAmino(y))}};return n.encode(p)}import{Chain as q}from"@swapkit/helpers";import{base64 as s,bech32 as V}from"@scure/base";import{AssetValue as $o,BaseDecimal as b,Chain as H,ChainToChainId as Mo,CosmosChainPrefixes as Wo,DerivationPath as Uo,FeeOption as eo,NetworkDerivationPath as Vo,SKConfig as Bo,SwapKitError as O,SwapKitNumber as g,derivationPathToString as xo,updateDerivationPath as bo}from"@swapkit/helpers";import{SwapKitApi as Ro}from"@swapkit/helpers/api";import{P as Co,match as go}from"ts-pattern";async function Ho(o,r){try{let n=(await Ro.getGasRate()).find((f)=>f.chainId===o)?.value;return n?Number.parseFloat(n):r}catch(t){return console.error(t),r}}async function To({phrase:o,prefix:r,...t}){let{DirectSecp256k1HdWallet:n}=await import("@cosmjs/proto-signing"),{stringToPath:f}=await import("@cosmjs/crypto"),p="derivationPath"in t?t.derivationPath:`${Uo[t.chain]}/${t.index}`;return n.fromMnemonic(o,{prefix:r,hdPaths:[f(p)]})}async function et({privateKey:o,prefix:r}){let{DirectSecp256k1Wallet:t}=await import("@cosmjs/proto-signing");return t.fromKey(o,r)}var mo={[H.Cosmos]:500,[H.Kujira]:1000,[H.THORChain]:5000000,[H.Maya]:5000000};function so(o){return async function r({signature:t,message:n,address:f}){let p=await o(f);if(!p?.pubkey)throw new O("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:y,Secp256k1:x}=await import("@cosmjs/crypto"),i=y.fromFixedLength(s.decode(t));return x.verifySignature(i,s.decode(n),p.pubkey.value)}}async function F({chain:o,...r}){let t=Bo.get("rpcUrls")[o],n=Wo[o],f="index"in r?r.index||0:0,p=xo("derivationPath"in r&&r.derivationPath?r.derivationPath:bo(Vo[o],{index:f})),y=await go(r).with({phrase:Co.string},({phrase:w})=>To({phrase:w,prefix:n,derivationPath:p})).with({signer:Co.any},({signer:w})=>w).otherwise(()=>{return});async function x(w){return(await j(t)).getAccount(w)}async function i(){let[w]=await y?.getAccounts()||[];return w?.address}async function v(){let[w]=await y?.getAccounts()||[];if(!w?.pubkey)throw new O("toolbox_cosmos_signer_not_defined");return s.encode(w?.pubkey)}async function c({recipient:w,assetValue:$,memo:B="",feeRate:C,feeOptionKey:d=eo.Fast}){let W=await i();if(!(y&&W))throw new O("toolbox_cosmos_signer_not_defined");let _=$o.from({chain:o}),A=D(_),E=C||lo((await co(o,mo[o]))[d],A),N=await J(t,y),S=[{denom:I(`u${$.symbol}`).toLowerCase(),amount:$.getBaseValue("string")}],{transactionHash:K}=await N.sendTokens(W,w,S,E,B);return K}return{transfer:c,getAddress:i,getAccount:x,getBalance:vo(o),getSignerFromPhrase:async({phrase:w,derivationPath:$})=>To({phrase:w,prefix:n,derivationPath:xo($),index:f}),getSignerFromPrivateKey:async(w)=>{let{DirectSecp256k1Wallet:$}=await import("@cosmjs/proto-signing");return $.fromKey(w,n)},createPrivateKeyFromPhrase:rt(p),validateAddress:_o(n),getPubKey:v,getFees:()=>co(o,mo[o]),fetchFeeRateFromSwapKit:Ho,getBalanceAsDenoms:tt(t),createTransaction:no,verifySignature:so(x)}}async function Vt(o,r){try{let n=(await Ro.getGasRate()).find((f)=>f.chainId===o)?.value;return n?Number.parseFloat(n):r}catch(t){return console.error(t),r}}function bt({address:o,chain:r,prefix:t}){let n=t||ao(r);if(!(n&&o))throw new O("toolbox_cosmos_validate_address_prefix_not_found");return _o(n)(o)}function gt({assetValue:{chain:o}}){return $o.from({chain:o,value:ot(o)})}function ao(o){let{isStagenet:r}=Bo.get("envs"),t=o?[H.THORChain,H.Maya].includes(o)&&r:!1,n=o?Wo[o]:void 0;return t?`s${n}`:n}async function co(o,r){let t=await Ho(Mo[o],r);return{average:g.fromBigInt(BigInt(t),b[o]),fast:g.fromBigInt(BigInt(Math.floor(t*1.5)),b[o]),fastest:g.fromBigInt(BigInt(Math.floor(t*2)),b[o])}}function lo(o,r){return{amount:[{denom:r,amount:o.getBaseValue("string")}],gas:"200000"}}function ot(o){return{[H.Cosmos]:0.007,[H.Kujira]:0.02,[H.THORChain]:0.02,[H.Maya]:0.02}[o]||0}function _o(o){return function r(t){if(!t.startsWith(o))return!1;try{let{prefix:n,words:f}=V.decode(t);return V.encode(n,f)===t.toLocaleLowerCase()}catch(n){return!1}}}function tt(o){return async function r(t){return(await(await j(o)).getAllBalances(t)).map((y)=>({...y,denom:y.denom.includes("/")?y.denom.toUpperCase():y.denom}))}}function rt(o){return async function r(t){let{Bip39:n,EnglishMnemonic:f,Slip10:p,Slip10Curve:y,stringToPath:x}=await import("@cosmjs/crypto"),i=new f(t),v=await n.mnemonicToSeed(i),{privkey:c}=p.derivePath(y.Secp256k1,v,x(o));return c}}import{base64 as k}from"@scure/base";import{BaseDecimal as nt,Chain as ft,CosmosChainPrefixes as pt,FeeOption as a,NetworkDerivationPath as yt,RequestClient as wt,SKConfig as l,SwapKitNumber as Ao,derivationPathToString as it,updateDerivationPath as xt}from"@swapkit/helpers";import{P as uo,match as Ct}from"ts-pattern";function Tt({prefix:o,derivationPath:r}){return async function t(n,f=0){let{Secp256k1HdWallet:p}=await import("@cosmjs/amino"),{stringToPath:y}=await import("@cosmjs/crypto");return p.fromMnemonic(n,{hdPaths:[y(`${r}/${f}`)],prefix:o})}}function mt(o){return k.encode(o)}function ct(o){return async function r({wallet:t,tx:n}){let{msgs:f,accountNumber:p,sequence:y,chainId:x,fee:i,memo:v}=typeof n==="string"?JSON.parse(n):n,c=(await t.getAccounts())?.[0]?.address||"",w=await z(o),$=await Z(),B=await ro(t,{registry:$,aminoTypes:w}),C=[];for(let _ of f){let A=await L(_,o);C.push(A)}let{signatures:[d]}=await B.sign(c,C,i,v,{accountNumber:p,sequence:y,chainId:x}),W=await h({chain:o,memo:v,msgs:f.map(P)});return{signature:mt(d),bodyBytes:W}}}function vt({prefix:o,rpcUrl:r}){return async function t(n,f,p,y,x){let{encodeSecp256k1Pubkey:i,pubkeyToAddress:v}=await import("@cosmjs/amino"),{makeMultisignedTxBytes:c}=await import("@cosmjs/stargate"),{sequence:w,fee:$}=JSON.parse(n),B=await jo(p,y),C=f.map((_)=>[v(i(k.decode(_.pubKey)),o),k.decode(_.signature)]),d=await j(r),{transactionHash:W}=await d.broadcastTx(c(B,w,$,x,new Map(C)));return W}}async function jo(o,r,t=!0){let{createMultisigThresholdPubkey:n,encodeSecp256k1Pubkey:f}=await import("@cosmjs/amino");return n(o.map((p)=>f(k.decode(p))),r,t)}function $t(o){return k.decode(o)}async function dt({privateKey:o,message:r}){let{Secp256k1:t}=await import("@cosmjs/crypto"),n=await t.createSignature(k.decode(r),o);return k.encode(Buffer.concat([n.r(32),n.s(32)]))}async function Io({chain:o,...r}){let t=l.get("nodeUrls")[o],n=l.get("rpcUrls")[o],{isStagenet:f}=l.get("envs"),p=o===ft.THORChain,y=`${f?"s":""}${pt[o]}`,x="index"in r?r.index||0:0,i="derivationPath"in r&&r.derivationPath?r.derivationPath:xt(yt[o],{index:x}),v=await F({chain:o,...r}),c=await Ct(r).with({phrase:uo.string},({phrase:C})=>v.getSignerFromPhrase({phrase:C,derivationPath:i})).with({signer:uo.any},({signer:C})=>C).otherwise(()=>{return}),w=u(o);async function $(){let C,d=`${t}/${p?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await wt.get(d);if(!W||Number.isNaN(W)||W<0)throw new Error(`Invalid nativeFee: ${W.toString()}`);C=new Ao(W)}catch{C=new Ao({value:p?0.02:1,decimal:nt[o]})}return{[a.Average]:C,[a.Fast]:C,[a.Fastest]:C}}async function B({assetValue:C,memo:d="",recipient:W}){let{TxRaw:_}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),A=(await c?.getAccounts())?.[0]?.address;if(!(A&&c))throw new Error("Signer not defined");let E="signAmino"in c,N=await Z(),S=await z(o),K=await J(n,c,{registry:N,aminoTypes:S}),M=e({assetValue:C,sender:A,recipient:W,memo:d});if(E){let Po=await L(M,o),{signatures:ko,authInfoBytes:Zo}=await K.sign(A,[Po],w,d),Ko=_.encode({signatures:ko,authInfoBytes:Zo,bodyBytes:await h({chain:o,msgs:[M].map(P),memo:d})}).finish();return(await K.broadcastTx(Ko)).transactionHash}let zo=P(M),Lo=await L(zo,o);return(await K.signAndBroadcast(A,[Lo],w,d)).transactionHash}return{...v,broadcastMultisigTx:vt({prefix:y,rpcUrl:n}),buildAminoMsg:e,buildEncodedTxBody:h,convertToSignable:L,createDefaultAminoTypes:()=>z(o),createDefaultRegistry:Z,createMultisig:jo,createTransaction:io(n),deposit:B,getFees:$,importSignature:$t,parseAminoMessageForDirectSigning:P,secp256k1HdWalletFromMnemonic:Tt({derivationPath:it(i),prefix:y}),signMultisigTx:ct(o),signWithPrivateKey:dt,transfer:B,pubkeyToAddress:async(C)=>{let{pubkeyToAddress:d}=await import("@cosmjs/amino");return d(C,y)}}}var ir=(o,r)=>{switch(o){case q.Cosmos:case q.Kujira:return F({chain:o,...r});case q.Maya:case q.THORChain:return Io({chain:o,...r});default:throw new Error(`Chain ${o} is not supported`)}};export{so as verifySignature,po as transferMsgAmino,_t as toBase64,P as parseAminoMessageForDirectSigning,et as getSignerFromPrivateKey,To as getSignerFromPhrase,Oo as getRPC,I as getMsgSendDenom,Vt as getFeeRateFromThorswap,D as getDenomWithChain,u as getDefaultChainFee,io as getCreateTransaction,ir as getCosmosToolbox,At as fromBase64,Ho as fetchFeeRateFromSwapKit,gt as estimateTransactionFee,yo as depositMsgAmino,Io as createThorchainToolbox,j as createStargateClient,J as createSigningStargateClient,ro as createOfflineStargateClient,Z as createDefaultRegistry,z as createDefaultAminoTypes,F as createCosmosToolbox,bt as cosmosValidateAddress,no as cosmosCreateTransaction,L as convertToSignable,No as buildTransferTx,h as buildEncodedTxBody,So as buildDepositTx,e as buildAminoMsg,X as bech32ToBase64,G as base64ToBech32,Jo as YUM_KUJIRA_FACTORY_DENOM,Do as USK_KUJIRA_FACTORY_DENOM,Qt as THORCHAIN_GAS_VALUE,Xt as MAYA_GAS_VALUE,ho as DEFAULT_KUJI_FEE_MAINNET,Yo as DEFAULT_COSMOS_FEE_MAINNET};
2
2
 
3
- //# debugId=32C73FB899CB0B8364756E2164756E21
3
+ //# debugId=620315376484B60C64756E2164756E21