@carrot-protocol/clend-rpc 0.1.1-data-fixes-dev-52c2b97 → 0.1.1-data-fixes-dev-9daae34

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/events.d.ts CHANGED
@@ -6,11 +6,11 @@ export declare class ClendEvents {
6
6
  /**
7
7
  * Fetch txns from chain from tx sigs and parse events
8
8
  */
9
- getClendAccountEventsFromTxns(txSigs: string[]): Promise<ClendAccountEvent[]>;
9
+ getClendEventsFromTxns(txSigs: string[]): Promise<ClendEvent[]>;
10
10
  /**
11
11
  * Expect already fetched logs and tx sig and block time
12
12
  */
13
- getClendAccountEventsFromLogs(logs: string[], txSig: string, blockTime: number): Promise<ClendAccountEvent[]>;
13
+ getClendEventsFromLogs(logs: string[], txSig: string, blockTime: number): Promise<ClendEvent[]>;
14
14
  private getEventsFromLogs;
15
15
  /**
16
16
  * Get log messages from tx sigs
@@ -22,14 +22,18 @@ export declare class ClendEvents {
22
22
  * @param events Raw Anchor events paired with their tx
23
23
  * @returns An array of parsed Clend event objects.
24
24
  */
25
- private parseClendAccountEvents;
25
+ private parseClendEvents;
26
+ /**
27
+ * Parses the header based on the presence of unique fields.
28
+ */
29
+ private parseEventHeader;
26
30
  }
