diff --git a/Gemfile.lock b/Gemfile.lock index e9c4de67225..5fa8dfe3434 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -75,21 +75,21 @@ GEM netrc (0.11.0) nkf (0.2.0) public_suffix (4.0.7) - rexml (3.2.8) - strscan (>= 3.0.9) + rexml (3.3.3) + strscan ruby-macho (2.5.1) strscan (3.1.0) typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - xcodeproj (1.24.0) + xcodeproj (1.25.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) nanaimo (~> 0.3.0) - rexml (~> 3.2.4) + rexml (>= 3.3.2, < 4.0) PLATFORMS arm64-darwin-22 diff --git a/app/components/UI/Ramp/Views/NetworkSwitcher/NetworkSwitcher.test.tsx b/app/components/UI/Ramp/Views/NetworkSwitcher/NetworkSwitcher.test.tsx index eb7b62c9c1b..2661eb59f3c 100644 --- a/app/components/UI/Ramp/Views/NetworkSwitcher/NetworkSwitcher.test.tsx +++ b/app/components/UI/Ramp/Views/NetworkSwitcher/NetworkSwitcher.test.tsx @@ -15,35 +15,35 @@ import { RampType } from '../../../../../reducers/fiatOrders/types'; const mockedRampNetworksValues: AggregatorNetwork[] = [ { active: true, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', nativeTokenSupported: true, shortName: 'Ethereum', }, { active: true, - chainId: 59144, + chainId: '59144', chainName: 'Linea Mainnet', nativeTokenSupported: true, shortName: 'Linea', }, { active: true, - chainId: 25, + chainId: '25', chainName: 'Cronos Mainnet', nativeTokenSupported: true, shortName: 'Cronos', }, { active: true, - chainId: 137, + chainId: '137', chainName: 'Polygon Mainnet', nativeTokenSupported: true, shortName: 'Polygon', }, { active: false, - chainId: 56, + chainId: '56', chainName: 'BNB Smart Chain', nativeTokenSupported: false, shortName: 'BNB Smart Chain', @@ -66,7 +66,7 @@ const mockedNetworksDetails = [ }, ]; -function render(Component: React.ComponentType, chainId?: string) { +function render(Component: React.ComponentType, chainId?: `0x${string}`) { return renderScreen( Component, { diff --git a/app/components/UI/Ramp/Views/NetworkSwitcher/NetworkSwitcher.tsx b/app/components/UI/Ramp/Views/NetworkSwitcher/NetworkSwitcher.tsx index fe22846ce53..38bc6173f50 100644 --- a/app/components/UI/Ramp/Views/NetworkSwitcher/NetworkSwitcher.tsx +++ b/app/components/UI/Ramp/Views/NetworkSwitcher/NetworkSwitcher.tsx @@ -63,7 +63,7 @@ function NetworkSwitcher() { const error = errorFetchingNetworks || errorFetchingNetworksDetail; const rampNetworksDetails = useMemo(() => { const activeNetworkDetails: Network[] = []; - // TODO(ramp, chainId-string): filter supportedNetworks by EVM compatible chains (chainId are strings of decimal numbers) + // TODO(ramp, btc): filter supportedNetworks by EVM compatible chains (chainId are strings of decimal numbers) supportedNetworks.forEach(({ chainId: supportedChainId, active }) => { let rampSupportedNetworkChainIdAsHex: `0x${string}`; try { diff --git a/app/components/UI/Ramp/Views/Quotes/Quotes.constants.ts b/app/components/UI/Ramp/Views/Quotes/Quotes.constants.ts index 74fc3947ce4..6f9b1429cda 100644 --- a/app/components/UI/Ramp/Views/Quotes/Quotes.constants.ts +++ b/app/components/UI/Ramp/Views/Quotes/Quotes.constants.ts @@ -52,7 +52,7 @@ export const mockQuotesData = [ idv2: '/currencies/crypto/1/0x0000000000000000000000000000000000000000', network: { active: true, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', shortName: 'Ethereum', }, @@ -89,7 +89,7 @@ export const mockQuotesData = [ idv2: '/currencies/crypto/1/0x0000000000000000000000000000000000000000', network: { active: true, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', shortName: 'Ethereum', }, @@ -172,7 +172,7 @@ export const mockQuotesData = [ idv2: '/currencies/crypto/1/0x0000000000000000000000000000000000000000', network: { active: true, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', shortName: 'Ethereum', }, diff --git a/app/components/UI/Ramp/Views/Quotes/Quotes.test.tsx b/app/components/UI/Ramp/Views/Quotes/Quotes.test.tsx index 1677bbdfd86..22c84f9f7ad 100644 --- a/app/components/UI/Ramp/Views/Quotes/Quotes.test.tsx +++ b/app/components/UI/Ramp/Views/Quotes/Quotes.test.tsx @@ -339,6 +339,7 @@ describe('Quotes', () => { [ "ONRAMP_PROVIDER_SELECTED", { + "amount": 50, "chain_id_destination": "1", "crypto_out": 0.0162, "currency_destination": "ETH", @@ -368,6 +369,7 @@ describe('Quotes', () => { [ "OFFRAMP_PROVIDER_SELECTED", { + "amount": 50, "chain_id_source": "1", "currency_destination": "USD", "currency_source": "ETH", @@ -402,6 +404,7 @@ describe('Quotes', () => { [ "ONRAMP_PROVIDER_SELECTED", { + "amount": 50, "chain_id_destination": "1", "crypto_out": 0.0162, "currency_destination": "ETH", @@ -431,6 +434,7 @@ describe('Quotes', () => { [ "OFFRAMP_PROVIDER_SELECTED", { + "amount": 50, "chain_id_source": "1", "currency_destination": "USD", "currency_source": "ETH", @@ -547,6 +551,12 @@ describe('Quotes', () => { "Banxa (Staging)", "MoonPay (Staging)", ], + "quotes_amount_first": 0.017142, + "quotes_amount_last": 0.0162, + "quotes_amount_list": [ + 0.017142, + 0.0162, + ], "refresh_count": 1, "results_count": 2, }, @@ -600,6 +610,12 @@ describe('Quotes', () => { "Banxa (Staging)", "MoonPay (Staging)", ], + "quotes_amount_first": 0.017142, + "quotes_amount_last": 0.0162, + "quotes_amount_list": [ + 0.017142, + 0.0162, + ], "refresh_count": 1, "results_count": 2, }, diff --git a/app/components/UI/Ramp/Views/Quotes/Quotes.tsx b/app/components/UI/Ramp/Views/Quotes/Quotes.tsx index acfb4dcdb7a..f2aaf543b58 100644 --- a/app/components/UI/Ramp/Views/Quotes/Quotes.tsx +++ b/app/components/UI/Ramp/Views/Quotes/Quotes.tsx @@ -324,6 +324,7 @@ function Quotes() { processing_fee: quote.providerFee ?? 0, exchange_rate: ((quote.amountIn ?? 0) - totalFee) / (quote.amountOut ?? 0), + amount: params.amount, }; if (isBuy) { @@ -500,6 +501,22 @@ function Quotes() { }, ); + const averageOut = totals.amountOut / quotesWithoutError.length; + const providerList = quotesWithoutError.map( + ({ provider }) => provider.name, + ); + const providerFirst = quotesWithoutError[0]?.provider?.name; + const providerLast = + quotesWithoutError.length > 1 + ? quotesWithoutError[quotesWithoutError.length - 1]?.provider?.name + : undefined; + const amountList = quotesWithoutError.map(({ amountOut }) => amountOut); + const amountFirst = quotesWithoutError[0]?.amountOut; + const amountLast = + quotesWithoutError.length > 1 + ? quotesWithoutError[quotesWithoutError.length - 1]?.amountOut + : undefined; + const payload = { amount: params.amount, payment_method_id: selectedPaymentMethodId as string, @@ -511,18 +528,11 @@ function Quotes() { totals.totalProcessingFee / quotesWithoutError.length, average_total_fee_of_amount: totals.feeAmountRatio / quotesWithoutError.length, + quotes_amount_list: amountList as number[], + quotes_amount_first: amountFirst as number, + quotes_amount_last: amountLast as number, }; - const averageOut = totals.amountOut / quotesWithoutError.length; - const providerList = quotesWithoutError.map( - ({ provider }) => provider.name, - ); - const providerFirst = quotesWithoutError[0]?.provider?.name; - const providerLast = - quotesWithoutError.length > 1 - ? quotesWithoutError[quotesWithoutError.length - 1]?.provider?.name - : undefined; - if (isBuy) { trackEvent('ONRAMP_QUOTES_RECEIVED', { ...payload, diff --git a/app/components/UI/Ramp/hooks/useCryptoCurrencies.ts b/app/components/UI/Ramp/hooks/useCryptoCurrencies.ts index e7cd2946642..424e667c42f 100644 --- a/app/components/UI/Ramp/hooks/useCryptoCurrencies.ts +++ b/app/components/UI/Ramp/hooks/useCryptoCurrencies.ts @@ -36,8 +36,7 @@ export default function useCryptoCurrencies() { sdkCryptoCurrencies ) { const filteredTokens = sdkCryptoCurrencies.filter( - // TODO(ramp, chainId-string): remove once chainId is a string - (token) => `${token.network?.chainId}` === selectedChainId, + (token) => token.network?.chainId === selectedChainId, ); return filteredTokens; } diff --git a/app/components/UI/Ramp/hooks/useHandleSuccessfulOrder.ts b/app/components/UI/Ramp/hooks/useHandleSuccessfulOrder.ts index eceb453a5cb..30f05b399d5 100644 --- a/app/components/UI/Ramp/hooks/useHandleSuccessfulOrder.ts +++ b/app/components/UI/Ramp/hooks/useHandleSuccessfulOrder.ts @@ -33,8 +33,7 @@ function useHandleSuccessfulOrder() { if (!token) return; const { address, symbol, decimals, network, name } = token; - // TODO(ramp, chainId-string): remove once chainId is a string - const chainId = `${network?.chainId}`; + const chainId = network?.chainId; if (chainId !== selectedChainId || address === NATIVE_ADDRESS) { return; @@ -43,10 +42,8 @@ function useHandleSuccessfulOrder() { const { TokensController } = Engine.context; if ( - // TODO: Replace "any" with type - // eslint-disable-next-line @typescript-eslint/no-explicit-any - !TokensController.state.tokens.includes((t: any) => - toLowerCaseEquals(t.address, address), + !TokensController.state.tokens.find((stateToken) => + toLowerCaseEquals(stateToken.address, address), ) ) { await TokensController.addToken({ address, symbol, decimals, name }); diff --git a/app/components/UI/Ramp/hooks/usePaymentMethods.ts b/app/components/UI/Ramp/hooks/usePaymentMethods.ts index 08cb3d52270..56f9805f02c 100644 --- a/app/components/UI/Ramp/hooks/usePaymentMethods.ts +++ b/app/components/UI/Ramp/hooks/usePaymentMethods.ts @@ -42,8 +42,7 @@ function usePaymentMethods() { if ( cryptoCurrencies?.some( (cryptoCurrency) => - // TODO(ramp, chainId-string): remove once chainId is a string - `${cryptoCurrency.network.chainId}` === selectedChainId, + cryptoCurrency.network.chainId === selectedChainId, ) ) { allowed.push(method.id); diff --git a/app/components/UI/Ramp/orderProcessor/aggregator.test.ts b/app/components/UI/Ramp/orderProcessor/aggregator.test.ts index ac7de1b683a..bb6ac791ded 100644 --- a/app/components/UI/Ramp/orderProcessor/aggregator.test.ts +++ b/app/components/UI/Ramp/orderProcessor/aggregator.test.ts @@ -227,7 +227,7 @@ describe('aggregatorOrderToFiatOrder', () => { fiatAmount: 123, cryptoCurrency: { network: { - chainId: 1, + chainId: '1', }, }, status: 'COMPLETED', diff --git a/app/components/UI/Ramp/orderProcessor/aggregator.ts b/app/components/UI/Ramp/orderProcessor/aggregator.ts index 5870e7a0639..3be56f3614e 100644 --- a/app/components/UI/Ramp/orderProcessor/aggregator.ts +++ b/app/components/UI/Ramp/orderProcessor/aggregator.ts @@ -54,9 +54,7 @@ export const aggregatorOrderToFiatOrder = (aggregatorOrder: Order) => ({ currencySymbol: aggregatorOrder.fiatCurrency?.denomSymbol || '', cryptocurrency: aggregatorOrder.cryptoCurrency?.symbol || '', network: - aggregatorOrder.network || - // TODO(ramp, chainId-string): remove once chainId is a string - `${aggregatorOrder.cryptoCurrency?.network?.chainId}`, + aggregatorOrder.network || aggregatorOrder.cryptoCurrency?.network?.chainId, state: aggregatorOrderStateToFiatOrderState(aggregatorOrder.status), account: aggregatorOrder.walletAddress, txHash: aggregatorOrder.txHash, diff --git a/app/components/UI/Ramp/types/analytics.ts b/app/components/UI/Ramp/types/analytics.ts index f7eb4bba4f2..a2810da42c6 100644 --- a/app/components/UI/Ramp/types/analytics.ts +++ b/app/components/UI/Ramp/types/analytics.ts @@ -92,6 +92,9 @@ interface RampQuotesReceived { average_gas_fee: number; average_processing_fee: number; average_total_fee_of_amount: number; + quotes_amount_list: number[]; + quotes_amount_first: number; + quotes_amount_last?: number; } interface OnRampQuotesReceived extends RampQuotesReceived { @@ -120,6 +123,7 @@ interface RampProviderSelected { gas_fee: number; processing_fee: number; exchange_rate: number; + amount: number | string; } interface OnRampProviderSelected extends RampProviderSelected { diff --git a/app/components/UI/Ramp/utils/index.test.ts b/app/components/UI/Ramp/utils/index.test.ts index 7eeafdedb63..28b66068dfd 100644 --- a/app/components/UI/Ramp/utils/index.test.ts +++ b/app/components/UI/Ramp/utils/index.test.ts @@ -103,20 +103,7 @@ describe('formatId', () => { }); describe('isNetworkBuySupported', () => { - // TODO(ramp, chainId-string): remove tests with chainId as number once it's a string it('should return true if network is supported', () => { - expect( - isNetworkRampSupported('1', [ - { - active: true, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(true); - expect( isNetworkRampSupported('1', [ { @@ -131,17 +118,6 @@ describe('isNetworkBuySupported', () => { }); it('should return false if network is not supported', () => { - expect( - isNetworkRampSupported('1', [ - { - active: false, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(false); expect( isNetworkRampSupported('1', [ { @@ -156,17 +132,6 @@ describe('isNetworkBuySupported', () => { }); it('should return false if network is not found', () => { - expect( - isNetworkRampSupported('22', [ - { - active: true, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(false); expect( isNetworkRampSupported('22', [ { @@ -181,17 +146,6 @@ describe('isNetworkBuySupported', () => { }); it('should return true if network is supported when chainId is on hexadecimal format', () => { - expect( - isNetworkRampSupported('0x1', [ - { - active: true, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(true); expect( isNetworkRampSupported('0x1', [ { @@ -210,17 +164,20 @@ describe('isNetworkBuySupported', () => { isNetworkRampSupported('0x1', [ { active: false, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', nativeTokenSupported: true, shortName: 'Ethereum', - }, + } as unknown as AggregatorNetwork, ]), ).toBe(false); + }); + + it('should return false if network is not found when chainId is on hexadecimal format', () => { expect( - isNetworkRampSupported('0x1', [ + isNetworkRampSupported('0x22', [ { - active: false, + active: true, chainId: '1', chainName: 'Ethereum Mainnet', nativeTokenSupported: true, @@ -230,20 +187,21 @@ describe('isNetworkBuySupported', () => { ).toBe(false); }); - it('should return false if network is not found when chainId is on hexadecimal format', () => { + it('should return false if network is the wrong format', () => { expect( - isNetworkRampSupported('0x22', [ + // @ts-expect-error Testing invalid input + isNetworkRampSupported(1, [ { active: true, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', nativeTokenSupported: true, shortName: 'Ethereum', - }, + } as unknown as AggregatorNetwork, ]), ).toBe(false); expect( - isNetworkRampSupported('0x22', [ + isNetworkRampSupported('mainnet', [ { active: true, chainId: '1', @@ -257,19 +215,7 @@ describe('isNetworkBuySupported', () => { }); describe('isNetworkBuyNativeTokenSupported', () => { - // TODO(ramp, chainId-string): remove tests with chainId as number once it's a string it('should return true if network is supported and native token is supported', () => { - expect( - isNetworkRampNativeTokenSupported('1', [ - { - active: true, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(true); expect( isNetworkRampNativeTokenSupported('1', [ { @@ -284,17 +230,6 @@ describe('isNetworkBuyNativeTokenSupported', () => { }); it('should return false if network is not supported', () => { - expect( - isNetworkRampNativeTokenSupported('1', [ - { - active: false, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(false); expect( isNetworkRampNativeTokenSupported('1', [ { @@ -309,17 +244,6 @@ describe('isNetworkBuyNativeTokenSupported', () => { }); it('should return false if network is not found', () => { - expect( - isNetworkRampNativeTokenSupported('22', [ - { - active: true, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(false); expect( isNetworkRampNativeTokenSupported('22', [ { @@ -334,17 +258,6 @@ describe('isNetworkBuyNativeTokenSupported', () => { }); it('should return false if network is supported but native token is not supported', () => { - expect( - isNetworkRampNativeTokenSupported('1', [ - { - active: true, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: false, - shortName: 'Ethereum', - }, - ]), - ).toBe(false); expect( isNetworkRampNativeTokenSupported('1', [ { @@ -359,17 +272,6 @@ describe('isNetworkBuyNativeTokenSupported', () => { }); it('should return true if network is supported and native token is supported when chainId is on hexadecimal format', () => { - expect( - isNetworkRampNativeTokenSupported('0x1', [ - { - active: true, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(true); expect( isNetworkRampNativeTokenSupported('0x1', [ { @@ -384,17 +286,6 @@ describe('isNetworkBuyNativeTokenSupported', () => { }); it('should return false if network is not supported when chainId is on hexadecimal format', () => { - expect( - isNetworkRampNativeTokenSupported('0x1', [ - { - active: false, - chainId: 1, - chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, - shortName: 'Ethereum', - }, - ]), - ).toBe(false); expect( isNetworkRampNativeTokenSupported('0x1', [ { @@ -413,40 +304,44 @@ describe('isNetworkBuyNativeTokenSupported', () => { isNetworkRampNativeTokenSupported('0x22', [ { active: true, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', nativeTokenSupported: true, shortName: 'Ethereum', - }, + } as unknown as AggregatorNetwork, ]), ).toBe(false); + }); + + it('should return false if network is supported but native token is not supported when chainId is on hexadecimal format', () => { expect( - isNetworkRampNativeTokenSupported('0x22', [ + isNetworkRampNativeTokenSupported('0x1', [ { active: true, chainId: '1', chainName: 'Ethereum Mainnet', - nativeTokenSupported: true, + nativeTokenSupported: false, shortName: 'Ethereum', } as unknown as AggregatorNetwork, ]), ).toBe(false); }); - it('should return false if network is supported but native token is not supported when chainId is on hexadecimal format', () => { + it('should return false if network is in the wrong format', () => { expect( - isNetworkRampNativeTokenSupported('0x1', [ + // @ts-expect-error Testing invalid input + isNetworkRampNativeTokenSupported(1, [ { active: true, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', nativeTokenSupported: false, shortName: 'Ethereum', - }, + } as unknown as AggregatorNetwork, ]), ).toBe(false); expect( - isNetworkRampNativeTokenSupported('0x1', [ + isNetworkRampNativeTokenSupported('mainnet', [ { active: true, chainId: '1', diff --git a/app/components/UI/Ramp/utils/index.ts b/app/components/UI/Ramp/utils/index.ts index cf111bcd963..d4ad8409ae9 100644 --- a/app/components/UI/Ramp/utils/index.ts +++ b/app/components/UI/Ramp/utils/index.ts @@ -129,10 +129,8 @@ export function isNetworkRampSupported( networks: AggregatorNetwork[], ) { return ( - networks?.find( - // TODO(ramp, chainId-string): remove once chainId is a string - (network) => `${network.chainId}` === getDecimalChainId(chainId), - )?.active ?? false + networks?.find((network) => network.chainId === getDecimalChainId(chainId)) + ?.active ?? false ); } @@ -141,8 +139,7 @@ export function isNetworkRampNativeTokenSupported( networks: AggregatorNetwork[], ) { const network = networks?.find( - // TODO(ramp, chainId-string): remove once chainId is a string - (_network) => `${_network.chainId}` === getDecimalChainId(chainId), + (_network) => _network.chainId === getDecimalChainId(chainId), ); return (network?.active && network.nativeTokenSupported) ?? false; } diff --git a/app/components/Views/WalletActions/WalletActions.test.tsx b/app/components/Views/WalletActions/WalletActions.test.tsx index 80751b04c04..c44431707d5 100644 --- a/app/components/Views/WalletActions/WalletActions.test.tsx +++ b/app/components/Views/WalletActions/WalletActions.test.tsx @@ -16,7 +16,7 @@ const mockInitialState = { networks: [ { active: true, - chainId: 1, + chainId: '1', chainName: 'Ethereum Mainnet', nativeTokenSupported: true, }, diff --git a/package.json b/package.json index 66ec1db1741..cda46dba20e 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "socket.io-client/engine.io-client/ws": "^8.17.1" }, "dependencies": { - "@consensys/on-ramp-sdk": "1.28.1", + "@consensys/on-ramp-sdk": "1.28.3", "@eth-optimism/contracts": "0.0.0-2021919175625", "@ethereumjs/tx": "^3.2.1", "@ethersproject/abi": "^5.7.0", diff --git a/yarn.lock b/yarn.lock index 174a9c7a29a..c9a3b88000c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1322,10 +1322,10 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.6.0.tgz#ec6cd237440700bc23ca23087f513c75508958b0" integrity sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== -"@consensys/on-ramp-sdk@1.28.1": - version "1.28.1" - resolved "https://registry.yarnpkg.com/@consensys/on-ramp-sdk/-/on-ramp-sdk-1.28.1.tgz#bcc5c06a20256b471d3943bfe02819edb9cd7212" - integrity sha512-C+uNWr9K/ogDw/+Px8p9Dqdk18hYYCE5uMsIIkzNAiFPJFPMCtO1iRFMpSk+6hFJEYaj3mSL9dqnM9hQKFJcVw== +"@consensys/on-ramp-sdk@1.28.3": + version "1.28.3" + resolved "https://registry.yarnpkg.com/@consensys/on-ramp-sdk/-/on-ramp-sdk-1.28.3.tgz#5c7c9293f6ee83e1a681a6a76f982e801d3e75ec" + integrity sha512-QwWBFFqP3NMOhcJmcfmFd6fpEU3iXI/tYdWXM8u679/mY1/2rnRKUc3RnuWGFgs3qESZ5sUG2Xc7cp5OrmnDgA== dependencies: async "^3.2.3" axios "^0.28.0"