Function setUpGovernedContract
- setUpGovernedContract<T>(zoe, governedP, timer, termsOfGoverned?, privateArgsOfGoverned?, issuerKeywordRecord?): Promise<{
getFakeInvitation: (() => Promise<{
fakeInvitationAmount: SetAmount<InvitationDetails>;
fakeInvitationPayment: any;
}>);
governorFacets: StartedInstanceKit<(<SF>(zcf: ZCF<{
governed: {
issuerKeywordRecord?: IssuerKeywordRecord;
terms: {
governedParams: {
Electorate: InvitationParam;
};
};
};
governedContractInstallation: Installation<SF>;
timer: TimerService;
}>, privateArgs: {
governed: Record<string, unknown>;
}) => Promise<{
creatorFacet: {
changeParams: ((paramSpec: ParamChangesSpec<any>) => Promise<void>);
getAdminFacet: (() => AdminFacet<SF>);
getCreatorFacet: (() => Promise<{}>);
getInstance: (() => Instance<SF>);
getPublicFacet: (() => Awaited<(...)>["publicFacet"]);
invokeAPI: ((apiMethodName: string, methodArgs: Passable[]) => Promise<{
apiMethodName: ...;
methodArgs: ...;
}>);
setFilters: ((strings: string[]) => Promise<void>);
} & RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
changeParams: ((paramSpec: ParamChangesSpec<(...)>) => Promise<(...)>);
getAdminFacet: (() => AdminFacet<(...)>);
getCreatorFacet: (() => Promise<(...)>);
getInstance: (() => Instance<(...)>);
getPublicFacet: (() => (...)[(...)]);
invokeAPI: ((apiMethodName: string, methodArgs: (...)[]) => Promise<(...)>);
setFilters: ((strings: (...)[]) => Promise<(...)>);
}>;
publicFacet: {
getGovernedContract: (() => Instance<SF>);
} & RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
getGovernedContract: (() => Instance<(...)>);
}>;
}>)>;
installs: {
autoRefund: Installation<any>;
governed: Installation<T>;
governor: Installation<(<SF>(zcf: ZCF<{
governed: {
issuerKeywordRecord?: IssuerKeywordRecord;
terms: {
governedParams: {
Electorate: InvitationParam;
};
};
};
governedContractInstallation: Installation<SF>;
timer: TimerService;
}>, privateArgs: {
governed: Record<string, unknown>;
}) => Promise<{
creatorFacet: {
changeParams: ((paramSpec: ParamChangesSpec<(...)>) => Promise<(...)>);
getAdminFacet: (() => AdminFacet<(...)>);
getCreatorFacet: (() => Promise<(...)>);
getInstance: (() => Instance<(...)>);
getPublicFacet: (() => (...)[(...)]);
invokeAPI: ((apiMethodName: string, methodArgs: (...)[]) => Promise<(...)>);
setFilters: ((strings: (...)[]) => Promise<(...)>);
} & RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
changeParams: ((paramSpec: ...) => ...);
getAdminFacet: (() => ...);
getCreatorFacet: (() => ...);
getInstance: (() => ...);
getPublicFacet: (() => ...);
invokeAPI: ((apiMethodName: ..., methodArgs: ...) => ...);
setFilters: ((strings: ...) => ...);
}>;
publicFacet: {
getGovernedContract: (() => Instance<(...)>);
} & RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
getGovernedContract: (() => ...);
}>;
}>)>;
};
}> Type Parameters
- T extends GovernableStartFn
Parameters
- zoe: ERef<ZoeService>
- governedP: ERef<Installation<T>>
- timer: TimerService
- termsOfGoverned: {
governedApis?: string[];
governedParams?: Record<string, unknown>;
[k: string]: any;
} = {}[k: string]: any
Optional
governedApis?: string[]
Optional
governedParams?: Record<string, unknown>
- privateArgsOfGoverned: {} = {}
Optional
issuerKeywordRecord: IssuerKeywordRecord = {}
Returns Promise<{
getFakeInvitation: (() => Promise<{
fakeInvitationAmount: SetAmount<InvitationDetails>;
fakeInvitationPayment: any;
}>);
governorFacets: StartedInstanceKit<(<SF>(zcf: ZCF<{
governed: {
issuerKeywordRecord?: IssuerKeywordRecord;
terms: {
governedParams: {
Electorate: InvitationParam;
};
};
};
governedContractInstallation: Installation<SF>;
timer: TimerService;
}>, privateArgs: {
governed: Record<string, unknown>;
}) => Promise<{
creatorFacet: {
changeParams: ((paramSpec: ParamChangesSpec<any>) => Promise<void>);
getAdminFacet: (() => AdminFacet<SF>);
getCreatorFacet: (() => Promise<{}>);
getInstance: (() => Instance<SF>);
getPublicFacet: (() => Awaited<(...)>["publicFacet"]);
invokeAPI: ((apiMethodName: string, methodArgs: Passable[]) => Promise<{
apiMethodName: ...;
methodArgs: ...;
}>);
setFilters: ((strings: string[]) => Promise<void>);
} & RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
changeParams: ((paramSpec: ParamChangesSpec<(...)>) => Promise<(...)>);
getAdminFacet: (() => AdminFacet<(...)>);
getCreatorFacet: (() => Promise<(...)>);
getInstance: (() => Instance<(...)>);
getPublicFacet: (() => (...)[(...)]);
invokeAPI: ((apiMethodName: string, methodArgs: (...)[]) => Promise<(...)>);
setFilters: ((strings: (...)[]) => Promise<(...)>);
}>;
publicFacet: {
getGovernedContract: (() => Instance<SF>);
} & RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
getGovernedContract: (() => Instance<(...)>);
}>;
}>)>;
installs: {
autoRefund: Installation<any>;
governed: Installation<T>;
governor: Installation<(<SF>(zcf: ZCF<{
governed: {
issuerKeywordRecord?: IssuerKeywordRecord;
terms: {
governedParams: {
Electorate: InvitationParam;
};
};
};
governedContractInstallation: Installation<SF>;
timer: TimerService;
}>, privateArgs: {
governed: Record<string, unknown>;
}) => Promise<{
creatorFacet: {
changeParams: ((paramSpec: ParamChangesSpec<(...)>) => Promise<(...)>);
getAdminFacet: (() => AdminFacet<(...)>);
getCreatorFacet: (() => Promise<(...)>);
getInstance: (() => Instance<(...)>);
getPublicFacet: (() => (...)[(...)]);
invokeAPI: ((apiMethodName: string, methodArgs: (...)[]) => Promise<(...)>);
setFilters: ((strings: (...)[]) => Promise<(...)>);
} & RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
changeParams: ((paramSpec: ...) => ...);
getAdminFacet: (() => ...);
getCreatorFacet: (() => ...);
getInstance: (() => ...);
getPublicFacet: (() => ...);
invokeAPI: ((apiMethodName: ..., methodArgs: ...) => ...);
setFilters: ((strings: ...) => ...);
}>;
publicFacet: {
getGovernedContract: (() => Instance<(...)>);
} & RemotableObject<`Alleged: ${string}`> & RemotableBrand<{}, {
getGovernedContract: (() => ...);
}>;
}>)>;
};
}>
governed contract startfn