@agoric/inter-protocol 0.16.2-other-dev-3eb1a1d.0 → 0.16.2-other-dev-d15096d.0.d15096d

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.
Files changed (158) hide show
  1. package/package.json +36 -35
  2. package/src/auction/auctionBook.d.ts +9 -7
  3. package/src/auction/auctionBook.d.ts.map +1 -1
  4. package/src/auction/auctionBook.js +58 -32
  5. package/src/auction/auctionMath.d.ts +1 -1
  6. package/src/auction/auctionMath.d.ts.map +1 -1
  7. package/src/auction/auctioneer.d.ts +19 -13
  8. package/src/auction/auctioneer.d.ts.map +1 -1
  9. package/src/auction/auctioneer.js +25 -12
  10. package/src/auction/offerBook.d.ts +3 -2
  11. package/src/auction/offerBook.d.ts.map +1 -1
  12. package/src/auction/offerBook.js +5 -1
  13. package/src/auction/params.d.ts +16 -7
  14. package/src/auction/params.d.ts.map +1 -1
  15. package/src/auction/params.js +12 -4
  16. package/src/auction/scheduleMath.d.ts +5 -3
  17. package/src/auction/scheduleMath.d.ts.map +1 -1
  18. package/src/auction/scheduleMath.js +11 -7
  19. package/src/auction/scheduler.d.ts +9 -4
  20. package/src/auction/scheduler.d.ts.map +1 -1
  21. package/src/auction/scheduler.js +14 -6
  22. package/src/auction/util.d.ts +2 -1
  23. package/src/auction/util.d.ts.map +1 -1
  24. package/src/auction/util.js +4 -1
  25. package/src/clientSupport.d.ts +29 -73
  26. package/src/clientSupport.d.ts.map +1 -1
  27. package/src/clientSupport.js +29 -128
  28. package/src/contractSupport.d.ts +2 -2
  29. package/src/contractSupport.d.ts.map +1 -1
  30. package/src/econCommitteeCharter.d.ts +15 -8
  31. package/src/econCommitteeCharter.d.ts.map +1 -1
  32. package/src/econCommitteeCharter.js +14 -8
  33. package/src/feeDistributor.d.ts +43 -49
  34. package/src/feeDistributor.d.ts.map +1 -1
  35. package/src/feeDistributor.js +7 -3
  36. package/src/index.js +1 -1
  37. package/src/interest-math.d.ts +1 -0
  38. package/src/interest-math.d.ts.map +1 -1
  39. package/src/interest-math.js +5 -1
  40. package/src/interest.d.ts +3 -1
  41. package/src/interest.d.ts.map +1 -1
  42. package/src/interest.js +2 -5
  43. package/src/price/README.md +1 -1
  44. package/src/price/fluxAggregatorContract.d.ts +20 -11
  45. package/src/price/fluxAggregatorContract.d.ts.map +1 -1
  46. package/src/price/fluxAggregatorContract.js +17 -9
  47. package/src/price/fluxAggregatorKit.d.ts +15 -9
  48. package/src/price/fluxAggregatorKit.d.ts.map +1 -1
  49. package/src/price/fluxAggregatorKit.js +15 -9
  50. package/src/price/priceOracleKit.d.ts +4 -2
  51. package/src/price/priceOracleKit.d.ts.map +1 -1
  52. package/src/price/priceOracleKit.js +7 -2
  53. package/src/price/roundsManager.d.ts +8 -6
  54. package/src/price/roundsManager.d.ts.map +1 -1
  55. package/src/price/roundsManager.js +5 -2
  56. package/src/proposals/add-auction.js +38 -4
  57. package/src/proposals/addAssetToVault.js +8 -4
  58. package/src/proposals/committee-proposal.js +10 -5
  59. package/src/proposals/core-proposal.js +9 -3
  60. package/src/proposals/deploy-price-feeds.js +35 -7
  61. package/src/proposals/econ-behaviors.js +33 -12
  62. package/src/proposals/price-feed-proposal.js +10 -3
  63. package/src/proposals/replace-fee-distributor.js +12 -6
  64. package/src/proposals/replaceElectorate.js +105 -16
  65. package/src/proposals/startEconCommittee.js +5 -1
  66. package/src/proposals/startPSM.js +7 -4
  67. package/src/proposals/upgrade-vaults.js +15 -5
  68. package/src/proposals/utils.d.ts +8 -4
  69. package/src/proposals/utils.d.ts.map +1 -1
  70. package/src/proposals/utils.js +32 -9
  71. package/src/proposals/withdraw-reserve-proposal.js +63 -0
  72. package/src/provisionPool.d.ts +34 -120
  73. package/src/provisionPool.d.ts.map +1 -1
  74. package/src/provisionPool.js +43 -21
  75. package/src/provisionPoolKit.d.ts +43 -328
  76. package/src/provisionPoolKit.d.ts.map +1 -1
  77. package/src/provisionPoolKit.js +210 -120
  78. package/src/psm/psm.d.ts +20 -13
  79. package/src/psm/psm.d.ts.map +1 -1
  80. package/src/psm/psm.js +18 -12
  81. package/src/reserve/assetReserve.d.ts +18 -6
  82. package/src/reserve/assetReserve.d.ts.map +1 -1
  83. package/src/reserve/assetReserve.js +26 -23
  84. package/src/reserve/assetReserveKit.d.ts +38 -6
  85. package/src/reserve/assetReserveKit.d.ts.map +1 -1
  86. package/src/reserve/assetReserveKit.js +117 -7
  87. package/src/reserve/params.d.ts +9 -3
  88. package/src/reserve/params.d.ts.map +1 -1
  89. package/src/reserve/params.js +8 -2
  90. package/src/vaultFactory/burn.d.ts +1 -1
  91. package/src/vaultFactory/burn.d.ts.map +1 -1
  92. package/src/vaultFactory/burn.js +1 -1
  93. package/src/vaultFactory/liquidation.d.ts +7 -3
  94. package/src/vaultFactory/liquidation.d.ts.map +1 -1
  95. package/src/vaultFactory/liquidation.js +14 -12
  96. package/src/vaultFactory/math.d.ts +1 -1
  97. package/src/vaultFactory/math.d.ts.map +1 -1
  98. package/src/vaultFactory/math.js +1 -1
  99. package/src/vaultFactory/orderedVaultStore.d.ts +21 -20
  100. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
  101. package/src/vaultFactory/orderedVaultStore.js +4 -2
  102. package/src/vaultFactory/params.d.ts +25 -9
  103. package/src/vaultFactory/params.d.ts.map +1 -1
  104. package/src/vaultFactory/params.js +29 -11
  105. package/src/vaultFactory/prioritizedVaults.d.ts +70 -69
  106. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -1
  107. package/src/vaultFactory/prioritizedVaults.js +5 -2
  108. package/src/vaultFactory/storeUtils.d.ts +2 -2
  109. package/src/vaultFactory/storeUtils.d.ts.map +1 -1
  110. package/src/vaultFactory/types-ambient.d.ts +2 -2
  111. package/src/vaultFactory/types-ambient.d.ts.map +1 -1
  112. package/src/vaultFactory/types-ambient.js +6 -2
  113. package/src/vaultFactory/vault.d.ts +34 -30
  114. package/src/vaultFactory/vault.d.ts.map +1 -1
  115. package/src/vaultFactory/vault.js +19 -15
  116. package/src/vaultFactory/vaultDirector.d.ts +81 -63
  117. package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
  118. package/src/vaultFactory/vaultDirector.js +38 -24
  119. package/src/vaultFactory/vaultFactory.d.ts +35 -22
  120. package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
  121. package/src/vaultFactory/vaultFactory.js +27 -17
  122. package/src/vaultFactory/vaultHolder.d.ts +77 -29
  123. package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
  124. package/src/vaultFactory/vaultHolder.js +12 -4
  125. package/src/vaultFactory/vaultKit.d.ts +12 -8
  126. package/src/vaultFactory/vaultKit.d.ts.map +1 -1
  127. package/src/vaultFactory/vaultKit.js +12 -5
  128. package/src/vaultFactory/vaultManager.d.ts +102 -88
  129. package/src/vaultFactory/vaultManager.d.ts.map +1 -1
  130. package/src/vaultFactory/vaultManager.js +86 -53
  131. package/src/proposals/add-auction.d.ts +0 -109
  132. package/src/proposals/add-auction.d.ts.map +0 -1
  133. package/src/proposals/addAssetToVault.d.ts +0 -173
  134. package/src/proposals/addAssetToVault.d.ts.map +0 -1
  135. package/src/proposals/committee-proposal.d.ts +0 -113
  136. package/src/proposals/committee-proposal.d.ts.map +0 -1
  137. package/src/proposals/core-proposal.d.ts +0 -149
  138. package/src/proposals/core-proposal.d.ts.map +0 -1
  139. package/src/proposals/deploy-price-feeds.d.ts +0 -76
  140. package/src/proposals/deploy-price-feeds.d.ts.map +0 -1
  141. package/src/proposals/econ-behaviors.d.ts +0 -541
  142. package/src/proposals/econ-behaviors.d.ts.map +0 -1
  143. package/src/proposals/price-feed-proposal.d.ts +0 -84
  144. package/src/proposals/price-feed-proposal.d.ts.map +0 -1
  145. package/src/proposals/replace-fee-distributor.d.ts +0 -48
  146. package/src/proposals/replace-fee-distributor.d.ts.map +0 -1
  147. package/src/proposals/replace-scaledPriceAuthorities.d.ts +0 -30
  148. package/src/proposals/replace-scaledPriceAuthorities.d.ts.map +0 -1
  149. package/src/proposals/replaceElectorate.d.ts +0 -55
  150. package/src/proposals/replaceElectorate.d.ts.map +0 -1
  151. package/src/proposals/startEconCommittee.d.ts +0 -34
  152. package/src/proposals/startEconCommittee.d.ts.map +0 -1
  153. package/src/proposals/startPSM.d.ts +0 -59
  154. package/src/proposals/startPSM.d.ts.map +0 -1
  155. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +0 -24
  156. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +0 -1
  157. package/src/proposals/upgrade-vaults.d.ts +0 -41
  158. package/src/proposals/upgrade-vaults.d.ts.map +0 -1
