@sonarwatch/portfolio-plugins 0.14.190 → 0.14.191

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 (53) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +1 -1
  3. package/src/index.js +2 -0
  4. package/src/index.js.map +1 -1
  5. package/src/plugins/honeyland/constants.d.ts +5 -0
  6. package/src/plugins/honeyland/constants.js +7 -0
  7. package/src/plugins/honeyland/constants.js.map +1 -0
  8. package/src/plugins/honeyland/index.d.ts +4 -0
  9. package/src/plugins/honeyland/index.js +10 -0
  10. package/src/plugins/honeyland/index.js.map +1 -0
  11. package/src/plugins/honeyland/stakingFetcher.d.ts +3 -0
  12. package/src/plugins/honeyland/stakingFetcher.js +52 -0
  13. package/src/plugins/honeyland/stakingFetcher.js.map +1 -0
  14. package/src/plugins/honeyland/structs.d.ts +16 -0
  15. package/src/plugins/honeyland/structs.js +17 -0
  16. package/src/plugins/honeyland/structs.js.map +1 -0
  17. package/src/plugins/kamino/constants.js +5 -0
  18. package/src/plugins/kamino/constants.js.map +1 -1
  19. package/src/plugins/sharky/constants.d.ts +1 -0
  20. package/src/plugins/sharky/constants.js +2 -1
  21. package/src/plugins/sharky/constants.js.map +1 -1
  22. package/src/plugins/sharky/idl.d.ts +490 -54
  23. package/src/plugins/sharky/idl.js +1067 -269
  24. package/src/plugins/sharky/idl.js.map +1 -1
  25. package/src/plugins/sharky/index.js +4 -2
  26. package/src/plugins/sharky/index.js.map +1 -1
  27. package/src/plugins/sharky/structs.d.ts +53 -1
  28. package/src/plugins/sharky/structs.js +50 -1
  29. package/src/plugins/sharky/structs.js.map +1 -1
  30. package/src/plugins/sharky/tokensFetcher.d.ts +3 -0
  31. package/src/plugins/sharky/tokensFetcher.js +115 -0
  32. package/src/plugins/sharky/tokensFetcher.js.map +1 -0
  33. package/src/plugins/sharky/tokensOrderbookJob.d.ts +3 -0
  34. package/src/plugins/sharky/tokensOrderbookJob.js +37 -0
  35. package/src/plugins/sharky/tokensOrderbookJob.js.map +1 -0
  36. package/src/plugins/texture/constants.d.ts +2 -1
  37. package/src/plugins/texture/constants.js +3 -2
  38. package/src/plugins/texture/constants.js.map +1 -1
  39. package/src/plugins/texture/helpers.js +1 -1
  40. package/src/plugins/texture/helpers.js.map +1 -1
  41. package/src/plugins/texture/loansFetcher.js +27 -21
  42. package/src/plugins/texture/loansFetcher.js.map +1 -1
  43. package/src/plugins/texture/structs.d.ts +45 -1
  44. package/src/plugins/texture/structs.js +44 -2
  45. package/src/plugins/texture/structs.js.map +1 -1
  46. package/src/plugins/texture/types.d.ts +0 -20
  47. package/src/utils/elementbuilder/AssetCollectibleBuilder.js +0 -1
  48. package/src/utils/elementbuilder/AssetCollectibleBuilder.js.map +1 -1
  49. package/src/utils/solana/das/heliusAssetToAssetCollectible.js +3 -4
  50. package/src/utils/solana/das/heliusAssetToAssetCollectible.js.map +1 -1
  51. package/src/utils/misc/runInParallel2.d.ts +0 -1
  52. package/src/utils/misc/runInParallel2.js +0 -48
  53. package/src/utils/misc/runInParallel2.js.map +0 -1
