Skip to content

Commit 2ca4e8d

Browse files
committed
fix: build error
1 parent 10a7bf5 commit 2ca4e8d

4 files changed

Lines changed: 26 additions & 33 deletions

File tree

app/src/constants/config/contracts.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import ForeignBridgeRouter_abi from '@/src/abis/ForeignBridgeRouter.json'
1+
import ForeignBridgeRouter_abi from '@/src/abis/ForeignBridgeRouter'
22
import XDAI_abi from '@/src/abis/HomeBridgeErcToNative' // TODO: maybe we can unified the names of the ABI files too.
33
import FOREIGN_XDAI_abi from '@/src/abis/ForeignBridgeErcToNative'
44
import OMNI_abi from '@/src/abis/HomeOmniMediator' // TODO: maybe we can unified the names of the ABI files too.

app/src/hooks/bridge/useTokenMode.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { getBridgeCommonInfo } from '@/src/hooks/bridge/utils/getBridgeCommonInf
44
import { TokenOverrideManager } from '@/src/utils/token-overrides'
55
import { Token } from '@/types/token'
66
import useSWR from 'swr/immutable'
7-
import { homeOmniBridgeContract, foreignOmniBridgeContract } from '@/src/constants/config/contracts'
7+
import { foreignOmniBridgeContract, homeOmniBridgeContract } from '@/src/constants/config/contracts'
88
import { gnosisBatchClient, mainnetBatchClient } from '@/src/constants/config/rpc-providers'
99
import { isSameString } from '@/src/utils/tools'
1010

app/src/pagePartials/bridgeExplorer/bridges/TokenDropdown.tsx

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useEffect, useMemo, useState } from 'react'
22
import styled from 'styled-components'
33
import { DebounceInput } from 'react-debounce-input'
4-
import { JsonRpcBatchProvider } from '@ethersproject/providers'
4+
import { erc20Abi } from 'viem'
55
import { ChevronDown as BaseChevronDown } from '@/src/components/assets/ChevronDown'
66
import { Magnifier as BaseMagnifier } from '@/src/components/assets/Magnifier'
77
import { Dropdown as BaseDropdown, DropdownPosition } from '@/src/components/dropdown'
@@ -11,9 +11,8 @@ import { Chains, ChainsValues } from '@/src/constants/config/types'
1111
import { Token } from '@/types/token'
1212
import { useBridgedTokens } from '@/src/providers/tokenListProvider'
1313
import { getToChainId } from '@/src/utils/tools'
14-
import { ERC165__factory, HomeOmniMediator__factory } from '@/types/typechain'
15-
import { getNetworkConfig } from '@/src/constants/config/chains'
16-
import { contracts } from '@/src/constants/config/contracts'
14+
import { homeOmniBridgeContract } from '@/src/constants/config/contracts'
15+
import { gnosisBatchClient, mainnetBatchClient } from '@/src/constants/config/rpc-providers'
1716
import { isAddress } from 'viem'
1817

1918
const Wrapper = styled(BaseDropdown)`
@@ -202,20 +201,29 @@ const Dropdown: React.FC<Props> = ({
202201
setIsLoading(true)
203202

204203
const isFromGnosis = chainId == Chains.gnosis
205-
const erc20 = ERC165__factory.connect(
206-
value,
207-
new JsonRpcBatchProvider(getNetworkConfig(chainId)?.rpcUrl),
208-
)
209-
const omni = HomeOmniMediator__factory.connect(
210-
contracts.OmniBridge.address[Chains.gnosis],
211-
new JsonRpcBatchProvider(getNetworkConfig(Chains.gnosis)?.rpcUrl),
212-
)
204+
const fromChainClient = isFromGnosis ? gnosisBatchClient : mainnetBatchClient
213205

214206
Promise.all([
215-
erc20.name(),
216-
erc20.symbol(),
217-
erc20.decimals(),
218-
isFromGnosis ? omni.foreignTokenAddress(value) : omni.homeTokenAddress(value),
207+
fromChainClient.readContract({
208+
address: value as `0x${string}`,
209+
abi: erc20Abi,
210+
functionName: 'name',
211+
}),
212+
fromChainClient.readContract({
213+
address: value as `0x${string}`,
214+
abi: erc20Abi,
215+
functionName: 'symbol',
216+
}),
217+
fromChainClient.readContract({
218+
address: value as `0x${string}`,
219+
abi: erc20Abi,
220+
functionName: 'decimals',
221+
}),
222+
gnosisBatchClient.readContract({
223+
...homeOmniBridgeContract,
224+
functionName: isFromGnosis ? 'foreignTokenAddress' : 'homeTokenAddress',
225+
args: [value as `0x${string}`],
226+
}),
219227
])
220228
.then(([name, symbol, decimals, _address]) => {
221229
if (!name || !symbol || !decimals || !_address) return

app/types/utils.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { Contract } from '@ethersproject/contracts'
21
import { KeyedMutator } from 'swr'
32

43
export type ObjectValues<T> = T[keyof T]
@@ -19,20 +18,6 @@ export type UnwrapReturnType<T> = T extends (...args: any) => any ? Awaited<Retu
1918
// eslint-disable-next-line @typescript-eslint/no-explicit-any
2019
export type UnwrapParametersType<T> = T extends (...args: any) => any ? Parameters<T> : never
2120

22-
export type TupleReturnType<MyContract extends Contract, Tuple extends unknown[]> = Tuple extends [
23-
infer Head,
24-
...infer Tail,
25-
]
26-
? [UnwrapReturnType<Head>, ...TupleReturnType<MyContract, Tail>]
27-
: []
28-
29-
export type TupleParametersType<
30-
MyContract extends Contract,
31-
Tuple extends unknown[],
32-
> = Tuple extends [infer Head, ...infer Tail]
33-
? [UnwrapParametersType<Head>, ...TupleParametersType<MyContract, Tail>]
34-
: []
35-
3621
export const isFulfilled = <T>(
3722
input: PromiseSettledResult<T>,
3823
): input is PromiseFulfilledResult<T> => input.status === 'fulfilled'

0 commit comments

Comments
 (0)