@@ -1,13 +1,23 @@
1
- /** @import {Marshal} from '@endo/marshal'; */
1
+ /**
2
+ * @import {Remote} from '@agoric/internal';
3
+ * @import {Amount, Brand, Payment, Purse} from '@agoric/ertp';
4
+ * @import {ContractMeta, Invitation, StandardTerms, ZCF} from '@agoric/zoe';
5
+ * @import {GovernanceTerms} from '@agoric/governance/src/types.js';
6
+ * @import {ERef} from '@endo/far';
7
+ * @import {Bank} from '@agoric/vats/src/vat-bank.js';
8
+ * @import {MetricsNotification} from './provisionPoolKit.js';
9
+ * @import {Baggage} from '@agoric/vat-data';
10
+ */
2
11
  /** @type {ContractMeta} */
3
12
  export const meta: ContractMeta;
4
13
  export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
5
- poolBank: import("@endo/far").ERef<import("@agoric/vats/src/vat-bank.js").Bank>;
14
+ poolBank: ERef<Bank>;
6
15
  initialPoserInvitation: Invitation;
7
- storageNode: StorageNode;
8
- marshaller: Marshal<any>;
9
- metricsOverride?: import("./provisionPoolKit.js").MetricsNotification;
10
- }, baggage: import("@agoric/vat-data").Baggage): Promise<{
16
+ storageNode: Remote<StorageNode>;
17
+ marshaller: Remote<Marshaller>;
18
+ metricsOverride?: MetricsNotification;
19
+ governedParamOverrides?: Record<string, Amount | undefined>;
20
+ }, baggage: Baggage): Promise<{
11
21
  creatorFacet: import("@endo/exo").Guarded<{
12
22
  getParamMgrRetriever: () => {
13
23
  get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
@@ -15,120 +25,15 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
15
25
  } & {
16
26
  Electorate: "invitation";
17
27
  }>;
18
- } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
28
+ } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
19
29
  get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
