@haven-fi/solauto-sdk 1.0.667 → 1.0.668

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.
@@ -15,18 +15,18 @@ type ProgramErrorConstructor = new (
15
15
  const codeToErrorMap: Map<number, ProgramErrorConstructor> = new Map();
16
16
  const nameToErrorMap: Map<string, ProgramErrorConstructor> = new Map();
17
17
 
18
- /** MathError: Math error */
19
- export class MathErrorError extends ProgramError {
20
- override readonly name: string = 'MathError';
18
+ /** InternalLogicError: Internal Marginfi logic error */
19
+ export class InternalLogicErrorError extends ProgramError {
20
+ override readonly name: string = 'InternalLogicError';
21
21
 
22
22
  readonly code: number = 0x1770; // 6000
23
23
 
24
24
  constructor(program: Program, cause?: Error) {
25
- super('Math error', program, cause);
25
+ super('Internal Marginfi logic error', program, cause);
26
26
  }
27
27
  }
28
- codeToErrorMap.set(0x1770, MathErrorError);
29
- nameToErrorMap.set('MathError', MathErrorError);
28
+ codeToErrorMap.set(0x1770, InternalLogicErrorError);
29
+ nameToErrorMap.set('InternalLogicError', InternalLogicErrorError);
30
30
 
31
31
  /** BankNotFound: Invalid bank index */
32
32
  export class BankNotFoundError extends ProgramError {
@@ -83,14 +83,14 @@ export class InvalidTransferError extends ProgramError {
83
83
  codeToErrorMap.set(0x1774, InvalidTransferError);
84
84
  nameToErrorMap.set('InvalidTransfer', InvalidTransferError);
85
85
 
86
- /** MissingPythOrBankAccount: Missing Pyth or Bank account */
86
+ /** MissingPythOrBankAccount: Missing Oracle, Bank, LST mint, or Sol Pool */
87
87
  export class MissingPythOrBankAccountError extends ProgramError {
88
88
  override readonly name: string = 'MissingPythOrBankAccount';
89
89
 
90
90
  readonly code: number = 0x1775; // 6005
91
91
 
92
92
  constructor(program: Program, cause?: Error) {
93
- super('Missing Pyth or Bank account', program, cause);
93
+ super('Missing Oracle, Bank, LST mint, or Sol Pool', program, cause);
94
94
  }
95
95
  }
96
96
  codeToErrorMap.set(0x1775, MissingPythOrBankAccountError);
@@ -109,69 +109,60 @@ export class MissingPythAccountError extends ProgramError {
109
109
  codeToErrorMap.set(0x1776, MissingPythAccountError);
110
110
  nameToErrorMap.set('MissingPythAccount', MissingPythAccountError);
111
111
 
112
- /** InvalidOracleAccount: Invalid Pyth account */
113
- export class InvalidOracleAccountError extends ProgramError {
114
- override readonly name: string = 'InvalidOracleAccount';
115
-
116
- readonly code: number = 0x1777; // 6007
117
-
118
- constructor(program: Program, cause?: Error) {
119
- super('Invalid Pyth account', program, cause);
120
- }
121
- }
122
- codeToErrorMap.set(0x1777, InvalidOracleAccountError);
123
- nameToErrorMap.set('InvalidOracleAccount', InvalidOracleAccountError);
124
-
125
112
  /** MissingBankAccount: Missing Bank account */
126
113
  export class MissingBankAccountError extends ProgramError {
127
114
  override readonly name: string = 'MissingBankAccount';
128
115
 
129
- readonly code: number = 0x1778; // 6008
116
+ readonly code: number = 0x1777; // 6007
130
117
 
131
118
  constructor(program: Program, cause?: Error) {
132
119
  super('Missing Bank account', program, cause);
133
120
  }
134
121
  }
135
- codeToErrorMap.set(0x1778, MissingBankAccountError);
122
+ codeToErrorMap.set(0x1777, MissingBankAccountError);
136
123
  nameToErrorMap.set('MissingBankAccount', MissingBankAccountError);
137
124
 
138
125
  /** InvalidBankAccount: Invalid Bank account */
139
126
  export class InvalidBankAccountError extends ProgramError {
140
127
  override readonly name: string = 'InvalidBankAccount';
141
128
 
142
- readonly code: number = 0x1779; // 6009
129
+ readonly code: number = 0x1778; // 6008
143
130
 
144
131
  constructor(program: Program, cause?: Error) {
145
132
  super('Invalid Bank account', program, cause);
146
133
  }
147
134
  }
148
- codeToErrorMap.set(0x1779, InvalidBankAccountError);
135
+ codeToErrorMap.set(0x1778, InvalidBankAccountError);
149
136
  nameToErrorMap.set('InvalidBankAccount', InvalidBankAccountError);
150
137
 
151
- /** BadAccountHealth: Bad account health */
152
- export class BadAccountHealthError extends ProgramError {
153
- override readonly name: string = 'BadAccountHealth';
138
+ /** RiskEngineInitRejected: RiskEngine rejected due to either bad health or stale oracles */
139
+ export class RiskEngineInitRejectedError extends ProgramError {
140
+ override readonly name: string = 'RiskEngineInitRejected';
154
141
 
155
- readonly code: number = 0x177a; // 6010
142
+ readonly code: number = 0x1779; // 6009
156
143
 
157
144
  constructor(program: Program, cause?: Error) {
158
- super('Bad account health', program, cause);
145
+ super(
146
+ 'RiskEngine rejected due to either bad health or stale oracles',
147
+ program,
148
+ cause
149
+ );
159
150
  }
160
151
  }
161
- codeToErrorMap.set(0x177a, BadAccountHealthError);
162
- nameToErrorMap.set('BadAccountHealth', BadAccountHealthError);
152
+ codeToErrorMap.set(0x1779, RiskEngineInitRejectedError);
153
+ nameToErrorMap.set('RiskEngineInitRejected', RiskEngineInitRejectedError);
163
154
 
164
155
  /** LendingAccountBalanceSlotsFull: Lending account balance slots are full */
165
156
  export class LendingAccountBalanceSlotsFullError extends ProgramError {
166
157
  override readonly name: string = 'LendingAccountBalanceSlotsFull';
167
158
 
168
- readonly code: number = 0x177b; // 6011
159
+ readonly code: number = 0x177a; // 6010
169
160
 
170
161
  constructor(program: Program, cause?: Error) {
171
162
  super('Lending account balance slots are full', program, cause);
172
163
  }
173
164
  }
174
- codeToErrorMap.set(0x177b, LendingAccountBalanceSlotsFullError);
165
+ codeToErrorMap.set(0x177a, LendingAccountBalanceSlotsFullError);
175
166
  nameToErrorMap.set(
176
167
  'LendingAccountBalanceSlotsFull',
177
168
  LendingAccountBalanceSlotsFullError
@@ -181,234 +172,221 @@ nameToErrorMap.set(
181
172
  export class BankAlreadyExistsError extends ProgramError {
182
173
  override readonly name: string = 'BankAlreadyExists';
183
174
 
184
- readonly code: number = 0x177c; // 6012
175
+ readonly code: number = 0x177b; // 6011
185
176
 
186
177
  constructor(program: Program, cause?: Error) {
187
178
  super('Bank already exists', program, cause);
188
179
  }
189
180
  }
190
- codeToErrorMap.set(0x177c, BankAlreadyExistsError);
181
+ codeToErrorMap.set(0x177b, BankAlreadyExistsError);
191
182
  nameToErrorMap.set('BankAlreadyExists', BankAlreadyExistsError);
192
183
 
193
- /** IllegalLiquidation: Illegal liquidation */
194
- export class IllegalLiquidationError extends ProgramError {
195
- override readonly name: string = 'IllegalLiquidation';
184
+ /** ZeroLiquidationAmount: Amount to liquidate must be positive */
185
+ export class ZeroLiquidationAmountError extends ProgramError {
186
+ override readonly name: string = 'ZeroLiquidationAmount';
196
187
 
197
- readonly code: number = 0x177d; // 6013
188
+ readonly code: number = 0x177c; // 6012
198
189
 
199
190
  constructor(program: Program, cause?: Error) {
200
- super('Illegal liquidation', program, cause);
191
+ super('Amount to liquidate must be positive', program, cause);
201
192
  }
202
193
  }
203
- codeToErrorMap.set(0x177d, IllegalLiquidationError);
204
- nameToErrorMap.set('IllegalLiquidation', IllegalLiquidationError);
194
+ codeToErrorMap.set(0x177c, ZeroLiquidationAmountError);
195
+ nameToErrorMap.set('ZeroLiquidationAmount', ZeroLiquidationAmountError);
205
196
 
206
197
  /** AccountNotBankrupt: Account is not bankrupt */
207
198
  export class AccountNotBankruptError extends ProgramError {
208
199
  override readonly name: string = 'AccountNotBankrupt';
209
200
 
210
- readonly code: number = 0x177e; // 6014
201
+ readonly code: number = 0x177d; // 6013
211
202
 
212
203
  constructor(program: Program, cause?: Error) {
213
204
  super('Account is not bankrupt', program, cause);
214
205
  }
215
206
  }
216
- codeToErrorMap.set(0x177e, AccountNotBankruptError);
207
+ codeToErrorMap.set(0x177d, AccountNotBankruptError);
217
208
  nameToErrorMap.set('AccountNotBankrupt', AccountNotBankruptError);
218
209
 
219
210
  /** BalanceNotBadDebt: Account balance is not bad debt */
220
211
  export class BalanceNotBadDebtError extends ProgramError {
221
212
  override readonly name: string = 'BalanceNotBadDebt';
222
213
 
223
- readonly code: number = 0x177f; // 6015
214
+ readonly code: number = 0x177e; // 6014
224
215
 
225
216
  constructor(program: Program, cause?: Error) {
226
217
  super('Account balance is not bad debt', program, cause);
227
218
  }
228
219
  }
229
- codeToErrorMap.set(0x177f, BalanceNotBadDebtError);
220
+ codeToErrorMap.set(0x177e, BalanceNotBadDebtError);
230
221
  nameToErrorMap.set('BalanceNotBadDebt', BalanceNotBadDebtError);
231
222
 
232
223
  /** InvalidConfig: Invalid group config */
233
224
  export class InvalidConfigError extends ProgramError {
234
225
  override readonly name: string = 'InvalidConfig';
235
226
 
236
- readonly code: number = 0x1780; // 6016
227
+ readonly code: number = 0x177f; // 6015
237
228
 
238
229
  constructor(program: Program, cause?: Error) {
239
230
  super('Invalid group config', program, cause);
240
231
  }
241
232
  }
242
- codeToErrorMap.set(0x1780, InvalidConfigError);
233
+ codeToErrorMap.set(0x177f, InvalidConfigError);
243
234
  nameToErrorMap.set('InvalidConfig', InvalidConfigError);
244
235
 
245
- /** StaleOracle: Stale oracle data */
246
- export class StaleOracleError extends ProgramError {
247
- override readonly name: string = 'StaleOracle';
248
-
249
- readonly code: number = 0x1781; // 6017
250
-
251
- constructor(program: Program, cause?: Error) {
252
- super('Stale oracle data', program, cause);
253
- }
254
- }
255
- codeToErrorMap.set(0x1781, StaleOracleError);
256
- nameToErrorMap.set('StaleOracle', StaleOracleError);
257
-
258
236
  /** BankPaused: Bank paused */
259
237
  export class BankPausedError extends ProgramError {
260
238
  override readonly name: string = 'BankPaused';
261
239
 
262
- readonly code: number = 0x1782; // 6018
240
+ readonly code: number = 0x1780; // 6016
263
241
 
264
242
  constructor(program: Program, cause?: Error) {
265
243
  super('Bank paused', program, cause);
266
244
  }
267
245
  }
268
- codeToErrorMap.set(0x1782, BankPausedError);
246
+ codeToErrorMap.set(0x1780, BankPausedError);
269
247
  nameToErrorMap.set('BankPaused', BankPausedError);
270
248
 
271
249
  /** BankReduceOnly: Bank is ReduceOnly mode */
272
250
  export class BankReduceOnlyError extends ProgramError {
273
251
  override readonly name: string = 'BankReduceOnly';
274
252
 
275
- readonly code: number = 0x1783; // 6019
253
+ readonly code: number = 0x1781; // 6017
276
254
 
277
255
  constructor(program: Program, cause?: Error) {
278
256
  super('Bank is ReduceOnly mode', program, cause);
279
257
  }
280
258
  }
281
- codeToErrorMap.set(0x1783, BankReduceOnlyError);
259
+ codeToErrorMap.set(0x1781, BankReduceOnlyError);
282
260
  nameToErrorMap.set('BankReduceOnly', BankReduceOnlyError);
283
261
 
284
- /** BankAccoutNotFound: Bank is missing */
285
- export class BankAccoutNotFoundError extends ProgramError {
286
- override readonly name: string = 'BankAccoutNotFound';
262
+ /** BankAccountNotFound: Bank is missing */
263
+ export class BankAccountNotFoundError extends ProgramError {
264
+ override readonly name: string = 'BankAccountNotFound';
287
265
 
288
- readonly code: number = 0x1784; // 6020
266
+ readonly code: number = 0x1782; // 6018
289
267
 
290
268
  constructor(program: Program, cause?: Error) {
291
269
  super('Bank is missing', program, cause);
292
270
  }
293
271
  }
294
- codeToErrorMap.set(0x1784, BankAccoutNotFoundError);
295
- nameToErrorMap.set('BankAccoutNotFound', BankAccoutNotFoundError);
272
+ codeToErrorMap.set(0x1782, BankAccountNotFoundError);
273
+ nameToErrorMap.set('BankAccountNotFound', BankAccountNotFoundError);
296
274
 
297
275
  /** OperationDepositOnly: Operation is deposit-only */
298
276
  export class OperationDepositOnlyError extends ProgramError {
299
277
  override readonly name: string = 'OperationDepositOnly';
300
278
 
301
- readonly code: number = 0x1785; // 6021
279
+ readonly code: number = 0x1783; // 6019
302
280
 
303
281
  constructor(program: Program, cause?: Error) {
304
282
  super('Operation is deposit-only', program, cause);
305
283
  }
306
284
  }
307
- codeToErrorMap.set(0x1785, OperationDepositOnlyError);
285
+ codeToErrorMap.set(0x1783, OperationDepositOnlyError);
308
286
  nameToErrorMap.set('OperationDepositOnly', OperationDepositOnlyError);
309
287
 
310
288
  /** OperationWithdrawOnly: Operation is withdraw-only */
311
289
  export class OperationWithdrawOnlyError extends ProgramError {
312
290
  override readonly name: string = 'OperationWithdrawOnly';
313
291
 
314
- readonly code: number = 0x1786; // 6022
292
+ readonly code: number = 0x1784; // 6020
315
293
 
316
294
  constructor(program: Program, cause?: Error) {
317
295
  super('Operation is withdraw-only', program, cause);
318
296
  }
319
297
  }
320
- codeToErrorMap.set(0x1786, OperationWithdrawOnlyError);
298
+ codeToErrorMap.set(0x1784, OperationWithdrawOnlyError);
321
299
  nameToErrorMap.set('OperationWithdrawOnly', OperationWithdrawOnlyError);
322
300
 
323
301
  /** OperationBorrowOnly: Operation is borrow-only */
324
302
  export class OperationBorrowOnlyError extends ProgramError {
325
303
  override readonly name: string = 'OperationBorrowOnly';
326
304
 
327
- readonly code: number = 0x1787; // 6023
305
+ readonly code: number = 0x1785; // 6021
328
306
 
329
307
  constructor(program: Program, cause?: Error) {
330
308
  super('Operation is borrow-only', program, cause);
331
309
  }
332
310
  }
333
- codeToErrorMap.set(0x1787, OperationBorrowOnlyError);
311
+ codeToErrorMap.set(0x1785, OperationBorrowOnlyError);
334
312
  nameToErrorMap.set('OperationBorrowOnly', OperationBorrowOnlyError);
335
313
 
336
314
  /** OperationRepayOnly: Operation is repay-only */
337
315
  export class OperationRepayOnlyError extends ProgramError {
338
316
  override readonly name: string = 'OperationRepayOnly';
339
317
 
340
- readonly code: number = 0x1788; // 6024
318
+ readonly code: number = 0x1786; // 6022
341
319
 
342
320
  constructor(program: Program, cause?: Error) {
343
321
  super('Operation is repay-only', program, cause);
344
322
  }
345
323
  }
346
- codeToErrorMap.set(0x1788, OperationRepayOnlyError);
324
+ codeToErrorMap.set(0x1786, OperationRepayOnlyError);
347
325
  nameToErrorMap.set('OperationRepayOnly', OperationRepayOnlyError);
348
326
 
349
327
  /** NoAssetFound: No asset found */
350
328
  export class NoAssetFoundError extends ProgramError {
351
329
  override readonly name: string = 'NoAssetFound';
352
330
 
353
- readonly code: number = 0x1789; // 6025
331
+ readonly code: number = 0x1787; // 6023
354
332
 
355
333
  constructor(program: Program, cause?: Error) {
356
334
  super('No asset found', program, cause);
357
335
  }
358
336
  }
359
- codeToErrorMap.set(0x1789, NoAssetFoundError);
337
+ codeToErrorMap.set(0x1787, NoAssetFoundError);
360
338
  nameToErrorMap.set('NoAssetFound', NoAssetFoundError);
361
339
 
362
340
  /** NoLiabilityFound: No liability found */
363
341
  export class NoLiabilityFoundError extends ProgramError {
364
342
  override readonly name: string = 'NoLiabilityFound';
365
343
 
366
- readonly code: number = 0x178a; // 6026
344
+ readonly code: number = 0x1788; // 6024
367
345
 
368
346
  constructor(program: Program, cause?: Error) {
369
347
  super('No liability found', program, cause);
370
348
  }
371
349
  }
372
- codeToErrorMap.set(0x178a, NoLiabilityFoundError);
350
+ codeToErrorMap.set(0x1788, NoLiabilityFoundError);
373
351
  nameToErrorMap.set('NoLiabilityFound', NoLiabilityFoundError);
374
352
 
375
353
  /** InvalidOracleSetup: Invalid oracle setup */
376
354
  export class InvalidOracleSetupError extends ProgramError {
377
355
  override readonly name: string = 'InvalidOracleSetup';
378
356
 
379
- readonly code: number = 0x178b; // 6027
357
+ readonly code: number = 0x1789; // 6025
380
358
 
381
359
  constructor(program: Program, cause?: Error) {
382
360
  super('Invalid oracle setup', program, cause);
383
361
  }
384
362
  }
385
- codeToErrorMap.set(0x178b, InvalidOracleSetupError);
363
+ codeToErrorMap.set(0x1789, InvalidOracleSetupError);
386
364
  nameToErrorMap.set('InvalidOracleSetup', InvalidOracleSetupError);
387
365
 
388
366
  /** IllegalUtilizationRatio: Invalid bank utilization ratio */
389
367
  export class IllegalUtilizationRatioError extends ProgramError {
390
368
  override readonly name: string = 'IllegalUtilizationRatio';
391
369
 
392
- readonly code: number = 0x178c; // 6028
370
+ readonly code: number = 0x178a; // 6026
393
371
 
394
372
  constructor(program: Program, cause?: Error) {
395
373
  super('Invalid bank utilization ratio', program, cause);
396
374
  }
397
375
  }
398
- codeToErrorMap.set(0x178c, IllegalUtilizationRatioError);
376
+ codeToErrorMap.set(0x178a, IllegalUtilizationRatioError);
399
377
  nameToErrorMap.set('IllegalUtilizationRatio', IllegalUtilizationRatioError);
400
378
 
401
379
  /** BankLiabilityCapacityExceeded: Bank borrow cap exceeded */
402
380
  export class BankLiabilityCapacityExceededError extends ProgramError {
403
381
  override readonly name: string = 'BankLiabilityCapacityExceeded';
404
382
 
405
- readonly code: number = 0x178d; // 6029
383
+ readonly code: number = 0x178b; // 6027
406
384
 
407
385
  constructor(program: Program, cause?: Error) {
408
386
  super('Bank borrow cap exceeded', program, cause);
409
387
  }
410
388
  }
411
- codeToErrorMap.set(0x178d, BankLiabilityCapacityExceededError);
389
+ codeToErrorMap.set(0x178b, BankLiabilityCapacityExceededError);
412
390
  nameToErrorMap.set(
413
391
  'BankLiabilityCapacityExceeded',
414
392
  BankLiabilityCapacityExceededError
@@ -418,30 +396,30 @@ nameToErrorMap.set(
418
396
  export class InvalidPriceError extends ProgramError {
419
397
  override readonly name: string = 'InvalidPrice';
420
398
 
421
- readonly code: number = 0x178e; // 6030
399
+ readonly code: number = 0x178c; // 6028
422
400
 
423
401
  constructor(program: Program, cause?: Error) {
424
402
  super('Invalid Price', program, cause);
425
403
  }
426
404
  }
427
- codeToErrorMap.set(0x178e, InvalidPriceError);
405
+ codeToErrorMap.set(0x178c, InvalidPriceError);
428
406
  nameToErrorMap.set('InvalidPrice', InvalidPriceError);
429
407
 
430
- /** IsolatedAccountIllegalState: Account can have only one liablity when account is under isolated risk */
408
+ /** IsolatedAccountIllegalState: Account can have only one liability when account is under isolated risk */
431
409
  export class IsolatedAccountIllegalStateError extends ProgramError {
432
410
  override readonly name: string = 'IsolatedAccountIllegalState';
433
411
 
434
- readonly code: number = 0x178f; // 6031
412
+ readonly code: number = 0x178d; // 6029
435
413
 
436
414
  constructor(program: Program, cause?: Error) {
437
415
  super(
438
- 'Account can have only one liablity when account is under isolated risk',
416
+ 'Account can have only one liability when account is under isolated risk',
439
417
  program,
440
418
  cause
441
419
  );
442
420
  }
443
421
  }
444
- codeToErrorMap.set(0x178f, IsolatedAccountIllegalStateError);
422
+ codeToErrorMap.set(0x178d, IsolatedAccountIllegalStateError);
445
423
  nameToErrorMap.set(
446
424
  'IsolatedAccountIllegalState',
447
425
  IsolatedAccountIllegalStateError
@@ -451,39 +429,39 @@ nameToErrorMap.set(
451
429
  export class EmissionsAlreadySetupError extends ProgramError {
452
430
  override readonly name: string = 'EmissionsAlreadySetup';
453
431
 
454
- readonly code: number = 0x1790; // 6032
432
+ readonly code: number = 0x178e; // 6030
455
433
 
456
434
  constructor(program: Program, cause?: Error) {
457
435
  super('Emissions already setup', program, cause);
458
436
  }
459
437
  }
460
- codeToErrorMap.set(0x1790, EmissionsAlreadySetupError);
438
+ codeToErrorMap.set(0x178e, EmissionsAlreadySetupError);
461
439
  nameToErrorMap.set('EmissionsAlreadySetup', EmissionsAlreadySetupError);
462
440
 
463
441
  /** OracleNotSetup: Oracle is not set */
464
442
  export class OracleNotSetupError extends ProgramError {
465
443
  override readonly name: string = 'OracleNotSetup';
466
444
 
467
- readonly code: number = 0x1791; // 6033
445
+ readonly code: number = 0x178f; // 6031
468
446
 
469
447
  constructor(program: Program, cause?: Error) {
470
448
  super('Oracle is not set', program, cause);
471
449
  }
472
450
  }
473
- codeToErrorMap.set(0x1791, OracleNotSetupError);
451
+ codeToErrorMap.set(0x178f, OracleNotSetupError);
474
452
  nameToErrorMap.set('OracleNotSetup', OracleNotSetupError);
475
453
 
476
- /** InvalidSwitchboardDecimalConversion: Invalid swithcboard decimal conversion */
454
+ /** InvalidSwitchboardDecimalConversion: Invalid switchboard decimal conversion */
477
455
  export class InvalidSwitchboardDecimalConversionError extends ProgramError {
478
456
  override readonly name: string = 'InvalidSwitchboardDecimalConversion';
479
457
 
480
- readonly code: number = 0x1792; // 6034
458
+ readonly code: number = 0x1790; // 6032
481
459
 
482
460
  constructor(program: Program, cause?: Error) {
483
- super('Invalid swithcboard decimal conversion', program, cause);
461
+ super('Invalid switchboard decimal conversion', program, cause);
484
462
  }
485
463
  }
486
- codeToErrorMap.set(0x1792, InvalidSwitchboardDecimalConversionError);
464
+ codeToErrorMap.set(0x1790, InvalidSwitchboardDecimalConversionError);
487
465
  nameToErrorMap.set(
488
466
  'InvalidSwitchboardDecimalConversion',
489
467
  InvalidSwitchboardDecimalConversionError
@@ -493,7 +471,7 @@ nameToErrorMap.set(
493
471
  export class CannotCloseOutstandingEmissionsError extends ProgramError {
494
472
  override readonly name: string = 'CannotCloseOutstandingEmissions';
495
473
 
496
- readonly code: number = 0x1793; // 6035
474
+ readonly code: number = 0x1791; // 6033
497
475
 
498
476
  constructor(program: Program, cause?: Error) {
499
477
  super(
@@ -503,7 +481,7 @@ export class CannotCloseOutstandingEmissionsError extends ProgramError {
503
481
  );
504
482
  }
505
483
  }
506
- codeToErrorMap.set(0x1793, CannotCloseOutstandingEmissionsError);
484
+ codeToErrorMap.set(0x1791, CannotCloseOutstandingEmissionsError);
507
485
  nameToErrorMap.set(
508
486
  'CannotCloseOutstandingEmissions',
509
487
  CannotCloseOutstandingEmissionsError
@@ -513,33 +491,33 @@ nameToErrorMap.set(
513
491
  export class EmissionsUpdateErrorError extends ProgramError {
514
492
  override readonly name: string = 'EmissionsUpdateError';
515
493
 
516
- readonly code: number = 0x1794; // 6036
494
+ readonly code: number = 0x1792; // 6034
517
495
 
518
496
  constructor(program: Program, cause?: Error) {
519
497
  super('Update emissions error', program, cause);
520
498
  }
521
499
  }
522
- codeToErrorMap.set(0x1794, EmissionsUpdateErrorError);
500
+ codeToErrorMap.set(0x1792, EmissionsUpdateErrorError);
523
501
  nameToErrorMap.set('EmissionsUpdateError', EmissionsUpdateErrorError);
524
502
 
525
503
  /** AccountDisabled: Account disabled */
526
504
  export class AccountDisabledError extends ProgramError {
527
505
  override readonly name: string = 'AccountDisabled';
528
506
 
529
- readonly code: number = 0x1795; // 6037
507
+ readonly code: number = 0x1793; // 6035
530
508
 
531
509
  constructor(program: Program, cause?: Error) {
532
510
  super('Account disabled', program, cause);
533
511
  }
534
512
  }
535
- codeToErrorMap.set(0x1795, AccountDisabledError);
513
+ codeToErrorMap.set(0x1793, AccountDisabledError);
536
514
  nameToErrorMap.set('AccountDisabled', AccountDisabledError);
537
515
 
538
516
  /** AccountTempActiveBalanceLimitExceeded: Account can't temporarily open 3 balances, please close a balance first */
539
517
  export class AccountTempActiveBalanceLimitExceededError extends ProgramError {
540
518
  override readonly name: string = 'AccountTempActiveBalanceLimitExceeded';
541
519
 
542
- readonly code: number = 0x1796; // 6038
520
+ readonly code: number = 0x1794; // 6036
543
521
 
544
522
  constructor(program: Program, cause?: Error) {
545
523
  super(
@@ -549,7 +527,7 @@ export class AccountTempActiveBalanceLimitExceededError extends ProgramError {
549
527
  );
550
528
  }
551
529
  }
552
- codeToErrorMap.set(0x1796, AccountTempActiveBalanceLimitExceededError);
530
+ codeToErrorMap.set(0x1794, AccountTempActiveBalanceLimitExceededError);
553
531
  nameToErrorMap.set(
554
532
  'AccountTempActiveBalanceLimitExceeded',
555
533
  AccountTempActiveBalanceLimitExceededError
@@ -559,70 +537,553 @@ nameToErrorMap.set(
559
537
  export class AccountInFlashloanError extends ProgramError {
560
538
  override readonly name: string = 'AccountInFlashloan';
561
539
 
562
- readonly code: number = 0x1797; // 6039
540
+ readonly code: number = 0x1795; // 6037
563
541
 
564
542
  constructor(program: Program, cause?: Error) {
565
543
  super('Illegal action during flashloan', program, cause);
566
544
  }
567
545
  }
568
- codeToErrorMap.set(0x1797, AccountInFlashloanError);
546
+ codeToErrorMap.set(0x1795, AccountInFlashloanError);
569
547
  nameToErrorMap.set('AccountInFlashloan', AccountInFlashloanError);
570
548
 
571
549
  /** IllegalFlashloan: Illegal flashloan */
572
550
  export class IllegalFlashloanError extends ProgramError {
573
551
  override readonly name: string = 'IllegalFlashloan';
574
552
 
575
- readonly code: number = 0x1798; // 6040
553
+ readonly code: number = 0x1796; // 6038
576
554
 
577
555
  constructor(program: Program, cause?: Error) {
578
556
  super('Illegal flashloan', program, cause);
579
557
  }
580
558
  }
581
- codeToErrorMap.set(0x1798, IllegalFlashloanError);
559
+ codeToErrorMap.set(0x1796, IllegalFlashloanError);
582
560
  nameToErrorMap.set('IllegalFlashloan', IllegalFlashloanError);
583
561
 
584
562
  /** IllegalFlag: Illegal flag */
585
563
  export class IllegalFlagError extends ProgramError {
586
564
  override readonly name: string = 'IllegalFlag';
587
565
 
588
- readonly code: number = 0x1799; // 6041
566
+ readonly code: number = 0x1797; // 6039
589
567
 
590
568
  constructor(program: Program, cause?: Error) {
591
569
  super('Illegal flag', program, cause);
592
570
  }
593
571
  }
594
- codeToErrorMap.set(0x1799, IllegalFlagError);
572
+ codeToErrorMap.set(0x1797, IllegalFlagError);
595
573
  nameToErrorMap.set('IllegalFlag', IllegalFlagError);
596
574
 
597
575
  /** IllegalBalanceState: Illegal balance state */
598
576
  export class IllegalBalanceStateError extends ProgramError {
599
577
  override readonly name: string = 'IllegalBalanceState';
600
578
 
601
- readonly code: number = 0x179a; // 6042
579
+ readonly code: number = 0x1798; // 6040
602
580
 
603
581
  constructor(program: Program, cause?: Error) {
604
582
  super('Illegal balance state', program, cause);
605
583
  }
606
584
  }
607
- codeToErrorMap.set(0x179a, IllegalBalanceStateError);
585
+ codeToErrorMap.set(0x1798, IllegalBalanceStateError);
608
586
  nameToErrorMap.set('IllegalBalanceState', IllegalBalanceStateError);
609
587
 
610
588
  /** IllegalAccountAuthorityTransfer: Illegal account authority transfer */
611
589
  export class IllegalAccountAuthorityTransferError extends ProgramError {
612
590
  override readonly name: string = 'IllegalAccountAuthorityTransfer';
613
591
 
614
- readonly code: number = 0x179b; // 6043
592
+ readonly code: number = 0x1799; // 6041
615
593
 
616
594
  constructor(program: Program, cause?: Error) {
617
595
  super('Illegal account authority transfer', program, cause);
618
596
  }
619
597
  }
620
- codeToErrorMap.set(0x179b, IllegalAccountAuthorityTransferError);
598
+ codeToErrorMap.set(0x1799, IllegalAccountAuthorityTransferError);
621
599
  nameToErrorMap.set(
622
600
  'IllegalAccountAuthorityTransfer',
623
601
  IllegalAccountAuthorityTransferError
624
602
  );
625
603
 
604
+ /** Unauthorized: Unauthorized */
605
+ export class UnauthorizedError extends ProgramError {
606
+ override readonly name: string = 'Unauthorized';
607
+
608
+ readonly code: number = 0x179a; // 6042
609
+
610
+ constructor(program: Program, cause?: Error) {
611
+ super('Unauthorized', program, cause);
612
+ }
613
+ }
614
+ codeToErrorMap.set(0x179a, UnauthorizedError);
615
+ nameToErrorMap.set('Unauthorized', UnauthorizedError);
616
+
617
+ /** IllegalAction: Invalid account authority */
618
+ export class IllegalActionError extends ProgramError {
619
+ override readonly name: string = 'IllegalAction';
620
+
621
+ readonly code: number = 0x179b; // 6043
622
+
623
+ constructor(program: Program, cause?: Error) {
624
+ super('Invalid account authority', program, cause);
625
+ }
626
+ }
627
+ codeToErrorMap.set(0x179b, IllegalActionError);
628
+ nameToErrorMap.set('IllegalAction', IllegalActionError);
629
+
630
+ /** T22MintRequired: Token22 Banks require mint account as first remaining account */
631
+ export class T22MintRequiredError extends ProgramError {
632
+ override readonly name: string = 'T22MintRequired';
633
+
634
+ readonly code: number = 0x179c; // 6044
635
+
636
+ constructor(program: Program, cause?: Error) {
637
+ super(
638
+ 'Token22 Banks require mint account as first remaining account',
639
+ program,
640
+ cause
641
+ );
642
+ }
643
+ }
644
+ codeToErrorMap.set(0x179c, T22MintRequiredError);
645
+ nameToErrorMap.set('T22MintRequired', T22MintRequiredError);
646
+
647
+ /** InvalidFeeAta: Invalid ATA for global fee account */
648
+ export class InvalidFeeAtaError extends ProgramError {
649
+ override readonly name: string = 'InvalidFeeAta';
650
+
651
+ readonly code: number = 0x179d; // 6045
652
+
653
+ constructor(program: Program, cause?: Error) {
654
+ super('Invalid ATA for global fee account', program, cause);
655
+ }
656
+ }
657
+ codeToErrorMap.set(0x179d, InvalidFeeAtaError);
658
+ nameToErrorMap.set('InvalidFeeAta', InvalidFeeAtaError);
659
+
660
+ /** AddedStakedPoolManually: Use add pool permissionless instead */
661
+ export class AddedStakedPoolManuallyError extends ProgramError {
662
+ override readonly name: string = 'AddedStakedPoolManually';
663
+
664
+ readonly code: number = 0x179e; // 6046
665
+
666
+ constructor(program: Program, cause?: Error) {
667
+ super('Use add pool permissionless instead', program, cause);
668
+ }
669
+ }
670
+ codeToErrorMap.set(0x179e, AddedStakedPoolManuallyError);
671
+ nameToErrorMap.set('AddedStakedPoolManually', AddedStakedPoolManuallyError);
672
+
673
+ /** AssetTagMismatch: Staked SOL accounts can only deposit staked assets and borrow SOL */
674
+ export class AssetTagMismatchError extends ProgramError {
675
+ override readonly name: string = 'AssetTagMismatch';
676
+
677
+ readonly code: number = 0x179f; // 6047
678
+
679
+ constructor(program: Program, cause?: Error) {
680
+ super(
681
+ 'Staked SOL accounts can only deposit staked assets and borrow SOL',
682
+ program,
683
+ cause
684
+ );
685
+ }
686
+ }
687
+ codeToErrorMap.set(0x179f, AssetTagMismatchError);
688
+ nameToErrorMap.set('AssetTagMismatch', AssetTagMismatchError);
689
+
690
+ /** StakePoolValidationFailed: Stake pool validation failed: check the stake pool, mint, or sol pool */
691
+ export class StakePoolValidationFailedError extends ProgramError {
692
+ override readonly name: string = 'StakePoolValidationFailed';
693
+
694
+ readonly code: number = 0x17a0; // 6048
695
+
696
+ constructor(program: Program, cause?: Error) {
697
+ super(
698
+ 'Stake pool validation failed: check the stake pool, mint, or sol pool',
699
+ program,
700
+ cause
701
+ );
702
+ }
703
+ }
704
+ codeToErrorMap.set(0x17a0, StakePoolValidationFailedError);
705
+ nameToErrorMap.set('StakePoolValidationFailed', StakePoolValidationFailedError);
706
+
707
+ /** SwitchboardStalePrice: Switchboard oracle: stale price */
708
+ export class SwitchboardStalePriceError extends ProgramError {
709
+ override readonly name: string = 'SwitchboardStalePrice';
710
+
711
+ readonly code: number = 0x17a1; // 6049
712
+
713
+ constructor(program: Program, cause?: Error) {
714
+ super('Switchboard oracle: stale price', program, cause);
715
+ }
716
+ }
717
+ codeToErrorMap.set(0x17a1, SwitchboardStalePriceError);
718
+ nameToErrorMap.set('SwitchboardStalePrice', SwitchboardStalePriceError);
719
+
720
+ /** PythPushStalePrice: Pyth Push oracle: stale price */
721
+ export class PythPushStalePriceError extends ProgramError {
722
+ override readonly name: string = 'PythPushStalePrice';
723
+
724
+ readonly code: number = 0x17a2; // 6050
725
+
726
+ constructor(program: Program, cause?: Error) {
727
+ super('Pyth Push oracle: stale price', program, cause);
728
+ }
729
+ }
730
+ codeToErrorMap.set(0x17a2, PythPushStalePriceError);
731
+ nameToErrorMap.set('PythPushStalePrice', PythPushStalePriceError);
732
+
733
+ /** WrongNumberOfOracleAccounts: Oracle error: wrong number of accounts */
734
+ export class WrongNumberOfOracleAccountsError extends ProgramError {
735
+ override readonly name: string = 'WrongNumberOfOracleAccounts';
736
+
737
+ readonly code: number = 0x17a3; // 6051
738
+
739
+ constructor(program: Program, cause?: Error) {
740
+ super('Oracle error: wrong number of accounts', program, cause);
741
+ }
742
+ }
743
+ codeToErrorMap.set(0x17a3, WrongNumberOfOracleAccountsError);
744
+ nameToErrorMap.set(
745
+ 'WrongNumberOfOracleAccounts',
746
+ WrongNumberOfOracleAccountsError
747
+ );
748
+
749
+ /** WrongOracleAccountKeys: Oracle error: wrong account keys */
750
+ export class WrongOracleAccountKeysError extends ProgramError {
751
+ override readonly name: string = 'WrongOracleAccountKeys';
752
+
753
+ readonly code: number = 0x17a4; // 6052
754
+
755
+ constructor(program: Program, cause?: Error) {
756
+ super('Oracle error: wrong account keys', program, cause);
757
+ }
758
+ }
759
+ codeToErrorMap.set(0x17a4, WrongOracleAccountKeysError);
760
+ nameToErrorMap.set('WrongOracleAccountKeys', WrongOracleAccountKeysError);
761
+
762
+ /** PythPushWrongAccountOwner: Pyth Push oracle: wrong account owner */
763
+ export class PythPushWrongAccountOwnerError extends ProgramError {
764
+ override readonly name: string = 'PythPushWrongAccountOwner';
765
+
766
+ readonly code: number = 0x17a5; // 6053
767
+
768
+ constructor(program: Program, cause?: Error) {
769
+ super('Pyth Push oracle: wrong account owner', program, cause);
770
+ }
771
+ }
772
+ codeToErrorMap.set(0x17a5, PythPushWrongAccountOwnerError);
773
+ nameToErrorMap.set('PythPushWrongAccountOwner', PythPushWrongAccountOwnerError);
774
+
775
+ /** StakedPythPushWrongAccountOwner: Staked Pyth Push oracle: wrong account owner */
776
+ export class StakedPythPushWrongAccountOwnerError extends ProgramError {
777
+ override readonly name: string = 'StakedPythPushWrongAccountOwner';
778
+
779
+ readonly code: number = 0x17a6; // 6054
780
+
781
+ constructor(program: Program, cause?: Error) {
782
+ super('Staked Pyth Push oracle: wrong account owner', program, cause);
783
+ }
784
+ }
785
+ codeToErrorMap.set(0x17a6, StakedPythPushWrongAccountOwnerError);
786
+ nameToErrorMap.set(
787
+ 'StakedPythPushWrongAccountOwner',
788
+ StakedPythPushWrongAccountOwnerError
789
+ );
790
+
791
+ /** PythPushMismatchedFeedId: Pyth Push oracle: mismatched feed id */
792
+ export class PythPushMismatchedFeedIdError extends ProgramError {
793
+ override readonly name: string = 'PythPushMismatchedFeedId';
794
+
795
+ readonly code: number = 0x17a7; // 6055
796
+
797
+ constructor(program: Program, cause?: Error) {
798
+ super('Pyth Push oracle: mismatched feed id', program, cause);
799
+ }
800
+ }
801
+ codeToErrorMap.set(0x17a7, PythPushMismatchedFeedIdError);
802
+ nameToErrorMap.set('PythPushMismatchedFeedId', PythPushMismatchedFeedIdError);
803
+
804
+ /** PythPushInsufficientVerificationLevel: Pyth Push oracle: insufficient verification level */
805
+ export class PythPushInsufficientVerificationLevelError extends ProgramError {
806
+ override readonly name: string = 'PythPushInsufficientVerificationLevel';
807
+
808
+ readonly code: number = 0x17a8; // 6056
809
+
810
+ constructor(program: Program, cause?: Error) {
811
+ super('Pyth Push oracle: insufficient verification level', program, cause);
812
+ }
813
+ }
814
+ codeToErrorMap.set(0x17a8, PythPushInsufficientVerificationLevelError);
815
+ nameToErrorMap.set(
816
+ 'PythPushInsufficientVerificationLevel',
817
+ PythPushInsufficientVerificationLevelError
818
+ );
819
+
820
+ /** PythPushFeedIdMustBe32Bytes: Pyth Push oracle: feed id must be 32 Bytes */
821
+ export class PythPushFeedIdMustBe32BytesError extends ProgramError {
822
+ override readonly name: string = 'PythPushFeedIdMustBe32Bytes';
823
+
824
+ readonly code: number = 0x17a9; // 6057
825
+
826
+ constructor(program: Program, cause?: Error) {
827
+ super('Pyth Push oracle: feed id must be 32 Bytes', program, cause);
828
+ }
829
+ }
830
+ codeToErrorMap.set(0x17a9, PythPushFeedIdMustBe32BytesError);
831
+ nameToErrorMap.set(
832
+ 'PythPushFeedIdMustBe32Bytes',
833
+ PythPushFeedIdMustBe32BytesError
834
+ );
835
+
836
+ /** PythPushFeedIdNonHexCharacter: Pyth Push oracle: feed id contains non-hex characters */
837
+ export class PythPushFeedIdNonHexCharacterError extends ProgramError {
838
+ override readonly name: string = 'PythPushFeedIdNonHexCharacter';
839
+
840
+ readonly code: number = 0x17aa; // 6058
841
+
842
+ constructor(program: Program, cause?: Error) {
843
+ super(
844
+ 'Pyth Push oracle: feed id contains non-hex characters',
845
+ program,
846
+ cause
847
+ );
848
+ }
849
+ }
850
+ codeToErrorMap.set(0x17aa, PythPushFeedIdNonHexCharacterError);
851
+ nameToErrorMap.set(
852
+ 'PythPushFeedIdNonHexCharacter',
853
+ PythPushFeedIdNonHexCharacterError
854
+ );
855
+
856
+ /** SwitchboardWrongAccountOwner: Switchboard oracle: wrong account owner */
857
+ export class SwitchboardWrongAccountOwnerError extends ProgramError {
858
+ override readonly name: string = 'SwitchboardWrongAccountOwner';
859
+
860
+ readonly code: number = 0x17ab; // 6059
861
+
862
+ constructor(program: Program, cause?: Error) {
863
+ super('Switchboard oracle: wrong account owner', program, cause);
864
+ }
865
+ }
866
+ codeToErrorMap.set(0x17ab, SwitchboardWrongAccountOwnerError);
867
+ nameToErrorMap.set(
868
+ 'SwitchboardWrongAccountOwner',
869
+ SwitchboardWrongAccountOwnerError
870
+ );
871
+
872
+ /** PythPushInvalidAccount: Pyth Push oracle: invalid account */
873
+ export class PythPushInvalidAccountError extends ProgramError {
874
+ override readonly name: string = 'PythPushInvalidAccount';
875
+
876
+ readonly code: number = 0x17ac; // 6060
877
+
878
+ constructor(program: Program, cause?: Error) {
879
+ super('Pyth Push oracle: invalid account', program, cause);
880
+ }
881
+ }
882
+ codeToErrorMap.set(0x17ac, PythPushInvalidAccountError);
883
+ nameToErrorMap.set('PythPushInvalidAccount', PythPushInvalidAccountError);
884
+
885
+ /** SwitchboardInvalidAccount: Switchboard oracle: invalid account */
886
+ export class SwitchboardInvalidAccountError extends ProgramError {
887
+ override readonly name: string = 'SwitchboardInvalidAccount';
888
+
889
+ readonly code: number = 0x17ad; // 6061
890
+
891
+ constructor(program: Program, cause?: Error) {
892
+ super('Switchboard oracle: invalid account', program, cause);
893
+ }
894
+ }
895
+ codeToErrorMap.set(0x17ad, SwitchboardInvalidAccountError);
896
+ nameToErrorMap.set('SwitchboardInvalidAccount', SwitchboardInvalidAccountError);
897
+
898
+ /** MathError: Math error */
899
+ export class MathErrorError extends ProgramError {
900
+ override readonly name: string = 'MathError';
901
+
902
+ readonly code: number = 0x17ae; // 6062
903
+
904
+ constructor(program: Program, cause?: Error) {
905
+ super('Math error', program, cause);
906
+ }
907
+ }
908
+ codeToErrorMap.set(0x17ae, MathErrorError);
909
+ nameToErrorMap.set('MathError', MathErrorError);
910
+
911
+ /** InvalidEmissionsDestinationAccount: Invalid emissions destination account */
912
+ export class InvalidEmissionsDestinationAccountError extends ProgramError {
913
+ override readonly name: string = 'InvalidEmissionsDestinationAccount';
914
+
915
+ readonly code: number = 0x17af; // 6063
916
+
917
+ constructor(program: Program, cause?: Error) {
918
+ super('Invalid emissions destination account', program, cause);
919
+ }
920
+ }
921
+ codeToErrorMap.set(0x17af, InvalidEmissionsDestinationAccountError);
922
+ nameToErrorMap.set(
923
+ 'InvalidEmissionsDestinationAccount',
924
+ InvalidEmissionsDestinationAccountError
925
+ );
926
+
927
+ /** SameAssetAndLiabilityBanks: Asset and liability bank cannot be the same */
928
+ export class SameAssetAndLiabilityBanksError extends ProgramError {
929
+ override readonly name: string = 'SameAssetAndLiabilityBanks';
930
+
931
+ readonly code: number = 0x17b0; // 6064
932
+
933
+ constructor(program: Program, cause?: Error) {
934
+ super('Asset and liability bank cannot be the same', program, cause);
935
+ }
936
+ }
937
+ codeToErrorMap.set(0x17b0, SameAssetAndLiabilityBanksError);
938
+ nameToErrorMap.set(
939
+ 'SameAssetAndLiabilityBanks',
940
+ SameAssetAndLiabilityBanksError
941
+ );
942
+
943
+ /** OverliquidationAttempt: Trying to withdraw more assets than available */
944
+ export class OverliquidationAttemptError extends ProgramError {
945
+ override readonly name: string = 'OverliquidationAttempt';
946
+
947
+ readonly code: number = 0x17b1; // 6065
948
+
949
+ constructor(program: Program, cause?: Error) {
950
+ super('Trying to withdraw more assets than available', program, cause);
951
+ }
952
+ }
953
+ codeToErrorMap.set(0x17b1, OverliquidationAttemptError);
954
+ nameToErrorMap.set('OverliquidationAttempt', OverliquidationAttemptError);
955
+
956
+ /** NoLiabilitiesInLiabilityBank: Liability bank has no liabilities */
957
+ export class NoLiabilitiesInLiabilityBankError extends ProgramError {
958
+ override readonly name: string = 'NoLiabilitiesInLiabilityBank';
959
+
960
+ readonly code: number = 0x17b2; // 6066
961
+
962
+ constructor(program: Program, cause?: Error) {
963
+ super('Liability bank has no liabilities', program, cause);
964
+ }
965
+ }
966
+ codeToErrorMap.set(0x17b2, NoLiabilitiesInLiabilityBankError);
967
+ nameToErrorMap.set(
968
+ 'NoLiabilitiesInLiabilityBank',
969
+ NoLiabilitiesInLiabilityBankError
970
+ );
971
+
972
+ /** AssetsInLiabilityBank: Liability bank has assets */
973
+ export class AssetsInLiabilityBankError extends ProgramError {
974
+ override readonly name: string = 'AssetsInLiabilityBank';
975
+
976
+ readonly code: number = 0x17b3; // 6067
977
+
978
+ constructor(program: Program, cause?: Error) {
979
+ super('Liability bank has assets', program, cause);
980
+ }
981
+ }
982
+ codeToErrorMap.set(0x17b3, AssetsInLiabilityBankError);
983
+ nameToErrorMap.set('AssetsInLiabilityBank', AssetsInLiabilityBankError);
984
+
985
+ /** HealthyAccount: Account is healthy and cannot be liquidated */
986
+ export class HealthyAccountError extends ProgramError {
987
+ override readonly name: string = 'HealthyAccount';
988
+
989
+ readonly code: number = 0x17b4; // 6068
990
+
991
+ constructor(program: Program, cause?: Error) {
992
+ super('Account is healthy and cannot be liquidated', program, cause);
993
+ }
994
+ }
995
+ codeToErrorMap.set(0x17b4, HealthyAccountError);
996
+ nameToErrorMap.set('HealthyAccount', HealthyAccountError);
997
+
998
+ /** ExhaustedLiability: Liability payoff too severe, exhausted liability */
999
+ export class ExhaustedLiabilityError extends ProgramError {
1000
+ override readonly name: string = 'ExhaustedLiability';
1001
+
1002
+ readonly code: number = 0x17b5; // 6069
1003
+
1004
+ constructor(program: Program, cause?: Error) {
1005
+ super('Liability payoff too severe, exhausted liability', program, cause);
1006
+ }
1007
+ }
1008
+ codeToErrorMap.set(0x17b5, ExhaustedLiabilityError);
1009
+ nameToErrorMap.set('ExhaustedLiability', ExhaustedLiabilityError);
1010
+
1011
+ /** TooSeverePayoff: Liability payoff too severe, liability balance has assets */
1012
+ export class TooSeverePayoffError extends ProgramError {
1013
+ override readonly name: string = 'TooSeverePayoff';
1014
+
1015
+ readonly code: number = 0x17b6; // 6070
1016
+
1017
+ constructor(program: Program, cause?: Error) {
1018
+ super(
1019
+ 'Liability payoff too severe, liability balance has assets',
1020
+ program,
1021
+ cause
1022
+ );
1023
+ }
1024
+ }
1025
+ codeToErrorMap.set(0x17b6, TooSeverePayoffError);
1026
+ nameToErrorMap.set('TooSeverePayoff', TooSeverePayoffError);
1027
+
1028
+ /** TooSevereLiquidation: Liquidation too severe, account above maintenance requirement */
1029
+ export class TooSevereLiquidationError extends ProgramError {
1030
+ override readonly name: string = 'TooSevereLiquidation';
1031
+
1032
+ readonly code: number = 0x17b7; // 6071
1033
+
1034
+ constructor(program: Program, cause?: Error) {
1035
+ super(
1036
+ 'Liquidation too severe, account above maintenance requirement',
1037
+ program,
1038
+ cause
1039
+ );
1040
+ }
1041
+ }
1042
+ codeToErrorMap.set(0x17b7, TooSevereLiquidationError);
1043
+ nameToErrorMap.set('TooSevereLiquidation', TooSevereLiquidationError);
1044
+
1045
+ /** WorseHealthPostLiquidation: Liquidation would worsen account health */
1046
+ export class WorseHealthPostLiquidationError extends ProgramError {
1047
+ override readonly name: string = 'WorseHealthPostLiquidation';
1048
+
1049
+ readonly code: number = 0x17b8; // 6072
1050
+
1051
+ constructor(program: Program, cause?: Error) {
1052
+ super('Liquidation would worsen account health', program, cause);
1053
+ }
1054
+ }
1055
+ codeToErrorMap.set(0x17b8, WorseHealthPostLiquidationError);
1056
+ nameToErrorMap.set(
1057
+ 'WorseHealthPostLiquidation',
1058
+ WorseHealthPostLiquidationError
1059
+ );
1060
+
1061
+ /** ArenaBankLimit: Arena groups can only support two banks */
1062
+ export class ArenaBankLimitError extends ProgramError {
1063
+ override readonly name: string = 'ArenaBankLimit';
1064
+
1065
+ readonly code: number = 0x17b9; // 6073
1066
+
1067
+ constructor(program: Program, cause?: Error) {
1068
+ super('Arena groups can only support two banks', program, cause);
1069
+ }
1070
+ }
1071
+ codeToErrorMap.set(0x17b9, ArenaBankLimitError);
1072
+ nameToErrorMap.set('ArenaBankLimit', ArenaBankLimitError);
1073
+
1074
+ /** ArenaSettingCannotChange: Arena groups cannot return to non-arena status */
1075
+ export class ArenaSettingCannotChangeError extends ProgramError {
1076
+ override readonly name: string = 'ArenaSettingCannotChange';
1077
+
1078
+ readonly code: number = 0x17ba; // 6074
1079
+
1080
+ constructor(program: Program, cause?: Error) {
1081
+ super('Arena groups cannot return to non-arena status', program, cause);
1082
+ }
1083
+ }
1084
+ codeToErrorMap.set(0x17ba, ArenaSettingCannotChangeError);
1085
+ nameToErrorMap.set('ArenaSettingCannotChange', ArenaSettingCannotChangeError);
1086
+
626
1087
  /**
627
1088
  * Attempts to resolve a custom program error from the provided error code.
628
1089
  * @category Errors