@sovryn-zero/lib-base 1.0.0-early.access.4 → 1.0.1-early.access.1

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 (51) hide show
  1. package/dist/src/LiquityStore.d.ts +0 -2
  2. package/dist/src/LiquityStore.d.ts.map +1 -1
  3. package/dist/src/LiquityStore.js +0 -1
  4. package/dist/src/LiquityStore.js.map +1 -1
  5. package/dist/src/ReadableLiquity.d.ts +0 -4
  6. package/dist/src/ReadableLiquity.d.ts.map +1 -1
  7. package/dist/src/_CachedReadableLiquity.d.ts +0 -1
  8. package/dist/src/_CachedReadableLiquity.d.ts.map +1 -1
  9. package/dist/src/_CachedReadableLiquity.js +0 -4
  10. package/dist/src/_CachedReadableLiquity.js.map +1 -1
  11. package/dist/src/constants.d.ts.map +1 -1
  12. package/dist/src/constants.js +3 -3
  13. package/dist/src/constants.js.map +1 -1
  14. package/etc/lib-base.api.md +0 -4
  15. package/package.json +2 -2
  16. package/src/LiquityStore.ts +0 -9
  17. package/src/ReadableLiquity.ts +0 -5
  18. package/src/_CachedReadableLiquity.ts +0 -7
  19. package/src/constants.ts +3 -3
  20. package/dist/src/LoC.d.ts +0 -367
  21. package/dist/src/LoC.d.ts.map +0 -1
  22. package/dist/src/LoC.js +0 -423
  23. package/dist/src/LoC.js.map +0 -1
  24. package/dist/src/ObservableZero.d.ts +0 -15
  25. package/dist/src/ObservableZero.d.ts.map +0 -1
  26. package/dist/src/ObservableZero.js +0 -3
  27. package/dist/src/ObservableZero.js.map +0 -1
  28. package/dist/src/PopulatableZero.d.ts +0 -125
  29. package/dist/src/PopulatableZero.d.ts.map +0 -1
  30. package/dist/src/PopulatableZero.js +0 -3
  31. package/dist/src/PopulatableZero.js.map +0 -1
  32. package/dist/src/ReadableZero.d.ts +0 -156
  33. package/dist/src/ReadableZero.d.ts.map +0 -1
  34. package/dist/src/ReadableZero.js +0 -3
  35. package/dist/src/ReadableZero.js.map +0 -1
  36. package/dist/src/SendableZero.d.ts +0 -156
  37. package/dist/src/SendableZero.d.ts.map +0 -1
  38. package/dist/src/SendableZero.js +0 -20
  39. package/dist/src/SendableZero.js.map +0 -1
  40. package/dist/src/TransactableZero.d.ts +0 -414
  41. package/dist/src/TransactableZero.d.ts.map +0 -1
  42. package/dist/src/TransactableZero.js +0 -18
  43. package/dist/src/TransactableZero.js.map +0 -1
  44. package/dist/src/ZeroStore.d.ts +0 -209
  45. package/dist/src/ZeroStore.d.ts.map +0 -1
  46. package/dist/src/ZeroStore.js +0 -209
  47. package/dist/src/ZeroStore.js.map +0 -1
  48. package/dist/src/_CachedReadableZero.d.ts +0 -55
  49. package/dist/src/_CachedReadableZero.d.ts.map +0 -1
  50. package/dist/src/_CachedReadableZero.js +0 -93
  51. package/dist/src/_CachedReadableZero.js.map +0 -1
