@agoric/zoe
Version:
Zoe: the Smart Contract Framework for Offer Enforcement
36 lines (28 loc) • 1.04 kB
text/typescript
import { E } from '@endo/far';
import type { StartedInstanceKit } from './utils.js';
import type { ZCF } from '../types-index.js';
const someContractStartFn = (
zcf: ZCF,
privateArgs: { someNumber: number; someString: string },
) => ({});
type PsmInstanceKit = StartedInstanceKit<typeof someContractStartFn>;
const psmInstanceKit: PsmInstanceKit = null as any;
// @ts-expect-error missing privateArgs argument
void E(psmInstanceKit.adminFacet).restartContract();
const partial = {
someNumber: 1,
};
// @ts-expect-error missing member of privateArgs argument
void E(psmInstanceKit.adminFacet).restartContract(partial);
// valid privateArgs now with 'marshaller'
void E(psmInstanceKit.adminFacet).restartContract({
...partial,
someString: 'str',
});
// @ts-expect-error missing member of privateArgs argument
void E(psmInstanceKit.adminFacet).upgradeContract('whatever', partial);
// valid privateArgs now with 'marshaller'
void E(psmInstanceKit.adminFacet).upgradeContract('whatever', {
...partial,
someString: 'str',
});