UNPKG

@ickb/utils

Version:

General utilities built on top of CCC

44 lines 1.7 kB
import { ccc, mol } from "@ckb-ccc/core"; export interface ValueComponents { ckbValue: ccc.FixedPoint; udtValue: ccc.FixedPoint; } export interface ExchangeRatio { ckbScale: ccc.Num; udtScale: ccc.Num; } export interface ScriptDeps { script: ccc.Script; cellDeps: ccc.CellDep[]; } export type HeaderKey = { type: "hash"; value: ccc.Hex; } | { type: "number"; value: ccc.Num; } | { type: "txHash"; value: ccc.Hex; }; export declare function getHeader(client: ccc.Client, headerKey: HeaderKey): Promise<ccc.ClientBlockHeader>; export declare function shuffle<T>(array: T[]): T[]; export declare function binarySearch(n: number, f: (i: number) => boolean): number; export declare function asyncBinarySearch(n: number, f: (i: number) => Promise<boolean>): Promise<number>; export declare function collect<T>(inputs: AsyncIterable<T>): Promise<T[]>; export declare class BufferedGenerator<T> { generator: Generator<T, void, void>; maxSize: number; buffer: T[]; constructor(generator: Generator<T, void, void>, maxSize: number); next(n: number): void; } export declare function max<T>(res: T, ...rest: T[]): T; export declare function min<T>(res: T, ...rest: T[]): T; export declare function sum(res: number, ...rest: number[]): number; export declare function sum(res: bigint, ...rest: bigint[]): bigint; export declare function gcd(res: bigint, ...rest: bigint[]): bigint; export declare function unique<T extends mol.Entity>(items: Iterable<T>): Generator<T>; export declare function hexFrom(v: bigint | mol.Entity | ccc.BytesLike): ccc.Hex; export declare function isHex(s: string): s is ccc.Hex; //# sourceMappingURL=utils.d.ts.map