20
30
  PerAccountInitialAmount: "amount";
21
31
  } & {
22
32
  Electorate: "invitation";
23
33
  }>;
24
34
  }>;
25
- getInvitation: (name: any) => Promise<Invitation<unknown, undefined>>;
26
- getLimitedCreatorFacet: () => import("@endo/exo").Guarded<{
27
- addRevivableAddresses(oldAddresses: string[]): void;
28
- getWalletReviver(): import("@endo/exo").Guarded<{
29
- reviveWallet(address: string): Promise<{
30
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
31
- getDepositFacet(): import("@endo/exo").Guarded<{
32
- receive(payment: Payment): Promise<Amount>;
33
- }>;
34
- getOffersFacet(): import("@endo/exo").Guarded<{
35
- executeOffer(offerSpec: OfferSpec): Promise<void>;
36
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
37
- }>;
38
- getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
39
- getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
40
- getPublicTopics(): {
41
- current: {
42
- description: string;
43
- subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
44
- storagePath: Promise<string>;
45
- };
46
- updates: {
47
- description: string;
48
- subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
49
- storagePath: Promise<string>;
50
- };
51
- };
52
- } & import("../../../node_modules/@endo/exo/src/get-interface.js").GetInterfaceGuard<{
53
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
54
- getDepositFacet(): import("@endo/exo").Guarded<{
55
- receive(payment: Payment): Promise<Amount>;
56
- }>;
57
- getOffersFacet(): import("@endo/exo").Guarded<{
58
- executeOffer(offerSpec: OfferSpec): Promise<void>;
59
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
60
- }>;
61
- getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
62
- getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
63
- getPublicTopics(): {
64
- current: {
65
- description: string;
66
- subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
67
- storagePath: Promise<string>;
68
- };
69
- updates: {
70
- description: string;
71
- subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
72
- storagePath: Promise<string>;
73
- };
74
- };
75
- }> & import("@endo/eventual-send").RemotableBrand<{}, {
76
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
77
- getDepositFacet(): import("@endo/exo").Guarded<{
78
- receive(payment: Payment): Promise<Amount>;
79
- }>;
80
- getOffersFacet(): import("@endo/exo").Guarded<{
81
- executeOffer(offerSpec: OfferSpec): Promise<void>;
82
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
83
- }>;
84
- getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
85
- getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
86
- getPublicTopics(): {
87
- current: {
88
- description: string;
89
- subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
90
- storagePath: Promise<string>;
91
- };
92
- updates: {
93
- description: string;
94
- subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
95
- storagePath: Promise<string>;
96
- };
97
- };
98
- } & import("../../../node_modules/@endo/exo/src/get-interface.js").GetInterfaceGuard<{
99
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
100
- getDepositFacet(): import("@endo/exo").Guarded<{
101
- receive(payment: Payment): Promise<Amount>;
102
- }>;
103
- getOffersFacet(): import("@endo/exo").Guarded<{
104
- executeOffer(offerSpec: OfferSpec): Promise<void>;
105
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
106
- }>;
107
- getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
108
- getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
109
- getPublicTopics(): {
110
- current: {
111
- description: string;
112
- subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
113
- storagePath: Promise<string>;
114
- };
115
- updates: {
116
- description: string;
117
- subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
118
- storagePath: Promise<string>;
119
- };
120
- };
121
- }>> & import("@endo/pass-style").RemotableObject>;
122
- ackWallet(address: string): boolean;
123
- }>;
124
- setReferences(erefs: ProvisionPoolKitReferences): Promise<void>;
125
- makeHandler(): {
126
- fromBridge: (obj: any) => Promise<void>;
127
- } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
128
- fromBridge: (obj: any) => Promise<void>;
129
- }>;
130
- initPSM(brand: Brand, instance: PsmInstance): void;
131
- }>;
35
+ getInvitation: (name: any) => Promise<Invitation>;
36
+ getLimitedCreatorFacet: () => any;
132
37
  getGovernedApis: () => GovernedApis;
