1+ import { AaveV3InkWhitelabel } from '@bgd-labs/aave-address-book' ;
12import { SwitchVerticalIcon } from '@heroicons/react/outline' ;
23import { Trans } from '@lingui/macro' ;
34import {
@@ -24,7 +25,7 @@ import {
2425} from 'src/components/transactions/FlowCommons/TxModalDetails' ;
2526import { NetworkSelect } from 'src/components/transactions/NetworkSelect' ;
2627import { ConnectWalletButton } from 'src/components/WalletConnection/ConnectWalletButton' ;
27- import { useBridgeTokens } from 'src/hooks/bridge/useBridgeWalletBalance' ;
28+ import { useBridgeTokens , UseBridgeTokensParams } from 'src/hooks/bridge/useBridgeWalletBalance' ;
2829import { TokenInfoWithBalance , useTokensBalance } from 'src/hooks/generic/useTokensBalance' ;
2930import { useModalContext } from 'src/hooks/useModal' ;
3031import { useWeb3Context } from 'src/libs/hooks/useWeb3Context' ;
@@ -53,7 +54,34 @@ import { useGetBridgeMessage } from './useGetBridgeMessage';
5354import { useTimeToDestination } from './useGetFinalityTime' ;
5455
5556const defaultNetwork = supportedNetworksWithBridge [ 0 ] ;
56- const defaultNetworkMarket = marketsData [ defaultNetwork . chainId ] ;
57+
58+ function getUseBridgeTokensParams ( chainId : number ) : UseBridgeTokensParams {
59+ const tokenOracle = getConfigFor ( chainId ) . tokenOracle ;
60+
61+ if ( chainId === 57073 ) {
62+ // no market config available yet for ink, so values are set here
63+ return {
64+ chainId,
65+ ghoTokenAddress : '0xfc421aD3C883Bf9E7C4f42dE845C4e4405799e73' ,
66+ tokenOracle,
67+ walletBalanceProviderAddress : AaveV3InkWhitelabel . WALLET_BALANCE_PROVIDER ,
68+ } ;
69+ }
70+
71+ const market = Object . values ( marketsData ) . filter (
72+ ( md ) => md . chainId === chainId && md . v3 === true && md . addresses . GHO_TOKEN_ADDRESS
73+ ) [ 0 ] ;
74+ if ( ! market || ! market . addresses . GHO_TOKEN_ADDRESS ) {
75+ throw new Error ( 'Market not found' ) ;
76+ }
77+
78+ return {
79+ chainId,
80+ ghoTokenAddress : market . addresses . GHO_TOKEN_ADDRESS ,
81+ tokenOracle : getConfigFor ( chainId ) . tokenOracle ,
82+ walletBalanceProviderAddress : market . addresses . WALLET_BALANCE_PROVIDER ,
83+ } ;
84+ }
5785
5886export const BridgeModalContent = ( ) => {
5987 const { mainTxState : bridgeTxState , txError, close, gasLimit } = useModalContext ( ) ;
@@ -121,19 +149,8 @@ export const BridgeModalContent = () => {
121149 setMaxSelected ( false ) ;
122150 } , [ sourceNetworkObj ] ) ;
123151
124- // Find v3 market for briding as all markets are on v3
125- const findMarketData = ( chainId : number ) => {
126- const allMarkets = Object . values ( marketsData ) . filter ( ( elem ) => elem . chainId === chainId ) ;
127- const v3Market = allMarkets . find ( ( market ) => market . v3 === true ) ;
128- return v3Market || allMarkets [ 0 ] || defaultNetworkMarket ;
129- } ;
130-
131- const selectedMarketData = findMarketData ( sourceNetworkObj . chainId ) ;
132-
133- const { data : sourceTokenInfo , isFetching : fetchingBridgeTokenBalance } = useBridgeTokens (
134- selectedMarketData ,
135- getConfigFor ( sourceNetworkObj . chainId ) . tokenOracle
136- ) ;
152+ const params = getUseBridgeTokensParams ( sourceNetworkObj . chainId ) ;
153+ const { data : sourceTokenInfo , isFetching : fetchingBridgeTokenBalance } = useBridgeTokens ( params ) ;
137154
138155 const isWrongNetwork = currentChainId !== sourceNetworkObj . chainId ;
139156
@@ -306,6 +323,9 @@ export const BridgeModalContent = () => {
306323 </ TextWithTooltip >
307324 ) ;
308325
326+ // There's no market config available for ink yet, so skip showing gas station since it relies on having a market
327+ const showGasStation = sourceNetworkObj . chainId !== 57073 ;
328+
309329 return (
310330 < >
311331 < Box display = "flex" justifyContent = "space-between" alignItems = "center" >
@@ -419,7 +439,11 @@ export const BridgeModalContent = () => {
419439 sourceChainId = { sourceNetworkObj . chainId }
420440 />
421441 </ Box >
422- < TxModalDetails gasLimit = { gasLimit } chainId = { sourceNetworkObj . chainId } >
442+ < TxModalDetails
443+ gasLimit = { gasLimit }
444+ chainId = { sourceNetworkObj . chainId }
445+ showGasStation = { showGasStation }
446+ >
423447 < BridgeAmount
424448 amount = { amount }
425449 maxAmountToBridgeFormatted = { maxAmountToBridgeFormatted }
0 commit comments