|
|
@@ -7,6 +7,7 @@ import {
|
|
|
CHAIN_ID_POLYGON,
|
|
|
CHAIN_ID_SOLANA,
|
|
|
CHAIN_ID_TERRA,
|
|
|
+ CHAIN_ID_OASIS,
|
|
|
isEVMChain,
|
|
|
} from "@certusone/wormhole-sdk";
|
|
|
import { clusterApiUrl } from "@solana/web3.js";
|
|
|
@@ -39,6 +40,11 @@ export const CHAINS =
|
|
|
name: "Avalanche",
|
|
|
logo: avaxIcon,
|
|
|
},
|
|
|
+ {
|
|
|
+ id: CHAIN_ID_OASIS,
|
|
|
+ name: "Oasis",
|
|
|
+ logo: oasisIcon,
|
|
|
+ },
|
|
|
{
|
|
|
id: CHAIN_ID_BSC,
|
|
|
name: "Binance Smart Chain",
|
|
|
@@ -72,6 +78,11 @@ export const CHAINS =
|
|
|
name: "Avalanche",
|
|
|
logo: avaxIcon,
|
|
|
},
|
|
|
+ {
|
|
|
+ id: CHAIN_ID_OASIS,
|
|
|
+ name: "Oasis",
|
|
|
+ logo: oasisIcon,
|
|
|
+ },
|
|
|
{
|
|
|
id: CHAIN_ID_BSC,
|
|
|
name: "Binance Smart Chain",
|
|
|
@@ -126,7 +137,7 @@ export const CHAINS =
|
|
|
},
|
|
|
];
|
|
|
export const BETA_CHAINS: ChainId[] =
|
|
|
- CLUSTER === "mainnet" ? [CHAIN_ID_AVAX] : [];
|
|
|
+ CLUSTER === "mainnet" ? [CHAIN_ID_AVAX, CHAIN_ID_OASIS] : [];
|
|
|
export const CHAINS_WITH_NFT_SUPPORT = CHAINS.filter(
|
|
|
({ id }) =>
|
|
|
id === CHAIN_ID_AVAX ||
|
|
|
@@ -134,6 +145,7 @@ export const CHAINS_WITH_NFT_SUPPORT = CHAINS.filter(
|
|
|
id === CHAIN_ID_ETH ||
|
|
|
id === CHAIN_ID_ETHEREUM_ROPSTEN ||
|
|
|
id === CHAIN_ID_POLYGON ||
|
|
|
+ id === CHAIN_ID_OASIS ||
|
|
|
id === CHAIN_ID_SOLANA
|
|
|
);
|
|
|
export type ChainsById = { [key in ChainId]: ChainInfo };
|
|
|
@@ -144,12 +156,12 @@ export const CHAINS_BY_ID: ChainsById = CHAINS.reduce((obj, chain) => {
|
|
|
|
|
|
export const COMING_SOON_CHAINS = [
|
|
|
{
|
|
|
- id: 0,
|
|
|
+ id: CHAIN_ID_OASIS,
|
|
|
name: "Oasis",
|
|
|
logo: oasisIcon,
|
|
|
},
|
|
|
{
|
|
|
- id: 0,
|
|
|
+ id: CHAIN_ID_AVAX,
|
|
|
name: "Avalanche",
|
|
|
logo: avaxIcon,
|
|
|
},
|
|
|
@@ -167,6 +179,8 @@ export const getDefaultNativeCurrencySymbol = (chainId: ChainId) =>
|
|
|
? "MATIC"
|
|
|
: chainId === CHAIN_ID_AVAX
|
|
|
? "AVAX"
|
|
|
+ : chainId === CHAIN_ID_OASIS
|
|
|
+ ? "ROSE"
|
|
|
: "";
|
|
|
export const getExplorerName = (chainId: ChainId) =>
|
|
|
chainId === CHAIN_ID_ETH || chainId === CHAIN_ID_ETHEREUM_ROPSTEN
|
|
|
@@ -203,6 +217,8 @@ export const POLYGON_NETWORK_CHAIN_ID =
|
|
|
CLUSTER === "mainnet" ? 137 : CLUSTER === "testnet" ? 80001 : 1381;
|
|
|
export const AVAX_NETWORK_CHAIN_ID =
|
|
|
CLUSTER === "mainnet" ? 43114 : CLUSTER === "testnet" ? 43113 : 1381;
|
|
|
+export const OASIS_NETWORK_CHAIN_ID =
|
|
|
+ CLUSTER === "mainnet" ? 42262 : CLUSTER === "testnet" ? 42261 : 1381;
|
|
|
export const getEvmChainId = (chainId: ChainId) =>
|
|
|
chainId === CHAIN_ID_ETH
|
|
|
? ETH_NETWORK_CHAIN_ID
|
|
|
@@ -214,6 +230,8 @@ export const getEvmChainId = (chainId: ChainId) =>
|
|
|
? POLYGON_NETWORK_CHAIN_ID
|
|
|
: chainId === CHAIN_ID_AVAX
|
|
|
? AVAX_NETWORK_CHAIN_ID
|
|
|
+ : chainId === CHAIN_ID_OASIS
|
|
|
+ ? OASIS_NETWORK_CHAIN_ID
|
|
|
: undefined;
|
|
|
export const SOLANA_HOST = process.env.REACT_APP_SOLANA_API_URL
|
|
|
? process.env.REACT_APP_SOLANA_API_URL
|
|
|
@@ -325,6 +343,27 @@ export const AVAX_TOKEN_BRIDGE_ADDRESS = getAddress(
|
|
|
? "0x61E44E506Ca5659E6c0bba9b678586fA2d729756"
|
|
|
: "0x0290FB167208Af455bB137780163b7B7a9a10C16"
|
|
|
);
|
|
|
+export const OASIS_BRIDGE_ADDRESS = getAddress(
|
|
|
+ CLUSTER === "mainnet"
|
|
|
+ ? "0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585"
|
|
|
+ : CLUSTER === "testnet"
|
|
|
+ ? "0xc1C338397ffA53a2Eb12A7038b4eeb34791F8aCb"
|
|
|
+ : "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550"
|
|
|
+);
|
|
|
+export const OASIS_NFT_BRIDGE_ADDRESS = getAddress(
|
|
|
+ CLUSTER === "mainnet"
|
|
|
+ ? "0x04952D522Ff217f40B5Ef3cbF659EcA7b952a6c1"
|
|
|
+ : CLUSTER === "testnet"
|
|
|
+ ? "0xC5c25B41AB0b797571620F5204Afa116A44c0ebA"
|
|
|
+ : "0x26b4afb60d6c903165150c6f0aa14f8016be4aec"
|
|
|
+);
|
|
|
+export const OASIS_TOKEN_BRIDGE_ADDRESS = getAddress(
|
|
|
+ CLUSTER === "mainnet"
|
|
|
+ ? "0x5848C791e09901b40A9Ef749f2a6735b418d7564"
|
|
|
+ : CLUSTER === "testnet"
|
|
|
+ ? "0x88d8004A9BdbfD9D28090A02010C19897a29605c"
|
|
|
+ : "0x0290FB167208Af455bB137780163b7B7a9a10C16"
|
|
|
+);
|
|
|
export const SOL_BRIDGE_ADDRESS =
|
|
|
CLUSTER === "mainnet"
|
|
|
? "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth"
|
|
|
@@ -399,6 +438,8 @@ export const getBridgeAddressForChain = (chainId: ChainId) =>
|
|
|
? ROPSTEN_ETH_BRIDGE_ADDRESS
|
|
|
: chainId === CHAIN_ID_AVAX
|
|
|
? AVAX_BRIDGE_ADDRESS
|
|
|
+ : chainId === CHAIN_ID_OASIS
|
|
|
+ ? OASIS_BRIDGE_ADDRESS
|
|
|
: "";
|
|
|
export const getNFTBridgeAddressForChain = (chainId: ChainId) =>
|
|
|
chainId === CHAIN_ID_SOLANA
|
|
|
@@ -413,6 +454,8 @@ export const getNFTBridgeAddressForChain = (chainId: ChainId) =>
|
|
|
? ROPSTEN_ETH_NFT_BRIDGE_ADDRESS
|
|
|
: chainId === CHAIN_ID_AVAX
|
|
|
? AVAX_NFT_BRIDGE_ADDRESS
|
|
|
+ : chainId === CHAIN_ID_OASIS
|
|
|
+ ? OASIS_NFT_BRIDGE_ADDRESS
|
|
|
: "";
|
|
|
export const getTokenBridgeAddressForChain = (chainId: ChainId) =>
|
|
|
chainId === CHAIN_ID_SOLANA
|
|
|
@@ -429,6 +472,8 @@ export const getTokenBridgeAddressForChain = (chainId: ChainId) =>
|
|
|
? ROPSTEN_ETH_TOKEN_BRIDGE_ADDRESS
|
|
|
: chainId === CHAIN_ID_AVAX
|
|
|
? AVAX_TOKEN_BRIDGE_ADDRESS
|
|
|
+ : chainId === CHAIN_ID_OASIS
|
|
|
+ ? OASIS_TOKEN_BRIDGE_ADDRESS
|
|
|
: "";
|
|
|
|
|
|
export const COVALENT_API_KEY = process.env.REACT_APP_COVALENT_API_KEY
|
|
|
@@ -440,6 +485,7 @@ export const COVALENT_BSC = CLUSTER === "devnet" ? 56 : BSC_NETWORK_CHAIN_ID;
|
|
|
export const COVALENT_POLYGON =
|
|
|
CLUSTER === "devnet" ? 137 : POLYGON_NETWORK_CHAIN_ID;
|
|
|
export const COVALENT_AVAX = CLUSTER === "devnet" ? 137 : AVAX_NETWORK_CHAIN_ID;
|
|
|
+export const COVALENT_OASIS = CLUSTER === "devnet" ? null : null;
|
|
|
export const COVALENT_GET_TOKENS_URL = (
|
|
|
chainId: ChainId,
|
|
|
walletAddress: string,
|
|
|
@@ -455,6 +501,8 @@ export const COVALENT_GET_TOKENS_URL = (
|
|
|
? COVALENT_POLYGON
|
|
|
: chainId === CHAIN_ID_AVAX
|
|
|
? COVALENT_AVAX
|
|
|
+ : chainId === CHAIN_ID_OASIS
|
|
|
+ ? COVALENT_OASIS
|
|
|
: "";
|
|
|
// https://www.covalenthq.com/docs/api/#get-/v1/{chain_id}/address/{address}/balances_v2/
|
|
|
return `https://api.covalenthq.com/v1/${chainNum}/address/${walletAddress}/balances_v2/?key=${COVALENT_API_KEY}${
|
|
|
@@ -504,6 +552,14 @@ export const WAVAX_ADDRESS =
|
|
|
: "0xDDb64fE46a91D46ee29420539FC25FD07c5FEa3E";
|
|
|
export const WAVAX_DECIMALS = 18;
|
|
|
|
|
|
+export const WROSE_ADDRESS =
|
|
|
+ CLUSTER === "mainnet"
|
|
|
+ ? "0xE4F5F5910b347A5AEFd12745a98eEEA97F69180e"
|
|
|
+ : CLUSTER === "testnet"
|
|
|
+ ? "0x792296e2a15e6Ceb5f5039DecaE7A1f25b00B0B0"
|
|
|
+ : "0xDDb64fE46a91D46ee29420539FC25FD07c5FEa3E";
|
|
|
+export const WROSE_DECIMALS = 18;
|
|
|
+
|
|
|
export const WORMHOLE_V1_ETH_ADDRESS =
|
|
|
CLUSTER === "mainnet"
|
|
|
? "0xf92cD566Ea4864356C5491c177A430C222d7e678"
|