@morpho-dev/router 0.7.1 → 0.8.0

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 (70) hide show
  1. package/dist/cli.js +441 -141
  2. package/dist/drizzle/migrations/0000_setup_single_migration_folder.sql +64 -64
  3. package/dist/drizzle/migrations/0001_add-trigger-for-consumed-events.sql +5 -5
  4. package/dist/drizzle/migrations/0002_insert-status-code.sql +1 -1
  5. package/dist/drizzle/migrations/0003_update-triggers-for-consumed-events.sql +1 -1
  6. package/dist/drizzle/migrations/0004_drop-status-offers-foreign-key-constraint.sql +1 -1
  7. package/dist/drizzle/migrations/0005_add-index-to-boost-group-query-and-offer-hash.sql +1 -1
  8. package/dist/drizzle/migrations/0006_add-callbacks-and-positions-relations.sql +11 -11
  9. package/dist/drizzle/migrations/0008_validation.sql +10 -10
  10. package/dist/drizzle/migrations/0009_add-transfers-table.sql +4 -4
  11. package/dist/drizzle/migrations/0010_add-price.sql +1 -1
  12. package/dist/drizzle/migrations/0011_nullable-callback-amount.sql +1 -1
  13. package/dist/drizzle/migrations/0012_add-position-asset.sql +1 -1
  14. package/dist/drizzle/migrations/0013_remove-depecrated-domains.sql +13 -13
  15. package/dist/drizzle/migrations/0014_rename-offers-v2-into-offers.sql +19 -19
  16. package/dist/drizzle/migrations/0015_add-lots-table.sql +3 -3
  17. package/dist/drizzle/migrations/0016_merkle-metadata.sql +7 -7
  18. package/dist/drizzle/migrations/0017_dusty_the_hunter.sql +1 -1
  19. package/dist/drizzle/migrations/0018_add_chain_collector_constraints.sql +3 -3
  20. package/dist/drizzle/migrations/0019_add-obligation-units-shares.sql +2 -2
  21. package/dist/drizzle/migrations/0020_add-session.sql +1 -1
  22. package/dist/drizzle/migrations/0021_drop_chain_collector_epoch_indexes.sql +2 -2
  23. package/dist/drizzle/migrations/0021_migrate-rate-to-price.sql +6 -6
  24. package/dist/drizzle/migrations/0022_consolidate-price.sql +5 -5
  25. package/dist/drizzle/migrations/0023_remove-block-number-for-collaterals.sql +1 -1
  26. package/dist/drizzle/migrations/0024_add-obligation-id-to-lots.sql +8 -0
  27. package/dist/drizzle/migrations/0025_rename-price-to-tick.sql +202 -0
  28. package/dist/drizzle/migrations/meta/0000_snapshot.json +48 -48
  29. package/dist/drizzle/migrations/meta/0001_snapshot.json +48 -48
  30. package/dist/drizzle/migrations/meta/0002_snapshot.json +48 -48
  31. package/dist/drizzle/migrations/meta/0003_snapshot.json +48 -48
  32. package/dist/drizzle/migrations/meta/0004_snapshot.json +47 -47
  33. package/dist/drizzle/migrations/meta/0005_snapshot.json +47 -47
  34. package/dist/drizzle/migrations/meta/0006_snapshot.json +61 -61
  35. package/dist/drizzle/migrations/meta/0008_snapshot.json +62 -62
  36. package/dist/drizzle/migrations/meta/0009_snapshot.json +66 -66
  37. package/dist/drizzle/migrations/meta/0010_snapshot.json +66 -66
  38. package/dist/drizzle/migrations/meta/0013_snapshot.json +48 -48
  39. package/dist/drizzle/migrations/meta/0014_snapshot.json +48 -48
  40. package/dist/drizzle/migrations/meta/0015_snapshot.json +52 -52
  41. package/dist/drizzle/migrations/meta/0016_snapshot.json +61 -61
  42. package/dist/drizzle/migrations/meta/0017_snapshot.json +61 -61
  43. package/dist/drizzle/migrations/meta/0018_snapshot.json +62 -62
  44. package/dist/drizzle/migrations/meta/0019_snapshot.json +62 -62
  45. package/dist/drizzle/migrations/meta/0023_snapshot.json +62 -62
  46. package/dist/drizzle/migrations/meta/0024_snapshot.json +1448 -0
  47. package/dist/drizzle/migrations/meta/0025_snapshot.json +1448 -0
  48. package/dist/drizzle/migrations/meta/_journal.json +14 -0
  49. package/dist/evm/bytecode/erc20.txt +1 -1
  50. package/dist/evm/bytecode/morpho.txt +1 -1
  51. package/dist/evm/bytecode/multicall3.txt +1 -1
  52. package/dist/evm/bytecode/oracle.txt +1 -1
  53. package/dist/evm/bytecode/vault.txt +1 -1
  54. package/dist/index.browser.d.mts +1157 -81
  55. package/dist/index.browser.d.mts.map +1 -1
  56. package/dist/index.browser.d.ts +1157 -81
  57. package/dist/index.browser.d.ts.map +1 -1
  58. package/dist/index.browser.js +371 -151
  59. package/dist/index.browser.js.map +1 -1
  60. package/dist/index.browser.mjs +366 -152
  61. package/dist/index.browser.mjs.map +1 -1
  62. package/dist/index.node.d.mts +1196 -70
  63. package/dist/index.node.d.mts.map +1 -1
  64. package/dist/index.node.d.ts +1196 -70
  65. package/dist/index.node.d.ts.map +1 -1
  66. package/dist/index.node.js +491 -145
  67. package/dist/index.node.js.map +1 -1
  68. package/dist/index.node.mjs +486 -146
  69. package/dist/index.node.mjs.map +1 -1
  70. package/package.json +1 -1
@@ -150,8 +150,1014 @@ declare const MetaMorphoFactory: readonly [{
150
150
  }];
151
151
  }];
152
152
  type MetaMorphoFactory = typeof MetaMorphoFactory;
