@agoric/inter-protocol 0.16.2-other-dev-1f26562.0 → 0.16.2-other-dev-3eb1a1d.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 (191) hide show
  1. package/README.md +6 -6
  2. package/package.json +42 -36
  3. package/scripts/build-bundles.js +5 -21
  4. package/src/auction/auctionBook.d.ts +147 -0
  5. package/src/auction/auctionBook.d.ts.map +1 -0
  6. package/src/auction/auctionBook.js +156 -150
  7. package/src/auction/auctionMath.d.ts +17 -0
  8. package/src/auction/auctionMath.d.ts.map +1 -0
  9. package/src/auction/auctionMath.js +81 -0
  10. package/src/auction/auctioneer.d.ts +69 -0
  11. package/src/auction/auctioneer.d.ts.map +1 -0
  12. package/src/auction/auctioneer.js +70 -59
  13. package/src/auction/offerBook.d.ts +45 -0
  14. package/src/auction/offerBook.d.ts.map +1 -0
  15. package/src/auction/offerBook.js +13 -12
  16. package/src/auction/params.d.ts +144 -0
  17. package/src/auction/params.d.ts.map +1 -0
  18. package/src/auction/params.js +10 -9
  19. package/src/auction/scheduleMath.d.ts +5 -0
  20. package/src/auction/scheduleMath.d.ts.map +1 -0
  21. package/src/auction/scheduleMath.js +18 -16
  22. package/src/auction/scheduler.d.ts +50 -0
  23. package/src/auction/scheduler.d.ts.map +1 -0
  24. package/src/auction/scheduler.js +53 -47
  25. package/src/auction/sortedOffers.d.ts +8 -0
  26. package/src/auction/sortedOffers.d.ts.map +1 -0
  27. package/src/auction/sortedOffers.js +10 -9
  28. package/src/auction/util.d.ts +30 -0
  29. package/src/auction/util.d.ts.map +1 -0
  30. package/src/auction/util.js +9 -6
  31. package/src/clientSupport.d.ts +167 -0
  32. package/src/clientSupport.d.ts.map +1 -0
  33. package/src/clientSupport.js +155 -97
  34. package/src/collectFees.d.ts +2 -0
  35. package/src/collectFees.d.ts.map +1 -0
  36. package/src/contractSupport.d.ts +28 -0
  37. package/src/contractSupport.d.ts.map +1 -0
  38. package/src/contractSupport.js +19 -13
  39. package/src/econCommitteeCharter.d.ts +40 -0
  40. package/src/econCommitteeCharter.d.ts.map +1 -0
  41. package/src/econCommitteeCharter.js +21 -20
  42. package/src/feeDistributor.d.ts +224 -0
  43. package/src/feeDistributor.d.ts.map +1 -0
  44. package/src/feeDistributor.js +37 -33
  45. package/src/index.d.ts +2 -0
  46. package/src/index.d.ts.map +1 -0
  47. package/src/index.js +1 -0
  48. package/src/interest-math.d.ts +3 -0
  49. package/src/interest-math.d.ts.map +1 -0
  50. package/src/interest.d.ts +28 -0
  51. package/src/interest.d.ts.map +1 -0
  52. package/src/interest.js +23 -18
  53. package/src/price/README.md +13 -0
  54. package/src/price/fluxAggregatorContract.d.ts +71 -0
  55. package/src/price/fluxAggregatorContract.d.ts.map +1 -0
  56. package/src/price/fluxAggregatorContract.js +64 -55
  57. package/src/price/fluxAggregatorKit.d.ts +103 -0
  58. package/src/price/fluxAggregatorKit.d.ts.map +1 -0
  59. package/src/price/fluxAggregatorKit.js +52 -40
  60. package/src/price/priceOracleKit.d.ts +38 -0
  61. package/src/price/priceOracleKit.d.ts.map +1 -0
  62. package/src/price/priceOracleKit.js +12 -14
  63. package/src/price/roundsManager.d.ts +204 -0
  64. package/src/price/roundsManager.d.ts.map +1 -0
  65. package/src/price/roundsManager.js +131 -85
  66. package/src/proposals/README.md +2 -3
  67. package/src/proposals/add-auction.d.ts +109 -0
  68. package/src/proposals/add-auction.d.ts.map +1 -0
  69. package/src/proposals/add-auction.js +256 -0
  70. package/src/proposals/addAssetToVault.d.ts +173 -0
  71. package/src/proposals/addAssetToVault.d.ts.map +1 -0
  72. package/src/proposals/addAssetToVault.js +192 -40
  73. package/src/proposals/committee-proposal.d.ts +113 -0
  74. package/src/proposals/committee-proposal.d.ts.map +1 -0
  75. package/src/proposals/committee-proposal.js +25 -31
  76. package/src/proposals/core-proposal.d.ts +149 -0
  77. package/src/proposals/core-proposal.d.ts.map +1 -0
  78. package/src/proposals/core-proposal.js +9 -11
  79. package/src/proposals/deploy-price-feeds.d.ts +76 -0
  80. package/src/proposals/deploy-price-feeds.d.ts.map +1 -0
  81. package/src/proposals/deploy-price-feeds.js +316 -0
  82. package/src/proposals/econ-behaviors.d.ts +541 -0
  83. package/src/proposals/econ-behaviors.d.ts.map +1 -0
  84. package/src/proposals/econ-behaviors.js +64 -45
  85. package/src/proposals/price-feed-proposal.d.ts +84 -0
  86. package/src/proposals/price-feed-proposal.d.ts.map +1 -0
  87. package/src/proposals/price-feed-proposal.js +109 -51
  88. package/src/proposals/replace-fee-distributor.d.ts +48 -0
  89. package/src/proposals/replace-fee-distributor.d.ts.map +1 -0
  90. package/src/proposals/replace-fee-distributor.js +195 -0
  91. package/src/proposals/replace-scaledPriceAuthorities.d.ts +30 -0
  92. package/src/proposals/replace-scaledPriceAuthorities.d.ts.map +1 -0
  93. package/src/proposals/replace-scaledPriceAuthorities.js +124 -0
  94. package/src/proposals/replaceElectorate.d.ts +55 -0
  95. package/src/proposals/replaceElectorate.d.ts.map +1 -0
  96. package/src/proposals/replaceElectorate.js +521 -0
  97. package/src/proposals/startEconCommittee.d.ts +34 -0
  98. package/src/proposals/startEconCommittee.d.ts.map +1 -0
  99. package/src/proposals/startEconCommittee.js +2 -2
  100. package/src/proposals/startPSM.d.ts +59 -0
  101. package/src/proposals/startPSM.d.ts.map +1 -0
  102. package/src/proposals/startPSM.js +44 -29
  103. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +24 -0
  104. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +1 -0
  105. package/src/proposals/upgrade-scaledPriceAuthorities.js +78 -0
  106. package/src/proposals/upgrade-vaults.d.ts +41 -0
  107. package/src/proposals/upgrade-vaults.d.ts.map +1 -0
  108. package/src/proposals/upgrade-vaults.js +202 -0
  109. package/src/proposals/utils.d.ts +19 -0
  110. package/src/proposals/utils.d.ts.map +1 -0
  111. package/src/proposals/utils.js +43 -9
  112. package/src/provisionPool.d.ts +163 -0
  113. package/src/provisionPool.d.ts.map +1 -0
  114. package/src/provisionPool.js +122 -0
  115. package/src/provisionPoolKit.d.ts +359 -0
  116. package/src/provisionPoolKit.d.ts.map +1 -0
  117. package/src/provisionPoolKit.js +522 -0
  118. package/src/psm/psm.d.ts +125 -0
  119. package/src/psm/psm.d.ts.map +1 -0
  120. package/src/psm/psm.js +80 -79
  121. package/src/psm/types-ambient.d.ts +2 -0
  122. package/src/psm/types-ambient.d.ts.map +1 -0
  123. package/src/psm/types-ambient.js +3 -0
  124. package/src/reserve/assetReserve.d.ts +47 -0
  125. package/src/reserve/assetReserve.d.ts.map +1 -0
  126. package/src/reserve/assetReserve.js +28 -19
  127. package/src/reserve/assetReserveKit.d.ts +74 -0
  128. package/src/reserve/assetReserveKit.d.ts.map +1 -0
  129. package/src/reserve/assetReserveKit.js +24 -30
  130. package/src/reserve/params.d.ts +10 -0
  131. package/src/reserve/params.d.ts.map +1 -0
  132. package/src/tokens.d.ts +3 -0
  133. package/src/tokens.d.ts.map +1 -0
  134. package/src/tokens.js +5 -0
  135. package/src/vaultFactory/burn.d.ts +2 -0
  136. package/src/vaultFactory/burn.d.ts.map +1 -0
  137. package/src/vaultFactory/burn.js +1 -1
  138. package/src/vaultFactory/liquidation.d.ts +23 -0
  139. package/src/vaultFactory/liquidation.d.ts.map +1 -0
  140. package/src/vaultFactory/liquidation.js +37 -24
  141. package/src/vaultFactory/math.d.ts +11 -0
  142. package/src/vaultFactory/math.d.ts.map +1 -0
  143. package/src/vaultFactory/math.js +10 -9
  144. package/src/vaultFactory/orderedVaultStore.d.ts +93 -0
  145. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
  146. package/src/vaultFactory/orderedVaultStore.js +8 -11
  147. package/src/vaultFactory/params.d.ts +140 -0
  148. package/src/vaultFactory/params.d.ts.map +1 -0
  149. package/src/vaultFactory/params.js +52 -24
  150. package/src/vaultFactory/prioritizedVaults.d.ts +279 -0
  151. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
  152. package/src/vaultFactory/prioritizedVaults.js +4 -4
  153. package/src/vaultFactory/proceeds.d.ts +35 -0
  154. package/src/vaultFactory/proceeds.d.ts.map +1 -0
  155. package/src/vaultFactory/proceeds.js +26 -18
  156. package/src/vaultFactory/storeUtils.d.ts +25 -0
  157. package/src/vaultFactory/storeUtils.d.ts.map +1 -0
  158. package/src/vaultFactory/storeUtils.js +10 -12
  159. package/src/vaultFactory/types-ambient.d.ts +137 -0
  160. package/src/vaultFactory/types-ambient.d.ts.map +1 -0
  161. package/src/vaultFactory/{types.js → types-ambient.js} +42 -42
  162. package/src/vaultFactory/vault.d.ts +343 -0
  163. package/src/vaultFactory/vault.d.ts.map +1 -0
  164. package/src/vaultFactory/vault.js +105 -99
  165. package/src/vaultFactory/vaultDirector.d.ts +341 -0
  166. package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
  167. package/src/vaultFactory/vaultDirector.js +86 -64
  168. package/src/vaultFactory/vaultFactory.d.ts +202 -0
  169. package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
  170. package/src/vaultFactory/vaultFactory.js +52 -33
  171. package/src/vaultFactory/vaultHolder.d.ts +126 -0
  172. package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
  173. package/src/vaultFactory/vaultHolder.js +11 -16
  174. package/src/vaultFactory/vaultKit.d.ts +32 -0
  175. package/src/vaultFactory/vaultKit.d.ts.map +1 -0
  176. package/src/vaultFactory/vaultKit.js +5 -4
  177. package/src/vaultFactory/vaultManager.d.ts +674 -0
  178. package/src/vaultFactory/vaultManager.d.ts.map +1 -0
  179. package/src/vaultFactory/vaultManager.js +257 -158
  180. package/CHANGELOG.md +0 -1041
  181. package/exported.js +0 -2
  182. package/scripts/add-collateral-core.js +0 -112
  183. package/scripts/deploy-contracts.js +0 -100
  184. package/scripts/init-core.js +0 -198
  185. package/scripts/invite-committee-core.js +0 -42
  186. package/scripts/manual-price-feed.js +0 -117
  187. package/scripts/price-feed-core.js +0 -104
  188. package/scripts/start-local-chain.sh +0 -84
  189. package/src/psm/types.js +0 -3
  190. package/src/typeGuards.js +0 -13
  191. package/src/vaultFactory/type-imports.js +0 -4
