diff --git a/packages/boba/gateway/src/containers/modals/deposit/steps/InputStepMultiChain.js b/packages/boba/gateway/src/containers/modals/deposit/steps/InputStepMultiChain.js index 9a60c4edb4..6e9a4e9994 100644 --- a/packages/boba/gateway/src/containers/modals/deposit/steps/InputStepMultiChain.js +++ b/packages/boba/gateway/src/containers/modals/deposit/steps/InputStepMultiChain.js @@ -26,6 +26,7 @@ import Select from 'components/select/Select' import { selectAltL1DepositCost } from 'selectors/balanceSelector' import { fetchAltL1DepositFee } from 'actions/balanceAction' +import networkService from 'services/networkService' /** * @NOTE @@ -44,7 +45,7 @@ function InputStepMultiChain({ handleClose, token, isBridge, openTokenPicker }) { value: 'Avalanche', label: 'Avalanche', title: 'Avalanche', image: getImageComponent('AVAX') }, { value: 'Fantom', label: 'Fantom', title: 'Fantom', image: getImageComponent('FTM') }, { value: 'Moonbeam', label: 'Moonbeam', title: 'Moonbeam', image: getImageComponent('GLMR') }, - ] + ].filter(i => networkService.supportedAltL1Chains.includes(i.value)) const dispatch = useDispatch() diff --git a/packages/boba/gateway/src/services/networkService.js b/packages/boba/gateway/src/services/networkService.js index 1965ef7357..288cc6b0c6 100644 --- a/packages/boba/gateway/src/services/networkService.js +++ b/packages/boba/gateway/src/services/networkService.js @@ -104,7 +104,8 @@ import GraphQLService from "./graphQLService" import addresses_Rinkeby from "@boba/register/addresses/addressesRinkeby_0x93A96D6A5beb1F661cf052722A1424CDDA3e9418" import addresses_Mainnet from "@boba/register/addresses/addressesMainnet_0x8376ac6C3f73a25Dd994E0b0669ca7ee0C02F089" -import chain_Rinkeby from "@boba/register/addresses/chainRinkeby" +import layerZeroTestnet from "@boba/register/addresses/layerZeroTestnet" +import layerZeroMainnet from "@boba/register/addresses/layerZeroMainnet" import { bobaBridges } from 'util/bobaBridges' @@ -116,13 +117,13 @@ const L2_ETH_Address = '0x4200000000000000000000000000000000000006' const L2MessengerAddress = '0x4200000000000000000000000000000000000007' const L2StandardBridgeAddress = '0x4200000000000000000000000000000000000010' const L2GasOracle = '0x420000000000000000000000000000000000000F' -const AltL1ChainNames = [ 'BNB', 'Fantom', 'Avalanche', 'Moonbeam' ] +let supportedAltL1Chains = [] let allAddresses = {} // preload allAddresses if (process.env.REACT_APP_CHAIN === 'rinkeby') { - const bobaBridges = chain_Rinkeby.BOBA_Bridges.Rinkeby; - const l0Protocols = chain_Rinkeby.Layer_Zero_Protocol.Rinkeby; + const bobaBridges = layerZeroTestnet.BOBA_Bridges.Testnet; + const l0Protocols = layerZeroTestnet.Layer_Zero_Protocol.Testnet; allAddresses = { ...addresses_Rinkeby, L1LPAddress: addresses_Rinkeby.Proxy__L1LiquidityPool, @@ -130,12 +131,18 @@ if (process.env.REACT_APP_CHAIN === 'rinkeby') { ...bobaBridges, ...l0Protocols } + supportedAltL1Chains = ['BNB', 'Fantom', 'Avalanche'] } else if (process.env.REACT_APP_CHAIN === 'mainnet') { + const bobaBridges = layerZeroMainnet.BOBA_Bridges.Mainnet; + const l0Protocols = layerZeroMainnet.Layer_Zero_Protocol.Mainnet; allAddresses = { ...addresses_Mainnet, L1LPAddress: addresses_Mainnet.Proxy__L1LiquidityPool, - L2LPAddress: addresses_Mainnet.Proxy__L2LiquidityPool + L2LPAddress: addresses_Mainnet.Proxy__L2LiquidityPool, + ...bobaBridges, + ...l0Protocols } + supportedAltL1Chains = ['Moonbeam'] } let allTokens = {} @@ -215,6 +222,9 @@ class NetworkService { // support token this.supportedTokens = [] + + // support alt l1 tokens + this.supportedAltL1Chains = supportedAltL1Chains } bindProviderListeners() { @@ -4891,9 +4901,9 @@ class NetworkService { } try { console.log(`🏃 Estimate Fee Cross Chain Deposit`); - const pResponse = AltL1ChainNames.map(async (type) => { + const pResponse = supportedAltL1Chains.map(async (type) => { let L0_ETH_ENDPOINT = allAddresses.Layer_Zero_Endpoint; - let ETH_L1_BOBA_ADDRESS = allAddresses.ETH_BOBA_ADDRESS; + let ETH_L1_BOBA_ADDRESS = allAddresses.TK_L1BOBA; let L0_CHAIN_ID = allAddresses.Layer_Zero_ChainId; let ALT_L1_BOBA_ADDRESS = allAddresses[`Proxy__EthBridgeTo${type}`]; let PROXY_ETH_L1_BRIDGE_ADDRESS_TO = allAddresses[`${type}_TK_BOBA`]; @@ -4966,9 +4976,9 @@ class NetworkService { } try { let L0_ETH_ENDPOINT = allAddresses.Layer_Zero_Endpoint; - let ETH_L1_BOBA_ADDRESS = allAddresses.ETH_BOBA_ADDRESS; - let ALT_L1_BOBA_ADDRESS = allAddresses[`Proxy__EthBridgeTo${type}`]; - let PROXY_ETH_L1_BRIDGE_ADDRESS_TO = allAddresses[`${type}_TK_BOBA`]; + let ETH_L1_BOBA_ADDRESS = allAddresses.TK_L1BOBA; + let PROXY_ETH_L1_BRIDGE_ADDRESS_TO = allAddresses[`Proxy__EthBridgeTo${type}`]; + let ALT_L1_BOBA_ADDRESS = allAddresses[`${type}_TK_BOBA`]; console.log({ type, diff --git a/packages/boba/register/addresses/addressesRinkeby_0x93A96D6A5beb1F661cf052722A1424CDDA3e9418.json b/packages/boba/register/addresses/addressesRinkeby_0x93A96D6A5beb1F661cf052722A1424CDDA3e9418.json index 0ddec0b9f9..da6da525ae 100644 --- a/packages/boba/register/addresses/addressesRinkeby_0x93A96D6A5beb1F661cf052722A1424CDDA3e9418.json +++ b/packages/boba/register/addresses/addressesRinkeby_0x93A96D6A5beb1F661cf052722A1424CDDA3e9418.json @@ -85,6 +85,5 @@ "BobaBillingContract": "0x1f9cb265A3Ecf4b6330247D73B83B9DBe9393Bea", "Proxy__BobaBillingContract": "0x39ecF941443851762f58194e1eD54EE9F6987Cd1", "AuthenticatedFaucet": "0xdEBA60E214c07f93a265CA8552107af6853d3c61", - "Ve_BOBA": "0xD142eBc28884cF808DFa7506F23D56B9a1C43935", - "ETH_BOBA_ADDRESS": "0x6A6676813d3D4317442CF84667425C13553F4a76" + "Ve_BOBA": "0xD142eBc28884cF808DFa7506F23D56B9a1C43935" } diff --git a/packages/boba/register/addresses/layerZeroMainnet.json b/packages/boba/register/addresses/layerZeroMainnet.json new file mode 100644 index 0000000000..92487e8b26 --- /dev/null +++ b/packages/boba/register/addresses/layerZeroMainnet.json @@ -0,0 +1,76 @@ +{ + "Layer_Zero_Protocol": { + "Mainnet":{ + "Layer_Zero_Endpoint": "0x66A71Dcef29A0fFBDBE3c6a460a3B5BC225Cd675", + "Layer_Zero_ChainId": "1" + }, + "BNB": { + "Layer_Zero_Endpoint": "0x3c2269811836af69497E5F486A85D7316753cf62", + "Layer_Zero_ChainId": "2" + }, + "Fantom": { + "Layer_Zero_Endpoint": "0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7", + "Layer_Zero_ChainId": "12" + }, + "Avalanche": { + "Layer_Zero_Endpoint": "0x3c2269811836af69497E5F486A85D7316753cf62", + "Layer_Zero_ChainId": "6" + }, + "Moonbeam": { + "Layer_Zero_Endpoint": "0x9740FF91F1985D8d2B71494aE1A2f723bb3Ed9E4", + "Layer_Zero_ChainId": "26" + } + }, + "BOBA_Bridges": { + "Mainnet":{ + "Proxy__EthBridgeToBNB": "", + "Proxy__EthBridgeToFantom": "", + "Proxy__EthBridgeToAvalanche": "", + "Proxy__EthBridgeToMoonbeam": "0x6F537839714761388B6d7ED61Bc09579d5dA2F41", + "EthBridgeToBNB": "", + "EthBridgeToFantom": "", + "EthBridgeToAvalanche": "", + "EthBridgeToMoonbeam": "0x76b82285fb4A75481645e5F3771E33bc4D207d72", + "Proxy__BNBBridgeToEth": "", + "Proxy__FantomBridgeToEth": "", + "Proxy__AvalancheBridgeToEth": "", + "Proxy__MoonbeamBridgeToEth": "0x9F868333DB1720Fb1412AFfb1AeF47e8C6cFc8c3", + "BNBBridgeToEth": "", + "FantomBridgeToEth": "", + "AvalancheBridgeToEth": "", + "MoonbeamBridgeToEth": "0x891b8c55E471f6a2ce8E055D553733b0126D49a1", + "BNB_TK_BOBA": "", + "Avalanche_TK_BOBA": "", + "Fantom_TK_BOBA": "", + "Moonbeam_TK_BOBA": "0x18D17A9fD652D7d6a59903E23792ab97F832Ed6C" + }, + "BNB": { + "Proxy__EthBridgeToBNB": "", + "EthBridgeToBNB": "", + "Proxy__BNBBridgeToEth": "", + "BNBBridgeToEth": "", + "BNB_TK_BOBA": "" + }, + "Fantom": { + "Proxy__EthBridgeToFantom": "", + "EthBridgeToFantom": "", + "Proxy__FantomBridgeToEth": "", + "FantomBridgeToEth": "", + "Fantom_TK_BOBA": "" + }, + "Avalanche": { + "Proxy__EthBridgeToAvalanche": "", + "EthBridgeToAvalanche": "", + "Proxy__AvalancheBridgeToEth": "", + "AvalancheBridgeToEth": "", + "Avalanche_TK_BOBA": "" + }, + "Moonbeam": { + "Proxy__EthBridgeToMoonbeam": "0x6F537839714761388B6d7ED61Bc09579d5dA2F41", + "EthBridgeToMoonbeam": "0x76b82285fb4A75481645e5F3771E33bc4D207d72", + "Proxy__MoonbeamBridgeToEth": "0x9F868333DB1720Fb1412AFfb1AeF47e8C6cFc8c3", + "MoonbeamBridgeToEth": "0x891b8c55E471f6a2ce8E055D553733b0126D49a1", + "Moonbeam_TK_BOBA": "0x18D17A9fD652D7d6a59903E23792ab97F832Ed6C" + } + } +} diff --git a/packages/boba/register/addresses/chainRinkeby.json b/packages/boba/register/addresses/layerZeroTestnet.json similarity index 98% rename from packages/boba/register/addresses/chainRinkeby.json rename to packages/boba/register/addresses/layerZeroTestnet.json index 227351f9a7..3b8b6a370e 100644 --- a/packages/boba/register/addresses/chainRinkeby.json +++ b/packages/boba/register/addresses/layerZeroTestnet.json @@ -1,6 +1,6 @@ { "Layer_Zero_Protocol": { - "Rinkeby":{ + "Testnet":{ "Layer_Zero_Endpoint": "0x79a63d6d8BBD5c6dfc774dA79bCcD948EAcb53FA", "Layer_Zero_ChainId": "10001" }, @@ -18,7 +18,7 @@ } }, "BOBA_Bridges": { - "Rinkeby":{ + "Testnet":{ "Proxy__EthBridgeToBNB": "0xe15DccaB449aC06eE8eC068a75BA61968ba8BFBC", "Proxy__EthBridgeToFantom": "0xE3D9a12677dE08D250c20BFe22009d5e34EB4ba5", "Proxy__EthBridgeToAvalanche": "0x78Af7bF02fEBa4D979Ea2dBc5388cDC768E7b34E",