@agoric/inter-protocol 0.16.2-dev-6e5b422.0 → 0.16.2-dev-bd1190d.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 (112) hide show
  1. package/bundles/bundle-auctioneer-js-meta.json +116 -116
  2. package/bundles/bundle-econCommitteeCharter-js-meta.json +71 -71
  3. package/bundles/bundle-feeDistributor-js-meta.json +57 -57
  4. package/bundles/bundle-fluxAggregatorKit-js-meta.json +111 -111
  5. package/bundles/bundle-psm-js-meta.json +109 -109
  6. package/bundles/bundle-reserve-js-meta.json +108 -108
  7. package/bundles/bundle-scaledPriceAuthority-js-meta.json +84 -84
  8. package/bundles/bundle-vaultFactory-js-meta.json +133 -133
  9. package/package.json +19 -17
  10. package/src/auction/auctionBook.d.ts +80 -0
  11. package/src/auction/auctionBook.d.ts.map +1 -0
  12. package/src/auction/auctioneer.d.ts +75 -0
  13. package/src/auction/auctioneer.d.ts.map +1 -0
  14. package/src/auction/offerBook.d.ts +72 -0
  15. package/src/auction/offerBook.d.ts.map +1 -0
  16. package/src/auction/params.d.ts +142 -0
  17. package/src/auction/params.d.ts.map +1 -0
  18. package/src/auction/scheduleMath.d.ts +4 -0
  19. package/src/auction/scheduleMath.d.ts.map +1 -0
  20. package/src/auction/scheduler.d.ts +49 -0
  21. package/src/auction/scheduler.d.ts.map +1 -0
  22. package/src/auction/sortedOffers.d.ts +8 -0
  23. package/src/auction/sortedOffers.d.ts.map +1 -0
  24. package/src/auction/util.d.ts +30 -0
  25. package/src/auction/util.d.ts.map +1 -0
  26. package/src/clientSupport.d.ts +129 -0
  27. package/src/clientSupport.d.ts.map +1 -0
  28. package/src/collectFees.d.ts +2 -0
  29. package/src/collectFees.d.ts.map +1 -0
  30. package/src/contractSupport.d.ts +33 -0
  31. package/src/contractSupport.d.ts.map +1 -0
  32. package/src/econCommitteeCharter.d.ts +45 -0
  33. package/src/econCommitteeCharter.d.ts.map +1 -0
  34. package/src/feeDistributor.d.ts +234 -0
  35. package/src/feeDistributor.d.ts.map +1 -0
  36. package/src/index.d.ts +2 -0
  37. package/src/index.d.ts.map +1 -0
  38. package/src/interest-math.d.ts +3 -0
  39. package/src/interest-math.d.ts.map +1 -0
  40. package/src/interest.d.ts +28 -0
  41. package/src/interest.d.ts.map +1 -0
  42. package/src/price/fluxAggregatorContract.d.ts +110 -0
  43. package/src/price/fluxAggregatorContract.d.ts.map +1 -0
  44. package/src/price/fluxAggregatorKit.d.ts +150 -0
  45. package/src/price/fluxAggregatorKit.d.ts.map +1 -0
  46. package/src/price/priceOracleKit.d.ts +58 -0
  47. package/src/price/priceOracleKit.d.ts.map +1 -0
  48. package/src/price/roundsManager.d.ts +348 -0
  49. package/src/price/roundsManager.d.ts.map +1 -0
  50. package/src/proposals/addAssetToVault.d.ts +155 -0
  51. package/src/proposals/addAssetToVault.d.ts.map +1 -0
  52. package/src/proposals/committee-proposal.d.ts +121 -0
  53. package/src/proposals/committee-proposal.d.ts.map +1 -0
  54. package/src/proposals/core-proposal.d.ts +149 -0
  55. package/src/proposals/core-proposal.d.ts.map +1 -0
  56. package/src/proposals/econ-behaviors.d.ts +201 -0
  57. package/src/proposals/econ-behaviors.d.ts.map +1 -0
  58. package/src/proposals/price-feed-proposal.d.ts +83 -0
  59. package/src/proposals/price-feed-proposal.d.ts.map +1 -0
  60. package/src/proposals/startEconCommittee.d.ts +34 -0
  61. package/src/proposals/startEconCommittee.d.ts.map +1 -0
  62. package/src/proposals/startPSM.d.ts +61 -0
  63. package/src/proposals/startPSM.d.ts.map +1 -0
  64. package/src/proposals/startPSM.js +8 -7
  65. package/src/proposals/utils.d.ts +15 -0
  66. package/src/proposals/utils.d.ts.map +1 -0
  67. package/src/psm/psm.d.ts +193 -0
  68. package/src/psm/psm.d.ts.map +1 -0
  69. package/src/psm/types.d.ts +2 -0
  70. package/src/psm/types.d.ts.map +1 -0
  71. package/src/reserve/assetReserve.d.ts +42 -0
  72. package/src/reserve/assetReserve.d.ts.map +1 -0
  73. package/src/reserve/assetReserveKit.d.ts +126 -0
  74. package/src/reserve/assetReserveKit.d.ts.map +1 -0
  75. package/src/reserve/params.d.ts +10 -0
  76. package/src/reserve/params.d.ts.map +1 -0
  77. package/src/tokens.d.ts +36 -0
  78. package/src/tokens.d.ts.map +1 -0
  79. package/src/typeGuards.d.ts +5 -0
  80. package/src/typeGuards.d.ts.map +1 -0
  81. package/src/vaultFactory/burn.d.ts +2 -0
  82. package/src/vaultFactory/burn.d.ts.map +1 -0
  83. package/src/vaultFactory/liquidation.d.ts +24 -0
  84. package/src/vaultFactory/liquidation.d.ts.map +1 -0
  85. package/src/vaultFactory/math.d.ts +10 -0
  86. package/src/vaultFactory/math.d.ts.map +1 -0
  87. package/src/vaultFactory/orderedVaultStore.d.ts +94 -0
  88. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
  89. package/src/vaultFactory/params.d.ts +162 -0
  90. package/src/vaultFactory/params.d.ts.map +1 -0
  91. package/src/vaultFactory/prioritizedVaults.d.ts +279 -0
  92. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
  93. package/src/vaultFactory/proceeds.d.ts +34 -0
  94. package/src/vaultFactory/proceeds.d.ts.map +1 -0
  95. package/src/vaultFactory/storeUtils.d.ts +29 -0
  96. package/src/vaultFactory/storeUtils.d.ts.map +1 -0
  97. package/src/vaultFactory/type-imports.d.ts +2 -0
  98. package/src/vaultFactory/type-imports.d.ts.map +1 -0
  99. package/src/vaultFactory/types.d.ts +132 -0
  100. package/src/vaultFactory/types.d.ts.map +1 -0
  101. package/src/vaultFactory/vault.d.ts +585 -0
  102. package/src/vaultFactory/vault.d.ts.map +1 -0
  103. package/src/vaultFactory/vaultDirector.d.ts +582 -0
  104. package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
  105. package/src/vaultFactory/vaultFactory.d.ts +159 -0
  106. package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
  107. package/src/vaultFactory/vaultHolder.d.ts +205 -0
  108. package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
  109. package/src/vaultFactory/vaultKit.d.ts +32 -0
  110. package/src/vaultFactory/vaultKit.d.ts.map +1 -0
  111. package/src/vaultFactory/vaultManager.d.ts +552 -0
  112. package/src/vaultFactory/vaultManager.d.ts.map +1 -0
