@b3dotfun/anyspend-sdk
Version:
React Hooks and UI Components for AnySpend by B3
73 lines (66 loc) • 1.75 kB
text/typescript
import { Token } from "@b3dotfun/anyspend-sdk/types";
import { avalanche, bsc, polygon } from "viem/chains";
import { RELAY_ETH_ADDRESS, RELAY_SOL_ADDRESS, RELAY_SOLANA_MAINNET_CHAIN_ID } from "../constants";
export function isNativeToken(address: string): boolean {
return address.toLowerCase() === RELAY_ETH_ADDRESS || address.toLowerCase() === RELAY_SOL_ADDRESS;
}
export function getSolanaToken(): Token {
return {
chainId: RELAY_SOLANA_MAINNET_CHAIN_ID,
address: RELAY_SOL_ADDRESS,
symbol: "SOL",
name: "Solana",
decimals: 9,
metadata: {
logoURI: "https://assets.relay.link/icons/square/792703809/light.png"
}
};
}
export function getEthToken(chainId: number): Token {
return {
chainId: chainId,
address: RELAY_ETH_ADDRESS,
symbol: "ETH",
name: "Ethereum",
decimals: 18,
metadata: {
logoURI: "https://assets.relay.link/icons/square/1/light.png"
}
};
}
export function getPolToken(): Token {
return {
chainId: polygon.id,
address: RELAY_ETH_ADDRESS,
symbol: "POL",
name: "Polygon",
decimals: 18,
metadata: {
logoURI: "https://s2.coinmarketcap.com/static/img/coins/64x64/28321.png"
}
};
}
export function getBnbToken(): Token {
return {
chainId: bsc.id,
address: RELAY_ETH_ADDRESS,
symbol: "BNB",
name: "BNB",
decimals: 18,
metadata: {
logoURI: "https://s2.coinmarketcap.com/static/img/coins/64x64/1839.png"
}
};
}
export function getAvaxToken(): Token {
return {
chainId: avalanche.id,
address: RELAY_ETH_ADDRESS,
symbol: "AVAX",
name: "AVAX",
decimals: 18,
metadata: {
logoURI: "https://s2.coinmarketcap.com/static/img/coins/64x64/5805.png"
}
};
}