@wildcatfi/wildcat-sdk 2.0.67 → 2.0.69

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 (72) hide show
  1. package/dist/account.d.ts +14 -2
  2. package/dist/account.d.ts.map +1 -1
  3. package/dist/account.js +33 -4
  4. package/dist/account.js.map +1 -1
  5. package/dist/controller.d.ts +1 -2
  6. package/dist/controller.d.ts.map +1 -1
  7. package/dist/controller.js.map +1 -1
  8. package/dist/gql/getMarketRecords.d.ts +3 -2
  9. package/dist/gql/getMarketRecords.d.ts.map +1 -1
  10. package/dist/gql/getMarketRecords.js +4 -3
  11. package/dist/gql/getMarketRecords.js.map +1 -1
  12. package/dist/gql/graphql.d.ts +146 -146
  13. package/dist/gql/graphql.d.ts.map +1 -1
  14. package/dist/gql/graphql.js.map +1 -1
  15. package/dist/market.d.ts +1 -0
  16. package/dist/market.d.ts.map +1 -1
  17. package/dist/market.js +11 -6
  18. package/dist/market.js.map +1 -1
  19. package/dist/typechain/AccountsQuery.d.ts +54 -0
  20. package/dist/typechain/AccountsQuery.d.ts.map +1 -0
  21. package/dist/typechain/AccountsQuery.js +3 -0
  22. package/dist/typechain/AccountsQuery.js.map +1 -0
  23. package/dist/typechain/CheckSignatureValid.sol/CheckSafeSignature.d.ts +29 -0
  24. package/dist/typechain/CheckSignatureValid.sol/CheckSafeSignature.d.ts.map +1 -0
  25. package/dist/typechain/CheckSignatureValid.sol/CheckSafeSignature.js +3 -0
  26. package/dist/typechain/CheckSignatureValid.sol/CheckSafeSignature.js.map +1 -0
  27. package/dist/typechain/CheckSignatureValid.sol/index.d.ts +2 -0
  28. package/dist/typechain/CheckSignatureValid.sol/index.d.ts.map +1 -0
  29. package/dist/typechain/CheckSignatureValid.sol/index.js +3 -0
  30. package/dist/typechain/CheckSignatureValid.sol/index.js.map +1 -0
  31. package/dist/typechain/ISafe.d.ts +17 -1
  32. package/dist/typechain/ISafe.d.ts.map +1 -1
  33. package/dist/typechain/factories/AccountsQuery__factory.d.ts +59 -0
  34. package/dist/typechain/factories/AccountsQuery__factory.d.ts.map +1 -0
  35. package/dist/typechain/factories/AccountsQuery__factory.js +91 -0
  36. package/dist/typechain/factories/AccountsQuery__factory.js.map +1 -0
  37. package/dist/typechain/factories/CheckSignatureValid.sol/CheckSafeSignature__factory.d.ts +40 -0
  38. package/dist/typechain/factories/CheckSignatureValid.sol/CheckSafeSignature__factory.d.ts.map +1 -0
  39. package/dist/typechain/factories/CheckSignatureValid.sol/CheckSafeSignature__factory.js +65 -0
  40. package/dist/typechain/factories/CheckSignatureValid.sol/CheckSafeSignature__factory.js.map +1 -0
  41. package/dist/typechain/factories/CheckSignatureValid.sol/index.d.ts +2 -0
  42. package/dist/typechain/factories/CheckSignatureValid.sol/index.d.ts.map +1 -0
  43. package/dist/typechain/factories/CheckSignatureValid.sol/index.js +9 -0
  44. package/dist/typechain/factories/CheckSignatureValid.sol/index.js.map +1 -0
  45. package/dist/typechain/factories/ISafe__factory.d.ts +32 -0
  46. package/dist/typechain/factories/ISafe__factory.d.ts.map +1 -1
  47. package/dist/typechain/factories/ISafe__factory.js +43 -0
  48. package/dist/typechain/factories/ISafe__factory.js.map +1 -1
  49. package/dist/typechain/factories/index.d.ts +2 -0
  50. package/dist/typechain/factories/index.d.ts.map +1 -1
  51. package/dist/typechain/factories/index.js +27 -1
  52. package/dist/typechain/factories/index.js.map +1 -1
  53. package/dist/typechain/index.d.ts +6 -0
  54. package/dist/typechain/index.d.ts.map +1 -1
  55. package/dist/typechain/index.js +5 -1
  56. package/dist/typechain/index.js.map +1 -1
  57. package/dist/types.d.ts +19 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/types.js.map +1 -1
  60. package/dist/utils/index.d.ts +1 -0
  61. package/dist/utils/index.d.ts.map +1 -1
  62. package/dist/utils/index.js +1 -0
  63. package/dist/utils/index.js.map +1 -1
  64. package/dist/utils/record-types.d.ts +88 -0
  65. package/dist/utils/record-types.d.ts.map +1 -0
  66. package/dist/utils/record-types.js +40 -0
  67. package/dist/utils/record-types.js.map +1 -0
  68. package/dist/utils/type-parsers.d.ts +6 -104
  69. package/dist/utils/type-parsers.d.ts.map +1 -1
  70. package/dist/utils/type-parsers.js +66 -109
  71. package/dist/utils/type-parsers.js.map +1 -1
  72. package/package.json +3 -1
package/dist/types.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Provider } from "@ethersproject/abstract-provider";
2
2
  import { Signer } from "@ethersproject/abstract-signer";
3
3
  import { BaseContract } from "ethers";
4
+ import { Token, TokenAmount } from "./token";
4
5
  export type SignerOrProvider = Signer | Provider;
