@agoric/zoe 0.26.3-dev-0f94e34.0 → 0.26.3-dev-303a9f2.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/zoe",
3
- "version": "0.26.3-dev-0f94e34.0+0f94e34",
3
+ "version": "0.26.3-dev-303a9f2.0+303a9f2",
4
4
  "description": "Zoe: the Smart Contract Framework for Offer Enforcement",
5
5
  "type": "module",
6
6
  "main": "./src/zoeService/zoe.js",
@@ -43,17 +43,17 @@
43
43
  },
44
44
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
45
45
  "dependencies": {
46
- "@agoric/assert": "0.6.1-dev-0f94e34.0+0f94e34",
47
- "@agoric/base-zone": "0.1.1-dev-0f94e34.0+0f94e34",
48
- "@agoric/ertp": "0.16.3-dev-0f94e34.0+0f94e34",
49
- "@agoric/internal": "0.3.3-dev-0f94e34.0+0f94e34",
50
- "@agoric/notifier": "0.6.3-dev-0f94e34.0+0f94e34",
51
- "@agoric/store": "0.9.3-dev-0f94e34.0+0f94e34",
52
- "@agoric/swingset-liveslots": "0.10.3-dev-0f94e34.0+0f94e34",
53
- "@agoric/swingset-vat": "0.32.3-dev-0f94e34.0+0f94e34",
54
- "@agoric/time": "0.3.3-dev-0f94e34.0+0f94e34",
55
- "@agoric/vat-data": "0.5.3-dev-0f94e34.0+0f94e34",
56
- "@agoric/zone": "0.2.3-dev-0f94e34.0+0f94e34",
46
+ "@agoric/assert": "0.6.1-dev-303a9f2.0+303a9f2",
47
+ "@agoric/base-zone": "0.1.1-dev-303a9f2.0+303a9f2",
48
+ "@agoric/ertp": "0.16.3-dev-303a9f2.0+303a9f2",
49
+ "@agoric/internal": "0.3.3-dev-303a9f2.0+303a9f2",
50
+ "@agoric/notifier": "0.6.3-dev-303a9f2.0+303a9f2",
51
+ "@agoric/store": "0.9.3-dev-303a9f2.0+303a9f2",
52
+ "@agoric/swingset-liveslots": "0.10.3-dev-303a9f2.0+303a9f2",
53
+ "@agoric/swingset-vat": "0.32.3-dev-303a9f2.0+303a9f2",
54
+ "@agoric/time": "0.3.3-dev-303a9f2.0+303a9f2",
55
+ "@agoric/vat-data": "0.5.3-dev-303a9f2.0+303a9f2",
56
+ "@agoric/zone": "0.2.3-dev-303a9f2.0+303a9f2",
57
57
  "@endo/bundle-source": "^3.2.3",
58
58
  "@endo/captp": "^4.2.0",
59
59
  "@endo/common": "^1.2.2",
@@ -68,7 +68,7 @@
68
68
  "yargs-parser": "^21.1.1"
69
69
  },
70
70
  "devDependencies": {
71
- "@agoric/kmarshal": "0.1.1-dev-0f94e34.0+0f94e34",
71
+ "@agoric/kmarshal": "0.1.1-dev-303a9f2.0+303a9f2",
72
72
  "@endo/init": "^1.1.2",
73
73
  "ava": "^5.3.0",
74
74
  "c8": "^9.1.0",
@@ -140,7 +140,7 @@
140
140
  "access": "public"
141
141
  },
142
142
  "typeCoverage": {
143
- "atLeast": 84.91
143
+ "atLeast": 84.92
144
144
  },
145
- "gitHead": "0f94e34eb539b8f91c82d0877df836738e58cc69"
145
+ "gitHead": "303a9f20404106fe9c09befbd728ed7a20ccf7e0"
146
146
  }
