add fantom to explorer
This commit is contained in:
parent
2e0fc37ba0
commit
a60d639097
|
@ -5,7 +5,7 @@ GATSBY_GUARDIAN_DEVNET_RPC_URL=http://localhost:7071
|
||||||
GATSBY_GUARDIAN_TESTNET_RPC_URL=https://wormhole-v2-testnet-api.certus.one
|
GATSBY_GUARDIAN_TESTNET_RPC_URL=https://wormhole-v2-testnet-api.certus.one
|
||||||
GATSBY_GUARDIAN_MAINNET_RPC_URL=https://wormhole-v2-mainnet-api.certus.one
|
GATSBY_GUARDIAN_MAINNET_RPC_URL=https://wormhole-v2-mainnet-api.certus.one
|
||||||
|
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_DEVNET_BASE_URL=http://localhost:8080/
|
GATSBY_BIGTABLE_FUNCTIONS_DEVNET_BASE_URL=http://localhost:8090/
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_TESTNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/testnet-
|
GATSBY_BIGTABLE_FUNCTIONS_TESTNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/testnet-
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_MAINNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/mainnet-
|
GATSBY_BIGTABLE_FUNCTIONS_MAINNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/mainnet-
|
||||||
|
|
||||||
|
@ -42,6 +42,10 @@ GATSBY_DEVNET_OASIS_CORE_BRIDGE=0xC89Ce4735882C9F0f0FE26686c53074E09B0D550
|
||||||
GATSBY_DEVNET_OASIS_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
GATSBY_DEVNET_OASIS_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
||||||
GATSBY_DEVNET_OASIS_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
GATSBY_DEVNET_OASIS_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
||||||
|
|
||||||
|
GATSBY_DEVNET_FANTOM_CORE_BRIDGE=0xC89Ce4735882C9F0f0FE26686c53074E09B0D550
|
||||||
|
GATSBY_DEVNET_FANTOM_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
||||||
|
GATSBY_DEVNET_FANTOM_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
||||||
|
|
||||||
## testnet addresses
|
## testnet addresses
|
||||||
GATSBY_TESTNET_SOLANA_CORE_BRIDGE=Brdguy7BmNB4qwEbcqqMbyV5CyJd2sxQNUn6NEpMSsUb
|
GATSBY_TESTNET_SOLANA_CORE_BRIDGE=Brdguy7BmNB4qwEbcqqMbyV5CyJd2sxQNUn6NEpMSsUb
|
||||||
GATSBY_TESTNET_SOLANA_TOKEN_BRIDGE=A4Us8EhCC76XdGAN17L4KpRNEK423nMivVHZzZqFqqBg
|
GATSBY_TESTNET_SOLANA_TOKEN_BRIDGE=A4Us8EhCC76XdGAN17L4KpRNEK423nMivVHZzZqFqqBg
|
||||||
|
@ -71,6 +75,10 @@ GATSBY_TESTNET_OASIS_CORE_BRIDGE=0xc1C338397ffA53a2Eb12A7038b4eeb34791F8aCb
|
||||||
GATSBY_TESTNET_OASIS_TOKEN_BRIDGE=0x88d8004A9BdbfD9D28090A02010C19897a29605c
|
GATSBY_TESTNET_OASIS_TOKEN_BRIDGE=0x88d8004A9BdbfD9D28090A02010C19897a29605c
|
||||||
GATSBY_TESTNET_OASIS_NFT_BRIDGE=0xC5c25B41AB0b797571620F5204Afa116A44c0ebA
|
GATSBY_TESTNET_OASIS_NFT_BRIDGE=0xC5c25B41AB0b797571620F5204Afa116A44c0ebA
|
||||||
|
|
||||||
|
GATSBY_TESTNET_FANTOM_CORE_BRIDGE=0x1BB3B4119b7BA9dfad76B0545fb3F531383c3bB7
|
||||||
|
GATSBY_TESTNET_FANTOM_TOKEN_BRIDGE=0x599CEa2204B4FaECd584Ab1F2b6aCA137a0afbE8
|
||||||
|
GATSBY_TESTNET_FANTOM_NFT_BRIDGE=0x63eD9318628D26BdCB15df58B53BB27231D1B227
|
||||||
|
|
||||||
## mainnet addresses
|
## mainnet addresses
|
||||||
GATSBY_MAINNET_SOLANA_CORE_BRIDGE=worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth
|
GATSBY_MAINNET_SOLANA_CORE_BRIDGE=worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth
|
||||||
GATSBY_MAINNET_SOLANA_TOKEN_BRIDGE=wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb
|
GATSBY_MAINNET_SOLANA_TOKEN_BRIDGE=wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb
|
||||||
|
@ -99,3 +107,7 @@ GATSBY_MAINNET_AVALANCHE_NFT_BRIDGE=0xf7B6737Ca9c4e08aE573F75A97B73D7a813f5De5
|
||||||
GATSBY_MAINNET_OASIS_CORE_BRIDGE=0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585
|
GATSBY_MAINNET_OASIS_CORE_BRIDGE=0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585
|
||||||
GATSBY_MAINNET_OASIS_TOKEN_BRIDGE=0x5848c791e09901b40a9ef749f2a6735b418d7564
|
GATSBY_MAINNET_OASIS_TOKEN_BRIDGE=0x5848c791e09901b40a9ef749f2a6735b418d7564
|
||||||
GATSBY_MAINNET_OASIS_NFT_BRIDGE=0x04952d522ff217f40b5ef3cbf659eca7b952a6c1
|
GATSBY_MAINNET_OASIS_NFT_BRIDGE=0x04952d522ff217f40b5ef3cbf659eca7b952a6c1
|
||||||
|
|
||||||
|
GATSBY_MAINNET_FANTOM_CORE_BRIDGE=0x126783A6Cb203a3E35344528B26ca3a0489a1485
|
||||||
|
GATSBY_MAINNET_FANTOM_TOKEN_BRIDGE=0x7C9Fc5741288cDFdD83CeB07f3ea7e22618D79D2
|
||||||
|
GATSBY_MAINNET_FANTOM_NFT_BRIDGE=0xA9c7119aBDa80d4a4E0C06C8F4d8cF5893234535
|
||||||
|
|
|
@ -5,7 +5,7 @@ GATSBY_GUARDIAN_DEVNET_RPC_URL=http://localhost:7071
|
||||||
GATSBY_GUARDIAN_TESTNET_RPC_URL=https://wormhole-v2-testnet-api.certus.one
|
GATSBY_GUARDIAN_TESTNET_RPC_URL=https://wormhole-v2-testnet-api.certus.one
|
||||||
GATSBY_GUARDIAN_MAINNET_RPC_URL=https://wormhole-v2-mainnet-api.certus.one
|
GATSBY_GUARDIAN_MAINNET_RPC_URL=https://wormhole-v2-mainnet-api.certus.one
|
||||||
|
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_DEVNET_BASE_URL=http://localhost:8080/
|
GATSBY_BIGTABLE_FUNCTIONS_DEVNET_BASE_URL=http://localhost:8090/
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_TESTNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/testnet-
|
GATSBY_BIGTABLE_FUNCTIONS_TESTNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/testnet-
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_MAINNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/mainnet-
|
GATSBY_BIGTABLE_FUNCTIONS_MAINNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/mainnet-
|
||||||
|
|
||||||
|
@ -42,6 +42,10 @@ GATSBY_DEVNET_OASIS_CORE_BRIDGE=0xC89Ce4735882C9F0f0FE26686c53074E09B0D550
|
||||||
GATSBY_DEVNET_OASIS_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
GATSBY_DEVNET_OASIS_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
||||||
GATSBY_DEVNET_OASIS_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
GATSBY_DEVNET_OASIS_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
||||||
|
|
||||||
|
GATSBY_DEVNET_FANTOM_CORE_BRIDGE=0xC89Ce4735882C9F0f0FE26686c53074E09B0D550
|
||||||
|
GATSBY_DEVNET_FANTOM_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
||||||
|
GATSBY_DEVNET_FANTOM_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
||||||
|
|
||||||
## testnet addresses
|
## testnet addresses
|
||||||
GATSBY_TESTNET_SOLANA_CORE_BRIDGE=Brdguy7BmNB4qwEbcqqMbyV5CyJd2sxQNUn6NEpMSsUb
|
GATSBY_TESTNET_SOLANA_CORE_BRIDGE=Brdguy7BmNB4qwEbcqqMbyV5CyJd2sxQNUn6NEpMSsUb
|
||||||
GATSBY_TESTNET_SOLANA_TOKEN_BRIDGE=A4Us8EhCC76XdGAN17L4KpRNEK423nMivVHZzZqFqqBg
|
GATSBY_TESTNET_SOLANA_TOKEN_BRIDGE=A4Us8EhCC76XdGAN17L4KpRNEK423nMivVHZzZqFqqBg
|
||||||
|
@ -71,6 +75,10 @@ GATSBY_TESTNET_OASIS_CORE_BRIDGE=0xc1C338397ffA53a2Eb12A7038b4eeb34791F8aCb
|
||||||
GATSBY_TESTNET_OASIS_TOKEN_BRIDGE=0x88d8004A9BdbfD9D28090A02010C19897a29605c
|
GATSBY_TESTNET_OASIS_TOKEN_BRIDGE=0x88d8004A9BdbfD9D28090A02010C19897a29605c
|
||||||
GATSBY_TESTNET_OASIS_NFT_BRIDGE=0xC5c25B41AB0b797571620F5204Afa116A44c0ebA
|
GATSBY_TESTNET_OASIS_NFT_BRIDGE=0xC5c25B41AB0b797571620F5204Afa116A44c0ebA
|
||||||
|
|
||||||
|
GATSBY_TESTNET_FANTOM_CORE_BRIDGE=0x1BB3B4119b7BA9dfad76B0545fb3F531383c3bB7
|
||||||
|
GATSBY_TESTNET_FANTOM_TOKEN_BRIDGE=0x599CEa2204B4FaECd584Ab1F2b6aCA137a0afbE8
|
||||||
|
GATSBY_TESTNET_FANTOM_NFT_BRIDGE=0x63eD9318628D26BdCB15df58B53BB27231D1B227
|
||||||
|
|
||||||
## mainnet addresses
|
## mainnet addresses
|
||||||
GATSBY_MAINNET_SOLANA_CORE_BRIDGE=worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth
|
GATSBY_MAINNET_SOLANA_CORE_BRIDGE=worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth
|
||||||
GATSBY_MAINNET_SOLANA_TOKEN_BRIDGE=wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb
|
GATSBY_MAINNET_SOLANA_TOKEN_BRIDGE=wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb
|
||||||
|
@ -99,3 +107,8 @@ GATSBY_MAINNET_AVALANCHE_NFT_BRIDGE=0xf7B6737Ca9c4e08aE573F75A97B73D7a813f5De5
|
||||||
GATSBY_MAINNET_OASIS_CORE_BRIDGE=0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585
|
GATSBY_MAINNET_OASIS_CORE_BRIDGE=0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585
|
||||||
GATSBY_MAINNET_OASIS_TOKEN_BRIDGE=0x5848c791e09901b40a9ef749f2a6735b418d7564
|
GATSBY_MAINNET_OASIS_TOKEN_BRIDGE=0x5848c791e09901b40a9ef749f2a6735b418d7564
|
||||||
GATSBY_MAINNET_OASIS_NFT_BRIDGE=0x04952d522ff217f40b5ef3cbf659eca7b952a6c1
|
GATSBY_MAINNET_OASIS_NFT_BRIDGE=0x04952d522ff217f40b5ef3cbf659eca7b952a6c1
|
||||||
|
|
||||||
|
GATSBY_MAINNET_FANTOM_CORE_BRIDGE=0x126783A6Cb203a3E35344528B26ca3a0489a1485
|
||||||
|
GATSBY_MAINNET_FANTOM_TOKEN_BRIDGE=0x7C9Fc5741288cDFdD83CeB07f3ea7e22618D79D2
|
||||||
|
GATSBY_MAINNET_FANTOM_NFT_BRIDGE=0xA9c7119aBDa80d4a4E0C06C8F4d8cF5893234535
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ GATSBY_GUARDIAN_DEVNET_RPC_URL=http://localhost:7071
|
||||||
GATSBY_GUARDIAN_TESTNET_RPC_URL=https://wormhole-v2-testnet-api.certus.one
|
GATSBY_GUARDIAN_TESTNET_RPC_URL=https://wormhole-v2-testnet-api.certus.one
|
||||||
GATSBY_GUARDIAN_MAINNET_RPC_URL=https://wormhole-v2-mainnet-api.certus.one
|
GATSBY_GUARDIAN_MAINNET_RPC_URL=https://wormhole-v2-mainnet-api.certus.one
|
||||||
|
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_DEVNET_BASE_URL=http://localhost:8080/
|
GATSBY_BIGTABLE_FUNCTIONS_DEVNET_BASE_URL=http://localhost:8090/
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_TESTNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/testnet-
|
GATSBY_BIGTABLE_FUNCTIONS_TESTNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/testnet-
|
||||||
GATSBY_BIGTABLE_FUNCTIONS_MAINNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/mainnet-
|
GATSBY_BIGTABLE_FUNCTIONS_MAINNET_BASE_URL=https://europe-west3-wormhole-315720.cloudfunctions.net/mainnet-
|
||||||
|
|
||||||
|
@ -42,6 +42,10 @@ GATSBY_DEVNET_OASIS_CORE_BRIDGE=0xC89Ce4735882C9F0f0FE26686c53074E09B0D550
|
||||||
GATSBY_DEVNET_OASIS_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
GATSBY_DEVNET_OASIS_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
||||||
GATSBY_DEVNET_OASIS_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
GATSBY_DEVNET_OASIS_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
||||||
|
|
||||||
|
GATSBY_DEVNET_FANTOM_CORE_BRIDGE=0xC89Ce4735882C9F0f0FE26686c53074E09B0D550
|
||||||
|
GATSBY_DEVNET_FANTOM_TOKEN_BRIDGE=0x0290FB167208Af455bB137780163b7B7a9a10C16
|
||||||
|
GATSBY_DEVNET_FANTOM_NFT_BRIDGE=0x26b4afb60d6c903165150c6f0aa14f8016be4aec
|
||||||
|
|
||||||
## testnet addresses
|
## testnet addresses
|
||||||
GATSBY_TESTNET_SOLANA_CORE_BRIDGE=Brdguy7BmNB4qwEbcqqMbyV5CyJd2sxQNUn6NEpMSsUb
|
GATSBY_TESTNET_SOLANA_CORE_BRIDGE=Brdguy7BmNB4qwEbcqqMbyV5CyJd2sxQNUn6NEpMSsUb
|
||||||
GATSBY_TESTNET_SOLANA_TOKEN_BRIDGE=A4Us8EhCC76XdGAN17L4KpRNEK423nMivVHZzZqFqqBg
|
GATSBY_TESTNET_SOLANA_TOKEN_BRIDGE=A4Us8EhCC76XdGAN17L4KpRNEK423nMivVHZzZqFqqBg
|
||||||
|
@ -71,6 +75,10 @@ GATSBY_TESTNET_OASIS_CORE_BRIDGE=0xc1C338397ffA53a2Eb12A7038b4eeb34791F8aCb
|
||||||
GATSBY_TESTNET_OASIS_TOKEN_BRIDGE=0x88d8004A9BdbfD9D28090A02010C19897a29605c
|
GATSBY_TESTNET_OASIS_TOKEN_BRIDGE=0x88d8004A9BdbfD9D28090A02010C19897a29605c
|
||||||
GATSBY_TESTNET_OASIS_NFT_BRIDGE=0xC5c25B41AB0b797571620F5204Afa116A44c0ebA
|
GATSBY_TESTNET_OASIS_NFT_BRIDGE=0xC5c25B41AB0b797571620F5204Afa116A44c0ebA
|
||||||
|
|
||||||
|
GATSBY_TESTNET_FANTOM_CORE_BRIDGE=0x1BB3B4119b7BA9dfad76B0545fb3F531383c3bB7
|
||||||
|
GATSBY_TESTNET_FANTOM_TOKEN_BRIDGE=0x599CEa2204B4FaECd584Ab1F2b6aCA137a0afbE8
|
||||||
|
GATSBY_TESTNET_FANTOM_NFT_BRIDGE=0x63eD9318628D26BdCB15df58B53BB27231D1B227
|
||||||
|
|
||||||
## mainnet addresses
|
## mainnet addresses
|
||||||
GATSBY_MAINNET_SOLANA_CORE_BRIDGE=worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth
|
GATSBY_MAINNET_SOLANA_CORE_BRIDGE=worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth
|
||||||
GATSBY_MAINNET_SOLANA_TOKEN_BRIDGE=wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb
|
GATSBY_MAINNET_SOLANA_TOKEN_BRIDGE=wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb
|
||||||
|
@ -98,3 +106,7 @@ GATSBY_MAINNET_AVALANCHE_NFT_BRIDGE=0xf7B6737Ca9c4e08aE573F75A97B73D7a813f5De5
|
||||||
GATSBY_MAINNET_OASIS_CORE_BRIDGE=0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585
|
GATSBY_MAINNET_OASIS_CORE_BRIDGE=0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585
|
||||||
GATSBY_MAINNET_OASIS_TOKEN_BRIDGE=0x5848c791e09901b40a9ef749f2a6735b418d7564
|
GATSBY_MAINNET_OASIS_TOKEN_BRIDGE=0x5848c791e09901b40a9ef749f2a6735b418d7564
|
||||||
GATSBY_MAINNET_OASIS_NFT_BRIDGE=0x04952d522ff217f40b5ef3cbf659eca7b952a6c1
|
GATSBY_MAINNET_OASIS_NFT_BRIDGE=0x04952d522ff217f40b5ef3cbf659eca7b952a6c1
|
||||||
|
|
||||||
|
GATSBY_MAINNET_FANTOM_CORE_BRIDGE=0x126783A6Cb203a3E35344528B26ca3a0489a1485
|
||||||
|
GATSBY_MAINNET_FANTOM_TOKEN_BRIDGE=0x7C9Fc5741288cDFdD83CeB07f3ea7e22618D79D2
|
||||||
|
GATSBY_MAINNET_FANTOM_NFT_BRIDGE=0xA9c7119aBDa80d4a4E0C06C8F4d8cF5893234535
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -10,7 +10,7 @@
|
||||||
"clean": "gatsby clean"
|
"clean": "gatsby clean"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@certusone/wormhole-sdk": "^0.1.6",
|
"@certusone/wormhole-sdk": "0.2.0",
|
||||||
"@cosmjs/encoding": "^0.27.0",
|
"@cosmjs/encoding": "^0.27.0",
|
||||||
"@emotion/react": "^11.7.1",
|
"@emotion/react": "^11.7.1",
|
||||||
"@emotion/styled": "^11.6.0",
|
"@emotion/styled": "^11.6.0",
|
||||||
|
|
|
@ -6,6 +6,7 @@ import terraIcon from "../images/terra.svg";
|
||||||
import polygonIcon from "../images/polygon.svg";
|
import polygonIcon from "../images/polygon.svg";
|
||||||
import avalancheIcon from "../images/avalanche.svg";
|
import avalancheIcon from "../images/avalanche.svg";
|
||||||
import oasisIcon from "../images/oasis.svg";
|
import oasisIcon from "../images/oasis.svg";
|
||||||
|
import fantomIcon from "../images/fantom.svg";
|
||||||
import {
|
import {
|
||||||
ChainId,
|
ChainId,
|
||||||
CHAIN_ID_AVAX,
|
CHAIN_ID_AVAX,
|
||||||
|
@ -15,6 +16,7 @@ import {
|
||||||
CHAIN_ID_POLYGON,
|
CHAIN_ID_POLYGON,
|
||||||
CHAIN_ID_SOLANA,
|
CHAIN_ID_SOLANA,
|
||||||
CHAIN_ID_TERRA,
|
CHAIN_ID_TERRA,
|
||||||
|
CHAIN_ID_FANTOM,
|
||||||
} from "@certusone/wormhole-sdk";
|
} from "@certusone/wormhole-sdk";
|
||||||
import { chainEnums } from "../utils/consts";
|
import { chainEnums } from "../utils/consts";
|
||||||
import { Box } from "@mui/material";
|
import { Box } from "@mui/material";
|
||||||
|
@ -27,6 +29,7 @@ const chainIdToSrc = {
|
||||||
[CHAIN_ID_POLYGON]: polygonIcon,
|
[CHAIN_ID_POLYGON]: polygonIcon,
|
||||||
[CHAIN_ID_AVAX]: avalancheIcon,
|
[CHAIN_ID_AVAX]: avalancheIcon,
|
||||||
[CHAIN_ID_OASIS]: oasisIcon,
|
[CHAIN_ID_OASIS]: oasisIcon,
|
||||||
|
[CHAIN_ID_FANTOM]: fantomIcon,
|
||||||
};
|
};
|
||||||
|
|
||||||
const ChainIcon = ({ chainId }: { chainId: ChainId }) =>
|
const ChainIcon = ({ chainId }: { chainId: ChainId }) =>
|
||||||
|
|
|
@ -56,6 +56,14 @@ const ChainOverviewCard: React.FC<ChainOverviewCardProps> = ({
|
||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
flexDirection: "column",
|
flexDirection: "column",
|
||||||
};
|
};
|
||||||
|
// prevent an exception if data is missing (ie. new chain)
|
||||||
|
if (
|
||||||
|
!notionalTransferredToCumulative ||
|
||||||
|
!(dataKey in notionalTransferredToCumulative.AllTime) ||
|
||||||
|
!("*" in notionalTransferredToCumulative.AllTime[dataKey])
|
||||||
|
) {
|
||||||
|
return <>coming soon</>
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div style={{ ...centerStyles, gap: 8 }}>
|
<div style={{ ...centerStyles, gap: 8 }}>
|
||||||
|
|
|
@ -51,6 +51,9 @@ const DailyNotionalBarChart = (props: DailyCountProps) => {
|
||||||
const chains = props.daily[date]
|
const chains = props.daily[date]
|
||||||
|
|
||||||
return [...accum, Object.keys(chains).reduce<BarDatum>((subAccum, chain) => {
|
return [...accum, Object.keys(chains).reduce<BarDatum>((subAccum, chain) => {
|
||||||
|
if (chain === "*") {
|
||||||
|
return subAccum
|
||||||
|
}
|
||||||
|
|
||||||
const group = makeGroupName(chain, activeNetwork)
|
const group = makeGroupName(chain, activeNetwork)
|
||||||
// const group = chain
|
// const group = chain
|
||||||
|
|
|
@ -15,6 +15,7 @@ import terraIcon from "../../images/terra.svg";
|
||||||
import polygonIcon from "../../images/polygon.svg";
|
import polygonIcon from "../../images/polygon.svg";
|
||||||
import avalancheIcon from "../../images/avalanche.svg";
|
import avalancheIcon from "../../images/avalanche.svg";
|
||||||
import oasisIcon from "../../images/oasis.svg";
|
import oasisIcon from "../../images/oasis.svg";
|
||||||
|
import fantomIcon from "../../images/fantom.svg"
|
||||||
import GridWithCards from "../GridWithCards";
|
import GridWithCards from "../GridWithCards";
|
||||||
import { explorer } from "../../utils/urls";
|
import { explorer } from "../../utils/urls";
|
||||||
|
|
||||||
|
@ -589,8 +590,28 @@ const ExplorerStats: React.FC<StatsProps> = ({
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
imgStyle: { height: 110 },
|
imgStyle: { height: 110 },
|
||||||
},
|
}
|
||||||
]}
|
].concat(
|
||||||
|
// check the we have transfer data before adding the fantom card
|
||||||
|
("10" in notionalTransferredToCumulative.AllTime) &&
|
||||||
|
("*" in notionalTransferredToCumulative.AllTime["10"]) ?
|
||||||
|
[{
|
||||||
|
header: ChainID[10],
|
||||||
|
src: fantomIcon,
|
||||||
|
to: `${explorer}?emitterChain=10`,
|
||||||
|
description: (
|
||||||
|
<ChainOverviewCard
|
||||||
|
totals={totals}
|
||||||
|
notionalTransferredToCumulative={
|
||||||
|
notionalTransferredToCumulative
|
||||||
|
}
|
||||||
|
notionalTransferred={notionalTransferred}
|
||||||
|
dataKey="10"
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
imgStyle: { height: 110 },
|
||||||
|
}] : []
|
||||||
|
)}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<Box
|
<Box
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs><style>.cls-1{fill:#fff;fill-rule:evenodd;}.cls-2{fill:#13b5ec;}.cls-3{mask:url(#mask);}</style><mask id="mask" x="10" y="6" width="93.1" height="20" maskUnits="userSpaceOnUse"><g id="a"><path class="cls-1" d="M10,6h93.1V26H10Z"/></g></mask></defs><title>fa</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><circle class="cls-2" cx="16" cy="16" r="16"/><g class="cls-3"><path class="cls-1" d="M17.2,12.9l3.6-2.1V15Zm3.6,9L16,24.7l-4.8-2.8V17L16,19.8,20.8,17ZM11.2,10.8l3.6,2.1L11.2,15Zm5.4,3.1L20.2,16l-3.6,2.1Zm-1.2,4.2L11.8,16l3.6-2.1Zm4.8-8.3L16,12.2,11.8,9.8,16,7.3ZM10,9.4V22.5l6,3.4,6-3.4V9.4L16,6Z"/></g></g></g></svg>
|
After Width: | Height: | Size: 766 B |
|
@ -13,6 +13,7 @@ export const chainEnums = [
|
||||||
"Polygon",
|
"Polygon",
|
||||||
"Avalanche",
|
"Avalanche",
|
||||||
"Oasis",
|
"Oasis",
|
||||||
|
"Fantom",
|
||||||
];
|
];
|
||||||
|
|
||||||
export interface ChainIDs {
|
export interface ChainIDs {
|
||||||
|
@ -23,6 +24,7 @@ export interface ChainIDs {
|
||||||
polygon: 5;
|
polygon: 5;
|
||||||
avalanche: 6;
|
avalanche: 6;
|
||||||
oasis: 7;
|
oasis: 7;
|
||||||
|
fantom: 10,
|
||||||
}
|
}
|
||||||
export const chainIDs: ChainIDs = {
|
export const chainIDs: ChainIDs = {
|
||||||
solana: 1,
|
solana: 1,
|
||||||
|
@ -32,6 +34,7 @@ export const chainIDs: ChainIDs = {
|
||||||
polygon: 5,
|
polygon: 5,
|
||||||
avalanche: 6,
|
avalanche: 6,
|
||||||
oasis: 7,
|
oasis: 7,
|
||||||
|
fantom: 10
|
||||||
};
|
};
|
||||||
export const chainIDStrings: { [chainIDString: string]: string } = {
|
export const chainIDStrings: { [chainIDString: string]: string } = {
|
||||||
"1": "solana",
|
"1": "solana",
|
||||||
|
@ -41,6 +44,7 @@ export const chainIDStrings: { [chainIDString: string]: string } = {
|
||||||
"5": "polygon",
|
"5": "polygon",
|
||||||
"6": "avalanche",
|
"6": "avalanche",
|
||||||
"7": "oasis",
|
"7": "oasis",
|
||||||
|
"10": "fantom"
|
||||||
};
|
};
|
||||||
|
|
||||||
export enum ChainID {
|
export enum ChainID {
|
||||||
|
@ -52,6 +56,7 @@ export enum ChainID {
|
||||||
Polygon,
|
Polygon,
|
||||||
Avalanche,
|
Avalanche,
|
||||||
Oasis,
|
Oasis,
|
||||||
|
Fantom
|
||||||
}
|
}
|
||||||
export type ChainName = keyof ChainIDs;
|
export type ChainName = keyof ChainIDs;
|
||||||
export type ChainIDNumber = ChainIDs[ChainName];
|
export type ChainIDNumber = ChainIDs[ChainName];
|
||||||
|
@ -95,6 +100,12 @@ const envVarMap: { [name: string]: string | undefined } = {
|
||||||
GATSBY_DEVNET_OASIS_TOKEN_BRIDGE:
|
GATSBY_DEVNET_OASIS_TOKEN_BRIDGE:
|
||||||
process.env.GATSBY_DEVNET_OASIS_TOKEN_BRIDGE,
|
process.env.GATSBY_DEVNET_OASIS_TOKEN_BRIDGE,
|
||||||
GATSBY_DEVNET_OASIS_NFT_BRIDGE: process.env.GATSBY_DEVNET_OASIS_NFT_BRIDGE,
|
GATSBY_DEVNET_OASIS_NFT_BRIDGE: process.env.GATSBY_DEVNET_OASIS_NFT_BRIDGE,
|
||||||
|
GATSBY_DEVNET_FANTOM_CORE_BRIDGE:
|
||||||
|
process.env.GATSBY_DEVNET_FANTOM_CORE_BRIDGE,
|
||||||
|
GATSBY_DEVNET_FANTOM_TOKEN_BRIDGE:
|
||||||
|
process.env.GATSBY_DEVNET_FANTOM_TOKEN_BRIDGE,
|
||||||
|
GATSBY_DEVNET_FANTOM_NFT_BRIDGE:
|
||||||
|
process.env.GATSBY_DEVNET_FANTOM_NFT_BRIDGE,
|
||||||
|
|
||||||
GATSBY_TESTNET_SOLANA_CORE_BRIDGE:
|
GATSBY_TESTNET_SOLANA_CORE_BRIDGE:
|
||||||
process.env.GATSBY_TESTNET_SOLANA_CORE_BRIDGE,
|
process.env.GATSBY_TESTNET_SOLANA_CORE_BRIDGE,
|
||||||
|
@ -133,6 +144,12 @@ const envVarMap: { [name: string]: string | undefined } = {
|
||||||
GATSBY_TESTNET_OASIS_TOKEN_BRIDGE:
|
GATSBY_TESTNET_OASIS_TOKEN_BRIDGE:
|
||||||
process.env.GATSBY_TESTNET_OASIS_TOKEN_BRIDGE,
|
process.env.GATSBY_TESTNET_OASIS_TOKEN_BRIDGE,
|
||||||
GATSBY_TESTNET_OASIS_NFT_BRIDGE: process.env.GATSBY_TESTNET_OASIS_NFT_BRIDGE,
|
GATSBY_TESTNET_OASIS_NFT_BRIDGE: process.env.GATSBY_TESTNET_OASIS_NFT_BRIDGE,
|
||||||
|
GATSBY_TESTNET_FANTOM_CORE_BRIDGE:
|
||||||
|
process.env.GATSBY_TESTNET_FANTOM_CORE_BRIDGE,
|
||||||
|
GATSBY_TESTNET_FANTOM_TOKEN_BRIDGE:
|
||||||
|
process.env.GATSBY_TESTNET_FANTOM_TOKEN_BRIDGE,
|
||||||
|
GATSBY_TESTNET_FANTOM_NFT_BRIDGE:
|
||||||
|
process.env.GATSBY_TESTNET_FANTOM_NFT_BRIDGE,
|
||||||
|
|
||||||
GATSBY_MAINNET_SOLANA_CORE_BRIDGE:
|
GATSBY_MAINNET_SOLANA_CORE_BRIDGE:
|
||||||
process.env.GATSBY_MAINNET_SOLANA_CORE_BRIDGE,
|
process.env.GATSBY_MAINNET_SOLANA_CORE_BRIDGE,
|
||||||
|
@ -171,6 +188,12 @@ const envVarMap: { [name: string]: string | undefined } = {
|
||||||
GATSBY_MAINNET_OASIS_TOKEN_BRIDGE:
|
GATSBY_MAINNET_OASIS_TOKEN_BRIDGE:
|
||||||
process.env.GATSBY_MAINNET_OASIS_TOKEN_BRIDGE,
|
process.env.GATSBY_MAINNET_OASIS_TOKEN_BRIDGE,
|
||||||
GATSBY_MAINNET_OASIS_NFT_BRIDGE: process.env.GATSBY_MAINNET_OASIS_NFT_BRIDGE,
|
GATSBY_MAINNET_OASIS_NFT_BRIDGE: process.env.GATSBY_MAINNET_OASIS_NFT_BRIDGE,
|
||||||
|
GATSBY_MAINNET_FANTOM_CORE_BRIDGE:
|
||||||
|
process.env.GATSBY_MAINNET_FANTOM_CORE_BRIDGE,
|
||||||
|
GATSBY_MAINNET_FANTOM_TOKEN_BRIDGE:
|
||||||
|
process.env.GATSBY_MAINNET_FANTOM_TOKEN_BRIDGE,
|
||||||
|
GATSBY_MAINNET_FANTOM_NFT_BRIDGE:
|
||||||
|
process.env.GATSBY_MAINNET_FANTOM_NFT_BRIDGE,
|
||||||
};
|
};
|
||||||
|
|
||||||
export interface KnownContracts {
|
export interface KnownContracts {
|
||||||
|
@ -200,6 +223,7 @@ const getEmitterAddress: {
|
||||||
polygon: getEmitterAddressEVM,
|
polygon: getEmitterAddressEVM,
|
||||||
avalanche: getEmitterAddressEVM,
|
avalanche: getEmitterAddressEVM,
|
||||||
oasis: getEmitterAddressEVM,
|
oasis: getEmitterAddressEVM,
|
||||||
|
fantom: getEmitterAddressEVM,
|
||||||
};
|
};
|
||||||
|
|
||||||
// the keys used for creating the map of contract addresses of each chain, on each network.
|
// the keys used for creating the map of contract addresses of each chain, on each network.
|
||||||
|
|
|
@ -131,6 +131,8 @@ const nativeExplorerContractUri = (
|
||||||
base = "https://snowtrace.io/address/";
|
base = "https://snowtrace.io/address/";
|
||||||
} else if (chainId === chainIDs["oasis"]) {
|
} else if (chainId === chainIDs["oasis"]) {
|
||||||
base = "https://explorer.oasis.updev.si/address/";
|
base = "https://explorer.oasis.updev.si/address/";
|
||||||
|
} else if (chainId === chainIDs["fantom"]) {
|
||||||
|
base = "https://ftmscan.com/address/";
|
||||||
}
|
}
|
||||||
return `${base}${nativeAddress}`;
|
return `${base}${nativeAddress}`;
|
||||||
}
|
}
|
||||||
|
@ -155,6 +157,8 @@ const nativeExplorerTxUri = (
|
||||||
base = "https://snowtrace.io/tx/";
|
base = "https://snowtrace.io/tx/";
|
||||||
} else if (chainId === chainIDs["oasis"]) {
|
} else if (chainId === chainIDs["oasis"]) {
|
||||||
base = "https://explorer.emerald.oasis.dev/tx/";
|
base = "https://explorer.emerald.oasis.dev/tx/";
|
||||||
|
} else if (chainId === chainIDs["fantom"]) {
|
||||||
|
base = "https://ftmscan.com/tx/";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (base) {
|
if (base) {
|
||||||
|
@ -163,6 +167,7 @@ const nativeExplorerTxUri = (
|
||||||
return "";
|
return "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// define colors to represent chains in charts/graphs
|
||||||
const chainColors: { [chain: string]: string } = {
|
const chainColors: { [chain: string]: string } = {
|
||||||
"*": "hsl(183, 100%, 61%)",
|
"*": "hsl(183, 100%, 61%)",
|
||||||
"1": "hsl(297, 100%, 61%)",
|
"1": "hsl(297, 100%, 61%)",
|
||||||
|
@ -171,7 +176,8 @@ const chainColors: { [chain: string]: string } = {
|
||||||
"4": "hsl(54, 100%, 61%)",
|
"4": "hsl(54, 100%, 61%)",
|
||||||
"5": "hsl(271, 100%, 61%)",
|
"5": "hsl(271, 100%, 61%)",
|
||||||
"6": "hsl(360, 100%, 61%)",
|
"6": "hsl(360, 100%, 61%)",
|
||||||
"7": "hsl(204, 100%, 48%",
|
"7": "hsl(204, 100%, 48%)",
|
||||||
|
"10": "hsl(220, 78%, 92%)",
|
||||||
};
|
};
|
||||||
const chainIdColors = Object.entries(chainColors).reduce<Array<string>>(
|
const chainIdColors = Object.entries(chainColors).reduce<Array<string>>(
|
||||||
// returns an array of hsl colors, indexed by chainId
|
// returns an array of hsl colors, indexed by chainId
|
||||||
|
|
|
@ -7,7 +7,7 @@ export const network = "/network/";
|
||||||
export const brand = "/brand/";
|
export const brand = "/brand/";
|
||||||
|
|
||||||
// External
|
// External
|
||||||
export const portal = "https://wormholebridge.com/";
|
export const portal = "https://portalbridge.com/";
|
||||||
export const blog = "https://wormholecrypto.medium.com/";
|
export const blog = "https://wormholecrypto.medium.com/";
|
||||||
export const docs = "https://docs.wormholenetwork.com/";
|
export const docs = "https://docs.wormholenetwork.com/";
|
||||||
export const jobs = "https://boards.greenhouse.io/wormhole";
|
export const jobs = "https://boards.greenhouse.io/wormhole";
|
||||||
|
|
Loading…
Reference in New Issue