@agoric/inter-protocol 0.16.2-dev-7cc5def.0 → 0.16.2-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.
Files changed (176) hide show
  1. package/CHANGELOG.md +1041 -0
  2. package/bundles/bundle-auctioneer-js-meta.json +722 -0
  3. package/bundles/bundle-auctioneer.js +1 -0
  4. package/bundles/bundle-econCommitteeCharter-js-meta.json +222 -242
  5. package/bundles/bundle-econCommitteeCharter.js +1 -1
  6. package/bundles/bundle-feeDistributor-js-meta.json +458 -0
  7. package/bundles/bundle-feeDistributor.js +1 -0
  8. package/bundles/bundle-fluxAggregatorKit-js-meta.json +327 -343
  9. package/bundles/bundle-fluxAggregatorKit.js +1 -1
  10. package/bundles/bundle-psm-js-meta.json +308 -328
  11. package/bundles/bundle-psm.js +1 -1
  12. package/bundles/bundle-reserve-js-meta.json +662 -0
  13. package/bundles/bundle-reserve.js +1 -0
  14. package/bundles/bundle-scaledPriceAuthority-js-meta.json +542 -0
  15. package/bundles/bundle-scaledPriceAuthority.js +1 -0
  16. package/bundles/bundle-vaultFactory-js-meta.json +790 -0
  17. package/bundles/bundle-vaultFactory.js +1 -0
  18. package/package.json +31 -31
  19. package/scripts/add-collateral-core.js +112 -0
  20. package/scripts/build-bundles.js +21 -5
  21. package/scripts/deploy-contracts.js +100 -0
  22. package/scripts/init-core.js +198 -0
  23. package/scripts/invite-committee-core.js +42 -0
  24. package/scripts/manual-price-feed.js +117 -0
  25. package/scripts/price-feed-core.js +104 -0
  26. package/scripts/start-local-chain.sh +84 -0
  27. package/src/auction/auctionBook.js +56 -68
  28. package/src/auction/auctioneer.js +44 -56
  29. package/src/auction/offerBook.js +11 -12
  30. package/src/auction/params.js +5 -3
  31. package/src/auction/scheduleMath.js +13 -13
  32. package/src/auction/scheduler.js +32 -22
  33. package/src/auction/sortedOffers.js +7 -8
  34. package/src/auction/util.js +4 -4
  35. package/src/clientSupport.js +96 -152
  36. package/src/contractSupport.js +5 -5
  37. package/src/econCommitteeCharter.js +15 -16
  38. package/src/feeDistributor.js +33 -34
  39. package/src/interest.js +14 -20
  40. package/src/price/fluxAggregatorContract.js +45 -51
  41. package/src/price/fluxAggregatorKit.js +32 -47
  42. package/src/price/priceOracleKit.js +13 -11
  43. package/src/price/roundsManager.js +64 -52
  44. package/src/proposals/addAssetToVault.js +3 -15
  45. package/src/proposals/committee-proposal.js +9 -5
  46. package/src/proposals/core-proposal.js +7 -7
  47. package/src/proposals/econ-behaviors.js +32 -57
  48. package/src/proposals/price-feed-proposal.js +26 -59
  49. package/src/proposals/startEconCommittee.js +1 -1
  50. package/src/proposals/startPSM.js +22 -32
  51. package/src/proposals/utils.js +7 -26
  52. package/src/psm/psm.js +63 -69
  53. package/src/reserve/assetReserve.js +18 -27
  54. package/src/reserve/assetReserveKit.js +22 -14
  55. package/src/typeGuards.js +13 -0
  56. package/src/vaultFactory/liquidation.js +17 -30
  57. package/src/vaultFactory/math.js +9 -8
  58. package/src/vaultFactory/orderedVaultStore.js +9 -6
  59. package/src/vaultFactory/params.js +18 -24
  60. package/src/vaultFactory/prioritizedVaults.js +2 -2
  61. package/src/vaultFactory/proceeds.js +18 -24
  62. package/src/vaultFactory/storeUtils.js +12 -8
  63. package/src/vaultFactory/types.js +28 -38
  64. package/src/vaultFactory/vault.js +89 -88
  65. package/src/vaultFactory/vaultDirector.js +41 -33
  66. package/src/vaultFactory/vaultFactory.js +26 -33
  67. package/src/vaultFactory/vaultHolder.js +13 -8
  68. package/src/vaultFactory/vaultKit.js +2 -3
  69. package/src/vaultFactory/vaultManager.js +120 -138
  70. package/src/auction/auctionBook.d.ts +0 -83
  71. package/src/auction/auctionBook.d.ts.map +0 -1
  72. package/src/auction/auctioneer.d.ts +0 -75
  73. package/src/auction/auctioneer.d.ts.map +0 -1
  74. package/src/auction/offerBook.d.ts +0 -72
  75. package/src/auction/offerBook.d.ts.map +0 -1
  76. package/src/auction/params.d.ts +0 -142
  77. package/src/auction/params.d.ts.map +0 -1
  78. package/src/auction/scheduleMath.d.ts +0 -4
  79. package/src/auction/scheduleMath.d.ts.map +0 -1
  80. package/src/auction/scheduler.d.ts +0 -49
  81. package/src/auction/scheduler.d.ts.map +0 -1
  82. package/src/auction/sortedOffers.d.ts +0 -8
  83. package/src/auction/sortedOffers.d.ts.map +0 -1
  84. package/src/auction/util.d.ts +0 -30
  85. package/src/auction/util.d.ts.map +0 -1
  86. package/src/clientSupport.d.ts +0 -167
  87. package/src/clientSupport.d.ts.map +0 -1
  88. package/src/collectFees.d.ts +0 -2
  89. package/src/collectFees.d.ts.map +0 -1
  90. package/src/contractSupport.d.ts +0 -33
  91. package/src/contractSupport.d.ts.map +0 -1
  92. package/src/econCommitteeCharter.d.ts +0 -41
  93. package/src/econCommitteeCharter.d.ts.map +0 -1
  94. package/src/feeDistributor.d.ts +0 -212
  95. package/src/feeDistributor.d.ts.map +0 -1
  96. package/src/index.d.ts +0 -2
  97. package/src/index.d.ts.map +0 -1
  98. package/src/interest-math.d.ts +0 -3
  99. package/src/interest-math.d.ts.map +0 -1
  100. package/src/interest.d.ts +0 -29
  101. package/src/interest.d.ts.map +0 -1
  102. package/src/price/fluxAggregatorContract.d.ts +0 -112
  103. package/src/price/fluxAggregatorContract.d.ts.map +0 -1
  104. package/src/price/fluxAggregatorKit.d.ts +0 -155
  105. package/src/price/fluxAggregatorKit.d.ts.map +0 -1
  106. package/src/price/priceOracleKit.d.ts +0 -52
  107. package/src/price/priceOracleKit.d.ts.map +0 -1
  108. package/src/price/roundsManager.d.ts +0 -330
  109. package/src/price/roundsManager.d.ts.map +0 -1
  110. package/src/proposals/addAssetToVault.d.ts +0 -155
  111. package/src/proposals/addAssetToVault.d.ts.map +0 -1
  112. package/src/proposals/committee-proposal.d.ts +0 -121
  113. package/src/proposals/committee-proposal.d.ts.map +0 -1
  114. package/src/proposals/core-proposal.d.ts +0 -149
  115. package/src/proposals/core-proposal.d.ts.map +0 -1
  116. package/src/proposals/econ-behaviors.d.ts +0 -201
  117. package/src/proposals/econ-behaviors.d.ts.map +0 -1
  118. package/src/proposals/price-feed-proposal.d.ts +0 -83
  119. package/src/proposals/price-feed-proposal.d.ts.map +0 -1
  120. package/src/proposals/startEconCommittee.d.ts +0 -34
  121. package/src/proposals/startEconCommittee.d.ts.map +0 -1
  122. package/src/proposals/startPSM.d.ts +0 -61
  123. package/src/proposals/startPSM.d.ts.map +0 -1
  124. package/src/proposals/utils.d.ts +0 -15
  125. package/src/proposals/utils.d.ts.map +0 -1
  126. package/src/provisionPool.d.ts +0 -165
  127. package/src/provisionPool.d.ts.map +0 -1
  128. package/src/provisionPool.js +0 -119
  129. package/src/provisionPoolKit.d.ts +0 -379
  130. package/src/provisionPoolKit.d.ts.map +0 -1
  131. package/src/provisionPoolKit.js +0 -461
  132. package/src/psm/psm.d.ts +0 -178
  133. package/src/psm/psm.d.ts.map +0 -1
  134. package/src/psm/types.d.ts +0 -2
  135. package/src/psm/types.d.ts.map +0 -1
  136. package/src/reserve/assetReserve.d.ts +0 -44
  137. package/src/reserve/assetReserve.d.ts.map +0 -1
  138. package/src/reserve/assetReserveKit.d.ts +0 -114
  139. package/src/reserve/assetReserveKit.d.ts.map +0 -1
  140. package/src/reserve/params.d.ts +0 -10
  141. package/src/reserve/params.d.ts.map +0 -1
  142. package/src/tokens.d.ts +0 -3
  143. package/src/tokens.d.ts.map +0 -1
  144. package/src/tokens.js +0 -5
  145. package/src/vaultFactory/burn.d.ts +0 -2
  146. package/src/vaultFactory/burn.d.ts.map +0 -1
  147. package/src/vaultFactory/liquidation.d.ts +0 -24
  148. package/src/vaultFactory/liquidation.d.ts.map +0 -1
  149. package/src/vaultFactory/math.d.ts +0 -10
  150. package/src/vaultFactory/math.d.ts.map +0 -1
  151. package/src/vaultFactory/orderedVaultStore.d.ts +0 -94
  152. package/src/vaultFactory/orderedVaultStore.d.ts.map +0 -1
  153. package/src/vaultFactory/params.d.ts +0 -159
  154. package/src/vaultFactory/params.d.ts.map +0 -1
  155. package/src/vaultFactory/prioritizedVaults.d.ts +0 -279
  156. package/src/vaultFactory/prioritizedVaults.d.ts.map +0 -1
  157. package/src/vaultFactory/proceeds.d.ts +0 -34
  158. package/src/vaultFactory/proceeds.d.ts.map +0 -1
  159. package/src/vaultFactory/storeUtils.d.ts +0 -25
  160. package/src/vaultFactory/storeUtils.d.ts.map +0 -1
  161. package/src/vaultFactory/type-imports.d.ts +0 -2
  162. package/src/vaultFactory/type-imports.d.ts.map +0 -1
  163. package/src/vaultFactory/types.d.ts +0 -137
  164. package/src/vaultFactory/types.d.ts.map +0 -1
  165. package/src/vaultFactory/vault.d.ts +0 -529
  166. package/src/vaultFactory/vault.d.ts.map +0 -1
  167. package/src/vaultFactory/vaultDirector.d.ts +0 -560
  168. package/src/vaultFactory/vaultDirector.d.ts.map +0 -1
  169. package/src/vaultFactory/vaultFactory.d.ts +0 -162
  170. package/src/vaultFactory/vaultFactory.d.ts.map +0 -1
  171. package/src/vaultFactory/vaultHolder.d.ts +0 -201
  172. package/src/vaultFactory/vaultHolder.d.ts.map +0 -1
  173. package/src/vaultFactory/vaultKit.d.ts +0 -32
  174. package/src/vaultFactory/vaultKit.d.ts.map +0 -1
  175. package/src/vaultFactory/vaultManager.d.ts +0 -554
  176. package/src/vaultFactory/vaultManager.d.ts.map +0 -1
