@rarible/types
Version:
`@rarible/types` is a TypeScript library that provides type definitions and interfaces for the Rarible ecosystem. This package is designed to facilitate seamless integration with Rarible's APIs and services, ensuring type safety and improved developer exp
20 lines (19 loc) • 818 B
JavaScript
import { InvalidTransactionHashError } from "../../common/hash.js";
import { BlockchainLayer1Enum } from "../../union/enum/domain.js";
import { createLayer1fulValidator } from "../../common/common.js";
export const evmTransactionHashRegexp = /^0x([A-Fa-f0-9]{64})$/;
export function isEVMTransactionHash(raw) {
return evmTransactionHashRegexp.test(raw);
}
export const evmTransactionHashValidator = createLayer1fulValidator(BlockchainLayer1Enum.ETHEREUM, isEVMTransactionHash);
export function toEVMTransactionHash(raw) {
const safe = toEVMTransactionHashSafe(raw);
if (!safe)
throw new InvalidTransactionHashError(BlockchainLayer1Enum.ETHEREUM, raw);
return safe;
}
export function toEVMTransactionHashSafe(raw) {
if (isEVMTransactionHash(raw))
return raw;
return undefined;
}