@agoric/inter-protocol 0.16.2-dev-0282e58.0 → 0.16.2-dev-26b0505.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/inter-protocol",
3
- "version": "0.16.2-dev-0282e58.0+0282e58",
3
+ "version": "0.16.2-dev-26b0505.0+26b0505",
4
4
  "description": "Core cryptoeconomy contracts",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -31,16 +31,16 @@
31
31
  },
32
32
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
33
33
  "dependencies": {
34
- "@agoric/assert": "0.6.1-dev-0282e58.0+0282e58",
35
- "@agoric/ertp": "0.16.3-dev-0282e58.0+0282e58",
36
- "@agoric/governance": "0.10.4-dev-0282e58.0+0282e58",
37
- "@agoric/internal": "0.3.3-dev-0282e58.0+0282e58",
38
- "@agoric/notifier": "0.6.3-dev-0282e58.0+0282e58",
39
- "@agoric/store": "0.9.3-dev-0282e58.0+0282e58",
40
- "@agoric/time": "0.3.3-dev-0282e58.0+0282e58",
41
- "@agoric/vat-data": "0.5.3-dev-0282e58.0+0282e58",
42
- "@agoric/vats": "0.15.2-dev-0282e58.0+0282e58",
43
- "@agoric/zoe": "0.26.3-dev-0282e58.0+0282e58",
34
+ "@agoric/assert": "0.6.1-dev-26b0505.0+26b0505",
35
+ "@agoric/ertp": "0.16.3-dev-26b0505.0+26b0505",
36
+ "@agoric/governance": "0.10.4-dev-26b0505.0+26b0505",
37
+ "@agoric/internal": "0.3.3-dev-26b0505.0+26b0505",
38
+ "@agoric/notifier": "0.6.3-dev-26b0505.0+26b0505",
39
+ "@agoric/store": "0.9.3-dev-26b0505.0+26b0505",
40
+ "@agoric/time": "0.3.3-dev-26b0505.0+26b0505",
41
+ "@agoric/vat-data": "0.5.3-dev-26b0505.0+26b0505",
42
+ "@agoric/vats": "0.15.2-dev-26b0505.0+26b0505",
43
+ "@agoric/zoe": "0.26.3-dev-26b0505.0+26b0505",
44
44
  "@endo/captp": "^4.2.0",
45
45
  "@endo/eventual-send": "^1.2.2",
46
46
  "@endo/far": "^1.1.2",
@@ -50,10 +50,10 @@
50
50
  "jessie.js": "^0.3.4"
51
51
  },
52
52
  "devDependencies": {
53
- "@agoric/smart-wallet": "0.5.4-dev-0282e58.0+0282e58",
54
- "@agoric/swingset-liveslots": "0.10.3-dev-0282e58.0+0282e58",
55
- "@agoric/swingset-vat": "0.32.3-dev-0282e58.0+0282e58",
56
- "@agoric/zone": "0.2.3-dev-0282e58.0+0282e58",
53
+ "@agoric/smart-wallet": "0.5.4-dev-26b0505.0+26b0505",
54
+ "@agoric/swingset-liveslots": "0.10.3-dev-26b0505.0+26b0505",
55
+ "@agoric/swingset-vat": "0.32.3-dev-26b0505.0+26b0505",
56
+ "@agoric/zone": "0.2.3-dev-26b0505.0+26b0505",
57
57
  "@endo/bundle-source": "^3.2.3",
58
58
  "@endo/init": "^1.1.2",
59
59
  "@endo/promise-kit": "^1.1.2",
@@ -84,5 +84,5 @@
84
84
  "typeCoverage": {
85
85
  "atLeast": 95.81
86
86
  },
87
- "gitHead": "0282e584c0aeaea977d1ecb5cccdba8173b73bb6"
87
+ "gitHead": "26b0505898de4f4bd8bccdfff5f9993c73ac12f5"
88
88
  }
@@ -5,8 +5,8 @@
5
5
  * votes into separate capabilities for finer grain encapsulation.
6
6
  */
7
7
  export const INVITATION_MAKERS_DESC: "charter member invitation";
8
- /** @type {ContractMeta} */
9
- export const meta: ContractMeta;
8
+ /** @type {ContractMeta<typeof start>} */
9
+ export const meta: ContractMeta<typeof start>;
10
10
  export function start(zcf: ZCF<{
11
11
  binaryVoteCounterInstallation: Installation;
12
12
  }>, privateArgs: undefined, baggage: import("@agoric/vat-data").Baggage): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"econCommitteeCharter.d.ts","sourceRoot":"","sources":["econCommitteeCharter.js"],"names":[],"mappings":"AAaA;;;;;GAKG;AAEH,iEAAkE;AAoBlE,2BAA2B;AAC3B,mBADW,YAAY,CAMrB;AAQK,2BAJI,GAAG,CAAC;IAAE,6BAA6B,EAAE,YAAY,CAAA;CAAE,CAAC,eACpD,SAAS,WACT,OAAO,kBAAkB,EAAE,OAAO;;QAsHvC;;;;WAIG;wCAHQ,QAAQ,iBACR,oBAAoB,CAAC,GAAG,CAAC;;;;;0CAxE7B,QAAQ,cACR,MAAM,cACN,MAAM,EAAE,YACR,OAAO,cAAc,EAAE,cAAc;;;;GAkFjD;;cAjKa,MAAM;cACN,QAAQ;YACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;mBACV;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE"}