133
38
  getGovernedApiNames: () => string[];
134
39
  setOfferFilter: (strings: any) => Promise<void>;
@@ -146,11 +51,9 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
146
51
  getRelativeTime: (name: string) => import("@agoric/time").RelativeTimeRecord;
147
52
  getUnknown: (name: string) => any;
148
53
  getSubscription: () => globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
149
- getGovernedParams: () => globalThis.ERef<globalThis.ParamStateRecord>;
150
- getMetrics(): globalThis.Subscriber<import("./provisionPoolKit.js").MetricsNotification>;
151
- getPublicTopics(): {
152
- metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./provisionPoolKit.js").MetricsNotification>;
153
- };
54
+ getGovernedParams: () => ERef<globalThis.ParamStateRecord>;
55
+ getMetrics(): Promise<any>;
56
+ getPublicTopics(): Promise<any>;
154
57
  }>;
155
58
  }>;
156
59
  /**
@@ -159,5 +62,16 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
159
62
  export type ProvisionTerms = StandardTerms & GovernanceTerms<{
160
63
  PerAccountInitialAmount: "amount";
161
64
  }>;
162
- import type { Marshal } from '@endo/marshal';
65
+ import type { ContractMeta } from '@agoric/zoe';
66
+ import type { ZCF } from '@agoric/zoe';
67
+ import type { Bank } from '@agoric/vats/src/vat-bank.js';
68
+ import type { ERef } from '@endo/far';
69
+ import type { Invitation } from '@agoric/zoe';
70
+ import type { Remote } from '@agoric/internal';
71
+ import type { MetricsNotification } from './provisionPoolKit.js';
72
+ import type { Amount } from '@agoric/ertp';
73
+ import type { Baggage } from '@agoric/vat-data';
74
+ import type { Brand } from '@agoric/ertp';
75
+ import type { StandardTerms } from '@agoric/zoe';
76
+ import type { GovernanceTerms } from '@agoric/governance/src/types.js';
163
77
  //# sourceMappingURL=provisionPool.d.ts.map
@@ -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,eACnB;IACN,QAAQ,EAAE,OAAO,WAAW,EAAE,IAAI,CACtC,OAAa,8BAA8B,EAAE,IAAI,CAC5C,CAAC;IACF,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,uBAAuB,EAAE,mBAAmB,CAAC;CACvE,WACO,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;6DAsE0o8B,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAAvnoB,cAAc;kDAAuE,cAAc;;;;;;;;;GAHjrU;;;;6BAlFY,aAAa,GACrB,eAAe,CAAC;IACd,uBAAuB,EAAE,QAAQ,CAAC;CACnC,CAAC;6BAxBoB,eAAe"}
1
+ {"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"AAoBA;;;;;;;;;GASG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAoBK,2BAXI,IAAI,cAAc,CAAC,eACnB;IACN,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;IACrB,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7D,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EjB;;;;6BA3FY,aAAa,GACzB,gBAAoB;IACd,uBAAuB,EAAE,QAAQ,CAAC;CACnC,CAAC;kCA9BwD,aAAa;yBAAb,aAAa;0BAGrD,8BAA8B;0BAD9B,WAAW;gCAF6B,aAAa;4BAFnD,kBAAkB;yCAML,uBAAuB;4BALb,cAAc;6BAMpC,kBAAkB;2BANI,cAAc;mCACC,aAAa;qCAC1C,iCAAiC"}
@@ -1,5 +1,4 @@
1
1
  // @jessie-check
2
- // @ts-check
3
2
 
4
3
  import {
5
4
  handleParamGovernance,
@@ -7,14 +6,28 @@ import {
7
6
  publicMixinAPI,
8
7
  } from '@agoric/governance';
9
8
  import { InvitationShape } from '@agoric/governance/src/typeGuards.js';
9
+ import { wrapRemoteMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
10
10
  import { M } from '@agoric/store';
11
11
  import { prepareExo } from '@agoric/vat-data';
12
12
  import { provideSingleton } from '@agoric/zoe/src/contractSupport/durability.js';
13
13
  import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/recorder.js';
14
14
  import { TopicsRecordShape } from '@agoric/zoe/src/contractSupport/topics.js';
15
- import { prepareProvisionPoolKit } from './provisionPoolKit.js';
15
+ import { makeDurableZone } from '@agoric/zone/durable.js';
16
+ import {
17
+ prepareBridgeProvisionTool,
18
+ prepareProvisionPoolKit,
19
+ } from './provisionPoolKit.js';
16
20
 
17
- /** @import {Marshal} from '@endo/marshal'; */
21
+ /**
22
+ * @import {Remote} from '@agoric/internal';
23
+ * @import {Amount, Brand, Payment, Purse} from '@agoric/ertp';
24
+ * @import {ContractMeta, Invitation, StandardTerms, ZCF} from '@agoric/zoe';
25
+ * @import {GovernanceTerms} from '@agoric/governance/src/types.js';
26
+ * @import {ERef} from '@endo/far';
27
+ * @import {Bank} from '@agoric/vats/src/vat-bank.js';
28
+ * @import {MetricsNotification} from './provisionPoolKit.js';
29
+ * @import {Baggage} from '@agoric/vat-data';
30
+ */
18
31
 
