@ickb/utils
Version:
General utilities built on top of CCC
44 lines • 1.7 kB
TypeScript
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