@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.
Files changed (69) hide show
  1. package/dist/account.d.ts +12 -2
  2. package/dist/account.d.ts.map +1 -1
  3. package/dist/account.js +54 -3
  4. package/dist/account.js.map +1 -1
  5. package/dist/constants.d.ts +3 -0
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +7 -1
  8. package/dist/constants.js.map +1 -1
  9. package/dist/gql/graphql.d.ts +7938 -0
  10. package/dist/gql/graphql.d.ts.map +1 -0
  11. package/dist/gql/graphql.js +2437 -0
  12. package/dist/gql/graphql.js.map +1 -0
  13. package/dist/hooks/index.d.ts +7 -0
  14. package/dist/hooks/index.d.ts.map +1 -0
  15. package/dist/hooks/index.js +23 -0
  16. package/dist/hooks/index.js.map +1 -0
  17. package/dist/hooks/types.d.ts +14 -0
  18. package/dist/hooks/types.d.ts.map +1 -0
  19. package/dist/hooks/types.js +3 -0
  20. package/dist/hooks/types.js.map +1 -0
  21. package/dist/hooks/useAccountsWhereLenderAuthorizedOrActive.d.ts +24 -0
  22. package/dist/hooks/useAccountsWhereLenderAuthorizedOrActive.d.ts.map +1 -0
  23. package/dist/hooks/useAccountsWhereLenderAuthorizedOrActive.js +72 -0
  24. package/dist/hooks/useAccountsWhereLenderAuthorizedOrActive.js.map +1 -0
  25. package/dist/hooks/useAllPendingWithdrawalBatchesForMarket.d.ts +7 -0
  26. package/dist/hooks/useAllPendingWithdrawalBatchesForMarket.d.ts.map +1 -0
  27. package/dist/hooks/useAllPendingWithdrawalBatchesForMarket.js +68 -0
  28. package/dist/hooks/useAllPendingWithdrawalBatchesForMarket.js.map +1 -0
  29. package/dist/hooks/useLenderWithdrawalsForMarket.d.ts +13 -0
  30. package/dist/hooks/useLenderWithdrawalsForMarket.d.ts.map +1 -0
  31. package/dist/hooks/useLenderWithdrawalsForMarket.js +84 -0
  32. package/dist/hooks/useLenderWithdrawalsForMarket.js.map +1 -0
  33. package/dist/hooks/useMarket.d.ts +10 -0
  34. package/dist/hooks/useMarket.d.ts.map +1 -0
  35. package/dist/hooks/useMarket.js +17 -0
  36. package/dist/hooks/useMarket.js.map +1 -0
  37. package/dist/hooks/useMarketsForBorrower.d.ts +10 -0
  38. package/dist/hooks/useMarketsForBorrower.d.ts.map +1 -0
  39. package/dist/hooks/useMarketsForBorrower.js +60 -0
  40. package/dist/hooks/useMarketsForBorrower.js.map +1 -0
  41. package/dist/index.d.ts +2 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +3 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/market.d.ts +27 -4
  46. package/dist/market.d.ts.map +1 -1
  47. package/dist/market.js +46 -10
  48. package/dist/market.js.map +1 -1
  49. package/dist/token.d.ts +3 -0
  50. package/dist/token.d.ts.map +1 -1
  51. package/dist/token.js +6 -0
  52. package/dist/token.js.map +1 -1
  53. package/dist/utils/logger.d.ts +10 -0
  54. package/dist/utils/logger.d.ts.map +1 -0
  55. package/dist/utils/logger.js +34 -0
  56. package/dist/utils/logger.js.map +1 -0
  57. package/dist/utils/math.d.ts +1 -0
  58. package/dist/utils/math.d.ts.map +1 -1
  59. package/dist/utils/math.js +10 -1
  60. package/dist/utils/math.js.map +1 -1
  61. package/dist/withdrawal-batch.d.ts +14 -2
  62. package/dist/withdrawal-batch.d.ts.map +1 -1
  63. package/dist/withdrawal-batch.js +72 -3
  64. package/dist/withdrawal-batch.js.map +1 -1
  65. package/dist/withdrawal-status.d.ts +9 -32
  66. package/dist/withdrawal-status.d.ts.map +1 -1
  67. package/dist/withdrawal-status.js +11 -139
  68. package/dist/withdrawal-status.js.map +1 -1
  69. package/package.json +26 -7
@@ -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
- async getAllLenderWithdrawalStatuses() {
36
- return withdrawal_status_1.LenderWithdrawalStatus.getAllWithdrawalsInBatch(this.market, this.expiry);
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":";;;AAIA,2CAA8C;AAC9C,2DAA6D;AAE7D,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,iDAAU,CAAA;IACV,qDAAY,CAAA;AACd,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED,MAAa,eAAe;IAC1B,YACS,MAAc,EACd,MAAc,EACd,MAAmB,EACnB,iBAA4B,EAC5B,kBAA6B,EAC7B,oBAAiC,EACjC,qBAAkC;QANlC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAa;QACnB,sBAAiB,GAAjB,iBAAiB,CAAW;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAW;QAC7B,yBAAoB,GAApB,oBAAoB,CAAa;QACjC,0BAAqB,GAArB,qBAAqB,CAAa;IACxC,CAAC;IAEJ,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,uBAAuB,CAC5B,MAAc,EACd,IAAqC;QAErC,OAAO,IAAI,eAAe,CACxB,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,kBAAkB,EACvB,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAC3D,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,8BAA8B;QAClC,OAAO,0CAAsB,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,MAAc;QAC5D,MAAM,IAAI,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO,eAAe,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;CACF;AA/CD,0CA+CC"}
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 { Token, TokenAmount } from "./token";
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
- export type QueueWithdrawalTransaction = {
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
- queueTransactions: QueueWithdrawalTransaction[];
36
- executionTransactions: WithdrawalExecutionTransaction[];
37
- constructor(batch: WithdrawalBatch, lender: string, scaledAmount: BigNumber, normalizedAmountWithdrawn: TokenAmount, normalizedAmountOwed: TokenAmount, availableWithdrawalAmount: TokenAmount, queueTransactions?: QueueWithdrawalTransaction[], executionTransactions?: WithdrawalExecutionTransaction[]);
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 addTransactionsToWithdrawals(withdrawals: LenderWithdrawalStatus[]): Promise<void>;
45
- static getAllWithdrawalsInBatch(market: Market, expiry: number): Promise<LenderWithdrawalStatus[]>;
46
- static getAllWithdrawalsForLender(market: Market, lender: string): Promise<LenderWithdrawalStatus[]>;
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":"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"}
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.toQueueWithdrawalTransaction = exports.getAllWithdrawalTransactions = exports.LenderWithdrawalStatus = void 0;
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, queueTransactions = [], executionTransactions = []) {
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.queueTransactions = queueTransactions;
16
- this.executionTransactions = executionTransactions;
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 async addTransactionsToWithdrawals(withdrawals) {
41
- if (withdrawals.length === 0)
42
- return;
43
- const market = withdrawals[0].market;
44
- if (!withdrawals.every((w) => w.market.address === market.address)) {
45
- throw new Error("All withdrawals must be from the same market");
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":"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"}
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",
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.1",
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
- "ethers": "^5.5.3"
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
  }