5
6
  export { Provider, Signer };
6
7
  export declare abstract class ContractWrapper<Contract extends BaseContract> {
@@ -21,4 +22,22 @@ export type PartialTransaction = {
21
22
  data: string;
22
23
  value: string;
23
24
  };
25
+ export type FeeConfiguration = {
26
+ feeRecipient: string;
27
+ protocolFeeBips: number;
28
+ originationFeeToken: Token | undefined;
29
+ originationFeeAmount: TokenAmount | undefined;
30
+ };
31
+ export type MarketParameterConstraints = {
32
+ minimumDelinquencyGracePeriod: number;
33
+ maximumDelinquencyGracePeriod: number;
34
+ minimumReserveRatioBips: number;
35
+ maximumReserveRatioBips: number;
36
+ minimumDelinquencyFeeBips: number;
37
+ maximumDelinquencyFeeBips: number;
38
+ minimumWithdrawalBatchDuration: number;
39
+ maximumWithdrawalBatchDuration: number;
40
+ minimumAnnualInterestBips: number;
41
+ maximumAnnualInterestBips: number;
42
+ };
24
43
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,YAAY,EAAmC,MAAM,QAAQ,CAAC;AAGvE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAE5B,8BAAsB,eAAe,CAAC,QAAQ,SAAS,YAAY;IACrD,SAAS,CAAC,SAAS,EAAE,gBAAgB;gBAA3B,SAAS,EAAE,gBAAgB;IAEjD,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAE/B,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE;QACjC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;KACzE,CAAC;IAEF,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC;IAE/B,IAAI,MAAM,IAAI,MAAM,CAKnB;IAED,IAAI,QAAQ,IAAI,gBAAgB,CAE/B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAUtC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAKvB;CACF;AAKD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAE5B,8BAAsB,eAAe,CAAC,QAAQ,SAAS,YAAY;IACrD,SAAS,CAAC,SAAS,EAAE,gBAAgB;gBAA3B,SAAS,EAAE,gBAAgB;IAEjD,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAE/B,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE;QACjC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;KACzE,CAAC;IAEF,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC;IAE/B,IAAI,MAAM,IAAI,MAAM,CAKnB;IAED,IAAI,QAAQ,IAAI,gBAAgB,CAE/B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAUtC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAKvB;CACF;AAKD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,KAAK,GAAG,SAAS,CAAC;IACvC,oBAAoB,EAAE,WAAW,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,6BAA6B,EAAE,MAAM,CAAC;IACtC,6BAA6B,EAAE,MAAM,CAAC;IACtC,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,8BAA8B,EAAE,MAAM,CAAC;IACvC,8BAA8B,EAAE,MAAM,CAAC;IACvC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;CACnC,CAAC"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,wEAA4D;AAQnD,yFARA,4BAAQ,OAQA;AAPjB,oEAAwD;AAOrC,uFAPV,wBAAM,OAOU;AAEzB,MAAsB,eAAe;IACnC,YAAsB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAUrD,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,SAAS,YAAY,wBAAM,EAAE;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,QAA0B;QACrC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5E;QACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAI,QAAQ,YAAY,eAAe,EAAE;gBACvC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;aAC9B;SACF;IACH,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5E;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAxCD,0CAwCC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,wEAA4D;AAOnD,yFAPA,4BAAQ,OAOA;AANjB,oEAAwD;AAMrC,uFANV,wBAAM,OAMU;AAEzB,MAAsB,eAAe;IACnC,YAAsB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAUrD,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,SAAS,YAAY,wBAAM,EAAE;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,QAA0B;QACrC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5E;QACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAI,QAAQ,YAAY,eAAe,EAAE;gBACvC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;aAC9B;SACF;IACH,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5E;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAxCD,0CAwCC"}
@@ -4,5 +4,6 @@ export * from "./describe-account";
4
4
  export * from "./logger";
5
5
  export * from "./math";
6
6
  export * from "./misc";
7
+ export * from "./record-types";
7
8
  export * from "./type-parsers";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -20,5 +20,6 @@ __exportStar(require("./describe-account"), exports);
20
20
  __exportStar(require("./logger"), exports);
21
21
  __exportStar(require("./math"), exports);
22
22
  __exportStar(require("./misc"), exports);