package/dist/src/LoC.js DELETED
@@ -1,423 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TroveWithPendingRedistribution = exports.UserTrove = exports._emptyTrove = exports.Trove = exports._normalizeTroveAdjustment = exports._normalizeTroveCreation = void 0;
7
- const assert_1 = __importDefault(require("assert"));
8
- const Decimal_1 = require("./Decimal");
9
- const constants_1 = require("./constants");
10
- const invalidTroveCreation = (invalidTrove, error) => ({
11
- type: "invalidCreation",
12
- invalidTrove,
13
- error
14
- });
15
- const troveCreation = (params) => ({
16
- type: "creation",
17
- params
18
- });
19
- const troveClosure = (params) => ({
20
- type: "closure",
21
- params
22
- });
23
- const troveAdjustment = (params, setToZero) => ({
24
- type: "adjustment",
25
- params,
26
- setToZero
27
- });
28
- const valueIsDefined = (entry) => entry[1] !== undefined;
29
- const allowedTroveCreationKeys = [
30
- "depositCollateral",
31
- "borrowZUSD"
32
- ];
33
- function checkAllowedTroveCreationKeys(entries) {
34
- const badKeys = entries
35
- .filter(([k]) => !allowedTroveCreationKeys.includes(k))
36
- .map(([k]) => `'${k}'`);
37
- if (badKeys.length > 0) {
38
- throw new Error(`TroveCreationParams: property ${badKeys.join(", ")} not allowed`);
39
- }
40
- }
41
- const troveCreationParamsFromEntries = (entries) => {
42
- const params = Object.fromEntries(entries);
43
- const missingKeys = allowedTroveCreationKeys.filter(k => !(k in params)).map(k => `'${k}'`);
44
- if (missingKeys.length > 0) {
45
- throw new Error(`TroveCreationParams: property ${missingKeys.join(", ")} missing`);
46
- }
47
- return params;
48
- };
49
- const decimalize = ([k, v]) => [k, Decimal_1.Decimal.from(v)];
50
- const nonZero = ([, v]) => !v.isZero;
51
- /** @internal */
52
- const _normalizeTroveCreation = (params) => {
53
- const definedEntries = Object.entries(params).filter(valueIsDefined);
54
- checkAllowedTroveCreationKeys(definedEntries);
55
- const nonZeroEntries = definedEntries.map(decimalize);
56
- return troveCreationParamsFromEntries(nonZeroEntries);
57
- };
58
- exports._normalizeTroveCreation = _normalizeTroveCreation;
59
- const allowedTroveAdjustmentKeys = [
60
- "depositCollateral",
61
- "withdrawCollateral",
62
- "borrowZUSD",
63
- "repayZUSD"
64
- ];
65
- function checkAllowedTroveAdjustmentKeys(entries) {
66
- const badKeys = entries
67
- .filter(([k]) => !allowedTroveAdjustmentKeys.includes(k))
68
- .map(([k]) => `'${k}'`);
69
- if (badKeys.length > 0) {
70
- throw new Error(`TroveAdjustmentParams: property ${badKeys.join(", ")} not allowed`);
71
- }
72
- }
73
- const collateralChangeFrom = ({ depositCollateral, withdrawCollateral }) => {
74
- if (depositCollateral !== undefined && withdrawCollateral !== undefined) {
75
- throw new Error("TroveAdjustmentParams: 'depositCollateral' and 'withdrawCollateral' " +
76
- "can't be present at the same time");
77
- }
78
- if (depositCollateral !== undefined) {
79
- return { depositCollateral };
80
- }
81
- if (withdrawCollateral !== undefined) {
82
- return { withdrawCollateral };
83
- }
84
- };
85
- const debtChangeFrom = ({ borrowZUSD, repayZUSD }) => {
86
- if (borrowZUSD !== undefined && repayZUSD !== undefined) {
87
- throw new Error("TroveAdjustmentParams: 'borrowZUSD' and 'repayZUSD' can't be present at the same time");
88
- }
89
- if (borrowZUSD !== undefined) {
90
- return { borrowZUSD };
91
- }
92
- if (repayZUSD !== undefined) {
93
- return { repayZUSD };
94
- }
95
- };
96
- const troveAdjustmentParamsFromEntries = (entries) => {
97
- const params = Object.fromEntries(entries);
98
- const collateralChange = collateralChangeFrom(params);
99
- const debtChange = debtChangeFrom(params);
100
- if (collateralChange !== undefined && debtChange !== undefined) {
101
- return { ...collateralChange, ...debtChange };
102
- }
103
- if (collateralChange !== undefined) {
104
- return collateralChange;
105
- }
106
- if (debtChange !== undefined) {
107
- return debtChange;
108
- }
109
- throw new Error("TroveAdjustmentParams: must include at least one non-zero parameter");
110
- };
111
- /** @internal */
112
- const _normalizeTroveAdjustment = (params) => {
113
- const definedEntries = Object.entries(params).filter(valueIsDefined);
114
- checkAllowedTroveAdjustmentKeys(definedEntries);
115
- const nonZeroEntries = definedEntries.map(decimalize).filter(nonZero);
116
- return troveAdjustmentParamsFromEntries(nonZeroEntries);
117
- };
118
- exports._normalizeTroveAdjustment = _normalizeTroveAdjustment;
119
- const applyFee = (borrowingRate, debtIncrease) => debtIncrease.mul(Decimal_1.Decimal.ONE.add(borrowingRate));
120
- const unapplyFee = (borrowingRate, debtIncrease) => debtIncrease._divCeil(Decimal_1.Decimal.ONE.add(borrowingRate));
121
- const NOMINAL_COLLATERAL_RATIO_PRECISION = Decimal_1.Decimal.from(100);
122
- /**
123
- * A combination of collateral and debt.
124
- *
125
- * @public
126
- */
127
- class Trove {
128
- /** @internal */
129
- constructor(collateral = Decimal_1.Decimal.ZERO, debt = Decimal_1.Decimal.ZERO) {
130
- this.collateral = collateral;
131
- this.debt = debt;
132
- }
133
- get isEmpty() {
134
- return this.collateral.isZero && this.debt.isZero;
135
- }
136
- /**
137
- * Amount of ZUSD that must be repaid to close this Trove.
138
- *
139
- * @remarks
140
- * This doesn't include the liquidation reserve, which is refunded in case of normal closure.
141
- */
142
- get netDebt() {
143
- if (this.debt.lt(constants_1.ZUSD_LIQUIDATION_RESERVE)) {
144
- throw new Error(`netDebt should not be used when debt < ${constants_1.ZUSD_LIQUIDATION_RESERVE}`);
145
- }
146
- return this.debt.sub(constants_1.ZUSD_LIQUIDATION_RESERVE);
147
- }
148
- /** @internal */
149
- get _nominalCollateralRatio() {
150
- return this.collateral.mulDiv(NOMINAL_COLLATERAL_RATIO_PRECISION, this.debt);
151
- }
152
- /** Calculate the Trove's collateralization ratio at a given price. */
153
- collateralRatio(price) {
154
- return this.collateral.mulDiv(price, this.debt);
155
- }
156
- /**
157
- * Whether the Trove is undercollateralized at a given price.
158
- *
159
- * @returns
160
- * `true` if the Trove's collateralization ratio is less than the
161
- * {@link MINIMUM_COLLATERAL_RATIO}.
162
- */
163
- collateralRatioIsBelowMinimum(price) {
164
- return this.collateralRatio(price).lt(constants_1.MINIMUM_COLLATERAL_RATIO);
165
- }
166
- /**
167
- * Whether the collateralization ratio is less than the {@link CRITICAL_COLLATERAL_RATIO} at a
168
- * given price.
169
- *
170
- * @example
171
- * Can be used to check whether the Zero protocol is in recovery mode by using it on the return
172
- * value of {@link ReadableLiquity.getTotal | getTotal()}. For example:
173
- *
174
- * ```typescript
175
- * const total = await zero.getTotal();
176
- * const price = await zero.getPrice();
177
- *
178
- * if (total.collateralRatioIsBelowCritical(price)) {
179
- * // Recovery mode is active
180
- * }
181
- * ```
182
- */
183
- collateralRatioIsBelowCritical(price) {
184
- return this.collateralRatio(price).lt(constants_1.CRITICAL_COLLATERAL_RATIO);
185
- }
186
- /** Whether the Trove is sufficiently collateralized to be opened during recovery mode. */
187
- isOpenableInRecoveryMode(price) {
188
- return this.collateralRatio(price).gte(constants_1.CRITICAL_COLLATERAL_RATIO);
189
- }
190
- /** @internal */
191
- toString() {
192
- return `{ collateral: ${this.collateral}, debt: ${this.debt} }`;
193
- }
194
- equals(that) {
195
- return this.collateral.eq(that.collateral) && this.debt.eq(that.debt);
196
- }
197
- add(that) {
198
- return new Trove(this.collateral.add(that.collateral), this.debt.add(that.debt));
199
- }
200
- addCollateral(collateral) {
201
- return new Trove(this.collateral.add(collateral), this.debt);
202
- }
203
- addDebt(debt) {
204
- return new Trove(this.collateral, this.debt.add(debt));
205
- }
206
- subtract(that) {
207
- const { collateral, debt } = that;
208
- return new Trove(this.collateral.gt(collateral) ? this.collateral.sub(collateral) : Decimal_1.Decimal.ZERO, this.debt.gt(debt) ? this.debt.sub(debt) : Decimal_1.Decimal.ZERO);
209
- }
210
- subtractCollateral(collateral) {
211
- return new Trove(this.collateral.gt(collateral) ? this.collateral.sub(collateral) : Decimal_1.Decimal.ZERO, this.debt);
212
- }
213
- subtractDebt(debt) {
214
- return new Trove(this.collateral, this.debt.gt(debt) ? this.debt.sub(debt) : Decimal_1.Decimal.ZERO);
215
- }
216
- multiply(multiplier) {
217
- return new Trove(this.collateral.mul(multiplier), this.debt.mul(multiplier));
218
- }
219
- setCollateral(collateral) {
220
- return new Trove(Decimal_1.Decimal.from(collateral), this.debt);
221
- }
222
- setDebt(debt) {
223
- return new Trove(this.collateral, Decimal_1.Decimal.from(debt));
224
- }
225
- _debtChange({ debt }, borrowingRate) {
226
- return debt.gt(this.debt)
227
- ? { borrowZUSD: unapplyFee(borrowingRate, debt.sub(this.debt)) }
228
- : { repayZUSD: this.debt.sub(debt) };
229
- }
230
- _collateralChange({ collateral }) {
231
- return collateral.gt(this.collateral)
232
- ? { depositCollateral: collateral.sub(this.collateral) }
233
- : { withdrawCollateral: this.collateral.sub(collateral) };
234
- }
235
- /**
236
- * Calculate the difference between this Trove and another.
237
- *
238
- * @param that - The other Trove.
239
- * @param borrowingRate - Borrowing rate to use when calculating a borrowed amount.
240
- *
241
- * @returns
242
- * An object representing the change, or `undefined` if the Troves are equal.
243
- */
244
- whatChanged(that, borrowingRate = constants_1.MINIMUM_BORROWING_RATE) {
245
- var _a;
246
- if (this.collateral.eq(that.collateral) && this.debt.eq(that.debt)) {
247
- return undefined;
248
- }
249
- if (this.isEmpty) {
250
- if (that.debt.lt(constants_1.ZUSD_LIQUIDATION_RESERVE)) {
251
- return invalidTroveCreation(that, "missingLiquidationReserve");
252
- }
253
- return troveCreation({
254
- depositCollateral: that.collateral,
255
- borrowZUSD: unapplyFee(borrowingRate, that.netDebt)
256
- });
257
- }
258
- if (that.isEmpty) {
259
- return troveClosure(this.netDebt.nonZero
260
- ? { withdrawCollateral: this.collateral, repayZUSD: this.netDebt }
261
- : { withdrawCollateral: this.collateral });
262
- }
263
- return this.collateral.eq(that.collateral)
264
- ? troveAdjustment(this._debtChange(that, borrowingRate), that.debt.zero && "debt")
265
- : this.debt.eq(that.debt)
266
- ? troveAdjustment(this._collateralChange(that), that.collateral.zero && "collateral")
267
- : troveAdjustment({
268
- ...this._debtChange(that, borrowingRate),
269
- ...this._collateralChange(that)
270
- }, (_a = (that.debt.zero && "debt")) !== null && _a !== void 0 ? _a : (that.collateral.zero && "collateral"));
271
- }
272
- /**
273
- * Make a new Trove by applying a {@link TroveChange} to this Trove.
274
- *
275
- * @param change - The change to apply.
276
- * @param borrowingRate - Borrowing rate to use when adding a borrowed amount to the Trove's debt.
277
- */
278
- apply(change, borrowingRate = constants_1.MINIMUM_BORROWING_RATE) {
279
- if (!change) {
280
- return this;
281
- }
282
- switch (change.type) {
283
- case "invalidCreation":
284
- if (!this.isEmpty) {
285
- throw new Error("Can't create onto existing Trove");
286
- }
287
- return change.invalidTrove;
288
- case "creation": {
289
- if (!this.isEmpty) {
290
- throw new Error("Can't create onto existing Trove");
291
- }
292
- const { depositCollateral, borrowZUSD } = change.params;
293
- return new Trove(depositCollateral, constants_1.ZUSD_LIQUIDATION_RESERVE.add(applyFee(borrowingRate, borrowZUSD)));
294
- }
295
- case "closure":
296
- if (this.isEmpty) {
297
- throw new Error("Can't close empty Trove");
298
- }
299
- return exports._emptyTrove;
300
- case "adjustment": {
301
- const { setToZero, params: { depositCollateral, withdrawCollateral, borrowZUSD, repayZUSD } } = change;
302
- const collateralDecrease = withdrawCollateral !== null && withdrawCollateral !== void 0 ? withdrawCollateral : Decimal_1.Decimal.ZERO;
303
- const collateralIncrease = depositCollateral !== null && depositCollateral !== void 0 ? depositCollateral : Decimal_1.Decimal.ZERO;
304
- const debtDecrease = repayZUSD !== null && repayZUSD !== void 0 ? repayZUSD : Decimal_1.Decimal.ZERO;
305
- const debtIncrease = borrowZUSD ? applyFee(borrowingRate, borrowZUSD) : Decimal_1.Decimal.ZERO;
306
- return setToZero === "collateral"
307
- ? this.setCollateral(Decimal_1.Decimal.ZERO).addDebt(debtIncrease).subtractDebt(debtDecrease)
308
- : setToZero === "debt"
309
- ? this.setDebt(Decimal_1.Decimal.ZERO)
310
- .addCollateral(collateralIncrease)
311
- .subtractCollateral(collateralDecrease)
312
- : this.add(new Trove(collateralIncrease, debtIncrease)).subtract(new Trove(collateralDecrease, debtDecrease));
313
- }
314
- }
315
- }
316
- /**
317
- * Calculate the result of an {@link TransactableLiquity.openTrove | openTrove()} transaction.
318
- *
319
- * @param params - Parameters of the transaction.
320
- * @param borrowingRate - Borrowing rate to use when calculating the Trove's debt.
321
- */
322
- static create(params, borrowingRate) {
323
- return exports._emptyTrove.apply(troveCreation(exports._normalizeTroveCreation(params)), borrowingRate);
324
- }
325
- /**
326
- * Calculate the parameters of an {@link TransactableLiquity.openTrove | openTrove()} transaction
327
- * that will result in the given Trove.
328
- *
329
- * @param that - The Trove to recreate.
330
- * @param borrowingRate - Current borrowing rate.
331
- */
332
- static recreate(that, borrowingRate) {
333
- const change = exports._emptyTrove.whatChanged(that, borrowingRate);
334
- assert_1.default((change === null || change === void 0 ? void 0 : change.type) === "creation");
335
- return change.params;
336
- }
337
- /**
338
- * Calculate the result of an {@link TransactableLiquity.adjustTrove | adjustTrove()} transaction
339
- * on this Trove.
340
- *
341
- * @param params - Parameters of the transaction.
342
- * @param borrowingRate - Borrowing rate to use when adding to the Trove's debt.
343
- */
344
- adjust(params, borrowingRate) {
345
- return this.apply(troveAdjustment(exports._normalizeTroveAdjustment(params)), borrowingRate);
346
- }
347
- /**
348
- * Calculate the parameters of an {@link TransactableLiquity.adjustTrove | adjustTrove()}
349
- * transaction that will change this Trove into the given Trove.
350
- *
351
- * @param that - The desired result of the transaction.
352
- * @param borrowingRate - Current borrowing rate.
353
- */
354
- adjustTo(that, borrowingRate) {
355
- const change = this.whatChanged(that, borrowingRate);
356
- assert_1.default((change === null || change === void 0 ? void 0 : change.type) === "adjustment");
357
- return change.params;
358
- }
359
- }
360
- exports.Trove = Trove;
361
- /** @internal */
362
- exports._emptyTrove = new Trove();
363
- /**
364
- * A Trove that is associated with a single owner.
365
- *
366
- * @remarks
367
- * The SDK uses the base {@link Trove} class as a generic container of collateral and debt, for
368
- * example to represent the {@link ReadableLiquity.getTotal | total collateral and debt} locked up
369
- * in the protocol.
370
- *
371
- * The `UserTrove` class extends `Trove` with extra information that's only available for Troves
372
- * that are associated with a single owner (such as the owner's address, or the Trove's status).
373
- *
374
- * @public
375
- */
376
- class UserTrove extends Trove {
377
- /** @internal */
378
- constructor(ownerAddress, status, collateral, debt) {
379
- super(collateral, debt);
380
- this.ownerAddress = ownerAddress;
381
- this.status = status;
382
- }
383
- equals(that) {
384
- return (super.equals(that) && this.ownerAddress === that.ownerAddress && this.status === that.status);
385
- }
386
- /** @internal */
387
- toString() {
388
- return (`{ ownerAddress: "${this.ownerAddress}"` +
389
- `, collateral: ${this.collateral}` +
390
- `, debt: ${this.debt}` +
391
- `, status: "${this.status}" }`);
392
- }
393
- }
394
- exports.UserTrove = UserTrove;
395
- /**
396
- * A Trove in its state after the last direct modification.
397
- *
398
- * @remarks
399
- * The Trove may have received collateral and debt shares from liquidations since then.
400
- * Use {@link TroveWithPendingRedistribution.applyRedistribution | applyRedistribution()} to
401
- * calculate the Trove's most up-to-date state.
402
- *
403
- * @public
404
- */
405
- class TroveWithPendingRedistribution extends UserTrove {
406
- /** @internal */
407
- constructor(ownerAddress, status, collateral, debt, stake = Decimal_1.Decimal.ZERO, snapshotOfTotalRedistributed = exports._emptyTrove) {
408
- super(ownerAddress, status, collateral, debt);
409
- this.stake = stake;
410
- this.snapshotOfTotalRedistributed = snapshotOfTotalRedistributed;
411
- }
412
- applyRedistribution(totalRedistributed) {
413
- const afterRedistribution = this.add(totalRedistributed.subtract(this.snapshotOfTotalRedistributed).multiply(this.stake));
414
- return new UserTrove(this.ownerAddress, this.status, afterRedistribution.collateral, afterRedistribution.debt);
415
- }
416
- equals(that) {
417
- return (super.equals(that) &&
418
- this.stake.eq(that.stake) &&
419
- this.snapshotOfTotalRedistributed.equals(that.snapshotOfTotalRedistributed));
420
- }
421
- }
422
- exports.TroveWithPendingRedistribution = TroveWithPendingRedistribution;
423
- //# sourceMappingURL=Trove.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Trove.js","sourceRoot":"","sources":["../../src/Trove.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { Decimal } from "./Decimal";
2
- import { Trove, TroveWithPendingRedistribution } from "./Trove";
3
- import { StabilityDeposit } from "./StabilityDeposit";
4
- /** @alpha */
5
- export interface ObservableLiquity {
6
- watchTotalRedistributed(onTotalRedistributedChanged: (totalRedistributed: Trove) => void): () => void;
7
- watchTroveWithoutRewards(onTroveChanged: (trove: TroveWithPendingRedistribution) => void, address?: string): () => void;
8
- watchNumberOfTroves(onNumberOfTrovesChanged: (numberOfTroves: number) => void): () => void;
9
- watchPrice(onPriceChanged: (price: Decimal) => void): () => void;
10
- watchTotal(onTotalChanged: (total: Trove) => void): () => void;
11
- watchStabilityDeposit(onStabilityDepositChanged: (stabilityDeposit: StabilityDeposit) => void, address?: string): () => void;
12
- watchZUSDInStabilityPool(onZUSDInStabilityPoolChanged: (zusdInStabilityPool: Decimal) => void): () => void;
13
- watchZUSDBalance(onZUSDBalanceChanged: (balance: Decimal) => void, address?: string): () => void;
14
- }
15
- //# sourceMappingURL=ObservableLiquity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservableLiquity.d.ts","sourceRoot":"","sources":["../../src/ObservableLiquity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,aAAa;AACb,MAAM,WAAW,iBAAiB;IAChC,uBAAuB,CACrB,2BAA2B,EAAE,CAAC,kBAAkB,EAAE,KAAK,KAAK,IAAI,GAC/D,MAAM,IAAI,CAAC;IAEd,wBAAwB,CACtB,cAAc,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,EAC/D,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,IAAI,CAAC;IAEd,mBAAmB,CAAC,uBAAuB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAE3F,UAAU,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAEjE,UAAU,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAE/D,qBAAqB,CACnB,yBAAyB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,EACvE,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,IAAI,CAAC;IAEd,wBAAwB,CACtB,4BAA4B,EAAE,CAAC,mBAAmB,EAAE,OAAO,KAAK,IAAI,GACnE,MAAM,IAAI,CAAC;IAEd,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;CAClG"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ObservableLiquity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservableLiquity.js","sourceRoot":"","sources":["../../src/ObservableLiquity.ts"],"names":[],"mappings":""}
@@ -1,125 +0,0 @@
1
- import { Decimal, Decimalish } from "./Decimal";
2
- import { TroveAdjustmentParams, TroveCreationParams } from "./Trove";
3
- import { LiquityReceipt, SendableLiquity, SentLiquityTransaction } from "./SendableLiquity";
4
- import { CollateralGainTransferDetails, LiquidationDetails, RedemptionDetails, StabilityDepositChangeDetails, StabilityPoolGainsWithdrawalDetails, TroveAdjustmentDetails, TroveClosureDetails, TroveCreationDetails } from "./TransactableLiquity";
5
- /**
6
- * A transaction that has been prepared for sending.
7
- *
8
- * @remarks
9
- * Implemented by {@link @sovryn-zero/lib-ethers#PopulatedEthersLiquityTransaction}.
10
- *
11
- * @public
12
- */
13
- export interface PopulatedLiquityTransaction<P = unknown, T extends SentLiquityTransaction = SentLiquityTransaction> {
14
- /** Implementation-specific populated transaction object. */
15
- readonly rawPopulatedTransaction: P;
16
- /**
17
- * Send the transaction.
18
- *
19
- * @returns An object that implements {@link @sovryn-zero/lib-base#SentLiquityTransaction}.
20
- */
21
- send(): Promise<T>;
22
- }
23
- /**
24
- * A redemption transaction that has been prepared for sending.
25
- *
26
- * @remarks
27
- * The Zero protocol fulfills redemptions by repaying the debt of Troves in ascending order of
28
- * their collateralization ratio, and taking a portion of their collateral in exchange. Due to the
29
- * {@link @sovryn-zero/lib-base#ZUSD_MINIMUM_DEBT | minimum debt} requirement that Troves must fulfill,
30
- * some ZUSD amounts are not possible to redeem exactly.
31
- *
32
- * When {@link @sovryn-zero/lib-base#PopulatableLiquity.redeemZUSD | redeemZUSD()} is called with an
33
- * amount that can't be fully redeemed, the amount will be truncated (see the `redeemableZUSDAmount`
34
- * property). When this happens, the redeemer can either redeem the truncated amount by sending the
35
- * transaction unchanged, or prepare a new transaction by
36
- * {@link @sovryn-zero/lib-base#PopulatedRedemption.increaseAmountByMinimumNetDebt | increasing the amount}
37
- * to the next lowest possible value, which is the sum of the truncated amount and
38
- * {@link @sovryn-zero/lib-base#ZUSD_MINIMUM_NET_DEBT}.
39
- *
40
- * @public
41
- */
42
- export interface PopulatedRedemption<P = unknown, S = unknown, R = unknown> extends PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, RedemptionDetails>>> {
43
- /** Amount of ZUSD the redeemer is trying to redeem. */
44
- readonly attemptedZUSDAmount: Decimal;
45
- /** Maximum amount of ZUSD that is currently redeemable from `attemptedZUSDAmount`. */
46
- readonly redeemableZUSDAmount: Decimal;
47
- /** Whether `redeemableZUSDAmount` is less than `attemptedZUSDAmount`. */
48
- readonly isTruncated: boolean;
49
- /**
50
- * Prepare a new transaction by increasing the attempted amount to the next lowest redeemable
51
- * value.
52
- *
53
- * @param maxRedemptionRate - Maximum acceptable
54
- * {@link @sovryn-zero/lib-base#Fees.redemptionRate | redemption rate} to
55
- * use in the new transaction.
56
- *
57
- * @remarks
58
- * If `maxRedemptionRate` is omitted, the original transaction's `maxRedemptionRate` is reused
59
- * unless that was also omitted, in which case the current redemption rate (based on the increased
60
- * amount) plus 0.1% is used as maximum acceptable rate.
61
- */
62
- increaseAmountByMinimumNetDebt(maxRedemptionRate?: Decimalish): Promise<PopulatedRedemption<P, S, R>>;
63
- }
64
- /** @internal */
65
- export declare type _PopulatableFrom<T, P> = {
66
- [M in keyof T]: T[M] extends (...args: infer A) => Promise<infer U> ? U extends SentLiquityTransaction ? (...args: A) => Promise<PopulatedLiquityTransaction<P, U>> : never : never;
67
- };
68
- /**
69
- * Prepare Zero transactions for sending.
70
- *
71
- * @remarks
72
- * The functions return an object implementing {@link PopulatedLiquityTransaction}, which can be
73
- * used to send the transaction and get a {@link SentLiquityTransaction}.
74
- *
75
- * Implemented by {@link @sovryn-zero/lib-ethers#PopulatableEthersLiquity}.
76
- *
77
- * @public
78
- */
79
- export interface PopulatableLiquity<R = unknown, S = unknown, P = unknown> extends _PopulatableFrom<SendableLiquity<R, S>, P> {
80
- /** {@inheritDoc TransactableLiquity.openTrove} */
81
- openTrove(params: TroveCreationParams<Decimalish>, maxBorrowingRate?: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, TroveCreationDetails>>>>;
82
- /** {@inheritDoc TransactableLiquity.closeTrove} */
83
- closeTrove(): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, TroveClosureDetails>>>>;
84
- /** {@inheritDoc TransactableLiquity.adjustTrove} */
85
- adjustTrove(params: TroveAdjustmentParams<Decimalish>, maxBorrowingRate?: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, TroveAdjustmentDetails>>>>;
86
- /** {@inheritDoc TransactableLiquity.depositCollateral} */
87
- depositCollateral(amount: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, TroveAdjustmentDetails>>>>;
88
- /** {@inheritDoc TransactableLiquity.withdrawCollateral} */
89
- withdrawCollateral(amount: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, TroveAdjustmentDetails>>>>;
90
- /** {@inheritDoc TransactableLiquity.borrowZUSD} */
91
- borrowZUSD(amount: Decimalish, maxBorrowingRate?: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, TroveAdjustmentDetails>>>>;
92
- /** {@inheritDoc TransactableLiquity.repayZUSD} */
93
- repayZUSD(amount: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, TroveAdjustmentDetails>>>>;
94
- /** @internal */
95
- setPrice(price: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, void>>>>;
96
- /** {@inheritDoc TransactableLiquity.liquidate} */
97
- liquidate(address: string | string[]): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, LiquidationDetails>>>>;
98
- /** {@inheritDoc TransactableLiquity.liquidateUpTo} */
99
- liquidateUpTo(maximumNumberOfTrovesToLiquidate: number): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, LiquidationDetails>>>>;
100
- /** {@inheritDoc TransactableLiquity.depositZUSDInStabilityPool} */
101
- depositZUSDInStabilityPool(amount: Decimalish, frontendTag?: string): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, StabilityDepositChangeDetails>>>>;
102
- /** {@inheritDoc TransactableLiquity.withdrawZUSDFromStabilityPool} */
103
- withdrawZUSDFromStabilityPool(amount: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, StabilityDepositChangeDetails>>>>;
104
- /** {@inheritDoc TransactableLiquity.withdrawGainsFromStabilityPool} */
105
- withdrawGainsFromStabilityPool(): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, StabilityPoolGainsWithdrawalDetails>>>>;
106
- /** {@inheritDoc TransactableLiquity.transferCollateralGainToTrove} */
107
- transferCollateralGainToTrove(): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, CollateralGainTransferDetails>>>>;
108
- /** {@inheritDoc TransactableLiquity.sendZUSD} */
109
- sendZUSD(toAddress: string, amount: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, void>>>>;
110
- /** {@inheritDoc TransactableLiquity.sendZERO} */
111
- sendZERO(toAddress: string, amount: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, void>>>>;
112
- /** {@inheritDoc TransactableLiquity.redeemZUSD} */
113
- redeemZUSD(amount: Decimalish, maxRedemptionRate?: Decimalish): Promise<PopulatedRedemption<P, S, R>>;
114
- /** {@inheritDoc TransactableLiquity.claimCollateralSurplus} */
115
- claimCollateralSurplus(): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, void>>>>;
116
- /** {@inheritDoc TransactableLiquity.stakeZERO} */
117
- stakeZERO(amount: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, void>>>>;
118
- /** {@inheritDoc TransactableLiquity.unstakeZERO} */
119
- unstakeZERO(amount: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, void>>>>;
120
- /** {@inheritDoc TransactableLiquity.withdrawGainsFromStaking} */
121
- withdrawGainsFromStaking(): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, void>>>>;
122
- /** {@inheritDoc TransactableLiquity.registerFrontend} */
123
- registerFrontend(kickbackRate: Decimalish): Promise<PopulatedLiquityTransaction<P, SentLiquityTransaction<S, LiquityReceipt<R, void>>>>;
124
- }
125
- //# sourceMappingURL=PopulatableLiquity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PopulatableLiquity.d.ts","sourceRoot":"","sources":["../../src/PopulatableLiquity.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=PopulatableLiquity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PopulatableLiquity.js","sourceRoot":"","sources":["../../src/PopulatableLiquity.ts"],"names":[],"mappings":""}