1
+ {"version":3,"file":"econCommitteeCharter.d.ts","sourceRoot":"","sources":["econCommitteeCharter.js"],"names":[],"mappings":"AAaA;;;;;GAKG;AAEH,iEAAkE;AAoBlE,yCAAyC;AACzC,mBADW,YAAY,CAAC,OAAO,KAAK,CAAC,CAMnC;AAQK,2BAJI,GAAG,CAAC;IAAE,6BAA6B,EAAE,YAAY,CAAA;CAAE,CAAC,eACpD,SAAS,WACT,OAAO,kBAAkB,EAAE,OAAO;;QAsHvC;;;;WAIG;wCAHQ,QAAQ,iBACR,oBAAoB,CAAC,GAAG,CAAC;;;;;0CAxE7B,QAAQ,cACR,MAAM,cACN,MAAM,EAAE,YACR,OAAO,cAAc,EAAE,cAAc;;;;GAkFjD;;cAjKa,MAAM;cACN,QAAQ;YACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;mBACV;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE"}
@@ -38,7 +38,7 @@ const ParamChangesOfferArgsShape = M.splitRecord(
38
38
  },
39
39
  );
40
40
 
41
- /** @type {ContractMeta} */
41
+ /** @type {ContractMeta<typeof start>} */
42
42
  export const meta = {
43
43
  customTermsShape: {
44
44
  binaryVoteCounterInstallation: InstallationShape,
@@ -1,5 +1,5 @@
1
- /** @type {ContractMeta} */
2
- export const meta: ContractMeta;
1
+ /** @type {ContractMeta<typeof start>} */
2
+ export const meta: ContractMeta<typeof start>;
3
3
  export function makeContractFeeCollector(zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>): {
4
4
  collectFees: () => Promise<globalThis.Payment<any>>;
5
5
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
@@ -1 +1 @@
1
- {"version":3,"file":"feeDistributor.d.ts","sourceRoot":"","sources":["feeDistributor.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feeDistributor.d.ts","sourceRoot":"","sources":["feeDistributor.js"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { KeywordShape } from '@agoric/zoe/src/typeGuards.js';
9
9
 
10
10
  const KeywordSharesShape = M.recordOf(KeywordShape, M.nat());
11
11
 
12
- /** @type {ContractMeta} */
12
+ /** @type {ContractMeta<typeof start>} */
13
13
  export const meta = {
14
14
  customTermsShape: {
15
15
  keywordShares: KeywordSharesShape,
@@ -2,74 +2,71 @@ export const SECONDS_PER_MINUTE: 60n;
2
2
  export const SECONDS_PER_HOUR: bigint;
3
3
  export const SECONDS_PER_DAY: bigint;
4
4
  export const SECONDS_PER_WEEK: bigint;
5
- export function setupReserve({ consume: { board, feeMintAccess: feeMintAccessP, chainStorage, chainTimerService, diagnostics, zoe, economicCommitteeCreatorFacet: committeeCreator, }, produce: { reserveKit }, issuer: { consume: { [Stable.symbol]: centralIssuer }, }, instance: { produce: { reserve: reserveInstanceProducer, reserveGovernor }, }, installation: { consume: { contractGovernor: governorInstallation, reserve: reserveInstallation, }, }, }: EconomyBootstrapPowers): Promise<Installation<(zcf: ZCF</** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */
6
- /** @typedef {Awaited<ReturnType<VFStart>>['publicFacet']} VaultFactoryPublicFacet */
7
- /**
8
- * @typedef {object} PSMKit
9
- * @property {string} label
10
- * @property {Instance} psm
11
- * @property {Instance} psmGovernor
12
- * @property {Awaited<
13
- * ReturnType<
14
- * Awaited<
15
- * ReturnType<import('../psm/psm.js')['start']>
16
- * >['creatorFacet']['getLimitedCreatorFacet']
17
- * >
18
- * >} psmCreatorFacet
19
- * @property {GovernorCreatorFacet<import('../../src/psm/psm.js')['start']>} psmGovernorCreatorFacet
20
- * @property {AdminFacet} psmAdminFacet
21
- */
22
- /** @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit */
23
- /**
24
- * @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
25
- *
26
- *
27
- * @typedef {PromiseSpaceOf<{
28
- * economicCommitteeKit: CommitteeStartResult;
29
- * economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
30
- * feeDistributorKit: StartedInstanceKit<
31
- * typeof import('../feeDistributor.js').start
32
- * >;
33
- * periodicFeeCollectors: MapStore<
34
- * number,
35
- * import('../feeDistributor.js').PeriodicFeeCollector
36
- * >;
37
- * psmKit: MapStore<Brand, PSMKit>;
38
- * anchorBalancePayments: MapStore<Brand, Payment<'nat'>>;
39
- * econCharterKit: EconCharterStartResult;
40
- * reserveKit: GovernanceFacetKit<
41
- * import('../reserve/assetReserve.js')['start']
42
- * >;
43
- * vaultFactoryKit: GovernanceFacetKit<VFStart>;
44
- * auctioneerKit: AuctioneerKit;
45
- * newAuctioneerKit: AuctioneerKit | undefined;
46
- * minInitialDebt: NatValue;
47
- * }>} EconomyBootstrapSpace
48
- */
49
- /**
50
- * @typedef {StartedInstanceKit<
51
- * import('../econCommitteeCharter.js')['start']
52
- * >} EconCharterStartResult
53
- */
54
- /**
55
- * @typedef {StartedInstanceKit<
56
- * import('@agoric/governance/src/committee.js')['start']
57
- * >} CommitteeStartResult
58
- */
59
- /**
60
- * @file A collection of productions, each of which declares inputs and outputs.
61
- * Each function is passed a set of powers for reading from and writing to the
62
- * vat config.
63
- *
64
- * Each of the things they produce they're responsible for resolving or setting.
65
- *
66
- * In production called by @agoric/vats to bootstrap.
67
- */
68
- /** @param {EconomyBootstrapPowers} powers */
69
- /** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */ GovernanceTerms<{}> & {
5
+ export function setupReserve({ consume: { board, feeMintAccess: feeMintAccessP, chainStorage, chainTimerService, diagnostics, zoe, economicCommitteeCreatorFacet: committeeCreator, }, produce: { reserveKit }, issuer: { consume: { [Stable.symbol]: centralIssuer }, }, instance: { produce: { reserve: reserveInstanceProducer, reserveGovernor }, }, installation: { consume: { contractGovernor: governorInstallation, reserve: reserveInstallation, }, }, }: EconomyBootstrapPowers): Promise<Installation<(zcf: ZCF<GovernanceTerms<{}> & {
70
6
  governedApis: ["burnFeesToReduceShortfall"];
71
7
  }>, privateArgs: {
72
- feeMintAccess: FeeMintAccess;
8
+ feeMintAccess: FeeMintAccess; /**
9
+ * @typedef {object} PSMKit
10
+ * @property {string} label
11
+ * @property {Instance} psm
12
+ * @property {Instance} psmGovernor
13
+ * @property {Awaited<
14
+ * ReturnType<
15
+ * Awaited<
16
+ * ReturnType<import('../psm/psm.js')['start']>
17
+ * >['creatorFacet']['getLimitedCreatorFacet']
18
+ * >
19
+ * >} psmCreatorFacet
20
+ * @property {GovernorCreatorFacet<import('../../src/psm/psm.js')['start']>} psmGovernorCreatorFacet
21
+ * @property {AdminFacet} psmAdminFacet
22
+ */
23
+ /** @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit */
24
+ /**
25
+ * @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
26
+ *
27
+ *
28
+ * @typedef {PromiseSpaceOf<{
29
+ * economicCommitteeKit: CommitteeStartResult;
30
+ * economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
31
+ * feeDistributorKit: StartedInstanceKit<
32
+ * typeof import('../feeDistributor.js').start
33
+ * >;
34
+ * periodicFeeCollectors: MapStore<
35
+ * number,
36
+ * import('../feeDistributor.js').PeriodicFeeCollector
37
+ * >;
38
+ * psmKit: MapStore<Brand, PSMKit>;
39
+ * anchorBalancePayments: MapStore<Brand, Payment<'nat'>>;
40
+ * econCharterKit: EconCharterStartResult;
41
+ * reserveKit: GovernanceFacetKit<
42
+ * import('../reserve/assetReserve.js')['start']
43
+ * >;
44
+ * vaultFactoryKit: GovernanceFacetKit<VFStart>;
45
+ * auctioneerKit: AuctioneerKit;
46
+ * newAuctioneerKit: AuctioneerKit | undefined;
47
+ * minInitialDebt: NatValue;
48
+ * }>} EconomyBootstrapSpace
49
+ */
50
+ /**
51
+ * @typedef {StartedInstanceKit<
52
+ * import('../econCommitteeCharter.js')['start']
53
+ * >} EconCharterStartResult
54
+ */
55
+ /**
56
+ * @typedef {StartedInstanceKit<
57
+ * import('@agoric/governance/src/committee.js')['start']
58
+ * >} CommitteeStartResult
59
+ */
60
+ /**
61
+ * @file A collection of productions, each of which declares inputs and outputs.
62
+ * Each function is passed a set of powers for reading from and writing to the
63
+ * vat config.
64
+ *
65
+ * Each of the things they produce they're responsible for resolving or setting.
66
+ *
67
+ * In production called by @agoric/vats to bootstrap.
68
+ */
69
+ /** @param {EconomyBootstrapPowers} powers */
73
70
  initialPoserInvitation: Invitation;
74
71
  marshaller: ERef<Marshaller>;
75
72
  storageNode: ERef<StorageNode>;
@@ -500,74 +497,71 @@ export type EconomyBootstrapSpace = {
500
497
  psmKit: Promise<globalThis.MapStore<globalThis.Brand, PSMKit>>;
501
498
  anchorBalancePayments: Promise<globalThis.MapStore<globalThis.Brand, globalThis.Payment<"nat">>>;
502
499
  econCharterKit: Promise<EconCharterStartResult>;
503
- reserveKit: Promise<globalThis.GovernanceFacetKit<(zcf: ZCF</** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */
504
- /** @typedef {Awaited<ReturnType<VFStart>>['publicFacet']} VaultFactoryPublicFacet */
505
- /**
506
- * @typedef {object} PSMKit
507
- * @property {string} label
508
- * @property {Instance} psm
509
- * @property {Instance} psmGovernor
510
- * @property {Awaited<
511
- * ReturnType<
512
- * Awaited<
513
- * ReturnType<import('../psm/psm.js')['start']>
514
- * >['creatorFacet']['getLimitedCreatorFacet']
515
- * >
516
- * >} psmCreatorFacet
517
- * @property {GovernorCreatorFacet<import('../../src/psm/psm.js')['start']>} psmGovernorCreatorFacet
518
- * @property {AdminFacet} psmAdminFacet
519
- */
520
- /** @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit */
521
- /**
522
- * @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
523
- *
524
- *
525
- * @typedef {PromiseSpaceOf<{
526
- * economicCommitteeKit: CommitteeStartResult;
527
- * economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
528
- * feeDistributorKit: StartedInstanceKit<
529
- * typeof import('../feeDistributor.js').start
530
- * >;
531
- * periodicFeeCollectors: MapStore<
532
- * number,
533
- * import('../feeDistributor.js').PeriodicFeeCollector
534
- * >;
535
- * psmKit: MapStore<Brand, PSMKit>;
536
- * anchorBalancePayments: MapStore<Brand, Payment<'nat'>>;
537
- * econCharterKit: EconCharterStartResult;
538
- * reserveKit: GovernanceFacetKit<
539
- * import('../reserve/assetReserve.js')['start']
540
- * >;
541
- * vaultFactoryKit: GovernanceFacetKit<VFStart>;
542
- * auctioneerKit: AuctioneerKit;
543
- * newAuctioneerKit: AuctioneerKit | undefined;
544
- * minInitialDebt: NatValue;
545
- * }>} EconomyBootstrapSpace
546
- */
547
- /**
548
- * @typedef {StartedInstanceKit<
549
- * import('../econCommitteeCharter.js')['start']
550
- * >} EconCharterStartResult
551
- */
552
- /**
553
- * @typedef {StartedInstanceKit<
554
- * import('@agoric/governance/src/committee.js')['start']
555
- * >} CommitteeStartResult
556
- */
557
- /**
558
- * @file A collection of productions, each of which declares inputs and outputs.
559
- * Each function is passed a set of powers for reading from and writing to the
560
- * vat config.
561
- *
562
- * Each of the things they produce they're responsible for resolving or setting.
563
- *
564
- * In production called by @agoric/vats to bootstrap.
565
- */
566
- /** @param {EconomyBootstrapPowers} powers */
567
- /** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */ GovernanceTerms<{}> & {
500
+ reserveKit: Promise<globalThis.GovernanceFacetKit<(zcf: ZCF<GovernanceTerms<{}> & {
568
501
  governedApis: ["burnFeesToReduceShortfall"];
569
502
  }>, privateArgs: {
570
- feeMintAccess: FeeMintAccess;
503
+ feeMintAccess: FeeMintAccess; /**
504
+ * @typedef {object} PSMKit
505
+ * @property {string} label
506
+ * @property {Instance} psm
507
+ * @property {Instance} psmGovernor
508
+ * @property {Awaited<
509
+ * ReturnType<
510
+ * Awaited<
511
+ * ReturnType<import('../psm/psm.js')['start']>
512
+ * >['creatorFacet']['getLimitedCreatorFacet']
513
+ * >
514
+ * >} psmCreatorFacet
515
+ * @property {GovernorCreatorFacet<import('../../src/psm/psm.js')['start']>} psmGovernorCreatorFacet
516
+ * @property {AdminFacet} psmAdminFacet
517
+ */
518
+ /** @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit */
519
+ /**
520
+ * @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
521
+ *
522
+ *
523
+ * @typedef {PromiseSpaceOf<{
524
+ * economicCommitteeKit: CommitteeStartResult;
525
+ * economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
526
+ * feeDistributorKit: StartedInstanceKit<
527
+ * typeof import('../feeDistributor.js').start
528
+ * >;
529
+ * periodicFeeCollectors: MapStore<
530
+ * number,
531
+ * import('../feeDistributor.js').PeriodicFeeCollector
532
+ * >;
533
+ * psmKit: MapStore<Brand, PSMKit>;
534
+ * anchorBalancePayments: MapStore<Brand, Payment<'nat'>>;
535
+ * econCharterKit: EconCharterStartResult;
536
+ * reserveKit: GovernanceFacetKit<
537
+ * import('../reserve/assetReserve.js')['start']
538
+ * >;
539
+ * vaultFactoryKit: GovernanceFacetKit<VFStart>;
540
+ * auctioneerKit: AuctioneerKit;
541
+ * newAuctioneerKit: AuctioneerKit | undefined;
542
+ * minInitialDebt: NatValue;
543
+ * }>} EconomyBootstrapSpace
544
+ */
545
+ /**
546
+ * @typedef {StartedInstanceKit<
547
+ * import('../econCommitteeCharter.js')['start']
548
+ * >} EconCharterStartResult
549
+ */
550
+ /**
551
+ * @typedef {StartedInstanceKit<
552
+ * import('@agoric/governance/src/committee.js')['start']
553
+ * >} CommitteeStartResult
554
+ */
555
+ /**
556
+ * @file A collection of productions, each of which declares inputs and outputs.
557
+ * Each function is passed a set of powers for reading from and writing to the
558
+ * vat config.
559
+ *
560
+ * Each of the things they produce they're responsible for resolving or setting.
561
+ *
562
+ * In production called by @agoric/vats to bootstrap.
563
+ */
564
+ /** @param {EconomyBootstrapPowers} powers */
571
565
  initialPoserInvitation: Invitation;
572
566
  marshaller: ERef<Marshaller>;
573
567
  storageNode: ERef<StorageNode>;
@@ -1093,7 +1087,7 @@ export type EconCharterStartResult = {
1093
1087
  binaryVoteCounterInstallation: Installation;
1094
1088
  }>, privateArgs: undefined, baggage: import("@agoric/vat-data").Baggage) => Promise<{
1095
1089
  creatorFacet: import("@endo/exo").Guarded<{
1096
- addInstance: (governedInstance: Instance /** @type {GovernorStartedInstallationKit<typeof reserveInstallation>} */, governorFacet: GovernorCreatorFacet<any>, label?: string | undefined) => void;
1090
+ addInstance: (governedInstance: Instance, governorFacet: GovernorCreatorFacet<any>, label?: string | undefined) => void;
1097
1091
  makeCharterMemberInvitation: () => Promise<Invitation<{
1098
1092
  invitationMakers: import("@endo/exo").Guarded<{
1099
1093
  VoteOnParamChange: () => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, import("../econCommitteeCharter.js").ParamChangesOfferArgs>>;
@@ -1 +1 @@
1
- {"version":3,"file":"econ-behaviors.d.ts","sourceRoot":"","sources":["econ-behaviors.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"econ-behaviors.d.ts","sourceRoot":"","sources":["econ-behaviors.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"AAgBA,8CAA8C;AAE9C,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAqBK,2BAZI,GAAG,CAAC,cAAc,CAAC;cAEf,OAAO,WAAW,EAAE,IAAI,CACtC,OAAa,8BAA8B,EAAE,IAAI,CAC5C;4BACuB,UAAU;iBACrB,WAAW;;sBAEN,OAAO,uBAAuB,EAAE,mBAAmB;YAE/D,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;gDAsEi4E,QAAQ;;;sDAA6i/B,OAAO,eAAe,EAAE,OAAO,CAAC,SAAQ,IAAK,CAAC;;yCAAvpS,OAAO;;;gDAA48I,SAAS;;;;;;;;;;;;;;;;;;;8EAAqqJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;8EAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;8EAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAnx+B,0BAA0B;;;;;;2BAAgkC,KAAK,YAA2B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;GAHn3H;;;;6BAlFY,aAAa,GACzB,eAAmB,CAAC;IACpB,uBAA6B,EAAE,QAAQ,CAAC;CACnC,CAAC;6BAxBoB,eAAe"}
1
+ {"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"AAgBA,8CAA8C;AAE9C,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAqBK,2BAZI,GAAG,CAAC,cAAc,CAAC;cAEf,OAAO,WAAW,EAAE,IAAI,CACtC,OAAa,8BAA8B,EAAE,IAAI,CAC5C;4BACuB,UAAU;iBACrB,WAAW;;sBAEN,OAAO,uBAAuB,EAAE,mBAAmB;YAE/D,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;gDAsEkqF,QAAQ;;;sDAA4w+B,OAAO,eAAe,EAAE,OAAO,CAAC,SAAQ,IAAK,CAAC;;yCAAvpS,OAAO;;;gDAA48I,SAAS;;;;;;;;;;;;;;;;;;;8EAAqqJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;8EAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;8EAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAx/9B,0BAA0B;;;;;;2BAAgkC,KAAK,YAA2B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;GAH9oI;;;;6BAlFY,aAAa,GACzB,eAAmB,CAAC;IACpB,uBAA6B,EAAE,QAAQ,CAAC;CACnC,CAAC;6BAxBoB,eAAe"}
@@ -245,6 +245,12 @@ export function prepareProvisionPoolKit(baggage: import("@agoric/vat-data").Bagg
245
245
  onProvisioned(): void;
246
246
  /** @param {ERef<Bank>} destBank */
247
247
  sendInitialPayment(destBank: ERef<Bank>): Promise<void>;
248
+ /**
249
+ * @param {ERef<Purse>} exchangePurse
250
+ * @param {ERef<Brand>} brand
251
+ */
252
+ watchCurrentAmount(exchangePurse: ERef<globalThis.Purse>, brand: ERef<globalThis.Brand>): void;
253
+ watchAssetSubscription(): Promise<undefined>;
248
254
  /**
249
255
  * @param {object} [options]
250
256
  * @param {MetricsNotification} [options.metrics]
@@ -296,7 +302,7 @@ export type PsmInstance = import("@agoric/zoe/src/zoeService/utils.js").Instance
296
302
  Electorate: "invitation";
297
303
  }>;
298
304
  }>;
299
- getInvitation: (name: any) => Promise<Invitation<unknown, undefined>>; /** @param {string} address */
305
+ getInvitation: (name: any) => Promise<Invitation<unknown, undefined>>;
300
306
  getLimitedCreatorFacet: () => import("@endo/exo").Guarded<{
301
307
  getRewardAllocation(): Allocation;
302
308
  makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
@@ -351,7 +357,9 @@ export type ProvisionPoolKitReferences = {
351
357
  }>>;
352
358
  namesByAddressAdmin: ERef<import("@agoric/vats").NameAdmin>;
353
359
  walletFactory: ERef<{
354
- provideSmartWallet(address: string, bank: ERef<import("@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats/src/types.js").NameAdmin>): Promise<[wallet: {
360
+ provideSmartWallet(address: string, bank: ERef<import(
361
+ /** @param {ERef<Bank>} destBank */
362
+ "@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats/src/types.js").NameAdmin>): Promise<[wallet: {
355
363
  handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
356
364
  getDepositFacet(): import("@endo/exo").Guarded<{
357
365
  receive(payment: Payment): Promise<Amount>;
@@ -449,7 +457,9 @@ export type ProvisionPoolKitReferences = {
449
457
  repairWalletForIncarnation2(key: object): void;
450
458
  }>> & import("@endo/marshal").RemotableObject, isNew: boolean]>;
451
459
  } & import("../../../node_modules/@endo/exo/src/get-interface.js").GetInterfaceGuard<{
452
- provideSmartWallet(address: string, bank: ERef<import("@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats/src/types.js").NameAdmin>): Promise<[wallet: {
460
+ provideSmartWallet(address: string, bank: ERef<import(
461
+ /** @param {ERef<Bank>} destBank */
462
+ "@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats/src/types.js").NameAdmin>): Promise<[wallet: {
453
463
  handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
454
464
  getDepositFacet(): import("@endo/exo").Guarded<{
455
465
  receive(payment: Payment): Promise<Amount>;
@@ -547,7 +557,9 @@ export type ProvisionPoolKitReferences = {
547
557
  repairWalletForIncarnation2(key: object): void;
548
558
  }>> & import("@endo/marshal").RemotableObject, isNew: boolean]>;
549
559
  }> & import("@endo/eventual-send").RemotableBrand<{}, {
550
- provideSmartWallet(address: string, bank: ERef<import("@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats/src/types.js").NameAdmin>): Promise<[wallet: {
560
+ provideSmartWallet(address: string, bank: ERef<import(
561
+ /** @param {ERef<Bank>} destBank */
562
+ "@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats/src/types.js").NameAdmin>): Promise<[wallet: {
551
563
  handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
552
564
  getDepositFacet(): import("@endo/exo").Guarded<{
553
565
  receive(payment: Payment): Promise<Amount>;
@@ -645,7 +657,9 @@ export type ProvisionPoolKitReferences = {
645
657
  repairWalletForIncarnation2(key: object): void;
646
658
  }>> & import("@endo/marshal").RemotableObject, isNew: boolean]>;
647
659
  } & import("../../../node_modules/@endo/exo/src/get-interface.js").GetInterfaceGuard<{
648
- provideSmartWallet(address: string, bank: ERef<import("@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats/src/types.js").NameAdmin>): Promise<[wallet: {
660
+ provideSmartWallet(address: string, bank: ERef<import(
661
+ /** @param {ERef<Bank>} destBank */
662
+ "@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats/src/types.js").NameAdmin>): Promise<[wallet: {
649
663
  handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
650
664
  getDepositFacet(): import("@endo/exo").Guarded<{
651
665
  receive(payment: Payment): Promise<Amount>;
@@ -1 +1 @@
1
- {"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  // @ts-check
2
2
  import { AmountMath, BrandShape } from '@agoric/ertp';
3
- import { deeplyFulfilledObject } from '@agoric/internal';
3
+ import { deeplyFulfilledObject, makeTracer } from '@agoric/internal';
4
4
  import { UnguardedHelperI } from '@agoric/internal/src/typeGuards.js';
5
5
  import {
6
6
  observeIteration,
@@ -21,9 +21,16 @@ import {
21
21
  import { InstanceHandleShape } from '@agoric/zoe/src/typeGuards.js';
22
22
  import { E } from '@endo/far';
23
23
  import { Far } from '@endo/marshal';
24
+ import { isUpgradeDisconnection } from '@agoric/internal/src/upgrade-api.js';
24
25
 
25
26
  const { details: X, quote: q, Fail } = assert;
26
27
 
28
+ const trace = makeTracer('ProvPool');
29
+
30
+ const FIRST_UPPER_KEYWORD = /^[A-Z][a-zA-Z0-9_$]*$/;
31
+ // see https://github.com/Agoric/agoric-sdk/issues/8238
32
+ const FIRST_LOWER_NEAR_KEYWORD = /^[a-z][a-zA-Z0-9_$]*$/;
33
+
27
34
  /**
28
35
  * @import {ERef} from '@endo/far'
29
36
  * @import {Amount} from '@agoric/ertp/src/types.js'
@@ -73,7 +80,7 @@ export const makeBridgeProvisionTool = (sendInitialPayment, onProvisioned) => {
73
80
  fromBridge: async obj => {
74
81
  obj.type === 'PLEASE_PROVISION' ||
75
82
  Fail`Unrecognized request ${obj.type}`;
76
- console.info('PLEASE_PROVISION', obj);
83
+ trace('PLEASE_PROVISION', obj);
77
84
  const { address, powerFlags } = obj;
78
85
  powerFlags.includes(PowerFlags.SMART_WALLET) ||
79
86
  Fail`missing SMART_WALLET in powerFlags`;
@@ -90,7 +97,7 @@ export const makeBridgeProvisionTool = (sendInitialPayment, onProvisioned) => {
90
97
  if (created) {
91
98
  onProvisioned();
92
99
  }
93
- console.info(created ? 'provisioned' : 're-provisioned', address);
100
+ trace(created ? 'provisioned' : 're-provisioned', address);
94
101
  },
95
102
  });
96
103
  return makeBridgeHandler;
@@ -149,7 +156,7 @@ export const prepareProvisionPoolKit = (
149
156
  /** @type {import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<MetricsNotification>} */
150
157
  const metricsRecorderKit = makeRecorderKit(metricsNode);
151
158
 
152
- /** @type {MapStore<Brand, PsmInstance>} */
159
+ /** @type {MapStore<ERef<Brand>, PsmInstance>} */
153
160
  const brandToPSM = makeScalarBigMapStore('brandToPSM', { durable: true });
154
161
  const revivableAddresses = makeScalarBigSetStore('revivableAddresses', {
155
162
  durable: true,
@@ -184,7 +191,7 @@ export const prepareProvisionPoolKit = (
184
191
  machine: {
185
192
  /** @param {string[]} oldAddresses */
186
193
  addRevivableAddresses(oldAddresses) {
187
- console.log('revivableAddresses count', oldAddresses.length);
194
+ trace('revivableAddresses count', oldAddresses.length);
188
195
  this.state.revivableAddresses.addAll(oldAddresses);
189
196
  },
190
197
  getWalletReviver() {
@@ -318,7 +325,7 @@ export const prepareProvisionPoolKit = (
318
325
  .deposit(initialPmt)
319
326
  .then(amt => {
320
327
  helper.onSendFunds(perAccountInitialAmount);
321
- console.log('provisionPool sent', amt);
328
+ trace('provisionPool sent', amt);
322
329
  })
323
330
  .catch(reason => {
324
331
  console.error(X`initial deposit failed: ${q(reason)}`);
@@ -327,62 +334,114 @@ export const prepareProvisionPoolKit = (
327
334
  });
328
335
  },
329
336
  /**
330
- * @param {object} [options]
331
- * @param {MetricsNotification} [options.metrics]
337
+ * @param {ERef<Purse>} exchangePurse
338
+ * @param {ERef<Brand>} brand
332
339
  */
333
- start({ metrics } = {}) {
340
+ watchCurrentAmount(exchangePurse, brand) {
334
341
  const {
335
342
  state: { brandToPSM, poolBrand },
336
343
  facets: { helper },
337
344
  } = this;
338
345
 
339
- // Must match. poolBrand is from durable state and the param is from
340
- // the contract, so it technically can change between incarnations.
341
- // That would be a severe bug.
342
- AmountMath.coerce(poolBrand, params.getPerAccountInitialAmount());
346
+ void observeNotifier(E(exchangePurse).getCurrentAmountNotifier(), {
347
+ updateState: async amount => {
348
+ trace('provisionPool balance update', amount);
349
+ if (AmountMath.isEmpty(amount) || amount.brand === poolBrand) {
350
+ return;
351
+ }
352
+ if (!brandToPSM.has(brand)) {
353
+ console.error('funds arrived but no PSM instance', brand);
354
+ return;
355
+ }
356
+ const instance = brandToPSM.get(brand);
357
+ const payment = E(exchangePurse).withdraw(amount);
358
+ await helper
359
+ .swap(payment, amount, instance)
360
+ .catch(async reason => {
361
+ console.error(X`swap failed: ${reason}`);
362
+ const resolvedPayment = await payment;
363
+ return E(exchangePurse).deposit(resolvedPayment);
364
+ });
365
+ },
366
+ fail: reason => {
367
+ if (isUpgradeDisconnection(reason)) {
368
+ void helper.watchCurrentAmount(exchangePurse, brand);
369
+ } else {
370
+ console.error(reason);
371
+ }
372
+ },
373
+ });
374
+ },
375
+ watchAssetSubscription() {
376
+ const { facets } = this;
377
+ const { helper } = facets;
343
378
 
344
- void observeIteration(
379
+ /** @param {import('@agoric/vats/src/vat-bank.js').AssetDescriptor} desc */
380
+ const repairDesc = desc => {
381
+ if (desc.issuerName.match(FIRST_UPPER_KEYWORD)) {
382
+ trace(`Saving Issuer ${desc.issuerName}`);
383
+ return desc;
384
+ } else if (desc.issuerName.match(FIRST_LOWER_NEAR_KEYWORD)) {
385
+ const bad = desc.issuerName;
386
+ const goodName = bad.replace(bad[0], bad[0].toUpperCase());
387
+
388
+ trace(
389
+ `Saving Issuer ${desc.issuerName} with repaired keyword ${goodName}`,
390
+ );
391
+ return { ...desc, issuerName: goodName };
392
+ } else {
393
+ console.error(
394
+ `unable to save issuer with illegal keyword: ${desc.issuerName}`,
395
+ );
396
+ return undefined;
397
+ }
398
+ };
399
+
400
+ return observeIteration(
345
401
  subscribeEach(E(poolBank).getAssetSubscription()),
346
402
  {
347
403
  updateState: async desc => {
348
- console.log('provisionPool notified of new asset', desc.brand);
349
- await zcf.saveIssuer(desc.issuer, desc.issuerName);
404
+ await null;
405
+ const issuer = zcf.getTerms().issuers[desc.issuerName];
406
+ if (issuer === desc.issuer) {
407
+ trace('provisionPool re-notified of known asset', desc.brand);
408
+ } else {
409
+ const goodDesc = repairDesc(desc);
410
+ if (goodDesc) {
411
+ await zcf.saveIssuer(goodDesc.issuer, goodDesc.issuerName);
412
+ } else {
413
+ console.error(
414
+ `unable to save issuer with illegal keyword: ${desc.issuerName}`,
415
+ );
416
+ }
417
+ }
418
+
350
419
  /** @type {ERef<Purse>} */
351
420
  const exchangePurse = E(poolBank).getPurse(desc.brand);
352
- void observeNotifier(
353
- E(exchangePurse).getCurrentAmountNotifier(),
354
- {
355
- updateState: async amount => {
356
- console.log('provisionPool balance update', amount);
357
- if (
358
- AmountMath.isEmpty(amount) ||
359
- amount.brand === poolBrand
360
- ) {
361
- return;
362
- }
363
- if (!brandToPSM.has(desc.brand)) {
364
- console.error(
365
- 'funds arrived but no PSM instance',
366
- desc.brand,
367
- );
368
- return;
369
- }
370
- const instance = brandToPSM.get(desc.brand);
371
- const payment = E(exchangePurse).withdraw(amount);
372
- await helper
373
- .swap(payment, amount, instance)
374
- .catch(async reason => {
375
- console.error(X`swap failed: ${reason}`);
376
- const resolvedPayment = await payment;
377
- return E(exchangePurse).deposit(resolvedPayment);
378
- });
379
- },
380
- fail: reason => console.error(reason),
381
- },
382
- );
421
+ helper.watchCurrentAmount(exchangePurse, desc.brand);
422
+ },
423
+ fail: _reason => {
424
+ void helper.watchAssetSubscription();
383
425
  },
384
426
  },
385
427
  );
428
+ },
429
+ /**
430
+ * @param {object} [options]
431
+ * @param {MetricsNotification} [options.metrics]
432
+ */
433
+ start({ metrics } = {}) {
434
+ const {
435
+ state: { poolBrand },
436
+ facets: { helper },
437
+ } = this;
438
+
439
+ // Must match. poolBrand is from durable state and the param is from
440
+ // the contract, so it technically can change between incarnations.
441
+ // That would be a severe bug.
442
+ AmountMath.coerce(poolBrand, params.getPerAccountInitialAmount());
443
+
444
+ void helper.watchAssetSubscription();
386
445
 
387
446
  if (metrics) {
388
447
  // Restore state.
@@ -1,5 +1,5 @@
1
- /** @type {ContractMeta} */
2
- export const meta: ContractMeta;
1
+ /** @type {ContractMeta<typeof start>} */
2
+ export const meta: ContractMeta<typeof start>;
3
3
  export function start(zcf: ZCF<GovernanceTerms<{}> & {
4
4
  governedApis: ["burnFeesToReduceShortfall"];
5
5
  }>, privateArgs: {
@@ -1 +1 @@
1
- {"version":3,"file":"assetReserve.d.ts","sourceRoot":"","sources":["assetReserve.js"],"names":[],"mappings":"AAYA,2BAA2B;AAC3B,mBADW,YAAY,CAGrB;AAgCK,2BAbI,GAAG,CACb,eAAmB,CAAC,EAAE,CAAC,GAAG;IAC1B,YAAkB,EAAE,CAAC,2BAA2B,CAAC,CAAC;CAC7C,CACF,eACO;IACV,aAAiB,EAAE,aAAa,CAAC;IACjC,sBAA0B,EAAE,UAAU,CAAC;IACvC,UAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,WAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;CAChC;IA8DA,mEAAmE;;0BA4BmwD,MAAM;;;oDAAs5E,OAAO,KAAK,CAAC;kDAA8X,OAAO,KAAK,CAAC;;;IA1B1nJ,iEAAiE;;;;;;;GAKpE;sCA9FY;IACZ,4BAAgC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,0BAA8B,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;;kCAgGU,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;gCAC3B,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;;;eAK3B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;oBACrC,MAAM,UAAU;sCAChB,MAAM,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;;sCAG5C,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;;;;uCAEjD,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;6BA1GnC,kBAAkB"}
1
+ {"version":3,"file":"assetReserve.d.ts","sourceRoot":"","sources":["assetReserve.js"],"names":[],"mappings":"AAYA,yCAAyC;AACzC,mBADW,YAAY,CAAC,OAAO,KAAK,CAAC,CAGnC;AAgCK,2BAbI,GAAG,CACb,eAAmB,CAAC,EAAE,CAAC,GAAG;IAC1B,YAAkB,EAAE,CAAC,2BAA2B,CAAC,CAAC;CAC7C,CACF,eACO;IACV,aAAiB,EAAE,aAAa,CAAC;IACjC,sBAA0B,EAAE,UAAU,CAAC;IACvC,UAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,WAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;CAChC;IA8DA,mEAAmE;;0BA4BqvD,MAAM;;;oDAAs5E,OAAO,KAAK,CAAC;kDAA8X,OAAO,KAAK,CAAC;;;IA1B5mJ,iEAAiE;;;;;;;GAKpE;sCA9FY;IACZ,4BAAgC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,0BAA8B,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;;kCAgGU,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;gCAC3B,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;;;eAK3B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;oBACrC,MAAM,UAAU;sCAChB,MAAM,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;;sCAG5C,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;;;;uCAEjD,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;6BA1GnC,kBAAkB"}
@@ -10,7 +10,7 @@ import { prepareAssetReserveKit } from './assetReserveKit.js';
10
10
 
11
11
  const trace = makeTracer('AR', true);
12
12
 
13
- /** @type {ContractMeta} */
13
+ /** @type {ContractMeta<typeof start>} */
14
14
  export const meta = {
15
15
  upgradability: 'canUpgrade',
16
16
  };