@agoric/inter-protocol 0.16.2-other-dev-8f8782b.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,541 @@
1
+ export const SECONDS_PER_MINUTE: 60n;
2
+ export const SECONDS_PER_HOUR: bigint;
3
+ export const SECONDS_PER_DAY: bigint;
4
+ export const SECONDS_PER_WEEK: bigint;
5
+ export function setupReserve({ consume: { board, feeMintAccess: feeMintAccessP, chainStorage, chainTimerService, diagnostics, zoe, economicCommitteeCreatorFacet: committeeCreator, }, produce: { reserveKit }, issuer: { consume: { [Stable.symbol]: centralIssuer }, }, instance: { produce: { reserve: reserveInstanceProducer, reserveGovernor }, }, installation: { consume: { contractGovernor: governorInstallation, reserve: reserveInstallation, }, }, }: EconomyBootstrapPowers): Promise<Installation<(zcf: ZCF<GovernanceTerms<{}> & {
6
+ governedApis: ["burnFeesToReduceShortfall"];
7
+ }>, privateArgs: {
8
+ feeMintAccess: FeeMintAccess;
9
+ initialPoserInvitation: Invitation;
10
+ marshaller: ERef<Marshaller>;
11
+ storageNode: ERef<StorageNode>;
12
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
13
+ creatorFacet: GovernedCreatorFacet<import("@endo/exo").Guarded<{
14
+ addIssuer(issuer: Issuer, keyword: string): Promise<void>;
15
+ getAllocations(): Allocation;
16
+ makeShortfallReportingInvitation(): Promise<Invitation<import("@endo/exo").Guarded<{
17
+ increaseLiquidationShortfall(shortfall: Amount<"nat">): void;
18
+ reduceLiquidationShortfall(reduction: Amount<"nat">): void;
19
+ }>, undefined>>;
20
+ }>>;
21
+ publicFacet: GovernedPublicFacet<import("@endo/exo").Guarded<{
22
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
23
+ getPublicTopics(): {
24
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
25
+ };
26
+ }>>;
27
+ }>>>;
28
+ export function setupVaultFactoryArguments(consume: EconomyBootstrapPowers["consume"], { interestTiming, options: { referencedUi }, }: {
29
+ interestTiming?: InterestTiming | undefined;
30
+ options?: {
31
+ referencedUi?: string | undefined;
32
+ } | undefined;
33
+ } | undefined, minInitialDebt: Amount<"nat">): Promise<{
34
+ vaultFactoryTerms: {
35
+ priceAuthority: globalThis.ERef<import("@agoric/zoe/tools/types.js").PriceAuthority>;
36
+ reservePublicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
37
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
38
+ getPublicTopics(): {
39
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
40
+ };
41
+ }>>;
42
+ timerService: globalThis.ERef<import("@agoric/time").TimerService>;
43
+ governedParams: {
44
+ Electorate: {
45
+ type: "invitation";
46
+ value: import("@agoric/ertp").SetAmount<import("@endo/patterns").Key>;
47
+ };
48
+ MinInitialDebt: {
49
+ type: "amount";
50
+ value: import("@agoric/ertp").NatAmount;
51
+ };
52
+ ShortfallInvitation: {
53
+ type: "invitation";
54
+ value: import("@agoric/ertp").SetAmount<import("@endo/patterns").Key>;
55
+ };
56
+ ReferencedUI: {
57
+ type: "string";
58
+ value: string;
59
+ };
60
+ ChargingPeriod: {
61
+ type: "nat";
62
+ value: bigint;
63
+ };
64
+ RecordingPeriod: {
65
+ type: "nat";
66
+ value: bigint;
67
+ };
68
+ };
69
+ bootstrapPaymentValue: bigint;
70
+ };
71
+ vaultFactoryPrivateArgs: {
72
+ auctioneerInstance: import("@agoric/internal/src/tagged.js").TagContainer<any> & import("@endo/pass-style").RemotableObject & Handle<"Instance">;
73
+ feeMintAccess: FeeMintAccess;
74
+ initialPoserInvitation: import("@endo/pass-style").RemotableObject & import("@agoric/ertp").PaymentMethods<"set"> & {
75
+ [OfferReturn]?: unknown;
76
+ [OfferArgs]?: undefined;
77
+ };
78
+ initialShortfallInvitation: import("@endo/pass-style").RemotableObject & import("@agoric/ertp").PaymentMethods<"set"> & {
79
+ [OfferReturn]?: import("@endo/exo").Guarded<{
80
+ increaseLiquidationShortfall(shortfall: Amount<"nat">): void;
81
+ reduceLiquidationShortfall(reduction: Amount<"nat">): void;
82
+ }> | undefined;
83
+ [OfferArgs]?: undefined;
84
+ };
85
+ marshaller: import("@endo/exo").Guarded<{
86
+ toCapData(val: any): import("@endo/marshal").CapData<string | null>;
87
+ fromCapData(data: any): any;
88
+ serialize(data: any): import("@endo/marshal").CapData<string | null>;
89
+ unserialize(data: any): any;
90
+ }>;
91
+ storageNode: globalThis.StorageNode;
92
+ };
93
+ }>;
94
+ export function startVaultFactory({ consume, produce: { vaultFactoryKit }, brand: { consume: { [Stable.symbol]: centralBrandP }, }, instance: { produce: instanceProduce }, installation: { consume: { VaultFactory: vaultFactoryInstallation, contractGovernor: contractGovernorInstallation, }, }, }: EconomyBootstrapPowers, config: {
95
+ interestTiming?: InterestTiming | undefined;
96
+ options?: {
97
+ referencedUi?: string | undefined;
98
+ } | undefined;
99
+ }, minInitialDebt?: bigint): Promise<void>;
100
+ export function grantVaultFactoryControl({ consume: { client, priceAuthorityAdmin, vaultFactoryKit } }: EconomyBootstrapPowers, { options: { vaultFactoryControllerAddress } }?: {
101
+ options?: {
102
+ vaultFactoryControllerAddress?: string | undefined;
103
+ } | undefined;
104
+ } | undefined): Promise<void>;
105
+ export function startRewardDistributor({ consume: { chainTimerService, bankManager, vaultFactoryKit, periodicFeeCollectors, reserveKit, zoe, }, produce: { feeDistributorKit, periodicFeeCollectors: periodicFeeCollectorsP }, instance: { produce: { feeDistributor: feeDistributorP }, }, installation: { consume: { feeDistributor }, }, issuer: { consume: { [Stable.symbol]: centralIssuerP }, }, brand: { consume: { [Stable.symbol]: centralBrandP }, }, }: EconomyBootstrapPowers): Promise<void>;
106
+ export function startAuctioneer({ consume: { zoe, board, chainTimerService, priceAuthority, chainStorage, economicCommitteeCreatorFacet: electorateCreatorFacet, }, produce: { auctioneerKit }, instance: { produce: { auctioneer: auctionInstance }, consume: { reserve: reserveInstance }, }, installation: { consume: { auctioneer: auctionInstallation, contractGovernor: contractGovernorInstallation, }, }, issuer: { consume: { [Stable.symbol]: stableIssuerP }, }, }: EconomyBootstrapPowers, { auctionParams, }?: {
107
+ auctionParams?: any;
108
+ }): Promise<void>;
109
+ export type VaultFactoryPublicFacet = Awaited<ReturnType<(zcf: VaultFactoryZCF, privateArgs: {
110
+ feeMintAccess: FeeMintAccess;
111
+ initialPoserInvitation: Invitation;
112
+ initialShortfallInvitation: Invitation;
113
+ storageNode: ERef<StorageNode>;
114
+ marshaller: ERef<Marshaller>;
115
+ auctioneerInstance: Instance;
116
+ managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
117
+ directorParamOverrides: [object];
118
+ }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
119
+ creatorFacet: import("@endo/exo").Guarded<{
120
+ getParamMgrRetriever: () => {
121
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
122
+ DebtLimit: "amount";
123
+ InterestRate: "ratio";
124
+ LiquidationPadding: "ratio";
125
+ LiquidationMargin: "ratio";
126
+ LiquidationPenalty: "ratio";
127
+ MintFee: "ratio";
128
+ }>;
129
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
130
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
131
+ DebtLimit: "amount";
132
+ InterestRate: "ratio";
133
+ LiquidationPadding: "ratio";
134
+ LiquidationMargin: "ratio";
135
+ LiquidationPenalty: "ratio";
136
+ MintFee: "ratio";
137
+ }>;
138
+ }>;
139
+ getInvitation(name: string): Promise<Invitation<unknown, undefined>>;
140
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
141
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
142
+ getGovernedParams(): import("../vaultFactory/vaultManager.js").GovernedParamGetters;
143
+ makeVaultKit(seat: ZCFSeat): Promise<{
144
+ publicSubscribers: {
145
+ vault: {
146
+ description: string;
147
+ subscriber: globalThis.Subscriber<VaultNotification>;
148
+ storagePath: Promise<string>;
149
+ };
150
+ };
151
+ invitationMakers: import("@endo/exo").Guarded<{
152
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
153
+ CloseVault(): Promise<Invitation<string, undefined>>;
154
+ TransferVault(): Promise<Invitation<any, undefined>>;
155
+ }>;
156
+ vault: import("@endo/exo").Guarded<{
157
+ getPublicTopics(): {
158
+ vault: {
159
+ description: string;
160
+ subscriber: globalThis.Subscriber<VaultNotification>;
161
+ storagePath: Promise<string>;
162
+ };
163
+ };
164
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
165
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
166
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
167
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
168
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
169
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
170
+ }>;
171
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
172
+ }>;
173
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
174
+ getPublicFacet(): import("@endo/exo").Guarded<{
175
+ makeVaultInvitation(): Promise<Invitation<{
176
+ publicSubscribers: {
177
+ vault: {
178
+ description: string;
179
+ subscriber: globalThis.Subscriber<VaultNotification>;
180
+ storagePath: Promise<string>;
181
+ };
182
+ };
183
+ invitationMakers: import("@endo/exo").Guarded<{
184
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
185
+ CloseVault(): Promise<Invitation<string, undefined>>;
186
+ TransferVault(): Promise<Invitation<any, undefined>>;
187
+ }>;
188
+ vault: import("@endo/exo").Guarded<{
189
+ getPublicTopics(): {
190
+ vault: {
191
+ description: string;
192
+ subscriber: globalThis.Subscriber<VaultNotification>;
193
+ storagePath: Promise<string>;
194
+ };
195
+ };
196
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
197
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
198
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
199
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
200
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
201
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
202
+ }>;
203
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
204
+ }, undefined>>;
205
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
206
+ getCompoundedInterest(): Ratio;
207
+ getPublicTopics(): {
208
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
209
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
210
+ };
211
+ }>;
212
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
213
+ liquidateVaults(auctionPF: ERef<AuctioneerPublicFacet>): Promise<void>;
214
+ }>>;
215
+ makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
216
+ getRewardAllocation(): Allocation;
217
+ makeLiquidationWaker(): {
218
+ wake: (timestamp: any) => any;
219
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
220
+ wake: (timestamp: any) => any;
221
+ }>;
222
+ makeReschedulerWaker(): {
223
+ wake: (timestamp: any) => any;
224
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
225
+ wake: (timestamp: any) => any;
226
+ }>;
227
+ makePriceLockWaker(): {
228
+ wake: (timestamp: any) => any;
229
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
230
+ wake: (timestamp: any) => any;
231
+ }>;
232
+ setShortfallReporter(newInvitation: any): Promise<void>;
233
+ }>;
234
+ getGovernedApis(): ERef<GovernedApis>;
235
+ getGovernedApiNames(): never[];
236
+ setOfferFilter: (strings: any) => Promise<void>;
237
+ }>;
238
+ publicFacet: import("@endo/exo").Guarded<{
239
+ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{
240
+ makeVaultInvitation(): Promise<Invitation<{
241
+ publicSubscribers: {
242
+ vault: {
243
+ description: string;
244
+ subscriber: globalThis.Subscriber<VaultNotification>;
245
+ storagePath: Promise<string>;
246
+ };
247
+ };
248
+ invitationMakers: import("@endo/exo").Guarded<{
249
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
250
+ CloseVault(): Promise<Invitation<string, undefined>>;
251
+ TransferVault(): Promise<Invitation<any, undefined>>;
252
+ }>;
253
+ vault: import("@endo/exo").Guarded<{
254
+ getPublicTopics(): {
255
+ vault: {
256
+ description: string;
257
+ subscriber: globalThis.Subscriber<VaultNotification>;
258
+ storagePath: Promise<string>;
259
+ };
260
+ };
261
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
262
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
263
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
264
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
265
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
266
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
267
+ }>;
268
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
269
+ }, undefined>>;
270
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
271
+ getCompoundedInterest(): Ratio;
272
+ getPublicTopics(): {
273
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
274
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
275
+ };
276
+ }>;
277
+ getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>;
278
+ getSubscription({ collateralBrand }: {
279
+ collateralBrand: Brand;
280
+ }): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
281
+ getPublicTopics(): {
282
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultDirector.js").MetricsNotification>;
283
+ };
284
+ getElectorateSubscription(): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
285
+ getGovernedParams({ collateralBrand }: {
286
+ collateralBrand: Brand;
287
+ }): globalThis.ERef<globalThis.ParamStateRecord>;
288
+ getInvitationAmount(name: string): import("@agoric/ertp").SetAmount<InvitationDetails>;
289
+ }>;
290
+ }>>>["publicFacet"];
291
+ export type PSMKit = {
292
+ label: string;
293
+ psm: Instance;
294
+ psmGovernor: Instance;
295
+ psmCreatorFacet: Awaited<ReturnType<Awaited<ReturnType<typeof import("../psm/psm.js")["start"]>>["creatorFacet"]["getLimitedCreatorFacet"]>>;
296
+ psmGovernorCreatorFacet: GovernorCreatorFacet<typeof import("../psm/psm.js")["start"]>;
297
+ psmAdminFacet: AdminFacet;
298
+ };
299
+ export type AuctioneerKit = GovernanceFacetKit<(zcf: ZCF<GovernanceTerms<typeof import("../auction/params.js").auctioneerParamTypes> & {
300
+ timerService: import("@agoric/time").TimerService;
301
+ reservePublicFacet: AssetReservePublicFacet;
302
+ priceAuthority: import("@agoric/zoe/tools/types.js").PriceAuthority;
303
+ }>, privateArgs: {
304
+ initialPoserInvitation: Invitation;
305
+ storageNode: StorageNode;
306
+ marshaller: Marshaller;
307
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
308
+ publicFacet: globalThis.GovernedPublicFacet<{
309
+ getElectorate: () => import("@agoric/ertp").SetAmount<import("@endo/patterns").Key>;
310
+ getStartFrequency: () => RelativeTime;
311
+ getClockStep: () => RelativeTime;
312
+ getStartingRate: () => bigint;
313
+ getLowestRate: () => bigint;
314
+ getDiscountStep: () => bigint;
315
+ getAuctionStartDelay: () => RelativeTime;
316
+ getPriceLockPeriod: () => RelativeTime;
317
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
318
+ getSchedules(): {
319
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
320
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
321
+ };
322
+ getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
323
+ getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
324
+ getPublicTopics(brand: any): {
325
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
326
+ } | {
327
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
328
+ };
329
+ makeDepositInvitation: () => Promise<Invitation<string, {
330
+ goal: Amount<"nat">;
331
+ }>>;
332
+ }>;
333
+ creatorFacet: globalThis.GovernedCreatorFacet<{
334
+ addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise<void>;
335
+ getSchedule(): Promise<import("../auction/scheduler.js").FullSchedule>;
336
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
337
+ addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise<void>;
338
+ getSchedule(): Promise<import("../auction/scheduler.js").FullSchedule>;
339
+ }>>;
340
+ }>>;
341
+ export type EconomyBootstrapPowers = WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace;
342
+ export type EconomyBootstrapSpace = PromiseSpaceOf<{
343
+ economicCommitteeKit: CommitteeStartResult;
344
+ economicCommitteeCreatorFacet: import("@agoric/governance/src/committee.js").CommitteeElectorateCreatorFacet;
345
+ feeDistributorKit: StartedInstanceKit<typeof import("../feeDistributor.js").start>;
346
+ periodicFeeCollectors: MapStore<number, import("../feeDistributor.js").PeriodicFeeCollector>;
347
+ psmKit: MapStore<Brand, PSMKit>;
348
+ anchorBalancePayments: MapStore<Brand, Payment<"nat">>;
349
+ econCharterKit: EconCharterStartResult;
350
+ reserveKit: GovernanceFacetKit<typeof import("../reserve/assetReserve.js")["start"]>;
351
+ vaultFactoryKit: GovernanceFacetKit<(zcf: VaultFactoryZCF, privateArgs: {
352
+ feeMintAccess: FeeMintAccess;
353
+ initialPoserInvitation: Invitation;
354
+ initialShortfallInvitation: Invitation;
355
+ storageNode: ERef<StorageNode>;
356
+ marshaller: ERef<Marshaller>;
357
+ auctioneerInstance: Instance;
358
+ managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
359
+ directorParamOverrides: [object];
360
+ }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
361
+ creatorFacet: import("@endo/exo").Guarded<{
362
+ getParamMgrRetriever: () => {
363
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
364
+ DebtLimit: "amount";
365
+ InterestRate: "ratio";
366
+ LiquidationPadding: "ratio";
367
+ LiquidationMargin: "ratio";
368
+ LiquidationPenalty: "ratio";
369
+ MintFee: "ratio";
370
+ }>;
371
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
372
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
373
+ DebtLimit: "amount";
374
+ InterestRate: "ratio";
375
+ LiquidationPadding: "ratio";
376
+ LiquidationMargin: "ratio";
377
+ LiquidationPenalty: "ratio";
378
+ MintFee: "ratio";
379
+ }>;
380
+ }>;
381
+ getInvitation(name: string): Promise<Invitation<unknown, undefined>>;
382
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
383
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
384
+ getGovernedParams(): import("../vaultFactory/vaultManager.js").GovernedParamGetters;
385
+ makeVaultKit(seat: ZCFSeat): Promise<{
386
+ publicSubscribers: {
387
+ vault: {
388
+ description: string;
389
+ subscriber: globalThis.Subscriber<VaultNotification>;
390
+ storagePath: Promise<string>;
391
+ };
392
+ };
393
+ invitationMakers: import("@endo/exo").Guarded<{
394
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
395
+ CloseVault(): Promise<Invitation<string, undefined>>;
396
+ TransferVault(): Promise<Invitation<any, undefined>>;
397
+ }>;
398
+ vault: import("@endo/exo").Guarded<{
399
+ getPublicTopics(): {
400
+ vault: {
401
+ description: string;
402
+ subscriber: globalThis.Subscriber<VaultNotification>;
403
+ storagePath: Promise<string>;
404
+ };
405
+ };
406
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
407
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
408
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
409
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
410
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
411
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
412
+ }>;
413
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
414
+ }>;
415
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
416
+ getPublicFacet(): import("@endo/exo").Guarded<{
417
+ makeVaultInvitation(): Promise<Invitation<{
418
+ publicSubscribers: {
419
+ vault: {
420
+ description: string;
421
+ subscriber: globalThis.Subscriber<VaultNotification>;
422
+ storagePath: Promise<string>;
423
+ };
424
+ };
425
+ invitationMakers: import("@endo/exo").Guarded<{
426
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
427
+ CloseVault(): Promise<Invitation<string, undefined>>;
428
+ TransferVault(): Promise<Invitation<any, undefined>>;
429
+ }>;
430
+ vault: import("@endo/exo").Guarded<{
431
+ getPublicTopics(): {
432
+ vault: {
433
+ description: string;
434
+ subscriber: globalThis.Subscriber<VaultNotification>;
435
+ storagePath: Promise<string>;
436
+ };
437
+ };
438
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
439
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
440
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
441
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
442
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
443
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
444
+ }>;
445
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
446
+ }, undefined>>;
447
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
448
+ getCompoundedInterest(): Ratio;
449
+ getPublicTopics(): {
450
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
451
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
452
+ };
453
+ }>;
454
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
455
+ liquidateVaults(auctionPF: ERef<AuctioneerPublicFacet>): Promise<void>;
456
+ }>>;
457
+ makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
458
+ getRewardAllocation(): Allocation;
459
+ makeLiquidationWaker(): {
460
+ wake: (timestamp: any) => any;
461
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
462
+ wake: (timestamp: any) => any;
463
+ }>;
464
+ makeReschedulerWaker(): {
465
+ wake: (timestamp: any) => any;
466
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
467
+ wake: (timestamp: any) => any;
468
+ }>;
469
+ makePriceLockWaker(): {
470
+ wake: (timestamp: any) => any;
471
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
472
+ wake: (timestamp: any) => any;
473
+ }>;
474
+ setShortfallReporter(newInvitation: any): Promise<void>;
475
+ }>;
476
+ getGovernedApis(): ERef<GovernedApis>;
477
+ getGovernedApiNames(): never[];
478
+ setOfferFilter: (strings: any) => Promise<void>;
479
+ }>;
480
+ publicFacet: import("@endo/exo").Guarded<{
481
+ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{
482
+ makeVaultInvitation(): Promise<Invitation<{
483
+ publicSubscribers: {
484
+ vault: {
485
+ description: string;
486
+ subscriber: globalThis.Subscriber<VaultNotification>;
487
+ storagePath: Promise<string>;
488
+ };
489
+ };
490
+ invitationMakers: import("@endo/exo").Guarded<{
491
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
492
+ CloseVault(): Promise<Invitation<string, undefined>>;
493
+ TransferVault(): Promise<Invitation<any, undefined>>;
494
+ }>;
495
+ vault: import("@endo/exo").Guarded<{
496
+ getPublicTopics(): {
497
+ vault: {
498
+ description: string;
499
+ subscriber: globalThis.Subscriber<VaultNotification>;
500
+ storagePath: Promise<string>;
501
+ };
502
+ };
503
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
504
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
505
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
506
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
507
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
508
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
509
+ }>;
510
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
511
+ }, undefined>>;
512
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
513
+ getCompoundedInterest(): Ratio;
514
+ getPublicTopics(): {
515
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
516
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
517
+ };
518
+ }>;
519
+ getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>;
520
+ getSubscription({ collateralBrand }: {
521
+ collateralBrand: Brand;
522
+ }): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
523
+ getPublicTopics(): {
524
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultDirector.js").MetricsNotification>;
525
+ };
526
+ getElectorateSubscription(): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
527
+ getGovernedParams({ collateralBrand }: {
528
+ collateralBrand: Brand;
529
+ }): globalThis.ERef<globalThis.ParamStateRecord>;
530
+ getInvitationAmount(name: string): import("@agoric/ertp").SetAmount<InvitationDetails>;
531
+ }>;
532
+ }>>;
533
+ auctioneerKit: AuctioneerKit;
534
+ newAuctioneerKit: AuctioneerKit | undefined;
535
+ minInitialDebt: NatValue;
536
+ }>;
537
+ export type EconCharterStartResult = StartedInstanceKit<typeof import("../econCommitteeCharter.js")["start"]>;
538
+ export type CommitteeStartResult = StartedInstanceKit<typeof import("@agoric/governance/src/committee.js")["start"]>;
539
+ import { Stable } from '@agoric/internal/src/tokens.js';
540
+ import type { StartedInstanceKit } from '@agoric/zoe/src/zoeService/utils.js';
541
+ //# sourceMappingURL=econ-behaviors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"econ-behaviors.d.ts","sourceRoot":"","sources":["econ-behaviors.js"],"names":[],"mappings":"AAgBA,qCAAsC;AACtC,sCAA0C;AAC1C,qCAAsD;AACtD,sCAAqD;AAwE9C,mcADK,sBAAsB;;;;;;;;;;;;;;;;;;;;;;KA+FjC;AAUM,oDAPI,sBAAsB,CAAC,SAAS,CAAC,kDAEzC;IAAgC,cAAc;IACtB,OAAO;;;CAE/B,8BAAQ,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EvB;AAUM,wSAPI,sBAAsB,UAE9B;IAAgC,cAAc;IACtB,OAAO;;;CAE/B,mBAAQ,MAAM,iBA6FhB;AAWM,wGALI,sBAAsB;;;;8BAuBhC;AAQM,mcAFI,sBAAsB,iBA0GhC;AAQM,+cAJI,sBAAsB,uBAE9B;IAAqB,aAAa,GAA1B,GAAG;CAAwB,iBA0HrC;sCAxmBa,OAAO,CAAC,UAAU;;;;;;;yCA2D2C,2BACpE;;mBAGW,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA/DL,CAAC,CAAC,aAAa,CAAC;;WAI3C,MAAM;SACN,QAAQ;iBACR,QAAQ;qBACR,OAAO,CAChB,UAAU,CACR,OAAO,CACL,UAAU,CAAC,8BAAuB,CAAC,OAAO,CAAC,CAAC,CAC7C,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAC5C,CACF;6BACU,oBAAoB,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;mBAC7D,UAAU;;4BAGV,kBAAkB,CAAC;yBA8f3B,cAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAyFi4N,yBAAgB;;;;;EAvlBr1N,CAAC;qCAG7D,eAAe,GAAG,mBAAmB,GAAG,qBAAqB;oCAG7D,cAAc,CAAC;IACvB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,6BAA6B,EAAE,OAAO,qCAAqC,EAAE,+BAA+B,CAAC;IAC7G,iBAAiB,EAAE,mBACvB,cAAoB,sBAAsB,EAAE,KAAK,CAC5C,CAAC;IACF,qBAAqB,EAAE,QAAQ,CACnC,MAAY,EACZ,OAAa,sBAAsB,EAAE,oBAAoB,CACpD,CAAC;IACF,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChC,qBAAqB,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,cAAc,EAAE,sBAAsB,CAAC;IACvC,UAAU,EAAE,kBAAkB,CAClC,2CAA0C,CAAC,OAAO,CAAC,CAC9C,CAAC;IACF,eAAe,EAAE,kBAAkB;;;;;;;6CAmBmC,2BACpE;;uBAGW,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAvBG,CAAC;IAC7C,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IAC5C,cAAc,EAAE,QAAQ,CAAC;CAC1B,CAAC;qCAIQ,mBACZ,2CAAwC,CAAC,OAAO,CAAC,CAC9C;mCAGS,mBACZ,oDAAiD,CAAC,OAAO,CAAC,CACvD;uBAtEmB,gCAAgC;wCAKjB,qCAAqC"}