@@ -1,9 +1,11 @@
1
- type CopyRecord<T> = import('@endo/pass-style').CopyRecord<T>;
2
- type IssuerOptionsRecord = import('@agoric/ertp').IssuerOptionsRecord;
1
+ /// <reference types="@agoric/ertp/exported" />
2
+ /// <reference types="@endo/pass-style" />
3
+ /// <reference path="../zoeService/utils.d.ts" />
4
+
3
5
  /**
4
6
  * Any passable non-thenable. Often an explanatory string.
5
7
  */
6
- type Completion = any;
8
+ type Completion = import('@endo/pass-style').Passable;
7
9
  type ZCFMakeEmptySeatKit = (exit?: ExitRule | undefined) => ZcfSeatKit;
8
10
 
9
11
  type InvitationAmount = Amount<'set', InvitationDetails>;
@@ -62,7 +64,7 @@ type ZCF<CT extends unknown = Record<string, unknown>> = {
62
64
  proposalShape?: Pattern,
63
65
  ) => Promise<Invitation<R, A>>;
64
66
  shutdown: (completion: Completion) => void;
65
- shutdownWithFailure: ShutdownWithFailure;
67
+ shutdownWithFailure: import('@agoric/swingset-vat').ShutdownWithFailure;
66
68
  getZoeService: () => ERef<ZoeService>;
67
69
  getInvitationIssuer: () => Issuer<'set'>;
68
70
  getTerms: () => StandardTerms & CT;
@@ -73,7 +75,7 @@ type ZCF<CT extends unknown = Record<string, unknown>> = {
73
75
  keyword: Keyword,
74
76
  assetKind?: K_2 | undefined,
75
77
  displayInfo?: AdditionalDisplayInfo,
76
- options?: IssuerOptionsRecord,
78
+ options?: import('@agoric/ertp').IssuerOptionsRecord,
77
79
  ) => Promise<ZCFMint<K_2>>;
78
80
  registerFeeMint: ZCFRegisterFeeMint;
79
81
  makeEmptySeatKit: ZCFMakeEmptySeatKit;
@@ -216,8 +218,8 @@ type OfferHandler<OR extends unknown = unknown, OA = never> =
216
218
  handle: HandleOffer<OR, OA>;
217
219
  };
218
220
  type ContractMeta = {
219
- customTermsShape?: CopyRecord<any> | undefined;
220
- privateArgsShape?: CopyRecord<any> | undefined;
221
+ customTermsShape?: import('@endo/pass-style').CopyRecord<any> | undefined;
222
+ privateArgsShape?: import('@endo/pass-style').CopyRecord<any> | undefined;
221
223
  upgradability?: 'none' | 'canBeUpgraded' | 'canUpgrade' | undefined;
222
224
  };
223
225
  /**
@@ -238,8 +240,10 @@ type ContractStartFn<
238
240
  type ContractStartFnResult<PF, CF> = {
239
241
  publicFacet?: PF;
240
242
  creatorFacet?: CF;
241
- creatorInvitation?: Promise<Invitation<R, A>> | undefined;
243
+ creatorInvitation?: Promise<Invitation<any, any>> | undefined;
242
244
  };
245
+
246
+ // XXX redef, losing documentation
243
247
  type ContractOf<S> = import('../zoeService/utils').ContractOf<S>;
244
248
  type AdminFacet = import('../zoeService/utils').AdminFacet<any>;
245
249
 
@@ -1,5 +1,27 @@
1
- export type OracleContract = ContractOf<typeof start>;
1
+ export type OracleContract = {
2
+ terms: StandardTerms & Record<string, unknown>;
3
+ } & {
4
+ creatorFacet: {
5
+ initialize(privateParams: any): OracleCreatorFacet;
6
+ } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
7
+ initialize(privateParams: any): OracleCreatorFacet;
8
+ }>;
9
+ publicFacet: {
10
+ /** @param {OracleQuery} query */
11
+ query(query: OracleQuery): Promise<unknown>;
12
+ /** @param {OracleQuery} query */
13
+ makeQueryInvitation(query: OracleQuery): Promise<Invitation<unknown, never>>;
14
+ } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
15
+ /** @param {OracleQuery} query */
16
+ query(query: OracleQuery): Promise<unknown>;
17
+ /** @param {OracleQuery} query */
18
+ makeQueryInvitation(query: OracleQuery): Promise<Invitation<unknown, never>>;
19
+ }>;
20
+ };
2
21
  export type OracleStart = typeof start;
