@agoric/inter-protocol 0.16.1 → 0.16.2-calypso-dev-84eb287.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 (192) hide show
  1. package/README.md +6 -6
  2. package/package.json +41 -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 +135 -103
  7. package/src/auction/auctioneer.d.ts +69 -0
  8. package/src/auction/auctioneer.d.ts.map +1 -0
  9. package/src/auction/auctioneer.js +63 -49
  10. package/src/auction/offerBook.d.ts +45 -0
  11. package/src/auction/offerBook.d.ts.map +1 -0
  12. package/src/auction/offerBook.js +13 -12
  13. package/src/auction/params.d.ts +144 -0
  14. package/src/auction/params.d.ts.map +1 -0
  15. package/src/auction/params.js +10 -9
  16. package/src/auction/scheduleMath.d.ts +5 -0
  17. package/src/auction/scheduleMath.d.ts.map +1 -0
  18. package/src/auction/scheduleMath.js +17 -15
  19. package/src/auction/scheduler.d.ts +49 -0
  20. package/src/auction/scheduler.d.ts.map +1 -0
  21. package/src/auction/scheduler.js +51 -43
  22. package/src/auction/sortedOffers.d.ts +8 -0
  23. package/src/auction/sortedOffers.d.ts.map +1 -0
  24. package/src/auction/sortedOffers.js +9 -7
  25. package/src/auction/util.d.ts +32 -0
  26. package/src/auction/util.d.ts.map +1 -0
  27. package/src/auction/util.js +6 -4
  28. package/src/clientSupport.d.ts +167 -0
  29. package/src/clientSupport.d.ts.map +1 -0
  30. package/src/clientSupport.js +154 -96
  31. package/src/collectFees.d.ts +2 -0
  32. package/src/collectFees.d.ts.map +1 -0
  33. package/src/contractSupport.d.ts +28 -0
  34. package/src/contractSupport.d.ts.map +1 -0
  35. package/src/contractSupport.js +14 -12
  36. package/src/econCommitteeCharter.d.ts +39 -0
  37. package/src/econCommitteeCharter.d.ts.map +1 -0
  38. package/src/econCommitteeCharter.js +21 -20
  39. package/src/feeDistributor.d.ts +224 -0
  40. package/src/feeDistributor.d.ts.map +1 -0
  41. package/src/feeDistributor.js +37 -33
  42. package/src/index.d.ts +2 -0
  43. package/src/index.d.ts.map +1 -0
  44. package/src/index.js +1 -0
  45. package/src/interest-math.d.ts +3 -0
  46. package/src/interest-math.d.ts.map +1 -0
  47. package/src/interest.d.ts +28 -0
  48. package/src/interest.d.ts.map +1 -0
  49. package/src/interest.js +21 -16
  50. package/src/price/README.md +13 -0
  51. package/src/price/fluxAggregatorContract.d.ts +70 -0
  52. package/src/price/fluxAggregatorContract.d.ts.map +1 -0
  53. package/src/price/fluxAggregatorContract.js +62 -55
  54. package/src/price/fluxAggregatorKit.d.ts +103 -0
  55. package/src/price/fluxAggregatorKit.d.ts.map +1 -0
  56. package/src/price/fluxAggregatorKit.js +50 -37
  57. package/src/price/priceOracleKit.d.ts +38 -0
  58. package/src/price/priceOracleKit.d.ts.map +1 -0
  59. package/src/price/priceOracleKit.js +11 -13
  60. package/src/price/roundsManager.d.ts +204 -0
  61. package/src/price/roundsManager.d.ts.map +1 -0
  62. package/src/price/roundsManager.js +79 -82
  63. package/src/proposals/README.md +2 -3
  64. package/src/proposals/add-auction.d.ts +69 -0
  65. package/src/proposals/add-auction.d.ts.map +1 -0
  66. package/src/proposals/add-auction.js +180 -0
  67. package/src/proposals/addAssetToVault.d.ts +160 -0
  68. package/src/proposals/addAssetToVault.d.ts.map +1 -0
  69. package/src/proposals/addAssetToVault.js +172 -38
  70. package/src/proposals/committee-proposal.d.ts +113 -0
  71. package/src/proposals/committee-proposal.d.ts.map +1 -0
  72. package/src/proposals/committee-proposal.js +25 -31
  73. package/src/proposals/core-proposal.d.ts +149 -0
  74. package/src/proposals/core-proposal.d.ts.map +1 -0
  75. package/src/proposals/core-proposal.js +9 -11
  76. package/src/proposals/econ-behaviors.d.ts +539 -0
  77. package/src/proposals/econ-behaviors.d.ts.map +1 -0
  78. package/src/proposals/econ-behaviors.js +64 -45
  79. package/src/proposals/price-feed-proposal.d.ts +84 -0
  80. package/src/proposals/price-feed-proposal.d.ts.map +1 -0
  81. package/src/proposals/price-feed-proposal.js +108 -51
  82. package/src/proposals/startEconCommittee.d.ts +34 -0
  83. package/src/proposals/startEconCommittee.d.ts.map +1 -0
  84. package/src/proposals/startEconCommittee.js +2 -2
  85. package/src/proposals/startPSM.d.ts +59 -0
  86. package/src/proposals/startPSM.d.ts.map +1 -0
  87. package/src/proposals/startPSM.js +38 -27
  88. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +24 -0
  89. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +1 -0
  90. package/src/proposals/upgrade-scaledPriceAuthorities.js +78 -0
  91. package/src/proposals/upgrade-vaults.d.ts +35 -0
  92. package/src/proposals/upgrade-vaults.d.ts.map +1 -0
  93. package/src/proposals/upgrade-vaults.js +235 -0
  94. package/src/proposals/utils.d.ts +17 -0
  95. package/src/proposals/utils.d.ts.map +1 -0
  96. package/src/proposals/utils.js +34 -7
  97. package/src/provisionPool.d.ts +167 -0
  98. package/src/provisionPool.d.ts.map +1 -0
  99. package/src/provisionPool.js +122 -0
  100. package/src/provisionPoolKit.d.ts +367 -0
  101. package/src/provisionPoolKit.d.ts.map +1 -0
  102. package/src/provisionPoolKit.js +522 -0
  103. package/src/psm/psm.d.ts +122 -0
  104. package/src/psm/psm.d.ts.map +1 -0
  105. package/src/psm/psm.js +73 -69
  106. package/src/psm/types-ambient.d.ts +2 -0
  107. package/src/psm/types-ambient.d.ts.map +1 -0
  108. package/src/psm/types-ambient.js +3 -0
  109. package/src/reserve/assetReserve.d.ts +47 -0
  110. package/src/reserve/assetReserve.d.ts.map +1 -0
  111. package/src/reserve/assetReserve.js +28 -19
  112. package/src/reserve/assetReserveKit.d.ts +74 -0
  113. package/src/reserve/assetReserveKit.d.ts.map +1 -0
  114. package/src/reserve/assetReserveKit.js +18 -24
  115. package/src/reserve/params.d.ts +10 -0
  116. package/src/reserve/params.d.ts.map +1 -0
  117. package/src/tokens.d.ts +3 -0
  118. package/src/tokens.d.ts.map +1 -0
  119. package/src/tokens.js +5 -0
  120. package/src/vaultFactory/burn.d.ts +2 -0
  121. package/src/vaultFactory/burn.d.ts.map +1 -0
  122. package/src/vaultFactory/burn.js +1 -1
  123. package/src/vaultFactory/liquidation.d.ts +23 -0
  124. package/src/vaultFactory/liquidation.d.ts.map +1 -0
  125. package/src/vaultFactory/liquidation.js +36 -22
  126. package/src/vaultFactory/math.d.ts +11 -0
  127. package/src/vaultFactory/math.d.ts.map +1 -0
  128. package/src/vaultFactory/math.js +10 -9
  129. package/src/vaultFactory/orderedVaultStore.d.ts +93 -0
  130. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
  131. package/src/vaultFactory/orderedVaultStore.js +8 -11
  132. package/src/vaultFactory/params.d.ts +140 -0
  133. package/src/vaultFactory/params.d.ts.map +1 -0
  134. package/src/vaultFactory/params.js +52 -24
  135. package/src/vaultFactory/prioritizedVaults.d.ts +279 -0
  136. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
  137. package/src/vaultFactory/prioritizedVaults.js +4 -4
  138. package/src/vaultFactory/proceeds.d.ts +35 -0
  139. package/src/vaultFactory/proceeds.d.ts.map +1 -0
  140. package/src/vaultFactory/proceeds.js +26 -18
  141. package/src/vaultFactory/storeUtils.d.ts +25 -0
  142. package/src/vaultFactory/storeUtils.d.ts.map +1 -0
  143. package/src/vaultFactory/storeUtils.js +10 -12
  144. package/src/vaultFactory/types-ambient.d.ts +137 -0
  145. package/src/vaultFactory/types-ambient.d.ts.map +1 -0
  146. package/src/vaultFactory/{types.js → types-ambient.js} +42 -42
  147. package/src/vaultFactory/vault.d.ts +332 -0
  148. package/src/vaultFactory/vault.d.ts.map +1 -0
  149. package/src/vaultFactory/vault.js +99 -93
  150. package/src/vaultFactory/vaultDirector.d.ts +340 -0
  151. package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
  152. package/src/vaultFactory/vaultDirector.js +63 -50
  153. package/src/vaultFactory/vaultFactory.d.ts +201 -0
  154. package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
  155. package/src/vaultFactory/vaultFactory.js +49 -32
  156. package/src/vaultFactory/vaultHolder.d.ts +126 -0
  157. package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
  158. package/src/vaultFactory/vaultHolder.js +10 -14
  159. package/src/vaultFactory/vaultKit.d.ts +32 -0
  160. package/src/vaultFactory/vaultKit.d.ts.map +1 -0
  161. package/src/vaultFactory/vaultKit.js +5 -4
  162. package/src/vaultFactory/vaultManager.d.ts +674 -0
  163. package/src/vaultFactory/vaultManager.d.ts.map +1 -0
  164. package/src/vaultFactory/vaultManager.js +249 -151
  165. package/CHANGELOG.md +0 -1033
  166. package/bundles/bundle-auctioneer-js-meta.json +0 -722
  167. package/bundles/bundle-auctioneer.js +0 -1
  168. package/bundles/bundle-econCommitteeCharter-js-meta.json +0 -514
  169. package/bundles/bundle-econCommitteeCharter.js +0 -1
  170. package/bundles/bundle-feeDistributor-js-meta.json +0 -458
  171. package/bundles/bundle-feeDistributor.js +0 -1
  172. package/bundles/bundle-fluxAggregatorKit-js-meta.json +0 -674
  173. package/bundles/bundle-fluxAggregatorKit.js +0 -1
  174. package/bundles/bundle-psm-js-meta.json +0 -666
  175. package/bundles/bundle-psm.js +0 -1
  176. package/bundles/bundle-reserve-js-meta.json +0 -662
  177. package/bundles/bundle-reserve.js +0 -1
  178. package/bundles/bundle-scaledPriceAuthority-js-meta.json +0 -542
  179. package/bundles/bundle-scaledPriceAuthority.js +0 -1
  180. package/bundles/bundle-vaultFactory-js-meta.json +0 -790
  181. package/bundles/bundle-vaultFactory.js +0 -1
  182. package/exported.js +0 -2
  183. package/scripts/add-collateral-core.js +0 -112
  184. package/scripts/deploy-contracts.js +0 -100
  185. package/scripts/init-core.js +0 -198
  186. package/scripts/invite-committee-core.js +0 -42
  187. package/scripts/manual-price-feed.js +0 -117
  188. package/scripts/price-feed-core.js +0 -104
  189. package/scripts/start-local-chain.sh +0 -84
  190. package/src/psm/types.js +0 -3
  191. package/src/typeGuards.js +0 -13
  192. package/src/vaultFactory/type-imports.js +0 -4