@@ -2,284 +2,1018 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SharkyIDL = void 0;
4
4
  exports.SharkyIDL = {
5
- version: '6.3.0',
6
- name: 'sharky',
7
- instructions: [],
5
+ metadata: {
6
+ name: 'sharky',
7
+ version: '7.0.0',
8
+ spec: '0.1.0',
9
+ description: 'Sharky Program',
10
+ },
11
+ instructions: [
12
+ {
13
+ name: 'add_liquidity_token_pool',
14
+ discriminator: [231, 202, 43, 10, 123, 196, 118, 172],
15
+ accounts: [
16
+ { name: 'orderbook' },
17
+ { name: 'pool', writable: true },
18
+ { name: 'usdc_vault', writable: true },
19
+ { name: 'lender', writable: true, signer: true },
20
+ { name: 'lender_usdc', writable: true },
21
+ { name: 'loan_mint' },
22
+ { name: 'token_program' },
23
+ ],
24
+ args: [{ name: 'usdc_amount', type: 'u64' }],
25
+ },
26
+ {
27
+ name: 'close_escrow_value_mint_ata_admin',
28
+ discriminator: [4, 134, 1, 41, 168, 248, 221, 28],
29
+ accounts: [
30
+ { name: 'loan' },
31
+ { name: 'lender', writable: true, signer: true },
32
+ { name: 'escrow' },
33
+ { name: 'escrow_value_mint_token_account', writable: true },
34
+ { name: 'admin', writable: true, signer: true },
35
+ { name: 'system_program' },
36
+ { name: 'token_program' },
37
+ { name: 'associated_token_program' },
38
+ ],
39
+ args: [{ name: 'escrow_bump', type: 'u8' }],
40
+ },
41
+ {
42
+ name: 'close_nft_list',
43
+ discriminator: [35, 8, 121, 82, 218, 78, 252, 162],
44
+ accounts: [
45
+ { name: 'nft_list', writable: true },
46
+ { name: 'payer', signer: true },
47
+ ],
48
+ args: [],
49
+ },
50
+ {
51
+ name: 'close_order_book',
52
+ docs: ['Closes an order book, must be signed by sharky key'],
53
+ discriminator: [219, 134, 73, 219, 180, 7, 94, 206],
54
+ accounts: [
55
+ { name: 'order_book', writable: true },
56
+ { name: 'payer', signer: true },
57
+ ],
58
+ args: [],
59
+ },
60
+ {
61
+ name: 'close_token_orderbook',
62
+ discriminator: [227, 4, 225, 109, 207, 235, 71, 106],
63
+ accounts: [
64
+ { name: 'orderbook', writable: true },
65
+ { name: 'authority', writable: true, signer: true },
66
+ { name: 'system_program' },
67
+ ],
68
+ args: [],
69
+ },
70
+ {
71
+ name: 'close_token_pool',
72
+ discriminator: [2, 251, 54, 4, 242, 200, 174, 143],
73
+ accounts: [
74
+ { name: 'orderbook' },
75
+ { name: 'pool', writable: true },
76
+ { name: 'usdc_vault', writable: true },
77
+ { name: 'collateral_vault', writable: true },
78
+ { name: 'lender', writable: true, signer: true },
79
+ { name: 'lender_usdc', writable: true },
80
+ { name: 'lender_collateral', writable: true },
81
+ { name: 'loan_mint' },
82
+ { name: 'collateral_mint' },
83
+ { name: 'token_program' },
84
+ ],
85
+ args: [],
86
+ },
87
+ {
88
+ name: 'create_nft_list',
89
+ discriminator: [243, 38, 198, 76, 172, 64, 127, 24],
90
+ accounts: [
91
+ { name: 'nft_list', writable: true },
92
+ { name: 'payer', signer: true },
93
+ ],
94
+ args: [{ name: 'collection_name', type: 'string' }],
95
+ },
96
+ {
97
+ name: 'create_order_book',
98
+ docs: ['Creates an order book, must be signed by sharky key'],
99
+ discriminator: [153, 114, 9, 51, 100, 68, 240, 197],
100
+ accounts: [
101
+ { name: 'order_book', writable: true, signer: true },
102
+ { name: 'payer', writable: true, signer: true },
103
+ { name: 'system_program' },
104
+ ],
105
+ args: [
106
+ {
107
+ name: 'order_book_type',
108
+ type: { defined: { name: 'OrderBookType' } },
109
+ },
110
+ { name: 'apy', type: { defined: { name: 'APY' } } },
111
+ { name: 'loan_terms', type: { defined: { name: 'BookLoanTerms' } } },
112
+ { name: 'fee_permillicentage', type: 'u16' },
113
+ { name: 'fee_authority', type: 'pubkey' },
114
+ ],
115
+ },
116
+ {
117
+ name: 'create_program_version',
118
+ discriminator: [103, 216, 0, 238, 92, 107, 219, 121],
119
+ accounts: [
120
+ { name: 'authority', writable: true, signer: true },
121
+ { name: 'program_version', writable: true },
122
+ { name: 'system_program' },
123
+ { name: 'rent' },
124
+ ],
125
+ args: [{ name: 'version', type: 'u8' }],
126
+ },
127
+ {
128
+ name: 'create_token_orderbook',
129
+ discriminator: [136, 150, 94, 93, 212, 162, 222, 214],
130
+ accounts: [
131
+ { name: 'orderbook', writable: true },
132
+ { name: 'loan_mint' },
133
+ { name: 'collateral_mint' },
134
+ { name: 'authority', writable: true, signer: true },
135
+ { name: 'system_program' },
136
+ ],
137
+ args: [
138
+ { name: 'duration', type: 'u64' },
139
+ { name: 'apr', type: 'u32' },
140
+ { name: 'fee_permillicentage', type: 'u16' },
141
+ { name: 'fee_authority', type: 'pubkey' },
142
+ { name: 'min_liquidity', type: { option: 'u64' } },
143
+ { name: 'max_liquidity', type: { option: 'u64' } },
144
+ ],
145
+ },
146
+ {
147
+ name: 'create_token_pool',
148
+ discriminator: [23, 169, 27, 122, 147, 169, 209, 152],
149
+ accounts: [
150
+ { name: 'orderbook' },
151
+ { name: 'pool', writable: true },
152
+ { name: 'usdc_vault', writable: true },
153
+ { name: 'collateral_vault' },
154
+ { name: 'lender', writable: true, signer: true },
155
+ { name: 'lender_usdc_ata', writable: true },
156
+ { name: 'loan_mint' },
157
+ { name: 'collateral_mint' },
158
+ { name: 'token_program' },
159
+ { name: 'system_program' },
160
+ ],
161
+ args: [
162
+ { name: 'nonce', type: 'u64' },
163
+ { name: 'initial_usdc_liquidity', type: 'u64' },
164
+ { name: 'required_collateral_amount', type: 'u64' },
165
+ ],
166
+ },
167
+ {
168
+ name: 'extend_loan_core',
169
+ docs: ['Extend a loan with a new loan (core)'],
170
+ discriminator: [141, 227, 91, 229, 198, 38, 150, 79],
171
+ accounts: [
172
+ { name: 'loan', writable: true },
173
+ { name: 'new_loan', writable: true },
174
+ { name: 'borrower', writable: true, signer: true },
175
+ { name: 'lender', writable: true },
176
+ { name: 'new_lender', writable: true },
177
+ { name: 'escrow', writable: true },
178
+ { name: 'new_escrow', writable: true },
179
+ { name: 'value_mint' },
180
+ {
181
+ name: 'collateral_mint',
182
+ docs: ['Core Asset (collateral mint)'],
183
+ writable: true,
184
+ },
185
+ {
186
+ name: 'collection',
187
+ docs: ['The collection to which the asset belongs.'],
188
+ writable: true,
189
+ optional: true,
190
+ },
191
+ { name: 'order_book' },
192
+ { name: 'fee_authority', writable: true },
193
+ { name: 'system_program' },
194
+ { name: 'rent' },
195
+ {
196
+ name: 'log_wrapper',
197
+ docs: ['The SPL Noop program.'],
198
+ optional: true,
199
+ },
200
+ { name: 'mpl_core_program', docs: ['The MPL Core program.'] },
201
+ ],
202
+ args: [{ name: 'expected_loan', type: 'string' }],
203
+ },
204
+ {
205
+ name: 'extend_loan_v3',
206
+ discriminator: [71, 27, 17, 131, 78, 73, 62, 92],
207
+ accounts: [
208
+ { name: 'loan', writable: true },
209
+ { name: 'new_loan', writable: true },
210
+ { name: 'borrower', writable: true, signer: true },
211
+ { name: 'borrower_collateral_token_account', writable: true },
212
+ { name: 'lender', writable: true },
213
+ { name: 'new_lender', writable: true },
214
+ { name: 'escrow', writable: true },
215
+ { name: 'escrow_collateral_token_account', writable: true },
216
+ { name: 'new_escrow', writable: true },
217
+ { name: 'new_escrow_collateral_token_account', writable: true },
218
+ { name: 'value_mint' },
219
+ { name: 'collateral_mint' },
220
+ { name: 'order_book' },
221
+ { name: 'fee_authority', writable: true },
222
+ { name: 'metadata', writable: true },
223
+ { name: 'edition', writable: true },
224
+ { name: 'system_program' },
225
+ { name: 'token_program' },
226
+ { name: 'associated_token_program' },
227
+ { name: 'rent' },
228
+ { name: 'mpl_token_metadata_program' },
229
+ ],
230
+ args: [{ name: 'expected_loan', type: 'string' }],
231
+ },
232
+ {
233
+ name: 'extend_loan_v3_compressed',
234
+ docs: ['Extend a loan with a new loan (cNFT)'],
235
+ discriminator: [148, 161, 75, 87, 138, 34, 131, 62],
236
+ accounts: [
237
+ { name: 'loan', writable: true },
238
+ { name: 'new_loan', writable: true },
239
+ { name: 'borrower', writable: true, signer: true },
240
+ { name: 'lender', writable: true },
241
+ { name: 'new_lender', writable: true },
242
+ { name: 'escrow', writable: true },
243
+ { name: 'new_escrow', writable: true },
244
+ { name: 'value_mint' },
245
+ { name: 'order_book' },
246
+ { name: 'fee_authority', writable: true },
247
+ { name: 'tree_authority' },
248
+ { name: 'log_wrapper' },
249
+ { name: 'merkle_tree', writable: true },
250
+ { name: 'system_program' },
251
+ { name: 'token_program' },
252
+ { name: 'mpl_bubblegum_program' },
253
+ { name: 'compression_program' },
254
+ { name: 'rent' },
255
+ ],
256
+ args: [
257
+ { name: 'expected_loan', type: 'string' },
258
+ { name: 'cnft_root', type: { array: ['u8', 32] } },
259
+ { name: 'cnft_data_hash', type: { array: ['u8', 32] } },
260
+ { name: 'cnft_creator_hash', type: { array: ['u8', 32] } },
261
+ { name: 'cnft_nonce', type: 'u64' },
262
+ { name: 'cnft_index', type: 'u32' },
263
+ ],
264
+ },
265
+ {
266
+ name: 'extend_token_loan',
267
+ discriminator: [57, 33, 61, 102, 70, 86, 164, 130],
268
+ accounts: [
269
+ { name: 'orderbook' },
270
+ { name: 'old_loan', writable: true },
271
+ { name: 'new_loan', writable: true, signer: true },
272
+ { name: 'old_pool', writable: true },
273
+ { name: 'new_pool', writable: true },
274
+ { name: 'old_lender_usdc', writable: true },
275
+ { name: 'old_collateral_vault', writable: true },
276
+ { name: 'new_usdc_vault', writable: true },
277
+ { name: 'new_collateral_vault', writable: true },
278
+ { name: 'borrower', writable: true, signer: true },
279
+ { name: 'borrower_usdc', writable: true },
280
+ { name: 'borrower_collateral', writable: true },
281
+ { name: 'loan_mint' },
282
+ { name: 'collateral_mint' },
283
+ { name: 'fee_authority_usdc_ata', writable: true },
284
+ { name: 'burn_wallet_usdc_ata', writable: true },
285
+ { name: 'token_program' },
286
+ { name: 'associated_token_program' },
287
+ { name: 'system_program' },
288
+ ],
289
+ args: [
290
+ { name: 'new_usdc_amount', type: 'u64' },
291
+ { name: 'expected_new_loan', type: 'string' },
292
+ ],
293
+ },
294
+ {
295
+ name: 'foreclose_loan_core',
296
+ docs: ['Forecloses on a taken lone that has met some condition (core)'],
297
+ discriminator: [207, 35, 84, 147, 119, 14, 195, 133],
298
+ accounts: [
299
+ { name: 'loan', writable: true },
300
+ { name: 'escrow', writable: true },
301
+ {
302
+ name: 'collateral_mint',
303
+ docs: ['Core Asset (collateral mint)'],
304
+ writable: true,
305
+ },
306
+ {
307
+ name: 'collection',
308
+ docs: ['The collection to which the asset belongs.'],
309
+ writable: true,
310
+ optional: true,
311
+ },
312
+ { name: 'borrower', writable: true },
313
+ { name: 'lender', writable: true, signer: true },
314
+ { name: 'system_program' },
315
+ { name: 'rent' },
316
+ {
317
+ name: 'log_wrapper',
318
+ docs: ['The SPL Noop program.'],
319
+ optional: true,
320
+ },
321
+ { name: 'mpl_core_program', docs: ['The MPL Core program.'] },
322
+ ],
323
+ args: [],
324
+ },
325
+ {
326
+ name: 'foreclose_loan_v3',
327
+ docs: ['Forecloses on a taken lone that has met some condition'],
328
+ discriminator: [136, 184, 50, 58, 183, 92, 63, 216],
329
+ accounts: [
330
+ { name: 'loan', writable: true },
331
+ { name: 'escrow', writable: true },
332
+ { name: 'escrow_collateral_token_account', writable: true },
333
+ { name: 'collateral_mint', writable: true },
334
+ { name: 'borrower', writable: true },
335
+ { name: 'lender', writable: true, signer: true },
336
+ { name: 'lender_collateral_token_account', writable: true },
337
+ { name: 'borrower_collateral_token_account', writable: true },
338
+ { name: 'metadata', writable: true },
339
+ { name: 'edition', writable: true },
340
+ { name: 'system_program' },
341
+ { name: 'token_program' },
342
+ { name: 'associated_token_program' },
343
+ { name: 'rent' },
344
+ { name: 'mpl_token_metadata_program' },
345
+ ],
346
+ args: [],
347
+ },
348
+ {
349
+ name: 'foreclose_loan_v3_compressed',
350
+ docs: ['Forecloses on a taken lone that has met some condition (cNFT)'],
351
+ discriminator: [194, 193, 5, 193, 115, 133, 231, 197],
352
+ accounts: [
353
+ { name: 'loan', writable: true },
354
+ { name: 'escrow', writable: true },
355
+ { name: 'borrower', writable: true },
356
+ { name: 'lender', writable: true, signer: true },
357
+ { name: 'tree_authority' },
358
+ { name: 'log_wrapper' },
359
+ { name: 'merkle_tree', writable: true },
360
+ { name: 'system_program' },
361
+ { name: 'token_program' },
362
+ { name: 'mpl_bubblegum_program' },
363
+ { name: 'compression_program' },
364
+ { name: 'rent' },
365
+ ],
366
+ args: [
367
+ { name: 'cnft_root', type: { array: ['u8', 32] } },
368
+ { name: 'cnft_data_hash', type: { array: ['u8', 32] } },
369
+ { name: 'cnft_creator_hash', type: { array: ['u8', 32] } },
370
+ { name: 'cnft_nonce', type: 'u64' },
371
+ { name: 'cnft_index', type: 'u32' },
372
+ ],
373
+ },
374
+ {
375
+ name: 'foreclose_token_loan',
376
+ discriminator: [197, 56, 225, 73, 11, 232, 33, 30],
377
+ accounts: [
378
+ { name: 'orderbook' },
379
+ { name: 'loan', writable: true },
380
+ { name: 'borrower', writable: true },
381
+ { name: 'pool', writable: true },
382
+ { name: 'lender', writable: true, signer: true },
383
+ { name: 'lender_collateral_ata', writable: true },
384
+ { name: 'collateral_vault', writable: true },
385
+ { name: 'loan_mint' },
386
+ { name: 'collateral_mint' },
387
+ { name: 'token_program' },
388
+ ],
389
+ args: [],
390
+ },
391
+ {
392
+ name: 'offer_loan',
393
+ docs: ['Offers a loan for a given order book'],
394
+ discriminator: [44, 12, 76, 144, 210, 208, 239, 85],
395
+ accounts: [
396
+ { name: 'lender', writable: true, signer: true },
397
+ { name: 'lender_value_token_account', writable: true },
398
+ { name: 'value_mint' },
399
+ { name: 'loan', writable: true, signer: true },
400
+ { name: 'escrow', writable: true },
401
+ { name: 'escrow_token_account', writable: true },
402
+ { name: 'order_book' },
403
+ { name: 'system_program' },
404
+ { name: 'token_program' },
405
+ { name: 'associated_token_program' },
406
+ { name: 'rent' },
407
+ ],
408
+ args: [
409
+ { name: 'escrow_bump', type: 'u8' },
410
+ { name: 'principal_lamports', type: 'u64' },
411
+ {
412
+ name: 'terms_choice',
413
+ type: { option: { defined: { name: 'LoanTermsSpec' } } },
414
+ },
415
+ ],
416
+ },
417
+ {
418
+ name: 'repay_loan_core',
419
+ docs: ['Repays a given loan in exchange for the NFT (core)'],
420
+ discriminator: [240, 132, 186, 214, 101, 67, 215, 140],
421
+ accounts: [
422
+ { name: 'loan', writable: true },
423
+ { name: 'borrower', writable: true, signer: true },
424
+ { name: 'lender', writable: true },
425
+ { name: 'escrow', writable: true },
426
+ { name: 'value_mint' },
427
+ {
428
+ name: 'collateral_mint',
429
+ docs: ['Core Asset (collateral mint)'],
430
+ writable: true,
431
+ },
432
+ {
433
+ name: 'collection',
434
+ docs: ['The collection to which the asset belongs.'],
435
+ writable: true,
436
+ optional: true,
437
+ },
438
+ { name: 'order_book' },
439
+ { name: 'fee_authority', writable: true },
440
+ { name: 'system_program' },
441
+ { name: 'rent' },
442
+ {
443
+ name: 'log_wrapper',
444
+ docs: ['The SPL Noop program.'],
445
+ optional: true,
446
+ },
447
+ { name: 'mpl_core_program', docs: ['The MPL Core program.'] },
448
+ ],
449
+ args: [],
450
+ },
451
+ {
452
+ name: 'repay_loan_v3',
453
+ docs: ['Repays a given loan in exchange for the NFT'],
454
+ discriminator: [97, 123, 85, 54, 76, 16, 61, 157],
455
+ accounts: [
456
+ { name: 'loan', writable: true },
457
+ { name: 'borrower', writable: true, signer: true },
458
+ { name: 'borrower_collateral_token_account', writable: true },
459
+ { name: 'lender', writable: true },
460
+ { name: 'escrow', writable: true },
461
+ { name: 'escrow_collateral_token_account', writable: true },
462
+ { name: 'value_mint' },
463
+ { name: 'collateral_mint', writable: true },
464
+ { name: 'order_book' },
465
+ { name: 'fee_authority', writable: true },
466
+ { name: 'metadata', writable: true },
467
+ { name: 'edition', writable: true },
468
+ { name: 'system_program' },
469
+ { name: 'token_program' },
470
+ { name: 'associated_token_program' },
471
+ { name: 'rent' },
472
+ { name: 'mpl_token_metadata_program' },
473
+ ],
474
+ args: [],
475
+ },
476
+ {
477
+ name: 'repay_loan_v3_compressed',
478
+ docs: ['Repays a given loan in exchange for the NFT (cNFT)'],
479
+ discriminator: [159, 159, 245, 168, 191, 154, 100, 6],
480
+ accounts: [
481
+ { name: 'loan', writable: true },
482
+ { name: 'borrower', writable: true, signer: true },
483
+ { name: 'lender', writable: true },
484
+ { name: 'escrow', writable: true },
485
+ { name: 'value_mint' },
486
+ { name: 'order_book' },
487
+ { name: 'fee_authority', writable: true },
488
+ { name: 'tree_authority' },
489
+ { name: 'log_wrapper' },
490
+ { name: 'merkle_tree', writable: true },
491
+ { name: 'system_program' },
492
+ { name: 'token_program' },
493
+ { name: 'mpl_bubblegum_program' },
494
+ { name: 'compression_program' },
495
+ { name: 'rent' },
496
+ ],
497
+ args: [
498
+ { name: 'cnft_root', type: { array: ['u8', 32] } },
499
+ { name: 'cnft_data_hash', type: { array: ['u8', 32] } },
500
+ { name: 'cnft_creator_hash', type: { array: ['u8', 32] } },
501
+ { name: 'cnft_nonce', type: 'u64' },
502
+ { name: 'cnft_index', type: 'u32' },
503
+ ],
504
+ },
505
+ {
506
+ name: 'repay_token_loan',
507
+ discriminator: [208, 50, 208, 39, 189, 153, 25, 251],
508
+ accounts: [
509
+ { name: 'orderbook' },
510
+ { name: 'loan', writable: true },
511
+ { name: 'pool', writable: true },
512
+ { name: 'lender_usdc', writable: true },
513
+ { name: 'collateral_vault', writable: true },
514
+ { name: 'borrower', writable: true, signer: true },
515
+ { name: 'borrower_usdc', writable: true },
516
+ { name: 'borrower_collateral', writable: true },
517
+ { name: 'loan_mint' },
518
+ { name: 'collateral_mint' },
519
+ { name: 'token_program' },
520
+ { name: 'associated_token_program' },
521
+ { name: 'system_program' },
522
+ ],
523
+ args: [],
524
+ },
525
+ {
526
+ name: 'rescind_loan',
527
+ docs: ['Removes an offered but not taken loan'],
528
+ discriminator: [64, 64, 160, 211, 51, 36, 177, 158],
529
+ accounts: [
530
+ { name: 'loan', writable: true },
531
+ { name: 'lender_value_token_account', writable: true, optional: true },
532
+ { name: 'lender', writable: true, signer: true },
533
+ { name: 'value_mint' },
534
+ { name: 'escrow', writable: true },
535
+ { name: 'escrow_token_account', writable: true },
536
+ { name: 'system_program' },
537
+ { name: 'token_program' },
538
+ ],
539
+ args: [],
540
+ },
541
+ {
542
+ name: 'take_loan_core',
543
+ docs: ['Takes an offered loan in exchange for a valid NFT (core)'],
544
+ discriminator: [178, 111, 236, 60, 159, 108, 234, 254],
545
+ accounts: [
546
+ { name: 'lender', writable: true },
547
+ {
548
+ name: 'borrower',
549
+ docs: [
550
+ 'The borrower that will receive the tokens in exchange for collateral',
551
+ ],
552
+ writable: true,
553
+ signer: true,
554
+ },
555
+ {
556
+ name: 'collateral_mint',
557
+ docs: ['Core Asset (collateral mint)'],
558
+ writable: true,
559
+ },
560
+ {
561
+ name: 'collection',
562
+ docs: ['The collection to which the asset belongs.'],
563
+ writable: true,
564
+ optional: true,
565
+ },
566
+ {
567
+ name: 'loan',
568
+ docs: [
569
+ 'Expected loan prevents a replacement attack where the loan is replaced between the',
570
+ 'user signing take_loan and it hitting the chain',
571
+ ],
572
+ writable: true,
573
+ },
574
+ { name: 'escrow', writable: true },
575
+ { name: 'order_book' },
576
+ { name: 'system_program' },
577
+ { name: 'rent' },
578
+ {
579
+ name: 'log_wrapper',
580
+ docs: ['The SPL Noop program.'],
581
+ optional: true,
582
+ },
583
+ { name: 'mpl_core_program', docs: ['The MPL Core program.'] },
584
+ ],
585
+ args: [
586
+ { name: 'expected_loan', type: 'string' },
587
+ { name: 'nft_list_index', type: { option: 'u32' } },
588
+ ],
589
+ },
590
+ {
591
+ name: 'take_loan_v3',
592
+ docs: [
593
+ 'Takes an offered loan in exchange for a valid NFT (migration off cardinal)',
594
+ ],
595
+ discriminator: [255, 115, 220, 58, 26, 157, 112, 185],
596
+ accounts: [
597
+ { name: 'lender', writable: true },
598
+ {
599
+ name: 'borrower',
600
+ docs: [
601
+ 'The borrower that will receive the tokens in exchange for collateral',
602
+ ],
603
+ writable: true,
604
+ signer: true,
605
+ },
606
+ { name: 'borrower_collateral_token_account', writable: true },
607
+ { name: 'collateral_mint', docs: ['type of token'], writable: true },
608
+ {
609
+ name: 'loan',
610
+ docs: [
611
+ 'Expected loan prevents a replacement attack where the loan is replaced between the',
612
+ 'user signing take_loan and it hitting the chain',
613
+ ],
614
+ writable: true,
615
+ },
616
+ { name: 'escrow', writable: true },
617
+ { name: 'escrow_collateral_token_account', writable: true },
618
+ { name: 'order_book' },
619
+ { name: 'metadata', writable: true },
620
+ { name: 'edition', writable: true },
621
+ { name: 'system_program' },
622
+ { name: 'token_program' },
623
+ { name: 'associated_token_program' },
624
+ { name: 'rent' },
625
+ { name: 'mpl_token_metadata_program' },
626
+ ],
627
+ args: [
628
+ { name: 'expected_loan', type: 'string' },
629
+ { name: 'nft_list_index', type: { option: 'u32' } },
630
+ { name: 'skip_freezing_collateral', type: 'bool' },
631
+ ],
632
+ },
633
+ {
634
+ name: 'take_loan_v3_compressed',
635
+ docs: ['Takes an offered loan in exchange for a valid NFT (cNFT)'],
636
+ discriminator: [241, 114, 106, 79, 16, 89, 233, 125],
637
+ accounts: [
638
+ { name: 'lender', writable: true },
639
+ {
640
+ name: 'borrower',
641
+ docs: [
642
+ 'The borrower that will receive the tokens in exchange for collateral',
643
+ ],
644
+ writable: true,
645
+ signer: true,
646
+ },
647
+ {
648
+ name: 'loan',
649
+ docs: [
650
+ 'Expected loan prevents a replacement attack where the loan is replaced between the',
651
+ 'user signing take_loan and it hitting the chain',
652
+ ],
653
+ writable: true,
654
+ },
655
+ { name: 'escrow', writable: true },
656
+ { name: 'order_book' },
657
+ { name: 'collateral_mint' },
658
+ { name: 'tree_authority' },
659
+ { name: 'log_wrapper' },
660
+ { name: 'merkle_tree', writable: true },
661
+ { name: 'system_program' },
662
+ { name: 'token_program' },
663
+ { name: 'mpl_bubblegum_program' },
664
+ { name: 'compression_program' },
665
+ { name: 'rent' },
666
+ ],
667
+ args: [
668
+ { name: 'expected_loan', type: 'string' },
669
+ { name: 'nft_list_index', type: { option: 'u32' } },
670
+ { name: 'cnft_args', type: { defined: { name: 'CnftArgs' } } },
671
+ ],
672
+ },
673
+ {
674
+ name: 'take_token_loan',
675
+ discriminator: [221, 216, 127, 10, 107, 189, 152, 111],
676
+ accounts: [
677
+ { name: 'orderbook' },
678
+ { name: 'loan', writable: true, signer: true },
679
+ { name: 'pool', writable: true },
680
+ { name: 'usdc_vault', writable: true },
681
+ { name: 'collateral_vault', writable: true },
682
+ { name: 'borrower', writable: true, signer: true },
683
+ { name: 'borrower_usdc', writable: true },
684
+ { name: 'borrower_collateral', writable: true },
685
+ { name: 'fee_authority_usdc_ata', writable: true },
686
+ { name: 'burn_wallet_usdc_ata', writable: true },
687
+ { name: 'loan_mint' },
688
+ { name: 'collateral_mint' },
689
+ { name: 'token_program' },
690
+ { name: 'system_program' },
691
+ ],
692
+ args: [
693
+ { name: 'usdc_amount', type: 'u64' },
694
+ { name: 'expected_loan', type: 'string' },
695
+ ],
696
+ },
697
+ {
698
+ name: 'update_nft_list',
699
+ discriminator: [215, 13, 25, 187, 11, 93, 34, 143],
700
+ accounts: [
701
+ { name: 'nft_list', writable: true },
702
+ { name: 'payer', signer: true },
703
+ ],
704
+ args: [
705
+ { name: 'mints', type: { vec: { defined: { name: 'UpdateIndex' } } } },
706
+ ],
707
+ },
708
+ {
709
+ name: 'update_order_book',
710
+ docs: ['Updates an order book, must be signed by sharky key'],
711
+ discriminator: [31, 72, 159, 232, 220, 153, 90, 109],
712
+ accounts: [
713
+ { name: 'order_book', writable: true },
714
+ { name: 'payer', signer: true },
715
+ ],
716
+ args: [
717
+ {
718
+ name: 'order_book_type',
719
+ type: { option: { defined: { name: 'OrderBookType' } } },
720
+ },
721
+ { name: 'apy', type: { option: { defined: { name: 'APY' } } } },
722
+ {
723
+ name: 'loan_terms',
724
+ type: { option: { defined: { name: 'BookLoanTerms' } } },
725
+ },
726
+ { name: 'fee_permillicentage', type: { option: 'u16' } },
727
+ { name: 'fee_authority', type: { option: 'pubkey' } },
728
+ ],
729
+ },
730
+ {
731
+ name: 'update_program_version',
732
+ discriminator: [235, 132, 215, 225, 213, 43, 43, 38],
733
+ accounts: [
734
+ { name: 'authority', signer: true },
735
+ { name: 'program_version', writable: true },
736
+ ],
737
+ args: [{ name: 'version', type: 'u8' }],
738
+ },
739
+ {
740
+ name: 'update_token_orderbook',
741
+ discriminator: [19, 248, 131, 69, 150, 2, 41, 143],
742
+ accounts: [
743
+ { name: 'orderbook', writable: true },
744
+ { name: 'authority', signer: true },
745
+ { name: 'system_program' },
746
+ ],
747
+ args: [
748
+ { name: 'duration', type: { option: 'u64' } },
749
+ { name: 'apr', type: { option: 'u32' } },
750
+ { name: 'fee_permillicentage', type: { option: 'u16' } },
751
+ { name: 'fee_authority', type: { option: 'pubkey' } },
752
+ { name: 'min_liquidity', type: { option: 'u64' } },
753
+ { name: 'max_liquidity', type: { option: 'u64' } },
754
+ ],
755
+ },
756
+ {
757
+ name: 'update_token_pool',
758
+ discriminator: [225, 28, 181, 13, 220, 64, 31, 102],
759
+ accounts: [
760
+ { name: 'orderbook' },
761
+ { name: 'pool', writable: true },
762
+ { name: 'lender', signer: true },
763
+ ],
764
+ args: [{ name: 'new_required_collateral_amount', type: 'u64' }],
765
+ },
766
+ {
767
+ name: 'withdraw_liquidity_token_pool',
768
+ discriminator: [55, 103, 20, 35, 39, 183, 180, 64],
769
+ accounts: [
770
+ { name: 'orderbook' },
771
+ { name: 'pool', writable: true },
772
+ { name: 'usdc_vault', writable: true },
773
+ { name: 'lender', writable: true, signer: true },
774
+ { name: 'lender_usdc', writable: true },
775
+ { name: 'loan_mint' },
776
+ { name: 'token_program' },
777
+ ],
778
+ args: [],
779
+ },
780
+ ],
8
781
  accounts: [
782
+ { name: 'EscrowPDA', discriminator: [109, 117, 137, 181, 64, 48, 65, 235] },
783
+ { name: 'Loan', discriminator: [20, 195, 70, 117, 165, 227, 182, 1] },
784
+ { name: 'NFTList', discriminator: [46, 244, 104, 226, 152, 35, 170, 239] },
785
+ { name: 'OrderBook', discriminator: [55, 230, 125, 218, 149, 39, 65, 248] },
9
786
  {
10
- name: 'orderBook',
11
- type: {
12
- kind: 'struct',
13
- fields: [
14
- {
15
- name: 'version',
16
- type: 'u8',
17
- },
18
- {
19
- name: 'orderBookType',
20
- type: {
21
- defined: 'OrderBookType',
22
- },
23
- },
24
- {
25
- name: 'apy',
26
- type: {
27
- defined: 'APY',
28
- },
29
- },
30
- {
31
- name: 'loanTerms',
32
- type: {
33
- defined: 'BookLoanTerms',
34
- },
35
- },
36
- {
37
- name: 'feePermillicentage',
38
- type: 'u16',
39
- },
40
- {
41
- name: 'feeAuthority',
42
- type: 'publicKey',
43
- },
44
- ],
45
- },
787
+ name: 'ProgramVersion',
788
+ discriminator: [138, 104, 244, 197, 206, 47, 159, 154],
46
789
  },
47
790
  {
48
- name: 'loan',
49
- type: {
50
- kind: 'struct',
51
- fields: [
52
- {
53
- name: 'version',
54
- type: 'u8',
55
- },
56
- {
57
- name: 'principalLamports',
58
- docs: ['amount in tokens, decimals included'],
59
- type: 'u64',
60
- },
61
- {
62
- name: 'orderBook',
63
- type: 'publicKey',
64
- },
65
- {
66
- name: 'valueTokenMint',
67
- docs: ['Token mint for what the loan is in (spl address)'],
68
- type: 'publicKey',
69
- },
70
- {
71
- name: 'escrowBumpSeed',
72
- type: 'u8',
73
- },
74
- {
75
- name: 'loanState',
76
- docs: ['stores start and duration'],
77
- type: {
78
- defined: 'LoanState',
79
- },
80
- },
81
- ],
82
- },
791
+ name: 'TokenLendingLoan',
792
+ discriminator: [48, 250, 133, 85, 42, 11, 45, 154],
83
793
  },
84
794
  {
85
- name: 'nftList',
86
- type: {
87
- kind: 'struct',
88
- fields: [
89
- {
90
- name: 'version',
91
- type: 'u8',
92
- },
93
- {
94
- name: 'collectionName',
95
- type: 'string',
96
- },
97
- ],
98
- },
795
+ name: 'TokenLendingOrderBook',
796
+ discriminator: [192, 71, 92, 163, 99, 85, 39, 27],
797
+ },
798
+ {
799
+ name: 'TokenLendingPool',
800
+ discriminator: [33, 59, 13, 135, 153, 105, 127, 146],
99
801
  },
802
+ ],
803
+ errors: [
804
+ { code: 6000, name: 'Custom', msg: 'Custom' },
805
+ { code: 6001, name: 'InvalidArgument', msg: 'InvalidArgument' },
806
+ { code: 6002, name: 'InvalidAccountData', msg: 'InvalidAccountData' },
807
+ { code: 6003, name: 'IllegalOwner', msg: 'IllegalOwner' },
808
+ { code: 6004, name: 'InvalidMint', msg: 'Mint is invalid' },
100
809
  {
101
- name: 'escrowPda',
810
+ code: 6005,
811
+ name: 'NumericalOverflowError',
812
+ msg: 'Numerical overflow error',
813
+ },
814
+ {
815
+ code: 6006,
816
+ name: 'MismatchedNftCollateralMint',
817
+ msg: 'Mismatched NFT collateral mint',
818
+ },
819
+ {
820
+ code: 6007,
821
+ name: 'MismatchedValueTokenMint',
822
+ msg: 'Mismatched value token mint',
823
+ },
824
+ { code: 6008, name: 'MismatchedLender', msg: 'Mismatched lender' },
825
+ { code: 6009, name: 'NotForeclosable', msg: 'Loan is not foreclosable' },
826
+ { code: 6010, name: 'FeeCalculationError', msg: 'Fee calculation error' },
827
+ {
828
+ code: 6011,
829
+ name: 'InvalidBookLoanTermsType',
830
+ msg: 'Invalid book loan terms type',
831
+ },
832
+ { code: 6012, name: 'InvalidEscrowBump', msg: 'Invalid escrow bump' },
833
+ { code: 6013, name: 'InvalidLoanVersion', msg: 'Invalid loan version' },
834
+ {
835
+ code: 6014,
836
+ name: 'InvalidValueMint',
837
+ msg: 'Value mint only supports native mint',
838
+ },
839
+ {
840
+ code: 6015,
841
+ name: 'OfferedLoanCannotBeForeclosed',
842
+ msg: 'Offered loan cannot be foreclosed',
843
+ },
844
+ {
845
+ code: 6016,
846
+ name: 'EscrowValueMintTokenAccountEmpty',
847
+ msg: 'Escrow value mint token account empty',
848
+ },
849
+ { code: 6017, name: 'InvalidUsdcMint', msg: 'Invalid USDC mint' },
850
+ { code: 6018, name: 'InvalidDuration', msg: 'Invalid duration' },
851
+ { code: 6019, name: 'InvalidApr', msg: 'Invalid APR' },
852
+ { code: 6020, name: 'InvalidLoanAmount', msg: 'Invalid loan amount' },
853
+ {
854
+ code: 6021,
855
+ name: 'InvalidCollateralAmount',
856
+ msg: 'Invalid collateral amount',
857
+ },
858
+ { code: 6022, name: 'InvalidLtv', msg: 'Invalid LTV' },
859
+ { code: 6023, name: 'InvalidOrderBook', msg: 'Invalid orderbook' },
860
+ { code: 6024, name: 'AlreadyBorrowed', msg: 'Already borrowed' },
861
+ {
862
+ code: 6025,
863
+ name: 'InvalidCollateralMint',
864
+ msg: 'Invalid collateral mint',
865
+ },
866
+ { code: 6026, name: 'InvalidLiquidity', msg: 'Invalid liquidity' },
867
+ { code: 6027, name: 'PoolPaused', msg: 'Pool is paused' },
868
+ { code: 6028, name: 'InvalidBump', msg: 'Invalid bump' },
869
+ { code: 6029, name: 'InvalidPool', msg: 'Invalid pool' },
870
+ { code: 6030, name: 'InvalidFeeAuthority', msg: 'Invalid fee authority' },
871
+ {
872
+ code: 6031,
873
+ name: 'InvalidPriceAuthority',
874
+ msg: 'Invalid price authority',
875
+ },
876
+ { code: 6032, name: 'InvalidPoolCount', msg: 'Invalid pool count' },
877
+ { code: 6033, name: 'InvalidPoolVault', msg: 'Invalid Pool Vault' },
878
+ { code: 6034, name: 'MathOverflow', msg: 'Math overflow' },
879
+ { code: 6035, name: 'LoanNotExpired', msg: 'Loan has not expired' },
880
+ { code: 6036, name: 'NoInterestToClaim', msg: 'No interest to claim' },
881
+ {
882
+ code: 6037,
883
+ name: 'PoolHasActiveLoans',
884
+ msg: 'Pool still has active loans',
885
+ },
886
+ { code: 6038, name: 'PoolVaultNotEmpty', msg: 'Pool vault is not empty' },
887
+ { code: 6039, name: 'PoolStillActive', msg: 'Pool still active' },
888
+ { code: 6040, name: 'InvalidUsdcVault', msg: 'Invalid usdc vault' },
889
+ {
890
+ code: 6041,
891
+ name: 'InvalidCollateralVault',
892
+ msg: 'Invalid collateral vault',
893
+ },
894
+ ],
895
+ types: [
896
+ {
897
+ name: 'APY',
898
+ docs: ['APY settings on an [`OrderBook`]'],
102
899
  type: {
103
- kind: 'struct',
104
- fields: [
900
+ kind: 'enum',
901
+ variants: [
105
902
  {
106
- name: 'bump',
107
- type: 'u8',
903
+ name: 'Fixed',
904
+ fields: [
905
+ { name: 'apy', docs: ['Thousandths of a percent'], type: 'u32' },
906
+ ],
108
907
  },
109
908
  ],
110
909
  },
111
910
  },
112
911
  {
113
- name: 'programVersion',
912
+ name: 'BookLoanTerms',
114
913
  type: {
115
- kind: 'struct',
116
- fields: [
117
- {
118
- name: 'version',
119
- type: 'u8',
120
- },
121
- {
122
- name: 'bump',
123
- type: 'u8',
124
- },
914
+ kind: 'enum',
915
+ variants: [
125
916
  {
126
- name: 'updated',
127
- type: 'i64',
917
+ name: 'Fixed',
918
+ fields: [
919
+ { name: 'terms', type: { defined: { name: 'LoanTermsSpec' } } },
920
+ ],
128
921
  },
922
+ { name: 'LenderChooses' },
129
923
  ],
130
924
  },
131
925
  },
132
- ],
133
- types: [
134
926
  {
135
927
  name: 'CnftArgs',
136
928
  type: {
137
929
  kind: 'struct',
138
930
  fields: [
139
- {
140
- name: 'cnftRoot',
141
- type: {
142
- array: ['u8', 32],
143
- },
144
- },
145
- {
146
- name: 'cnftDataHash',
147
- type: {
148
- array: ['u8', 32],
149
- },
150
- },
151
- {
152
- name: 'cnftCreatorHash',
153
- type: {
154
- array: ['u8', 32],
155
- },
156
- },
157
- {
158
- name: 'cnftNonce',
159
- type: 'u64',
160
- },
161
- {
162
- name: 'cnftIndex',
163
- type: 'u32',
164
- },
931
+ { name: 'cnft_root', type: { array: ['u8', 32] } },
932
+ { name: 'cnft_data_hash', type: { array: ['u8', 32] } },
933
+ { name: 'cnft_creator_hash', type: { array: ['u8', 32] } },
934
+ { name: 'cnft_nonce', type: 'u64' },
935
+ { name: 'cnft_index', type: 'u32' },
165
936
  ],
166
937
  },
167
938
  },
168
939
  {
169
- name: 'UpdateIndex',
170
- type: {
171
- kind: 'struct',
172
- fields: [
173
- {
174
- name: 'index',
175
- type: 'u32',
176
- },
177
- {
178
- name: 'mint',
179
- type: 'publicKey',
180
- },
181
- ],
182
- },
940
+ name: 'EscrowPDA',
941
+ type: { kind: 'struct', fields: [{ name: 'bump', type: 'u8' }] },
183
942
  },
184
943
  {
185
- name: 'LoanOffer',
944
+ name: 'Loan',
186
945
  type: {
187
946
  kind: 'struct',
188
947
  fields: [
948
+ { name: 'version', type: 'u8' },
189
949
  {
190
- name: 'lenderWallet',
191
- type: 'publicKey',
950
+ name: 'principal_lamports',
951
+ docs: ['amount in tokens, decimals included'],
952
+ type: 'u64',
192
953
  },
954
+ { name: 'order_book', type: 'pubkey' },
193
955
  {
194
- name: 'termsSpec',
195
- type: {
196
- defined: 'LoanTermsSpec',
197
- },
956
+ name: 'value_token_mint',
957
+ docs: ['Token mint for what the loan is in (spl address)'],
958
+ type: 'pubkey',
198
959
  },
960
+ { name: 'escrow_bump_seed', type: 'u8' },
199
961
  {
200
- name: 'offerTime',
201
- type: 'i64',
962
+ name: 'loan_state',
963
+ docs: ['stores start and duration'],
964
+ type: { defined: { name: 'LoanState' } },
202
965
  },
203
966
  ],
204
967
  },
205
968
  },
206
969
  {
207
- name: 'TakenLoan',
970
+ name: 'LoanOffer',
208
971
  type: {
209
972
  kind: 'struct',
210
973
  fields: [
211
- {
212
- name: 'nftCollateralMint',
213
- type: 'publicKey',
214
- },
215
- {
216
- name: 'lenderNoteMint',
217
- type: 'publicKey',
218
- },
219
- {
220
- name: 'borrowerNoteMint',
221
- type: 'publicKey',
222
- },
223
- {
224
- name: 'apy',
225
- docs: [
226
- 'Thousandths of a percent (allows to have 3 decimal points of precision)',
227
- ],
228
- type: {
229
- defined: 'APY',
230
- },
231
- },
232
- {
233
- name: 'terms',
234
- type: {
235
- defined: 'LoanTerms',
236
- },
237
- },
238
- {
239
- name: 'isCollateralFrozen',
240
- type: 'u8',
241
- },
974
+ { name: 'lender_wallet', type: 'pubkey' },
975
+ { name: 'terms_spec', type: { defined: { name: 'LoanTermsSpec' } } },
976
+ { name: 'offer_time', type: 'i64' },
242
977
  ],
243
978
  },
244
979
  },
245
980
  {
246
- name: 'APY',
247
- docs: ['APY settings on an [`OrderBook`]'],
981
+ name: 'LoanState',
248
982
  type: {
249
983
  kind: 'enum',
250
984
  variants: [
251
985
  {
252
- name: 'Fixed',
986
+ name: 'Offer',
253
987
  fields: [
254
- {
255
- name: 'apy',
256
- docs: ['Thousandths of a percent'],
257
- type: 'u32',
258
- },
988
+ { name: 'offer', type: { defined: { name: 'LoanOffer' } } },
989
+ ],
990
+ },
991
+ {
992
+ name: 'Taken',
993
+ fields: [
994
+ { name: 'taken', type: { defined: { name: 'TakenLoan' } } },
259
995
  ],
260
996
  },
261
997
  ],
262
998
  },
263
999
  },
264
1000
  {
265
- name: 'BookLoanTerms',
1001
+ name: 'LoanTerms',
266
1002
  type: {
267
1003
  kind: 'enum',
268
1004
  variants: [
269
1005
  {
270
- name: 'Fixed',
1006
+ name: 'Time',
271
1007
  fields: [
272
1008
  {
273
- name: 'terms',
274
- type: {
275
- defined: 'LoanTermsSpec',
276
- },
1009
+ name: 'start',
1010
+ docs: ['This is a [`UnixTimeStamp`]'],
1011
+ type: 'i64',
277
1012
  },
1013
+ { name: 'duration', type: 'u64' },
1014
+ { name: 'total_owed_lamports', type: 'u64' },
278
1015
  ],
279
1016
  },
280
- {
281
- name: 'LenderChooses',
282
- },
283
1017
  ],
284
1018
  },
285
1019
  },
@@ -288,15 +1022,34 @@ exports.SharkyIDL = {
288
1022
  type: {
289
1023
  kind: 'enum',
290
1024
  variants: [
1025
+ { name: 'Time', fields: [{ name: 'duration', type: 'u64' }] },
1026
+ ],
1027
+ },
1028
+ },
1029
+ {
1030
+ name: 'NFTList',
1031
+ type: {
1032
+ kind: 'struct',
1033
+ fields: [
1034
+ { name: 'version', type: 'u8' },
1035
+ { name: 'collection_name', type: 'string' },
1036
+ ],
1037
+ },
1038
+ },
1039
+ {
1040
+ name: 'OrderBook',
1041
+ type: {
1042
+ kind: 'struct',
1043
+ fields: [
1044
+ { name: 'version', type: 'u8' },
291
1045
  {
292
- name: 'Time',
293
- fields: [
294
- {
295
- name: 'duration',
296
- type: 'u64',
297
- },
298
- ],
1046
+ name: 'order_book_type',
1047
+ type: { defined: { name: 'OrderBookType' } },
299
1048
  },
1049
+ { name: 'apy', type: { defined: { name: 'APY' } } },
1050
+ { name: 'loan_terms', type: { defined: { name: 'BookLoanTerms' } } },
1051
+ { name: 'fee_permillicentage', type: 'u16' },
1052
+ { name: 'fee_authority', type: 'pubkey' },
300
1053
  ],
301
1054
  },
302
1055
  },
@@ -307,82 +1060,127 @@ exports.SharkyIDL = {
307
1060
  variants: [
308
1061
  {
309
1062
  name: 'Collection',
310
- fields: [
311
- {
312
- name: 'collection_key',
313
- type: 'publicKey',
314
- },
315
- ],
1063
+ fields: [{ name: 'collection_key', type: 'pubkey' }],
316
1064
  },
317
1065
  {
318
1066
  name: 'NFTList',
319
- fields: [
320
- {
321
- name: 'list_account',
322
- type: 'publicKey',
323
- },
324
- ],
1067
+ fields: [{ name: 'list_account', type: 'pubkey' }],
325
1068
  },
326
1069
  ],
327
1070
  },
328
1071
  },
329
1072
  {
330
- name: 'LoanTerms',
1073
+ name: 'ProgramVersion',
331
1074
  type: {
332
- kind: 'enum',
333
- variants: [
334
- {
335
- name: 'Time',
336
- fields: [
337
- {
338
- name: 'start',
339
- docs: ['This is a [`UnixTimeStamp`]'],
340
- type: 'i64',
341
- },
342
- {
343
- name: 'duration',
344
- type: 'u64',
345
- },
346
- {
347
- name: 'total_owed_lamports',
348
- type: 'u64',
349
- },
350
- ],
351
- },
1075
+ kind: 'struct',
1076
+ fields: [
1077
+ { name: 'version', type: 'u8' },
1078
+ { name: 'bump', type: 'u8' },
1079
+ { name: 'updated', type: 'i64' },
352
1080
  ],
353
1081
  },
354
1082
  },
355
1083
  {
356
- name: 'LoanState',
1084
+ name: 'TakenLoan',
357
1085
  type: {
358
- kind: 'enum',
359
- variants: [
360
- {
361
- name: 'Offer',
362
- fields: [
363
- {
364
- name: 'offer',
365
- type: {
366
- defined: 'LoanOffer',
367
- },
368
- },
369
- ],
370
- },
1086
+ kind: 'struct',
1087
+ fields: [
1088
+ { name: 'nft_collateral_mint', type: 'pubkey' },
1089
+ { name: 'lender_note_mint', type: 'pubkey' },
1090
+ { name: 'borrower_note_mint', type: 'pubkey' },
371
1091
  {
372
- name: 'Taken',
373
- fields: [
374
- {
375
- name: 'taken',
376
- type: {
377
- defined: 'TakenLoan',
378
- },
379
- },
1092
+ name: 'apy',
1093
+ docs: [
1094
+ 'Thousandths of a percent (allows to have 3 decimal points of precision)',
380
1095
  ],
1096
+ type: { defined: { name: 'APY' } },
381
1097
  },
1098
+ { name: 'terms', type: { defined: { name: 'LoanTerms' } } },
1099
+ { name: 'is_collateral_frozen', type: 'u8' },
1100
+ ],
1101
+ },
1102
+ },
1103
+ {
1104
+ name: 'TokenLendingLoan',
1105
+ serialization: 'bytemuck',
1106
+ repr: { kind: 'c' },
1107
+ type: {
1108
+ kind: 'struct',
1109
+ fields: [
1110
+ { name: 'orderbook', type: 'pubkey' },
1111
+ { name: 'borrower', type: 'pubkey' },
1112
+ { name: 'pool', type: 'pubkey' },
1113
+ { name: 'principal_usdc_amount', type: 'u64' },
1114
+ { name: 'collateral_required_amount', type: 'u64' },
1115
+ { name: 'start_ts', type: 'i64' },
1116
+ { name: 'end_ts', type: 'i64' },
1117
+ { name: 'apr', type: 'u32' },
1118
+ { name: 'version', type: 'u8' },
1119
+ { name: 'padding', type: { array: ['u8', 3] } },
1120
+ ],
1121
+ },
1122
+ },
1123
+ {
1124
+ name: 'TokenLendingOrderBook',
1125
+ docs: ['Token Lending States'],
1126
+ serialization: 'bytemuck',
1127
+ repr: { kind: 'c' },
1128
+ type: {
1129
+ kind: 'struct',
1130
+ fields: [
1131
+ { name: 'fee_authority', type: 'pubkey' },
1132
+ { name: 'loan_mint', type: 'pubkey' },
1133
+ { name: 'collateral_mint', type: 'pubkey' },
1134
+ { name: 'collateral_token_program', type: 'pubkey' },
1135
+ { name: 'duration', type: 'u64' },
1136
+ { name: 'min_liquidity', type: 'u64' },
1137
+ { name: 'max_liquidity', type: 'u64' },
1138
+ { name: 'apr', type: 'u32' },
1139
+ { name: 'fee_permillicentage', type: 'u16' },
1140
+ { name: 'collateral_decimals', type: 'u8' },
1141
+ { name: 'version', type: 'u8' },
1142
+ { name: 'bump', type: 'u8' },
1143
+ { name: 'padding', type: { array: ['u8', 7] } },
1144
+ ],
1145
+ },
1146
+ },
1147
+ {
1148
+ name: 'TokenLendingPool',
1149
+ serialization: 'bytemuck',
1150
+ repr: { kind: 'c' },
1151
+ type: {
1152
+ kind: 'struct',
1153
+ fields: [
1154
+ { name: 'orderbook', type: 'pubkey' },
1155
+ { name: 'lender', type: 'pubkey' },
1156
+ { name: 'usdc_vault', type: 'pubkey' },
1157
+ { name: 'collateral_vault', type: 'pubkey' },
1158
+ { name: 'nonce', type: 'u64' },
1159
+ { name: 'total_usdc_liquidity', type: 'u64' },
1160
+ { name: 'available_usdc_liquidity', type: 'u64' },
1161
+ { name: 'collateral_required_amount', type: 'u64' },
1162
+ { name: 'total_usdc_interest', type: 'u64' },
1163
+ { name: 'total_loan_count', type: 'u64' },
1164
+ { name: 'active_loan_count', type: 'u64' },
1165
+ { name: 'total_defaulted_loan_count', type: 'u64' },
1166
+ { name: 'total_defaulted_usdc_amount', type: 'u64' },
1167
+ { name: 'total_defaulted_collateral_amount', type: 'u64' },
1168
+ { name: 'version', type: 'u8' },
1169
+ { name: 'bump', type: 'u8' },
1170
+ { name: 'padding', type: { array: ['u8', 6] } },
1171
+ ],
1172
+ },
1173
+ },
1174
+ {
1175
+ name: 'UpdateIndex',
1176
+ type: {
1177
+ kind: 'struct',
1178
+ fields: [
1179
+ { name: 'index', type: 'u32' },
1180
+ { name: 'mint', type: 'pubkey' },
382
1181
  ],
383
1182
  },
384
1183
  },
385
1184
  ],
386
- errors: [],
387
1185
  };
388
1186
  //# sourceMappingURL=idl.js.map