@@ -0,0 +1,34 @@
1
+ export function calculateDistributionPlan({ proceeds, totalDebt, totalCollateral, oraclePriceAtStart, vaultsBalances, penaltyRate, }: {
2
+ proceeds: AmountKeywordRecord;
3
+ totalDebt: Amount<'nat'>;
4
+ totalCollateral: Amount<'nat'>;
5
+ oraclePriceAtStart: PriceDescription;
6
+ vaultsBalances: Array<VaultBalances>;
7
+ penaltyRate: Ratio;
8
+ }): DistributionPlan;
9
+ /**
10
+ * The plan to execute for distributing proceeds of a liquidation.
11
+ *
12
+ * Vaults are referenced by index in the list sent to the calculator.
13
+ */
14
+ export type DistributionPlan = {
15
+ overage: Amount<'nat'>;
16
+ shortfallToReserve: Amount<'nat'>;
17
+ collateralForReserve: Amount<'nat'>;
18
+ actualCollateralSold: Amount<'nat'>;
19
+ collateralSold: Amount<'nat'>;
20
+ collatRemaining: Amount<'nat'>;
21
+ debtToBurn: Amount<'nat'>;
22
+ mintedForReserve: Amount<'nat'>;
23
+ mintedProceeds: Amount<'nat'>;
24
+ phantomDebt: Amount<'nat'>;
25
+ totalPenalty: Amount<'nat'>;
26
+ transfersToVault: Array<[number, AmountKeywordRecord]>;
27
+ vaultsToReinstate: Array<number>;
28
+ };
29
+ export type VaultBalances = {
30
+ collateral: Amount<'nat'>;
31
+ presaleDebt: Amount<'nat'>;
32
+ currentDebt: Amount<'nat'>;
33
+ };
34
+ //# sourceMappingURL=proceeds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proceeds.d.ts","sourceRoot":"","sources":["proceeds.js"],"names":[],"mappings":"AAoDO;IARgC,QAAQ,EAApC,mBAAmB;IACG,SAAS,EAA/B,OAAO,KAAK,CAAC;IACS,eAAe,EAArC,OAAO,KAAK,CAAC;IACY,kBAAkB,EAA3C,gBAAgB;IACa,cAAc,EAA3C,MAAM,aAAa,CAAC;IACN,WAAW,EAAzB,KAAK;IACH,gBAAgB,CA8N5B;;;;;;+BApQY;IACZ,OAAW,EAAE,OAAO,KAAK,CAAC,CAAC;IAC3B,kBAAsB,EAAE,OAAO,KAAK,CAAC,CAAC;IACtC,oBAAwB,EAAE,OAAO,KAAK,CAAC,CAAC;IACxC,oBAAwB,EAAE,OAAO,KAAK,CAAC,CAAC;IACxC,cAAkB,EAAE,OAAO,KAAK,CAAC,CAAC;IAClC,eAAmB,EAAE,OAAO,KAAK,CAAC,CAAC;IACnC,UAAc,EAAE,OAAO,KAAK,CAAC,CAAC;IAC9B,gBAAoB,EAAE,OAAO,KAAK,CAAC,CAAC;IACpC,cAAkB,EAAE,OAAO,KAAK,CAAC,CAAC;IAClC,WAAe,EAAE,OAAO,KAAK,CAAC,CAAC;IAC/B,YAAgB,EAAE,OAAO,KAAK,CAAC,CAAC;IAChC,gBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC3D,iBAAqB,EAAE,MAAM,MAAM,CAAC,CAAA;CACjC;4BAOU;IAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;IAAC,WAAW,EAAG,OAAO,KAAK,CAAC,CAAC;IAAC,WAAW,EAAE,OAAO,KAAK,CAAC,CAAA;CAAE"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @typedef {import('@endo/marshal').PureData} PureData
3
+ */
4
+ /**
5
+ * @typedef {[normalizedCollateralization: number, vaultId: VaultId]} CompositeKey
6
+ */
7
+ /**
8
+ * @param {PureData} key
9
+ * @returns {string}
10
+ */
11
+ export const encodeData: (passable: any) => string;
12
+ /**
13
+ * @param {string} encoded
14
+ * @returns {PureData}
15
+ */
16
+ export const decodeData: (encoded: string) => any;
17
+ export function toVaultKey(normalizedDebt: NormalizedDebt, collateral: Amount<'nat'>, vaultId: VaultId): string;
18
+ export function fromVaultKey(key: string): [normalizedCollateralization: number, vaultId: VaultId];
19
+ export function normalizedCollRatio(quote: PriceQuote, compoundedStabilityFee: Ratio, margin: Ratio): number;
20
+ export function normalizedCollRatioKey(quote: PriceQuote, compoundedStabilityFee: Ratio, margin: Ratio): string;
21
+ export type PureData = import('@endo/marshal').PureData;
22
+ export type CompositeKey = [normalizedCollateralization: number, vaultId: VaultId];
23
+ export type NormalizedDebt = Amount<'nat'> & {
24
+ normalized: true;
25
+ };
26
+ export type ActualDebt = Amount<'nat'> & {
27
+ normalized: false;
28
+ };
29
+ //# sourceMappingURL=storeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storeUtils.d.ts","sourceRoot":"","sources":["storeUtils.js"],"names":[],"mappings":"AAqBA;;GAEG;AAEH;;GAEG;AAOH;;;GAGG;AACH,mDAA+C;AAO/C;;;GAGG;AACH,kDAA+C;AAkDxC,2CANI,cAAc,cACd,OAAO,KAAK,CAAC,WACb,OAAO,GACL,MAAM,CAelB;AAOM,kCAHI,MAAM,GACJ,CAAC,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAKnE;AAgBM,2CALI,UAAU,0BACV,KAAK,UACL,KAAK,GACH,MAAM,CAiBlB;AAcM,8CANI,UAAU,0BACV,KAAK,UACL,KAAK,GACH,MAAM,CAUlB;uBAvJY,OAAO,eAAe,EAAE,QAAQ;2BAIhC,CAAC,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;6BA6CtD,OAAO,KAAK,CAAC,GAAG;IAAC,UAAU,EAAE,IAAI,CAAA;CAAC;yBAClC,OAAO,KAAK,CAAC,GAAG;IAAC,UAAU,EAAE,KAAK,CAAA;CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=type-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-imports.d.ts","sourceRoot":"","sources":["type-imports.js"],"names":[],"mappings":""}
@@ -0,0 +1,132 @@
1
+ type VaultNotification = import('./vault').VaultNotification;
2
+ type Vault = import('./vault').Vault;
3
+ type VaultKit = import('./vaultKit').VaultKit;
4
+ type VaultManager = import('./vaultManager').VaultManager;
5
+ type CollateralManager = import('./vaultManager').CollateralManager;
6
+ type AssetReserveCreatorFacet = import('../reserve/assetReserve.js').AssetReserveLimitedCreatorFacet;
7
+ type AssetReservePublicFacet = import('../reserve/assetReserve.js').AssetReservePublicFacet;
8
+ type AuctioneerPublicFacet = import('../auction/auctioneer.js').AuctioneerPublicFacet;
9
+ type VaultFactoryPublicFacet = import('./vaultFactory.js').VaultFactoryContract['publicFacet'];
10
+ type Timestamp = import('@agoric/time/src/types').Timestamp;
11
+ type RelativeTime = import('@agoric/time/src/types').RelativeTime;
12
+ type AutoswapLocal = {
13
+ getInputPrice: (amount: Amount, brand: Brand) => Amount;
14
+ makeSwapInvitation: () => Invitation;
15
+ };
16
+ type VaultManagerParamValues = {
17
+ /**
18
+ * - margin below which collateral will be
19
+ * liquidated to satisfy the debt.
20
+ */
21
+ liquidationMargin: Ratio;
22
+ /**
23
+ * - penalty charged upon liquidation as proportion of debt
24
+ */
25
+ liquidationPenalty: Ratio;
26
+ /**
27
+ * - annual interest rate charged on debt positions
28
+ */
29
+ stabilityFee: Ratio;
30
+ /**
31
+ * - The fee (in BasisPoints) charged when creating
32
+ * or increasing a debt position.
33
+ */
34
+ mintFee: Ratio;
35
+ debtLimit: Amount<'nat'>;
36
+ /**
37
+ * - vault must maintain this in order to remove collateral or add debt
38
+ */
39
+ liquidationPadding?: Ratio | undefined;
40
+ };
41
+ type AddVaultType = (collateralIssuer: Issuer, collateralKeyword: Keyword, params: VaultManagerParamValues) => Promise<VaultManager>;
42
+ type VaultFactoryCreatorFacet = {
43
+ addVaultType: AddVaultType;
44
+ getRewardAllocation: () => Allocation;
45
+ makeCollectFeesInvitation: () => Promise<Invitation<string, never>>;
46
+ makeLiquidationWaker: () => import('@agoric/time/src/types').TimerWaker;
47
+ makePriceLockWaker: () => import('@agoric/time/src/types').TimerWaker;
48
+ };
49
+ /**
50
+ * Mint new debt `toMint` and transfer the `fee` portion to the vaultFactory's reward
51
+ * pool. Then reallocate over all the seat arguments and the rewardPoolSeat. Update
52
+ * the `totalDebt` if the reallocate succeeds.
53
+ */
54
+ type MintAndTransfer = (mintReceiver: ZCFSeat, toMint: Amount<'nat'>, fee: Amount<'nat'>, transfers: import('@agoric/zoe/src/contractSupport/atomicTransfer.js').TransferPart[]) => void;
55
+ /**
56
+ * Burn debt tokens off a seat and update
57
+ * the `totalDebt` if the reallocate succeeds.
58
+ */
59
+ type BurnDebt = (toBurn: Amount, fromSeat: ZCFSeat) => void;
60
+ type GetVaultParams = {
61
+ getLiquidationMargin: () => Ratio;
62
+ getMintFee: () => Ratio;
63
+ getCollateralQuote: () => Promise<PriceQuote>;
64
+ /**
65
+ * - The annual interest rate on a debt position
66
+ */
67
+ getStabilityFee: () => Ratio;
68
+ /**
69
+ * - The period (in seconds) at
70
+ * which interest is charged to the debt position.
71
+ */
72
+ getChargingPeriod: () => RelativeTime;
73
+ /**
74
+ * - The period (in seconds)
75
+ * at which interest is recorded to the debt position.
76
+ */
77
+ getRecordingPeriod: () => RelativeTime;
78
+ };
79
+ type VaultId = string;
80
+ type InterestTiming = {
81
+ /**
82
+ * in seconds
83
+ */
84
+ chargingPeriod: RelativeTime;
85
+ /**
86
+ * in seconds
87
+ */
88
+ recordingPeriod: RelativeTime;
89
+ };
90
+ type LiquidationStrategy = {
91
+ keywordMapping: () => KeywordKeywordRecord;
92
+ makeProposal: (collateral: Amount, run: Amount) => Proposal;
93
+ makeInvitation: (debt: Amount) => Promise<Invitation>;
94
+ };
95
+ type Liquidator = {
96
+ makeLiquidateInvitation: () => Promise<Invitation<void, {
97
+ debt: Amount<'nat'>;
98
+ penaltyRate: Ratio;
99
+ }>>;
100
+ };
101
+ type DebtStatus = {
102
+ latestStabilityFeeUpdate: Timestamp;
103
+ /**
104
+ * interest accrued since latestStabilityFeeUpdate
105
+ */
106
+ interest: NatValue;
107
+ /**
108
+ * total including principal and interest
109
+ */
110
+ newDebt: NatValue;
111
+ };
112
+ type Calculate = (debtStatus: DebtStatus, currentTime: Timestamp) => DebtStatus;
113
+ type CalculatorKit = {
114
+ /**
115
+ * calculate new debt for charging periods up to
116
+ * the present.
117
+ */
118
+ calculate: Calculate;
119
+ /**
120
+ * calculate new debt for
121
+ * reporting periods up to the present. If some charging periods have elapsed
122
+ * that don't constitute whole reporting periods, the time is not updated past
123
+ * them and interest is not accumulated for them.
124
+ */
125
+ calculateReportingPeriod: Calculate;
126
+ };
127
+ type VaultFactoryParamPath = {
128
+ key: 'governedParams' | {
129
+ collateralBrand: Brand;
130
+ };
131
+ };
132
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":"yBAGa,OAAO,SAAS,EAAE,iBAAiB;aACnC,OAAO,SAAS,EAAE,KAAK;gBACvB,OAAO,YAAY,EAAE,QAAQ;oBAC7B,OAAO,gBAAgB,EAAE,YAAY;yBACrC,OAAO,gBAAgB,EAAE,iBAAiB;gCAC1C,OAAO,4BAA4B,EAAE,+BAA+B;+BACpE,OAAO,4BAA4B,EAAE,uBAAuB;6BAC5D,OAAO,0BAA0B,EAAE,qBAAqB;+BACxD,OAAO,mBAAmB,EAAE,oBAAoB,CAAC,aAAa,CAAC;iBAE/D,OAAO,wBAAwB,EAAE,SAAS;oBAC1C,OAAO,wBAAwB,EAAE,YAAY;;4BAKnC,MAAM,SAAS,KAAK,KAAK,MAAM;wBACxC,MAAM,UAAU;;;;;;;uBAKhB,KAAK;;;;wBAEL,KAAK;;;;kBACL,KAAK;;;;;aACL,KAAK;eAEL,OAAO,KAAK,CAAC;;;;;;uCAMhB,MAAM,qBACN,OAAO,UACP,uBAAuB,KACrB,QAAQ,YAAY,CAAC;;kBAKpB,YAAY;yBACZ,MAAM,UAAU;+BAChB,MAAM,QAAQ,WAAW,MAAM,EAAE,KAAK,CAAC,CAAC;0BACxC,MAAM,OAAO,wBAAwB,EAAE,UAAU;wBACjD,MAAM,OAAO,wBAAwB,EAAE,UAAU;;;;;;;sCAQpD,OAAO,UACP,OAAO,KAAK,CAAC,OACb,OAAO,KAAK,CAAC,aACb,OAAO,mDAAmD,EAAE,YAAY,EAAE,KACxE,IAAI;;;;;yBASN,MAAM,YACN,OAAO,KACL,IAAI;;0BAKH,MAAM,KAAK;gBACX,MAAM,KAAK;wBACX,MAAM,QAAQ,UAAU,CAAC;;;;qBACzB,MAAM,KAAK;;;;;uBACX,MAAM,YAAY;;;;;wBAElB,MAAM,YAAY;;eAKnB,MAAM;;;;;oBAKL,YAAY;;;;qBACZ,YAAY;;;oBAKZ,MAAM,oBAAoB;+BACb,MAAM,OAAO,MAAM,KAAK,QAAQ;2BACtC,MAAM,KAAK,QAAQ,UAAU,CAAC;;;6BAKrC,MAAM,QAAQ,WAAW,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC;KAAE,CAAC,CAAC;;;8BAK7E,SAAS;;;;cACT,QAAQ;;;;aACR,QAAQ;;8BAKX,UAAU,eACV,SAAS,KACP,UAAU;;;;;;eAKT,SAAS;;;;;;;8BAET,SAAS;;6BAMT;IAAC,GAAG,EAAE,gBAAgB,GAAG;QAAC,eAAe,EAAE,KAAK,CAAA;KAAC,CAAA;CAAC"}