@@ -1,165 +0,0 @@
1
- /** @type {ContractMeta} */
2
- export const meta: ContractMeta;
3
- export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
4
- poolBank: import('@endo/far').ERef<import('@agoric/vats/src/vat-bank.js').Bank>;
5
- initialPoserInvitation: Invitation;
6
- storageNode: StorageNode;
7
- marshaller: Marshaller;
8
- metricsOverride?: import("./provisionPoolKit.js").MetricsNotification | undefined;
9
- }, baggage: import('@agoric/vat-data').Baggage): Promise<{
10
- creatorFacet: {
11
- getParamMgrRetriever: () => {
12
- get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
13
- PerAccountInitialAmount: "amount";
14
- } & {
15
- Electorate: "invitation";
16
- }>;
17
- } & import("@endo/eventual-send").RemotableBrand<{}, {
18
- get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
19
- PerAccountInitialAmount: "amount";
20
- } & {
21
- Electorate: "invitation";
22
- }>;
23
- }>;
24
- getInvitation: (name: any) => Promise<Invitation<R, A>>;
25
- getLimitedCreatorFacet: () => {
26
- addRevivableAddresses(oldAddresses: string[]): void;
27
- getWalletReviver(): {
28
- reviveWallet(address: string): Promise<{
29
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
30
- getDepositFacet(): {
31
- receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
32
- };
33
- getOffersFacet(): {
34
- executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers.js").OfferSpec): Promise<void>;
35
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
36
- };
37
- getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
38
- getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
39
- getPublicTopics(): {
40
- current: {
41
- description: string;
42
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
43
- storagePath: Promise<string>;
44
- };
45
- updates: {
46
- description: string;
47
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
48
- storagePath: Promise<string>;
49
- };
50
- };
51
- }>;
52
- ackWallet(address: string): boolean;
53
- };
54
- setReferences(erefs: import("./provisionPoolKit.js").ProvisionPoolKitReferences): Promise<void>;
55
- makeHandler(): {
56
- fromBridge: (obj: any) => Promise<void>;
57
- } & import("@endo/eventual-send").RemotableBrand<{}, {
58
- fromBridge: (obj: any) => Promise<void>;
59
- }>;
60
- initPSM(brand: Brand<AssetKind>, instance: import("./provisionPoolKit.js").PsmInstance): void;
61
- };
62
- getGovernedApis: () => GovernedApis;
63
- getGovernedApiNames: () => string[];
64
- setOfferFilter: (strings: any) => Promise<void>;
65
- } & import("@endo/eventual-send").RemotableBrand<{}, {
66
- getParamMgrRetriever: () => {
67
- get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
68
- PerAccountInitialAmount: "amount";
69
- } & {
70
- Electorate: "invitation";
71
- }>;
72
- } & import("@endo/eventual-send").RemotableBrand<{}, {
73
- get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
74
- PerAccountInitialAmount: "amount";
75
- } & {
76
- Electorate: "invitation";
77
- }>;
78
- }>;
79
- getInvitation: (name: any) => Promise<Invitation<R, A>>;
80
- getLimitedCreatorFacet: () => {
81
- addRevivableAddresses(oldAddresses: string[]): void;
82
- getWalletReviver(): {
83
- reviveWallet(address: string): Promise<{
84
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
85
- getDepositFacet(): {
86
- receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
87
- };
88
- getOffersFacet(): {
89
- executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers.js").OfferSpec): Promise<void>;
90
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
91
- };
92
- getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
93
- getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
94
- getPublicTopics(): {
95
- current: {
96
- description: string;
97
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
98
- storagePath: Promise<string>;
99
- };
100
- updates: {
101
- description: string;
102
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
103
- storagePath: Promise<string>;
104
- };
105
- };
106
- }>;
107
- ackWallet(address: string): boolean;
108
- };
109
- setReferences(erefs: import("./provisionPoolKit.js").ProvisionPoolKitReferences): Promise<void>;
110
- makeHandler(): {
111
- fromBridge: (obj: any) => Promise<void>;
112
- } & import("@endo/eventual-send").RemotableBrand<{}, {
113
- fromBridge: (obj: any) => Promise<void>;
114
- }>;
115
- initPSM(brand: Brand<AssetKind>, instance: import("./provisionPoolKit.js").PsmInstance): void;
116
- };
117
- getGovernedApis: () => GovernedApis;
118
- getGovernedApiNames: () => string[];
119
- setOfferFilter: (strings: any) => Promise<void>;
120
- }>;
121
- publicFacet: {
122
- getAmount: (name: string) => Amount<AssetKind>;
123
- getBrand: (name: string) => Brand<AssetKind>;
124
- getInstance: (name: string) => Instance;
125
- getInstallation: (name: string) => Installation<any>;
126
- getInvitationAmount: (name: string) => Amount<"set">;
127
- getNat: (name: string) => bigint;
128
- getRatio: (name: string) => Ratio;
129
- getString: (name: string) => string;
130
- getTimestamp: (name: string) => import("@agoric/time/src/types.js").TimestampRecord;
131
- getRelativeTime: (name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord;
132
- getUnknown: (name: string) => any;
133
- getSubscription: () => StoredSubscription<GovernanceSubscriptionState>;
134
- getGovernedParams: () => ERef<ParamStateRecord>;
135
- getMetrics(): Subscriber<import("./provisionPoolKit.js").MetricsNotification>;
136
- getPublicTopics(): {
137
- metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./provisionPoolKit.js").MetricsNotification>;
138
- };
139
- } & import("@endo/eventual-send").RemotableBrand<{}, {
140
- getAmount: (name: string) => Amount<AssetKind>;
141
- getBrand: (name: string) => Brand<AssetKind>;
142
- getInstance: (name: string) => Instance;
143
- getInstallation: (name: string) => Installation<any>;
144
- getInvitationAmount: (name: string) => Amount<"set">;
145
- getNat: (name: string) => bigint;
146
- getRatio: (name: string) => Ratio;
147
- getString: (name: string) => string;
148
- getTimestamp: (name: string) => import("@agoric/time/src/types.js").TimestampRecord;
149
- getRelativeTime: (name: string) => import("@agoric/time/src/types.js").RelativeTimeRecord;
150
- getUnknown: (name: string) => any;
151
- getSubscription: () => StoredSubscription<GovernanceSubscriptionState>;
152
- getGovernedParams: () => ERef<ParamStateRecord>;
153
- getMetrics(): Subscriber<import("./provisionPoolKit.js").MetricsNotification>;
154
- getPublicTopics(): {
155
- metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./provisionPoolKit.js").MetricsNotification>;
156
- };
157
- }>;
158
- }>;
159
- /**
160
- * TODO: ERef<GovernedCreatorFacet<ProvisionCreator>>
161
- */
162
- export type ProvisionTerms = StandardTerms & GovernanceTerms<{
163
- PerAccountInitialAmount: 'amount';
164
- }>;
165
- //# sourceMappingURL=provisionPool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"AAgBA,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAqBK,2BAZI,IAAI,cAAc,CAAC;cAEf,OAAO,WAAW,EAAE,IAAI,CACtC,OAAa,8BAA8B,EAAE,IAAI,CAC5C;4BACuB,UAAU;iBACrB,WAAW;gBACZ,UAAU;;YAGhB,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkE5C;;;;6BAjFY,aAAa,GACzB,gBAAoB;IACpB,uBAA6B,EAAE,QAAQ,CAAC;CACnC,CAAC"}
@@ -1,119 +0,0 @@
1
- // @jessie-check
2
- // @ts-check
3
-
4
- import {
5
- handleParamGovernance,
6
- ParamTypes,
7
- publicMixinAPI,
8
- } from '@agoric/governance';
9
- import { InvitationShape } from '@agoric/governance/src/typeGuards.js';
10
- import { M } from '@agoric/store';
11
- import { prepareExo } from '@agoric/vat-data';
12
- import { provideSingleton } from '@agoric/zoe/src/contractSupport/durability.js';
13
- import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/recorder.js';
14
- import { TopicsRecordShape } from '@agoric/zoe/src/contractSupport/topics.js';
15
- import { prepareProvisionPoolKit } from './provisionPoolKit.js';
16
-
17
- /** @type {ContractMeta} */
18
- export const meta = {
19
- privateArgsShape: M.splitRecord(
20
- {
21
- poolBank: M.eref(M.remotable('bank')),
22
- storageNode: M.eref(M.remotable('storageNode')),
23
- marshaller: M.eref(M.remotable('marshaller')),
24
- },
25
- {
26
- // only necessary on first invocation, not subsequent
27
- initialPoserInvitation: InvitationShape,
28
- metricsOverride: M.recordOf(M.string()),
29
- },
30
- ),
31
- upgradability: 'canUpgrade',
32
- };
33
- harden(meta);
34
-
35
- /**
36
- * @typedef {StandardTerms &
37
- * GovernanceTerms<{
38
- * PerAccountInitialAmount: 'amount';
39
- * }>} ProvisionTerms
40
- * TODO: ERef<GovernedCreatorFacet<ProvisionCreator>>
41
- * @param {ZCF<ProvisionTerms>} zcf
42
- * @param {{
43
- * poolBank: import('@endo/far').ERef<
44
- * import('@agoric/vats/src/vat-bank.js').Bank
45
- * >;
46
- * initialPoserInvitation: Invitation;
47
- * storageNode: StorageNode;
48
- * marshaller: Marshaller;
49
- * metricsOverride?: import('./provisionPoolKit').MetricsNotification;
50
- * }} privateArgs
51
- * @param {import('@agoric/vat-data').Baggage} baggage
52
- */
53
- export const start = async (zcf, privateArgs, baggage) => {
54
- const { poolBank, metricsOverride } = privateArgs;
55
-
56
- const { makeRecorderKit } = prepareRecorderKitMakers(
57
- baggage,
58
- privateArgs.marshaller,
59
- );
60
-
61
- // Governance
62
- const { publicMixin, makeDurableGovernorFacet, params } =
63
- await handleParamGovernance(
64
- zcf,
65
- privateArgs.initialPoserInvitation,
66
- {
67
- PerAccountInitialAmount: ParamTypes.AMOUNT,
68
- },
69
- privateArgs.storageNode,
70
- privateArgs.marshaller,
71
- );
72
-
73
- const makeProvisionPoolKit = prepareProvisionPoolKit(baggage, {
74
- makeRecorderKit,
75
- params,
76
- poolBank,
77
- zcf,
78
- });
79
-
80
- const provisionPoolKit = await provideSingleton(
81
- baggage,
82
- 'provisionPoolKit',
83
- () =>
84
- makeProvisionPoolKit({
85
- // XXX governance can change the brand of the amount but should only be able to change the value
86
- // NB: changing the brand will break this pool
87
- poolBrand: params.getPerAccountInitialAmount().brand,
88
- storageNode: privateArgs.storageNode,
89
- }),
90
- kit => kit.helper.start({ metrics: metricsOverride }),
91
- );
92
-
93
- const publicFacet = prepareExo(
94
- baggage,
95
- 'Provisioning Pool public',
96
- M.interface('ProvisionPool', {
97
- getMetrics: M.call().returns(M.remotable('MetricsSubscriber')),
98
- getPublicTopics: M.call().returns(TopicsRecordShape),
99
- ...publicMixinAPI,
100
- }),
101
- {
102
- getMetrics() {
103
- return provisionPoolKit.public.getPublicTopics().metrics.subscriber;
104
- },
105
- getPublicTopics() {
106
- return provisionPoolKit.public.getPublicTopics();
107
- },
108
- ...publicMixin,
109
- },
110
- );
111
-
112
- return harden({
113
- creatorFacet: makeDurableGovernorFacet(baggage, provisionPoolKit.machine)
114
- .governorFacet,
115
- publicFacet,
116
- });
117
- };
118
-
119
- harden(start);
@@ -1,379 +0,0 @@
1
- export function makeBridgeProvisionTool(sendInitialPayment: (depositBank: ERef<Bank>) => Promise<void>, onProvisioned: () => void): ({ bankManager, namesByAddressAdmin, walletFactory, }: ProvisionPoolKitReferences) => {
2
- fromBridge: (obj: any) => Promise<void>;
3
- } & import("@endo/eventual-send").RemotableBrand<{}, {
4
- fromBridge: (obj: any) => Promise<void>;
5
- }>;
6
- export function prepareProvisionPoolKit(baggage: import('@agoric/vat-data').Baggage, { makeRecorderKit, params, poolBank, zcf }: {
7
- makeRecorderKit: import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit;
8
- params: any;
9
- poolBank: import('@endo/far').ERef<Bank>;
10
- zcf: ZCF;
11
- }): ({ poolBrand, storageNode }: {
12
- poolBrand: Brand;
13
- storageNode: ERef<StorageNode>;
14
- }) => Promise<{
15
- machine: {
16
- /** @param {string[]} oldAddresses */
17
- addRevivableAddresses(oldAddresses: string[]): void;
18
- getWalletReviver(): {
19
- /** @param {string} address */
20
- reviveWallet(address: string): Promise<{
21
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
22
- getDepositFacet(): {
23
- receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
24
- };
25
- getOffersFacet(): {
26
- executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers").OfferSpec): Promise<void>;
27
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
28
- };
29
- getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
30
- getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
31
- getPublicTopics(): {
32
- current: {
33
- description: string;
34
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
35
- storagePath: Promise<string>;
36
- };
37
- updates: {
38
- description: string;
39
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
40
- storagePath: Promise<string>;
41
- };
42
- };
43
- }>;
44
- /**
45
- * @param {string} address
46
- * @returns {boolean} isRevive
47
- */
48
- ackWallet(address: string): boolean;
49
- };
50
- /** @param {ProvisionPoolKitReferences} erefs */
51
- setReferences(erefs: ProvisionPoolKitReferences): Promise<void>;
52
- makeHandler(): {
53
- fromBridge: (obj: any) => Promise<void>;
54
- } & import("@endo/eventual-send").RemotableBrand<{}, {
55
- fromBridge: (obj: any) => Promise<void>;
56
- }>;
57
- /**
58
- * @param {Brand} brand
59
- * @param {PsmInstance} instance
60
- */
61
- initPSM(brand: Brand, instance: PsmInstance): void;
62
- };
63
- walletReviver: {
64
- /** @param {string} address */
65
- reviveWallet(address: string): Promise<{
66
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
67
- getDepositFacet(): {
68
- receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
69
- };
70
- getOffersFacet(): {
71
- executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers").OfferSpec): Promise<void>;
72
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
73
- };
74
- getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
75
- getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
76
- getPublicTopics(): {
77
- current: {
78
- description: string;
79
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
80
- storagePath: Promise<string>;
81
- };
82
- updates: {
83
- description: string;
84
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
85
- storagePath: Promise<string>;
86
- };
87
- };
88
- }>;
89
- /**
90
- * @param {string} address
91
- * @returns {boolean} isRevive
92
- */
93
- ackWallet(address: string): boolean;
94
- };
95
- helper: {
96
- publishMetrics(): void;
97
- onTrade(converted: any): void;
98
- onSendFunds(provided: any): void;
99
- onProvisioned(): void;
100
- /** @param {ERef<Bank>} destBank */
101
- sendInitialPayment(destBank: ERef<Bank>): Promise<void>;
102
- /**
103
- * @param {object} [options]
104
- * @param {MetricsNotification} [options.metrics]
105
- */
106
- start({ metrics }?: {
107
- metrics?: MetricsNotification | undefined;
108
- } | undefined): void;
109
- /**
110
- * @param {ERef<Payment>} payIn
111
- * @param {Amount} amount
112
- * @param {PsmInstance} instance
113
- */
114
- swap(payIn: ERef<Payment>, amount: Amount, instance: PsmInstance): Promise<Amount<"nat">>;
115
- };
116
- public: {
117
- getPublicTopics(): {
118
- metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<MetricsNotification>;
119
- };
120
- };
121
- } & import("@endo/eventual-send").RemotableBrand<{}, {
122
- machine: {
123
- /** @param {string[]} oldAddresses */
124
- addRevivableAddresses(oldAddresses: string[]): void;
125
- getWalletReviver(): {
126
- /** @param {string} address */
127
- reviveWallet(address: string): Promise<{
128
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
129
- getDepositFacet(): {
130
- receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
131
- };
132
- getOffersFacet(): {
133
- executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers").OfferSpec): Promise<void>;
134
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
135
- };
136
- getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
137
- getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
138
- getPublicTopics(): {
139
- current: {
140
- description: string;
141
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
142
- storagePath: Promise<string>;
143
- };
144
- updates: {
145
- description: string;
146
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
147
- storagePath: Promise<string>;
148
- };
149
- };
150
- }>;
151
- /**
152
- * @param {string} address
153
- * @returns {boolean} isRevive
154
- */
155
- ackWallet(address: string): boolean;
156
- };
157
- /** @param {ProvisionPoolKitReferences} erefs */
158
- setReferences(erefs: ProvisionPoolKitReferences): Promise<void>;
159
- makeHandler(): {
160
- fromBridge: (obj: any) => Promise<void>;
161
- } & import("@endo/eventual-send").RemotableBrand<{}, {
162
- fromBridge: (obj: any) => Promise<void>;
163
- }>;
164
- /**
165
- * @param {Brand} brand
166
- * @param {PsmInstance} instance
167
- */
168
- initPSM(brand: Brand, instance: PsmInstance): void;
169
- };
170
- walletReviver: {
171
- /** @param {string} address */
172
- reviveWallet(address: string): Promise<{
173
- handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
174
- getDepositFacet(): {
175
- receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
176
- };
177
- getOffersFacet(): {
178
- executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers").OfferSpec): Promise<void>;
179
- tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
180
- };
181
- getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
182
- getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
183
- getPublicTopics(): {
184
- current: {
185
- description: string;
186
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
187
- storagePath: Promise<string>;
188
- };
189
- updates: {
190
- description: string;
191
- subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
192
- storagePath: Promise<string>;
193
- };
194
- };
195
- }>;
196
- /**
197
- * @param {string} address
198
- * @returns {boolean} isRevive
199
- */
200
- ackWallet(address: string): boolean;
201
- };
202
- helper: {
203
- publishMetrics(): void;
204
- onTrade(converted: any): void;
205
- onSendFunds(provided: any): void;
206
- onProvisioned(): void;
207
- /** @param {ERef<Bank>} destBank */
208
- sendInitialPayment(destBank: ERef<Bank>): Promise<void>;
209
- /**
210
- * @param {object} [options]
211
- * @param {MetricsNotification} [options.metrics]
212
- */
213
- start({ metrics }?: {
214
- metrics?: MetricsNotification | undefined;
215
- } | undefined): void;
216
- /**
217
- * @param {ERef<Payment>} payIn
218
- * @param {Amount} amount
219
- * @param {PsmInstance} instance
220
- */
221
- swap(payIn: ERef<Payment>, amount: Amount, instance: PsmInstance): Promise<Amount<"nat">>;
222
- };
223
- public: {
224
- getPublicTopics(): {
225
- metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<MetricsNotification>;
226
- };
227
- };
228
- }>>;
229
- export type PsmInstance = import('@agoric/zoe/src/zoeService/utils').Instance<(zcf: ZCF<GovernanceTerms<{
230
- GiveMintedFee: "ratio";
231
- WantMintedFee: "ratio";
232
- MintLimit: "amount";
233
- }> & {
234
- anchorBrand: Brand<"nat">;
235
- anchorPerMinted: Ratio;
236
- }>, privateArgs: {
237
- feeMintAccess: FeeMintAccess;
238
- initialPoserInvitation: Invitation<R, A>;
239
- storageNode: StorageNode;
240
- marshaller: Marshaller<unknown>;
241
- }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
242
- creatorFacet: {
243
- getParamMgrRetriever: () => {
244
- get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
245
- GiveMintedFee: "ratio";
246
- MintLimit: "amount";
247
- WantMintedFee: "ratio";
248
- } & {
249
- Electorate: "invitation";
250
- }>;
251
- } & import("@endo/eventual-send").RemotableBrand<{}, {
252
- get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
253
- GiveMintedFee: "ratio";
254
- MintLimit: "amount";
255
- WantMintedFee: "ratio";
256
- } & {
257
- Electorate: "invitation";
258
- }>;
259
- }>;
260
- getInvitation: (name: any) => Promise<Invitation<R, A>>;
261
- getLimitedCreatorFacet: () => {
262
- getRewardAllocation(): AmountKeywordRecord;
263
- makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
264
- makeRestoreMetricsInvitation(): Promise<Invitation<R, A>>;
265
- } & import("@endo/eventual-send").RemotableBrand<{}, {
266
- getRewardAllocation(): AmountKeywordRecord;
267
- makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
268
- makeRestoreMetricsInvitation(): Promise<Invitation<R, A>>;
269
- }>;
270
- getGovernedApis: () => GovernedApis;
271
- getGovernedApiNames: () => string[];
272
- setOfferFilter: (strings: any) => Promise<void>;
273
- } & import("@endo/eventual-send").RemotableBrand<{}, {
274
- getParamMgrRetriever: () => {
275
- get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
276
- GiveMintedFee: "ratio";
277
- MintLimit: "amount";
278
- WantMintedFee: "ratio";
279
- } & {
280
- Electorate: "invitation";
281
- }>;
282
- } & import("@endo/eventual-send").RemotableBrand<{}, {
283
- get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
284
- GiveMintedFee: "ratio";
285
- MintLimit: "amount";
286
- WantMintedFee: "ratio";
287
- } & {
288
- Electorate: "invitation";
289
- }>;
290
- }>;
291
- getInvitation: (name: any) => Promise<Invitation<R, A>>;
292
- getLimitedCreatorFacet: () => {
293
- getRewardAllocation(): AmountKeywordRecord;
294
- makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
295
- makeRestoreMetricsInvitation(): Promise<Invitation<R, A>>;
296
- } & import("@endo/eventual-send").RemotableBrand<{}, {
297
- getRewardAllocation(): AmountKeywordRecord;
298
- makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
299
- makeRestoreMetricsInvitation(): Promise<Invitation<R, A>>;
300
- }>;
301
- getGovernedApis: () => GovernedApis;
302
- getGovernedApiNames: () => string[];
303
- setOfferFilter: (strings: any) => Promise<void>;
304
- }>;
305
- publicFacet: {
306
- getAmount: (name: string) => Amount<AssetKind>;
307
- getBrand: (name: string) => Brand<AssetKind>;
308
- getInstance: (name: string) => Instance;
309
- getInstallation: (name: string) => Installation<any>;
310
- getInvitationAmount: (name: string) => Amount<"set">;
311
- getNat: (name: string) => bigint;
312
- getRatio: (name: string) => Ratio;
313
- getString: (name: string) => string;
314
- getTimestamp: (name: string) => import("@agoric/time/src/types").TimestampRecord;
315
- getRelativeTime: (name: string) => import("@agoric/time/src/types").RelativeTimeRecord;
316
- getUnknown: (name: string) => any;
317
- getSubscription: () => StoredSubscription<GovernanceSubscriptionState>;
318
- getGovernedParams: () => ERef<ParamStateRecord>;
319
- getMetrics(): Subscriber<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>;
320
- getPoolBalance(): Amount<any>;
321
- getPublicTopics(): {
322
- metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>; /** @param {string[]} oldAddresses */
323
- };
324
- makeWantMintedInvitation(): Promise<Invitation<R, A>>;
325
- makeGiveMintedInvitation(): Promise<Invitation<R, A>>;
326
- } & import("@endo/eventual-send").RemotableBrand<{}, {
327
- getAmount: (name: string) => Amount<AssetKind>;
328
- getBrand: (name: string) => Brand<AssetKind>;
329
- getInstance: (name: string) => Instance;
330
- getInstallation: (name: string) => Installation<any>;
331
- getInvitationAmount: (name: string) => Amount<"set">;
332
- getNat: (name: string) => bigint;
333
- getRatio: (name: string) => Ratio;
334
- getString: (name: string) => string;
335
- getTimestamp: (name: string) => import("@agoric/time/src/types").TimestampRecord;
336
- getRelativeTime: (name: string) => import("@agoric/time/src/types").RelativeTimeRecord;
337
- getUnknown: (name: string) => any;
338
- getSubscription: () => StoredSubscription<GovernanceSubscriptionState>;
339
- getGovernedParams: () => ERef<ParamStateRecord>;
340
- getMetrics(): Subscriber<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>;
341
- getPoolBalance(): Amount<any>;
342
- getPublicTopics(): {
343
- metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>; /** @param {string[]} oldAddresses */
344
- };
345
- makeWantMintedInvitation(): Promise<Invitation<R, A>>;
346
- makeGiveMintedInvitation(): Promise<Invitation<R, A>>;
347
- }>;
348
- }>>;
349
- export type ProvisionPoolKitReferences = {
350
- bankManager: ERef<BankManager>;
351
- namesByAddressAdmin: ERef<import('@agoric/vats').NameAdmin>;
352
- walletFactory: ERef<import('@agoric/vats/src/core/startWalletFactory').WalletFactoryStartResult['creatorFacet']>;
353
- };
354
- /**
355
- * Metrics naming scheme is that nouns are
356
- * present values and past-participles are accumulative.
357
- */
358
- export type MetricsNotification = {
359
- /**
360
- * count of new wallets provisioned
361
- */
362
- walletsProvisioned: bigint;
363
- /**
364
- * running sum of Minted provided
365
- * to new wallets
366
- */
367
- totalMintedProvided: Amount<'nat'>;
368
- /**
369
- * running sum of Minted ever
370
- * received by the contract from PSM
371
- */
372
- totalMintedConverted: Amount<'nat'>;
373
- };
374
- /**
375
- * Given attenuated access to the funding purse, handle requests to provision
376
- * smart wallets.
377
- */
378
- export type Bank = import('@agoric/vats/src/vat-bank.js').Bank;
379
- //# sourceMappingURL=provisionPoolKit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"AA2DO,0EALkB,KAAK,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,iBAC1C,MAAM,IAAI,0DAKP,0BAA0B;;;;GA+BvC;AAWM,iDARI,OAAO,kBAAkB,EAAE,OAAO,8CAClC;IACV,eAAmB,EAAE,OAAO,6CAA6C,EAAE,eAAe,CAAC;IAC3F,MAAU,EAAE,GAAG,CAAC;IAChB,QAAY,EAAE,OAAO,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,GAAO,EAAE,GAAG,CAAC;CACV;IAuVqB,SAAS,EAArB,KAAK;IACmB,WAAW,EAAnC,KAAK,WAAW,CAAC;;;QAzQtB,qCAAqC;4CAAzB,MAAM,EAAE;;YA+CpB,8BAA8B;kCAAlB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;YAqBlB;;;eAGG;+BAFQ,MAAM,GACJ,OAAO;;QA9DpB,gDAAgD;6BAApC,0BAA0B;;;;;;QA6BtC;;;WAGG;uBAFQ,KAAK,YACL,WAAW;;;QAQtB,8BAA8B;8BAAlB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;QAqBlB;;;WAGG;2BAFQ,MAAM,GACJ,OAAO;;;;;;;QAgDpB,mCAAmC;qCAAvB,KAAK,IAAI,CAAC;QA0BtB;;;WAGG;;;;QA2EH;;;;WAIG;oBAHQ,KAAK,OAAO,CAAC,UACb,MAAM,YACN,WAAW;;;;;;;;;QAjOtB,qCAAqC;4CAAzB,MAAM,EAAE;;YA+CpB,8BAA8B;kCAAlB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;YAqBlB;;;eAGG;+BAFQ,MAAM,GACJ,OAAO;;QA9DpB,gDAAgD;6BAApC,0BAA0B;;;;;;QA6BtC;;;WAGG;uBAFQ,KAAK,YACL,WAAW;;;QAQtB,8BAA8B;8BAAlB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;QAqBlB;;;WAGG;2BAFQ,MAAM,GACJ,OAAO;;;;;;;QAgDpB,mCAAmC;qCAAvB,KAAK,IAAI,CAAC;QA0BtB;;;WAGG;;;;QA2EH;;;;WAIG;oBAHQ,KAAK,OAAO,CAAC,UACb,MAAM,YACN,WAAW;;;;;;;IAwD7B;0BAlbY,OAAO,kCAAkC,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2JAyJxD,qCAAqC;;;;;;;;;;;;;;;;;;;;;2JAArC,qCAAqC;;;;;GAvJzC;;iBAKU,KAAK,WAAW,CAAC;yBACjB,KAAK,OAAO,cAAc,EAAE,SAAS,CAAC;mBACtC,KACb,OAAW,0CAA0C,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAC5F;;;;;;;;;;wBAMU,MAAM;;;;;yBACN,OAAO,KAAK,CAAC;;;;;0BAEb,OAAO,KAAK,CAAC;;;;;;mBAWd,OAAO,8BAA8B,EAAE,IAAI"}