153
+ //#endregion
154
+ //#region src/core/Abi/MorphoV2.d.ts
155
+ declare const MorphoV2: readonly [{
156
+ readonly type: "constructor";
157
+ readonly stateMutability: "nonpayable";
158
+ readonly inputs: readonly [];
159
+ }, {
160
+ readonly name: "collateralOf";
161
+ readonly type: "function";
162
+ readonly stateMutability: "view";
163
+ readonly inputs: readonly [{
164
+ readonly type: "bytes32";
165
+ readonly name: "id";
166
+ }, {
167
+ readonly type: "address";
168
+ readonly name: "user";
169
+ }, {
170
+ readonly type: "address";
171
+ readonly name: "collateralToken";
172
+ }];
173
+ readonly outputs: readonly [{
174
+ readonly type: "uint256";
175
+ }];
176
+ }, {
177
+ readonly name: "consume";
178
+ readonly type: "function";
179
+ readonly stateMutability: "nonpayable";
180
+ readonly inputs: readonly [{
181
+ readonly type: "bytes32";
182
+ readonly name: "group";
183
+ }, {
184
+ readonly type: "uint256";
185
+ readonly name: "amount";
186
+ }];
187
+ readonly outputs: readonly [];
188
+ }, {
189
+ readonly name: "consumed";
190
+ readonly type: "function";
191
+ readonly stateMutability: "view";
192
+ readonly inputs: readonly [{
193
+ readonly type: "address";
194
+ readonly name: "user";
195
+ }, {
196
+ readonly type: "bytes32";
197
+ readonly name: "group";
198
+ }];
199
+ readonly outputs: readonly [{
200
+ readonly type: "uint256";
201
+ }];
202
+ }, {
203
+ readonly name: "debtOf";
204
+ readonly type: "function";
205
+ readonly stateMutability: "view";
206
+ readonly inputs: readonly [{
207
+ readonly type: "bytes32";
208
+ readonly name: "id";
209
+ }, {
210
+ readonly type: "address";
211
+ readonly name: "user";
212
+ }];
213
+ readonly outputs: readonly [{
214
+ readonly type: "uint256";
215
+ }];
216
+ }, {
217
+ readonly name: "defaultFees";
218
+ readonly type: "function";
219
+ readonly stateMutability: "view";
220
+ readonly inputs: readonly [{
221
+ readonly type: "address";
222
+ readonly name: "loanToken";
223
+ }, {
224
+ readonly type: "uint256";
225
+ readonly name: "index";
226
+ }];
227
+ readonly outputs: readonly [{
228
+ readonly type: "uint16";
229
+ }];
230
+ }, {
231
+ readonly name: "feeSetter";
232
+ readonly type: "function";
233
+ readonly stateMutability: "view";
234
+ readonly inputs: readonly [];
235
+ readonly outputs: readonly [{
236
+ readonly type: "address";
237
+ }];
238
+ }, {
239
+ readonly name: "fees";
240
+ readonly type: "function";
241
+ readonly stateMutability: "view";
242
+ readonly inputs: readonly [{
243
+ readonly type: "bytes32";
244
+ readonly name: "id";
245
+ }];
246
+ readonly outputs: readonly [{
247
+ readonly type: "uint16[6]";
248
+ }];
249
+ }, {
250
+ readonly name: "flashLoan";
251
+ readonly type: "function";
252
+ readonly stateMutability: "nonpayable";
253
+ readonly inputs: readonly [{
254
+ readonly type: "address";
255
+ readonly name: "token";
256
+ }, {
257
+ readonly type: "uint256";
258
+ readonly name: "assets";
259
+ }, {
260
+ readonly type: "address";
261
+ readonly name: "callback";
262
+ }, {
263
+ readonly type: "bytes";
264
+ readonly name: "data";
265
+ }];
266
+ readonly outputs: readonly [];
267
+ }, {
268
+ readonly name: "isHealthy";
269
+ readonly type: "function";
270
+ readonly stateMutability: "view";
271
+ readonly inputs: readonly [{
272
+ readonly type: "tuple";
273
+ readonly components: readonly [{
274
+ readonly type: "address";
275
+ readonly name: "loanToken";
276
+ }, {
277
+ readonly type: "tuple[]";
278
+ readonly components: readonly [{
279
+ readonly type: "address";
280
+ readonly name: "token";
281
+ }, {
282
+ readonly type: "uint256";
283
+ readonly name: "lltv";
284
+ }, {
285
+ readonly type: "address";
286
+ readonly name: "oracle";
287
+ }];
288
+ readonly name: "collaterals";
289
+ }, {
290
+ readonly type: "uint256";
291
+ readonly name: "maturity";
292
+ }];
293
+ readonly name: "obligation";
294
+ }, {
295
+ readonly type: "bytes32";
296
+ readonly name: "id";
297
+ }, {
298
+ readonly type: "address";
299
+ readonly name: "borrower";
300
+ }];
301
+ readonly outputs: readonly [{
302
+ readonly type: "bool";
303
+ }];
304
+ }, {
305
+ readonly name: "liquidate";
306
+ readonly type: "function";
307
+ readonly stateMutability: "nonpayable";
308
+ readonly inputs: readonly [{
309
+ readonly type: "tuple";
310
+ readonly components: readonly [{
311
+ readonly type: "address";
312
+ readonly name: "loanToken";
313
+ }, {
314
+ readonly type: "tuple[]";
315
+ readonly components: readonly [{
316
+ readonly type: "address";
317
+ readonly name: "token";
318
+ }, {
319
+ readonly type: "uint256";
320
+ readonly name: "lltv";
321
+ }, {
322
+ readonly type: "address";
323
+ readonly name: "oracle";
324
+ }];
325
+ readonly name: "collaterals";
326
+ }, {
327
+ readonly type: "uint256";
328
+ readonly name: "maturity";
329
+ }];
330
+ readonly name: "obligation";
331
+ }, {
332
+ readonly type: "tuple[]";
333
+ readonly components: readonly [{
334
+ readonly type: "uint256";
335
+ readonly name: "collateralIndex";
336
+ }, {
337
+ readonly type: "uint256";
338
+ readonly name: "repaid";
339
+ }, {
340
+ readonly type: "uint256";
341
+ readonly name: "seized";
342
+ }];
343
+ readonly name: "seizures";
344
+ }, {
345
+ readonly type: "address";
346
+ readonly name: "borrower";
347
+ }, {
348
+ readonly type: "bytes";
349
+ readonly name: "data";
350
+ }];
351
+ readonly outputs: readonly [{
352
+ readonly type: "tuple[]";
353
+ readonly components: readonly [{
354
+ readonly type: "uint256";
355
+ readonly name: "collateralIndex";
356
+ }, {
357
+ readonly type: "uint256";
358
+ readonly name: "repaid";
359
+ }, {
360
+ readonly type: "uint256";
361
+ readonly name: "seized";
362
+ }];
363
+ }];
364
+ }, {
365
+ readonly name: "multicall";
366
+ readonly type: "function";
367
+ readonly stateMutability: "nonpayable";
368
+ readonly inputs: readonly [{
369
+ readonly type: "bytes[]";
370
+ readonly name: "calls";
371
+ }];
372
+ readonly outputs: readonly [];
373
+ }, {
374
+ readonly name: "obligationCreated";
375
+ readonly type: "function";
376
+ readonly stateMutability: "view";
377
+ readonly inputs: readonly [{
378
+ readonly type: "bytes32";
379
+ readonly name: "id";
380
+ }];
381
+ readonly outputs: readonly [{
382
+ readonly type: "bool";
383
+ }];
384
+ }, {
385
+ readonly name: "obligationState";
386
+ readonly type: "function";
387
+ readonly stateMutability: "view";
388
+ readonly inputs: readonly [{
389
+ readonly type: "bytes32";
390
+ readonly name: "id";
391
+ }];
392
+ readonly outputs: readonly [{
393
+ readonly type: "uint128";
394
+ readonly name: "totalUnits";
395
+ }, {
396
+ readonly type: "uint128";
397
+ readonly name: "totalShares";
398
+ }, {
399
+ readonly type: "uint256";
400
+ readonly name: "withdrawable";
401
+ }, {
402
+ readonly type: "bool";
403
+ readonly name: "created";
404
+ }];
405
+ }, {
406
+ readonly name: "owner";
407
+ readonly type: "function";
408
+ readonly stateMutability: "view";
409
+ readonly inputs: readonly [];
410
+ readonly outputs: readonly [{
411
+ readonly type: "address";
412
+ }];
413
+ }, {
414
+ readonly name: "repay";
415
+ readonly type: "function";
416
+ readonly stateMutability: "nonpayable";
417
+ readonly inputs: readonly [{
418
+ readonly type: "tuple";
419
+ readonly components: readonly [{
420
+ readonly type: "address";
421
+ readonly name: "loanToken";
422
+ }, {
423
+ readonly type: "tuple[]";
424
+ readonly components: readonly [{
425
+ readonly type: "address";
426
+ readonly name: "token";
427
+ }, {
428
+ readonly type: "uint256";
429
+ readonly name: "lltv";
430
+ }, {
431
+ readonly type: "address";
432
+ readonly name: "oracle";
433
+ }];
434
+ readonly name: "collaterals";
435
+ }, {
436
+ readonly type: "uint256";
437
+ readonly name: "maturity";
438
+ }];
439
+ readonly name: "obligation";
440
+ }, {
441
+ readonly type: "uint256";
442
+ readonly name: "obligationUnits";
443
+ }, {
444
+ readonly type: "address";
445
+ readonly name: "onBehalf";
446
+ }];
447
+ readonly outputs: readonly [];
448
+ }, {
449
+ readonly name: "session";
450
+ readonly type: "function";
451
+ readonly stateMutability: "view";
452
+ readonly inputs: readonly [{
453
+ readonly type: "address";
454
+ readonly name: "user";
455
+ }];
456
+ readonly outputs: readonly [{
457
+ readonly type: "bytes32";
458
+ }];
459
+ }, {
460
+ readonly name: "setDefaultTradingFee";
461
+ readonly type: "function";
462
+ readonly stateMutability: "nonpayable";
463
+ readonly inputs: readonly [{
464
+ readonly type: "address";
465
+ readonly name: "loanToken";
466
+ }, {
467
+ readonly type: "uint256";
468
+ readonly name: "index";
469
+ }, {
470
+ readonly type: "uint256";
471
+ readonly name: "newTradingFee";
472
+ }];
473
+ readonly outputs: readonly [];
474
+ }, {
475
+ readonly name: "setFeeSetter";
476
+ readonly type: "function";
477
+ readonly stateMutability: "nonpayable";
478
+ readonly inputs: readonly [{
479
+ readonly type: "address";
480
+ readonly name: "newFeeSetter";
481
+ }];
482
+ readonly outputs: readonly [];
483
+ }, {
484
+ readonly name: "setObligationTradingFee";
485
+ readonly type: "function";
486
+ readonly stateMutability: "nonpayable";
487
+ readonly inputs: readonly [{
488
+ readonly type: "bytes32";
489
+ readonly name: "id";
490
+ }, {
491
+ readonly type: "uint256";
492
+ readonly name: "index";
493
+ }, {
494
+ readonly type: "uint256";
495
+ readonly name: "newTradingFee";
496
+ }];
497
+ readonly outputs: readonly [];
498
+ }, {
499
+ readonly name: "setOwner";
500
+ readonly type: "function";
501
+ readonly stateMutability: "nonpayable";
502
+ readonly inputs: readonly [{
503
+ readonly type: "address";
504
+ readonly name: "newOwner";
505
+ }];
506
+ readonly outputs: readonly [];
507
+ }, {
508
+ readonly name: "setTradingFeeRecipient";
509
+ readonly type: "function";
510
+ readonly stateMutability: "nonpayable";
511
+ readonly inputs: readonly [{
512
+ readonly type: "address";
513
+ readonly name: "recipient";
514
+ }];
515
+ readonly outputs: readonly [];
516
+ }, {
517
+ readonly name: "sharesOf";
518
+ readonly type: "function";
519
+ readonly stateMutability: "view";
520
+ readonly inputs: readonly [{
521
+ readonly type: "bytes32";
522
+ readonly name: "id";
523
+ }, {
524
+ readonly type: "address";
525
+ readonly name: "user";
526
+ }];
527
+ readonly outputs: readonly [{
528
+ readonly type: "uint256";
529
+ }];
530
+ }, {
531
+ readonly name: "shuffleSession";
532
+ readonly type: "function";
533
+ readonly stateMutability: "nonpayable";
534
+ readonly inputs: readonly [];
535
+ readonly outputs: readonly [];
536
+ }, {
537
+ readonly name: "supplyCollateral";
538
+ readonly type: "function";
539
+ readonly stateMutability: "nonpayable";
540
+ readonly inputs: readonly [{
541
+ readonly type: "tuple";
542
+ readonly components: readonly [{
543
+ readonly type: "address";
544
+ readonly name: "loanToken";
545
+ }, {
546
+ readonly type: "tuple[]";
547
+ readonly components: readonly [{
548
+ readonly type: "address";
549
+ readonly name: "token";
550
+ }, {
551
+ readonly type: "uint256";
552
+ readonly name: "lltv";
553
+ }, {
554
+ readonly type: "address";
555
+ readonly name: "oracle";
556
+ }];
557
+ readonly name: "collaterals";
558
+ }, {
559
+ readonly type: "uint256";
560
+ readonly name: "maturity";
561
+ }];
562
+ readonly name: "obligation";
563
+ }, {
564
+ readonly type: "address";
565
+ readonly name: "collateral";
566
+ }, {
567
+ readonly type: "uint256";
568
+ readonly name: "assets";
569
+ }, {
570
+ readonly type: "address";
571
+ readonly name: "onBehalf";
572
+ }];
573
+ readonly outputs: readonly [];
574
+ }, {
575
+ readonly name: "take";
576
+ readonly type: "function";
577
+ readonly stateMutability: "nonpayable";
578
+ readonly inputs: readonly [{
579
+ readonly type: "uint256";
580
+ readonly name: "buyerAssets";
581
+ }, {
582
+ readonly type: "uint256";
583
+ readonly name: "sellerAssets";
584
+ }, {
585
+ readonly type: "uint256";
586
+ readonly name: "obligationUnits";
587
+ }, {
588
+ readonly type: "uint256";
589
+ readonly name: "obligationShares";
590
+ }, {
591
+ readonly type: "address";
592
+ readonly name: "taker";
593
+ }, {
594
+ readonly type: "tuple";
595
+ readonly components: readonly [{
596
+ readonly type: "tuple";
597
+ readonly components: readonly [{
598
+ readonly type: "address";
599
+ readonly name: "loanToken";
600
+ }, {
601
+ readonly type: "tuple[]";
602
+ readonly components: readonly [{
603
+ readonly type: "address";
604
+ readonly name: "token";
605
+ }, {
606
+ readonly type: "uint256";
607
+ readonly name: "lltv";
608
+ }, {
609
+ readonly type: "address";
610
+ readonly name: "oracle";
611
+ }];
612
+ readonly name: "collaterals";
613
+ }, {
614
+ readonly type: "uint256";
615
+ readonly name: "maturity";
616
+ }];
617
+ readonly name: "obligation";
618
+ }, {
619
+ readonly type: "bool";
620
+ readonly name: "buy";
621
+ }, {
622
+ readonly type: "address";
623
+ readonly name: "maker";
624
+ }, {
625
+ readonly type: "uint256";
626
+ readonly name: "assets";
627
+ }, {
628
+ readonly type: "uint256";
629
+ readonly name: "obligationUnits";
630
+ }, {
631
+ readonly type: "uint256";
632
+ readonly name: "obligationShares";
633
+ }, {
634
+ readonly type: "uint256";
635
+ readonly name: "start";
636
+ }, {
637
+ readonly type: "uint256";
638
+ readonly name: "expiry";
639
+ }, {
640
+ readonly type: "uint256";
641
+ readonly name: "tick";
642
+ }, {
643
+ readonly type: "bytes32";
644
+ readonly name: "group";
645
+ }, {
646
+ readonly type: "bytes32";
647
+ readonly name: "session";
648
+ }, {
649
+ readonly type: "address";
650
+ readonly name: "callback";
651
+ }, {
652
+ readonly type: "bytes";
653
+ readonly name: "callbackData";
654
+ }];
655
+ readonly name: "offer";
656
+ }, {
657
+ readonly type: "tuple";
658
+ readonly components: readonly [{
659
+ readonly type: "uint8";
660
+ readonly name: "v";
661
+ }, {
662
+ readonly type: "bytes32";
663
+ readonly name: "r";
664
+ }, {
665
+ readonly type: "bytes32";
666
+ readonly name: "s";
667
+ }];
668
+ readonly name: "sig";
669
+ }, {
670
+ readonly type: "bytes32";
671
+ readonly name: "root";
672
+ }, {
673
+ readonly type: "bytes32[]";
674
+ readonly name: "proof";
675
+ }, {
676
+ readonly type: "address";
677
+ readonly name: "takerCallback";
678
+ }, {
679
+ readonly type: "bytes";
680
+ readonly name: "takerCallbackData";
681
+ }];
682
+ readonly outputs: readonly [{
683
+ readonly type: "uint256";
684
+ }, {
685
+ readonly type: "uint256";
686
+ }, {
687
+ readonly type: "uint256";
688
+ }, {
689
+ readonly type: "uint256";
690
+ }];
691
+ }, {
692
+ readonly name: "totalShares";
693
+ readonly type: "function";
694
+ readonly stateMutability: "view";
695
+ readonly inputs: readonly [{
696
+ readonly type: "bytes32";
697
+ readonly name: "id";
698
+ }];
699
+ readonly outputs: readonly [{
700
+ readonly type: "uint256";
701
+ }];
702
+ }, {
703
+ readonly name: "totalUnits";
704
+ readonly type: "function";
705
+ readonly stateMutability: "view";
706
+ readonly inputs: readonly [{
707
+ readonly type: "bytes32";
708
+ readonly name: "id";
709
+ }];
710
+ readonly outputs: readonly [{
711
+ readonly type: "uint256";
712
+ }];
713
+ }, {
714
+ readonly name: "touchObligation";
715
+ readonly type: "function";
716
+ readonly stateMutability: "nonpayable";
717
+ readonly inputs: readonly [{
718
+ readonly type: "tuple";
719
+ readonly components: readonly [{
720
+ readonly type: "address";
721
+ readonly name: "loanToken";
722
+ }, {
723
+ readonly type: "tuple[]";
724
+ readonly components: readonly [{
725
+ readonly type: "address";
726
+ readonly name: "token";
727
+ }, {
728
+ readonly type: "uint256";
729
+ readonly name: "lltv";
730
+ }, {
731
+ readonly type: "address";
732
+ readonly name: "oracle";
733
+ }];
734
+ readonly name: "collaterals";
735
+ }, {
736
+ readonly type: "uint256";
737
+ readonly name: "maturity";
738
+ }];
739
+ readonly name: "obligation";
740
+ }];
741
+ readonly outputs: readonly [{
742
+ readonly type: "bytes32";
743
+ }];
744
+ }, {
745
+ readonly name: "tradingFee";
746
+ readonly type: "function";
747
+ readonly stateMutability: "view";
748
+ readonly inputs: readonly [{
749
+ readonly type: "bytes32";
750
+ readonly name: "id";
751
+ }, {
752
+ readonly type: "uint256";
753
+ readonly name: "timeToMaturity";
754
+ }];
755
+ readonly outputs: readonly [{
756
+ readonly type: "uint256";
757
+ }];
758
+ }, {
759
+ readonly name: "tradingFeeRecipient";
760
+ readonly type: "function";
761
+ readonly stateMutability: "view";
762
+ readonly inputs: readonly [];
763
+ readonly outputs: readonly [{
764
+ readonly type: "address";
765
+ }];
766
+ }, {
767
+ readonly name: "withdraw";
768
+ readonly type: "function";
769
+ readonly stateMutability: "nonpayable";
770
+ readonly inputs: readonly [{
771
+ readonly type: "tuple";
772
+ readonly components: readonly [{
773
+ readonly type: "address";
774
+ readonly name: "loanToken";
775
+ }, {
776
+ readonly type: "tuple[]";
777
+ readonly components: readonly [{
778
+ readonly type: "address";
779
+ readonly name: "token";
780
+ }, {
781
+ readonly type: "uint256";
782
+ readonly name: "lltv";
783
+ }, {
784
+ readonly type: "address";
785
+ readonly name: "oracle";
786
+ }];
787
+ readonly name: "collaterals";
788
+ }, {
789
+ readonly type: "uint256";
790
+ readonly name: "maturity";
791
+ }];
792
+ readonly name: "obligation";
793
+ }, {
794
+ readonly type: "uint256";
795
+ readonly name: "obligationUnits";
796
+ }, {
797
+ readonly type: "uint256";
798
+ readonly name: "shares";
799
+ }, {
800
+ readonly type: "address";
801
+ readonly name: "onBehalf";
802
+ }];
803
+ readonly outputs: readonly [{
804
+ readonly type: "uint256";
805
+ }, {
806
+ readonly type: "uint256";
807
+ }];
808
+ }, {
809
+ readonly name: "withdrawCollateral";
810
+ readonly type: "function";
811
+ readonly stateMutability: "nonpayable";
812
+ readonly inputs: readonly [{
813
+ readonly type: "tuple";
814
+ readonly components: readonly [{
815
+ readonly type: "address";
816
+ readonly name: "loanToken";
817
+ }, {
818
+ readonly type: "tuple[]";
819
+ readonly components: readonly [{
820
+ readonly type: "address";
821
+ readonly name: "token";
822
+ }, {
823
+ readonly type: "uint256";
824
+ readonly name: "lltv";
825
+ }, {
826
+ readonly type: "address";
827
+ readonly name: "oracle";
828
+ }];
829
+ readonly name: "collaterals";
830
+ }, {
831
+ readonly type: "uint256";
832
+ readonly name: "maturity";
833
+ }];
834
+ readonly name: "obligation";
835
+ }, {
836
+ readonly type: "address";
837
+ readonly name: "collateral";
838
+ }, {
839
+ readonly type: "uint256";
840
+ readonly name: "assets";
841
+ }, {
842
+ readonly type: "address";
843
+ readonly name: "onBehalf";
844
+ }];
845
+ readonly outputs: readonly [];
846
+ }, {
847
+ readonly name: "withdrawable";
848
+ readonly type: "function";
849
+ readonly stateMutability: "view";
850
+ readonly inputs: readonly [{
851
+ readonly type: "bytes32";
852
+ readonly name: "id";
853
+ }];
854
+ readonly outputs: readonly [{
855
+ readonly type: "uint256";
856
+ }];
857
+ }, {
858
+ readonly name: "Constructor";
859
+ readonly type: "event";
860
+ readonly inputs: readonly [{
861
+ readonly type: "address";
862
+ readonly name: "owner";
863
+ readonly indexed: true;
864
+ }];
865
+ }, {
866
+ readonly name: "Consume";
867
+ readonly type: "event";
868
+ readonly inputs: readonly [{
869
+ readonly type: "address";
870
+ readonly name: "user";
871
+ readonly indexed: true;
872
+ }, {
873
+ readonly type: "bytes32";
874
+ readonly name: "group";
875
+ readonly indexed: true;
876
+ }, {
877
+ readonly type: "uint256";
878
+ readonly name: "amount";
879
+ }];
880
+ }, {
881
+ readonly name: "FlashLoan";
882
+ readonly type: "event";
883
+ readonly inputs: readonly [{
884
+ readonly type: "address";
885
+ readonly name: "caller";
886
+ readonly indexed: true;
887
+ }, {
888
+ readonly type: "address";
889
+ readonly name: "token";
890
+ readonly indexed: true;
891
+ }, {
892
+ readonly type: "uint256";
893
+ readonly name: "assets";
894
+ }];
895
+ }, {
896
+ readonly name: "Liquidate";
897
+ readonly type: "event";
898
+ readonly inputs: readonly [{
899
+ readonly type: "address";
900
+ readonly name: "caller";
901
+ readonly indexed: true;
902
+ }, {
903
+ readonly type: "bytes32";
904
+ readonly name: "id";
905
+ readonly indexed: true;
906
+ }, {
907
+ readonly type: "tuple[]";
908
+ readonly components: readonly [{
909
+ readonly type: "uint256";
910
+ readonly name: "collateralIndex";
911
+ }, {
912
+ readonly type: "uint256";
913
+ readonly name: "repaid";
914
+ }, {
915
+ readonly type: "uint256";
916
+ readonly name: "seized";
917
+ }];
918
+ readonly name: "seizures";
919
+ }, {
920
+ readonly type: "address";
921
+ readonly name: "borrower";
922
+ readonly indexed: true;
923
+ }, {
924
+ readonly type: "uint256";
925
+ readonly name: "totalRepaid";
926
+ }, {
927
+ readonly type: "uint256";
928
+ readonly name: "badDebt";
929
+ }];
930
+ }, {
931
+ readonly name: "ObligationCreated";
932
+ readonly type: "event";
933
+ readonly inputs: readonly [{
934
+ readonly type: "bytes32";
935
+ readonly name: "id";
936
+ readonly indexed: true;
937
+ }, {
938
+ readonly type: "tuple";
939
+ readonly components: readonly [{
940
+ readonly type: "address";
941
+ readonly name: "loanToken";
942
+ }, {
943
+ readonly type: "tuple[]";
944
+ readonly components: readonly [{
945
+ readonly type: "address";
946
+ readonly name: "token";
947
+ }, {
948
+ readonly type: "uint256";
949
+ readonly name: "lltv";
950
+ }, {
951
+ readonly type: "address";
952
+ readonly name: "oracle";
953
+ }];
954
+ readonly name: "collaterals";
955
+ }, {
956
+ readonly type: "uint256";
957
+ readonly name: "maturity";
958
+ }];
959
+ readonly name: "obligation";
960
+ }];
961
+ }, {
962
+ readonly name: "Repay";
963
+ readonly type: "event";
964
+ readonly inputs: readonly [{
965
+ readonly type: "address";
966
+ readonly name: "caller";
967
+ readonly indexed: true;
968
+ }, {
969
+ readonly type: "bytes32";
970
+ readonly name: "id";
971
+ readonly indexed: true;
972
+ }, {
973
+ readonly type: "uint256";
974
+ readonly name: "obligationUnits";
975
+ }, {
976
+ readonly type: "address";
977
+ readonly name: "onBehalf";
978
+ readonly indexed: true;
979
+ }];
980
+ }, {
981
+ readonly name: "SetDefaultTradingFee";
982
+ readonly type: "event";
983
+ readonly inputs: readonly [{
984
+ readonly type: "address";
985
+ readonly name: "loanToken";
986
+ readonly indexed: true;
987
+ }, {
988
+ readonly type: "uint256";
989
+ readonly name: "index";
990
+ readonly indexed: true;
991
+ }, {
992
+ readonly type: "uint256";
993
+ readonly name: "newTradingFee";
994
+ }];
995
+ }, {
996
+ readonly name: "SetFeeSetter";
997
+ readonly type: "event";
998
+ readonly inputs: readonly [{
999
+ readonly type: "address";
1000
+ readonly name: "feeSetter";
1001
+ readonly indexed: true;
1002
+ }];
1003
+ }, {
1004
+ readonly name: "SetObligationTradingFee";
1005
+ readonly type: "event";
1006
+ readonly inputs: readonly [{
1007
+ readonly type: "bytes32";
1008
+ readonly name: "id";
1009
+ readonly indexed: true;
1010
+ }, {
1011
+ readonly type: "uint256";
1012
+ readonly name: "index";
1013
+ readonly indexed: true;
1014
+ }, {
1015
+ readonly type: "uint256";
1016
+ readonly name: "newTradingFee";
1017
+ }];
1018
+ }, {
1019
+ readonly name: "SetOwner";
1020
+ readonly type: "event";
1021
+ readonly inputs: readonly [{
1022
+ readonly type: "address";
1023
+ readonly name: "owner";
1024
+ readonly indexed: true;
1025
+ }];
1026
+ }, {
1027
+ readonly name: "SetTradingFeeRecipient";
1028
+ readonly type: "event";
1029
+ readonly inputs: readonly [{
1030
+ readonly type: "address";
1031
+ readonly name: "recipient";
1032
+ readonly indexed: true;
1033
+ }];
1034
+ }, {
1035
+ readonly name: "ShuffleSession";
1036
+ readonly type: "event";
1037
+ readonly inputs: readonly [{
1038
+ readonly type: "address";
1039
+ readonly name: "user";
1040
+ readonly indexed: true;
1041
+ }, {
1042
+ readonly type: "bytes32";
1043
+ readonly name: "session";
1044
+ }];
1045
+ }, {
1046
+ readonly name: "SupplyCollateral";
1047
+ readonly type: "event";
1048
+ readonly inputs: readonly [{
1049
+ readonly type: "address";
1050
+ readonly name: "caller";
1051
+ }, {
1052
+ readonly type: "bytes32";
1053
+ readonly name: "id";
1054
+ readonly indexed: true;
1055
+ }, {
1056
+ readonly type: "address";
1057
+ readonly name: "collateral";
1058
+ readonly indexed: true;
1059
+ }, {
1060
+ readonly type: "uint256";
1061
+ readonly name: "assets";
1062
+ }, {
1063
+ readonly type: "address";
1064
+ readonly name: "onBehalf";
1065
+ readonly indexed: true;
1066
+ }];
1067
+ }, {
1068
+ readonly name: "Take";
1069
+ readonly type: "event";
1070
+ readonly inputs: readonly [{
1071
+ readonly type: "address";
1072
+ readonly name: "caller";
1073
+ }, {
1074
+ readonly type: "bytes32";
1075
+ readonly name: "id";
1076
+ readonly indexed: true;
1077
+ }, {
1078
+ readonly type: "address";
1079
+ readonly name: "maker";
1080
+ readonly indexed: true;
1081
+ }, {
1082
+ readonly type: "address";
1083
+ readonly name: "taker";
1084
+ readonly indexed: true;
1085
+ }, {
1086
+ readonly type: "bool";
1087
+ readonly name: "offerIsBuy";
1088
+ }, {
1089
+ readonly type: "uint256";
1090
+ readonly name: "buyerAssets";
1091
+ }, {
1092
+ readonly type: "uint256";
1093
+ readonly name: "sellerAssets";
1094
+ }, {
1095
+ readonly type: "uint256";
1096
+ readonly name: "obligationUnits";
1097
+ }, {
1098
+ readonly type: "uint256";
1099
+ readonly name: "obligationShares";
1100
+ }, {
1101
+ readonly type: "bool";
1102
+ readonly name: "buyerIsLender";
1103
+ }, {
1104
+ readonly type: "bool";
1105
+ readonly name: "sellerIsBorrower";
1106
+ }, {
1107
+ readonly type: "bytes32";
1108
+ readonly name: "group";
1109
+ }, {
1110
+ readonly type: "uint256";
1111
+ readonly name: "consumed";
1112
+ }];
1113
+ }, {
1114
+ readonly name: "Withdraw";
1115
+ readonly type: "event";
1116
+ readonly inputs: readonly [{
1117
+ readonly type: "address";
1118
+ readonly name: "caller";
1119
+ readonly indexed: true;
1120
+ }, {
1121
+ readonly type: "bytes32";
1122
+ readonly name: "id";
1123
+ readonly indexed: true;
1124
+ }, {
1125
+ readonly type: "uint256";
1126
+ readonly name: "obligationUnits";
1127
+ }, {
1128
+ readonly type: "uint256";
1129
+ readonly name: "shares";
1130
+ }, {
1131
+ readonly type: "address";
1132
+ readonly name: "onBehalf";
1133
+ readonly indexed: true;
1134
+ }];
1135
+ }, {
1136
+ readonly name: "WithdrawCollateral";
1137
+ readonly type: "event";
1138
+ readonly inputs: readonly [{
1139
+ readonly type: "address";
1140
+ readonly name: "caller";
1141
+ }, {
1142
+ readonly type: "bytes32";
1143
+ readonly name: "id";
1144
+ readonly indexed: true;
1145
+ }, {
1146
+ readonly type: "address";
1147
+ readonly name: "collateral";
1148
+ readonly indexed: true;
1149
+ }, {
1150
+ readonly type: "uint256";
1151
+ readonly name: "assets";
1152
+ }, {
1153
+ readonly type: "address";
1154
+ readonly name: "onBehalf";
1155
+ readonly indexed: true;
1156
+ }];
1157
+ }];
1158
+ type MorphoV2 = typeof MorphoV2;
153
1159
  declare namespace index_d_exports {
154
- export { ERC4626, MetaMorpho, MetaMorphoFactory, Morpho, Oracle$1 as Oracle };
1160
+ export { ERC4626, MetaMorpho, MetaMorphoFactory, Morpho, MorphoV2, Oracle$1 as Oracle };
155
1161
  }
