@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
@@ -1,209 +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.LiquityStore = void 0;
7
- const assert_1 = __importDefault(require("assert"));
8
- const strictEquals = (a, b) => a === b;
9
- const eq = (a, b) => a.eq(b);
10
- const equals = (a, b) => a.equals(b);
11
- const frontendStatusEquals = (a, b) => a.status === "unregistered"
12
- ? b.status === "unregistered"
13
- : b.status === "registered" && a.kickbackRate.eq(b.kickbackRate);
14
- const showFrontendStatus = (x) => x.status === "unregistered"
15
- ? '{ status: "unregistered" }'
16
- : `{ status: "registered", kickbackRate: ${x.kickbackRate} }`;
17
- const wrap = (f) => (...args) => f(...args);
18
- const difference = (a, b) => Object.fromEntries(Object.entries(a).filter(([key, value]) => value !== b[key]));
19
- /**
20
- * Abstract base class of Zero data store implementations.
21
- *
22
- * @remarks
23
- * The type parameter `T` may be used to type extra state added to {@link LiquityStoreState} by the
24
- * subclass.
25
- *
26
- * Implemented by {@link @sovryn-zero/lib-ethers#BlockPolledLiquityStore}.
27
- *
28
- * @public
29
- */
30
- class LiquityStore {
31
- constructor() {
32
- /** Turn console logging on/off. */
33
- this.logging = false;
34
- /** @internal */
35
- this._loaded = false;
36
- this._listeners = new Set();
37
- }
38
- /**
39
- * The current store state.
40
- *
41
- * @remarks
42
- * Should not be accessed before the store is loaded. Assign a function to
43
- * {@link LiquityStore.onLoaded | onLoaded} to get a callback when this happens.
44
- *
45
- * See {@link LiquityStoreState} for the list of properties returned.
46
- */
47
- get state() {
48
- return Object.assign({}, this._baseState, this._derivedState, this._extraState);
49
- }
50
- /**
51
- * Start monitoring the blockchain for Zero state changes.
52
- *
53
- * @remarks
54
- * The {@link LiquityStore.onLoaded | onLoaded} callback will be called after the state is fetched
55
- * for the first time.
56
- *
57
- * Use the {@link LiquityStore.subscribe | subscribe()} function to register listeners.
58
- *
59
- * @returns Function to stop the monitoring.
60
- */
61
- start() {
62
- const doStop = this._doStart();
63
- return () => {
64
- doStop();
65
- this._cancelUpdateIfScheduled();
66
- };
67
- }
68
- _cancelUpdateIfScheduled() {
69
- if (this._updateTimeoutId !== undefined) {
70
- clearTimeout(this._updateTimeoutId);
71
- }
72
- }
73
- _scheduleUpdate() {
74
- this._cancelUpdateIfScheduled();
75
- this._updateTimeoutId = setTimeout(() => {
76
- this._updateTimeoutId = undefined;
77
- this._update();
78
- }, 30000);
79
- }
80
- _logUpdate(name, next, show) {
81
- if (this.logging) {
82
- console.log(`${name} updated to ${show ? show(next) : next}`);
83
- }
84
- return next;
85
- }
86
- _updateIfChanged(equals, name, prev, next, show) {
87
- return next !== undefined && !equals(prev, next) ? this._logUpdate(name, next, show) : prev;
88
- }
89
- _silentlyUpdateIfChanged(equals, prev, next) {
90
- return next !== undefined && !equals(prev, next) ? next : prev;
91
- }
92
- _updateFees(name, prev, next) {
93
- if (next && !next.equals(prev)) {
94
- // Filter out fee update spam that happens on every new block by only logging when string
95
- // representation changes.
96
- if (`${next}` !== `${prev}`) {
97
- this._logUpdate(name, next);
98
- }
99
- return next;
100
- }
101
- else {
102
- return prev;
103
- }
104
- }
105
- _reduce(baseState, baseStateUpdate) {
106
- return {
107
- frontend: this._updateIfChanged(frontendStatusEquals, "frontend", baseState.frontend, baseStateUpdate.frontend, showFrontendStatus),
108
- ownFrontend: this._updateIfChanged(frontendStatusEquals, "ownFrontend", baseState.ownFrontend, baseStateUpdate.ownFrontend, showFrontendStatus),
109
- numberOfTroves: this._updateIfChanged(strictEquals, "numberOfTroves", baseState.numberOfTroves, baseStateUpdate.numberOfTroves),
110
- accountBalance: this._updateIfChanged(eq, "accountBalance", baseState.accountBalance, baseStateUpdate.accountBalance),
111
- zusdBalance: this._updateIfChanged(eq, "zusdBalance", baseState.zusdBalance, baseStateUpdate.zusdBalance),
112
- nueBalance: this._updateIfChanged(eq, "nueBalance", baseState.nueBalance, baseStateUpdate.nueBalance),
113
- zeroBalance: this._updateIfChanged(eq, "zeroBalance", baseState.zeroBalance, baseStateUpdate.zeroBalance),
114
- collateralSurplusBalance: this._updateIfChanged(eq, "collateralSurplusBalance", baseState.collateralSurplusBalance, baseStateUpdate.collateralSurplusBalance),
115
- price: this._updateIfChanged(eq, "price", baseState.price, baseStateUpdate.price),
116
- zusdInStabilityPool: this._updateIfChanged(eq, "zusdInStabilityPool", baseState.zusdInStabilityPool, baseStateUpdate.zusdInStabilityPool),
117
- total: this._updateIfChanged(equals, "total", baseState.total, baseStateUpdate.total),
118
- totalRedistributed: this._updateIfChanged(equals, "totalRedistributed", baseState.totalRedistributed, baseStateUpdate.totalRedistributed),
119
- troveBeforeRedistribution: this._updateIfChanged(equals, "troveBeforeRedistribution", baseState.troveBeforeRedistribution, baseStateUpdate.troveBeforeRedistribution),
120
- stabilityDeposit: this._updateIfChanged(equals, "stabilityDeposit", baseState.stabilityDeposit, baseStateUpdate.stabilityDeposit),
121
- remainingStabilityPoolZEROReward: this._silentlyUpdateIfChanged(eq, baseState.remainingStabilityPoolZEROReward, baseStateUpdate.remainingStabilityPoolZEROReward),
122
- _feesInNormalMode: this._silentlyUpdateIfChanged(equals, baseState._feesInNormalMode, baseStateUpdate._feesInNormalMode),
123
- zeroStake: this._updateIfChanged(equals, "zeroStake", baseState.zeroStake, baseStateUpdate.zeroStake),
124
- totalStakedZERO: this._updateIfChanged(eq, "totalStakedZERO", baseState.totalStakedZERO, baseStateUpdate.totalStakedZERO),
125
- _riskiestTroveBeforeRedistribution: this._silentlyUpdateIfChanged(equals, baseState._riskiestTroveBeforeRedistribution, baseStateUpdate._riskiestTroveBeforeRedistribution)
126
- };
127
- }
128
- _derive({ troveBeforeRedistribution, totalRedistributed, _feesInNormalMode, total, price, _riskiestTroveBeforeRedistribution }) {
129
- const fees = _feesInNormalMode._setRecoveryMode(total.collateralRatioIsBelowCritical(price));
130
- return {
131
- trove: troveBeforeRedistribution.applyRedistribution(totalRedistributed),
132
- fees,
133
- borrowingRate: fees.borrowingRate(),
134
- redemptionRate: fees.redemptionRate(),
135
- haveUndercollateralizedTroves: _riskiestTroveBeforeRedistribution
136
- .applyRedistribution(totalRedistributed)
137
- .collateralRatioIsBelowMinimum(price)
138
- };
139
- }
140
- _reduceDerived(derivedState, derivedStateUpdate) {
141
- return {
142
- fees: this._updateFees("fees", derivedState.fees, derivedStateUpdate.fees),
143
- trove: this._updateIfChanged(equals, "trove", derivedState.trove, derivedStateUpdate.trove),
144
- borrowingRate: this._silentlyUpdateIfChanged(eq, derivedState.borrowingRate, derivedStateUpdate.borrowingRate),
145
- redemptionRate: this._silentlyUpdateIfChanged(eq, derivedState.redemptionRate, derivedStateUpdate.redemptionRate),
146
- haveUndercollateralizedTroves: this._updateIfChanged(strictEquals, "haveUndercollateralizedTroves", derivedState.haveUndercollateralizedTroves, derivedStateUpdate.haveUndercollateralizedTroves)
147
- };
148
- }
149
- _notify(params) {
150
- // Iterate on a copy of `_listeners`, to avoid notifying any new listeners subscribed by
151
- // existing listeners, as that could result in infinite loops.
152
- //
153
- // Before calling a listener from our copy of `_listeners`, check if it has been removed from
154
- // the original set. This way we avoid calling listeners that have already been unsubscribed
155
- // by an earlier listener callback.
156
- [...this._listeners].forEach(listener => {
157
- if (this._listeners.has(listener)) {
158
- listener(params);
159
- }
160
- });
161
- }
162
- /**
163
- * Register a state change listener.
164
- *
165
- * @param listener - Function that will be called whenever state changes.
166
- * @returns Function to unregister this listener.
167
- */
168
- subscribe(listener) {
169
- const uniqueListener = wrap(listener);
170
- this._listeners.add(uniqueListener);
171
- return () => {
172
- this._listeners.delete(uniqueListener);
173
- };
174
- }
175
- /** @internal */
176
- _load(baseState, extraState) {
177
- assert_1.default(!this._loaded);
178
- this._baseState = baseState;
179
- this._derivedState = this._derive(baseState);
180
- this._extraState = extraState;
181
- this._loaded = true;
182
- this._scheduleUpdate();
183
- if (this.onLoaded) {
184
- this.onLoaded();
185
- }
186
- }
187
- /** @internal */
188
- _update(baseStateUpdate, extraStateUpdate) {
189
- assert_1.default(this._baseState && this._derivedState);
190
- const oldState = this.state;
191
- if (baseStateUpdate) {
192
- this._baseState = this._reduce(this._baseState, baseStateUpdate);
193
- }
194
- // Always running this lets us derive state based on passage of time, like baseRate decay
195
- this._derivedState = this._reduceDerived(this._derivedState, this._derive(this._baseState));
196
- if (extraStateUpdate) {
197
- assert_1.default(this._extraState);
198
- this._extraState = this._reduceExtra(this._extraState, extraStateUpdate);
199
- }
200
- this._scheduleUpdate();
201
- this._notify({
202
- newState: this.state,
203
- oldState,
204
- stateChange: difference(this.state, oldState)
205
- });
206
- }
207
- }
208
- exports.LiquityStore = LiquityStore;
209
- //# sourceMappingURL=LiquityStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiquityStore.js","sourceRoot":"","sources":["../../src/LiquityStore.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import { Decimal } from "./Decimal";
2
- import { Fees } from "./Fees";
3
- import { ZEROStake } from "./ZEROStake";
4
- import { StabilityDeposit } from "./StabilityDeposit";
5
- import { Trove, TroveWithPendingRedistribution, UserTrove } from "./Trove";
6
- import { FrontendStatus, ReadableLiquity, TroveListingParams } from "./ReadableLiquity";
7
- /** @internal */
8
- export declare type _ReadableLiquityWithExtraParamsBase<T extends unknown[]> = {
9
- [P in keyof ReadableLiquity]: ReadableLiquity[P] extends (...params: infer A) => infer R ? (...params: [...originalParams: A, ...extraParams: T]) => R : never;
10
- };
11
- /** @internal */
12
- export declare type _LiquityReadCacheBase<T extends unknown[]> = {
13
- [P in keyof ReadableLiquity]: ReadableLiquity[P] extends (...args: infer A) => Promise<infer R> ? (...params: [...originalParams: A, ...extraParams: T]) => R | undefined : never;
14
- };
15
- /** @internal */
16
- export interface _ReadableLiquityWithExtraParams<T extends unknown[]> extends _ReadableLiquityWithExtraParamsBase<T> {
17
- getTroves(params: TroveListingParams & {
18
- beforeRedistribution: true;
19
- }, ...extraParams: T): Promise<TroveWithPendingRedistribution[]>;
20
- getTroves(params: TroveListingParams, ...extraParams: T): Promise<UserTrove[]>;
21
- }
22
- /** @internal */
23
- export interface _LiquityReadCache<T extends unknown[]> extends _LiquityReadCacheBase<T> {
24
- getTroves(params: TroveListingParams & {
25
- beforeRedistribution: true;
26
- }, ...extraParams: T): TroveWithPendingRedistribution[] | undefined;
27
- getTroves(params: TroveListingParams, ...extraParams: T): UserTrove[] | undefined;
28
- }
29
- /** @internal */
30
- export declare class _CachedReadableLiquity<T extends unknown[]> implements _ReadableLiquityWithExtraParams<T> {
31
- private _readable;
32
- private _cache;
33
- constructor(readable: _ReadableLiquityWithExtraParams<T>, cache: _LiquityReadCache<T>);
34
- getTotalRedistributed(...extraParams: T): Promise<Trove>;
35
- getTroveBeforeRedistribution(address?: string, ...extraParams: T): Promise<TroveWithPendingRedistribution>;
36
- getTrove(address?: string, ...extraParams: T): Promise<UserTrove>;
37
- getNumberOfTroves(...extraParams: T): Promise<number>;
38
- getPrice(...extraParams: T): Promise<Decimal>;
39
- getTotal(...extraParams: T): Promise<Trove>;
40
- getStabilityDeposit(address?: string, ...extraParams: T): Promise<StabilityDeposit>;
41
- getRemainingStabilityPoolZEROReward(...extraParams: T): Promise<Decimal>;
42
- getZUSDInStabilityPool(...extraParams: T): Promise<Decimal>;
43
- getZUSDBalance(address?: string, ...extraParams: T): Promise<Decimal>;
44
- getZEROBalance(address?: string, ...extraParams: T): Promise<Decimal>;
45
- getCollateralSurplusBalance(address?: string, ...extraParams: T): Promise<Decimal>;
46
- getTroves(params: TroveListingParams & {
47
- beforeRedistribution: true;
48
- }, ...extraParams: T): Promise<TroveWithPendingRedistribution[]>;
49
- getTroves(params: TroveListingParams, ...extraParams: T): Promise<UserTrove[]>;
50
- getFees(...extraParams: T): Promise<Fees>;
51
- getZEROStake(address?: string, ...extraParams: T): Promise<ZEROStake>;
52
- getTotalStakedZERO(...extraParams: T): Promise<Decimal>;
53
- getFrontendStatus(address?: string, ...extraParams: T): Promise<FrontendStatus>;
54
- }
55
- //# sourceMappingURL=_CachedReadableLiquity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_CachedReadableLiquity.d.ts","sourceRoot":"","sources":["../../src/_CachedReadableLiquity.ts"],"names":[],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._CachedReadableLiquity = void 0;
4
- /** @internal */
5
- class _CachedReadableLiquity {
6
- constructor(readable, cache) {
7
- this._readable = readable;
8
- this._cache = cache;
9
- }
10
- async getTotalRedistributed(...extraParams) {
11
- var _a;
12
- return ((_a = this._cache.getTotalRedistributed(...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getTotalRedistributed(...extraParams));
13
- }
14
- async getTroveBeforeRedistribution(address, ...extraParams) {
15
- var _a;
16
- return ((_a = this._cache.getTroveBeforeRedistribution(address, ...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getTroveBeforeRedistribution(address, ...extraParams));
17
- }
18
- async getTrove(address, ...extraParams) {
19
- const [troveBeforeRedistribution, totalRedistributed] = await Promise.all([
20
- this.getTroveBeforeRedistribution(address, ...extraParams),
21
- this.getTotalRedistributed(...extraParams)
22
- ]);
23
- return troveBeforeRedistribution.applyRedistribution(totalRedistributed);
24
- }
25
- async getNumberOfTroves(...extraParams) {
26
- var _a;
27
- return ((_a = this._cache.getNumberOfTroves(...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getNumberOfTroves(...extraParams));
28
- }
29
- async getPrice(...extraParams) {
30
- var _a;
31
- return (_a = this._cache.getPrice(...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getPrice(...extraParams);
32
- }
33
- async getTotal(...extraParams) {
34
- var _a;
35
- return (_a = this._cache.getTotal(...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getTotal(...extraParams);
36
- }
37
- async getStabilityDeposit(address, ...extraParams) {
38
- var _a;
39
- return ((_a = this._cache.getStabilityDeposit(address, ...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getStabilityDeposit(address, ...extraParams));
40
- }
41
- async getRemainingStabilityPoolZEROReward(...extraParams) {
42
- var _a;
43
- return ((_a = this._cache.getRemainingStabilityPoolZEROReward(...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getRemainingStabilityPoolZEROReward(...extraParams));
44
- }
45
- async getZUSDInStabilityPool(...extraParams) {
46
- var _a;
47
- return ((_a = this._cache.getZUSDInStabilityPool(...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getZUSDInStabilityPool(...extraParams));
48
- }
49
- async getZUSDBalance(address, ...extraParams) {
50
- var _a;
51
- return ((_a = this._cache.getZUSDBalance(address, ...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getZUSDBalance(address, ...extraParams));
52
- }
53
- async getZEROBalance(address, ...extraParams) {
54
- var _a;
55
- return ((_a = this._cache.getZEROBalance(address, ...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getZEROBalance(address, ...extraParams));
56
- }
57
- async getCollateralSurplusBalance(address, ...extraParams) {
58
- var _a;
59
- return ((_a = this._cache.getCollateralSurplusBalance(address, ...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getCollateralSurplusBalance(address, ...extraParams));
60
- }
61
- async getTroves(params, ...extraParams) {
62
- var _a;
63
- const { beforeRedistribution, ...restOfParams } = params;
64
- const [totalRedistributed, troves] = await Promise.all([
65
- beforeRedistribution ? undefined : this.getTotalRedistributed(...extraParams),
66
- (_a = this._cache.getTroves({ beforeRedistribution: true, ...restOfParams }, ...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getTroves({ beforeRedistribution: true, ...restOfParams }, ...extraParams)
67
- ]);
68
- if (totalRedistributed) {
69
- return troves.map(trove => trove.applyRedistribution(totalRedistributed));
70
- }
71
- else {
72
- return troves;
73
- }
74
- }
75
- async getFees(...extraParams) {
76
- var _a;
77
- return (_a = this._cache.getFees(...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getFees(...extraParams);
78
- }
79
- async getZEROStake(address, ...extraParams) {
80
- var _a;
81
- return ((_a = this._cache.getZEROStake(address, ...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getZEROStake(address, ...extraParams));
82
- }
83
- async getTotalStakedZERO(...extraParams) {
84
- var _a;
85
- return ((_a = this._cache.getTotalStakedZERO(...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getTotalStakedZERO(...extraParams));
86
- }
87
- async getFrontendStatus(address, ...extraParams) {
88
- var _a;
89
- return ((_a = this._cache.getFrontendStatus(address, ...extraParams)) !== null && _a !== void 0 ? _a : this._readable.getFrontendStatus(address, ...extraParams));
90
- }
91
- }
92
- exports._CachedReadableLiquity = _CachedReadableLiquity;
93
- //# sourceMappingURL=_CachedReadableLiquity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_CachedReadableLiquity.js","sourceRoot":"","sources":["../../src/_CachedReadableLiquity.ts"],"names":[],"mappings":"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"}