@agoric/governance 0.10.4-dev-eb7e9eb.0 → 0.10.4-u11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +431 -0
- package/package.json +26 -26
- package/src/binaryVoteCounter.d.ts.map +1 -1
- package/src/binaryVoteCounter.js +0 -1
- package/src/committee.d.ts +12 -10
- package/src/committee.d.ts.map +1 -1
- package/src/committee.js +7 -10
- package/src/constants.d.ts +12 -12
- package/src/contractGovernance/paramManager.d.ts +1 -1
- package/src/contractGovernance/paramManager.d.ts.map +1 -1
- package/src/contractGovernance/paramManager.js +2 -3
- package/src/contractGovernance/typedParamManager.d.ts +2 -2
- package/src/contractGovernance/typedParamManager.d.ts.map +1 -1
- package/src/contractGovernor.d.ts +3 -5
- package/src/contractGovernor.d.ts.map +1 -1
- package/src/contractGovernor.js +4 -10
- package/src/contractGovernorKit.d.ts +1 -1
- package/src/contractGovernorKit.d.ts.map +1 -1
- package/src/contractGovernorKit.js +0 -1
- package/src/contractHelper.d.ts +40 -40
- package/src/contractHelper.d.ts.map +1 -1
- package/src/contractHelper.js +3 -3
- package/src/electorateTools.d.ts +5 -1
- package/src/electorateTools.d.ts.map +1 -1
- package/src/index.js +1 -1
- package/src/multiCandidateVoteCounter.d.ts.map +1 -1
- package/src/multiCandidateVoteCounter.js +2 -3
- package/src/noActionElectorate.d.ts.map +1 -1
- package/src/noActionElectorate.js +2 -4
- package/src/question.d.ts +11 -11
- package/src/typeGuards.d.ts +74 -72
- package/src/typeGuards.d.ts.map +1 -1
- package/src/types-ambient.d.ts +493 -493
- package/src/types-ambient.d.ts.map +1 -1
- package/src/types-ambient.js +3 -3
- package/src/types.d.ts +8 -4
- package/src/types.d.ts.map +1 -1
- package/src/types.js +3 -3
- package/src/voterKit.d.ts +3 -3
- package/src/voterKit.d.ts.map +1 -1
- package/tools/puppetContractGovernor.d.ts +1 -1
- package/tools/puppetContractGovernor.d.ts.map +1 -1
- package/tools/puppetGovernance.d.ts.map +1 -1
- package/tools/puppetGovernance.js +2 -0
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint @typescript-eslint/no-floating-promises: "warn" */
|
|
2
1
|
import { Far, passStyleOf } from '@endo/marshal';
|
|
3
2
|
import { AmountMath } from '@agoric/ertp';
|
|
4
3
|
import { assertKeywordName } from '@agoric/zoe/src/cleanProposal.js';
|
|
@@ -367,10 +366,10 @@ const makeParamManagerBuilder = (publisherKit, zoe) => {
|
|
|
367
366
|
const prepared = await Promise.all(asyncResults);
|
|
368
367
|
|
|
369
368
|
// actually update
|
|
370
|
-
|
|
369
|
+
paramNames.forEach((name, i) => {
|
|
371
370
|
const setFn = setters[`update${name}`];
|
|
372
371
|
setFn(prepared[i]);
|
|
373
|
-
}
|
|
372
|
+
});
|
|
374
373
|
publish();
|
|
375
374
|
};
|
|
376
375
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export function makeParamManager<T extends Record<string, SyncSpecTuple | AsyncSpecTuple>>(publisherKit: import('@agoric/notifier').StoredPublisherKit<GovernanceSubscriptionState>, spec: T, zcf: ZCF): TypedParamManager<{ [K in keyof T]: T[K][0]; }>;
|
|
2
2
|
export function makeParamManagerSync<T extends Record<string, SyncSpecTuple>>(publisherKit: import('@agoric/notifier').StoredPublisherKit<GovernanceSubscriptionState>, spec: T): TypedParamManager<{ [K in keyof T]: T[K][0]; }>;
|
|
3
|
-
export function makeParamManagerFromTerms<I extends Record<string, Invitation<
|
|
3
|
+
export function makeParamManagerFromTerms<I extends Record<string, Invitation<unknown, never>> & {
|
|
4
4
|
Electorate: Invitation;
|
|
5
5
|
}, M extends ParamTypesMap>(publisherKit: import('@agoric/notifier').StoredPublisherKit<GovernanceSubscriptionState>, zcf: ZCF<GovernanceTerms<M>>, invitations: I, paramTypesMap: M): TypedParamManager<M & { [K in keyof I]: "invitation"; }>;
|
|
6
6
|
export type ParamTypesMap = Record<Keyword, ParamType>;
|
|
@@ -24,6 +24,6 @@ export type InvitationParam = {
|
|
|
24
24
|
type: 'invitation';
|
|
25
25
|
value: Amount<'set'>;
|
|
26
26
|
};
|
|
27
|
-
export type SyncSpecTuple = [type: "amount", value: Amount<any>] |
|
|
27
|
+
export type SyncSpecTuple = [type: "amount", value: Amount<any>] | ST<"brand"> | ST<"installation"> | ST<"instance"> | ST<"nat"> | ST<"ratio"> | ST<"string"> | ST<"timestamp"> | ST<"relativeTime"> | ST<"unknown">;
|
|
28
28
|
export type AsyncSpecTuple = ['invitation', Invitation];
|
|
29
29
|
//# sourceMappingURL=typedParamManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedParamManager.d.ts","sourceRoot":"","sources":["typedParamManager.js"],"names":[],"mappings":"AAoFO,yGALI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,gBAE1E,GAAG,mDAwBb;AAaM,4FAJI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,4DAepF;AAYM;gBARiD,UAAU;0CAEvD,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,4HAiCpF;4BAhKY,OAAO,OAAO,EAAE,SAAS,CAAC;;;;;;;+HAqB2C,IAAI;yDAMzE,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG;IAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAA;CAAC,GAAG;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC;;;;gEAgBzG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;8BAItC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;CAAE;4BAO5C,
|
|
1
|
+
{"version":3,"file":"typedParamManager.d.ts","sourceRoot":"","sources":["typedParamManager.js"],"names":[],"mappings":"AAoFO,yGALI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,gBAE1E,GAAG,mDAwBb;AAaM,4FAJI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,4DAepF;AAYM;gBARiD,UAAU;0CAEvD,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,4HAiCpF;4BAhKY,OAAO,OAAO,EAAE,SAAS,CAAC;;;;;;;+HAqB2C,IAAI;yDAMzE,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG;IAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAA;CAAC,GAAG;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC;;;;gEAgBzG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;8BAItC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;CAAE;4BAO5C,wLASK;6BAEL,CAAC,YAAY,EAAE,UAAU,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
/** @type {ContractMeta} */
|
|
2
|
-
export const meta: ContractMeta;
|
|
3
1
|
export function validateQuestionDetails(zoe: ERef<ZoeService>, electorate: Instance, details: ParamChangeIssueDetails): Promise<[void, void, void]>;
|
|
4
2
|
export function validateQuestionFromCounter(zoe: ERef<ZoeService>, electorate: Instance, voteCounter: Instance): Promise<[void, void, void]>;
|
|
5
|
-
export function
|
|
3
|
+
export function prepare<SF extends GovernableStartFn>(zcf: ZCF<{
|
|
6
4
|
timer: import('@agoric/time/src/types').TimerService;
|
|
7
5
|
governedContractInstallation: Installation<SF>;
|
|
8
6
|
governed: {
|
|
@@ -16,10 +14,10 @@ export function start<SF extends GovernableStartFn>(zcf: ZCF<{
|
|
|
16
14
|
};
|
|
17
15
|
}>, privateArgs: {
|
|
18
16
|
governed: Record<string, unknown>;
|
|
19
|
-
}, baggage:
|
|
17
|
+
}, baggage: MapStore<string, unknown>): Promise<{
|
|
20
18
|
creatorFacet: GovernorCreatorFacet<SF>;
|
|
21
19
|
publicFacet: GovernorPublic;
|
|
22
20
|
}>;
|
|
23
21
|
export type ContractGovernorTerms = StandardTerms;
|
|
24
|
-
import { CONTRACT_ELECTORATE } from
|
|
22
|
+
import { CONTRACT_ELECTORATE } from "./contractGovernance/governParam.js";
|
|
25
23
|
//# sourceMappingURL=contractGovernor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractGovernor.d.ts","sourceRoot":"","sources":["contractGovernor.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contractGovernor.d.ts","sourceRoot":"","sources":["contractGovernor.js"],"names":[],"mappings":"AAsBO,6CAJI,KAAK,UAAU,CAAC,cAChB,QAAQ,WACR,uBAAuB,+BAkBjC;AAYM,iDAJI,KAAK,UAAU,CAAC,cAChB,QAAQ,eACR,QAAQ,+BAWlB;AA0FM;WAjBK,OAAO,wBAAwB,EAAE,YAAY;;cAE1C;QACd,mBAAyB,EAAE,mBAAmB,CAAC;QAC/C,KAAW,EAAE;YAAC,cAAc,EAAE;gBAAC,qBAAqB,EAAE,OAAO,2CAA2C,EAAE,eAAe,CAAA;aAAC,CAAA;SAAC,CAAC;QAC5H,KAAW,CAAC,EAAE,MAAM,CAAC;KAChB;iBAEK;IACV,QAAY,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;;iBAGc,cAAc;GA+D/B;oCAjJY,aAAa"}
|
package/src/contractGovernor.js
CHANGED
|
@@ -11,12 +11,6 @@ const { Fail } = assert;
|
|
|
11
11
|
|
|
12
12
|
const trace = makeTracer('CGov', false);
|
|
13
13
|
|
|
14
|
-
/** @type {ContractMeta} */
|
|
15
|
-
export const meta = {
|
|
16
|
-
upgradability: 'canUpgrade',
|
|
17
|
-
};
|
|
18
|
-
harden(meta);
|
|
19
|
-
|
|
20
14
|
/**
|
|
21
15
|
* Validate that the question details correspond to a parameter change question
|
|
22
16
|
* that the electorate hosts, and that the voteCounter and other details are
|
|
@@ -153,8 +147,8 @@ harden(validateQuestionFromCounter);
|
|
|
153
147
|
* }>}
|
|
154
148
|
* @param {import('@agoric/vat-data').Baggage} baggage
|
|
155
149
|
*/
|
|
156
|
-
export const
|
|
157
|
-
trace('
|
|
150
|
+
export const prepare = async (zcf, privateArgs, baggage) => {
|
|
151
|
+
trace('prepare');
|
|
158
152
|
const zoe = zcf.getZoeService();
|
|
159
153
|
trace('getTerms', zcf.getTerms());
|
|
160
154
|
const {
|
|
@@ -208,9 +202,9 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
208
202
|
// Specifically, to the vat of the governed contract for its API names. The exo
|
|
209
203
|
// defers that until API governance is requested to be invoked or validated.
|
|
210
204
|
|
|
211
|
-
trace('
|
|
205
|
+
trace('prepare complete');
|
|
212
206
|
|
|
213
207
|
// CRUCIAL: only contractGovernor should get the ability to update params
|
|
214
208
|
return { creatorFacet: governorKit.creator, publicFacet: governorKit.public };
|
|
215
209
|
};
|
|
216
|
-
harden(
|
|
210
|
+
harden(prepare);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function prepareContractGovernorKit(baggage:
|
|
1
|
+
export function prepareContractGovernorKit(baggage: MapStore<string, unknown>, powers: {
|
|
2
2
|
timer: import('@agoric/time/src/types').TimerService;
|
|
3
3
|
zoe: ERef<ZoeService>;
|
|
4
4
|
}): (startedInstanceKit: import("@agoric/zoe/src/zoeService/utils.js").StartedInstanceKit<GovernableStartFn>, limitedCreatorFacet: any) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractGovernorKit.d.ts","sourceRoot":"","sources":["contractGovernorKit.js"],"names":[],"mappings":"AAqBO,
|
|
1
|
+
{"version":3,"file":"contractGovernorKit.d.ts","sourceRoot":"","sources":["contractGovernorKit.js"],"names":[],"mappings":"AAqBO,uFALI;IACV,KAAS,EAAE,OAAO,wBAAwB,EAAE,YAAY,CAAC;IACzD,GAAO,EAAE,KAAK,UAAU,CAAC,CAAC;CACvB;;QAiCI,sCAAsC;iCAArB,QAAQ,QAAQ,CAAC;QAQlC,wCAAwC;gCAAvB,QAAQ,UAAU,CAAC;;;;;;QAkEpC;;;WAGG;2CAFQ,UAAU,GACR,QAAQ,IAAI,CAAC;QAgB1B,iCAAiC;;QAOjC,kCAAkC;;QAelC,gCAAgC;;;;;;;;;;QA4BhC,gCAAgC;qCAApB,QAAQ;QAepB,6BAA6B;iCAAjB,QAAQ;QAWpB,uCAAuC;mCAA3B,WAAW;;;;QAxKvB,sCAAsC;iCAArB,QAAQ,QAAQ,CAAC;QAQlC,wCAAwC;gCAAvB,QAAQ,UAAU,CAAC;;;;;;QAkEpC;;;WAGG;2CAFQ,UAAU,GACR,QAAQ,IAAI,CAAC;QAgB1B,iCAAiC;;QAOjC,kCAAkC;;QAelC,gCAAgC;;;;;;;;;;QA4BhC,gCAAgC;qCAApB,QAAQ;QAepB,6BAA6B;iCAAjB,QAAQ;QAWpB,uCAAuC;mCAA3B,WAAW;;GAY9B;kCAEa,WAAW,WAAW,iCAAiC,CAAC,CAAC"}
|
|
@@ -76,7 +76,6 @@ export const prepareContractGovernorKit = (baggage, powers) => {
|
|
|
76
76
|
async provideApiGovernance() {
|
|
77
77
|
const { timer } = powers;
|
|
78
78
|
const { creatorFacet } = this.state;
|
|
79
|
-
await null;
|
|
80
79
|
if (!apiGovernance) {
|
|
81
80
|
trace('awaiting governed API dependencies');
|
|
82
81
|
const [governedApis, governedNames] = await Promise.all([
|
package/src/contractHelper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const GOVERNANCE_STORAGE_KEY: "governance";
|
|
2
|
-
export function validateElectorate(zcf: ZCF<GovernanceTerms<{}> & {}>, paramManager: import('./contractGovernance/typedParamManager').TypedParamManager<
|
|
2
|
+
export function validateElectorate(zcf: ZCF<GovernanceTerms<{}> & {}>, paramManager: import('./contractGovernance/typedParamManager').TypedParamManager<unknown>): Promise<void>;
|
|
3
3
|
/**
|
|
4
4
|
* Helper for the 90% of contracts that will have only a single set of
|
|
5
5
|
* parameters. Using this for managed parameters, a contract only has to
|
|
@@ -38,31 +38,31 @@ export function handleParamGovernance<M extends import("./contractGovernance/typ
|
|
|
38
38
|
};
|
|
39
39
|
augmentPublicFacet: <PF extends {}>(originalPublicFacet: PF) => GovernedPublicFacet<PF>;
|
|
40
40
|
augmentVirtualPublicFacet: <OPF extends {}>(originalPublicFacet: OPF) => OPF & {
|
|
41
|
-
getAmount: import("@agoric/
|
|
42
|
-
getBrand: import("@agoric/
|
|
43
|
-
getInstance: import("@agoric/
|
|
44
|
-
getInstallation: import("@agoric/
|
|
45
|
-
getInvitationAmount: import("@agoric/
|
|
46
|
-
getNat: import("@agoric/
|
|
47
|
-
getRatio: import("@agoric/
|
|
48
|
-
getString: import("@agoric/
|
|
49
|
-
getTimestamp: import("@agoric/
|
|
50
|
-
getRelativeTime: import("@agoric/
|
|
51
|
-
getUnknown: import("@agoric/
|
|
41
|
+
getAmount: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
42
|
+
getBrand: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
43
|
+
getInstance: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
44
|
+
getInstallation: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
45
|
+
getInvitationAmount: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
46
|
+
getNat: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
47
|
+
getRatio: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
48
|
+
getString: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
49
|
+
getTimestamp: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
50
|
+
getRelativeTime: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
51
|
+
getUnknown: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
52
52
|
getSubscription: () => StoredSubscription<GovernanceSubscriptionState>;
|
|
53
53
|
getGovernedParams: () => ERef<ParamStateRecord>;
|
|
54
54
|
} & import("@endo/eventual-send").RemotableBrand<{}, OPF & {
|
|
55
|
-
getAmount: import("@agoric/
|
|
56
|
-
getBrand: import("@agoric/
|
|
57
|
-
getInstance: import("@agoric/
|
|
58
|
-
getInstallation: import("@agoric/
|
|
59
|
-
getInvitationAmount: import("@agoric/
|
|
60
|
-
getNat: import("@agoric/
|
|
61
|
-
getRatio: import("@agoric/
|
|
62
|
-
getString: import("@agoric/
|
|
63
|
-
getTimestamp: import("@agoric/
|
|
64
|
-
getRelativeTime: import("@agoric/
|
|
65
|
-
getUnknown: import("@agoric/
|
|
55
|
+
getAmount: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
56
|
+
getBrand: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
57
|
+
getInstance: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
58
|
+
getInstallation: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
59
|
+
getInvitationAmount: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
60
|
+
getNat: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
61
|
+
getRatio: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
62
|
+
getString: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
63
|
+
getTimestamp: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
64
|
+
getRelativeTime: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
65
|
+
getUnknown: import("@agoric/vat-data/src/types.js").PlusContext<never, ((name: string) => Amount<AssetKind>) | ((name: string) => Brand<AssetKind>) | ((name: string) => Instance) | ((name: string) => Installation<any>) | ((name: string) => Amount<"set">) | ((name: string) => bigint) | ((name: string) => Ratio) | ((name: string) => string) | ((name: string) => import("@agoric/time/src/types.js").TimestampRecord) | ((name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord) | ((name: string) => any)>;
|
|
66
66
|
getSubscription: () => StoredSubscription<GovernanceSubscriptionState>;
|
|
67
67
|
getGovernedParams: () => ERef<ParamStateRecord>;
|
|
68
68
|
}>;
|
|
@@ -71,14 +71,14 @@ export function handleParamGovernance<M extends import("./contractGovernance/typ
|
|
|
71
71
|
makeVirtualGovernorFacet: (limitedCreatorFacet: {
|
|
72
72
|
[methodName: string]: (context?: unknown, ...rest: unknown[]) => unknown;
|
|
73
73
|
}) => {
|
|
74
|
-
governorFacet: import("@agoric/
|
|
74
|
+
governorFacet: import("@agoric/vat-data/src/types.js").FunctionsPlusContext<unknown, GovernedCreatorFacet<{
|
|
75
75
|
[methodName: string]: (context?: unknown, ...rest: unknown[]) => unknown;
|
|
76
76
|
}>>;
|
|
77
77
|
limitedCreatorFacet: {
|
|
78
78
|
[methodName: string]: (context?: unknown, ...rest: unknown[]) => unknown;
|
|
79
79
|
};
|
|
80
80
|
};
|
|
81
|
-
makeDurableGovernorFacet: <CF_2>(baggage:
|
|
81
|
+
makeDurableGovernorFacet: <CF_2>(baggage: MapStore<string, unknown>, limitedCreatorFacet: CF_2, governedApis?: Record<string, (...any: any[]) => unknown> | undefined) => {
|
|
82
82
|
governorFacet: {
|
|
83
83
|
getParamMgrRetriever: () => {
|
|
84
84
|
get: () => import("./contractGovernance/typedParamManager.js").TypedParamManager<M & {
|
|
@@ -89,7 +89,7 @@ export function handleParamGovernance<M extends import("./contractGovernance/typ
|
|
|
89
89
|
Electorate: "invitation";
|
|
90
90
|
}>;
|
|
91
91
|
}>;
|
|
92
|
-
getInvitation: (name: any) => Promise<Invitation<
|
|
92
|
+
getInvitation: (name: any) => Promise<Invitation<unknown, never>>;
|
|
93
93
|
getLimitedCreatorFacet: () => CF_2;
|
|
94
94
|
/** @type {() => GovernedApis} */
|
|
95
95
|
getGovernedApis: () => GovernedApis;
|
|
@@ -105,7 +105,7 @@ export function handleParamGovernance<M extends import("./contractGovernance/typ
|
|
|
105
105
|
Electorate: "invitation";
|
|
106
106
|
}>;
|
|
107
107
|
}>;
|
|
108
|
-
getInvitation: (name: any) => Promise<Invitation<
|
|
108
|
+
getInvitation: (name: any) => Promise<Invitation<unknown, never>>;
|
|
109
109
|
getLimitedCreatorFacet: () => CF_2;
|
|
110
110
|
/** @type {() => GovernedApis} */
|
|
111
111
|
getGovernedApis: () => GovernedApis;
|
|
@@ -119,18 +119,18 @@ export function handleParamGovernance<M extends import("./contractGovernance/typ
|
|
|
119
119
|
}>;
|
|
120
120
|
};
|
|
121
121
|
export namespace publicMixinAPI {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
122
|
+
const getSubscription: any;
|
|
123
|
+
const getGovernedParams: any;
|
|
124
|
+
const getAmount: any;
|
|
125
|
+
const getBrand: any;
|
|
126
|
+
const getInstance: any;
|
|
127
|
+
const getInstallation: any;
|
|
128
|
+
const getInvitationAmount: any;
|
|
129
|
+
const getNat: any;
|
|
130
|
+
const getRatio: any;
|
|
131
|
+
const getString: any;
|
|
132
|
+
const getTimestamp: any;
|
|
133
|
+
const getRelativeTime: any;
|
|
134
|
+
const getUnknown: any;
|
|
135
135
|
}
|
|
136
136
|
//# sourceMappingURL=contractHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractHelper.d.ts","sourceRoot":"","sources":["contractHelper.js"],"names":[],"mappings":"AAcA,kDAAmD;AAsB5C,wCAHI,IAAI,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,gBAC7B,OAAO,wCAAwC,EAAE,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"contractHelper.d.ts","sourceRoot":"","sources":["contractHelper.js"],"names":[],"mappings":"AAcA,kDAAmD;AAsB5C,wCAHI,IAAI,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,gBAC7B,OAAO,wCAAwC,EAAE,iBAAiB,CAAC,OAAO,CAAC,iBAerF;AAyLD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yKALW,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wHAtImB,OAAO;;yCAuCC,OAAO,WAAW,OAAO,EAAE,KAAK,OAAO;;;6CAAvC,OAAO,WAAW,OAAO,EAAE,KAAK,OAAO;;;6CAAvC,OAAO,WAAW,OAAO,EAAE,KAAK,OAAO;;;qJAgC/C,OAAO;;;;;;;;;;;;;YAkBvC,iCAAiC;mCAAhB,YAAY;;;;;;;;;;;;;;;YAA7B,iCAAiC;mCAAhB,YAAY;;;;;;;;;EAuEpC"}
|
package/src/contractHelper.js
CHANGED
|
@@ -32,7 +32,7 @@ const publicMixinAPI = harden({
|
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* @param {ZCF<GovernanceTerms<{}> & {}>} zcf
|
|
35
|
-
* @param {import('./contractGovernance/typedParamManager').TypedParamManager<
|
|
35
|
+
* @param {import('./contractGovernance/typedParamManager').TypedParamManager<unknown>} paramManager
|
|
36
36
|
*/
|
|
37
37
|
export const validateElectorate = (zcf, paramManager) => {
|
|
38
38
|
const { governedParams } = zcf.getTerms();
|
|
@@ -53,7 +53,7 @@ harden(validateElectorate);
|
|
|
53
53
|
/**
|
|
54
54
|
* Utility function for `makeParamGovernance`.
|
|
55
55
|
*
|
|
56
|
-
* @template
|
|
56
|
+
* @template T
|
|
57
57
|
* @param {ZCF<GovernanceTerms<{}> & {}>} zcf
|
|
58
58
|
* @param {import('./contractGovernance/typedParamManager').TypedParamManager<T>} paramManager
|
|
59
59
|
*/
|
|
@@ -155,7 +155,7 @@ const facetHelpers = (zcf, paramManager) => {
|
|
|
155
155
|
* @param {{ [methodName: string]: (context?: unknown, ...rest: unknown[]) => unknown}} limitedCreatorFacet
|
|
156
156
|
*/
|
|
157
157
|
const makeVirtualGovernorFacet = limitedCreatorFacet => {
|
|
158
|
-
/** @type {import('@agoric/
|
|
158
|
+
/** @type {import('@agoric/vat-data/src/types.js').FunctionsPlusContext<unknown, GovernedCreatorFacet<limitedCreatorFacet>>} */
|
|
159
159
|
const governorFacet = harden({
|
|
160
160
|
getParamMgrRetriever: () =>
|
|
161
161
|
Far('paramRetriever', { get: () => paramManager }),
|
package/src/electorateTools.d.ts
CHANGED
|
@@ -38,5 +38,9 @@ export function getQuestion(questionHandleP: ERef<Handle<'Question'>>, questionS
|
|
|
38
38
|
* @param {ZCF} zcf
|
|
39
39
|
* @param {AddQuestion} addQuestion
|
|
40
40
|
*/
|
|
41
|
-
export function getPoserInvitation(zcf: ZCF, addQuestion: AddQuestion): Promise<Invitation<
|
|
41
|
+
export function getPoserInvitation(zcf: ZCF, addQuestion: AddQuestion): Promise<Invitation<{
|
|
42
|
+
addQuestion: AddQuestion;
|
|
43
|
+
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
44
|
+
addQuestion: AddQuestion;
|
|
45
|
+
}>, never>>;
|
|
42
46
|
//# sourceMappingURL=electorateTools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electorateTools.d.ts","sourceRoot":"","sources":["electorateTools.js"],"names":[],"mappings":";aAKc,KAAK,uBAAuB,CAAC;iBAC7B,sBAAsB;cACtB,OAAO,wBAAwB,EAAE,SAAS;;iCAK7C,GAAG,gBACH,YAAY,mBACZ,OAAO,eACP,KAAK,YAAY,CAAC,iBAClB,SAAS,OAAO,UAAU,CAAC,EAAE,cAAc,CAAC,qBAC5C,UAAU,OAAO,CAAC,oBAClB,UAAU,aAAa,CAAC,KACtB,iBAAiB;AAhB9B;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,2BAFU,YAAY,CAsCpB;AAEF,0EAA0E;AAC1E,gDADY,SAAS,OAAO,UAAU,CAAC,EAAE,cAAc,CAAC,gBAYvD;AAED;;;GAGG;AACH,6CAHW,KAAK,OAAO,UAAU,CAAC,CAAC,iBACxB,SAAS,OAAO,UAAU,CAAC,EAAE,cAAc,CAAC,qBAKpD;AAEH;;;GAGG;AACH,wCAHW,GAAG,eACH,WAAW
|
|
1
|
+
{"version":3,"file":"electorateTools.d.ts","sourceRoot":"","sources":["electorateTools.js"],"names":[],"mappings":";aAKc,KAAK,uBAAuB,CAAC;iBAC7B,sBAAsB;cACtB,OAAO,wBAAwB,EAAE,SAAS;;iCAK7C,GAAG,gBACH,YAAY,mBACZ,OAAO,eACP,KAAK,YAAY,CAAC,iBAClB,SAAS,OAAO,UAAU,CAAC,EAAE,cAAc,CAAC,qBAC5C,UAAU,OAAO,CAAC,oBAClB,UAAU,aAAa,CAAC,KACtB,iBAAiB;AAhB9B;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,2BAFU,YAAY,CAsCpB;AAEF,0EAA0E;AAC1E,gDADY,SAAS,OAAO,UAAU,CAAC,EAAE,cAAc,CAAC,gBAYvD;AAED;;;GAGG;AACH,6CAHW,KAAK,OAAO,UAAU,CAAC,CAAC,iBACxB,SAAS,OAAO,UAAU,CAAC,EAAE,cAAc,CAAC,qBAKpD;AAEH;;;GAGG;AACH,wCAHW,GAAG,eACH,WAAW;;;;YAKrB"}
|
package/src/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiCandidateVoteCounter.d.ts","sourceRoot":"","sources":["multiCandidateVoteCounter.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"multiCandidateVoteCounter.d.ts","sourceRoot":"","sources":["multiCandidateVoteCounter.js"],"names":[],"mappings":"AAgCA,oCAAoC;AACpC,4CADW,qBAAqB,CAwL9B;AAEF;;;GAGG;AACH;kBAH8B,YAAY;qBAAmB,MAAM;0BACxD;IAAC,gBAAgB,EAAE,UAAU,kBAAkB,CAAC,CAAA;CAAC;;;EAgB3D"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint @typescript-eslint/no-floating-promises: "warn" */
|
|
2
1
|
import { keyEQ, makeExo, makeScalarMapStore } from '@agoric/store';
|
|
3
2
|
import { E } from '@endo/eventual-send';
|
|
4
3
|
import { makePromiseKit } from '@endo/promise-kit';
|
|
@@ -170,10 +169,10 @@ const makeMultiCandidateVoteCounter = (
|
|
|
170
169
|
chosenPositions.length <= maxChoices ||
|
|
171
170
|
Fail`The number of choices exceeds the max choices.`;
|
|
172
171
|
|
|
173
|
-
|
|
172
|
+
chosenPositions.forEach(position => {
|
|
174
173
|
positionIncluded(positions, position) ||
|
|
175
174
|
Fail`The specified choice is not a legal position: ${position}.`;
|
|
176
|
-
}
|
|
175
|
+
});
|
|
177
176
|
|
|
178
177
|
const completedBallot = harden({ chosen: chosenPositions, shares });
|
|
179
178
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noActionElectorate.d.ts","sourceRoot":"","sources":["noActionElectorate.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,oBAFW,gBAAgB,gBAAgB,EAAE,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"noActionElectorate.d.ts","sourceRoot":"","sources":["noActionElectorate.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,oBAFW,gBAAgB,gBAAgB,EAAE,sBAAsB,CAAC,CA+ClE"}
|
|
@@ -37,10 +37,8 @@ const start = zcf => {
|
|
|
37
37
|
|
|
38
38
|
const creatorFacet = makeExo('creatorFacet', ElectorateCreatorI, {
|
|
39
39
|
getPoserInvitation() {
|
|
40
|
-
return zcf.makeInvitation(
|
|
41
|
-
|
|
42
|
-
`noActionElectorate doesn't allow posing questions`,
|
|
43
|
-
);
|
|
40
|
+
return zcf.makeInvitation(() => {},
|
|
41
|
+
`noActionElectorate doesn't allow posing questions`);
|
|
44
42
|
},
|
|
45
43
|
addQuestion(_instance, _question) {
|
|
46
44
|
throw Error(`noActionElectorate doesn't add questions.`);
|
package/src/question.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/** @type {BuildQuestion} */
|
|
2
2
|
export const buildQuestion: BuildQuestion;
|
|
3
3
|
export namespace ChoiceMethod {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const UNRANKED: "unranked";
|
|
5
|
+
const ORDER: "order";
|
|
6
|
+
const PLURALITY: "plurality";
|
|
7
7
|
}
|
|
8
8
|
export namespace ElectionType {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
const PARAM_CHANGE: "param_change";
|
|
10
|
+
const ELECTION: "election";
|
|
11
|
+
const SURVEY: "survey";
|
|
12
|
+
const API_INVOCATION: "api_invocation";
|
|
13
|
+
const OFFER_FILTER: "offer_filter";
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* @param {QuestionSpec} allegedQuestionSpec
|
|
@@ -20,8 +20,8 @@ export function coerceQuestionSpec({ method, issue, positions, electionType, max
|
|
|
20
20
|
/** @type {PositionIncluded} */
|
|
21
21
|
export const positionIncluded: PositionIncluded;
|
|
22
22
|
export namespace QuorumRule {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const MAJORITY: "majority";
|
|
24
|
+
const NO_QUORUM: "no_quorum";
|
|
25
|
+
const ALL: "all";
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=question.d.ts.map
|