23
+ __exportStar(require("./record-types"), exports);
23
24
  __exportStar(require("./type-parsers"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+DAA6C;AAC7C,qDAAmC;AACnC,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AACvB,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+DAA6C;AAC7C,qDAAmC;AACnC,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AACvB,iDAA+B;AAC/B,iDAA+B"}
@@ -0,0 +1,88 @@
1
+ import { BigNumber } from "ethers";
2
+ import { Token, TokenAmount } from "../token";
3
+ import { Exact, SubgraphAnnualInterestBipsUpdatedDataFragment, SubgraphBorrowDataFragment, SubgraphDelinquencyStatusChangedDataFragment, SubgraphDepositDataFragment, SubgraphFeesCollectedDataFragment, SubgraphMarketClosedDataFragment, SubgraphMaxTotalSupplyUpdatedDataFragment, SubgraphRepaymentDataFragment, SubgraphWithdrawalBatchPaymentPropertiesFragment, SubgraphWithdrawalExecutionPropertiesFragment, SubgraphWithdrawalRequestPropertiesFragment } from "../gql/graphql";
4
+ import { WithdrawalBatch } from "../withdrawal-batch";
5
+ import { LenderWithdrawalStatus } from "../withdrawal-status";
6
+ export type WithdrawalRecordKind = WithdrawalRecord["__typename"];
7
+ export declare class WithdrawalRequestRecord {
8
+ id: string;
9
+ eventIndex: number;
10
+ requestIndex: number;
11
+ scaledAmount: BigNumber;
12
+ normalizedAmount: TokenAmount;
13
+ blockNumber: number;
14
+ blockTimestamp: number;
15
+ transactionHash: string;
16
+ address: string;
17
+ readonly __typename = "WithdrawalRequest";
18
+ constructor(id: string, eventIndex: number, requestIndex: number, scaledAmount: BigNumber, normalizedAmount: TokenAmount, blockNumber: number, blockTimestamp: number, transactionHash: string, address: string);
19
+ /**
20
+ * Calculate the normalized amount owed for this request.
21
+ * Note: Given a `WithdrawalBatch`, will return the amount owed by the borrower for
22
+ * this request without taking into account the amount the lender has already withdrawn.
23
+ * Given a `LenderWithdrawalStatus`, will return the amount owed to the lender after
24
+ * subtracting the amount the lender has already withdrawn.
25
+ */
26
+ getNormalizedAmountOwed(data: WithdrawalBatch | LenderWithdrawalStatus): TokenAmount;
27
+ getNormalizedAmountPaid(batch: WithdrawalBatch): TokenAmount;
28
+ getNormalizedTotalAmount(batch: WithdrawalBatch): TokenAmount;
29
+ static fromSubgraphWithdrawalRequest(batch: WithdrawalBatch, data: SubgraphWithdrawalRequestPropertiesFragment): WithdrawalRequestRecord;
30
+ }
31
+ export type WithdrawalPaymentRecord = Exact<{
32
+ normalizedAmountPaid: TokenAmount;
33
+ } & Omit<SubgraphWithdrawalBatchPaymentPropertiesFragment, "normalizedAmountPaid">>;
34
+ export type WithdrawalExecutionRecord = Exact<{
35
+ normalizedAmount: TokenAmount;
36
+ } & Omit<SubgraphWithdrawalExecutionPropertiesFragment, "normalizedAmount">>;
37
+ export type WithdrawalDataFragment = SubgraphWithdrawalRequestPropertiesFragment | SubgraphWithdrawalBatchPaymentPropertiesFragment | SubgraphWithdrawalExecutionPropertiesFragment;
38
+ export type WithdrawalRecord = WithdrawalRequestRecord | WithdrawalPaymentRecord | WithdrawalExecutionRecord;
39
+ export type WithdrawalRecordParserMap = {
40
+ [K in WithdrawalRecordKind]: (batch: WithdrawalBatch, log: WithdrawalDataFragmentByType<K>) => WithdrawalRecordByType<K>;
41
+ };
42
+ export type WithdrawalDataFragmentByType<K extends WithdrawalRecordKind> = WithdrawalDataFragment extends infer C ? (C extends {
43
+ __typename: K;
44
+ } ? C : never) : never;
45
+ export type WithdrawalRecordByType<K extends WithdrawalRecordKind> = WithdrawalRecord extends infer C ? (C extends {
46
+ __typename: K;
47
+ } ? C : never) : never;
48
+ export type MarketRecordKind = MarketRecord["__typename"];
49
+ export type MaxTotalSupplyUpdatedRecord = Exact<Omit<SubgraphMaxTotalSupplyUpdatedDataFragment, "oldMaxTotalSupply" | "newMaxTotalSupply"> & {
50
+ oldMaxTotalSupply: TokenAmount;
51
+ newMaxTotalSupply: TokenAmount;
52
+ }>;
53
+ export type AnnualInterestBipsUpdatedRecord = SubgraphAnnualInterestBipsUpdatedDataFragment;
54
+ export type DelinquencyStatusChangedRecord = Omit<SubgraphDelinquencyStatusChangedDataFragment, "liquidityCoverageRequired" | "totalAssets"> & {
55
+ liquidityCoverageRequired: TokenAmount;
56
+ totalAssets: TokenAmount;
57
+ };
58
+ export type MarketClosedRecord = SubgraphMarketClosedDataFragment;
59
+ export type DepositRecord = Exact<{
60
+ amount: TokenAmount;
61
+ address: string;
62
+ } & Omit<SubgraphDepositDataFragment, "assetAmount" | "account">>;
63
+ export type RepaymentRecord = Exact<{
64
+ amount: TokenAmount;
65
+ } & Omit<SubgraphRepaymentDataFragment, "assetAmount">>;
66
+ export type BorrowRecord = Exact<{
67
+ amount: TokenAmount;
68
+ } & Omit<SubgraphBorrowDataFragment, "assetAmount">>;
69
+ export type FeeCollectionRecord = Exact<{
70
+ amount: TokenAmount;
71
+ } & Omit<SubgraphFeesCollectedDataFragment, "feesCollected">>;
72
+ export type WithdrawalRequestPartialRecord = Exact<Omit<SubgraphWithdrawalRequestPropertiesFragment, "scaledAmount" | "normalizedAmount" | "account"> & {
73
+ scaledAmount: BigNumber;
74
+ normalizedAmount: TokenAmount;
75
+ address: string;
76
+ }>;
77
+ export type MarketRecord = AnnualInterestBipsUpdatedRecord | BorrowRecord | DelinquencyStatusChangedRecord | DepositRecord | FeeCollectionRecord | MarketClosedRecord | MaxTotalSupplyUpdatedRecord | RepaymentRecord | WithdrawalRequestPartialRecord;
78
+ export type MarketDataFragment = SubgraphAnnualInterestBipsUpdatedDataFragment | SubgraphBorrowDataFragment | SubgraphDelinquencyStatusChangedDataFragment | SubgraphDepositDataFragment | SubgraphFeesCollectedDataFragment | SubgraphMarketClosedDataFragment | SubgraphMaxTotalSupplyUpdatedDataFragment | SubgraphRepaymentDataFragment | SubgraphWithdrawalRequestPropertiesFragment;
79
+ export type MarketRecordByType<K extends MarketRecordKind> = MarketRecord extends infer C ? C extends {
80
+ __typename: K;
81
+ } ? C : never : never;
82
+ export type MarketDataFragmentByType<K extends MarketRecordKind> = MarketDataFragment extends infer C ? (C extends {
83
+ __typename: K;
84
+ } ? C : never) : never;
85
+ export type MarketRecordParserMap = {
86
+ [K in MarketRecordKind]: (token: Token, log: MarketDataFragmentByType<K>) => MarketRecordByType<K>;
87
+ };
88
+ //# sourceMappingURL=record-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-types.d.ts","sourceRoot":"","sources":["../../src/utils/record-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WithdrawalRequestRecord = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const withdrawal_batch_1 = require("../withdrawal-batch");
6
+ class WithdrawalRequestRecord {
7
+ constructor(id, eventIndex, requestIndex, scaledAmount, normalizedAmount, blockNumber, blockTimestamp, transactionHash, address) {
8
+ this.id = id;
9
+ this.eventIndex = eventIndex;
10
+ this.requestIndex = requestIndex;
11
+ this.scaledAmount = scaledAmount;
12
+ this.normalizedAmount = normalizedAmount;
13
+ this.blockNumber = blockNumber;
14
+ this.blockTimestamp = blockTimestamp;
15
+ this.transactionHash = transactionHash;
16
+ this.address = address;
17
+ this.__typename = "WithdrawalRequest";
18
+ }
19
+ /**
20
+ * Calculate the normalized amount owed for this request.
21
+ * Note: Given a `WithdrawalBatch`, will return the amount owed by the borrower for
22
+ * this request without taking into account the amount the lender has already withdrawn.
23
+ * Given a `LenderWithdrawalStatus`, will return the amount owed to the lender after
24
+ * subtracting the amount the lender has already withdrawn.
25
+ */
26
+ getNormalizedAmountOwed(data) {
27
+ return data.normalizedAmountOwed.mulDiv(this.scaledAmount, data instanceof withdrawal_batch_1.WithdrawalBatch ? data.scaledTotalAmount : data.scaledAmount);
28
+ }
29
+ getNormalizedAmountPaid(batch) {
30
+ return batch.normalizedAmountPaid.mulDiv(this.scaledAmount, batch.scaledTotalAmount);
31
+ }
32
+ getNormalizedTotalAmount(batch) {
33
+ return batch.normalizedTotalAmount.mulDiv(this.scaledAmount, batch.scaledTotalAmount);
34
+ }
35
+ static fromSubgraphWithdrawalRequest(batch, data) {
36
+ return new WithdrawalRequestRecord(data.id, data.eventIndex, data.requestIndex, ethers_1.BigNumber.from(data.scaledAmount), batch.market.underlyingToken.getAmount(data.normalizedAmount), data.blockNumber, data.blockTimestamp, data.transactionHash, data.account.address);
37
+ }
38
+ }
39
+ exports.WithdrawalRequestRecord = WithdrawalRequestRecord;
40
+ //# sourceMappingURL=record-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-types.js","sourceRoot":"","sources":["../../src/utils/record-types.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAgBnC,0DAAsD;AAStD,MAAa,uBAAuB;IAElC,YACS,EAAU,EACV,UAAkB,EAClB,YAAoB,EACpB,YAAuB,EACvB,gBAA6B,EAC7B,WAAmB,EACnB,cAAsB,EACtB,eAAuB,EACvB,OAAe;QARf,OAAE,GAAF,EAAE,CAAQ;QACV,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,iBAAY,GAAZ,YAAY,CAAW;QACvB,qBAAgB,GAAhB,gBAAgB,CAAa;QAC7B,gBAAW,GAAX,WAAW,CAAQ;QACnB,mBAAc,GAAd,cAAc,CAAQ;QACtB,oBAAe,GAAf,eAAe,CAAQ;QACvB,YAAO,GAAP,OAAO,CAAQ;QAVR,eAAU,GAAG,mBAAmB,CAAC;IAW9C,CAAC;IAEJ;;;;;;OAMG;IACH,uBAAuB,CAAC,IAA8C;QACpE,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CACrC,IAAI,CAAC,YAAY,EACjB,IAAI,YAAY,kCAAe,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAC7E,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,KAAsB;QAC5C,OAAO,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvF,CAAC;IAED,wBAAwB,CAAC,KAAsB;QAC7C,OAAO,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,CAAC,6BAA6B,CAClC,KAAsB,EACtB,IAAiD;QAEjD,OAAO,IAAI,uBAAuB,CAChC,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,EACjB,kBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EACjC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC7D,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CACrB,CAAC;IACJ,CAAC;CACF;AApDD,0DAoDC"}
@@ -1,111 +1,13 @@
1
1
  import { FeeConfigurationStructOutput, MarketParameterConstraintsStructOutput } from "../typechain";
2
- import { PartialTransaction, SignerOrProvider } from "../types";
3
- import { BigNumber, PopulatedTransaction } from "ethers";
4
- import { Token, TokenAmount } from "../token";
5
- import { SubgraphAnnualInterestBipsUpdatedDataFragment, SubgraphBorrowDataFragment, SubgraphDelinquencyStatusChangedDataFragment, SubgraphDepositDataFragment, SubgraphFeesCollectedDataFragment, SubgraphMarketClosedDataFragment, SubgraphMaxTotalSupplyUpdatedDataFragment, SubgraphRepaymentDataFragment, SubgraphWithdrawalBatchPaymentPropertiesFragment, SubgraphWithdrawalExecutionPropertiesFragment, SubgraphWithdrawalRequestPropertiesFragment } from "../gql/graphql";
2
+ import { FeeConfiguration, MarketParameterConstraints, PartialTransaction, SignerOrProvider } from "../types";
3
+ import { PopulatedTransaction } from "ethers";
4
+ import { Token } from "../token";
5
+ import { MarketRecordKind, MarketDataFragmentByType, MarketRecordByType, WithdrawalRecordKind, WithdrawalDataFragmentByType, WithdrawalRecordByType } from "./record-types";
6
6
  import { WithdrawalBatch } from "../withdrawal-batch";
7
- import { LenderWithdrawalStatus } from "../withdrawal-status";
8
7
  import { SupportedChainId } from "../constants";
9
- export type MarketParameterConstraints = {
10
- minimumDelinquencyGracePeriod: number;
11
- maximumDelinquencyGracePeriod: number;
12
- minimumReserveRatioBips: number;
13
- maximumReserveRatioBips: number;
14
- minimumDelinquencyFeeBips: number;
15
- maximumDelinquencyFeeBips: number;
16
- minimumWithdrawalBatchDuration: number;
17
- maximumWithdrawalBatchDuration: number;
18
- minimumAnnualInterestBips: number;
19
- maximumAnnualInterestBips: number;
20
- };
21
8
  export declare const parseMarketParameterConstraints: (constraints: MarketParameterConstraintsStructOutput) => MarketParameterConstraints;
22
- export type FeeConfiguration = {
23
- feeRecipient: string;
24
- protocolFeeBips: number;
25
- originationFeeToken: Token | undefined;
26
- originationFeeAmount: TokenAmount | undefined;
27
- };
28
9
  export declare const parseFeeConfiguration: (chainId: SupportedChainId, provider: SignerOrProvider, feeConfiguration: FeeConfigurationStructOutput) => FeeConfiguration;
29
- export declare class WithdrawalRequestRecord {
30
- id: string;
31
- eventIndex: number;
32
- requestIndex: number;
33
- scaledAmount: BigNumber;
34
- normalizedAmount: TokenAmount;
35
- blockNumber: number;
36
- blockTimestamp: number;
37
- transactionHash: string;
38
- address: string;
39
- constructor(id: string, eventIndex: number, requestIndex: number, scaledAmount: BigNumber, normalizedAmount: TokenAmount, blockNumber: number, blockTimestamp: number, transactionHash: string, address: string);
40
- /**
41
- * Calculate the normalized amount owed for this request.
42
- * Note: Given a `WithdrawalBatch`, will return the amount owed by the borrower for
43
- * this request without taking into account the amount the lender has already withdrawn.
44
- * Given a `LenderWithdrawalStatus`, will return the amount owed to the lender after
45
- * subtracting the amount the lender has already withdrawn.
46
- */
47
- getNormalizedAmountOwed(data: WithdrawalBatch | LenderWithdrawalStatus): TokenAmount;
48
- getNormalizedAmountPaid(batch: WithdrawalBatch): TokenAmount;
49
- getNormalizedTotalAmount(batch: WithdrawalBatch): TokenAmount;
50
- static fromSubgraphWithdrawalRequest(batch: WithdrawalBatch, data: SubgraphWithdrawalRequestPropertiesFragment): WithdrawalRequestRecord;
51
- }
52
- export type WithdrawalPaymentRecord = {
53
- normalizedAmountPaid: TokenAmount;
54
- } & Omit<SubgraphWithdrawalBatchPaymentPropertiesFragment, "normalizedAmountPaid">;
55
- export type WithdrawalExecutionRecord = {
56
- normalizedAmount: TokenAmount;
57
- } & Omit<SubgraphWithdrawalExecutionPropertiesFragment, "normalizedAmount">;
58
- export declare function parseWithdrawalRecord(batch: WithdrawalBatch, log: SubgraphWithdrawalRequestPropertiesFragment): WithdrawalRequestRecord;
59
- export declare function parseWithdrawalRecord(batch: WithdrawalBatch, log: SubgraphWithdrawalBatchPaymentPropertiesFragment): WithdrawalPaymentRecord;
60
- export declare function parseWithdrawalRecord(batch: WithdrawalBatch, log: SubgraphWithdrawalExecutionPropertiesFragment): WithdrawalExecutionRecord;
10
+ export declare function parseWithdrawalRecord<K extends WithdrawalRecordKind>(batch: WithdrawalBatch, log: WithdrawalDataFragmentByType<K>): WithdrawalRecordByType<K>;
61
11
  export declare const removeUnusedTxFields: ({ to, data, value }: PopulatedTransaction) => PartialTransaction;
62
- export type MaxTotalSupplyUpdatedRecord = Omit<SubgraphMaxTotalSupplyUpdatedDataFragment, "oldMaxTotalSupply" | "newMaxTotalSupply" | "__typename"> & {
63
- __typename: "MaxTotalSupplyUpdated";
64
- oldMaxTotalSupply: TokenAmount;
65
- newMaxTotalSupply: TokenAmount;
66
- };
67
- export type AnnualInterestBipsUpdatedRecord = Omit<SubgraphAnnualInterestBipsUpdatedDataFragment, "__typename"> & {
68
- __typename: "AnnualInterestBipsUpdated";
69
- };
70
- export type DelinquencyStatusChangedRecord = Omit<SubgraphDelinquencyStatusChangedDataFragment, "liquidityCoverageRequired" | "totalAssets" | "__typename"> & {
71
- __typename: "DelinquencyStatusChanged";
72
- liquidityCoverageRequired: TokenAmount;
73
- totalAssets: TokenAmount;
74
- };
75
- export type MarketClosedRecord = Omit<SubgraphMarketClosedDataFragment, "__typename"> & {
76
- __typename: "MarketClosed";
77
- };
78
- export type DepositRecord = {
79
- __typename: "Deposit";
80
- amount: TokenAmount;
81
- address: string;
82
- } & Omit<SubgraphDepositDataFragment, "assetAmount" | "account" | "__typename">;
83
- export type RepaymentRecord = {
84
- __typename: "DebtRepaid";
85
- amount: TokenAmount;
86
- } & Omit<SubgraphRepaymentDataFragment, "assetAmount" | "__typename">;
87
- export type BorrowRecord = {
88
- __typename: "Borrow";
89
- amount: TokenAmount;
90
- } & Omit<SubgraphBorrowDataFragment, "assetAmount" | "__typename">;
91
- export type FeeCollectionRecord = {
92
- __typename: "FeesCollected";
93
- amount: TokenAmount;
94
- } & Omit<SubgraphFeesCollectedDataFragment, "feesCollected" | "__typename">;
95
- export type WithdrawalRequestPartialRecord = Omit<SubgraphWithdrawalRequestPropertiesFragment, "scaledAmount" | "normalizedAmount" | "__typename"> & {
96
- __typename: "WithdrawalRequest";
97
- scaledAmount: BigNumber;
98
- normalizedAmount: TokenAmount;
99
- };
100
- export type MarketRecord = AnnualInterestBipsUpdatedRecord | BorrowRecord | DelinquencyStatusChangedRecord | DepositRecord | FeeCollectionRecord | MarketClosedRecord | MaxTotalSupplyUpdatedRecord | RepaymentRecord | WithdrawalRequestPartialRecord;
101
- export type MarketDataFragment = SubgraphAnnualInterestBipsUpdatedDataFragment | SubgraphBorrowDataFragment | SubgraphDelinquencyStatusChangedDataFragment | SubgraphDepositDataFragment | SubgraphFeesCollectedDataFragment | SubgraphMarketClosedDataFragment | SubgraphMaxTotalSupplyUpdatedDataFragment | SubgraphRepaymentDataFragment | SubgraphWithdrawalRequestPropertiesFragment;
102
- export declare function parseMarketRecord(token: Token, log: SubgraphAnnualInterestBipsUpdatedDataFragment): AnnualInterestBipsUpdatedRecord;
103
- export declare function parseMarketRecord(token: Token, log: SubgraphBorrowDataFragment): BorrowRecord;
104
- export declare function parseMarketRecord(token: Token, log: SubgraphDelinquencyStatusChangedDataFragment): DelinquencyStatusChangedRecord;
105
- export declare function parseMarketRecord(token: Token, log: SubgraphDepositDataFragment): DepositRecord;
106
- export declare function parseMarketRecord(token: Token, log: SubgraphFeesCollectedDataFragment): FeeCollectionRecord;
107
- export declare function parseMarketRecord(token: Token, log: SubgraphMarketClosedDataFragment): MarketClosedRecord;
108
- export declare function parseMarketRecord(token: Token, log: SubgraphMaxTotalSupplyUpdatedDataFragment): MaxTotalSupplyUpdatedRecord;
109
- export declare function parseMarketRecord(token: Token, log: SubgraphRepaymentDataFragment): RepaymentRecord;
110
- export declare function parseMarketRecord(token: Token, log: SubgraphWithdrawalRequestPropertiesFragment): WithdrawalRequestPartialRecord;
12
+ export declare function parseMarketRecord<K extends MarketRecordKind>(token: Token, log: MarketDataFragmentByType<K>): MarketRecordByType<K>;
111
13
  //# sourceMappingURL=type-parsers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-parsers.d.ts","sourceRoot":"","sources":["../../src/utils/type-parsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-parsers.d.ts","sourceRoot":"","sources":["../../src/utils/type-parsers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,sCAAsC,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAa,oBAAoB,EAAa,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAEL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAGlB,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,eAAO,MAAM,+BAA+B,gBAC7B,sCAAsC,KAClD,0BAG8B,CAAC;AAElC,eAAO,MAAM,qBAAqB,YACvB,gBAAgB,YACf,gBAAgB,oBACR,4BAA4B,KAC7C,gBAaF,CAAC;AAcF,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,oBAAoB,EAClE,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,4BAA4B,CAAC,CAAC,CAAC,GACnC,sBAAsB,CAAC,CAAC,CAAC,CAG3B;AAgBD,eAAO,MAAM,oBAAoB,wBAI9B,oBAAoB,KAAG,kBAQzB,CAAC;AAuCF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,EAC1D,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAC/B,kBAAkB,CAAC,CAAC,CAAC,CAGvB"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseMarketRecord = exports.removeUnusedTxFields = exports.parseWithdrawalRecord = exports.WithdrawalRequestRecord = exports.parseFeeConfiguration = exports.parseMarketParameterConstraints = void 0;
3
+ exports.parseMarketRecord = exports.removeUnusedTxFields = exports.parseWithdrawalRecord = exports.parseFeeConfiguration = exports.parseMarketParameterConstraints = void 0;
4
4
  const ethers_1 = require("ethers");
5
5
  const token_1 = require("../token");
6
- const withdrawal_batch_1 = require("../withdrawal-batch");
6
+ const record_types_1 = require("./record-types");
7
7
  const assert_1 = require("./assert");
8
8
  const parseMarketParameterConstraints = (constraints) => Object.fromEntries(Object.entries(constraints).map(([k, v]) => [k, ethers_1.BigNumber.from(v).toNumber()]));
9
9
  exports.parseMarketParameterConstraints = parseMarketParameterConstraints;
@@ -20,58 +20,34 @@ const parseFeeConfiguration = (chainId, provider, feeConfiguration) => {
20
20
  };
21
21
  };
22
22
  exports.parseFeeConfiguration = parseFeeConfiguration;
23
- class WithdrawalRequestRecord {
24
- constructor(id, eventIndex, requestIndex, scaledAmount, normalizedAmount, blockNumber, blockTimestamp, transactionHash, address) {
25
- this.id = id;
26
- this.eventIndex = eventIndex;
27
- this.requestIndex = requestIndex;
28
- this.scaledAmount = scaledAmount;
29
- this.normalizedAmount = normalizedAmount;
30
- this.blockNumber = blockNumber;
31
- this.blockTimestamp = blockTimestamp;
32
- this.transactionHash = transactionHash;
33
- this.address = address;
34
- }
35
- /**
36
- * Calculate the normalized amount owed for this request.
37
- * Note: Given a `WithdrawalBatch`, will return the amount owed by the borrower for
38
- * this request without taking into account the amount the lender has already withdrawn.
39
- * Given a `LenderWithdrawalStatus`, will return the amount owed to the lender after
40
- * subtracting the amount the lender has already withdrawn.
41
- */
42
- getNormalizedAmountOwed(data) {
43
- return data.normalizedAmountOwed.mulDiv(this.scaledAmount, data instanceof withdrawal_batch_1.WithdrawalBatch ? data.scaledTotalAmount : data.scaledAmount);
44
- }
45
- getNormalizedAmountPaid(batch) {
46
- return batch.normalizedAmountPaid.mulDiv(this.scaledAmount, batch.scaledTotalAmount);
47
- }
48
- getNormalizedTotalAmount(batch) {
49
- return batch.normalizedTotalAmount.mulDiv(this.scaledAmount, batch.scaledTotalAmount);
50
- }
51
- static fromSubgraphWithdrawalRequest(batch, data) {
52
- return new WithdrawalRequestRecord(data.id, data.eventIndex, data.requestIndex, ethers_1.BigNumber.from(data.scaledAmount), batch.market.underlyingToken.getAmount(data.normalizedAmount), data.blockNumber, data.blockTimestamp, data.transactionHash, data.account.address);
53
- }
54
- }
55
- exports.WithdrawalRequestRecord = WithdrawalRequestRecord;
56
- function parseWithdrawalRecord(batch, log) {
57
- const token = batch.market.underlyingToken;
58
- if ("normalizedAmountPaid" in log) {
59
- const { normalizedAmountPaid, ...rest } = log;
60
- return {
61
- ...rest,
62
- normalizedAmountPaid: token.getAmount(normalizedAmountPaid)
63
- };
64
- }
65
- if ("scaledAmount" in log) {
66
- return WithdrawalRequestRecord.fromSubgraphWithdrawalRequest(batch, log);
67
- }
68
- const { normalizedAmount, ...rest } = log;
69
- return {
23
+ const withdrawalRecordParsers = {
24
+ WithdrawalBatchPayment: (batch, { normalizedAmountPaid, ...rest }) => ({
70
25
  ...rest,
71
- normalizedAmount: token.getAmount(normalizedAmount)
72
- };
26
+ normalizedAmountPaid: batch.market.underlyingToken.getAmount(normalizedAmountPaid)
27
+ }),
28
+ WithdrawalExecution: (batch, { normalizedAmount, ...rest }) => ({
29
+ ...rest,
30
+ normalizedAmount: batch.market.underlyingToken.getAmount(normalizedAmount)
31
+ }),
32
+ WithdrawalRequest: record_types_1.WithdrawalRequestRecord.fromSubgraphWithdrawalRequest
33
+ };
34
+ function parseWithdrawalRecord(batch, log) {
35
+ const k = log.__typename;
36
+ return withdrawalRecordParsers[k](batch, log);
73
37
  }
74
38
  exports.parseWithdrawalRecord = parseWithdrawalRecord;
39
+ /* type ParseFn = <K extends keyof WithdrawalDataFragmentByKind>(
40
+ log: WithdrawalDataFragmentWithType<K>
41
+ ) => K;
42
+
43
+ const getTypeName: ParseFn = function <K extends WithdrawalRecordKind>(
44
+ log: WithdrawalDataFragmentWithType<K>
45
+ ): K {
46
+ return log.__typename;
47
+ }; */
48
+ const test = (batch, records) => {
49
+ const x = records.map((r) => parseWithdrawalRecord(batch, r));
50
+ };
75
51
  const removeUnusedTxFields = ({ to, data, value = ethers_1.BigNumber.from(0) }) => {
76
52
  (0, assert_1.assert)(to !== undefined, "to is undefined");
77
53
  (0, assert_1.assert)(data !== undefined, "data is undefined");
@@ -82,65 +58,46 @@ const removeUnusedTxFields = ({ to, data, value = ethers_1.BigNumber.from(0) })
82
58
  };
83
59
  };
84
60
  exports.removeUnusedTxFields = removeUnusedTxFields;
85
- const isDeposit = (x) => x.__typename === "Deposit";
86
- const isDelinquencyStatusChanged = (x) => x.__typename === "DelinquencyStatusChanged";
87
- const isMarketClosed = (x) => x.__typename === "MarketClosed";
88
- const isAnnualInterestBipsUpdated = (x) => x.__typename === "AnnualInterestBipsUpdated";
89
- const isMaxTotalSupplyUpdated = (x) => x.__typename === "MaxTotalSupplyUpdated";
90
- const isFeesCollected = (x) => x.__typename === "FeesCollected";
91
- const isWithdrawalRequest = (x) => x.__typename === "WithdrawalRequest";
92
- const hasTypeName = (x) => x.__typename !== undefined;
61
+ const marketRecordParsers = {
62
+ AnnualInterestBipsUpdated: (_, log) => log,
63
+ Borrow: (token, { assetAmount, ...rest }) => ({
64
+ amount: token.getAmount(assetAmount),
65
+ ...rest
66
+ }),
67
+ DebtRepaid: (token, { assetAmount, ...rest }) => ({
68
+ amount: token.getAmount(assetAmount),
69
+ ...rest
70
+ }),
71
+ Deposit: (token, { account, assetAmount, ...rest }) => ({
72
+ amount: token.getAmount(assetAmount),
73
+ address: account.address,
74
+ ...rest
75
+ }),
76
+ DelinquencyStatusChanged: (token, { liquidityCoverageRequired, totalAssets, ...rest }) => ({
77
+ liquidityCoverageRequired: token.getAmount(liquidityCoverageRequired),
78
+ totalAssets: token.getAmount(totalAssets),
79
+ ...rest
80
+ }),
81
+ FeesCollected: (token, { feesCollected, ...rest }) => ({
82
+ amount: token.getAmount(feesCollected),
83
+ ...rest
84
+ }),
85
+ MarketClosed: (_, log) => log,
86
+ MaxTotalSupplyUpdated: (token, { oldMaxTotalSupply, newMaxTotalSupply, ...rest }) => ({
87
+ oldMaxTotalSupply: token.getAmount(oldMaxTotalSupply),
88
+ newMaxTotalSupply: token.getAmount(newMaxTotalSupply),
89
+ ...rest
90
+ }),
91
+ WithdrawalRequest: (token, { scaledAmount, normalizedAmount, account, ...rest }) => ({
92
+ address: account.address,
93
+ scaledAmount: ethers_1.BigNumber.from(scaledAmount),
94
+ normalizedAmount: token.getAmount(normalizedAmount),
95
+ ...rest
96
+ })
97
+ };
93
98
  function parseMarketRecord(token, log) {
94
- if (!hasTypeName(log)) {
95
- throw Error(`Malformed market record: ${JSON.stringify(log, null, 2)}\nMissing __typename`);
96
- }
97
- if (isDeposit(log)) {
98
- const { account, assetAmount, ...rest } = log;
99
- return {
100
- ...rest,
101
- amount: token.getAmount(assetAmount),
102
- address: account.address
103
- };
104
- }
105
- if (isDelinquencyStatusChanged(log)) {
106
- const { liquidityCoverageRequired, totalAssets, ...rest } = log;
107
- return {
108
- ...rest,
109
- liquidityCoverageRequired: token.getAmount(liquidityCoverageRequired),
110
- totalAssets: token.getAmount(totalAssets)
111
- };
112
- }
113
- if (isMarketClosed(log) || isAnnualInterestBipsUpdated(log)) {
114
- return log;
115
- }
116
- if (isMaxTotalSupplyUpdated(log)) {
117
- const { oldMaxTotalSupply, newMaxTotalSupply, ...rest } = log;
118
- return {
119
- ...rest,
120
- oldMaxTotalSupply: token.getAmount(oldMaxTotalSupply),
121
- newMaxTotalSupply: token.getAmount(newMaxTotalSupply)
122
- };
123
- }
124
- if (isFeesCollected(log)) {
125
- const { feesCollected, ...rest } = log;
126
- return {
127
- ...rest,
128
- amount: token.getAmount(feesCollected)
129
- };
130
- }
131
- if (isWithdrawalRequest(log)) {
132
- const { scaledAmount, normalizedAmount, ...rest } = log;
133
- return {
134
- ...rest,
135
- scaledAmount: ethers_1.BigNumber.from(scaledAmount),
136
- normalizedAmount: token.getAmount(normalizedAmount)
137
- };
138
- }
139
- const { assetAmount, ...rest } = log;
140
- return {
141
- ...rest,
142
- amount: token.getAmount(assetAmount)
143
- };
99
+ const k = log.__typename;
100
+ return marketRecordParsers[k](token, log);
144
101
  }
145
102
  exports.parseMarketRecord = parseMarketRecord;
146
103
  //# sourceMappingURL=type-parsers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-parsers.js","sourceRoot":"","sources":["../../src/utils/type-parsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-parsers.js","sourceRoot":"","sources":["../../src/utils/type-parsers.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.67",
3
+ "version": "2.0.69",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist"
@@ -33,6 +33,7 @@
33
33
  "eslint-config-prettier": "^8.8.0",
34
34
  "eslint-plugin-prettier": "^4.2.1",
35
35
  "hardhat": "^2.13.0",
36
+ "mocha": "^10.4.0",
36
37
  "prettier": "^2.8.8",
37
38
  "ts-morph": "^20.0.0",
38
39
  "ts-node": "^10.9.1",
@@ -58,6 +59,7 @@
58
59
  "lint:fix": "eslint src/ test/ --ext=ts --fix",
59
60
  "prepublishOnly": "yarn build",
60
61
  "test": "react-scripts test",
62
+ "mocha": "NODE_OPTIONS='--max-old-space-size=2048' mocha",
61
63
  "typechain": "yarn clean:typechain; hardhat compile; cp -r typechain-types src/typechain; node ./typechain-imports.js"
62
64
  }
63
65
  }