@metamask/ocap-kernel
Version:
OCap kernel core components
24 lines • 1.18 kB
text/typescript
import type { CapData } from "@endo/marshal";
import type { KRef, KernelPromise, Message, VatId } from "../../types.mjs";
import type { StoreContext } from "../types.mjs";
/**
* Create a promise store object that provides functionality for managing kernel promises.
*
* @param ctx - The store context.
* @returns A promise store object that maps various persistent kernel data
* structures onto `kv`.
*/
export declare function getPromiseMethods(ctx: StoreContext): {
initKernelPromise: () => [KRef, KernelPromise];
getKernelPromise: (kpid: KRef) => KernelPromise;
deleteKernelPromise: (kpid: KRef) => void;
getNextPromiseId: () => KRef;
addPromiseSubscriber: (vatId: VatId, kpid: KRef) => void;
setPromiseDecider: (kpid: KRef, vatId: VatId) => void;
resolveKernelPromise: (kpid: KRef, rejected: boolean, value: CapData<KRef>) => void;
enqueuePromiseMessage: (kpid: KRef, message: Message) => void;
getKernelPromiseMessageQueue: (kpid: KRef) => Message[];
getPromisesByDecider: (decider: VatId) => Generator<string>;
getKpidsToRetire: (origKpid: KRef, origValue: CapData<KRef>) => KRef[];
};
//# sourceMappingURL=promise.d.mts.map