27
- export interface ClendAccountEventMetadata {
31
+ export interface ClendEventMetadata {
28
32
  name: string;
29
33
  eventIndex: number;
30
34
  txSig: string;
31
35
  blockTime: Date;
32
- header: ClendAccountEventHeader;
36
+ header: ClendAccountEventHeader | ClendGroupEventHeader;
33
37
  }
34
38
  export interface ClendAccountEventHeader {
35
39
  signer: web3.PublicKey | null;
@@ -37,36 +41,75 @@ export interface ClendAccountEventHeader {
37
41
  clendAccountAuthority: web3.PublicKey;
38
42
  clendGroup: web3.PublicKey;
39
43
  }
44
+ export interface ClendGroupEventHeader {
45
+ signer: web3.PublicKey | null;
46
+ clendGroup: web3.PublicKey;
47
+ }
40
48
  export interface LendingAccountCreateEvent {
41
- metadata: ClendAccountEventMetadata;
49
+ metadata: ClendEventMetadata;
50
+ }
51
+ export interface LendingAccountTransferAccountAuthorityEvent {
52
+ metadata: ClendEventMetadata;
53
+ oldAccountAuthority: web3.PublicKey;
54
+ newAccountAuthority: web3.PublicKey;
42
55
  }
43
56
  export interface LendingAccountDepositEvent {
44
- metadata: ClendAccountEventMetadata;
57
+ metadata: ClendEventMetadata;
45
58
  bank: web3.PublicKey;
46
59
  mint: web3.PublicKey;
47
60
  amount: BN;
48
61
  }
49
62
  export interface LendingAccountBorrowEvent {
50
- metadata: ClendAccountEventMetadata;
63
+ metadata: ClendEventMetadata;
51
64
  bank: web3.PublicKey;
52
65
  mint: web3.PublicKey;
53
66
  amount: BN;
54
67
  }
55
68
  export interface LendingAccountRepayEvent {
56
- metadata: ClendAccountEventMetadata;
69
+ metadata: ClendEventMetadata;
57
70
  bank: web3.PublicKey;
58
71
  mint: web3.PublicKey;
59
72
  amount: BN;
60
73
  closeBalance: boolean;
61
74
  }
62
75
  export interface LendingAccountWithdrawEvent {
63
- metadata: ClendAccountEventMetadata;
76
+ metadata: ClendEventMetadata;
64
77
  bank: web3.PublicKey;
65
78
  mint: web3.PublicKey;
66
79
  amount: BN;
67
80
  closeBalance: boolean;
68
81
  }
82
+ export interface ClendGroupCreateEvent {
83
+ metadata: ClendEventMetadata;
84
+ }
85
+ export interface LendingPoolBankCreateEvent {
86
+ metadata: ClendEventMetadata;
87
+ bank: web3.PublicKey;
88
+ mint: web3.PublicKey;
89
+ }
90
+ export interface LendingPoolBankAccrueInterestEvent {
91
+ metadata: ClendEventMetadata;
92
+ bank: web3.PublicKey;
93
+ mint: web3.PublicKey;
94
+ delta: BN;
95
+ feesCollected: number;
96
+ insuranceCollected: number;
97
+ }
98
+ export interface LendingPoolBankHandleBankruptcyEvent {
99
+ metadata: ClendEventMetadata;
100
+ bank: web3.PublicKey;
101
+ mint: web3.PublicKey;
102
+ badDebt: number;
103
+ coveredAmount: number;
104
+ socializedAmount: number;
105
+ }
106
+ export interface ClendPriceEvent {
107
+ metadata: ClendEventMetadata;
108
+ bank: web3.PublicKey;
109
+ twPrice: number;
110
+ rtPrice: number;
111
+ }
69
112
  /**
70
113
  * Union type for all parsed Clend event interfaces.
71
114
  */
72
- export type ClendAccountEvent = LendingAccountCreateEvent | LendingAccountDepositEvent | LendingAccountBorrowEvent | LendingAccountRepayEvent | LendingAccountWithdrawEvent;
115
+ export type ClendEvent = LendingAccountCreateEvent | LendingAccountDepositEvent | LendingAccountBorrowEvent | LendingAccountRepayEvent | LendingAccountWithdrawEvent | ClendGroupCreateEvent | LendingPoolBankCreateEvent | LendingPoolBankAccrueInterestEvent | LendingPoolBankHandleBankruptcyEvent | ClendPriceEvent;
package/dist/events.js CHANGED
@@ -16,16 +16,16 @@ class ClendEvents {
16
16
  /**
17
17
  * Fetch txns from chain from tx sigs and parse events
18
18
  */
19
- async getClendAccountEventsFromTxns(txSigs) {
19
+ async getClendEventsFromTxns(txSigs) {
20
20
  const events = await this.getEventsFromTxns(txSigs);
21
- return this.parseClendAccountEvents(events);
21
+ return this.parseClendEvents(events);
22
22
  }
23
23
  /**
24
24
  * Expect already fetched logs and tx sig and block time
25
25
  */
26
- async getClendAccountEventsFromLogs(logs, txSig, blockTime) {
26
+ async getClendEventsFromLogs(logs, txSig, blockTime) {
27
27
  const events = await this.getEventsFromLogs(logs, txSig, blockTime);
28
- return this.parseClendAccountEvents(events);
28
+ return this.parseClendEvents(events);
29
29
  }
30
30
  async getEventsFromLogs(logs, txSig, blockTime) {
31
31
  const anchorEvents = Array.from(this.eventParser.parseLogs(logs));
@@ -64,8 +64,8 @@ class ClendEvents {
64
64
  * @param events Raw Anchor events paired with their tx
65
65
  * @returns An array of parsed Clend event objects.
66
66
  */
67
- parseClendAccountEvents(txData) {
68
- const clendAccountEvents = [];
67
+ parseClendEvents(txData) {
68
+ const clendEvents = [];
69
69
  for (const { events, txSig, blockTime } of txData) {
70
70
  // parse events
71
71
  let eventIndex = 0;
@@ -78,37 +78,34 @@ class ClendEvents {
78
78
  });
79
79
  continue;
80
80
  }
81
- // parse header
82
- let metadata;
83
- try {
84
- metadata = {
85
- name: event.name,
86
- eventIndex,
87
- txSig,
88
- blockTime,
89
- header: {
90
- signer: data.header.signer
91
- ? new anchor_1.web3.PublicKey(data.header.signer)
92
- : null,
93
- clendAccount: new anchor_1.web3.PublicKey(data.header.clendAccount),
94
- clendAccountAuthority: new anchor_1.web3.PublicKey(data.header.clendAccountAuthority),
95
- clendGroup: new anchor_1.web3.PublicKey(data.header.clendGroup),
96
- },
97
- };
98
- }
99
- catch (error) {
100
- utils_1.logger.warn("Error parsing clend account event header", {
101
- eventName: event.name,
102
- });
103
- continue;
104
- }
81
+ // Define common metadata parts first
82
+ const commonMetadata = {
83
+ name: event.name,
84
+ eventIndex,
85
+ txSig,
86
+ blockTime,
87
+ };
105
88
  try {
89
+ let metadata;
90
+ // parse event header
91
+ const header = this.parseEventHeader(data.header);
92
+ metadata = { ...commonMetadata, header };
106
93
  switch (event.name) {
94
+ // lending account events
107
95
  case "ClendAccountCreateEvent": {
108
96
  const createEvent = {
109
97
  metadata: metadata,
110
98
  };
111
- clendAccountEvents.push(createEvent);
99
+ clendEvents.push(createEvent);
100
+ break;
101
+ }
102
+ case "LendingAccountTransferAccountAuthorityEvent": {
103
+ const transferEvent = {
104
+ metadata: metadata,
105
+ oldAccountAuthority: new anchor_1.web3.PublicKey(data.oldAccountAuthority),
106
+ newAccountAuthority: new anchor_1.web3.PublicKey(data.newAccountAuthority),
107
+ };
108
+ clendEvents.push(transferEvent);
112
109
  break;
113
110
  }
114
111
  case "LendingAccountDepositEvent": {
@@ -118,7 +115,7 @@ class ClendEvents {
118
115
  mint: new anchor_1.web3.PublicKey(data.mint),
119
116
  amount: new anchor_1.BN(data.amount),
120
117
  };
121
- clendAccountEvents.push(depositEvent);
118
+ clendEvents.push(depositEvent);
122
119
  break;
123
120
  }
124
121
  case "LendingAccountBorrowEvent": {
@@ -128,7 +125,7 @@ class ClendEvents {
128
125
  mint: new anchor_1.web3.PublicKey(data.mint),
129
126
  amount: new anchor_1.BN(data.amount),
130
127
  };
131
- clendAccountEvents.push(borrowEvent);
128
+ clendEvents.push(borrowEvent);
132
129
  break;
133
130
  }
134
131
  case "LendingAccountRepayEvent": {
@@ -139,7 +136,7 @@ class ClendEvents {
139
136
  amount: new anchor_1.BN(data.amount),
140
137
  closeBalance: Boolean(data.closeBalance),
141
138
  };
142
- clendAccountEvents.push(repayEvent);
139
+ clendEvents.push(repayEvent);
143
140
  break;
144
141
  }
145
142
  case "LendingAccountWithdrawEvent": {
@@ -150,10 +147,60 @@ class ClendEvents {
150
147
  amount: new anchor_1.BN(data.amount),
151
148
  closeBalance: Boolean(data.closeBalance),
152
149
  };
153
- clendAccountEvents.push(withdrawEvent);
150
+ clendEvents.push(withdrawEvent);
151
+ break;
152
+ }
153
+ // lending group events
154
+ case "ClendGroupCreateEvent": {
155
+ const createEvent = {
156
+ metadata: metadata,
157
+ };
158
+ clendEvents.push(createEvent);
159
+ break;
160
+ }
161
+ case "LendingPoolBankCreateEvent": {
162
+ const createEvent = {
163
+ metadata: metadata,
164
+ bank: new anchor_1.web3.PublicKey(data.bank),
165
+ mint: new anchor_1.web3.PublicKey(data.mint),
166
+ };
167
+ clendEvents.push(createEvent);
168
+ break;
169
+ }
170
+ case "LendingPoolBankAccrueInterestEvent": {
171
+ const accrueInterestEvent = {
172
+ metadata: metadata,
173
+ bank: new anchor_1.web3.PublicKey(data.bank),
174
+ mint: new anchor_1.web3.PublicKey(data.mint),
175
+ delta: new anchor_1.BN(data.delta),
176
+ feesCollected: parseNumber(data.feesCollected),
177
+ insuranceCollected: parseNumber(data.insuranceCollected),
178
+ };
179
+ clendEvents.push(accrueInterestEvent);
180
+ break;
181
+ }
182
+ case "LendingPoolBankHandleBankruptcyEvent": {
183
+ const handleBankruptcyEvent = {
184
+ metadata: metadata,
185
+ bank: new anchor_1.web3.PublicKey(data.bank),
186
+ mint: new anchor_1.web3.PublicKey(data.mint),
187
+ badDebt: parseNumber(data.badDebt),
188
+ coveredAmount: parseNumber(data.coveredAmount),
189
+ socializedAmount: parseNumber(data.socializedAmount),
190
+ };
191
+ clendEvents.push(handleBankruptcyEvent);
192
+ break;
193
+ }
194
+ case "ClendPriceEvent": {
195
+ const priceEvent = {
196
+ metadata: metadata,
197
+ bank: new anchor_1.web3.PublicKey(data.bank),
198
+ twPrice: parseNumber(data.twPrice),
199
+ rtPrice: parseNumber(data.rtPrice),
200
+ };
201
+ clendEvents.push(priceEvent);
154
202
  break;
155
203
  }
156
- // Add cases for other events as needed when interfaces are defined.
157
204
  default:
158
205
  utils_1.logger.warn("Unhandled Clend event type", {
159
206
  eventName: event.name,
@@ -171,8 +218,47 @@ class ClendEvents {
171
218
  eventIndex++;
172
219
  }
173
220
  }
174
- return clendAccountEvents;
221
+ return clendEvents;
222
+ }
223
+ /**
224
+ * Parses the header based on the presence of unique fields.
225
+ */
226
+ parseEventHeader(headerData) {
227
+ const signer = headerData.signer
228
+ ? new anchor_1.web3.PublicKey(headerData.signer)
229
+ : null;
230
+ // Check for a field unique to ClendAccountEventHeader
231
+ if (headerData.clendAccount) {
232
+ // Parse as ClendAccountEventHeader
233
+ return {
234
+ signer,
235
+ clendAccount: new anchor_1.web3.PublicKey(headerData.clendAccount),
236
+ clendAccountAuthority: new anchor_1.web3.PublicKey(headerData.clendAccountAuthority),
237
+ clendGroup: new anchor_1.web3.PublicKey(headerData.clendGroup),
238
+ };
239
+ }
240
+ else if (headerData.clendGroup) {
241
+ // Parse as ClendGroupEventHeader (assuming if clendAccount is missing, it must be this type)
242
+ return {
243
+ signer,
244
+ clendGroup: new anchor_1.web3.PublicKey(headerData.clendGroup),
245
+ };
246
+ }
247
+ else {
248
+ // Fallback or throw error for unexpected header structure
249
+ utils_1.logger.error("Cannot determine header type based on fields", {
250
+ headerData,
251
+ });
252
+ throw new Error("Cannot determine header type from data fields");
253
+ }
175
254
  }
176
255
  }
177
256
  exports.ClendEvents = ClendEvents;
257
+ function parseNumber(value) {
258
+ const maybeNumber = Number(value);
259
+ if (isNaN(maybeNumber)) {
260
+ throw new Error(`Invalid number: ${value}`);
261
+ }
262
+ return maybeNumber;
263
+ }
178
264
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -2789,6 +2789,12 @@ export type Clend = {
2789
2789
  "type": {
2790
2790
  "option": "bool";
2791
2791
  };
2792
+ },
2793
+ {
2794
+ "name": "authorizedLender";
2795
+ "type": {
2796
+ "option": "publicKey";
2797
+ };
2792
2798
  }
2793
2799
  ];
2794
2800
  };
@@ -3499,6 +3505,33 @@ export type Clend = {
3499
3505
  "index": false;
3500
3506
  }
3501
3507
  ];
3508
+ },
3509
+ {
3510
+ "name": "ClendPriceEvent";
3511
+ "fields": [
3512
+ {
3513
+ "name": "header";
3514
+ "type": {
3515
+ "defined": "GroupEventHeader";
3516
+ };
3517
+ "index": false;
3518
+ },
3519
+ {
3520
+ "name": "bank";
3521
+ "type": "publicKey";
3522
+ "index": false;
3523
+ },
3524
+ {
3525
+ "name": "twPrice";
3526
+ "type": "f64";
3527
+ "index": false;
3528
+ },
3529
+ {
3530
+ "name": "rtPrice";
3531
+ "type": "f64";
3532
+ "index": false;
3533
+ }
3534
+ ];
3502
3535
  }
3503
3536
  ];
3504
3537
  "errors": [
@@ -3756,6 +3789,11 @@ export type Clend = {
3756
3789
  "code": 6050;
3757
3790
  "name": "StakePoolValidationFailed";
3758
3791
  "msg": "Stake pool validation failed: check the stake pool, mint, or sol pool";
3792
+ },
3793
+ {
3794
+ "code": 6051;
3795
+ "name": "UnauthorizedLender";
3796
+ "msg": "Unauthorized lender";
3759
3797
  }
3760
3798
  ];
3761
3799
  };
package/dist/idl/clend.js CHANGED
@@ -2792,6 +2792,12 @@ exports.IDL = {
2792
2792
  "type": {
2793
2793
  "option": "bool"
2794
2794
  }
2795
+ },
2796
+ {
2797
+ "name": "authorizedLender",
2798
+ "type": {
2799
+ "option": "publicKey"
2800
+ }
2795
2801
  }
2796
2802
  ]
2797
2803
  }
@@ -3502,6 +3508,33 @@ exports.IDL = {
3502
3508
  "index": false
3503
3509
  }
3504
3510
  ]