@@ -0,0 +1,109 @@
1
+ export function addAuction({ consume: { agoricNamesAdmin, auctioneerKit: legacyKitP, board, chainStorage, chainTimerService, economicCommitteeCreatorFacet: electorateCreatorFacet, governedContractKits: governedContractKitsP, priceAuthority8400, zoe, }, produce: { auctioneerKit: produceAuctioneerKit, auctionUpgradeNewInstance, auctionUpgradeNewGovCreator, newContractGovBundleId, }, instance: { consume: { reserve: reserveInstance }, produce: { auctioneer: auctionInstance }, }, installation: { consume: { auctioneer: auctioneerInstallationP }, }, issuer: { consume: { [Stable.symbol]: stableIssuerP }, }, }: import("./econ-behaviors.js").EconomyBootstrapPowers & interlockPowers, { options: { contractGovernorRef: contractGovernorBundle, contractGovernorInstallation, }, }: {
2
+ options: {
3
+ contractGovernorRef: {
4
+ bundleID: string;
5
+ };
6
+ contractGovernorInstallation: Installation;
7
+ };
8
+ }): Promise<void>;
9
+ export const ADD_AUCTION_MANIFEST: {
10
+ [x: string]: {
11
+ consume: {
12
+ agoricNamesAdmin: boolean;
13
+ auctioneerKit: boolean;
14
+ board: boolean;
15
+ chainStorage: boolean;
16
+ chainTimerService: boolean;
17
+ econCharterKit: boolean;
18
+ economicCommitteeCreatorFacet: boolean;
19
+ governedContractKits: boolean;
20
+ priceAuthority8400: boolean;
21
+ zoe: boolean;
22
+ };
23
+ produce: {
24
+ auctioneerKit: boolean;
25
+ auctionUpgradeNewInstance: boolean;
26
+ auctionUpgradeNewGovCreator: boolean;
27
+ newContractGovBundleId: boolean;
28
+ };
29
+ instance: {
30
+ consume: {
31
+ reserve: boolean;
32
+ };
33
+ produce: {
34
+ auctioneer: boolean;
35
+ };
36
+ };
37
+ installation: {
38
+ consume: {
39
+ contractGovernor: boolean;
40
+ auctioneer: boolean;
41
+ };
42
+ };
43
+ issuer: {
44
+ consume: {
45
+ IST: boolean;
46
+ };
47
+ };
48
+ };
49
+ };
50
+ export function getManifestForAddAuction({ restoreRef }: {
51
+ restoreRef: any;
52
+ }, { auctioneerRef, contractGovernorRef }: any): Promise<{
53
+ manifest: {
54
+ [x: string]: {
55
+ consume: {
56
+ agoricNamesAdmin: boolean;
57
+ auctioneerKit: boolean;
58
+ board: boolean;
59
+ chainStorage: boolean;
60
+ chainTimerService: boolean;
61
+ econCharterKit: boolean;
62
+ economicCommitteeCreatorFacet: boolean;
63
+ governedContractKits: boolean;
64
+ priceAuthority8400: boolean;
65
+ zoe: boolean;
66
+ };
67
+ produce: {
68
+ auctioneerKit: boolean;
69
+ auctionUpgradeNewInstance: boolean;
70
+ auctionUpgradeNewGovCreator: boolean;
71
+ newContractGovBundleId: boolean;
72
+ };
73
+ instance: {
74
+ consume: {
75
+ reserve: boolean;
76
+ };
77
+ produce: {
78
+ auctioneer: boolean;
79
+ };
80
+ };
81
+ installation: {
82
+ consume: {
83
+ contractGovernor: boolean;
84
+ auctioneer: boolean;
85
+ };
86
+ };
87
+ issuer: {
88
+ consume: {
89
+ IST: boolean;
90
+ };
91
+ };
92
+ };
93
+ };
94
+ options: {
95
+ contractGovernorRef: any;
96
+ contractGovernorInstallation: any;
97
+ };
98
+ installations: {
99
+ auctioneer: any;
100
+ contractGovernor: any;
101
+ };
102
+ }>;
103
+ export type interlockPowers = PromiseSpaceOf<{
104
+ auctionUpgradeNewInstance: Instance;
105
+ auctionUpgradeNewGovCreator: any;
106
+ newContractGovBundleId: string;
107
+ }>;
108
+ import { Stable } from '@agoric/internal/src/tokens.js';
109
+ //# sourceMappingURL=add-auction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-auction.d.ts","sourceRoot":"","sources":["add-auction.js"],"names":[],"mappings":"AA0BO,kmBATI,OAAO,qBAAqB,EAAE,sBAAsB,GAC1D,eAAe,gGACT;IACN,OAAO,EAAE;QACP,mBAAmB,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,4BAA4B,EAAE,YAAY,CAAC;KAC5C,CAAC;CACH,iBA8KH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BG;AASI,yDAHJ;IAAmB,UAAU,EAArB,GAAG;CACX,0CAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBb;8BAtPY,cAAc,CAAC;IACvB,yBAAyB,EAAE,QAAQ,CAAC;IACpC,2BAA2B,EAAE,GAAG,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;uBAVkB,gCAAgC"}
@@ -0,0 +1,256 @@
1
+ import { deeplyFulfilledObject, makeTracer } from '@agoric/internal';
2
+ import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
3
+ import { E } from '@endo/far';
4
+ import { Stable } from '@agoric/internal/src/tokens.js';
5
+ import { makeGovernedTerms as makeGovernedATerms } from '../auction/params.js';
6
+
7
+ const trace = makeTracer('NewAuction', true);
8
+
9
+ /**
10
+ * @typedef {PromiseSpaceOf<{
11
+ * auctionUpgradeNewInstance: Instance;
12
+ * auctionUpgradeNewGovCreator: any;
13
+ * newContractGovBundleId: string;
14
+ * }>} interlockPowers
15
+ */
16
+
17
+ /**
18
+ * @param {import('./econ-behaviors.js').EconomyBootstrapPowers &
19
+ * interlockPowers} powers
20
+ * @param {{
21
+ * options: {
22
+ * contractGovernorRef: { bundleID: string };
23
+ * contractGovernorInstallation: Installation;
24
+ * };
25
+ * }} options
26
+ */
27
+ export const addAuction = async (
28
+ {
29
+ consume: {
30
+ agoricNamesAdmin,
31
+ auctioneerKit: legacyKitP,
32
+ board,
33
+ chainStorage,
34
+ chainTimerService,
35
+ economicCommitteeCreatorFacet: electorateCreatorFacet,
36
+ governedContractKits: governedContractKitsP,
37
+ priceAuthority8400,
38
+ zoe,
39
+ },
40
+ produce: {
41
+ auctioneerKit: produceAuctioneerKit,
42
+ auctionUpgradeNewInstance,
43
+ auctionUpgradeNewGovCreator,
44
+ newContractGovBundleId,
45
+ },
46
+ instance: {
47
+ consume: { reserve: reserveInstance },
48
+ produce: { auctioneer: auctionInstance },
49
+ },
50
+ installation: {
51
+ consume: { auctioneer: auctioneerInstallationP },
52
+ },
53
+ issuer: {
54
+ consume: { [Stable.symbol]: stableIssuerP },
55
+ },
56
+ },
57
+ {
58
+ options: {
59
+ contractGovernorRef: contractGovernorBundle,
60
+ contractGovernorInstallation,
61
+ },
62
+ },
63
+ ) => {
64
+ trace('addAuction start');
65
+ const STORAGE_PATH = 'auction';
66
+
67
+ const poserInvitationP = E(electorateCreatorFacet).getPoserInvitation();
68
+ const [
69
+ initialPoserInvitation,
70
+ electorateInvitationAmount,
71
+ stableIssuer,
72
+ legacyKit,
73
+ auctioneerInstallation,
74
+ ] = await Promise.all([
75
+ poserInvitationP,
76
+ E(E(zoe).getInvitationIssuer()).getAmountOf(poserInvitationP),
77
+ stableIssuerP,
78
+ legacyKitP,
79
+ auctioneerInstallationP,
80
+ ]);
81
+
82
+ // Each field has an extra layer of type + value:
83
+ // AuctionStartDelay: { type: 'relativeTime', value: { relValue: 2n, timerBrand: Object [Alleged: timerBrand] {} } }
84
+ /** @type {any} */
85
+ const paramValues = await E(legacyKit.publicFacet).getGovernedParams();
86
+ const params = harden({
87
+ StartFrequency: paramValues.StartFrequency.value,
88
+ ClockStep: paramValues.ClockStep.value,
89
+ StartingRate: paramValues.StartingRate.value,
90
+ LowestRate: paramValues.LowestRate.value,
91
+ DiscountStep: paramValues.DiscountStep.value,
92
+ AuctionStartDelay: paramValues.AuctionStartDelay.value,
93
+ PriceLockPeriod: paramValues.PriceLockPeriod.value,
94
+ });
95
+ const timerBrand = await E(chainTimerService).getTimerBrand();
96
+
97
+ const storageNode = await makeStorageNodeChild(chainStorage, STORAGE_PATH);
98
+ const marshaller = await E(board).getReadonlyMarshaller();
99
+
100
+ const reservePublicFacet = await E(zoe).getPublicFacet(reserveInstance);
101
+
102
+ const auctionTerms = makeGovernedATerms(
103
+ { storageNode, marshaller },
104
+ chainTimerService,
105
+ priceAuthority8400,
106
+ reservePublicFacet,
107
+ {
108
+ ...params,
109
+ ElectorateInvitationAmount: electorateInvitationAmount,
110
+ TimerBrand: timerBrand,
111
+ },
112
+ );
113
+
114
+ const governorTerms = await deeplyFulfilledObject(
115
+ harden({
116
+ timer: chainTimerService,
117
+ governedContractInstallation: auctioneerInstallation,
118
+ governed: {
119
+ terms: auctionTerms,
120
+ issuerKeywordRecord: { Bid: stableIssuer },
121
+ storageNode,
122
+ marshaller,
123
+ label: 'auctioneer',
124
+ },
125
+ }),
126
+ );
127
+
128
+ const bundleIdFromZoe = await E(zoe).getBundleIDFromInstallation(
129
+ contractGovernorInstallation,
130
+ );
131
+ trace('governor bundle ID', bundleIdFromZoe, contractGovernorBundle.bundleID);
132
+
133
+ /** @type {GovernorStartedInstallationKit<typeof auctioneerInstallationP>} */
134
+ const governorStartResult = await E(zoe).startInstance(
135
+ contractGovernorInstallation,
136
+ undefined,
137
+ governorTerms,
138
+ harden({
139
+ electorateCreatorFacet,
140
+ governed: {
141
+ initialPoserInvitation,
142
+ storageNode,
143
+ marshaller,
144
+ },
145
+ }),
146
+ 'auctioneer.governor',
147
+ );
148
+
149
+ const [
150
+ governedInstance,
151
+ governedCreatorFacet,
152
+ governedPublicFacet,
153
+ governedAdminFacet,
154
+ ] = await Promise.all([
155
+ E(governorStartResult.creatorFacet).getInstance(),
156
+ E(governorStartResult.creatorFacet).getCreatorFacet(),
157
+ E(governorStartResult.creatorFacet).getPublicFacet(),
158
+ E(governorStartResult.creatorFacet).getAdminFacet(),
159
+ ]);
160
+
161
+ const allIssuers = await E(zoe).getIssuers(legacyKit.instance);
162
+ const { Bid: _istIssuer, ...auctionIssuers } = allIssuers;
163
+ await Promise.all(
164
+ Object.keys(auctionIssuers).map(kwd =>
165
+ E(governedCreatorFacet).addBrand(
166
+ /** @type {Issuer<'nat'>} */ (auctionIssuers[kwd]),
167
+ kwd,
168
+ ),
169
+ ),
170
+ );
171
+
172
+ const kit = harden({
173
+ label: 'auctioneer',
174
+ creatorFacet: governedCreatorFacet,
175
+ adminFacet: governedAdminFacet,
176
+ publicFacet: governedPublicFacet,
177
+ instance: governedInstance,
178
+
179
+ governor: governorStartResult.instance,
180
+ governorCreatorFacet: governorStartResult.creatorFacet,
181
+ governorAdminFacet: governorStartResult.adminFacet,
182
+ });
183
+ produceAuctioneerKit.reset();
184
+ produceAuctioneerKit.resolve(kit);
185
+
186
+ auctionInstance.reset();
187
+ await auctionInstance.resolve(governedInstance);
188
+ // belt and suspenders; the above is supposed to also do this
189
+ await E(E(agoricNamesAdmin).lookupAdmin('instance')).update(
190
+ 'auctioneer',
191
+ governedInstance,
192
+ );
193
+
194
+ const governedContractKits = await governedContractKitsP;
195
+ governedContractKits.init(kit.instance, kit);
196
+ auctionUpgradeNewInstance.resolve(governedInstance);
197
+ auctionUpgradeNewGovCreator.resolve(kit.governorCreatorFacet);
198
+ newContractGovBundleId.resolve(contractGovernorBundle.bundleID);
199
+ };
200
+
201
+ export const ADD_AUCTION_MANIFEST = harden({
202
+ [addAuction.name]: {
203
+ consume: {
204
+ agoricNamesAdmin: true,
205
+ auctioneerKit: true,
206
+ board: true,
207
+ chainStorage: true,
208
+ chainTimerService: true,
209
+ econCharterKit: true,
210
+ economicCommitteeCreatorFacet: true,
211
+ governedContractKits: true,
212
+ priceAuthority8400: true,
213
+ zoe: true,
214
+ },
215
+ produce: {
216
+ auctioneerKit: true,
217
+ auctionUpgradeNewInstance: true,
218
+ auctionUpgradeNewGovCreator: true,
219
+ newContractGovBundleId: true,
220
+ },
221
+ instance: {
222
+ consume: { reserve: true },
223
+ produce: { auctioneer: true },
224
+ },
225
+ installation: {
226
+ consume: { contractGovernor: true, auctioneer: true },
227
+ },
228
+ issuer: {
229
+ consume: { [Stable.symbol]: true },
230
+ },
231
+ },
232
+ });
233
+
234
+ /**
235
+ * Add a new auction to a chain that already has one.
236
+ *
237
+ * @param {object} utils
238
+ * @param {any} utils.restoreRef
239
+ * @param {any} addAuctionOptions
240
+ */
241
+ export const getManifestForAddAuction = async (
242
+ { restoreRef },
243
+ { auctioneerRef, contractGovernorRef },
244
+ ) => {
245
+ const contractGovernorInstallation = restoreRef(contractGovernorRef);
246
+ return {
247
+ manifest: ADD_AUCTION_MANIFEST,
248
+ // XXX we should be able to receive contractGovernorInstallation via
249
+ // installations.consume, but the received installation isn't right.
250
+ options: { contractGovernorRef, contractGovernorInstallation },
251
+ installations: {
252
+ auctioneer: restoreRef(auctioneerRef),
253
+ contractGovernor: restoreRef(contractGovernorRef),
254
+ },
255
+ };
256
+ };
@@ -0,0 +1,173 @@
1
+ export * from "./startPSM.js";
2
+ export function publishInterchainAssetFromBoardId({ consume: { board, agoricNamesAdmin } }: BootstrapPowers, { options: { interchainAssetOptions } }: {
3
+ options: {
4
+ interchainAssetOptions: InterchainAssetOptions;
5
+ };
6
+ }): Promise<[void, void]>;
7
+ export function publishInterchainAssetFromBank({ consume: { bankManager, agoricNamesAdmin, reserveKit, startUpgradable }, installation: { consume: { mintHolder }, }, }: EconomyBootstrapPowers, { options: { interchainAssetOptions } }: {
8
+ options: {
9
+ interchainAssetOptions: InterchainAssetOptions;
10
+ };
11
+ }): Promise<void>;
12
+ export function startScaledPriceAuthority({ consume: { agoricNamesAdmin, startUpgradable, priceAuthorityAdmin, priceAuthority, }, }: BootstrapPowers, { options: { interchainAssetOptions } }: {
13
+ options: {
14
+ interchainAssetOptions: InterchainAssetOptions;
15
+ };
16
+ }): Promise<{
17
+ instance: import("@agoric/zoe/src/zoeService/utils.js").Instance<import("@agoric/zoe/src/zoeService/utils.js").ContractStartFunction>;
18
+ adminFacet: import("@agoric/zoe/src/zoeService/utils.js").AdminFacet<import("@agoric/zoe/src/zoeService/utils.js").ContractStartFunction>;
19
+ creatorFacet: {};
20
+ publicFacet: {};
21
+ } & {
22
+ creatorFacet?: {};
23
+ publicFacet?: {};
24
+ } & {
25
+ label: string;
26
+ }>;
27
+ export function registerScaledPriceAuthority(powers: BootstrapPowers, { options }: {
28
+ options: object;
29
+ }): Promise<void>;
30
+ export function addAssetToVault({ consume: { vaultFactoryKit, agoricNamesAdmin, auctioneerKit, chainTimerService, }, brand: { consume: { [Stable.symbol]: stableP }, }, instance: { consume: consumeInstance }, }: EconomyBootstrapPowers, { options: { debtLimitValue, interestRateValue, interchainAssetOptions, }, }: {
31
+ options: {
32
+ interchainAssetOptions: InterchainAssetOptions;
33
+ debtLimitValue: bigint | number | string;
34
+ interestRateValue: bigint;
35
+ };
36
+ }): Promise<void>;
37
+ export function getManifestForAddAssetToVault({ restoreRef }: {
38
+ restoreRef: any;
39
+ }, { debtLimitValue, interestRateValue, interchainAssetOptions, scaledPriceAuthorityRef, }: {
40
+ debtLimitValue: any;
41
+ interestRateValue: any;
42
+ interchainAssetOptions: any;
43
+ scaledPriceAuthorityRef: any;
44
+ }): {
45
+ manifest: {
46
+ [x: string]: {
47
+ consume: {
48
+ board: boolean;
49
+ agoricNamesAdmin: boolean;
50
+ bankManager?: undefined;
51
+ reserveKit?: undefined;
52
+ startUpgradable?: undefined;
53
+ priceAuthorityAdmin?: undefined;
54
+ priceAuthority?: undefined;
55
+ auctioneerKit?: undefined;
56
+ vaultFactoryKit?: undefined;
57
+ chainTimerService?: undefined;
58
+ };
59
+ produce?: undefined;
60
+ installation?: undefined;
61
+ instance?: undefined;
62
+ brand?: undefined;
63
+ } | {
64
+ consume: {
65
+ bankManager: boolean;
66
+ agoricNamesAdmin: boolean;
67
+ reserveKit: boolean;
68
+ startUpgradable: boolean;
69
+ board?: undefined;
70
+ priceAuthorityAdmin?: undefined;
71
+ priceAuthority?: undefined;
72
+ auctioneerKit?: undefined;
73
+ vaultFactoryKit?: undefined;
74
+ chainTimerService?: undefined;
75
+ };
76
+ produce: {
77
+ bankMints: boolean;
78
+ vBankKits: boolean;
79
+ };
80
+ installation: {
81
+ consume: {
82
+ mintHolder: boolean;
83
+ scaledPriceAuthority?: undefined;
84
+ };
85
+ };
86
+ instance?: undefined;
87
+ brand?: undefined;
88
+ } | {
89
+ consume: {
90
+ agoricNamesAdmin: boolean;
91
+ startUpgradable: boolean;
92
+ priceAuthorityAdmin: boolean;
93
+ priceAuthority: boolean;
94
+ board?: undefined;
95
+ bankManager?: undefined;
96
+ reserveKit?: undefined;
97
+ auctioneerKit?: undefined;
98
+ vaultFactoryKit?: undefined;
99
+ chainTimerService?: undefined;
100
+ };
101
+ instance: {
102
+ produce: boolean;
103
+ consume?: undefined;
104
+ };
105
+ installation: {
106
+ consume: {
107
+ scaledPriceAuthority: boolean;
108
+ mintHolder?: undefined;
109
+ };
110
+ };
111
+ produce?: undefined;
112
+ brand?: undefined;
113
+ } | {
114
+ consume: {
115
+ auctioneerKit: string;
116
+ vaultFactoryKit: string;
117
+ agoricNamesAdmin: boolean;
118
+ chainTimerService: boolean;
119
+ board?: undefined;
120
+ bankManager?: undefined;
121
+ reserveKit?: undefined;
122
+ startUpgradable?: undefined;
123
+ priceAuthorityAdmin?: undefined;
124
+ priceAuthority?: undefined;
125
+ };
126
+ brand: {
127
+ consume: {
128
+ IST: boolean;
129
+ };
130
+ };
131
+ instance: {
132
+ consume: boolean;
133
+ produce?: undefined;
134
+ };
135
+ produce?: undefined;
136
+ installation?: undefined;
137
+ };
138
+ };
139
+ installations: {
140
+ scaledPriceAuthority: any;
141
+ };
142
+ options: {
143
+ debtLimitValue: any;
144
+ interchainAssetOptions: any;
145
+ interestRateValue: any;
146
+ };
147
+ };
148
+ export type InterchainAssetOptions = {
149
+ issuerBoardId?: string | undefined;
150
+ denom?: string | undefined;
151
+ decimalPlaces?: number | undefined;
152
+ /**
153
+ * - used in regstering with reserve, vaultFactory
154
+ */
155
+ keyword: string;
156
+ /**
157
+ * - used in agoricNames for compatibility:
158
+ * defaults to `keyword` if not provided
159
+ */
160
+ issuerName?: string | undefined;
161
+ /**
162
+ * - defaults to `issuerName` if not provided
163
+ */
164
+ proposedName?: string | undefined;
165
+ /**
166
+ * - defaults to `issuerName` if not provided
167
+ */
168
+ oracleBrand?: string | undefined;
169
+ initialPrice?: number | undefined;
170
+ };
171
+ import type { EconomyBootstrapPowers } from './econ-behaviors.js';
172
+ import { Stable } from '@agoric/internal/src/tokens.js';
173
+ //# sourceMappingURL=addAssetToVault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addAssetToVault.d.ts","sourceRoot":"","sources":["addAssetToVault.js"],"names":[],"mappings":";AA4CO,4FALI,eAAe,2CAEvB;IAAuB,OAAO,EAC9B;QAA+C,sBAAsB,EAA7D,sBAAsB;KAChC;CAAA,yBAsBA;AAQM,yKALI,sBAAsB,2CAE9B;IAAuB,OAAO,EAC9B;QAA+C,sBAAsB,EAA7D,sBAAsB;KAChC;CAAA,iBAmDA;AAQM,qIALI,eAAe,2CAEvB;IAAuB,OAAO,EAC9B;QAA+C,sBAAsB,EAA7D,sBAAsB;KAChC;CAAA;;;;;;;;;;GAuGA;AAOM,qDAJI,eAAe,eAEvB;IAAuB,OAAO,EAAtB,MAAM;CAChB,iBAgBA;AA+EM,mNAPI,sBAAsB,gFAE9B;IAAuB,OAAO,EAC9B;QAA+C,sBAAsB,EAA7D,sBAAsB;QACmB,cAAc,EAAvD,MAAM,GAAG,MAAM,GAAG,MAAM;QACD,iBAAiB,EAAxC,MAAM;KAChB;CAAA,iBAyEA;AAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EN;;;;;;;;aA1ca,MAAM;;;;;;;;;;;;;;;;4CAQsB,qBAAqB;uBAzBxC,gCAAgC"}