156
1162
  declare const Oracle$1: readonly [{
157
1163
  readonly type: "function";
@@ -866,8 +1872,8 @@ type Offer = {
866
1872
  /** The address that made the offer. */readonly maker: Address; /** The amount of assets offered. Mutually exclusive with obligationUnits and obligationShares. */
867
1873
  readonly assets: bigint; /** The max debt units to trade. Mutually exclusive with assets and obligationShares. */
868
1874
  readonly obligationUnits: bigint; /** The max lending shares to trade. Mutually exclusive with assets and obligationUnits. */
869
- readonly obligationShares: bigint; /** The price (18 decimals). */
870
- readonly price: bigint; /** The date at which all interests will be paid. */
1875
+ readonly obligationShares: bigint; /** The offer tick. */
1876
+ readonly tick: number; /** The date at which all interests will be paid. */
871
1877
  readonly maturity: Maturity; /** The date at which the offer will expire. */
872
1878
  readonly expiry: number; /** The date at which the offer will start. */
873
1879
  readonly start: number; /** The group. Used for OCO (One-Cancelled-Other) mechanism. */
@@ -895,7 +1901,7 @@ declare const OfferSchema: () => z$1.ZodObject<{
895
1901
  assets: z$1.ZodBigInt;
896
1902
  obligationUnits: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBigInt>>;
897
1903
  obligationShares: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBigInt>>;
898
- price: z$1.ZodBigInt;
1904
+ tick: z$1.ZodCoercedNumber<unknown>;
899
1905
  maturity: z$1.ZodPipe<z$1.ZodNumber, z$1.ZodTransform<Maturity, number>>;
900
1906
  expiry: z$1.ZodNumber;
901
1907
  start: z$1.ZodNumber;
@@ -970,7 +1976,7 @@ declare const serialize: (offer: Offer) => {
970
1976
  assets: string;
971
1977
  obligationUnits: string;
972
1978
  obligationShares: string;
973
- price: string;
1979
+ tick: number;
974
1980
  maturity: number;
975
1981
  expiry: number;
976
1982
  start: number;
@@ -1005,7 +2011,7 @@ type RandomConfig = {
1005
2011
  expiry?: number;
1006
2012
  group?: Hex | bigint | number | string;
1007
2013
  session?: Hex | bigint | number | string;
1008
- price?: bigint;
2014
+ tick?: number;
1009
2015
  callback?: {
1010
2016
  address: Address;
1011
2017
  data: Hex;
@@ -1054,7 +2060,7 @@ declare const types: {
1054
2060
  readonly name: "obligationShares";
1055
2061
  readonly type: "uint256";
1056
2062
  }, {
1057
- readonly name: "price";
2063
+ readonly name: "tick";
1058
2064
  readonly type: "uint256";
1059
2065
  }, {
1060
2066
  readonly name: "maturity";
@@ -1450,6 +2456,41 @@ declare class InvalidQuoteError extends BaseError<z$1.ZodError | Error> {
1450
2456
  readonly name = "Quote.InvalidQuoteError";
1451
2457
  constructor(error: z$1.ZodError | Error);
1452
2458
  }
2459
+ declare namespace Tick_d_exports {
2460
+ export { InvalidPriceError, InvalidTickError, MAX_PRICE, TICK_RANGE, priceToTick, tickToPrice };
2461
+ }
2462
+ /** Tick domain supported by Morpho V2. */
2463
+ declare const TICK_RANGE = 990;
2464
+ /** Max allowed price (1e18 in wad). */
2465
+ declare const MAX_PRICE: bigint;
2466
+ /**
2467
+ * Converts a tick to a wad price using the same approximation and rounding as TickLib.
2468
+ * @param tick - Tick value in the inclusive range [0, 990].
2469
+ * @returns The price in wad units.
2470
+ * @throws {@link InvalidTickError} If tick is not an integer in range [0, 990].
2471
+ */
2472
+ declare function tickToPrice(tick: number): bigint;
2473
+ declare namespace tickToPrice {
2474
+ type ErrorType = InvalidTickError;
2475
+ }
2476
+ /**
2477
+ * Returns the lowest tick with a higher-or-equal price.
2478
+ * @param price - Price in wad units.
2479
+ * @returns The first tick whose {@link tickToPrice} is greater than or equal to `price`.
2480
+ * @throws {@link InvalidPriceError} If price is outside [0, 1e18].
2481
+ */
2482
+ declare function priceToTick(price: bigint): number;
2483
+ declare namespace priceToTick {
2484
+ type ErrorType = InvalidPriceError;
2485
+ }
2486
+ declare class InvalidTickError extends BaseError {
2487
+ readonly name = "Tick.InvalidTickError";
2488
+ constructor(tick: number);
2489
+ }
2490
+ declare class InvalidPriceError extends BaseError {
2491
+ readonly name = "Tick.InvalidPriceError";
2492
+ constructor(price: bigint);
2493
+ }
1453
2494
  declare namespace TradingFee_d_exports {
1454
2495
  export { BREAKPOINTS, Fees, InvalidFeeError, InvalidFeesLengthError, TradingFee, WAD, activate, compute, deactivate, from$9 as from, getFees, isActivated };
1455
2496
  }
@@ -1863,7 +2904,7 @@ type Row = {
1863
2904
  assets: bigint;
1864
2905
  obligationUnits: bigint;
1865
2906
  obligationShares: bigint;
1866
- price: bigint;
2907
+ tick: number;
1867
2908
  maturity: Maturity;
1868
2909
  expiry: number;
1869
2910
  start: number;
@@ -1934,8 +2975,8 @@ declare namespace get$4 {
1934
2975
  limit?: number;
1935
2976
  };
1936
2977
  type Level = {
1937
- /** The computed price for this level (interpolated at query time) */price: bigint; /** Sum of takeable amounts at this price */
1938
- assets: bigint; /** Number of offers at this price */
2978
+ /** The offer tick for this level */tick: number; /** Sum of takeable amounts at this tick */
2979
+ assets: bigint; /** Number of offers at this tick */
1939
2980
  count: number;
1940
2981
  };
1941
2982
  type ReturnType = {
@@ -2024,6 +3065,7 @@ type Lot = {
2024
3065
  user: Address;
2025
3066
  contract: Address;
2026
3067
  group: string;
3068
+ obligationId: string;
2027
3069
  lower: bigint;
2028
3070
  upper: bigint;
2029
3071
  };
@@ -2046,6 +3088,7 @@ declare namespace create$5 {
2046
3088
  positionContract: Address;
2047
3089
  positionUser: Address;
2048
3090
  group: string;
3091
+ obligationId: string;
2049
3092
  size: bigint;
2050
3093
  };
2051
3094
  type Parameters = OfferLotInfo[];
@@ -2057,6 +3100,7 @@ declare namespace get$3 {
2057
3100
  user?: Address;
2058
3101
  contract?: Address;
2059
3102
  group?: string;
3103
+ obligationId?: string;
2060
3104
  };
2061
3105
  type ReturnType = Lot[];
2062
3106
  }
@@ -2077,6 +3121,7 @@ type Offset = {
2077
3121
  user: Address;
2078
3122
  contract: Address;
2079
3123
  group: string;
3124
+ obligationId: string;
2080
3125
  value: bigint;
2081
3126
  };
2082
3127
  type OffsetsDomain = {
@@ -2091,6 +3136,7 @@ declare namespace get$2 {
2091
3136
  user?: Address;
2092
3137
  contract?: Address;
2093
3138
  group?: string;
3139
+ obligationId?: string;
2094
3140
  };
2095
3141
  type ReturnType = Offset[];
2096
3142
  }
@@ -2169,7 +3215,8 @@ declare namespace getByUser {
2169
3215
  chainId: Id;
2170
3216
  contract: Address;
2171
3217
  user: Address;
2172
- blockNumber: number; /** The amount reserved by active offers: max(lot.upper) - offset - consumed */
3218
+ blockNumber: number; /** The obligation this reserved amount belongs to, or null if no lots exist */
3219
+ obligationId: string | null; /** The amount reserved by active offers: max(lot.upper) - offset - consumed */
2173
3220
  reserved: bigint;
2174
3221
  };
2175
3222
  type ReturnType = {
@@ -2258,7 +3305,7 @@ type ValidationsDomain = {
2258
3305
  upsert: (validations: Validation[]) => Promise<void>;
2259
3306
  };
2260
3307
  declare namespace Database_d_exports {
2261
- export { Core, Database, Driver, WithDomains, connect$2 as connect };
3308
+ export { Core, Database, Driver, WithDomains, connect$2 as connect, getSchemaNamesForMigration };
2262
3309
  }
2263
3310
  type Driver = ReturnType<typeof drizzle> | ReturnType<typeof drizzle$1>;
2264
3311
  type Domains = {
@@ -2294,6 +3341,12 @@ type Database = Core & {
2294
3341
  * @returns The database client {@link connect.ReturnType}
2295
3342
  */
2296
3343
  declare function connect$2(chainRegistry: ChainRegistry, connectionString?: string): Database;
3344
+ /**
3345
+ * Build the list of router schemas that should exist before running migrations.
3346
+ * @param version - Current schema version (e.g. `router_v1.8`).
3347
+ * @returns Ordered schema names from `router_v1.7` to current, or just current if parsing fails.
3348
+ */
3349
+ declare function getSchemaNamesForMigration(version: string): string[];
2297
3350
  declare namespace Gate_d_exports {
2298
3351
  export { Batch, Issue, Result, Rule, RuleNames, Single, batch$1 as batch, run, single };
2299
3352
  }
@@ -2378,6 +3431,10 @@ type ConfigRule = {
2378
3431
  type: "loan_token";
2379
3432
  chain_id: Id;
2380
3433
  address: Address;
3434
+ } | {
3435
+ type: "collateral_token";
3436
+ chain_id: Id;
3437
+ address: Address;
2381
3438
  } | {
2382
3439
  type: "oracle";
2383
3440
  chain_id: Id;
@@ -2550,15 +3607,17 @@ declare namespace BookResponse_d_exports {
2550
3607
  export { BookLevelResponse, from$4 as from };
2551
3608
  }
2552
3609
  type BookLevelResponse = {
3610
+ tick: number;
2553
3611
  price: string;
2554
3612
  assets: string;
2555
3613
  count: number;
2556
3614
  };
2557
- declare function from$4(level: {
2558
- price: bigint;
3615
+ type Input$1 = {
3616
+ tick: number;
2559
3617
  assets: bigint;
2560
3618
  count: number;
2561
- }): BookLevelResponse;
3619
+ };
3620
+ declare function from$4(level: Input$1): BookLevelResponse;
2562
3621
  //#endregion
2563
3622
  //#region src/api/Schema/health.d.ts
2564
3623
  declare const CollectorHealth: z.ZodObject<{
@@ -2632,13 +3691,13 @@ interface paths {
2632
3691
  };
2633
3692
  /**
2634
3693
  * Get aggregated book
2635
- * @description Returns aggregated book data for a given obligation and side. Offers are grouped by computed price with summed takeable amounts. Book levels are sorted by price (ascending for buy side, descending for sell side).
3694
+ * @description Returns aggregated book data for a given obligation and side. Offers are grouped by tick with summed takeable amounts, and each level includes the corresponding wad-scaled price. Book levels are sorted by tick (ascending for sell side, descending for buy side).
2636
3695
  */
2637
3696
  get: {
2638
3697
  parameters: {
2639
3698
  query?: {
2640
3699
  /**
2641
- * @description Maximum number of price levels to return.
3700
+ * @description Maximum number of tick levels to return.
2642
3701
  * @example 10
2643
3702
  */
2644
3703
  limit?: number;
@@ -2754,7 +3813,7 @@ interface paths {
2754
3813
  };
2755
3814
  /**
2756
3815
  * Get config rules
2757
- * @description Returns configured rules (maturities, loan tokens, oracles) for supported chains.
3816
+ * @description Returns configured rules (maturities, loan tokens, collateral tokens, oracles) for supported chains.
2758
3817
  */
2759
3818
  get: {
2760
3819
  parameters: {
@@ -2766,7 +3825,7 @@ interface paths {
2766
3825
  chains?: number[];
2767
3826
  /**
2768
3827
  * @description Filter by rule types (comma-separated).
2769
- * @example maturity,loan_token,oracle
3828
+ * @example maturity,loan_token,collateral_token,oracle
2770
3829
  */
2771
3830
  types?: string[];
2772
3831
  /**
@@ -3146,7 +4205,7 @@ interface paths {
3146
4205
  };
3147
4206
  /**
3148
4207
  * Get user positions
3149
- * @description Returns positions for a user with reserved balance. The reserved balance is the amount locked by active offers (max lot upper - offset - consumed).
4208
+ * @description Returns positions for a user with reserved balance per obligation. Each (position, obligation) pair is returned as a separate row. Positions with no lots return a single row with obligation_id = null and reserved = 0.
3150
4209
  */
3151
4210
  get: {
3152
4211
  parameters: {
@@ -3255,14 +4314,19 @@ interface components {
3255
4314
  schemas: {
3256
4315
  BookListResponse: {
3257
4316
  meta: components["schemas"]["Meta"]; /** @example eyJvZmZzZXQiOjEwMH0 */
3258
- cursor: string | null; /** @description Aggregated book levels grouped by computed price. */
4317
+ cursor: string | null; /** @description Aggregated book levels grouped by offer tick. */
3259
4318
  data: components["schemas"]["BookLevelResponse"][];
3260
4319
  };
3261
4320
  Meta: {
3262
4321
  /** @example 2024-01-01T12:00:00.000Z */timestamp: string;
3263
4322
  };
3264
4323
  BookLevelResponse: {
3265
- /** @example 2750000000000000000 */price: string; /** @example 369216000000000000000000 */
4324
+ /** @example 495 */tick: number;
4325
+ /**
4326
+ * @description Price derived from tick, scaled by 1e18.
4327
+ * @example 500000000000000000
4328
+ */
4329
+ price: string; /** @example 369216000000000000000000 */
3266
4330
  assets: string; /** @example 5 */
3267
4331
  count: number;
3268
4332
  };
@@ -3339,6 +4403,11 @@ interface components {
3339
4403
  * "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
3340
4404
  * },
3341
4405
  * {
4406
+ * "type": "collateral_token",
4407
+ * "chain_id": 1,
4408
+ * "address": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
4409
+ * },
4410
+ * {
3342
4411
  * "type": "oracle",
3343
4412
  * "chain_id": 1,
3344
4413
  * "address": "0xDddd770BADd886dF3864029e4B377B5F6a2B6b83"
@@ -3388,7 +4457,7 @@ interface components {
3388
4457
  * "obligation_shares": "0",
3389
4458
  * "start": 1761922790,
3390
4459
  * "expiry": 1761922799,
3391
- * "price": "2750000000000000000",
4460
+ * "tick": 495,
3392
4461
  * "group": "0x000000000000000000000000000000000000000000000000000000000008b8f4",
3393
4462
  * "session": "0x0000000000000000000000000000000000000000000000000000000000000000",
3394
4463
  * "callback": "0x0000000000000000000000000000000000000000",
@@ -3432,7 +4501,7 @@ interface components {
3432
4501
  * "obligation_shares": "0",
3433
4502
  * "start": 1761922790,
3434
4503
  * "expiry": 1761922799,
3435
- * "price": "2750000000000000000",
4504
+ * "tick": 495,
3436
4505
  * "group": "0x000000000000000000000000000000000000000000000000000000000008b8f4",
3437
4506
  * "session": "0x0000000000000000000000000000000000000000000000000000000000000000",
3438
4507
  * "callback": "0x0000000000000000000000000000000000000000",
@@ -3477,8 +4546,8 @@ interface components {
3477
4546
  obligation_units: string; /** @example 0 */
3478
4547
  obligation_shares: string; /** @example 1761922790 */
3479
4548
  start: number; /** @example 1761922799 */
3480
- expiry: number; /** @example 2750000000000000000 */
3481
- price: string; /** @example 0x000000000000000000000000000000000000000000000000000000000008b8f4 */
4549
+ expiry: number; /** @example 495 */
4550
+ tick: number; /** @example 0x000000000000000000000000000000000000000000000000000000000008b8f4 */
3482
4551
  group: string; /** @example 0x0000000000000000000000000000000000000000000000000000000000000000 */
3483
4552
  session: string; /** @example 0x0000000000000000000000000000000000000000 */
3484
4553
  callback: string; /** @example 0x */
@@ -3627,6 +4696,7 @@ interface components {
3627
4696
  * "chain_id": 1,
3628
4697
  * "contract": "0xC9A9C45C0eB717f8b5F193Af6bAa05A1c0Ac5078",
3629
4698
  * "user": "0x7b093658BE7f90B63D7c359e8f408e503c2D9401",
4699
+ * "obligation_id": "0x12590ae1aee324a005be565f3bcdd16dbf8daf7969b26c181c8b8f467dad9f67",
3630
4700
  * "reserved": "200000000000000000000",
3631
4701
  * "block_number": 21345678
3632
4702
  * }
@@ -3637,7 +4707,12 @@ interface components {
3637
4707
  PositionListItemResponse: {
3638
4708
  /** @example 1 */chain_id: number; /** @example 0xC9A9C45C0eB717f8b5F193Af6bAa05A1c0Ac5078 */
3639
4709
  contract: string; /** @example 0x7b093658BE7f90B63D7c359e8f408e503c2D9401 */
3640
- user: string; /** @example 200000000000000000000 */
4710
+ user: string;
4711
+ /**
4712
+ * @description Obligation id this reserved amount belongs to, or null if no lots exist.
4713
+ * @example 0x12590ae1aee324a005be565f3bcdd16dbf8daf7969b26c181c8b8f467dad9f67
4714
+ */
4715
+ obligation_id: string | null; /** @example 200000000000000000000 */
3641
4716
  reserved: string; /** @example 21345678 */
3642
4717
  block_number: number;
3643
4718
  };
@@ -3648,8 +4723,8 @@ interface components {
3648
4723
  /** @example 0x7b093658BE7f90B63D7c359e8f408e503c2D9401 */maker: string; /** @example 369216000000000000000000 */
3649
4724
  assets: string; /** @example 0 */
3650
4725
  obligation_units?: string; /** @example 0 */
3651
- obligation_shares?: string; /** @example 2750000000000000000 */
3652
- price: string; /** @example 1761922799 */
4726
+ obligation_shares?: string; /** @example 495 */
4727
+ tick: number; /** @example 1761922799 */
3653
4728
  maturity: number; /** @example 1761922799 */
3654
4729
  expiry: number; /** @example 1761922790 */
3655
4730
  start: number; /** @example 0x000000000000000000000000000000000000000000000000000000000008b8f4 */
@@ -3730,7 +4805,7 @@ type Input = Readonly<{
3730
4805
  assets: bigint;
3731
4806
  obligationUnits: bigint;
3732
4807
  obligationShares: bigint;
3733
- price: bigint;
4808
+ tick: number;
3734
4809
  maturity: number;
3735
4810
  expiry: number;
3736
4811
  start: number;
@@ -3799,6 +4874,7 @@ type PositionResponse = {
3799
4874
  chain_id: Id;
3800
4875
  contract: Address;
3801
4876
  user: Address;
4877
+ obligation_id: string | null;
3802
4878
  reserved: string;
3803
4879
  block_number: number;
3804
4880
  };
@@ -3845,10 +4921,11 @@ declare const schemas: {
3845
4921
  cursor: z$1.ZodOptional<z$1.ZodString>;
3846
4922
  limit: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodPipe<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<number, string>>, z$1.ZodNumber>>>;
3847
4923
  types: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodEnum<{
3848
- loan_token: "loan_token";
4924
+ oracle: "oracle";
3849
4925
  maturity: "maturity";
3850
4926
  callback: "callback";
3851
- oracle: "oracle";
4927
+ loan_token: "loan_token";
4928
+ collateral_token: "collateral_token";
3852
4929
  }>>>>;
3853
4930
  chains: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<number, string>>>>>;
3854
4931
  }, z$1.core.$strip>;
@@ -4004,16 +5081,17 @@ type GetOffersQueryParams = {
4004
5081
  cursor?: string; /** Page size; defaults to {@link OffersDomain.DEFAULT_LIMIT} */
4005
5082
  limit?: number;
4006
5083
  };
5084
+ type OffersRowsResult = {
5085
+ rows: Row[];
5086
+ nextCursor: string | null;
5087
+ };
4007
5088
  /**
4008
5089
  * Query offers with computed consumed/available/takeable values.
4009
5090
  * @param db - The database client. {@link Database.Core}
4010
5091
  * @param parameters - {@link GetOffersQueryParams}
4011
5092
  * @returns The offers with pagination cursor.
4012
5093
  */
4013
- declare function getOffersQuery(db: Core, parameters?: GetOffersQueryParams): Promise<{
4014
- rows: Row[];
4015
- nextCursor: string | null;
4016
- }>;
5094
+ declare function getOffersQuery(db: Core, parameters?: GetOffersQueryParams): Promise<OffersRowsResult>;
4017
5095
  declare function getOffers$1(queryParameters: object, db: Database): Promise<Payload<OfferResponse[]>>;
4018
5096
  //#endregion
4019
5097
  //#region src/api/Controllers/getUserPositions.d.ts
@@ -4192,7 +5270,7 @@ declare class HttpGetApiFailedError extends BaseError {
4192
5270
  }
4193
5271
  //#endregion
4194
5272
  //#region src/database/drizzle/VERSION.d.ts
4195
- declare const VERSION: "router_v1.6";
5273
+ declare const VERSION: "router_v1.8";
4196
5274
  //#endregion
4197
5275
  //#region src/database/drizzle/schema.d.ts
4198
5276
  declare enum EnumTableName {
@@ -4215,12 +5293,12 @@ declare enum EnumTableName {
4215
5293
  MERKLE_PATHS = "merkle_paths"
4216
5294
  }
4217
5295
  declare const TABLE_NAMES: readonly EnumTableName[];
4218
- declare const VERSIONED_TABLE_NAMES: ("\"router_v1.6\".\"obligations\"" | "\"router_v1.6\".\"groups\"" | "\"router_v1.6\".\"consumed_events\"" | "\"router_v1.6\".\"obligation_collaterals_v2\"" | "\"router_v1.6\".\"oracles\"" | "\"router_v1.6\".\"offers\"" | "\"router_v1.6\".\"offers_callbacks\"" | "\"router_v1.6\".\"callbacks\"" | "\"router_v1.6\".\"positions\"" | "\"router_v1.6\".\"transfers\"" | "\"router_v1.6\".\"validations\"" | "\"router_v1.6\".\"collectors\"" | "\"router_v1.6\".\"chains\"" | "\"router_v1.6\".\"lots\"" | "\"router_v1.6\".\"offsets\"" | "\"router_v1.6\".\"trees\"" | "\"router_v1.6\".\"merkle_paths\"")[];
5296
+ declare const VERSIONED_TABLE_NAMES: ("\"router_v1.8\".\"obligations\"" | "\"router_v1.8\".\"groups\"" | "\"router_v1.8\".\"consumed_events\"" | "\"router_v1.8\".\"obligation_collaterals_v2\"" | "\"router_v1.8\".\"oracles\"" | "\"router_v1.8\".\"offers\"" | "\"router_v1.8\".\"offers_callbacks\"" | "\"router_v1.8\".\"callbacks\"" | "\"router_v1.8\".\"positions\"" | "\"router_v1.8\".\"transfers\"" | "\"router_v1.8\".\"validations\"" | "\"router_v1.8\".\"collectors\"" | "\"router_v1.8\".\"chains\"" | "\"router_v1.8\".\"lots\"" | "\"router_v1.8\".\"offsets\"" | "\"router_v1.8\".\"trees\"" | "\"router_v1.8\".\"merkle_paths\"")[];
4219
5297
  type TableName = (typeof TABLE_NAMES)[number];
4220
5298
  type VersionedTableName = `"${typeof VERSION}"."${TableName}"`;
4221
5299
  declare const obligations: drizzle_orm_pg_core0.PgTableWithColumns<{
4222
5300
  name: EnumTableName.OBLIGATIONS;
4223
- schema: "router_v1.6";
5301
+ schema: "router_v1.8";
4224
5302
  columns: {
4225
5303
  obligationId: drizzle_orm_pg_core0.PgColumn<{
4226
5304
  name: "obligation_id";
@@ -4301,7 +5379,7 @@ declare const obligations: drizzle_orm_pg_core0.PgTableWithColumns<{
4301
5379
  }>;
4302
5380
  declare const groups: drizzle_orm_pg_core0.PgTableWithColumns<{
4303
5381
  name: EnumTableName.GROUPS;
4304
- schema: "router_v1.6";
5382
+ schema: "router_v1.8";
4305
5383
  columns: {
4306
5384
  chainId: drizzle_orm_pg_core0.PgColumn<{
4307
5385
  name: "chain_id";
@@ -4416,7 +5494,7 @@ declare const groups: drizzle_orm_pg_core0.PgTableWithColumns<{
4416
5494
  }>;
4417
5495
  declare const consumedEvents: drizzle_orm_pg_core0.PgTableWithColumns<{
4418
5496
  name: EnumTableName.CONSUMED_EVENTS;
4419
- schema: "router_v1.6";
5497
+ schema: "router_v1.8";
4420
5498
  columns: {
4421
5499
  eventId: drizzle_orm_pg_core0.PgColumn<{
4422
5500
  name: "event_id";
@@ -4550,7 +5628,7 @@ declare const consumedEvents: drizzle_orm_pg_core0.PgTableWithColumns<{
4550
5628
  }>;
4551
5629
  declare const obligationCollateralsV2: drizzle_orm_pg_core0.PgTableWithColumns<{
4552
5630
  name: EnumTableName.OBLIGATION_COLLATERALS_V2;
4553
- schema: "router_v1.6";
5631
+ schema: "router_v1.8";
4554
5632
  columns: {
4555
5633
  obligationId: drizzle_orm_pg_core0.PgColumn<{
4556
5634
  name: "obligation_id";
@@ -4667,7 +5745,7 @@ declare const obligationCollateralsV2: drizzle_orm_pg_core0.PgTableWithColumns<{
4667
5745
  }>;
4668
5746
  declare const oracles: drizzle_orm_pg_core0.PgTableWithColumns<{
4669
5747
  name: EnumTableName.ORACLES;
4670
- schema: "router_v1.6";
5748
+ schema: "router_v1.8";
4671
5749
  columns: {
4672
5750
  chainId: drizzle_orm_pg_core0.PgColumn<{
4673
5751
  name: "chain_id";
@@ -4763,7 +5841,7 @@ declare const oracles: drizzle_orm_pg_core0.PgTableWithColumns<{
4763
5841
  }>;
4764
5842
  declare const offers: drizzle_orm_pg_core0.PgTableWithColumns<{
4765
5843
  name: EnumTableName.OFFERS;
4766
- schema: "router_v1.6";
5844
+ schema: "router_v1.8";
4767
5845
  columns: {
4768
5846
  hash: drizzle_orm_pg_core0.PgColumn<{
4769
5847
  name: "hash";
@@ -4854,13 +5932,13 @@ declare const offers: drizzle_orm_pg_core0.PgTableWithColumns<{
4854
5932
  identity: undefined;
4855
5933
  generated: undefined;
4856
5934
  }, {}, {}>;
4857
- price: drizzle_orm_pg_core0.PgColumn<{
4858
- name: "price";
5935
+ tick: drizzle_orm_pg_core0.PgColumn<{
5936
+ name: "tick";
4859
5937
  tableName: EnumTableName.OFFERS;
4860
- dataType: "string";
4861
- columnType: "PgNumeric";
4862
- data: string;
4863
- driverParam: string;
5938
+ dataType: "number";
5939
+ columnType: "PgInteger";
5940
+ data: number;
5941
+ driverParam: string | number;
4864
5942
  notNull: true;
4865
5943
  hasDefault: false;
4866
5944
  isPrimaryKey: false;
@@ -5090,7 +6168,7 @@ declare const offers: drizzle_orm_pg_core0.PgTableWithColumns<{
5090
6168
  }>;
5091
6169
  declare const offersCallbacks: drizzle_orm_pg_core0.PgTableWithColumns<{
5092
6170
  name: EnumTableName.OFFERS_CALLBACKS;
5093
- schema: "router_v1.6";
6171
+ schema: "router_v1.8";
5094
6172
  columns: {
5095
6173
  offerHash: drizzle_orm_pg_core0.PgColumn<{
5096
6174
  name: "offer_hash";
@@ -5135,7 +6213,7 @@ declare const offersCallbacks: drizzle_orm_pg_core0.PgTableWithColumns<{
5135
6213
  }>;
5136
6214
  declare const callbacks$1: drizzle_orm_pg_core0.PgTableWithColumns<{
5137
6215
  name: EnumTableName.CALLBACKS;
5138
- schema: "router_v1.6";
6216
+ schema: "router_v1.8";
5139
6217
  columns: {
5140
6218
  id: drizzle_orm_pg_core0.PgColumn<{
5141
6219
  name: "id";
@@ -5235,7 +6313,7 @@ declare const callbacks$1: drizzle_orm_pg_core0.PgTableWithColumns<{
5235
6313
  }>;
5236
6314
  declare const lots: drizzle_orm_pg_core0.PgTableWithColumns<{
5237
6315
  name: EnumTableName.LOTS;
5238
- schema: "router_v1.6";
6316
+ schema: "router_v1.8";
5239
6317
  columns: {
5240
6318
  chainId: drizzle_orm_pg_core0.PgColumn<{
5241
6319
  name: "chain_id";
@@ -5313,6 +6391,25 @@ declare const lots: drizzle_orm_pg_core0.PgTableWithColumns<{
5313
6391
  }, {}, {
5314
6392
  length: 66;
5315
6393
  }>;
6394
+ obligationId: drizzle_orm_pg_core0.PgColumn<{
6395
+ name: "obligation_id";
6396
+ tableName: EnumTableName.LOTS;
6397
+ dataType: "string";
6398
+ columnType: "PgVarchar";
6399
+ data: string;
6400
+ driverParam: string;
6401
+ notNull: true;
6402
+ hasDefault: false;
6403
+ isPrimaryKey: false;
6404
+ isAutoincrement: false;
6405
+ hasRuntimeDefault: false;
6406
+ enumValues: [string, ...string[]];
6407
+ baseColumn: never;
6408
+ identity: undefined;
6409
+ generated: undefined;
6410
+ }, {}, {
6411
+ length: 66;
6412
+ }>;
5316
6413
  lower: drizzle_orm_pg_core0.PgColumn<{
5317
6414
  name: "lower";
5318
6415
  tableName: EnumTableName.LOTS;
@@ -5352,7 +6449,7 @@ declare const lots: drizzle_orm_pg_core0.PgTableWithColumns<{
5352
6449
  }>;
5353
6450
  declare const offsets: drizzle_orm_pg_core0.PgTableWithColumns<{
5354
6451
  name: EnumTableName.OFFSETS;
5355
- schema: "router_v1.6";
6452
+ schema: "router_v1.8";
5356
6453
  columns: {
5357
6454
  chainId: drizzle_orm_pg_core0.PgColumn<{
5358
6455
  name: "chain_id";
@@ -5430,6 +6527,25 @@ declare const offsets: drizzle_orm_pg_core0.PgTableWithColumns<{
5430
6527
  }, {}, {
5431
6528
  length: 66;
5432
6529
  }>;
6530
+ obligationId: drizzle_orm_pg_core0.PgColumn<{
6531
+ name: "obligation_id";
6532
+ tableName: EnumTableName.OFFSETS;
6533
+ dataType: "string";
6534
+ columnType: "PgVarchar";
6535
+ data: string;
6536
+ driverParam: string;
6537
+ notNull: true;
6538
+ hasDefault: false;
6539
+ isPrimaryKey: false;
6540
+ isAutoincrement: false;
6541
+ hasRuntimeDefault: false;
6542
+ enumValues: [string, ...string[]];
6543
+ baseColumn: never;
6544
+ identity: undefined;
6545
+ generated: undefined;
6546
+ }, {}, {
6547
+ length: 66;
6548
+ }>;
5433
6549
  value: drizzle_orm_pg_core0.PgColumn<{
5434
6550
  name: "value";
5435
6551
  tableName: EnumTableName.OFFSETS;
@@ -5453,7 +6569,7 @@ declare const offsets: drizzle_orm_pg_core0.PgTableWithColumns<{
5453
6569
  declare const PositionTypes: drizzle_orm_pg_core0.PgEnum<[Type, ...Type[]]>;
5454
6570
  declare const positionTypes: drizzle_orm_pg_core0.PgTableWithColumns<{
5455
6571
  name: "position_types";
5456
- schema: "router_v1.6";
6572
+ schema: "router_v1.8";
5457
6573
  columns: {
5458
6574
  id: drizzle_orm_pg_core0.PgColumn<{
5459
6575
  name: "id";
@@ -5494,7 +6610,7 @@ declare const positionTypes: drizzle_orm_pg_core0.PgTableWithColumns<{
5494
6610
  }>;
5495
6611
  declare const positions: drizzle_orm_pg_core0.PgTableWithColumns<{
5496
6612
  name: EnumTableName.POSITIONS;
5497
- schema: "router_v1.6";
6613
+ schema: "router_v1.8";
5498
6614
  columns: {
5499
6615
  chainId: drizzle_orm_pg_core0.PgColumn<{
5500
6616
  name: "chain_id";
@@ -5645,7 +6761,7 @@ declare const positions: drizzle_orm_pg_core0.PgTableWithColumns<{
5645
6761
  }>;
5646
6762
  declare const transfers: drizzle_orm_pg_core0.PgTableWithColumns<{
5647
6763
  name: EnumTableName.TRANSFERS;
5648
- schema: "router_v1.6";
6764
+ schema: "router_v1.8";
5649
6765
  columns: {
5650
6766
  eventId: drizzle_orm_pg_core0.PgColumn<{
5651
6767
  name: "event_id";
@@ -5799,7 +6915,7 @@ declare const transfers: drizzle_orm_pg_core0.PgTableWithColumns<{
5799
6915
  declare const StatusCode: drizzle_orm_pg_core0.PgEnum<[Status, ...Status[]]>;
5800
6916
  declare const status: drizzle_orm_pg_core0.PgTableWithColumns<{
5801
6917
  name: "status";
5802
- schema: "router_v1.6";
6918
+ schema: "router_v1.8";
5803
6919
  columns: {
5804
6920
  id: drizzle_orm_pg_core0.PgColumn<{
5805
6921
  name: "id";
@@ -5840,7 +6956,7 @@ declare const status: drizzle_orm_pg_core0.PgTableWithColumns<{
5840
6956
  }>;
5841
6957
  declare const validations: drizzle_orm_pg_core0.PgTableWithColumns<{
5842
6958
  name: "validations";
5843
- schema: "router_v1.6";
6959
+ schema: "router_v1.8";
5844
6960
  columns: {
5845
6961
  offerHash: drizzle_orm_pg_core0.PgColumn<{
5846
6962
  name: "offer_hash";
@@ -5900,7 +7016,7 @@ declare const validations: drizzle_orm_pg_core0.PgTableWithColumns<{
5900
7016
  }>;
5901
7017
  declare const collectors: drizzle_orm_pg_core0.PgTableWithColumns<{
5902
7018
  name: EnumTableName.COLLECTORS;
5903
- schema: "router_v1.6";
7019
+ schema: "router_v1.8";
5904
7020
  columns: {
5905
7021
  chainId: drizzle_orm_pg_core0.PgColumn<{
5906
7022
  name: "chain_id";
@@ -5996,7 +7112,7 @@ declare const collectors: drizzle_orm_pg_core0.PgTableWithColumns<{
5996
7112
  }>;
5997
7113
  declare const chains$1: drizzle_orm_pg_core0.PgTableWithColumns<{
5998
7114
  name: EnumTableName.CHAINS;
5999
- schema: "router_v1.6";
7115
+ schema: "router_v1.8";
6000
7116
  columns: {
6001
7117
  chainId: drizzle_orm_pg_core0.PgColumn<{
6002
7118
  name: "chain_id";
@@ -6073,7 +7189,7 @@ declare const chains$1: drizzle_orm_pg_core0.PgTableWithColumns<{
6073
7189
  }>;
6074
7190
  declare const trees: drizzle_orm_pg_core0.PgTableWithColumns<{
6075
7191
  name: EnumTableName.TREES;
6076
- schema: "router_v1.6";
7192
+ schema: "router_v1.8";
6077
7193
  columns: {
6078
7194
  root: drizzle_orm_pg_core0.PgColumn<{
6079
7195
  name: "root";
@@ -6135,7 +7251,7 @@ declare const trees: drizzle_orm_pg_core0.PgTableWithColumns<{
6135
7251
  }>;
6136
7252
  declare const merklePaths: drizzle_orm_pg_core0.PgTableWithColumns<{
6137
7253
  name: EnumTableName.MERKLE_PATHS;
6138
- schema: "router_v1.6";
7254
+ schema: "router_v1.8";
6139
7255
  columns: {
6140
7256
  offerHash: drizzle_orm_pg_core0.PgColumn<{
6141
7257
  name: "offer_hash";
@@ -6217,9 +7333,9 @@ declare namespace index_d_exports$2 {
6217
7333
  }
6218
7334
  //#endregion
6219
7335
  //#region src/gatekeeper/morphoRules.d.ts
6220
- declare const morphoRules: (chains: Chain$1[]) => (Rule<Offer, "mixed_maker"> | Rule<Offer, "amount_mutual_exclusivity"> | Rule<Offer, "chain_ids"> | Rule<Offer, "maturity"> | Rule<Offer, "callback"> | Rule<Offer, "token"> | Rule<Offer, "oracle">)[];
7336
+ declare const morphoRules: (chains: Chain$1[]) => (Rule<Offer, "mixed_maker"> | Rule<Offer, "amount_mutual_exclusivity"> | Rule<Offer, "chain_ids"> | Rule<Offer, "maturity"> | Rule<Offer, "callback"> | Rule<Offer, "loan_token"> | Rule<Offer, "collateral_token"> | Rule<Offer, "oracle">)[];
6221
7337
  declare namespace Rules_d_exports {
6222
- export { ValidityParameters, amountMutualExclusivity, callback, chains, maturity, oracle, sameMaker, token, validity };
7338
+ export { ValidityParameters, amountMutualExclusivity, callback, chains, collateralToken, loanToken, maturity, oracle, sameMaker, validity };
6223
7339
  }
6224
7340
  type ValidityParameters = {
6225
7341
  client: PublicClient<Transport, Chain$1>;
@@ -6248,15 +7364,25 @@ declare const callback: ({
6248
7364
  allowedAddresses: Address[];
6249
7365
  }) => Rule<Offer, "callback">;
6250
7366
  /**
6251
- * A validation rule that checks if the offer's tokens are allowed for its chain.
6252
- * @param assetsByChainId - Allowed assets indexed by chain id.
7367
+ * A validation rule that checks if the offer's loan token is allowed for its chain.
7368
+ * @param assetsByChainId - Allowed loan tokens indexed by chain id.
6253
7369
  * @returns The issue that was found. If the offer is valid, this will be undefined.
6254
7370
  */
6255
- declare const token: ({
7371
+ declare const loanToken: ({
6256
7372
  assetsByChainId
6257
7373
  }: {
6258
7374
  assetsByChainId: Partial<Record<Id, Address[]>>;
6259
- }) => Rule<Offer, "token">;
7375
+ }) => Rule<Offer, "loan_token">;
7376
+ /**
7377
+ * A validation rule that checks if the offer's collateral tokens are allowed for its chain.
7378
+ * @param collateralAssetsByChainId - Allowed collateral tokens indexed by chain id.
7379
+ * @returns The issue that was found. If the offer is valid, this will be undefined.
7380
+ */
7381
+ declare const collateralToken: ({
7382
+ collateralAssetsByChainId
7383
+ }: {
7384
+ collateralAssetsByChainId: Partial<Record<Id, Address[]>>;
7385
+ }) => Rule<Offer, "collateral_token">;
6260
7386
  /**
6261
7387
  * A validation rule that checks if the offer's oracle addresses are allowed for its chain.
6262
7388
  * @param oraclesByChainId - Allowed oracles indexed by chain id.
@@ -6513,5 +7639,5 @@ declare namespace index_d_exports$3 {
6513
7639
  export { BaseError, GlobalErrorType, Group_d_exports as Group, Random_d_exports as Random, ReorgError, Snake, time_d_exports as Time, atMostOneNonZero, batch, batchMulticall, fromSnakeCase$3 as fromSnakeCase, lazy, max$1 as max, min, poll, retry, stringifyBigint, toSnakeCase$1 as toSnakeCase, wait };
6514
7640
  }
6515
7641
  //#endregion
6516
- export { index_d_exports as Abi, BookResponse_d_exports as BookResponse, BooksController, Brand, BrandTypeId, Callback_d_exports as Callback, Chain_d_exports as Chain, ChainHealth, ChainRegistry_d_exports as ChainRegistry, ChainsHealthResponse, Collateral_d_exports as Collateral, CollectorHealth, CollectorsHealthResponse, Compute, ConfigContractsController, ConfigRule, ConfigRulesController, ConfigRulesPayload, Database_d_exports as Database, ERC4626_d_exports as ERC4626, ErrorPayload, Errors_d_exports as Errors, Format_d_exports as Format, Gatekeeper_d_exports as Gatekeeper, Client_d_exports as GatekeeperClient, Health_d_exports as Health, HealthController, Indexer_d_exports as Indexer, LLTV_d_exports as LLTV, Liquidity_d_exports as Liquidity, Logger_d_exports as Logger, Maturity_d_exports as Maturity, index_d_exports$1 as Mempool, Obligation_d_exports as Obligation, ObligationResponse_d_exports as ObligationResponse, ObligationsController, Offer_d_exports as Offer, OfferResponse_d_exports as OfferResponse, OffersController, index_d_exports$2 as OffersSchema, OpenApi, Oracle_d_exports as Oracle, Position_d_exports as Position, PositionResponse_d_exports as PositionResponse, Quote_d_exports as Quote, RouterApi_d_exports as RouterApi, Client_d_exports$1 as RouterClient, RouterStatusResponse, Rules_d_exports as Rules, SuccessPayload, time_d_exports as Time, TradingFee_d_exports as TradingFee, Transfer_d_exports as Transfer, Tree_d_exports as Tree, UsersController, index_d_exports$3 as Utils, ValidateController, ValidateOffersData, ValidateOffersIssues, ValidateOffersSuccess, Gate_d_exports as Validation, ValidationIssue, morphoRules, parse, safeParse };
7642
+ export { index_d_exports as Abi, BookResponse_d_exports as BookResponse, BooksController, Brand, BrandTypeId, Callback_d_exports as Callback, Chain_d_exports as Chain, ChainHealth, ChainRegistry_d_exports as ChainRegistry, ChainsHealthResponse, Collateral_d_exports as Collateral, CollectorHealth, CollectorsHealthResponse, Compute, ConfigContractsController, ConfigRule, ConfigRulesController, ConfigRulesPayload, Database_d_exports as Database, ERC4626_d_exports as ERC4626, ErrorPayload, Errors_d_exports as Errors, Format_d_exports as Format, Gatekeeper_d_exports as Gatekeeper, Client_d_exports as GatekeeperClient, Health_d_exports as Health, HealthController, Indexer_d_exports as Indexer, LLTV_d_exports as LLTV, Liquidity_d_exports as Liquidity, Logger_d_exports as Logger, Maturity_d_exports as Maturity, index_d_exports$1 as Mempool, Obligation_d_exports as Obligation, ObligationResponse_d_exports as ObligationResponse, ObligationsController, Offer_d_exports as Offer, OfferResponse_d_exports as OfferResponse, OffersController, index_d_exports$2 as OffersSchema, OpenApi, Oracle_d_exports as Oracle, Position_d_exports as Position, PositionResponse_d_exports as PositionResponse, Quote_d_exports as Quote, RouterApi_d_exports as RouterApi, Client_d_exports$1 as RouterClient, RouterStatusResponse, Rules_d_exports as Rules, SuccessPayload, Tick_d_exports as Tick, time_d_exports as Time, TradingFee_d_exports as TradingFee, Transfer_d_exports as Transfer, Tree_d_exports as Tree, UsersController, index_d_exports$3 as Utils, ValidateController, ValidateOffersData, ValidateOffersIssues, ValidateOffersSuccess, Gate_d_exports as Validation, ValidationIssue, morphoRules, parse, safeParse };
6517
7643
  //# sourceMappingURL=index.node.d.ts.map