UNPKG

@xuxinlai2002/pns-js

Version:

A NPM package in Typescript for .Play Name Service

42 lines (37 loc) 904 B
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 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 }