Skip to content

Commit

Permalink
refactor: create a type for PermitCompatibleTokens
Browse files Browse the repository at this point in the history
  • Loading branch information
alfetopito committed Nov 1, 2023
1 parent 68b5e38 commit 938ef0c
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ import { useWalletInfo } from '@cowprotocol/wallet'
import { usePreGeneratedPermitInfo } from './usePreGeneratedPermitInfo'

import { permittableTokensAtom } from '../state/permittableTokensAtom'
import { PermitCompatibleTokens } from '../types'

export function usePermitCompatibleTokens(): Record<string, boolean> {
export function usePermitCompatibleTokens(): PermitCompatibleTokens {
const { chainId } = useWalletInfo()
const localPermitInfo = useAtomValue(permittableTokensAtom)[chainId]
const { allPermitInfo } = usePreGeneratedPermitInfo()
Expand All @@ -20,7 +21,7 @@ export function usePermitCompatibleTokens(): Record<string, boolean> {
preGeneratedPermitInfoRef.current = allPermitInfo

return useMemo(() => {
const permitCompatibleTokens: Record<string, boolean> = {}
const permitCompatibleTokens: PermitCompatibleTokens = {}

for (const address of Object.keys(preGeneratedPermitInfoRef.current)) {
permitCompatibleTokens[address.toLowerCase()] = !!preGeneratedPermitInfoRef.current[address]
Expand Down
2 changes: 2 additions & 0 deletions apps/cowswap-frontend/src/modules/permit/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,5 @@ export type GetPermitCacheParams = PermitCacheKeyParams
export type CheckHasValidPendingPermit = (order: ParsedOrder) => Promise<boolean | undefined>

export type OrdersPermitStatus = Record<string, boolean | undefined>

export type PermitCompatibleTokens = Record<string, boolean>
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import { UnsupportedTokensState } from '@cowprotocol/tokens'

import { Edit, X } from 'react-feather'

import { PermitCompatibleTokens } from 'modules/permit'

import * as styledEl from './styled'

import { TokenAmounts } from '../../../tokens'
Expand All @@ -21,7 +23,7 @@ export interface SelectTokenModalProps {
unsupportedTokens: UnsupportedTokensState
balancesLoading: boolean
selectedToken?: string
permitCompatibleTokens: { [tokenAddress: string]: boolean }
permitCompatibleTokens: PermitCompatibleTokens
onSelectToken(token: TokenWithLogo): void
onInputPressEnter?(): void
defaultInputValue?: string
Expand Down
3 changes: 2 additions & 1 deletion apps/cowswap-frontend/src/modules/tokensList/types.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { TokenWithLogo } from '@cowprotocol/common-const'

import { PermitCompatibleTokens } from 'modules/permit'
import { TokenAmounts } from 'modules/tokens'

export interface SelectTokenContext {
Expand All @@ -8,5 +9,5 @@ export interface SelectTokenContext {
selectedToken?: string
onSelectToken(token: TokenWithLogo): void
unsupportedTokens: { [tokenAddress: string]: { dateAdded: number } }
permitCompatibleTokens: { [tokenAddress: string]: boolean }
permitCompatibleTokens: PermitCompatibleTokens
}

0 comments on commit 938ef0c

Please sign in to comment.