19
32
  /** @type {ContractMeta} */
20
33
  export const meta = {
@@ -42,22 +55,24 @@ harden(meta);
42
55
  * TODO: ERef<GovernedCreatorFacet<ProvisionCreator>>
43
56
  * @param {ZCF<ProvisionTerms>} zcf
44
57
  * @param {{
45
- * poolBank: import('@endo/far').ERef<
46
- * import('@agoric/vats/src/vat-bank.js').Bank
47
- * >;
58
+ * poolBank: ERef<Bank>;
48
59
  * initialPoserInvitation: Invitation;
49
- * storageNode: StorageNode;
50
- * marshaller: Marshal<any>;
51
- * metricsOverride?: import('./provisionPoolKit.js').MetricsNotification;
60
+ * storageNode: Remote<StorageNode>;
61
+ * marshaller: Remote<Marshaller>;
62
+ * metricsOverride?: MetricsNotification;
63
+ * governedParamOverrides?: Record<string, Amount | undefined>;
52
64
  * }} privateArgs
53
- * @param {import('@agoric/vat-data').Baggage} baggage
65
+ * @param {Baggage} baggage
54
66
  */
55
67
  export const start = async (zcf, privateArgs, baggage) => {
56
68
  const { poolBank, metricsOverride } = privateArgs;
57
69
 
70
+ const { marshaller: remoteMarshaller } = privateArgs;
71
+ const cachingMarshaller = wrapRemoteMarshaller(remoteMarshaller);
72
+
58
73
  const { makeRecorderKit } = prepareRecorderKitMakers(
59
74
  baggage,
60
- privateArgs.marshaller,
75
+ cachingMarshaller,
61
76
  );
62
77
 
63
78
  // Governance
@@ -70,42 +85,49 @@ export const start = async (zcf, privateArgs, baggage) => {
70
85
  },
71
86
  privateArgs.storageNode,
72
87
  privateArgs.marshaller,
88
+ privateArgs.governedParamOverrides,
73
89
  );
74
90
 
75
- const makeProvisionPoolKit = prepareProvisionPoolKit(baggage, {
91
+ const zone = makeDurableZone(baggage);
92
+
93
+ const makeBridgeProvisionTool = prepareBridgeProvisionTool(zone);
94
+ const makeProvisionPoolKit = prepareProvisionPoolKit(zone, {
76
95
  makeRecorderKit,
77
96
  params,
78
97
  poolBank,
79
98
  zcf,
99
+ makeBridgeProvisionTool,
80
100
  });
81
101
 
102
+ const poolBrand = /** @type {Brand<'nat'>} */ (
103
+ params.getPerAccountInitialAmount().brand
104
+ );
82
105
  const provisionPoolKit = await provideSingleton(
83
106
  baggage,
84
107
  'provisionPoolKit',
85
108
  () =>
86
109
  makeProvisionPoolKit({
87
- // XXX governance can change the brand of the amount but should only be able to change the value
88
- // NB: changing the brand will break this pool
89
- // @ts-expect-error XXX Brand AssetKind
90
- poolBrand: params.getPerAccountInitialAmount().brand,
110
+ poolBrand,
91
111
  storageNode: privateArgs.storageNode,
92
112
  }),
93
- kit => kit.helper.start({ metrics: metricsOverride }),
94
113
  );
114
+ provisionPoolKit.helper.start(poolBrand, { metrics: metricsOverride });
95
115
 
96
116
  const publicFacet = prepareExo(
97
117
  baggage,
98
118
  'Provisioning Pool public',
99
119
  M.interface('ProvisionPool', {
100
- getMetrics: M.call().returns(M.remotable('MetricsSubscriber')),
101
- getPublicTopics: M.call().returns(TopicsRecordShape),
120
+ getMetrics: M.callWhen().returns(M.remotable('MetricsSubscriber')),
121
+ getPublicTopics: M.callWhen().returns(TopicsRecordShape),
102
122
  ...publicMixinAPI,
103
123
  }),
104
124
  {
105
- getMetrics() {
125
+ async getMetrics() {
126
+ await null;
106
127
  return provisionPoolKit.public.getPublicTopics().metrics.subscriber;
107
128
  },
108
- getPublicTopics() {
129
+ async getPublicTopics() {
130
+ await null;
109
131
  return provisionPoolKit.public.getPublicTopics();
110
132
  },
111
133
  ...publicMixin,