22
+ /**
23
+ * @import {ContractOf} from '../zoeService/utils.js';
24
+ */
3
25
  /**
4
26
  * This contract provides oracle queries for a fee or for free.
5
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["oracle.js"],"names":[],"mappings":"6BAyGc,UAAU,CAAC,OAAO,KAAK,CAAC;0BACxB,OAAO,KAAK;AAlG1B;;;;GAIG;AACH,2BAFW,GAAG;;;;;;;QAkDV,iCAAiC;qBAArB,WAAW;QAgBvB,iCAAiC;mCAArB,WAAW;;QAhBvB,iCAAiC;qBAArB,WAAW;QAgBvB,iCAAiC;mCAArB,WAAW;;GAwB1B"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["oracle.js"],"names":[],"mappings":";;;;;;;;;QAiEI,iCAAiC;qBAArB,WAAW;QAgBvB,iCAAiC;mCAArB,WAAW;;QAhBvB,iCAAiC;qBAArB,WAAW;QAgBvB,iCAAiC;mCAArB,WAAW;;;0BA6Bb,OAAO,KAAK;AAtG1B;;GAEG;AAEH;;;;GAIG;AACH,2BAFW,GAAG;;;;;;;QAkDV,iCAAiC;qBAArB,WAAW;QAgBvB,iCAAiC;mCAArB,WAAW;;QAhBvB,iCAAiC;qBAArB,WAAW;QAgBvB,iCAAiC;mCAArB,WAAW;;GAwB1B"}
@@ -6,6 +6,10 @@ import { AmountMath } from '@agoric/ertp';
6
6
  import { E } from '@endo/eventual-send';
7
7
  import { atomicTransfer } from '../contractSupport/index.js';
8
8
 
9
+ /**
10
+ * @import {ContractOf} from '../zoeService/utils.js';
11
+ */
12
+
9
13
  /**
10
14
  * This contract provides oracle queries for a fee or for free.
11
15
  *
@@ -3,7 +3,94 @@ export type OraclePriceSubmission = Readonly<ParsableNumber | {
3
3
  data: ParsableNumber;
4
4
  }>;
5
5
  export type Price = ParsableNumber | Ratio;
6
- export type PriceAggregatorContract = ContractOf<typeof start>;
6
+ export type PriceAggregatorContract = {
7
+ terms: StandardTerms & {
8
+ timer: import("@agoric/time").TimerService;
9
+ POLL_INTERVAL: bigint;
10
+ brandIn: globalThis.Brand<"nat">;
11
+ brandOut: globalThis.Brand<"nat">;
12
+ unitAmountIn: import("@agoric/ertp/exported.js").NatAmount;
13
+ };
14
+ privateArgs: {
15
+ marshaller: {
16
+ toCapData: import("@endo/marshal").ToCapData<unknown>;
17
+ fromCapData: import("@endo/marshal").FromCapData<unknown>;
18
+ serialize: import("@endo/marshal").ToCapData<unknown>;
19
+ unserialize: import("@endo/marshal").FromCapData<unknown>;
20
+ };
21
+ quoteMint?: globalThis.ERef<globalThis.Mint<"set", PriceDescription>> | undefined;
22
+ storageNode: globalThis.ERef<globalThis.StorageNode>;
23
+ };
24
+ } & {
25
+ creatorFacet: {
26
+ /**
27
+ * An "oracle invitation" is an invitation to be able to submit data to
28
+ * include in the priceAggregator's results.
29
+ *
30
+ * The offer result from this invitation is a OracleAdmin, which can be used
31
+ * directly to manage the price submissions as well as to terminate the
32
+ * relationship.
33
+ *
34
+ * @param {Instance | string} [oracleKey]
35
+ */
36
+ makeOracleInvitation: (oracleKey?: string | Instance | undefined) => Promise<Invitation<{
37
+ admin: OracleAdmin<Price>;
38
+ invitationMakers: {
39
+ PushPrice: (price: ParsableNumber) => Promise<Invitation<void, undefined>>;
40
+ };
41
+ }, {
42
+ notifier?: globalThis.Notifier<OraclePriceSubmission> | undefined;
43
+ scaleValueOut?: number | undefined;
44
+ } | undefined>>;
45
+ /** @param {OracleKey} oracleKey */
46
+ deleteOracle: (oracleKey: OracleKey) => Promise<void>;
47
+ /**
48
+ * @param {Instance | string} [oracleInstance]
49
+ * @param {OracleQuery} [query]
50
+ * @returns {Promise<OracleAdmin<Price>>}
51
+ */
52
+ initOracle: (oracleInstance?: string | Instance | undefined, query?: OracleQuery | undefined) => Promise<OracleAdmin<Price>>;
53
+ } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
54
+ /**
55
+ * An "oracle invitation" is an invitation to be able to submit data to
56
+ * include in the priceAggregator's results.
57
+ *
58
+ * The offer result from this invitation is a OracleAdmin, which can be used
59
+ * directly to manage the price submissions as well as to terminate the
60
+ * relationship.
61
+ *
62
+ * @param {Instance | string} [oracleKey]
63
+ */
64
+ makeOracleInvitation: (oracleKey?: string | Instance | undefined) => Promise<Invitation<{
65
+ admin: OracleAdmin<Price>;
66
+ invitationMakers: {
67
+ PushPrice: (price: ParsableNumber) => Promise<Invitation<void, undefined>>;
68
+ };
69
+ }, {
70
+ notifier?: globalThis.Notifier<OraclePriceSubmission> | undefined;
71
+ scaleValueOut?: number | undefined;
72
+ } | undefined>>;
73
+ /** @param {OracleKey} oracleKey */
74
+ deleteOracle: (oracleKey: OracleKey) => Promise<void>;
75
+ /**
76
+ * @param {Instance | string} [oracleInstance]
77
+ * @param {OracleQuery} [query]
78
+ * @returns {Promise<OracleAdmin<Price>>}
79
+ */
80
+ initOracle: (oracleInstance?: string | Instance | undefined, query?: OracleQuery | undefined) => Promise<OracleAdmin<Price>>;
81
+ }>;
82
+ publicFacet: {
83
+ getPriceAuthority(): import("@agoric/zoe/tools/types.js").PriceAuthority;
84
+ getSubscriber: () => globalThis.StoredSubscriber<unknown>;
85
+ /** Diagnostic tool */
86
+ getRoundCompleteNotifier(): Promise<globalThis.Notifier<any>>;
87
+ } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
88
+ getPriceAuthority(): import("@agoric/zoe/tools/types.js").PriceAuthority;
89
+ getSubscriber: () => globalThis.StoredSubscriber<unknown>;
90
+ /** Diagnostic tool */
91
+ getRoundCompleteNotifier(): Promise<globalThis.Notifier<any>>;
92
+ }>;
93
+ };
7
94
  /**
8
95
  * @deprecated use fluxAggregator
9
96
  *
@@ -1 +1 @@
1
- {"version":3,"file":"priceAggregator.d.ts","sourceRoot":"","sources":["priceAggregator.js"],"names":[],"mappings":"6BAoCc,MAAM,GAAG,MAAM,GAAG,MAAM;oCAEzB,QAAQ,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;oBAGlD,cAAc,GAAG,KAAK;sCAglBtB,UAAU,CAAC,OAAO,KAAK,CAAC;AA3kBtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,2BAbW,GAAG,CAAC;IACd,KAAO,EAAE,OAAO,cAAc,EAAE,YAAY,CAAC;IAC7C,aAAe,EAAE,MAAM,CAAC;IACxB,OAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,QAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,YAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CAC3B,CAAC;gBAEU,UAAU;;iBAET,IAAI,CAAC,WAAW,CAAC;;;QA8W7B;;;;;;;;;WASG;;mBAY4B,WAAW,CAAC,KAAK,CAAC;8BAAoB;gBAAC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;aAAC;;;;;QA0CtI,mCAAmC;kCAAvB,SAAS;QAarB;;;;WAIG;yGADU,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;QA/ExC;;;;;;;;;WASG;;mBAY4B,WAAW,CAAC,KAAK,CAAC;8BAAoB;gBAAC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;aAAC;;;;;QA0CtI,mCAAmC;kCAAvB,SAAS;QAarB;;;;WAIG;yGADU,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;;;;QAmHxC,sBAAsB;;;;;QAAtB,sBAAsB;;;GAOzB;sCAplB4E,4BAA4B"}
1
+ {"version":3,"file":"priceAggregator.d.ts","sourceRoot":"","sources":["priceAggregator.js"],"names":[],"mappings":"6BAqCc,MAAM,GAAG,MAAM,GAAG,MAAM;oCAEzB,QAAQ,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;oBAGlD,cAAc,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;QAoYhC;;;;;;;;;WASG;;;;mCAYsF,cAAc;;;;;;QA0CvG,mCAAmC;kCAAvB,SAAS;QAarB;;;;WAIG;;;QAhFH;;;;;;;;;WASG;;;;mCAYsF,cAAc;;;;;;QA0CvG,mCAAmC;kCAAvB,SAAS;QAarB;;;;WAIG;;;;;;QAkHH,sBAAsB;;;;;QAAtB,sBAAsB;;;;AAjkB1B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,2BAbW,GAAG,CAAC;IACd,KAAO,EAAE,OAAO,cAAc,EAAE,YAAY,CAAC;IAC7C,aAAe,EAAE,MAAM,CAAC;IACxB,OAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,QAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,YAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CAC3B,CAAC;gBAEU,UAAU;;iBAET,IAAI,CAAC,WAAW,CAAC;;;QA8W7B;;;;;;;;;WASG;;mBAY4B,WAAW,CAAC,KAAK,CAAC;8BAAoB;gBAAC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;aAAC;;;;;QA0CtI,mCAAmC;kCAAvB,SAAS;QAarB;;;;WAIG;yGADU,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;QA/ExC;;;;;;;;;WASG;;mBAY4B,WAAW,CAAC,KAAK,CAAC;8BAAoB;gBAAC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;aAAC;;;;;QA0CtI,mCAAmC;kCAAvB,SAAS;QAarB;;;;WAIG;yGADU,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;;;;QAmHxC,sBAAsB;;;;;QAAtB,sBAAsB;;;GAOzB;sCAplB4E,4BAA4B"}
@@ -32,6 +32,7 @@ import {
32
32
 
33
33
  /**
34
34
  * @import {LegacyMap} from '@agoric/store'
35
+ * @import {ContractOf} from '../zoeService/utils.js';
35
36
  * @import {PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js';
36
37
  */
