Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 5x 5x 2x 2x | import type { MethodSpec, Handler } from '@metamask/kernel-rpc-methods';
import type { Kernel, KRef } from '@metamask/ocap-kernel';
import { string, literal, object } from '@metamask/superstruct';
/**
* Revoke a kernel object.
*/
export const revokeSpec: MethodSpec<'revoke', { kref: KRef }, null> = {
method: 'revoke',
params: object({ kref: string() }), // KRef
result: literal(null),
};
export type RevokeHooks = {
kernel: Pick<Kernel, 'revoke'>;
};
export const revokeHandler: Handler<
'revoke',
{ kref: KRef },
null,
RevokeHooks
> = {
...revokeSpec,
hooks: { kernel: true },
implementation: ({ kernel }, { kref }): null => {
kernel.revoke(kref);
return null;
},
};
|