3511
+ },
3512
+ {
3513
+ "name": "ClendPriceEvent",
3514
+ "fields": [
3515
+ {
3516
+ "name": "header",
3517
+ "type": {
3518
+ "defined": "GroupEventHeader"
3519
+ },
3520
+ "index": false
3521
+ },
3522
+ {
3523
+ "name": "bank",
3524
+ "type": "publicKey",
3525
+ "index": false
3526
+ },
3527
+ {
3528
+ "name": "twPrice",
3529
+ "type": "f64",
3530
+ "index": false
3531
+ },
3532
+ {
3533
+ "name": "rtPrice",
3534
+ "type": "f64",
3535
+ "index": false
3536
+ }
3537
+ ]
3505
3538
  }
3506
3539
  ],
3507
3540
  "errors": [
@@ -3759,6 +3792,11 @@ exports.IDL = {
3759
3792
  "code": 6050,
3760
3793
  "name": "StakePoolValidationFailed",
3761
3794
  "msg": "Stake pool validation failed: check the stake pool, mint, or sol pool"
3795
+ },
3796
+ {
3797
+ "code": 6051,
3798
+ "name": "UnauthorizedLender",
3799
+ "msg": "Unauthorized lender"
3762
3800
  }
3763
3801
  ]
3764
3802
  };