necjs
Version:
NECJS SDK for NCOG Earth Chain RPC
68 lines (67 loc) • 2.81 kB
TypeScript
export declare const DEFAULT_DECIMALS = 18;
export declare const NEC_DECIMALS = 18;
export declare const WEI_FACTOR: bigint;
/**
* Convert a hex string to a decimal (string or number).
* Assumes input is already in base units.
*/
export declare function hexToDecimalString(hex: string): string | number;
/**
* Convert a hex string to a decimal-string (no extra multiplication).
* Use for normalizing RPC response fields already in base units.
*/
export declare function normalizeHexField(key: string, hex: string): string;
/**
* Serialize a decimal (number, numeric-string, or bigint) to hex-with-0x.
* Assumes input is already in base units.
*/
export declare function decimalToHex(value: number | string | bigint): string;
/**
* Generic: parse whole- or fractional-unit amount into base-unit hex.
* Accepts number|string|bigint, handles fractional up to `decimals`.
*/
export declare function parseUnits(value: number | string | bigint, decimals?: number): string;
/**
* Convert an Ether value (number|string|bigint), including fractional,
* → Wei → hex-with-0x.
*/
export declare function etherToWeiHex(value: number | string | bigint): string;
/**
* Convert a Wei-hex (or bigint or numeric string) into an Ether decimal string.
*/
export declare function hexToEther(value: string | number | bigint): string;
/**
* Generic: format a base-unit amount (hex, number, or bigint)
* into a human-readable decimal string.
*/
export declare function formatUnits(value: string | number | bigint, decimals?: number): string;
/**
* Convert a NEC base-unit amount (hex, number, or bigint) into a NEC decimal string.
*/
export declare function hexToNec(value: string | number | bigint): string;
/**
* Convert a whole-NEC amount (number|string|bigint) into base-unit hex.
*/
export declare function necToHex(value: number | string | bigint): string;
/**
* Convert a Wei (number, bigint, or hex string) directly into a NEC decimal string.
* Useful when NEC is pegged 1:1 with Ether base units.
*/
export declare function weiToNec(value: string | number | bigint): string;
/**
* Walk and serialize all fields in TxParams for JSON-RPC.
*/
export declare function serializeForRpc(payload: Record<string, any>): Record<string, any>;
/**
* Walk and normalize JSON-RPC response (hex → decimal string or number).
*/
export declare function normalizeResponse(resp: Record<string, any> | any): Record<string, any> | any;
/**
* Checks if a string is a valid Ethereum/EVM address.
*/
export declare function isValidAddress(address: string): boolean;
/**
* Convert a decimal Ether value (number|string|bigint) to a Wei value as a string (base 10, not hex).
* E.g., 1.23 -> '1230000000000000000'
*/
export declare function decimalToWei(value: number | string | bigint, decimals?: number): string;