Fix solana icon not showing up on buy with ramp (#13445)
This commit is contained in:
@@ -75,7 +75,7 @@ const std::vector<mojom::BlockchainToken>& GetRampBuyTokens() {
|
||||
{"", "Avalanche", "", false, false, "AVAX", 18, true, "", "",
|
||||
mojom::kAvalancheMainnetChainId, mojom::CoinType::ETH},
|
||||
{"0x82030cdbd9e4b7c5bb0b811a61da6360d69449cc", "RealFevr", "", true,
|
||||
false, "BSC_FEVR", 18, true, "", "",
|
||||
false, "FEVR", 18, true, "", "",
|
||||
mojom::kBinanceSmartChainMainnetChainId, mojom::CoinType::ETH},
|
||||
{"", "Celo", "", false, false, "CELO", 18, true, "", "",
|
||||
mojom::kCeloMainnetChainId, mojom::CoinType::ETH},
|
||||
@@ -91,21 +91,21 @@ const std::vector<mojom::BlockchainToken>& GetRampBuyTokens() {
|
||||
{"", "Polygon", "", false, false, "MATIC", 18, true, "", "",
|
||||
mojom::kPolygonMainnetChainId, mojom::CoinType::ETH},
|
||||
{"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063", "DAI Stablecoin",
|
||||
"dai.png", true, false, "MATIC_DAI", 18, true, "", "",
|
||||
"dai.png", true, false, "DAI", 18, true, "", "",
|
||||
mojom::kPolygonMainnetChainId, mojom::CoinType::ETH},
|
||||
{"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", "Ethereum", "eth.png",
|
||||
true, false, "MATIC_ETH", 18, true, "", "",
|
||||
mojom::kPolygonMainnetChainId, mojom::CoinType::ETH},
|
||||
true, false, "ETH", 18, true, "", "", mojom::kPolygonMainnetChainId,
|
||||
mojom::CoinType::ETH},
|
||||
{"0xbbba073c31bf03b8acf7c28ef0738decf3695683", "Sandbox", "sand.png",
|
||||
true, false, "MATIC_SAND", 18, true, "", "",
|
||||
mojom::kPolygonMainnetChainId, mojom::CoinType::ETH},
|
||||
true, false, "SAND", 18, true, "", "", mojom::kPolygonMainnetChainId,
|
||||
mojom::CoinType::ETH},
|
||||
{"0x2791bca1f2de4661ed88a30c99a7a9449aa84174", "USD Coin", "usdc.png",
|
||||
true, false, "MATIC_USDC", 6, true, "", "",
|
||||
mojom::kPolygonMainnetChainId, mojom::CoinType::ETH},
|
||||
{"", "Solana", "", false, false, "SOLANA_SOL", 9, true, "", "",
|
||||
true, false, "USDC", 6, true, "", "", mojom::kPolygonMainnetChainId,
|
||||
mojom::CoinType::ETH},
|
||||
{"", "Solana", "", false, false, "SOL", 9, true, "", "",
|
||||
mojom::kSolanaMainnet, mojom::CoinType::SOL},
|
||||
{"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", "Tether", "usdt.png",
|
||||
false, false, "SOLANA_USDT", 6, true, "", "", mojom::kSolanaMainnet,
|
||||
false, false, "USDT", 6, true, "", "", mojom::kSolanaMainnet,
|
||||
mojom::CoinType::SOL},
|
||||
{"0xdac17f958d2ee523a2206206994597c13d831ec7", "Tether", "usdt.png",
|
||||
true, false, "USDT", 6, true, "", "", mojom::kMainnetChainId,
|
||||
@@ -114,8 +114,8 @@ const std::vector<mojom::BlockchainToken>& GetRampBuyTokens() {
|
||||
true, false, "USDC", 6, true, "", "", mojom::kMainnetChainId,
|
||||
mojom::CoinType::ETH},
|
||||
{"0x0d8775f648430679a709e98d2b0cb6250d2887ef", "Basic Attention Token",
|
||||
"bat.png", true, false, "ETH_BAT", 18, true, "", "",
|
||||
mojom::kMainnetChainId, mojom::CoinType::ETH}});
|
||||
"bat.png", true, false, "BAT", 18, true, "", "", mojom::kMainnetChainId,
|
||||
mojom::CoinType::ETH}});
|
||||
return *tokens;
|
||||
}
|
||||
|
||||
|
||||
@@ -40,6 +40,9 @@ import { Skeleton } from '../components/shared/loading-skeleton/styles'
|
||||
import { useAssets, useLib } from '../common/hooks'
|
||||
import ProtectedRoute from '../components/shared/protected-routing/protected-route'
|
||||
|
||||
// Utils
|
||||
import { getRampAssetSymbol } from '../utils/asset-utils'
|
||||
|
||||
export const Container = () => {
|
||||
// routing
|
||||
let history = useHistory()
|
||||
@@ -123,8 +126,9 @@ export const Container = () => {
|
||||
}, [hasIncorrectPassword])
|
||||
|
||||
const onSubmitBuy = React.useCallback((asset: BraveWallet.BlockchainToken) => {
|
||||
const buyAsset = selectedBuyOption === BraveWallet.OnRampProvider.kRamp ? { ...asset, symbol: getRampAssetSymbol(asset) } : asset
|
||||
getBuyAssetUrl({
|
||||
asset,
|
||||
asset: buyAsset,
|
||||
onRampProvider: selectedBuyOption,
|
||||
chainId: selectedNetwork.chainId,
|
||||
address: selectedAccount.address,
|
||||
|
||||
@@ -66,7 +66,7 @@ import LockPanel from '../components/extension/lock-panel'
|
||||
import { getNetworkInfo } from '../utils/network-utils'
|
||||
import { isHardwareAccount } from '../utils/address-utils'
|
||||
import { useAssets, useSwap, useSend, useHasAccount, usePrevNetwork } from '../common/hooks'
|
||||
import { getUniqueAssets } from '../utils/asset-utils'
|
||||
import { getRampAssetSymbol, getUniqueAssets } from '../utils/asset-utils'
|
||||
import { getBuyAssetUrl } from '../common/async/lib'
|
||||
|
||||
type Props = {
|
||||
@@ -187,8 +187,11 @@ function Container (props: Props) {
|
||||
}
|
||||
|
||||
const onSubmitBuy = () => {
|
||||
const asset = selectedBuyOption === BraveWallet.OnRampProvider.kRamp
|
||||
? { ...selectedBuyAsset, symbol: getRampAssetSymbol(selectedBuyAsset) }
|
||||
: selectedBuyAsset
|
||||
getBuyAssetUrl({
|
||||
asset: selectedBuyAsset,
|
||||
asset,
|
||||
onRampProvider: selectedBuyOption,
|
||||
chainId: selectedNetwork.chainId,
|
||||
address: selectedAccount.address,
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
import * as BraveWallet from 'gen/brave/components/brave_wallet/common/brave_wallet.mojom.m.js'
|
||||
import { getRampNetworkPrefix } from './string-utils'
|
||||
|
||||
export const getUniqueAssets = (assets: BraveWallet.BlockchainToken[]) => {
|
||||
return assets.filter((asset, index) => {
|
||||
@@ -20,3 +21,13 @@ export const isSelectedAssetInAssetOptions = (selectedAsset: BraveWallet.Blockch
|
||||
asset.symbol.toLowerCase() === selectedAsset.symbol.toLowerCase()
|
||||
}) !== -1
|
||||
}
|
||||
|
||||
export const getRampAssetSymbol = (asset: BraveWallet.BlockchainToken) => {
|
||||
if (asset.symbol.toUpperCase() === 'BAT') {
|
||||
// BAT is the only token on Ethereum Mainnet with a prefix on Ramp.Network
|
||||
return 'ETH_BAT'
|
||||
}
|
||||
|
||||
const rampNetworkPrefix = getRampNetworkPrefix(asset.chainId)
|
||||
return rampNetworkPrefix !== '' ? `${rampNetworkPrefix}_${asset.symbol.toUpperCase()}` : asset.symbol
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { BraveWallet } from '../constants/types'
|
||||
|
||||
export const stripERC20TokenImageURL = (url?: string) =>
|
||||
url?.replace('chrome://erc-token-images/', '')
|
||||
|
||||
@@ -10,3 +12,20 @@ export const isRemoteImageURL = (url?: string) =>
|
||||
|
||||
export const isValidIconExtension = (url?: string) =>
|
||||
url?.endsWith('.jpg') || url?.endsWith('.jpeg') || url?.endsWith('.png') || url?.endsWith('.svg')
|
||||
|
||||
export const getRampNetworkPrefix = (chainId: string) => {
|
||||
switch (chainId) {
|
||||
case BraveWallet.MAINNET_CHAIN_ID:
|
||||
case BraveWallet.AVALANCHE_MAINNET_CHAIN_ID:
|
||||
case BraveWallet.CELO_MAINNET_CHAIN_ID:
|
||||
return ''
|
||||
case BraveWallet.BINANCE_SMART_CHAIN_MAINNET_CHAIN_ID:
|
||||
return 'BSC'
|
||||
case BraveWallet.POLYGON_MAINNET_CHAIN_ID:
|
||||
return 'MATIC'
|
||||
case BraveWallet.SOLANA_MAINNET:
|
||||
return 'SOLANA'
|
||||
default:
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user