Files
FrenoCorp/node_modules/viem/utils/chain/getChainContractAddress.ts
Michael Freno 7c684a42cc FRE-600: Fix code review blockers
- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-25 00:08:01 -04:00

42 lines
916 B
TypeScript

import {
ChainDoesNotSupportContract,
type ChainDoesNotSupportContractErrorType,
} from '../../errors/chain.js'
import type { Chain, ChainContract } from '../../types/chain.js'
export type GetChainContractAddressErrorType =
ChainDoesNotSupportContractErrorType
export function getChainContractAddress({
blockNumber,
chain,
contract: name,
}: {
blockNumber?: bigint | undefined
chain: Chain
contract: string
}) {
const contract = (chain?.contracts as Record<string, ChainContract>)?.[name]
if (!contract)
throw new ChainDoesNotSupportContract({
chain,
contract: { name },
})
if (
blockNumber &&
contract.blockCreated &&
contract.blockCreated > blockNumber
)
throw new ChainDoesNotSupportContract({
blockNumber,
chain,
contract: {
name,
blockCreated: contract.blockCreated,
},
})
return contract.address
}