37
38
  /** @typedef {bigint | number | string} ParsableNumber */
@@ -1 +1 @@
1
- {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["internal-types.js"],"names":[],"mappings":";cAIc,cAAc;uBACd,UAAU;gBACV,UAAU;gBACV,MAAM;;;;;qCAOT,UAAU,KACR,qBAAqB;;sBAKpB,CAAC,UAAU,EAAC,UAAU,KAAK,qBAAqB;;;sBAKhD,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI;eACpC,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO;;;cAKvC,QAAQ;kBACR,YAAY;;;;;+CAMf,UAAU,uBACV,mBAAmB,YACnB,cAAc,iBACd,aAAa,WACb,IAAI,CAAC,OAAO,CAAC,gBACb,IAAI,CAAC,OAAO,CAAC,WACb,OAAO,kBAAkB,EAAE,OAAO,KAChC,eAAe;sCAKjB,UAAU,KACR,IAAI;;uBAKH,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI;UAChC,gBAAgB;;;;;UAChB,OAAO,sBAAsB,EAAE,mBAAmB;uBAElD,MAAM,UAAU,CAAC,mBAAmB,CAAC;;oBAGtC,OAAO,eAAe,EAAE,eAAe,GAAG,mBAAmB;;wBAS5D,OAAO,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC;aACzC,OAAO;;;;;;;;2BASP,MAAM,IAAI;kBACV,CAAC,gBAAgB,EAAE,gBAAgB,EAChD,iBAAuB,EAAE,UAAU,EACnC,QAAc,EAAE,cAAc,EAC9B,SAAe,CAAC,EAAE,MAAM,KACjB,QAAQ;sBACF,gBAAgB;iBAChB,MAAM,QAAQ;oBACd,MAAM,MAAM;gBACZ,MAAM,mBAAmB;eACzB,MAAM,kBAAkB;cACxB,MAAM,MAAM;oBACZ,MAAM,MAAM,EAAE;qBACd,MAAM,YAAY;kBAClB,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI;kBAChC,OAAO,sBAAsB,EAAE,mBAAmB;yBAClD,MAAM,IAAI;eACV,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO;sBAC3B,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI;oBAC9D,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI;;;;;;;;iBAS3B,CAAC,gBAAgB,EAAE,gBAAgB,EAChD,QAAsB,EAAE,QAAQ,KACd,iBAAiB;;yDAKzB,gBAAgB,eAChB,MAAM,mEAEN,OAAO,KACL,UAAU;;oBAKT,8BAA8B;gBAC9B,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,IAAI,CAEnB,CAAC,AAFoB,CAAC,EAChD,OAAqB,EAAE,OAAO,KACZ,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;iBAC7E,WAAW;qBACX,eAAe;sBACf,gBAAgB;wBAChB,kBAAkB;kBAClB,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI;kBAChC,OAAO,sBAAsB,EAAE,mBAAmB;cAClD,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI;cACxD,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI;yBAC/C,MAAM,IAAI;oBACV,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAChC,MAAM,KAAK,CAAC,MAAM,CAAC;uBACnB,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,CAAC,mBAAmB,CAAC;qCAC3D,MAAM,IAAI;;iCAKb,OAAO,wBACP,aAAa,KAEX,OAAO,CAAC,KAAK,CAAC;0CAKhB,OAAO,kBACP,SAAS;6BAMT,OAAO;;;mBAIL,OAAO;4CAKT,UAAU,YACV,cAAc,WACd,OAAO,cACP,UAAU,KACR,QAAQ;kDAKV,oBAAoB,EAAE;;gBAKnB,UAAU;gBACV,UAAU;;aAQW,CAAC;qBAFtB,MAAM,YAAY,CAEG,CAAC,AAFF,CAAC;mBACrB,CAAC,WAAW,EAAE,MAAM,CACC,CAAC,AADA,CAAC,KAAK,IAAI;;;;;;;qBAChC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;;;cAShC,QAAQ;qBACR,eAAe;;;kBAKf,MAAM;;iBAEN,MAAM;oBACN,cAAc;;mCAKjB,IAAI,CAAC,gBAAgB,CAAC,yBACtB,cAAc,wBACd,aAAa,gBACb,MAAM,KACJ,OAAO,CAAC,qBAAqB,CAAC;sCAKhC,MAAM,KACJ,OAAO,kCAAkC;8BAK3C,cAAc,gBACd,OAAO,KACL,OAAO;;UAKN,MAAM,IAAI;;kBAIX,MAAM,CAAC,MAAM,CAAC;;;;;;mCAShB,KAAK,KACH,SAAS;qBAIT,KAAK,CAAC,YAAY,CAAC;8BAKrB,QAAQ,KACN,OAAO;;;;;+BAQP,IAAI;;iBAKH,WAAW;gBACX,UAAU;uBACV,iBAAiB;;;gBAKjB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,KAAK,IAAI;;;;;;wCASxD,OAAO,gBACP,YAAY,KACV,IAAI;;eAKH,sBAAsB;uBACtB,MAAM,cAAc;cACpB,MAAM,QAAQ;qBACd,MAAM,YAAY;gBAClB,MAAM,mBAAmB;eACzB,MAAM,kBAAkB;yBACxB,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI"}
1
+ {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["internal-types.js"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  // @jessie-check
2
+ /// <reference types="@agoric/ertp/exported" />
2
3
 
3
4
  /**
4
5
  * @typedef {object} SeatData
@@ -163,7 +164,7 @@
163
164
  * @param {Keyword} keyword
164
165
  * @param {AssetKind} [assetKind]
165
166
  * @param {AdditionalDisplayInfo} [displayInfo]
166
- * @param {IssuerOptionsRecord} [options]
167
+ * @param {import('@agoric/ertp').IssuerOptionsRecord} [options]
167
168
  * @returns {ZoeMint}
168
169
  */
169
170
 
@@ -66,7 +66,7 @@ export const makeStartInstance = (
66
66
  adminNode: M.remotable('adminNode'),
67
67
  });
68
68
 
69
- /** @type {import('@agoric/swingset-liveslots').PromiseWatcher<unknown, [InstanceAdmin, Handle<'adminNode'>]>} */
69
+ /** @type {import('@agoric/swingset-liveslots').PromiseWatcher<Completion, [InstanceAdmin, Handle<'adminNode'>]>} */
70
70
  const watcher = prepareExo(
71
71
  zoeBaggage,
72
72
  'InstanceCompletionWatcher',
@@ -1,6 +1,9 @@
1
+ // Ambient types
2
+ import '../types-ambient.js';
3
+ import '../contractFacet/types-ambient.js';
4
+
1
5
  import type { Issuer } from '@agoric/ertp/exported.js';
2
6
  import type { TagContainer } from '@agoric/internal/src/tagged.js';
3
- import type { Callable } from '@agoric/internal/src/utils.js';
4
7
  import type { Baggage } from '@agoric/swingset-liveslots';
5
8
  import type { VatUpgradeResults } from '@agoric/swingset-vat';
6
9
  import type { RemotableObject } from '@endo/marshal';
@@ -8,10 +11,6 @@ import type { RemotableObject } from '@endo/marshal';
8
11
  // XXX https://github.com/Agoric/agoric-sdk/issues/4565
9
12
  type SourceBundle = Record<string, any>;
10
13
 
11
- type ContractFacet<T extends {} = {}> = {
12
- readonly [P in keyof T]: T[P] extends Callable ? T[P] : never;
13
- };
14
-
15
14
  /**
16
15
  * Installation of a contract, typed by its start function.
17
16
  */
@@ -48,41 +47,30 @@ export type AdminFacet<SF extends ContractStartFunction> = RemotableObject & {
48
47
  : (newPrivateArgs: Parameters<SF>[1]) => Promise<VatUpgradeResults>;
49
48
  };
50
49
 
51
- type StartParams<SF> = SF extends ContractStartFunction
50
+ export type StartParams<SF> = SF extends ContractStartFunction
52
51
  ? Parameters<SF>[1] extends undefined
53
52
  ? {
54
- terms: ReturnType<Parameters<SF>[0]['getTerms']>;
53
+ terms: ReturnType<ZcfOf<SF>['getTerms']>;
55
54
  }
56
55
  : {
57
- terms: ReturnType<Parameters<SF>[0]['getTerms']>;
56
+ terms: ReturnType<ZcfOf<SF>['getTerms']>;
58
57
  privateArgs: Parameters<SF>[1];
59
58
  }
60
59
  : never;
61
60
 
62
- type StartResult<S> = S extends (...args: any) => Promise<infer U>
63
- ? U
64
- : ReturnType<S>;
61
+ type StartResult<S extends (...args: any) => any> = Awaited<ReturnType<S>>;
62
+ type ZcfOf<SF extends ContractStartFunction> = Parameters<SF>[0] extends ZCF
63
+ ? Parameters<SF>[0]
64
+ : ZCF<any>;
65
65
 
66
66
  /**
67
67
  * Convenience record for contract start function, merging its result with params.
68
68
  */
69
- export type ContractOf<S> = StartParams<S> & StartResult<S>;
70
-
71
- type StartContractInstance<C> = (
72
- installation: Installation<C>,
73
- issuerKeywordRecord?: Record<string, Issuer<any>>,
74
- terms?: object,
75
- privateArgs?: object,
76
- ) => Promise<{
77
- creatorFacet: C['creatorFacet'];
78
- publicFacet: C['publicFacet'];
79
- instance: Instance;
80
- creatorInvitation: C['creatorInvitation'];
81
- adminFacet: AdminFacet<any>;
82
- }>;
69
+ export type ContractOf<S extends (...args: any) => any> = StartParams<S> &
70
+ StartResult<S>;
83
71
 
84
72
  /** The result of `startInstance` */
85
- export type StartedInstanceKit<SF> = {
73
+ export type StartedInstanceKit<SF extends ContractStartFunction> = {
86
74
  instance: Instance<SF>;
87
75
  adminFacet: AdminFacet<SF>;
88
76
  // theses are empty by default. the return type will override
@@ -110,6 +98,7 @@ export type StartedInstanceKit<SF> = {
110
98
  * the creator facet, public facet, and creator invitation as defined
111
99
  * by the contract.
112
100
  */
101
+ // XXX SF should extend ContractStartFunction but doing that triggers a bunch of tech debt type errors
113
102
  export type StartInstance = <SF>(
114
103
  installation: Installation<SF> | PromiseLike<Installation<SF>>,
115
104
  issuerKeywordRecord?: Record<Keyword, Issuer<any>>,
@@ -119,6 +108,7 @@ export type StartInstance = <SF>(
119
108
  label?: string,
120
109
  ) => Promise<StartedInstanceKit<SF>>;
121
110
 
111
+ // XXX SF should extend ContractStartFunction but doing that triggers a bunch of tech debt type errors
122
112
  export type GetPublicFacet = <SF>(
123
113
  instance: Instance<SF> | PromiseLike<Instance<SF>>,
124
114
  ) => Promise<StartResult<SF>['publicFacet']>;
@@ -3,7 +3,7 @@ import type { StartedInstanceKit } from './utils';
3
3
  const someContractStartFn = (
4
4
  zcf: ZCF,
5
5
  privateArgs: { someNumber: number; someString: string },
6
- ) => {};
6
+ ) => ({});
7
7
 
8
8
  type PsmInstanceKit = StartedInstanceKit<typeof someContractStartFn>;
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"scriptedOracle.d.ts","sourceRoot":"","sources":["scriptedOracle.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,2CANW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,sBACnB,YAAY,CAAC,OAAO,4BAA4B,EAAE,WAAW,CAAC,SAC9D,OAAO,cAAc,EAAE,YAAY,OACnC,UAAU,aACV,MAAM;;qBA6B6B,WAAW;mCAS+T,WAAW;;;;;;GADlY"}
1
+ {"version":3,"file":"scriptedOracle.d.ts","sourceRoot":"","sources":["scriptedOracle.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,2CANW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,sBACnB,YAAY,CAAC,OAAO,4BAA4B,EAAE,WAAW,CAAC,SAC9D,OAAO,cAAc,EAAE,YAAY,OACnC,UAAU,aACV,MAAM;;qBAiCH,WACP;mCAIib,WAAW;;;;;;GADlc"}