@@ -0,0 +1,539 @@
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/src/types.js").SetAmount<import("@endo/patterns").Key>;
47
+ };
48
+ MinInitialDebt: {
49
+ type: "amount";
50
+ value: import("@agoric/ertp/src/types.js").NatAmount;
51
+ };
52
+ ShortfallInvitation: {
53
+ type: "invitation";
54
+ value: import("@agoric/ertp/src/types.js").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/src/types.js").PaymentMethods<"set"> & {
75
+ [OfferReturn]?: unknown;
76
+ [OfferArgs]?: undefined;
77
+ };
78
+ initialShortfallInvitation: import("@endo/pass-style").RemotableObject & import("@agoric/ertp/src/types.js").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
+ }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
118
+ creatorFacet: import("@endo/exo").Guarded<{
119
+ getParamMgrRetriever: () => {
120
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
121
+ DebtLimit: "amount";
122
+ InterestRate: "ratio";
123
+ LiquidationPadding: "ratio";
124
+ LiquidationMargin: "ratio";
125
+ LiquidationPenalty: "ratio";
126
+ MintFee: "ratio";
127
+ }>;
128
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
129
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
130
+ DebtLimit: "amount";
131
+ InterestRate: "ratio";
132
+ LiquidationPadding: "ratio";
133
+ LiquidationMargin: "ratio";
134
+ LiquidationPenalty: "ratio";
135
+ MintFee: "ratio";
136
+ }>;
137
+ }>;
138
+ getInvitation(name: string): Promise<Invitation<unknown, undefined>>;
139
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
140
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
141
+ getGovernedParams(): import("../vaultFactory/vaultManager.js").GovernedParamGetters;
142
+ makeVaultKit(seat: ZCFSeat): Promise<{
143
+ publicSubscribers: {
144
+ vault: {
145
+ description: string;
146
+ subscriber: globalThis.Subscriber<VaultNotification>;
147
+ storagePath: Promise<string>;
148
+ };
149
+ };
150
+ invitationMakers: import("@endo/exo").Guarded<{
151
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
152
+ CloseVault(): Promise<Invitation<string, undefined>>;
153
+ TransferVault(): Promise<Invitation<any, undefined>>;
154
+ }>;
155
+ vault: import("@endo/exo").Guarded<{
156
+ getPublicTopics(): {
157
+ vault: {
158
+ description: string;
159
+ subscriber: globalThis.Subscriber<VaultNotification>;
160
+ storagePath: Promise<string>;
161
+ };
162
+ };
163
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
164
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
165
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
166
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
167
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
168
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
169
+ }>;
170
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
171
+ }>;
172
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
173
+ getPublicFacet(): import("@endo/exo").Guarded<{
174
+ makeVaultInvitation(): Promise<Invitation<{
175
+ publicSubscribers: {
176
+ vault: {
177
+ description: string;
178
+ subscriber: globalThis.Subscriber<VaultNotification>;
179
+ storagePath: Promise<string>;
180
+ };
181
+ };
182
+ invitationMakers: import("@endo/exo").Guarded<{
183
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
184
+ CloseVault(): Promise<Invitation<string, undefined>>;
185
+ TransferVault(): Promise<Invitation<any, undefined>>;
186
+ }>;
187
+ vault: import("@endo/exo").Guarded<{
188
+ getPublicTopics(): {
189
+ vault: {
190
+ description: string;
191
+ subscriber: globalThis.Subscriber<VaultNotification>;
192
+ storagePath: Promise<string>;
193
+ };
194
+ };
195
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
196
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
197
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
198
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
199
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
200
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
201
+ }>;
202
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
203
+ }, undefined>>;
204
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
205
+ getCompoundedInterest(): Ratio;
206
+ getPublicTopics(): {
207
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
208
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
209
+ };
210
+ }>;
211
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
212
+ liquidateVaults(auctionPF: ERef<AuctioneerPublicFacet>): Promise<void>;
213
+ }>>;
214
+ makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
215
+ getRewardAllocation(): Allocation;
216
+ makeLiquidationWaker(): {
217
+ wake: (timestamp: any) => any;
218
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
219
+ wake: (timestamp: any) => any;
220
+ }>;
221
+ makeReschedulerWaker(): {
222
+ wake: (timestamp: any) => any;
223
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
224
+ wake: (timestamp: any) => any;
225
+ }>;
226
+ makePriceLockWaker(): {
227
+ wake: (timestamp: any) => any;
228
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
229
+ wake: (timestamp: any) => any;
230
+ }>;
231
+ setShortfallReporter(newInvitation: any): Promise<void>;
232
+ }>;
233
+ getGovernedApis(): ERef<GovernedApis>;
234
+ getGovernedApiNames(): never[];
235
+ setOfferFilter: (strings: any) => Promise<void>;
236
+ }>;
237
+ publicFacet: import("@endo/exo").Guarded<{
238
+ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{
239
+ makeVaultInvitation(): Promise<Invitation<{
240
+ publicSubscribers: {
241
+ vault: {
242
+ description: string;
243
+ subscriber: globalThis.Subscriber<VaultNotification>;
244
+ storagePath: Promise<string>;
245
+ };
246
+ };
247
+ invitationMakers: import("@endo/exo").Guarded<{
248
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
249
+ CloseVault(): Promise<Invitation<string, undefined>>;
250
+ TransferVault(): Promise<Invitation<any, undefined>>;
251
+ }>;
252
+ vault: import("@endo/exo").Guarded<{
253
+ getPublicTopics(): {
254
+ vault: {
255
+ description: string;
256
+ subscriber: globalThis.Subscriber<VaultNotification>;
257
+ storagePath: Promise<string>;
258
+ };
259
+ };
260
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
261
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
262
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
263
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
264
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
265
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
266
+ }>;
267
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
268
+ }, undefined>>;
269
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
270
+ getCompoundedInterest(): Ratio;
271
+ getPublicTopics(): {
272
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
273
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
274
+ };
275
+ }>;
276
+ getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>;
277
+ getSubscription({ collateralBrand }: {
278
+ collateralBrand: Brand;
279
+ }): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
280
+ getPublicTopics(): {
281
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultDirector.js").MetricsNotification>;
282
+ };
283
+ getElectorateSubscription(): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
284
+ getGovernedParams({ collateralBrand }: {
285
+ collateralBrand: Brand;
286
+ }): globalThis.ERef<globalThis.ParamStateRecord>;
287
+ getInvitationAmount(name: string): import("@agoric/ertp/src/types.js").SetAmount<InvitationDetails>;
288
+ }>;
289
+ }>>>["publicFacet"];
290
+ export type PSMKit = {
291
+ label: string;
292
+ psm: Instance;
293
+ psmGovernor: Instance;
294
+ psmCreatorFacet: Awaited<ReturnType<Awaited<ReturnType<typeof import("../psm/psm.js")["start"]>>["creatorFacet"]["getLimitedCreatorFacet"]>>;
295
+ psmGovernorCreatorFacet: GovernorCreatorFacet<typeof import("../psm/psm.js")["start"]>;
296
+ psmAdminFacet: AdminFacet;
297
+ };
298
+ export type AuctioneerKit = GovernanceFacetKit<(zcf: ZCF<GovernanceTerms<typeof import("../auction/params.js").auctioneerParamTypes> & {
299
+ timerService: import("@agoric/time").TimerService;
300
+ reservePublicFacet: AssetReservePublicFacet;
301
+ priceAuthority: import("@agoric/zoe/tools/types.js").PriceAuthority;
302
+ }>, privateArgs: {
303
+ initialPoserInvitation: Invitation;
304
+ storageNode: StorageNode;
305
+ marshaller: Marshaller;
306
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
307
+ publicFacet: globalThis.GovernedPublicFacet<{
308
+ getElectorate: () => import("@agoric/governance/src/types.js").ParamValueForType<"invitation">;
309
+ getStartFrequency: () => import("@agoric/governance/src/types.js").ParamValueForType<"relativeTime">;
310
+ getClockStep: () => import("@agoric/governance/src/types.js").ParamValueForType<"relativeTime">;
311
+ getStartingRate: () => import("@agoric/governance/src/types.js").ParamValueForType<"nat">;
312
+ getLowestRate: () => import("@agoric/governance/src/types.js").ParamValueForType<"nat">;
313
+ getDiscountStep: () => import("@agoric/governance/src/types.js").ParamValueForType<"nat">;
314
+ getAuctionStartDelay: () => import("@agoric/governance/src/types.js").ParamValueForType<"relativeTime">;
315
+ getPriceLockPeriod: () => import("@agoric/governance/src/types.js").ParamValueForType<"relativeTime">;
316
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
317
+ getSchedules(): {
318
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
319
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
320
+ };
321
+ getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
322
+ getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
323
+ getPublicTopics(brand: any): {
324
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
325
+ } | {
326
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
327
+ };
328
+ makeDepositInvitation: () => Promise<Invitation<string, {
329
+ goal: Amount<"nat">;
330
+ }>>;
331
+ }>;
332
+ creatorFacet: globalThis.GovernedCreatorFacet<{
333
+ addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise<void>;
334
+ getSchedule(): Promise<import("../auction/scheduler.js").FullSchedule>;
335
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
336
+ addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise<void>;
337
+ getSchedule(): Promise<import("../auction/scheduler.js").FullSchedule>;
338
+ }>>;
339
+ }>>;
340
+ export type EconomyBootstrapPowers = WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace;
341
+ export type EconomyBootstrapSpace = PromiseSpaceOf<{
342
+ economicCommitteeKit: CommitteeStartResult;
343
+ economicCommitteeCreatorFacet: import("@agoric/governance/src/committee.js").CommitteeElectorateCreatorFacet;
344
+ feeDistributorKit: StartedInstanceKit<typeof import("../feeDistributor.js").start>;
345
+ periodicFeeCollectors: MapStore<number, import("../feeDistributor.js").PeriodicFeeCollector>;
346
+ psmKit: MapStore<Brand, PSMKit>;
347
+ anchorBalancePayments: MapStore<Brand, Payment<"nat">>;
348
+ econCharterKit: EconCharterStartResult;
349
+ reserveKit: GovernanceFacetKit<typeof import("../reserve/assetReserve.js")["start"]>;
350
+ vaultFactoryKit: GovernanceFacetKit<(zcf: VaultFactoryZCF, privateArgs: {
351
+ feeMintAccess: FeeMintAccess;
352
+ initialPoserInvitation: Invitation;
353
+ initialShortfallInvitation: Invitation;
354
+ storageNode: ERef<StorageNode>;
355
+ marshaller: ERef<Marshaller>;
356
+ auctioneerInstance: Instance;
357
+ managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
358
+ }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
359
+ creatorFacet: import("@endo/exo").Guarded<{
360
+ getParamMgrRetriever: () => {
361
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
362
+ DebtLimit: "amount";
363
+ InterestRate: "ratio";
364
+ LiquidationPadding: "ratio";
365
+ LiquidationMargin: "ratio";
366
+ LiquidationPenalty: "ratio";
367
+ MintFee: "ratio";
368
+ }>;
369
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
370
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
371
+ DebtLimit: "amount";
372
+ InterestRate: "ratio";
373
+ LiquidationPadding: "ratio";
374
+ LiquidationMargin: "ratio";
375
+ LiquidationPenalty: "ratio";
376
+ MintFee: "ratio";
377
+ }>;
378
+ }>;
379
+ getInvitation(name: string): Promise<Invitation<unknown, undefined>>;
380
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
381
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
382
+ getGovernedParams(): import("../vaultFactory/vaultManager.js").GovernedParamGetters;
383
+ makeVaultKit(seat: ZCFSeat): Promise<{
384
+ publicSubscribers: {
385
+ vault: {
386
+ description: string;
387
+ subscriber: globalThis.Subscriber<VaultNotification>;
388
+ storagePath: Promise<string>;
389
+ };
390
+ };
391
+ invitationMakers: import("@endo/exo").Guarded<{
392
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
393
+ CloseVault(): Promise<Invitation<string, undefined>>;
394
+ TransferVault(): Promise<Invitation<any, undefined>>;
395
+ }>;
396
+ vault: import("@endo/exo").Guarded<{
397
+ getPublicTopics(): {
398
+ vault: {
399
+ description: string;
400
+ subscriber: globalThis.Subscriber<VaultNotification>;
401
+ storagePath: Promise<string>;
402
+ };
403
+ };
404
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
405
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
406
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
407
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
408
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
409
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
410
+ }>;
411
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
412
+ }>;
413
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
414
+ getPublicFacet(): import("@endo/exo").Guarded<{
415
+ makeVaultInvitation(): Promise<Invitation<{
416
+ publicSubscribers: {
417
+ vault: {
418
+ description: string;
419
+ subscriber: globalThis.Subscriber<VaultNotification>;
420
+ storagePath: Promise<string>;
421
+ };
422
+ };
423
+ invitationMakers: import("@endo/exo").Guarded<{
424
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
425
+ CloseVault(): Promise<Invitation<string, undefined>>;
426
+ TransferVault(): Promise<Invitation<any, undefined>>;
427
+ }>;
428
+ vault: import("@endo/exo").Guarded<{
429
+ getPublicTopics(): {
430
+ vault: {
431
+ description: string;
432
+ subscriber: globalThis.Subscriber<VaultNotification>;
433
+ storagePath: Promise<string>;
434
+ };
435
+ };
436
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
437
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
438
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
439
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
440
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
441
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
442
+ }>;
443
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
444
+ }, undefined>>;
445
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
446
+ getCompoundedInterest(): Ratio;
447
+ getPublicTopics(): {
448
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
449
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
450
+ };
451
+ }>;
452
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
453
+ liquidateVaults(auctionPF: ERef<AuctioneerPublicFacet>): Promise<void>;
454
+ }>>;
455
+ makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
456
+ getRewardAllocation(): Allocation;
457
+ makeLiquidationWaker(): {
458
+ wake: (timestamp: any) => any;
459
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
460
+ wake: (timestamp: any) => any;
461
+ }>;
462
+ makeReschedulerWaker(): {
463
+ wake: (timestamp: any) => any;
464
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
465
+ wake: (timestamp: any) => any;
466
+ }>;
467
+ makePriceLockWaker(): {
468
+ wake: (timestamp: any) => any;
469
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
470
+ wake: (timestamp: any) => any;
471
+ }>;
472
+ setShortfallReporter(newInvitation: any): Promise<void>;
473
+ }>;
474
+ getGovernedApis(): ERef<GovernedApis>;
475
+ getGovernedApiNames(): never[];
476
+ setOfferFilter: (strings: any) => Promise<void>;
477
+ }>;
478
+ publicFacet: import("@endo/exo").Guarded<{
479
+ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{
480
+ makeVaultInvitation(): Promise<Invitation<{
481
+ publicSubscribers: {
482
+ vault: {
483
+ description: string;
484
+ subscriber: globalThis.Subscriber<VaultNotification>;
485
+ storagePath: Promise<string>;
486
+ };
487
+ };
488
+ invitationMakers: import("@endo/exo").Guarded<{
489
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
490
+ CloseVault(): Promise<Invitation<string, undefined>>;
491
+ TransferVault(): Promise<Invitation<any, undefined>>;
492
+ }>;
493
+ vault: import("@endo/exo").Guarded<{
494
+ getPublicTopics(): {
495
+ vault: {
496
+ description: string;
497
+ subscriber: globalThis.Subscriber<VaultNotification>;
498
+ storagePath: Promise<string>;
499
+ };
500
+ };
501
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
502
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
503
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
504
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
505
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
506
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
507
+ }>;
508
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
509
+ }, undefined>>;
510
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
511
+ getCompoundedInterest(): Ratio;
512
+ getPublicTopics(): {
513
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
514
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
515
+ };
516
+ }>;
517
+ getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>;
518
+ getSubscription({ collateralBrand }: {
519
+ collateralBrand: Brand;
520
+ }): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
521
+ getPublicTopics(): {
522
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultDirector.js").MetricsNotification>;
523
+ };
524
+ getElectorateSubscription(): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
525
+ getGovernedParams({ collateralBrand }: {
526
+ collateralBrand: Brand;
527
+ }): globalThis.ERef<globalThis.ParamStateRecord>;
528
+ getInvitationAmount(name: string): import("@agoric/ertp/src/types.js").SetAmount<InvitationDetails>;
529
+ }>;
530
+ }>>;
531
+ auctioneerKit: AuctioneerKit;
532
+ newAuctioneerKit: AuctioneerKit | undefined;
533
+ minInitialDebt: NatValue;
534
+ }>;
535
+ export type EconCharterStartResult = StartedInstanceKit<typeof import("../econCommitteeCharter.js")["start"]>;
536
+ export type CommitteeStartResult = StartedInstanceKit<typeof import("@agoric/governance/src/committee.js")["start"]>;
537
+ import { Stable } from '@agoric/internal/src/tokens.js';
538
+ import type { StartedInstanceKit } from '@agoric/zoe/src/zoeService/utils.js';
539
+ //# 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;mBACN,4BAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA/DkC,CAAC,CAAC,aAAa,CAAC;;WAI3C,MAAM;SACN,QAAQ;iBACR,QAAQ;qBACR,OAAO,CACpB,UAAc,CACd,OAAa,CACb,UAAkB,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;yBA2fT,cACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA2FkhO,yBAAgB;;;;;EAvlBn+N,CAAC;qCAG7D,eAAe,GAAG,mBAAmB,GAAG,qBAAqB;oCAG7D,cAAc,CAAC;IAC3B,oBAAwB,EAAE,oBAAoB,CAAC;IAC/C,6BAAiC,EAAE,OAAO,qCAAqC,EAAE,+BAA+B,CAAC;IACjH,iBAAqB,EAAE,mBACvB,cAAoB,sBAAsB,EAAE,KAAK,CAC5C,CAAC;IACN,qBAAyB,EAAE,QAAQ,CACnC,MAAY,EACZ,OAAa,sBAAsB,EAAE,oBAAoB,CACpD,CAAC;IACN,MAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,qBAAyB,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,cAAkB,EAAE,sBAAsB,CAAC;IAC3C,UAAc,EAAE,kBAAkB,CAClC,2CAA0C,CAAC,OAAO,CAAC,CAC9C,CAAC;IACN,eAAmB,EAAE,kBAAkB;;;;;;;6CAmBmC,2BACpE;uBACN,4BAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAvB0C,CAAC;IACjD,aAAiB,EAAE,aAAa,CAAC;IACjC,gBAAoB,EAAE,aAAa,GAAG,SAAS,CAAC;IAChD,cAAkB,EAAE,QAAQ,CAAC;CAC1B,CAAC;qCAIQ,mBACZ,2CAAwC,CAAC,OAAO,CAAC,CAC9C;mCAGS,mBACZ,oDAAiD,CAAC,OAAO,CAAC,CACvD;uBAtEmB,gCAAgC;wCAKjB,qCAAqC"}