UNPKG

scrypt-ts

Version:

A toolset for building sCrypt smart contract applications on Bitcoin SV network written in typescript.

51 lines (50 loc) 1.24 kB
import { ByteString } from "./types"; import { AbstractContract, SupportedParamType } from "scryptlib/dist"; /** * @ignore */ export type SortedItem<T> = { idx: bigint; item: T; }; /** * @ignore */ export declare class SortedItemAccess { item: any; itemHashHex: string; idx: bigint; static readonly ITEM_HASH_SIZE_IN_BYTES = 32; constructor(item: any, itemHash: string, idx: bigint); serialize(): ByteString; } /** * @ignore */ export type SortedItemAccessPath = SortedItemAccess[]; /** * @ignore */ export interface SortedItemAccessTraceable { startTracing(): void; stopTracing(): void; serializedAccessPath(): ByteString; } /** * @ignore */ export declare function instanceOfSIATraceable(obj: any): obj is SortedItemAccessTraceable; /** * @ignore */ export declare class SortedItemAccessTracer<T extends SupportedParamType> implements SortedItemAccessTraceable { private _traceEnabled; private _accessPath; private _hasher; private _sequencer; constructor(type: string, clazz: typeof AbstractContract); traceAccess(item: T, items: T[] | IterableIterator<T>): void; startTracing(): void; stopTracing(): void; serializedAccessPath(): ByteString; }