diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d452c0f..c4aa4b78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,73 @@ +## [1.14.16-beta.0](https://github.com/0xsquid/api-sdk/compare/v1.14.1...v1.14.16-beta.0) (2024-03-27) + + +### Features + +* add chainId property to evm balances response ([#239](https://github.com/0xsquid/api-sdk/issues/239)) ([e5166c0](https://github.com/0xsquid/api-sdk/commit/e5166c01790ad18f4517e83b20698d190fa60759)) +* support injective network ([#279](https://github.com/0xsquid/api-sdk/issues/279)) ([42f09e6](https://github.com/0xsquid/api-sdk/commit/42f09e64b6dbff391278f27e4acd8172c1edae1a)) + + +### Bug Fixes + +* bignumber formatting ([#255](https://github.com/0xsquid/api-sdk/issues/255)) ([ea7a775](https://github.com/0xsquid/api-sdk/commit/ea7a7756767f4dd2c0a8b6ca23666e116b6fa0a6)) +* handle ledger amino messages ([#215](https://github.com/0xsquid/api-sdk/issues/215)) ([2ef50f7](https://github.com/0xsquid/api-sdk/commit/2ef50f76d2429cca74c71a1fd1324beff9a90f0c)), closes [#216](https://github.com/0xsquid/api-sdk/issues/216) [#224](https://github.com/0xsquid/api-sdk/issues/224) +* handle possible undefined value that could throw bignumber error ([#261](https://github.com/0xsquid/api-sdk/issues/261)) ([5886f43](https://github.com/0xsquid/api-sdk/commit/5886f436faef9797d544a94d0200208fd716a363)) +* parse undefined memo sent from api ([#237](https://github.com/0xsquid/api-sdk/issues/237)) ([6d42fdd](https://github.com/0xsquid/api-sdk/commit/6d42fdd45afc33bb81b192fa3e1c42694f1c6ca7)) +* use a different rpc url for each chain ([#230](https://github.com/0xsquid/api-sdk/issues/230)) ([53bfa60](https://github.com/0xsquid/api-sdk/commit/53bfa60b9b314a7412b265fdea6e7de4454e49ea)) +* use all chains when no chains are specified ([#233](https://github.com/0xsquid/api-sdk/issues/233)) ([ca638dd](https://github.com/0xsquid/api-sdk/commit/ca638dd1aaa3395272788880fd0a195be55db525)) + + +### Reverts + +* Revert "chore: branch cut release for sdk v1.14.9" ([7497aaa](https://github.com/0xsquid/api-sdk/commit/7497aaade74c5af75b12291d8be57f10aa022601)) + +## [1.14.15](https://github.com/0xsquid/api-sdk/compare/v1.14.1...v1.14.15) (2024-03-10) + + +### Features + +* add chainId property to evm balances response ([#239](https://github.com/0xsquid/api-sdk/issues/239)) ([e5166c0](https://github.com/0xsquid/api-sdk/commit/e5166c01790ad18f4517e83b20698d190fa60759)) +* support injective network ([#279](https://github.com/0xsquid/api-sdk/issues/279)) ([42f09e6](https://github.com/0xsquid/api-sdk/commit/42f09e64b6dbff391278f27e4acd8172c1edae1a)) + + +### Bug Fixes + +* bignumber formatting ([#255](https://github.com/0xsquid/api-sdk/issues/255)) ([ea7a775](https://github.com/0xsquid/api-sdk/commit/ea7a7756767f4dd2c0a8b6ca23666e116b6fa0a6)) +* handle ledger amino messages ([#215](https://github.com/0xsquid/api-sdk/issues/215)) ([2ef50f7](https://github.com/0xsquid/api-sdk/commit/2ef50f76d2429cca74c71a1fd1324beff9a90f0c)), closes [#216](https://github.com/0xsquid/api-sdk/issues/216) [#224](https://github.com/0xsquid/api-sdk/issues/224) +* handle possible undefined value that could throw bignumber error ([#261](https://github.com/0xsquid/api-sdk/issues/261)) ([5886f43](https://github.com/0xsquid/api-sdk/commit/5886f436faef9797d544a94d0200208fd716a363)) +* parse undefined memo sent from api ([#237](https://github.com/0xsquid/api-sdk/issues/237)) ([6d42fdd](https://github.com/0xsquid/api-sdk/commit/6d42fdd45afc33bb81b192fa3e1c42694f1c6ca7)) +* use a different rpc url for each chain ([#230](https://github.com/0xsquid/api-sdk/issues/230)) ([53bfa60](https://github.com/0xsquid/api-sdk/commit/53bfa60b9b314a7412b265fdea6e7de4454e49ea)) +* use all chains when no chains are specified ([#233](https://github.com/0xsquid/api-sdk/issues/233)) ([ca638dd](https://github.com/0xsquid/api-sdk/commit/ca638dd1aaa3395272788880fd0a195be55db525)) + + +### Reverts + +* Revert "chore: branch cut release for sdk v1.14.9" ([7497aaa](https://github.com/0xsquid/api-sdk/commit/7497aaade74c5af75b12291d8be57f10aa022601)) + +## [1.14.13](https://github.com/0xsquid/api-sdk/compare/v1.14.1...v1.14.13) (2024-01-17) + + +### Features + +* add chainId property to evm balances response ([#239](https://github.com/0xsquid/api-sdk/issues/239)) ([e5166c0](https://github.com/0xsquid/api-sdk/commit/e5166c01790ad18f4517e83b20698d190fa60759)) + + +### Bug Fixes + +* bignumber formatting ([#255](https://github.com/0xsquid/api-sdk/issues/255)) ([ea7a775](https://github.com/0xsquid/api-sdk/commit/ea7a7756767f4dd2c0a8b6ca23666e116b6fa0a6)) +* handle ledger amino messages ([#215](https://github.com/0xsquid/api-sdk/issues/215)) ([2ef50f7](https://github.com/0xsquid/api-sdk/commit/2ef50f76d2429cca74c71a1fd1324beff9a90f0c)), closes [#216](https://github.com/0xsquid/api-sdk/issues/216) [#224](https://github.com/0xsquid/api-sdk/issues/224) +* handle possible undefined value that could throw bignumber error ([#261](https://github.com/0xsquid/api-sdk/issues/261)) ([5886f43](https://github.com/0xsquid/api-sdk/commit/5886f436faef9797d544a94d0200208fd716a363)) +* parse undefined memo sent from api ([#237](https://github.com/0xsquid/api-sdk/issues/237)) ([6d42fdd](https://github.com/0xsquid/api-sdk/commit/6d42fdd45afc33bb81b192fa3e1c42694f1c6ca7)) +* use a different rpc url for each chain ([#230](https://github.com/0xsquid/api-sdk/issues/230)) ([53bfa60](https://github.com/0xsquid/api-sdk/commit/53bfa60b9b314a7412b265fdea6e7de4454e49ea)) +* use all chains when no chains are specified ([#233](https://github.com/0xsquid/api-sdk/issues/233)) ([ca638dd](https://github.com/0xsquid/api-sdk/commit/ca638dd1aaa3395272788880fd0a195be55db525)) + + +### Reverts + +* Revert "chore: branch cut release for sdk v1.14.9" ([7497aaa](https://github.com/0xsquid/api-sdk/commit/7497aaade74c5af75b12291d8be57f10aa022601)) + ## [1.14.12](https://github.com/0xsquid/api-sdk/compare/v1.14.1...v1.14.12) (2023-12-06) diff --git a/package.json b/package.json index 57269bbe..426cd945 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@0xsquid/sdk", - "version": "1.14.12", + "version": "1.14.16-beta.0", "description": "🛠 An SDK for building applications on top of 0xsquid", "repository": { "type": "git", @@ -33,13 +33,13 @@ "release:dry": "release-it --dry-run" }, "dependencies": { - "ethereum-multicall": "2.21.0", + "ethereum-multicall": "2.23.0", "axios": "^0.27.2", "ethers": "^5.7.1", - "@cosmjs/encoding": "^0.31.0", - "@cosmjs/stargate": "^0.31.3", - "@cosmjs/cosmwasm-stargate": "^0.31.3", - "cosmjs-types": "^0.8.0" + "@cosmjs/encoding": "^0.32.2", + "@cosmjs/stargate": "^0.32.2", + "@cosmjs/cosmwasm-stargate": "^0.32.2", + "cosmjs-types": "^0.9.0" }, "resolutions": { "semver": "^7.5.4" diff --git a/src/index.ts b/src/index.ts index 8d5d799d..17efc271 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,6 +6,7 @@ import { toUtf8 } from "@cosmjs/encoding"; import { AminoTypes, Coin, + DeliverTxResponse, GasPrice, SigningStargateClient, calculateFee, @@ -313,8 +314,11 @@ export class Squid { signerAddress, route, executionSettings, - overrides - }: ExecuteRoute): Promise { + overrides, + useBroadcast = false + }: ExecuteRoute): Promise< + ethers.providers.TransactionResponse | TxRaw | DeliverTxResponse + > { this.validateInit(); if (!route.transactionRequest) { @@ -326,17 +330,15 @@ export class Squid { }); } + const isEvmChainId = Number(route.params.fromChain) > 0; + // handle cosmos case - if ( - signer instanceof SigningStargateClient || - signer.constructor.name === "SigningStargateClient" || - signer instanceof SigningCosmWasmClient || - signer.constructor.name === "SigningCosmWasmClient" - ) { + if (!isEvmChainId) { return await this.executeRouteCosmos( signer as SigningStargateClient, signerAddress!, - route + route, + useBroadcast ); } @@ -382,7 +384,7 @@ export class Squid { fromAmount: params.fromAmount, fromChain, infiniteApproval: executionSettings?.infiniteApproval, - signer, + signer: signer as ethers.Signer, overrides: _overrides }); } @@ -402,7 +404,7 @@ export class Squid { }; } - return await signer.sendTransaction(tx); + return await (signer as ethers.Signer).sendTransaction(tx); } public getRawTxHex({ @@ -463,8 +465,9 @@ export class Squid { private async executeRouteCosmos( signer: SigningStargateClient | SigningCosmWasmClient, signerAddress: string, - route: RouteData - ): Promise { + route: RouteData, + useBroadcast = false + ): Promise { const cosmosMsg: CosmosMsg = JSON.parse(route.transactionRequest!.data); const msgs = []; switch (cosmosMsg.msgTypeUrl) { @@ -506,10 +509,6 @@ export class Squid { amount: route.params.fromAmount }); - // simulate tx to estimate gas cost - const estimatedGas = await signer.simulate(signerAddress, msgs, ""); - const gasMultiplier = Number(route.transactionRequest!.maxFeePerGas) || 1.3; - // This conversion is needed for Ledger, They only supports Amino messages // TODO: At the moment there's a limit on Ledger Nano S models // This limit prevents WASM_TYPE messages to be signed (because payload message is too big) @@ -529,13 +528,31 @@ export class Squid { const aminoMsg = aminoTypes.toAmino(formattedMsg); const fromAminoMsg = aminoTypes.fromAmino(aminoMsg); + // simulate tx to estimate gas cost + const estimatedGas = await signer.simulate( + signerAddress, + [fromAminoMsg], + "" + ); + const gasMultiplier = Number(route.transactionRequest!.maxFeePerGas) || 1.3; + const fee = calculateFee( + Math.trunc(estimatedGas * gasMultiplier), + GasPrice.fromString(route.transactionRequest!.gasPrice) + ); + + if (useBroadcast) { + return (signer as SigningCosmWasmClient).signAndBroadcast( + signerAddress, + [fromAminoMsg], + fee, + "" + ); + } + return (signer as SigningCosmWasmClient).sign( signerAddress, [fromAminoMsg], - calculateFee( - Math.trunc(estimatedGas * gasMultiplier), - GasPrice.fromString(route.transactionRequest!.gasPrice) - ), + fee, "" ); } @@ -868,11 +885,14 @@ export class Squid { }; } - private getTimeoutTimestamp(): Long { + private getTimeoutTimestamp(): number { const PACKET_LIFETIME_NANOS = 3600 * 1_000_000_000; // 1 Hour const currentTimeNanos = Math.floor(Date.now() * 1_000_000); - return Long.fromNumber(currentTimeNanos + PACKET_LIFETIME_NANOS); + const timeoutTimestamp = Long.fromNumber( + currentTimeNanos + PACKET_LIFETIME_NANOS + ); + return timeoutTimestamp.toNumber(); } private getAminoTypeConverters(): AminoTypes { diff --git a/src/services/getEvmBalances.ts b/src/services/getEvmBalances.ts index c8def5df..f207fe7a 100644 --- a/src/services/getEvmBalances.ts +++ b/src/services/getEvmBalances.ts @@ -9,7 +9,11 @@ import { type ContractAddress = `0x${string}`; -const CHAINS_WITHOUT_MULTICALL = [314, 3141]; // Filecoin, & Filecoin testnet +const CHAINS_WITHOUT_MULTICALL = [ + 314, // Filecoin + 3141, // Filecoin testnet + 2222 // Kava +]; const getTokensBalanceSupportingMultiCall = async ( tokens: TokenData[], @@ -50,7 +54,8 @@ const getTokensBalanceSupportingMultiCall = async ( const multicallInstance = new Multicall({ ethersProvider: provider, - tryAggregate: true + tryAggregate: true, + multicallCustomContractAddress: MULTICALL_ADDRESS }); try { @@ -94,23 +99,12 @@ const getTokensBalanceWithoutMultiCall = async ( ): Promise => { const balances: (TokenBalance | null)[] = await Promise.all( tokens.map(async t => { - let balance: TokenBalance | null; try { - if (t.address === NATIVE_EVM_TOKEN_ADDRESS) { - balance = await fetchBalance({ - token: t, - userAddress, - rpcUrl: rpcUrlsPerChain[t.chainId] - }); - } else { - balance = await fetchBalance({ - token: t, - userAddress, - rpcUrl: rpcUrlsPerChain[t.chainId] - }); - } - - return balance; + return await fetchBalance({ + token: t, + userAddress, + rpcUrl: rpcUrlsPerChain[t.chainId] + }); } catch (error) { return null; } @@ -199,6 +193,10 @@ async function fetchBalance({ userAddress, rpcUrl }: FetchBalanceParams): Promise { + if (token.address.toLowerCase() === NATIVE_EVM_TOKEN_ADDRESS.toLowerCase()) { + return fetchNativeBalance({ token, userAddress, rpcUrl }); + } + try { const provider = new ethers.providers.JsonRpcProvider(rpcUrl); @@ -228,3 +226,25 @@ async function fetchBalance({ return null; } } + +async function fetchNativeBalance({ + userAddress, + rpcUrl, + token +}: FetchBalanceParams) { + try { + const provider = new ethers.providers.JsonRpcProvider(rpcUrl); + const balance = await provider.getBalance(userAddress); + + return { + address: token.address, + balance: balance.toString(), + decimals: token.decimals, + symbol: token.symbol, + chainId: token.chainId + }; + } catch (error) { + console.error("Error fetching native token balance:", error); + return null; + } +} diff --git a/src/types/index.ts b/src/types/index.ts index 1af8f057..956589a6 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -369,6 +369,7 @@ export type ExecuteRoute = { setGasPrice?: boolean; }; overrides?: OverrideParams; + useBroadcast?: boolean; }; export type Allowance = { diff --git a/yarn.lock b/yarn.lock index 7a9f321d..36b23062 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1003,138 +1003,134 @@ "@noble/hashes" "^1.0.0" protobufjs "^6.8.8" -"@cosmjs/amino@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.31.3.tgz#0f4aa6bd68331c71bd51b187fa64f00eb075db0a" - integrity sha512-36emtUq895sPRX8PTSOnG+lhJDCVyIcE0Tr5ct59sUbgQiI14y43vj/4WAlJ/utSOxy+Zhj9wxcs4AZfu0BHsw== - dependencies: - "@cosmjs/crypto" "^0.31.3" - "@cosmjs/encoding" "^0.31.3" - "@cosmjs/math" "^0.31.3" - "@cosmjs/utils" "^0.31.3" - -"@cosmjs/cosmwasm-stargate@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.31.3.tgz#13066822f111832d57c2c5acc9e697ed389713f8" - integrity sha512-Uv9TmCn3650gdFeZm7SEfUZF3uX3lfJfFhXOk6I2ZLr/FrKximnlb+vwAfZaZnWYvlA7qrKtHIjeRNHvT23zcw== - dependencies: - "@cosmjs/amino" "^0.31.3" - "@cosmjs/crypto" "^0.31.3" - "@cosmjs/encoding" "^0.31.3" - "@cosmjs/math" "^0.31.3" - "@cosmjs/proto-signing" "^0.31.3" - "@cosmjs/stargate" "^0.31.3" - "@cosmjs/tendermint-rpc" "^0.31.3" - "@cosmjs/utils" "^0.31.3" - cosmjs-types "^0.8.0" - long "^4.0.0" +"@cosmjs/amino@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.32.2.tgz#ba3cf255e4e6b1ba67461f1ef7b0b8ad3f895da7" + integrity sha512-lcK5RCVm4OfdAooxKcF2+NwaDVVpghOq6o/A40c2mHXDUzUoRZ33VAHjVJ9Me6vOFxshrw/XEFn1f4KObntjYA== + dependencies: + "@cosmjs/crypto" "^0.32.2" + "@cosmjs/encoding" "^0.32.2" + "@cosmjs/math" "^0.32.2" + "@cosmjs/utils" "^0.32.2" + +"@cosmjs/cosmwasm-stargate@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.32.2.tgz#32aca8b4c2043cd1bc91cf4d0225b268c166e421" + integrity sha512-OwJHzIx2CoJS6AULxOpNR6m+CI0GXxy8z9svHA1ZawzNM3ZGlL0GvHdhmF0WkpX4E7UdrYlJSLpKcgg5Fo6i7Q== + dependencies: + "@cosmjs/amino" "^0.32.2" + "@cosmjs/crypto" "^0.32.2" + "@cosmjs/encoding" "^0.32.2" + "@cosmjs/math" "^0.32.2" + "@cosmjs/proto-signing" "^0.32.2" + "@cosmjs/stargate" "^0.32.2" + "@cosmjs/tendermint-rpc" "^0.32.2" + "@cosmjs/utils" "^0.32.2" + cosmjs-types "^0.9.0" pako "^2.0.2" -"@cosmjs/crypto@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.31.3.tgz#c752cb6d682fdc735dcb45a2519f89c56ba16c26" - integrity sha512-vRbvM9ZKR2017TO73dtJ50KxoGcFzKtKI7C8iO302BQ5p+DuB+AirUg1952UpSoLfv5ki9O416MFANNg8UN/EQ== +"@cosmjs/crypto@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.32.2.tgz#8ed255d3d1c1c4d916a1586f8cbc33eaab82f511" + integrity sha512-RuxrYKzhrPF9g6NmU7VEq++Hn1vZJjqqJpZ9Tmw9lOYOV8BUsv+j/0BE86kmWi7xVJ7EwxiuxYsKuM8IR18CIA== dependencies: - "@cosmjs/encoding" "^0.31.3" - "@cosmjs/math" "^0.31.3" - "@cosmjs/utils" "^0.31.3" + "@cosmjs/encoding" "^0.32.2" + "@cosmjs/math" "^0.32.2" + "@cosmjs/utils" "^0.32.2" "@noble/hashes" "^1" bn.js "^5.2.0" elliptic "^6.5.4" libsodium-wrappers-sumo "^0.7.11" -"@cosmjs/encoding@^0.31.0", "@cosmjs/encoding@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.31.3.tgz#2519d9c9ae48368424971f253775c4580b54c5aa" - integrity sha512-6IRtG0fiVYwyP7n+8e54uTx2pLYijO48V3t9TLiROERm5aUAIzIlz6Wp0NYaI5he9nh1lcEGJ1lkquVKFw3sUg== +"@cosmjs/encoding@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.32.2.tgz#8c5c64481a85cd570740c34dccce69d024a29805" + integrity sha512-WX7m1wLpA9V/zH0zRcz4EmgZdAv1F44g4dbXOgNj1eXZw1PIGR12p58OEkLN51Ha3S4DKRtCv5CkhK1KHEvQtg== dependencies: base64-js "^1.3.0" bech32 "^1.1.4" readonly-date "^1.0.0" -"@cosmjs/json-rpc@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.31.3.tgz#11e5cf0f6d9ab426dff470bb8d68d5d31cd6ab13" - integrity sha512-7LVYerXjnm69qqYR3uA6LGCrBW2EO5/F7lfJxAmY+iII2C7xO3a0vAjMSt5zBBh29PXrJVS6c2qRP22W1Le2Wg== +"@cosmjs/json-rpc@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.32.2.tgz#f87fab0d6975ed1d1c7daafcf6f1f81e5e296912" + integrity sha512-lan2lOgmz4yVE/HR8eCOSiII/1OudIulk8836koyIDCsPEpt6eKBuctnAD168vABGArKccLAo7Mr2gy9nrKrOQ== dependencies: - "@cosmjs/stream" "^0.31.3" + "@cosmjs/stream" "^0.32.2" xstream "^11.14.0" -"@cosmjs/math@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.31.3.tgz#767f7263d12ba1b9ed2f01f68d857597839fd957" - integrity sha512-kZ2C6glA5HDb9hLz1WrftAjqdTBb3fWQsRR+Us2HsjAYdeE6M3VdXMsYCP5M3yiihal1WDwAY2U7HmfJw7Uh4A== +"@cosmjs/math@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.32.2.tgz#4522312769197e132679e4960862bcec0eed4cb8" + integrity sha512-b8+ruAAY8aKtVKWSft2IvtCVCUH1LigIlf9ALIiY8n9jtM4kMASiaRbQ/27etnSAInV88IaezKK9rQZrtxTjcw== dependencies: bn.js "^5.2.0" -"@cosmjs/proto-signing@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.31.3.tgz#20440b7b96fb2cd924256a10e656fd8d4481cdcd" - integrity sha512-24+10/cGl6lLS4VCrGTCJeDRPQTn1K5JfknzXzDIHOx8THR31JxA7/HV5eWGHqWgAbudA7ccdSvEK08lEHHtLA== - dependencies: - "@cosmjs/amino" "^0.31.3" - "@cosmjs/crypto" "^0.31.3" - "@cosmjs/encoding" "^0.31.3" - "@cosmjs/math" "^0.31.3" - "@cosmjs/utils" "^0.31.3" - cosmjs-types "^0.8.0" - long "^4.0.0" +"@cosmjs/proto-signing@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.32.2.tgz#26ed2675978ce24078981f4c15a06c5d6b808f44" + integrity sha512-UV4WwkE3W3G3s7wwU9rizNcUEz2g0W8jQZS5J6/3fiN0mRPwtPKQ6EinPN9ASqcAJ7/VQH4/9EPOw7d6XQGnqw== + dependencies: + "@cosmjs/amino" "^0.32.2" + "@cosmjs/crypto" "^0.32.2" + "@cosmjs/encoding" "^0.32.2" + "@cosmjs/math" "^0.32.2" + "@cosmjs/utils" "^0.32.2" + cosmjs-types "^0.9.0" -"@cosmjs/socket@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.31.3.tgz#52086380f4de2fc3514b90b0484b4b1c4c50e39e" - integrity sha512-aqrDGGi7os/hsz5p++avI4L0ZushJ+ItnzbqA7C6hamFSCJwgOkXaOUs+K9hXZdX4rhY7rXO4PH9IH8q09JkTw== +"@cosmjs/socket@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.32.2.tgz#a66be3863d03bf2d8df0433af476df010ff10e8c" + integrity sha512-Qc8jaw4uSBJm09UwPgkqe3g9TBFx4ZR9HkXpwT6Z9I+6kbLerXPR0Gy3NSJFSUgxIfTpO8O1yqoWAyf0Ay17Mw== dependencies: - "@cosmjs/stream" "^0.31.3" + "@cosmjs/stream" "^0.32.2" isomorphic-ws "^4.0.1" ws "^7" xstream "^11.14.0" -"@cosmjs/stargate@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.31.3.tgz#a2b38e398097a00f897dbd8f02d4d347d8fed818" - integrity sha512-53NxnzmB9FfXpG4KjOUAYAvWLYKdEmZKsutcat/u2BrDXNZ7BN8jim/ENcpwXfs9/Og0K24lEIdvA4gsq3JDQw== +"@cosmjs/stargate@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.32.2.tgz#73718c5c6a3ae138682ee9987333d911eca22a13" + integrity sha512-AsJa29fT7Jd4xt9Ai+HMqhyj7UQu7fyYKdXj/8+/9PD74xe6lZSYhQPcitUmMLJ1ckKPgXSk5Dd2LbsQT0IhZg== dependencies: "@confio/ics23" "^0.6.8" - "@cosmjs/amino" "^0.31.3" - "@cosmjs/encoding" "^0.31.3" - "@cosmjs/math" "^0.31.3" - "@cosmjs/proto-signing" "^0.31.3" - "@cosmjs/stream" "^0.31.3" - "@cosmjs/tendermint-rpc" "^0.31.3" - "@cosmjs/utils" "^0.31.3" - cosmjs-types "^0.8.0" - long "^4.0.0" - protobufjs "~6.11.3" + "@cosmjs/amino" "^0.32.2" + "@cosmjs/encoding" "^0.32.2" + "@cosmjs/math" "^0.32.2" + "@cosmjs/proto-signing" "^0.32.2" + "@cosmjs/stream" "^0.32.2" + "@cosmjs/tendermint-rpc" "^0.32.2" + "@cosmjs/utils" "^0.32.2" + cosmjs-types "^0.9.0" xstream "^11.14.0" -"@cosmjs/stream@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.31.3.tgz#53428fd62487ec08fc3886a50a3feeb8b2af2e66" - integrity sha512-8keYyI7X0RjsLyVcZuBeNjSv5FA4IHwbFKx7H60NHFXszN8/MvXL6aZbNIvxtcIHHsW7K9QSQos26eoEWlAd+w== +"@cosmjs/stream@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.32.2.tgz#b1e8f977d25313d659f1aa89ad21614b5391cd93" + integrity sha512-gpCufLfHAD8Zp1ZKge7AHbDf4RA0TZp66wZY6JaQR5bSiEF2Drjtp4mwXZPGejtaUMnaAgff3LrUzPJfKYdQwg== dependencies: xstream "^11.14.0" -"@cosmjs/tendermint-rpc@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.31.3.tgz#d1a2bc5b3c98743631c9b55888589d352403c9b3" - integrity sha512-s3TiWkPCW4QceTQjpYqn4xttUJH36mTPqplMl+qyocdqk5+X5mergzExU/pHZRWQ4pbby8bnR7kMvG4OC1aZ8g== - dependencies: - "@cosmjs/crypto" "^0.31.3" - "@cosmjs/encoding" "^0.31.3" - "@cosmjs/json-rpc" "^0.31.3" - "@cosmjs/math" "^0.31.3" - "@cosmjs/socket" "^0.31.3" - "@cosmjs/stream" "^0.31.3" - "@cosmjs/utils" "^0.31.3" - axios "^0.21.2" +"@cosmjs/tendermint-rpc@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.32.2.tgz#c5607b8d472e5bf9fd58d5453db7194f500ccc62" + integrity sha512-DXyJHDmcAfCix4H/7/dKR0UMdshP01KxJOXHdHxBCbLIpck94BsWD3B2ZTXwfA6sv98so9wOzhp7qGQa5malxg== + dependencies: + "@cosmjs/crypto" "^0.32.2" + "@cosmjs/encoding" "^0.32.2" + "@cosmjs/json-rpc" "^0.32.2" + "@cosmjs/math" "^0.32.2" + "@cosmjs/socket" "^0.32.2" + "@cosmjs/stream" "^0.32.2" + "@cosmjs/utils" "^0.32.2" + axios "^1.6.0" readonly-date "^1.0.0" xstream "^11.14.0" -"@cosmjs/utils@^0.31.3": - version "0.31.3" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.31.3.tgz#f97bbfda35ad69e80cd5c7fe0a270cbda16db1ed" - integrity sha512-VBhAgzrrYdIe0O5IbKRqwszbQa7ZyQLx9nEQuHQ3HUplQW7P44COG/ye2n6AzCudtqxmwdX7nyX8ta1J07GoqA== +"@cosmjs/utils@^0.32.2": + version "0.32.2" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.32.2.tgz#324304aa85bfa6f10561cc17781d824d02130897" + integrity sha512-Gg5t+eR7vPJMAmhkFt6CZrzPd0EKpAslWwk5rFVYZpJsM8JG5KT9XQ99hgNM3Ov6ScNoIWbXkpX27F6A9cXR4Q== "@cspotcode/source-map-support@^0.8.0": version "0.8.1" @@ -2502,13 +2498,6 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -axios@^0.21.2: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - axios@^0.27.2: version "0.27.2" resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" @@ -2517,6 +2506,15 @@ axios@^0.27.2: follow-redirects "^1.14.9" form-data "^4.0.0" +axios@^1.6.0: + version "1.6.5" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.5.tgz#2c090da14aeeab3770ad30c3a1461bc970fb0cd8" + integrity sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg== + dependencies: + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + babel-jest@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5" @@ -3150,13 +3148,10 @@ cosmiconfig@8.2.0: parse-json "^5.0.0" path-type "^4.0.0" -cosmjs-types@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.8.0.tgz#2ed78f3e990f770229726f95f3ef5bf9e2b6859b" - integrity sha512-Q2Mj95Fl0PYMWEhA2LuGEIhipF7mQwd9gTQ85DdP9jjjopeoGaDxvmPa5nakNzsq7FnO1DMTatXTAx6bxMH7Lg== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" +cosmjs-types@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.9.0.tgz#c3bc482d28c7dfa25d1445093fdb2d9da1f6cfcc" + integrity sha512-MN/yUe6mkJwHnCFfsNPeCfXVhyxHYW6c/xDUzrSbBycYzw++XvWDMJArXp2pLdgD6FQ8DW79vkPjeNKVrXaHeQ== create-require@^1.1.0: version "1.1.1" @@ -3644,10 +3639,10 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -ethereum-multicall@2.21.0: - version "2.21.0" - resolved "https://registry.yarnpkg.com/ethereum-multicall/-/ethereum-multicall-2.21.0.tgz#a0dc5d5e7bbddabd484a75037ecb9b77ad5688ba" - integrity sha512-J234OuvUheTKvZVhMk41SwyB66m+MU+Xe2FFWOln8xu6TXKzOzsjSFQn/f5OTDGEiRStKMnJpCvQDim+Uk+qBQ== +ethereum-multicall@2.23.0: + version "2.23.0" + resolved "https://registry.yarnpkg.com/ethereum-multicall/-/ethereum-multicall-2.23.0.tgz#9f39e80cae6d6d587b5f64d1e78152add32bb5b3" + integrity sha512-KVboRQSXzJ/czaD9UXIuYFKF9YwDsWORGDDRNyOtkBRYg7TUk2RkmqLcu/+uXUemdb3+XRcAU7c8bfdfOGfoiQ== dependencies: "@ethersproject/providers" "^5.0.10" ethers "^5.0.15" @@ -3849,11 +3844,16 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.14.0, follow-redirects@^1.14.9: +follow-redirects@^1.14.9: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== +follow-redirects@^1.15.4: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -6057,7 +6057,7 @@ proto-list@~1.2.1: resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== -protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: +protobufjs@^6.8.8: version "6.11.4" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==