@wildcatfi/wildcat-sdk 2.0.3 → 2.0.5
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.
- package/dist/account.d.ts +12 -2
- package/dist/account.d.ts.map +1 -1
- package/dist/account.js +54 -3
- package/dist/account.js.map +1 -1
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/gql/graphql.d.ts +7938 -0
- package/dist/gql/graphql.d.ts.map +1 -0
- package/dist/gql/graphql.js +2437 -0
- package/dist/gql/graphql.js.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +23 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/types.d.ts +14 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +3 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/hooks/useAccountsWhereLenderAuthorizedOrActive.d.ts +24 -0
- package/dist/hooks/useAccountsWhereLenderAuthorizedOrActive.d.ts.map +1 -0
- package/dist/hooks/useAccountsWhereLenderAuthorizedOrActive.js +72 -0
- package/dist/hooks/useAccountsWhereLenderAuthorizedOrActive.js.map +1 -0
- package/dist/hooks/useAllPendingWithdrawalBatchesForMarket.d.ts +7 -0
- package/dist/hooks/useAllPendingWithdrawalBatchesForMarket.d.ts.map +1 -0
- package/dist/hooks/useAllPendingWithdrawalBatchesForMarket.js +68 -0
- package/dist/hooks/useAllPendingWithdrawalBatchesForMarket.js.map +1 -0
- package/dist/hooks/useLenderWithdrawalsForMarket.d.ts +13 -0
- package/dist/hooks/useLenderWithdrawalsForMarket.d.ts.map +1 -0
- package/dist/hooks/useLenderWithdrawalsForMarket.js +84 -0
- package/dist/hooks/useLenderWithdrawalsForMarket.js.map +1 -0
- package/dist/hooks/useMarket.d.ts +10 -0
- package/dist/hooks/useMarket.d.ts.map +1 -0
- package/dist/hooks/useMarket.js +17 -0
- package/dist/hooks/useMarket.js.map +1 -0
- package/dist/hooks/useMarketsForBorrower.d.ts +10 -0
- package/dist/hooks/useMarketsForBorrower.d.ts.map +1 -0
- package/dist/hooks/useMarketsForBorrower.js +60 -0
- package/dist/hooks/useMarketsForBorrower.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/market.d.ts +27 -4
- package/dist/market.d.ts.map +1 -1
- package/dist/market.js +46 -10
- package/dist/market.js.map +1 -1
- package/dist/token.d.ts +3 -0
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +6 -0
- package/dist/token.js.map +1 -1
- package/dist/utils/logger.d.ts +10 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +34 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/math.d.ts +1 -0
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/math.js +10 -1
- package/dist/utils/math.js.map +1 -1
- package/dist/withdrawal-batch.d.ts +14 -2
- package/dist/withdrawal-batch.d.ts.map +1 -1
- package/dist/withdrawal-batch.js +72 -3
- package/dist/withdrawal-batch.js.map +1 -1
- package/dist/withdrawal-status.d.ts +9 -32
- package/dist/withdrawal-status.d.ts.map +1 -1
- package/dist/withdrawal-status.js +11 -139
- package/dist/withdrawal-status.js.map +1 -1
- package/package.json +26 -7
package/dist/withdrawal-batch.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WithdrawalBatch = exports.BatchStatus = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
4
5
|
const constants_1 = require("./constants");
|
|
5
6
|
const withdrawal_status_1 = require("./withdrawal-status");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
6
8
|
var BatchStatus;
|
|
7
9
|
(function (BatchStatus) {
|
|
8
10
|
BatchStatus[BatchStatus["Pending"] = 0] = "Pending";
|
|
@@ -11,7 +13,7 @@ var BatchStatus;
|
|
|
11
13
|
BatchStatus[BatchStatus["Complete"] = 3] = "Complete";
|
|
12
14
|
})(BatchStatus = exports.BatchStatus || (exports.BatchStatus = {}));
|
|
13
15
|
class WithdrawalBatch {
|
|
14
|
-
constructor(market, expiry, status, scaledTotalAmount, scaledAmountBurned, normalizedAmountPaid, normalizedTotalAmount) {
|
|
16
|
+
constructor(market, expiry, status, scaledTotalAmount, scaledAmountBurned, normalizedAmountPaid, normalizedTotalAmount, lastScaleFactor, paymentsCount, lastUpdatedTimestamp, totalInterestEarned, payments = [], withdrawals = [], executions = [], requests = []) {
|
|
15
17
|
this.market = market;
|
|
16
18
|
this.expiry = expiry;
|
|
17
19
|
this.status = status;
|
|
@@ -19,6 +21,38 @@ class WithdrawalBatch {
|
|
|
19
21
|
this.scaledAmountBurned = scaledAmountBurned;
|
|
20
22
|
this.normalizedAmountPaid = normalizedAmountPaid;
|
|
21
23
|
this.normalizedTotalAmount = normalizedTotalAmount;
|
|
24
|
+
this.lastScaleFactor = lastScaleFactor;
|
|
25
|
+
this.paymentsCount = paymentsCount;
|
|
26
|
+
this.lastUpdatedTimestamp = lastUpdatedTimestamp;
|
|
27
|
+
this.totalInterestEarned = totalInterestEarned;
|
|
28
|
+
this.payments = payments;
|
|
29
|
+
this.executions = executions;
|
|
30
|
+
this.requests = requests;
|
|
31
|
+
this.withdrawals = [];
|
|
32
|
+
this.withdrawals = withdrawals.map((w) => withdrawal_status_1.LenderWithdrawalStatus.fromSubgraphLenderWithdrawalStatus(market, this, w, w.account.address));
|
|
33
|
+
}
|
|
34
|
+
calculateBatchInterestEarned() {
|
|
35
|
+
if (!this.lastScaleFactor)
|
|
36
|
+
return ethers_1.BigNumber.from(0);
|
|
37
|
+
const scaledAmountOwed = this.scaledTotalAmount.sub(this.scaledAmountBurned);
|
|
38
|
+
if (scaledAmountOwed.eq(0) || this.lastScaleFactor?.eq(this.market.scaleFactor)) {
|
|
39
|
+
return ethers_1.BigNumber.from(0);
|
|
40
|
+
}
|
|
41
|
+
const lastBalance = (0, utils_1.rayMul)(scaledAmountOwed, this.lastScaleFactor);
|
|
42
|
+
const currentBalance = (0, utils_1.rayMul)(scaledAmountOwed, this.market.scaleFactor);
|
|
43
|
+
return currentBalance.sub(lastBalance);
|
|
44
|
+
}
|
|
45
|
+
processWithdrawalBatchInterestAccrued() {
|
|
46
|
+
if (!this.lastScaleFactor || !this.totalInterestEarned)
|
|
47
|
+
return;
|
|
48
|
+
if (!this.lastScaleFactor.eq(this.market.scaleFactor)) {
|
|
49
|
+
const interestEarned = this.calculateBatchInterestEarned();
|
|
50
|
+
this.lastScaleFactor = this.market.scaleFactor;
|
|
51
|
+
this.totalInterestEarned = this.totalInterestEarned.add(interestEarned);
|
|
52
|
+
}
|
|
53
|
+
if (this.lastUpdatedTimestamp != this.market.lastInterestAccruedTimestamp) {
|
|
54
|
+
this.lastUpdatedTimestamp = this.market.lastInterestAccruedTimestamp;
|
|
55
|
+
}
|
|
22
56
|
}
|
|
23
57
|
get isClosed() {
|
|
24
58
|
return this.scaledAmountBurned.eq(this.scaledTotalAmount);
|
|
@@ -29,11 +63,46 @@ class WithdrawalBatch {
|
|
|
29
63
|
get normalizedAmountOwed() {
|
|
30
64
|
return this.normalizedTotalAmount.sub(this.normalizedAmountPaid);
|
|
31
65
|
}
|
|
66
|
+
applyLensUpdate(data) {
|
|
67
|
+
this.scaledTotalAmount = data.scaledTotalAmount;
|
|
68
|
+
this.scaledAmountBurned = data.scaledAmountBurned;
|
|
69
|
+
this.normalizedAmountPaid = this.market.underlyingToken.getAmount(data.normalizedAmountPaid);
|
|
70
|
+
this.normalizedTotalAmount = this.market.underlyingToken.getAmount(data.normalizedTotalAmount);
|
|
71
|
+
this.status =
|
|
72
|
+
this.expiry > Math.floor(Date.now() / 1000)
|
|
73
|
+
? BatchStatus.Pending
|
|
74
|
+
: this.scaledAmountBurned.eq(this.scaledTotalAmount)
|
|
75
|
+
? BatchStatus.Complete
|
|
76
|
+
: BatchStatus.Unpaid;
|
|
77
|
+
this.processWithdrawalBatchInterestAccrued();
|
|
78
|
+
}
|
|
32
79
|
static fromWithdrawalBatchData(market, data) {
|
|
33
80
|
return new WithdrawalBatch(market, data.expiry, data.status, data.scaledTotalAmount, data.scaledAmountBurned, market.underlyingToken.getAmount(data.normalizedAmountPaid), market.underlyingToken.getAmount(data.normalizedTotalAmount));
|
|
34
81
|
}
|
|
35
|
-
|
|
36
|
-
|
|
82
|
+
static fromSubgraphWithdrawalBatch(market, batch) {
|
|
83
|
+
const scaledTotalAmount = ethers_1.BigNumber.from(batch.scaledTotalAmount);
|
|
84
|
+
const scaledAmountBurned = ethers_1.BigNumber.from(batch.scaledAmountBurned);
|
|
85
|
+
const normalizedAmountPaid = market.underlyingToken.getAmount(batch.normalizedAmountPaid);
|
|
86
|
+
const expiry = +batch.expiry;
|
|
87
|
+
const status = expiry > Math.floor(Date.now() / 1000)
|
|
88
|
+
? BatchStatus.Pending
|
|
89
|
+
: scaledAmountBurned.eq(scaledTotalAmount)
|
|
90
|
+
? BatchStatus.Complete
|
|
91
|
+
: BatchStatus.Unpaid;
|
|
92
|
+
let scaledAmountOwed;
|
|
93
|
+
let normalizedAmountOwed;
|
|
94
|
+
let normalizedTotalAmount;
|
|
95
|
+
if (!scaledAmountBurned.eq(scaledTotalAmount)) {
|
|
96
|
+
scaledAmountOwed = scaledTotalAmount.sub(scaledAmountBurned);
|
|
97
|
+
normalizedAmountOwed = market.underlyingToken.getAmount((0, utils_1.rayMul)(scaledAmountOwed, market.scaleFactor));
|
|
98
|
+
normalizedTotalAmount = normalizedAmountPaid.add(normalizedAmountOwed);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
scaledAmountOwed = ethers_1.BigNumber.from(0);
|
|
102
|
+
normalizedAmountOwed = market.underlyingToken.getAmount(0);
|
|
103
|
+
normalizedTotalAmount = normalizedAmountPaid;
|
|
104
|
+
}
|
|
105
|
+
return new WithdrawalBatch(market, expiry, status, scaledTotalAmount, scaledAmountBurned, normalizedAmountPaid, normalizedTotalAmount, ethers_1.BigNumber.from(batch.lastScaleFactor), batch.paymentsCount, batch.lastUpdatedTimestamp, market.underlyingToken.getAmount(batch.totalInterestEarned), batch.payments || undefined, batch.withdrawals || undefined, batch.executions || undefined, batch.requests || undefined);
|
|
37
106
|
}
|
|
38
107
|
static async getWithdrawalBatch(market, expiry) {
|
|
39
108
|
const lens = (0, constants_1.getLensContract)(market.provider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawal-batch.js","sourceRoot":"","sources":["../src/withdrawal-batch.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"withdrawal-batch.js","sourceRoot":"","sources":["../src/withdrawal-batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,9 @@
|
|
|
1
1
|
import { BigNumber, ContractTransaction } from "ethers";
|
|
2
2
|
import { Market } from "./market";
|
|
3
|
-
import {
|
|
3
|
+
import { TokenAmount } from "./token";
|
|
4
4
|
import { WithdrawalBatchLenderStatusStructOutput, WithdrawalBatchDataWithLenderStatusStructOutput } from "./typechain";
|
|
5
|
-
import { WithdrawalQueuedEvent } from "./typechain/WildcatMarket";
|
|
6
5
|
import { WithdrawalBatch, BatchStatus } from "./withdrawal-batch";
|
|
7
|
-
|
|
8
|
-
expiry: number;
|
|
9
|
-
lender: string;
|
|
10
|
-
market: string;
|
|
11
|
-
scaledAmount: BigNumber;
|
|
12
|
-
originalAmount: TokenAmount;
|
|
13
|
-
transactionHash: string;
|
|
14
|
-
blockNumber: number;
|
|
15
|
-
};
|
|
16
|
-
export type WithdrawalExecutionTransaction = {
|
|
17
|
-
expiry: number;
|
|
18
|
-
lender: string;
|
|
19
|
-
market: string;
|
|
20
|
-
transactionHash: string;
|
|
21
|
-
blockNumber: number;
|
|
22
|
-
normalizedAmountWithdrawn: TokenAmount;
|
|
23
|
-
};
|
|
24
|
-
export type WithdrawalTransactions = {
|
|
25
|
-
queueTransactions: QueueWithdrawalTransaction[];
|
|
26
|
-
executionTransactions: WithdrawalExecutionTransaction[];
|
|
27
|
-
};
|
|
6
|
+
import { SubgraphLenderWithdrawalPropertiesFragment, SubgraphWithdrawalExecution, SubgraphWithdrawalRequest } from "./gql/graphql";
|
|
28
7
|
export declare class LenderWithdrawalStatus {
|
|
29
8
|
batch: WithdrawalBatch;
|
|
30
9
|
lender: string;
|
|
@@ -32,22 +11,20 @@ export declare class LenderWithdrawalStatus {
|
|
|
32
11
|
normalizedAmountWithdrawn: TokenAmount;
|
|
33
12
|
normalizedAmountOwed: TokenAmount;
|
|
34
13
|
availableWithdrawalAmount: TokenAmount;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
constructor(batch: WithdrawalBatch, lender: string, scaledAmount: BigNumber, normalizedAmountWithdrawn: TokenAmount, normalizedAmountOwed: TokenAmount, availableWithdrawalAmount: TokenAmount,
|
|
14
|
+
requests: SubgraphWithdrawalRequest[];
|
|
15
|
+
executions: SubgraphWithdrawalExecution[];
|
|
16
|
+
constructor(batch: WithdrawalBatch, lender: string, scaledAmount: BigNumber, normalizedAmountWithdrawn: TokenAmount, normalizedAmountOwed: TokenAmount, availableWithdrawalAmount: TokenAmount, requests?: SubgraphWithdrawalRequest[], executions?: SubgraphWithdrawalExecution[]);
|
|
38
17
|
execute(): Promise<ContractTransaction>;
|
|
39
|
-
get originalAmount(): TokenAmount;
|
|
40
18
|
get expiry(): number;
|
|
41
19
|
get market(): Market;
|
|
42
20
|
get status(): BatchStatus;
|
|
43
21
|
updateWith(data: WithdrawalBatchLenderStatusStructOutput): void;
|
|
44
|
-
static
|
|
45
|
-
|
|
46
|
-
|
|
22
|
+
static fromSubgraphLenderWithdrawalStatus(market: Market, batch: WithdrawalBatch, status: SubgraphLenderWithdrawalPropertiesFragment & {
|
|
23
|
+
requests?: SubgraphWithdrawalRequest[];
|
|
24
|
+
executions?: SubgraphWithdrawalExecution[];
|
|
25
|
+
}, address?: string): LenderWithdrawalStatus;
|
|
47
26
|
static getWithdrawalForLender(market: Market, expiry: number, lender: string): Promise<LenderWithdrawalStatus>;
|
|
48
27
|
static fromWithdrawalBatchLenderStatus(market: Market, batch: WithdrawalBatch, data: WithdrawalBatchLenderStatusStructOutput): LenderWithdrawalStatus;
|
|
49
28
|
static fromWithdrawalBatchDataWithLenderStatus(market: Market, data: WithdrawalBatchDataWithLenderStatusStructOutput): LenderWithdrawalStatus;
|
|
50
29
|
}
|
|
51
|
-
export declare function getAllWithdrawalTransactions(market: Market, _expiries: number | null | number[], lenders: string | null | string[]): Promise<WithdrawalTransactions>;
|
|
52
|
-
export declare const toQueueWithdrawalTransaction: (underlyingToken: Token, log: WithdrawalQueuedEvent) => QueueWithdrawalTransaction;
|
|
53
30
|
//# sourceMappingURL=withdrawal-status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawal-status.d.ts","sourceRoot":"","sources":["../src/withdrawal-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"withdrawal-status.d.ts","sourceRoot":"","sources":["../src/withdrawal-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAS,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EACL,uCAAuC,EACvC,+CAA+C,EAChD,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEL,0CAA0C,EAE1C,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAEvB,qBAAa,sBAAsB;IAExB,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,SAAS;IACvB,yBAAyB,EAAE,WAAW;IACtC,oBAAoB,EAAE,WAAW;IACjC,yBAAyB,EAAE,WAAW;IACtC,QAAQ,EAAE,yBAAyB,EAAE;IACrC,UAAU,EAAE,2BAA2B,EAAE;gBAPzC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,EACvB,yBAAyB,EAAE,WAAW,EACtC,oBAAoB,EAAE,WAAW,EACjC,yBAAyB,EAAE,WAAW,EACtC,QAAQ,GAAE,yBAAyB,EAAO,EAC1C,UAAU,GAAE,2BAA2B,EAAO;IAGjD,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK7C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,UAAU,CAAC,IAAI,EAAE,uCAAuC,GAAG,IAAI;IAW/D,MAAM,CAAC,kCAAkC,CACvC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,0CAA0C,GAAG;QACnD,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;QACvC,UAAU,CAAC,EAAE,2BAA2B,EAAE,CAAC;KAC5C,EACD,OAAO,CAAC,EAAE,MAAM,GACf,sBAAsB;WA4BZ,sBAAsB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC;IAelC,MAAM,CAAC,+BAA+B,CACpC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,uCAAuC,GAC5C,sBAAsB;IAWzB,MAAM,CAAC,uCAAuC,CAC5C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,+CAA+C,GACpD,sBAAsB;CAO1B"}
|
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.LenderWithdrawalStatus = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
4
5
|
const constants_1 = require("./constants");
|
|
5
6
|
const utils_1 = require("./utils");
|
|
6
7
|
const withdrawal_batch_1 = require("./withdrawal-batch");
|
|
7
8
|
class LenderWithdrawalStatus {
|
|
8
|
-
constructor(batch, lender, scaledAmount, normalizedAmountWithdrawn, normalizedAmountOwed, availableWithdrawalAmount,
|
|
9
|
+
constructor(batch, lender, scaledAmount, normalizedAmountWithdrawn, normalizedAmountOwed, availableWithdrawalAmount, requests = [], executions = []) {
|
|
9
10
|
this.batch = batch;
|
|
10
11
|
this.lender = lender;
|
|
11
12
|
this.scaledAmount = scaledAmount;
|
|
12
13
|
this.normalizedAmountWithdrawn = normalizedAmountWithdrawn;
|
|
13
14
|
this.normalizedAmountOwed = normalizedAmountOwed;
|
|
14
15
|
this.availableWithdrawalAmount = availableWithdrawalAmount;
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
16
|
+
this.requests = requests;
|
|
17
|
+
this.executions = executions;
|
|
17
18
|
}
|
|
18
19
|
async execute() {
|
|
19
20
|
(0, utils_1.assert)(this.availableWithdrawalAmount.gt(0), "No funds available to withdraw");
|
|
20
21
|
return this.market.contract.executeWithdrawal(this.lender, this.expiry);
|
|
21
22
|
}
|
|
22
|
-
get originalAmount() {
|
|
23
|
-
return this.queueTransactions.reduce((prev, next) => prev.add(next.originalAmount), this.batch.market.underlyingToken.getAmount(0));
|
|
24
|
-
}
|
|
25
23
|
get expiry() {
|
|
26
24
|
return this.batch.expiry;
|
|
27
25
|
}
|
|
@@ -37,89 +35,12 @@ class LenderWithdrawalStatus {
|
|
|
37
35
|
this.normalizedAmountOwed = this.market.underlyingToken.getAmount(data.normalizedAmountOwed);
|
|
38
36
|
this.availableWithdrawalAmount = this.market.underlyingToken.getAmount(data.availableWithdrawalAmount);
|
|
39
37
|
}
|
|
40
|
-
static
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
const { queueTransactions, executionTransactions } = await getAllWithdrawalTransactions(market, (0, utils_1.unique)(withdrawals.map((w) => w.expiry)), (0, utils_1.unique)(withdrawals.map((w) => w.lender)));
|
|
48
|
-
for (const withdrawal of withdrawals) {
|
|
49
|
-
withdrawal.queueTransactions = queueTransactions.filter((l) => l.expiry == withdrawal.expiry && l.lender === withdrawal.lender);
|
|
50
|
-
withdrawal.executionTransactions = executionTransactions.filter((l) => l.expiry == withdrawal.expiry && l.lender === withdrawal.lender);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
static async getAllWithdrawalsInBatch(market, expiry) {
|
|
54
|
-
const { queueTransactions, executionTransactions } = await getAllWithdrawalTransactions(market, expiry, null);
|
|
55
|
-
const uniqueLenderWithdrawalStatuses = {};
|
|
56
|
-
queueTransactions.forEach((l) => {
|
|
57
|
-
if (!uniqueLenderWithdrawalStatuses[l.lender]) {
|
|
58
|
-
uniqueLenderWithdrawalStatuses[l.lender] = {
|
|
59
|
-
queueTransactions: [],
|
|
60
|
-
executionTransactions: []
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
uniqueLenderWithdrawalStatuses[l.lender].queueTransactions.push(l);
|
|
64
|
-
});
|
|
65
|
-
executionTransactions.forEach((l) => {
|
|
66
|
-
if (!uniqueLenderWithdrawalStatuses[l.lender]) {
|
|
67
|
-
uniqueLenderWithdrawalStatuses[l.lender] = {
|
|
68
|
-
queueTransactions: [],
|
|
69
|
-
executionTransactions: []
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
uniqueLenderWithdrawalStatuses[l.lender].executionTransactions.push(l);
|
|
73
|
-
});
|
|
74
|
-
const lenders = Object.keys(uniqueLenderWithdrawalStatuses);
|
|
75
|
-
const lens = (0, constants_1.getLensContract)(market.provider);
|
|
76
|
-
const batchData = await lens.getWithdrawalBatchDataWithLendersStatus(market.address, expiry, lenders);
|
|
77
|
-
const batch = withdrawal_batch_1.WithdrawalBatch.fromWithdrawalBatchData(market, batchData.batch);
|
|
78
|
-
return batchData.statuses.map((status) => {
|
|
79
|
-
const { queueTransactions, executionTransactions } = uniqueLenderWithdrawalStatuses[status.lender];
|
|
80
|
-
const withdrawalStatus = LenderWithdrawalStatus.fromWithdrawalBatchLenderStatus(market, batch, status);
|
|
81
|
-
withdrawalStatus.queueTransactions = queueTransactions;
|
|
82
|
-
withdrawalStatus.executionTransactions = executionTransactions;
|
|
83
|
-
return withdrawalStatus;
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
static async getAllWithdrawalsForLender(market, lender) {
|
|
87
|
-
const { queueTransactions, executionTransactions } = await getAllWithdrawalTransactions(market, null, lender);
|
|
88
|
-
const logsByExpiry = {};
|
|
89
|
-
for (const log of queueTransactions) {
|
|
90
|
-
if (!logsByExpiry[log.expiry]) {
|
|
91
|
-
logsByExpiry[log.expiry] = {
|
|
92
|
-
queueTransactions: [],
|
|
93
|
-
executionTransactions: []
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
logsByExpiry[log.expiry].queueTransactions.push(log);
|
|
97
|
-
}
|
|
98
|
-
for (const log of executionTransactions) {
|
|
99
|
-
if (!logsByExpiry[log.expiry]) {
|
|
100
|
-
logsByExpiry[log.expiry] = {
|
|
101
|
-
queueTransactions: [],
|
|
102
|
-
executionTransactions: []
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
logsByExpiry[log.expiry].executionTransactions.push(log);
|
|
106
|
-
}
|
|
107
|
-
const expiries = (0, utils_1.unique)([
|
|
108
|
-
...queueTransactions.map((l) => l.expiry),
|
|
109
|
-
...executionTransactions.map((l) => l.expiry)
|
|
110
|
-
]);
|
|
111
|
-
const lens = (0, constants_1.getLensContract)(market.provider);
|
|
112
|
-
const batchData = await lens.getWithdrawalBatchesDataWithLenderStatus(market.address, expiries, lender);
|
|
113
|
-
return batchData.map((d) => {
|
|
114
|
-
const batch = LenderWithdrawalStatus.fromWithdrawalBatchDataWithLenderStatus(market, d);
|
|
115
|
-
const { queueTransactions, executionTransactions } = logsByExpiry[d.batch.expiry];
|
|
116
|
-
if (!queueTransactions) {
|
|
117
|
-
throw new Error(`Could not find queueTransactions for batch ${batch.expiry}`);
|
|
118
|
-
}
|
|
119
|
-
batch.queueTransactions = queueTransactions;
|
|
120
|
-
batch.executionTransactions = executionTransactions;
|
|
121
|
-
return batch;
|
|
122
|
-
});
|
|
38
|
+
static fromSubgraphLenderWithdrawalStatus(market, batch, status, address) {
|
|
39
|
+
const scaledAmount = ethers_1.BigNumber.from(status.scaledAmount);
|
|
40
|
+
const normalizedAmountWithdrawn = market.underlyingToken.getAmount(status.normalizedAmountWithdrawn);
|
|
41
|
+
const normalizedAmountOwed = market.underlyingToken.getAmount((0, utils_1.mulDiv)(batch.normalizedTotalAmount.raw, scaledAmount, batch.scaledTotalAmount).sub(normalizedAmountWithdrawn.raw));
|
|
42
|
+
const availableWithdrawalAmount = market.underlyingToken.getAmount((0, utils_1.mulDiv)(batch.normalizedAmountPaid.raw, scaledAmount, batch.scaledTotalAmount).sub(normalizedAmountWithdrawn.raw));
|
|
43
|
+
return new LenderWithdrawalStatus(batch, address ?? status.account.address, scaledAmount, normalizedAmountWithdrawn, normalizedAmountOwed, availableWithdrawalAmount, status.requests || undefined, status.executions || undefined);
|
|
123
44
|
}
|
|
124
45
|
static async getWithdrawalForLender(market, expiry, lender) {
|
|
125
46
|
const lens = (0, constants_1.getLensContract)(market.provider);
|
|
@@ -135,53 +56,4 @@ class LenderWithdrawalStatus {
|
|
|
135
56
|
}
|
|
136
57
|
}
|
|
137
58
|
exports.LenderWithdrawalStatus = LenderWithdrawalStatus;
|
|
138
|
-
async function getAllWithdrawalTransactions(market, _expiries, lenders) {
|
|
139
|
-
const queuedTopic = market.contract.interface.getEventTopic("WithdrawalQueued");
|
|
140
|
-
const executedTopic = market.contract.interface.getEventTopic("WithdrawalExecuted");
|
|
141
|
-
const topic0 = [queuedTopic, executedTopic];
|
|
142
|
-
const expiries = Array.isArray(_expiries) ? _expiries.map(utils_1.encodeUint) : _expiries;
|
|
143
|
-
lenders = Array.isArray(lenders) ? lenders.map(utils_1.encodeAddress) : lenders;
|
|
144
|
-
const topics = [topic0, expiries, lenders];
|
|
145
|
-
const logs = await market.contract.queryFilter({
|
|
146
|
-
address: market.address,
|
|
147
|
-
topics: topics
|
|
148
|
-
}, constants_1.DeploymentBlockNumber);
|
|
149
|
-
return logs.reduce((prev, log) => {
|
|
150
|
-
const tx = {
|
|
151
|
-
transactionHash: log.transactionHash,
|
|
152
|
-
blockNumber: log.blockNumber,
|
|
153
|
-
expiry: log.args.expiry.toNumber(),
|
|
154
|
-
lender: log.args.account,
|
|
155
|
-
market: log.address
|
|
156
|
-
};
|
|
157
|
-
if (log.topics[0] === queuedTopic) {
|
|
158
|
-
prev.queueTransactions.push({
|
|
159
|
-
...tx,
|
|
160
|
-
scaledAmount: log.args.scaledAmount,
|
|
161
|
-
originalAmount: market.underlyingToken.getAmount(log.args.normalizedAmount)
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
prev.executionTransactions.push({
|
|
166
|
-
...tx,
|
|
167
|
-
normalizedAmountWithdrawn: market.underlyingToken.getAmount(log.args.normalizedAmount)
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
return prev;
|
|
171
|
-
}, {
|
|
172
|
-
queueTransactions: [],
|
|
173
|
-
executionTransactions: []
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
exports.getAllWithdrawalTransactions = getAllWithdrawalTransactions;
|
|
177
|
-
const toQueueWithdrawalTransaction = (underlyingToken, log) => ({
|
|
178
|
-
transactionHash: log.transactionHash,
|
|
179
|
-
blockNumber: log.blockNumber,
|
|
180
|
-
expiry: log.args.expiry.toNumber(),
|
|
181
|
-
lender: log.args.account,
|
|
182
|
-
market: log.address,
|
|
183
|
-
scaledAmount: log.args.scaledAmount,
|
|
184
|
-
originalAmount: underlyingToken.getAmount(log.args.normalizedAmount)
|
|
185
|
-
});
|
|
186
|
-
exports.toQueueWithdrawalTransaction = toQueueWithdrawalTransaction;
|
|
187
59
|
//# sourceMappingURL=withdrawal-status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawal-status.js","sourceRoot":"","sources":["../src/withdrawal-status.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"withdrawal-status.js","sourceRoot":"","sources":["../src/withdrawal-status.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wildcatfi/wildcat-sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -8,13 +8,23 @@
|
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
10
10
|
"devDependencies": {
|
|
11
|
+
"@graphql-codegen/cli": "^5.0.0",
|
|
12
|
+
"@graphql-codegen/typescript": "^4.0.1",
|
|
13
|
+
"@graphql-codegen/typescript-operations": "^4.0.1",
|
|
14
|
+
"@graphql-codegen/typescript-react-apollo": "^4.1.0",
|
|
11
15
|
"@nomicfoundation/hardhat-chai-matchers": "^1.0.5",
|
|
12
16
|
"@nomiclabs/hardhat-ethers": "^2.2.3",
|
|
17
|
+
"@testing-library/jest-dom": "^5.17.0",
|
|
18
|
+
"@testing-library/react": "^13.4.0",
|
|
19
|
+
"@testing-library/user-event": "^13.5.0",
|
|
13
20
|
"@typechain/ethers-v5": "^10.2.1",
|
|
14
21
|
"@typechain/hardhat": "^9.1.0",
|
|
15
22
|
"@types/chai": "^4.3.5",
|
|
16
23
|
"@types/dotenv": "^8.2.0",
|
|
17
|
-
"@types/mocha": "^10.0.
|
|
24
|
+
"@types/mocha": "^10.0.4",
|
|
25
|
+
"@types/node": "^16.18.59",
|
|
26
|
+
"@types/react": "^18.2.33",
|
|
27
|
+
"@types/react-dom": "^18.2.14",
|
|
18
28
|
"@typescript-eslint/eslint-plugin": "^5.59.11",
|
|
19
29
|
"@typescript-eslint/parser": "^5.59.11",
|
|
20
30
|
"chai": "^4.3.7",
|
|
@@ -23,21 +33,30 @@
|
|
|
23
33
|
"eslint-config-prettier": "^8.8.0",
|
|
24
34
|
"eslint-plugin-prettier": "^4.2.1",
|
|
25
35
|
"hardhat": "^2.13.0",
|
|
26
|
-
"mocha": "^10.2.0",
|
|
27
36
|
"prettier": "^2.8.8",
|
|
37
|
+
"ts-morph": "^20.0.0",
|
|
28
38
|
"ts-node": "^10.9.1",
|
|
29
39
|
"typechain": "^8.1.1",
|
|
30
40
|
"typescript": "^5.0.4"
|
|
31
41
|
},
|
|
32
42
|
"dependencies": {
|
|
33
|
-
"
|
|
43
|
+
"@apollo/client": "^3.8.6",
|
|
44
|
+
"@tanstack/react-query": "^5.8.1",
|
|
45
|
+
"@types/jest": "^29.5.8",
|
|
46
|
+
"ethers": "^5.5.3",
|
|
47
|
+
"graphql": "^16.8.1",
|
|
48
|
+
"react": "^18.2.0",
|
|
49
|
+
"react-dom": "^18.2.0",
|
|
50
|
+
"react-scripts": "5.0.1"
|
|
34
51
|
},
|
|
35
52
|
"scripts": {
|
|
36
|
-
"typechain": "rm -rf typechain cache src/typechain; hardhat compile; cp -r typechain src/typechain; node ./typechain-imports.js",
|
|
37
|
-
"clean": "rm -rf dist",
|
|
38
53
|
"build": "npm run clean && tsc -p ./tsconfig.prod.json",
|
|
54
|
+
"clean": "rm -rf dist",
|
|
55
|
+
"codegen": "graphql-codegen && node ./scripts/type-cleanup.js && eslint src/gql/ --ext=ts --fix",
|
|
39
56
|
"lint": "eslint src/ test/ --ext=ts",
|
|
40
57
|
"lint:fix": "eslint src/ test/ --ext=ts --fix",
|
|
41
|
-
"prepublishOnly": "yarn build"
|
|
58
|
+
"prepublishOnly": "yarn build",
|
|
59
|
+
"test": "react-scripts test",
|
|
60
|
+
"typechain": "rm -rf typechain cache src/typechain; hardhat compile; cp -r typechain src/typechain; node ./typechain-imports.js"
|
|
42
61
|
}
|
|
43
62
|
}
|