@morpho-org/blue-sdk 5.23.1 → 5.23.3

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 (83) hide show
  1. package/README.md +11 -2
  2. package/lib/cjs/addresses.d.ts +184 -0
  3. package/lib/cjs/addresses.js +102 -0
  4. package/lib/cjs/chain.d.ts +37 -1
  5. package/lib/cjs/chain.js +24 -0
  6. package/lib/cjs/errors.js +2 -0
  7. package/lib/cjs/holding/index.d.ts +1 -1
  8. package/lib/cjs/holding/index.js +1 -1
  9. package/lib/cjs/index.d.ts +6 -6
  10. package/lib/cjs/index.js +6 -6
  11. package/lib/cjs/market/Market.js +15 -0
  12. package/lib/cjs/market/MarketParams.d.ts +1 -1
  13. package/lib/cjs/market/MarketParams.js +1 -1
  14. package/lib/cjs/market/MarketUtils.d.ts +26 -2
  15. package/lib/cjs/market/MarketUtils.js +49 -6
  16. package/lib/cjs/market/index.d.ts +2 -2
  17. package/lib/cjs/market/index.js +2 -2
  18. package/lib/cjs/math/AdaptiveCurveIrmLib.js +8 -0
  19. package/lib/cjs/math/MathLib.js +14 -0
  20. package/lib/cjs/math/SharesMath.js +2 -0
  21. package/lib/cjs/math/index.d.ts +1 -1
  22. package/lib/cjs/math/index.js +1 -1
  23. package/lib/cjs/position/Position.js +9 -0
  24. package/lib/cjs/position/PreLiquidationPosition.d.ts +1 -0
  25. package/lib/cjs/position/PreLiquidationPosition.js +8 -0
  26. package/lib/cjs/preLiquidation.js +1 -0
  27. package/lib/cjs/token/ConstantWrappedToken.js +5 -0
  28. package/lib/cjs/token/ExchangeRateWrappedToken.js +1 -0
  29. package/lib/cjs/token/WrappedToken.js +4 -0
  30. package/lib/cjs/token/index.d.ts +3 -3
  31. package/lib/cjs/token/index.js +3 -3
  32. package/lib/cjs/vault/Vault.js +1 -0
  33. package/lib/cjs/vault/VaultUtils.js +8 -2
  34. package/lib/cjs/vault/index.d.ts +2 -2
  35. package/lib/cjs/vault/index.js +2 -2
  36. package/lib/cjs/vault/v2/VaultV2.js +2 -0
  37. package/lib/cjs/vault/v2/VaultV2MorphoMarketV1Adapter.d.ts +1 -1
  38. package/lib/cjs/vault/v2/VaultV2MorphoMarketV1Adapter.js +3 -1
  39. package/lib/cjs/vault/v2/VaultV2MorphoMarketV1AdapterV2.d.ts +1 -1
  40. package/lib/cjs/vault/v2/VaultV2MorphoMarketV1AdapterV2.js +1 -0
  41. package/lib/cjs/vault/v2/VaultV2MorphoVaultV1Adapter.js +1 -0
  42. package/lib/esm/addresses.d.ts +184 -0
  43. package/lib/esm/addresses.js +102 -0
  44. package/lib/esm/chain.d.ts +37 -1
  45. package/lib/esm/chain.js +24 -0
  46. package/lib/esm/errors.js +2 -0
  47. package/lib/esm/holding/index.d.ts +1 -1
  48. package/lib/esm/holding/index.js +1 -1
  49. package/lib/esm/index.d.ts +6 -6
  50. package/lib/esm/index.js +6 -6
  51. package/lib/esm/market/Market.js +15 -0
  52. package/lib/esm/market/MarketParams.d.ts +1 -1
  53. package/lib/esm/market/MarketParams.js +1 -1
  54. package/lib/esm/market/MarketUtils.d.ts +26 -2
  55. package/lib/esm/market/MarketUtils.js +48 -5
  56. package/lib/esm/market/index.d.ts +2 -2
  57. package/lib/esm/market/index.js +2 -2
  58. package/lib/esm/math/AdaptiveCurveIrmLib.js +8 -0
  59. package/lib/esm/math/MathLib.js +14 -0
  60. package/lib/esm/math/SharesMath.js +2 -0
  61. package/lib/esm/math/index.d.ts +1 -1
  62. package/lib/esm/math/index.js +1 -1
  63. package/lib/esm/position/Position.js +9 -0
  64. package/lib/esm/position/PreLiquidationPosition.d.ts +1 -0
  65. package/lib/esm/position/PreLiquidationPosition.js +8 -0
  66. package/lib/esm/preLiquidation.js +1 -0
  67. package/lib/esm/token/ConstantWrappedToken.js +5 -0
  68. package/lib/esm/token/ExchangeRateWrappedToken.js +1 -0
  69. package/lib/esm/token/WrappedToken.js +4 -0
  70. package/lib/esm/token/index.d.ts +3 -3
  71. package/lib/esm/token/index.js +3 -3
  72. package/lib/esm/vault/Vault.js +1 -0
  73. package/lib/esm/vault/VaultUtils.js +8 -2
  74. package/lib/esm/vault/index.d.ts +2 -2
  75. package/lib/esm/vault/index.js +2 -2
  76. package/lib/esm/vault/v2/VaultV2.js +2 -0
  77. package/lib/esm/vault/v2/VaultV2MorphoMarketV1Adapter.d.ts +1 -1
  78. package/lib/esm/vault/v2/VaultV2MorphoMarketV1Adapter.js +3 -1
  79. package/lib/esm/vault/v2/VaultV2MorphoMarketV1AdapterV2.d.ts +1 -1
  80. package/lib/esm/vault/v2/VaultV2MorphoMarketV1AdapterV2.js +1 -0
  81. package/lib/esm/vault/v2/VaultV2MorphoVaultV1Adapter.js +1 -0
  82. package/package.json +6 -6
  83. package/src/index.ts +6 -6
package/README.md CHANGED
@@ -21,6 +21,8 @@
21
21
  <br />
22
22
  <br />
23
23
 
24
+ ## Overview
25
+
24
26
  Framework-agnostic package that defines Morpho-related entity classes:
25
27
 
26
28
  - [**`MarketParams`**](./src/market/MarketParams.ts): represents the immutable configuration of a market on Morpho
@@ -42,7 +44,7 @@ npm install @morpho-org/blue-sdk
42
44
  yarn add @morpho-org/blue-sdk
43
45
  ```
44
46
 
45
- ## Getting Started
47
+ ## Usage
46
48
 
47
49
  ### Instance of the immutable configuration of a specific market
48
50
 
@@ -197,4 +199,11 @@ registerCustomAddresses({
197
199
  }
198
200
  }
199
201
  });
200
- ```
202
+ ```
203
+ ## Development
204
+
205
+ Contribute from the monorepo root. See [CONTRIBUTING.md](../../CONTRIBUTING.md) for setup, checks, and package workflow. Report vulnerabilities through [SECURITY.md](../../SECURITY.md).
206
+
207
+ ## License
208
+
209
+ MIT. See [LICENSE](./LICENSE).
@@ -630,6 +630,7 @@ declare const _addressesRegistry: {
630
630
  readonly adaptiveCurveIrm: "0x112fd4042E442C3C12C67AD23587b0afe36eB74E";
631
631
  readonly vaultV2Factory: "0x3DE400E3F79113194fa5AF6Ae5C474947E0C82Db";
632
632
  readonly morphoMarketV1AdapterV2Factory: "0xF85aD5f14cC903533FC409B8098B58b4C2f36697";
633
+ readonly morphoVaultV1AdapterFactory: "0x669771F03ab55CebF753E90C3c9D80ad9391cf25";
633
634
  readonly registryList: "0xB118227C728b5ce52445a5aAee48C8a281C429E0";
634
635
  readonly chainlinkOracleFactory: "0xc2c167BC5cBD833ce58239e85073258F10aD4DF6";
635
636
  readonly preLiquidationFactory: "0xB83d2D5CAE5Fc64a408cA82447445442Fe249fe3";
@@ -679,6 +680,51 @@ declare const _addressesRegistry: {
679
680
  readonly preLiquidationFactory: "0x57C88ACAbd4Fa19257104ECCF64ccA34e5eB8961";
680
681
  readonly wNative: "0x4200000000000000000000000000000000000006";
681
682
  };
683
+ readonly 14: {
684
+ readonly morpho: "0xF4346F5132e810f80a28487a79c7559d9797E8B0";
685
+ readonly permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3";
686
+ readonly bundler3: {
687
+ readonly bundler3: "0xb371CFee69984D1F3447D49217889C7388bA2027";
688
+ readonly generalAdapter1: "0x43F4861c9E7f584cFDc9B6BA3F0c2462895BDd67";
689
+ };
690
+ readonly adaptiveCurveIrm: "0xE5B5627C5973AfAE1928a6b8e5c1D6AABFEC8a7a";
691
+ readonly vaultV2Factory: "0x6FC83ECc0e8142635D77200e5052be8A0a9D2f42";
692
+ readonly morphoMarketV1AdapterV2Factory: "0xd8237ea1b5974c83C6b0c8942dc2a16F42f789dd";
693
+ readonly registryList: "0x9730d0B30d9145B66a8e09D26295e36cb84F64a9";
694
+ readonly chainlinkOracleFactory: "0x95cB3625598F9abf6cb8B874AA1EfEEbE7822642";
695
+ readonly preLiquidationFactory: "0xf215D05a04b97f98Bb1bF4E0E5Cb97Ef38fa8895";
696
+ readonly wNative: "0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d";
697
+ };
698
+ readonly 50: {
699
+ readonly morpho: "0xEa49B0fE898aF913A3826F9f462eE2cDcb854fD9";
700
+ readonly permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3";
701
+ readonly bundler3: {
702
+ readonly bundler3: "0xed9bdc3E6081db528b6D5CDDf47EcB05337c62A7";
703
+ readonly generalAdapter1: "0xAB2Ab6A8bb1082C5d8400D6206c6A13cE413e0c0";
704
+ };
705
+ readonly adaptiveCurveIrm: "0x15c7312B0f26aa0AA70B24a0D2AF87B9e7D614A0";
706
+ readonly vaultV2Factory: "0x227544d6989cD15c05AAB6dde4F29523dcfdbe2B";
707
+ readonly morphoMarketV1AdapterV2Factory: "0x5C00c99F2235439725417E9f037B7D38FfF35d31";
708
+ readonly registryList: "0x79A8C4e9E502C1867cAf2E7202f0C6b89aaCd5c1";
709
+ readonly chainlinkOracleFactory: "0x6Ad93a3aA829514473D3DF67382894A76c7283B4";
710
+ readonly preLiquidationFactory: "0xe3845262d726a827817C7196143CDa9a4404218d";
711
+ readonly wNative: "0x951857744785E80e2De051c32EE7b25f9c458C42";
712
+ };
713
+ readonly 8217: {
714
+ readonly morpho: "0xA8BEebdca34d83C697c302A0594f3c41f3994cd2";
715
+ readonly permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3";
716
+ readonly bundler3: {
717
+ readonly bundler3: "0x27880B18ae04a05F1D603B87AEb2a27491FfaBA9";
718
+ readonly generalAdapter1: "0x8e36C2c6d7771820BF14a75f725f3cf0374a7823";
719
+ };
720
+ readonly adaptiveCurveIrm: "0xA4E2bA20Fc64D721D95BD5a28FF71844C5bb5cF2";
721
+ readonly vaultV2Factory: "0xf2Aecd4a4d4C21d08770e34F392C4C271aBD9144";
722
+ readonly morphoMarketV1AdapterV2Factory: "0x4d04C39ca604b560c50F4045c558378FD9AEBCF4";
723
+ readonly registryList: "0xfCA12228DA5fba6E9c0B57a8e8322d0eBaCa03Bc";
724
+ readonly chainlinkOracleFactory: "0x3e89C1071814b2c4170c90260Fcb60B903AD4602";
725
+ readonly preLiquidationFactory: "0xe8eCe452F04117e5Fe1Ea4403097215443225440";
726
+ readonly wNative: "0x19Aac5f612f524B754CA7e7c41cbFa2E981A4432";
727
+ };
682
728
  };
683
729
  export type ChainDeployments<Addresses = ChainAddresses> = {
684
730
  [key in keyof Addresses]: Address extends Addresses[key] ? bigint : ChainDeployments<Addresses[key]>;
@@ -1183,6 +1229,7 @@ declare const _deployments: {
1183
1229
  readonly adaptiveCurveIrm: 2375313n;
1184
1230
  readonly vaultV2Factory: 2375650n;
1185
1231
  readonly morphoMarketV1AdapterV2Factory: 2375701n;
1232
+ readonly morphoVaultV1AdapterFactory: 16475630n;
1186
1233
  readonly registryList: 2375601n;
1187
1234
  readonly chainlinkOracleFactory: 2375626n;
1188
1235
  readonly preLiquidationFactory: 2375010n;
@@ -1232,6 +1279,51 @@ declare const _deployments: {
1232
1279
  readonly preLiquidationFactory: 7520548n;
1233
1280
  readonly wNative: 0n;
1234
1281
  };
1282
+ readonly 14: {
1283
+ readonly morpho: 52378788n;
1284
+ readonly permit2: 58377404n;
1285
+ readonly bundler3: {
1286
+ readonly bundler3: 52378788n;
1287
+ readonly generalAdapter1: 52378788n;
1288
+ };
1289
+ readonly adaptiveCurveIrm: 52378788n;
1290
+ readonly vaultV2Factory: 52383002n;
1291
+ readonly morphoMarketV1AdapterV2Factory: 52383110n;
1292
+ readonly registryList: 52383110n;
1293
+ readonly chainlinkOracleFactory: 52378931n;
1294
+ readonly preLiquidationFactory: 52378931n;
1295
+ readonly wNative: 39n;
1296
+ };
1297
+ readonly 50: {
1298
+ readonly morpho: 101757515n;
1299
+ readonly permit2: 92945178n;
1300
+ readonly bundler3: {
1301
+ readonly bundler3: 101757515n;
1302
+ readonly generalAdapter1: 101757515n;
1303
+ };
1304
+ readonly adaptiveCurveIrm: 101757515n;
1305
+ readonly vaultV2Factory: 101757669n;
1306
+ readonly morphoMarketV1AdapterV2Factory: 101757823n;
1307
+ readonly registryList: 101757823n;
1308
+ readonly chainlinkOracleFactory: 101757578n;
1309
+ readonly preLiquidationFactory: 101757578n;
1310
+ readonly wNative: 42776215n;
1311
+ };
1312
+ readonly 8217: {
1313
+ readonly morpho: 208021118n;
1314
+ readonly permit2: 188994815n;
1315
+ readonly bundler3: {
1316
+ readonly bundler3: 208021118n;
1317
+ readonly generalAdapter1: 208021118n;
1318
+ };
1319
+ readonly adaptiveCurveIrm: 208021118n;
1320
+ readonly vaultV2Factory: 213463014n;
1321
+ readonly morphoMarketV1AdapterV2Factory: 213463079n;
1322
+ readonly registryList: 213463079n;
1323
+ readonly chainlinkOracleFactory: 213462907n;
1324
+ readonly preLiquidationFactory: 213462907n;
1325
+ readonly wNative: 104802159n;
1326
+ };
1235
1327
  };
1236
1328
  export type AddressLabel = DottedKeys<(typeof _addressesRegistry)[ChainId]>;
1237
1329
  export declare const getChainAddresses: (chainId: number) => ChainAddresses;
@@ -1841,6 +1933,7 @@ export declare let addressesRegistry: {
1841
1933
  readonly adaptiveCurveIrm: "0x112fd4042E442C3C12C67AD23587b0afe36eB74E";
1842
1934
  readonly vaultV2Factory: "0x3DE400E3F79113194fa5AF6Ae5C474947E0C82Db";
1843
1935
  readonly morphoMarketV1AdapterV2Factory: "0xF85aD5f14cC903533FC409B8098B58b4C2f36697";
1936
+ readonly morphoVaultV1AdapterFactory: "0x669771F03ab55CebF753E90C3c9D80ad9391cf25";
1844
1937
  readonly registryList: "0xB118227C728b5ce52445a5aAee48C8a281C429E0";
1845
1938
  readonly chainlinkOracleFactory: "0xc2c167BC5cBD833ce58239e85073258F10aD4DF6";
1846
1939
  readonly preLiquidationFactory: "0xB83d2D5CAE5Fc64a408cA82447445442Fe249fe3";
@@ -1890,6 +1983,51 @@ export declare let addressesRegistry: {
1890
1983
  readonly preLiquidationFactory: "0x57C88ACAbd4Fa19257104ECCF64ccA34e5eB8961";
1891
1984
  readonly wNative: "0x4200000000000000000000000000000000000006";
1892
1985
  };
1986
+ readonly 14: {
1987
+ readonly morpho: "0xF4346F5132e810f80a28487a79c7559d9797E8B0";
1988
+ readonly permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3";
1989
+ readonly bundler3: {
1990
+ readonly bundler3: "0xb371CFee69984D1F3447D49217889C7388bA2027";
1991
+ readonly generalAdapter1: "0x43F4861c9E7f584cFDc9B6BA3F0c2462895BDd67";
1992
+ };
1993
+ readonly adaptiveCurveIrm: "0xE5B5627C5973AfAE1928a6b8e5c1D6AABFEC8a7a";
1994
+ readonly vaultV2Factory: "0x6FC83ECc0e8142635D77200e5052be8A0a9D2f42";
1995
+ readonly morphoMarketV1AdapterV2Factory: "0xd8237ea1b5974c83C6b0c8942dc2a16F42f789dd";
1996
+ readonly registryList: "0x9730d0B30d9145B66a8e09D26295e36cb84F64a9";
1997
+ readonly chainlinkOracleFactory: "0x95cB3625598F9abf6cb8B874AA1EfEEbE7822642";
1998
+ readonly preLiquidationFactory: "0xf215D05a04b97f98Bb1bF4E0E5Cb97Ef38fa8895";
1999
+ readonly wNative: "0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d";
2000
+ };
2001
+ readonly 50: {
2002
+ readonly morpho: "0xEa49B0fE898aF913A3826F9f462eE2cDcb854fD9";
2003
+ readonly permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3";
2004
+ readonly bundler3: {
2005
+ readonly bundler3: "0xed9bdc3E6081db528b6D5CDDf47EcB05337c62A7";
2006
+ readonly generalAdapter1: "0xAB2Ab6A8bb1082C5d8400D6206c6A13cE413e0c0";
2007
+ };
2008
+ readonly adaptiveCurveIrm: "0x15c7312B0f26aa0AA70B24a0D2AF87B9e7D614A0";
2009
+ readonly vaultV2Factory: "0x227544d6989cD15c05AAB6dde4F29523dcfdbe2B";
2010
+ readonly morphoMarketV1AdapterV2Factory: "0x5C00c99F2235439725417E9f037B7D38FfF35d31";
2011
+ readonly registryList: "0x79A8C4e9E502C1867cAf2E7202f0C6b89aaCd5c1";
2012
+ readonly chainlinkOracleFactory: "0x6Ad93a3aA829514473D3DF67382894A76c7283B4";
2013
+ readonly preLiquidationFactory: "0xe3845262d726a827817C7196143CDa9a4404218d";
2014
+ readonly wNative: "0x951857744785E80e2De051c32EE7b25f9c458C42";
2015
+ };
2016
+ readonly 8217: {
2017
+ readonly morpho: "0xA8BEebdca34d83C697c302A0594f3c41f3994cd2";
2018
+ readonly permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3";
2019
+ readonly bundler3: {
2020
+ readonly bundler3: "0x27880B18ae04a05F1D603B87AEb2a27491FfaBA9";
2021
+ readonly generalAdapter1: "0x8e36C2c6d7771820BF14a75f725f3cf0374a7823";
2022
+ };
2023
+ readonly adaptiveCurveIrm: "0xA4E2bA20Fc64D721D95BD5a28FF71844C5bb5cF2";
2024
+ readonly vaultV2Factory: "0xf2Aecd4a4d4C21d08770e34F392C4C271aBD9144";
2025
+ readonly morphoMarketV1AdapterV2Factory: "0x4d04C39ca604b560c50F4045c558378FD9AEBCF4";
2026
+ readonly registryList: "0xfCA12228DA5fba6E9c0B57a8e8322d0eBaCa03Bc";
2027
+ readonly chainlinkOracleFactory: "0x3e89C1071814b2c4170c90260Fcb60B903AD4602";
2028
+ readonly preLiquidationFactory: "0xe8eCe452F04117e5Fe1Ea4403097215443225440";
2029
+ readonly wNative: "0x19Aac5f612f524B754CA7e7c41cbFa2E981A4432";
2030
+ };
1893
2031
  };
1894
2032
  export declare let addresses: Record<number, ChainAddresses>;
1895
2033
  export declare let deployments: {
@@ -2392,6 +2530,7 @@ export declare let deployments: {
2392
2530
  readonly adaptiveCurveIrm: 2375313n;
2393
2531
  readonly vaultV2Factory: 2375650n;
2394
2532
  readonly morphoMarketV1AdapterV2Factory: 2375701n;
2533
+ readonly morphoVaultV1AdapterFactory: 16475630n;
2395
2534
  readonly registryList: 2375601n;
2396
2535
  readonly chainlinkOracleFactory: 2375626n;
2397
2536
  readonly preLiquidationFactory: 2375010n;
@@ -2441,6 +2580,51 @@ export declare let deployments: {
2441
2580
  readonly preLiquidationFactory: 7520548n;
2442
2581
  readonly wNative: 0n;
2443
2582
  };
2583
+ readonly 14: {
2584
+ readonly morpho: 52378788n;
2585
+ readonly permit2: 58377404n;
2586
+ readonly bundler3: {
2587
+ readonly bundler3: 52378788n;
2588
+ readonly generalAdapter1: 52378788n;
2589
+ };
2590
+ readonly adaptiveCurveIrm: 52378788n;
2591
+ readonly vaultV2Factory: 52383002n;
2592
+ readonly morphoMarketV1AdapterV2Factory: 52383110n;
2593
+ readonly registryList: 52383110n;
2594
+ readonly chainlinkOracleFactory: 52378931n;
2595
+ readonly preLiquidationFactory: 52378931n;
2596
+ readonly wNative: 39n;
2597
+ };
2598
+ readonly 50: {
2599
+ readonly morpho: 101757515n;
2600
+ readonly permit2: 92945178n;
2601
+ readonly bundler3: {
2602
+ readonly bundler3: 101757515n;
2603
+ readonly generalAdapter1: 101757515n;
2604
+ };
2605
+ readonly adaptiveCurveIrm: 101757515n;
2606
+ readonly vaultV2Factory: 101757669n;
2607
+ readonly morphoMarketV1AdapterV2Factory: 101757823n;
2608
+ readonly registryList: 101757823n;
2609
+ readonly chainlinkOracleFactory: 101757578n;
2610
+ readonly preLiquidationFactory: 101757578n;
2611
+ readonly wNative: 42776215n;
2612
+ };
2613
+ readonly 8217: {
2614
+ readonly morpho: 208021118n;
2615
+ readonly permit2: 188994815n;
2616
+ readonly bundler3: {
2617
+ readonly bundler3: 208021118n;
2618
+ readonly generalAdapter1: 208021118n;
2619
+ };
2620
+ readonly adaptiveCurveIrm: 208021118n;
2621
+ readonly vaultV2Factory: 213463014n;
2622
+ readonly morphoMarketV1AdapterV2Factory: 213463079n;
2623
+ readonly registryList: 213463079n;
2624
+ readonly chainlinkOracleFactory: 213462907n;
2625
+ readonly preLiquidationFactory: 213462907n;
2626
+ readonly wNative: 104802159n;
2627
+ };
2444
2628
  };
2445
2629
  export declare let unwrappedTokensMapping: Record<number, Record<`0x${string}`, `0x${string}`>>;
2446
2630
  /**
@@ -623,6 +623,7 @@ const _addressesRegistry = {
623
623
  adaptiveCurveIrm: "0x112fd4042E442C3C12C67AD23587b0afe36eB74E",
624
624
  vaultV2Factory: "0x3DE400E3F79113194fa5AF6Ae5C474947E0C82Db",
625
625
  morphoMarketV1AdapterV2Factory: "0xF85aD5f14cC903533FC409B8098B58b4C2f36697",
626
+ morphoVaultV1AdapterFactory: "0x669771F03ab55CebF753E90C3c9D80ad9391cf25",
626
627
  registryList: "0xB118227C728b5ce52445a5aAee48C8a281C429E0",
627
628
  chainlinkOracleFactory: "0xc2c167BC5cBD833ce58239e85073258F10aD4DF6",
628
629
  preLiquidationFactory: "0xB83d2D5CAE5Fc64a408cA82447445442Fe249fe3",
@@ -672,6 +673,51 @@ const _addressesRegistry = {
672
673
  preLiquidationFactory: "0x57C88ACAbd4Fa19257104ECCF64ccA34e5eB8961",
673
674
  wNative: "0x4200000000000000000000000000000000000006",
674
675
  },
676
+ [chain_js_1.ChainId.FlareMainnet]: {
677
+ morpho: "0xF4346F5132e810f80a28487a79c7559d9797E8B0",
678
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
679
+ bundler3: {
680
+ bundler3: "0xb371CFee69984D1F3447D49217889C7388bA2027",
681
+ generalAdapter1: "0x43F4861c9E7f584cFDc9B6BA3F0c2462895BDd67",
682
+ },
683
+ adaptiveCurveIrm: "0xE5B5627C5973AfAE1928a6b8e5c1D6AABFEC8a7a",
684
+ vaultV2Factory: "0x6FC83ECc0e8142635D77200e5052be8A0a9D2f42",
685
+ morphoMarketV1AdapterV2Factory: "0xd8237ea1b5974c83C6b0c8942dc2a16F42f789dd",
686
+ registryList: "0x9730d0B30d9145B66a8e09D26295e36cb84F64a9",
687
+ chainlinkOracleFactory: "0x95cB3625598F9abf6cb8B874AA1EfEEbE7822642",
688
+ preLiquidationFactory: "0xf215D05a04b97f98Bb1bF4E0E5Cb97Ef38fa8895",
689
+ wNative: "0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d",
690
+ },
691
+ [chain_js_1.ChainId.XdcMainnet]: {
692
+ morpho: "0xEa49B0fE898aF913A3826F9f462eE2cDcb854fD9",
693
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
694
+ bundler3: {
695
+ bundler3: "0xed9bdc3E6081db528b6D5CDDf47EcB05337c62A7",
696
+ generalAdapter1: "0xAB2Ab6A8bb1082C5d8400D6206c6A13cE413e0c0",
697
+ },
698
+ adaptiveCurveIrm: "0x15c7312B0f26aa0AA70B24a0D2AF87B9e7D614A0",
699
+ vaultV2Factory: "0x227544d6989cD15c05AAB6dde4F29523dcfdbe2B",
700
+ morphoMarketV1AdapterV2Factory: "0x5C00c99F2235439725417E9f037B7D38FfF35d31",
701
+ registryList: "0x79A8C4e9E502C1867cAf2E7202f0C6b89aaCd5c1",
702
+ chainlinkOracleFactory: "0x6Ad93a3aA829514473D3DF67382894A76c7283B4",
703
+ preLiquidationFactory: "0xe3845262d726a827817C7196143CDa9a4404218d",
704
+ wNative: "0x951857744785E80e2De051c32EE7b25f9c458C42",
705
+ },
706
+ [chain_js_1.ChainId.KaiaMainnet]: {
707
+ morpho: "0xA8BEebdca34d83C697c302A0594f3c41f3994cd2",
708
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
709
+ bundler3: {
710
+ bundler3: "0x27880B18ae04a05F1D603B87AEb2a27491FfaBA9",
711
+ generalAdapter1: "0x8e36C2c6d7771820BF14a75f725f3cf0374a7823",
712
+ },
713
+ adaptiveCurveIrm: "0xA4E2bA20Fc64D721D95BD5a28FF71844C5bb5cF2",
714
+ vaultV2Factory: "0xf2Aecd4a4d4C21d08770e34F392C4C271aBD9144",
715
+ morphoMarketV1AdapterV2Factory: "0x4d04C39ca604b560c50F4045c558378FD9AEBCF4",
716
+ registryList: "0xfCA12228DA5fba6E9c0B57a8e8322d0eBaCa03Bc",
717
+ chainlinkOracleFactory: "0x3e89C1071814b2c4170c90260Fcb60B903AD4602",
718
+ preLiquidationFactory: "0xe8eCe452F04117e5Fe1Ea4403097215443225440",
719
+ wNative: "0x19Aac5f612f524B754CA7e7c41cbFa2E981A4432",
720
+ },
675
721
  };
676
722
  const _deployments = {
677
723
  [chain_js_1.ChainId.EthMainnet]: {
@@ -1173,6 +1219,7 @@ const _deployments = {
1173
1219
  adaptiveCurveIrm: 2375313n,
1174
1220
  vaultV2Factory: 2375650n,
1175
1221
  morphoMarketV1AdapterV2Factory: 2375701n,
1222
+ morphoVaultV1AdapterFactory: 16475630n,
1176
1223
  registryList: 2375601n,
1177
1224
  chainlinkOracleFactory: 2375626n,
1178
1225
  preLiquidationFactory: 2375010n,
@@ -1222,6 +1269,51 @@ const _deployments = {
1222
1269
  preLiquidationFactory: 7520548n,
1223
1270
  wNative: 0n,
1224
1271
  },
1272
+ [chain_js_1.ChainId.FlareMainnet]: {
1273
+ morpho: 52378788n,
1274
+ permit2: 58377404n,
1275
+ bundler3: {
1276
+ bundler3: 52378788n,
1277
+ generalAdapter1: 52378788n,
1278
+ },
1279
+ adaptiveCurveIrm: 52378788n,
1280
+ vaultV2Factory: 52383002n,
1281
+ morphoMarketV1AdapterV2Factory: 52383110n,
1282
+ registryList: 52383110n,
1283
+ chainlinkOracleFactory: 52378931n,
1284
+ preLiquidationFactory: 52378931n,
1285
+ wNative: 39n,
1286
+ },
1287
+ [chain_js_1.ChainId.XdcMainnet]: {
1288
+ morpho: 101757515n,
1289
+ permit2: 92945178n,
1290
+ bundler3: {
1291
+ bundler3: 101757515n,
1292
+ generalAdapter1: 101757515n,
1293
+ },
1294
+ adaptiveCurveIrm: 101757515n,
1295
+ vaultV2Factory: 101757669n,
1296
+ morphoMarketV1AdapterV2Factory: 101757823n,
1297
+ registryList: 101757823n,
1298
+ chainlinkOracleFactory: 101757578n,
1299
+ preLiquidationFactory: 101757578n,
1300
+ wNative: 42776215n,
1301
+ },
1302
+ [chain_js_1.ChainId.KaiaMainnet]: {
1303
+ morpho: 208021118n,
1304
+ permit2: 188994815n,
1305
+ bundler3: {
1306
+ bundler3: 208021118n,
1307
+ generalAdapter1: 208021118n,
1308
+ },
1309
+ adaptiveCurveIrm: 208021118n,
1310
+ vaultV2Factory: 213463014n,
1311
+ morphoMarketV1AdapterV2Factory: 213463079n,
1312
+ registryList: 213463079n,
1313
+ chainlinkOracleFactory: 213462907n,
1314
+ preLiquidationFactory: 213462907n,
1315
+ wNative: 104802159n,
1316
+ },
1225
1317
  };
1226
1318
  const getChainAddresses = (chainId) => {
1227
1319
  const chainAddresses = exports.addresses[chainId];
@@ -1343,6 +1435,15 @@ const _unwrappedTokensMapping = {
1343
1435
  [chain_js_1.ChainId.GensynMainnet]: {
1344
1436
  [_addressesRegistry[chain_js_1.ChainId.GensynMainnet].wNative]: exports.NATIVE_ADDRESS,
1345
1437
  },
1438
+ [chain_js_1.ChainId.FlareMainnet]: {
1439
+ [_addressesRegistry[chain_js_1.ChainId.FlareMainnet].wNative]: exports.NATIVE_ADDRESS,
1440
+ },
1441
+ [chain_js_1.ChainId.XdcMainnet]: {
1442
+ [_addressesRegistry[chain_js_1.ChainId.XdcMainnet].wNative]: exports.NATIVE_ADDRESS,
1443
+ },
1444
+ [chain_js_1.ChainId.KaiaMainnet]: {
1445
+ [_addressesRegistry[chain_js_1.ChainId.KaiaMainnet].wNative]: exports.NATIVE_ADDRESS,
1446
+ },
1346
1447
  };
1347
1448
  function getUnwrappedToken(wrappedToken, chainId) {
1348
1449
  return exports.unwrappedTokensMapping[chainId]?.[wrappedToken];
@@ -1438,6 +1539,7 @@ exports.unwrappedTokensMapping = (0, morpho_ts_1.deepFreeze)(_unwrappedTokensMap
1438
1539
  function registerCustomAddresses({ unwrappedTokens, addresses: customAddresses, deployments: customDeployments, } = {}) {
1439
1540
  const customizer = (type) =>
1440
1541
  // biome-ignore lint/suspicious/noExplicitAny: type is not trivial and not important here
1542
+ // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
1441
1543
  (objValue, srcValue, key) => {
1442
1544
  if (objValue !== undefined &&
1443
1545
  !(0, lodash_isplainobject_1.default)(objValue) &&
@@ -34,7 +34,10 @@ export declare enum ChainId {
34
34
  TempoMainnet = 4217,
35
35
  EdenMainnet = 714,
36
36
  PharosMainnet = 1672,
37
- GensynMainnet = 685689
37
+ GensynMainnet = 685689,
38
+ FlareMainnet = 14,
39
+ XdcMainnet = 50,
40
+ KaiaMainnet = 8217
38
41
  }
39
42
  export interface ChainMetadata {
40
43
  readonly name: string;
@@ -453,5 +456,38 @@ export declare namespace ChainUtils {
453
456
  explorerUrl: string;
454
457
  identifier: string;
455
458
  };
459
+ 14: {
460
+ name: string;
461
+ id: ChainId.FlareMainnet;
462
+ nativeCurrency: {
463
+ name: string;
464
+ symbol: string;
465
+ decimals: number;
466
+ };
467
+ explorerUrl: string;
468
+ identifier: string;
469
+ };
470
+ 50: {
471
+ name: string;
472
+ id: ChainId.XdcMainnet;
473
+ nativeCurrency: {
474
+ name: string;
475
+ symbol: string;
476
+ decimals: number;
477
+ };
478
+ explorerUrl: string;
479
+ identifier: string;
480
+ };
481
+ 8217: {
482
+ name: string;
483
+ id: ChainId.KaiaMainnet;
484
+ nativeCurrency: {
485
+ name: string;
486
+ symbol: string;
487
+ decimals: number;
488
+ };
489
+ explorerUrl: string;
490
+ identifier: string;
491
+ };
456
492
  };
457
493
  }
package/lib/cjs/chain.js CHANGED
@@ -39,6 +39,9 @@ var ChainId;
39
39
  ChainId[ChainId["EdenMainnet"] = 714] = "EdenMainnet";
40
40
  ChainId[ChainId["PharosMainnet"] = 1672] = "PharosMainnet";
41
41
  ChainId[ChainId["GensynMainnet"] = 685689] = "GensynMainnet";
42
+ ChainId[ChainId["FlareMainnet"] = 14] = "FlareMainnet";
43
+ ChainId[ChainId["XdcMainnet"] = 50] = "XdcMainnet";
44
+ ChainId[ChainId["KaiaMainnet"] = 8217] = "KaiaMainnet";
42
45
  })(ChainId || (exports.ChainId = ChainId = {}));
43
46
  var ChainUtils;
44
47
  (function (ChainUtils) {
@@ -312,5 +315,26 @@ var ChainUtils;
312
315
  explorerUrl: "https://gensyn-mainnet.explorer.alchemy.com",
313
316
  identifier: "gensyn",
314
317
  },
318
+ [ChainId.FlareMainnet]: {
319
+ name: "Flare",
320
+ id: ChainId.FlareMainnet,
321
+ nativeCurrency: { name: "Flare", symbol: "FLR", decimals: 18 },
322
+ explorerUrl: "https://mainnet.flarescan.com",
323
+ identifier: "flare",
324
+ },
325
+ [ChainId.XdcMainnet]: {
326
+ name: "XDC",
327
+ id: ChainId.XdcMainnet,
328
+ nativeCurrency: { name: "XDC", symbol: "XDC", decimals: 18 },
329
+ explorerUrl: "https://xdcscan.com",
330
+ identifier: "xdc",
331
+ },
332
+ [ChainId.KaiaMainnet]: {
333
+ name: "Kaia",
334
+ id: ChainId.KaiaMainnet,
335
+ nativeCurrency: { name: "Kaia", symbol: "KAIA", decimals: 18 },
336
+ explorerUrl: "https://kaiascan.io",
337
+ identifier: "kaia",
338
+ },
315
339
  };
316
340
  })(ChainUtils || (exports.ChainUtils = ChainUtils = {}));
package/lib/cjs/errors.js CHANGED
@@ -86,6 +86,7 @@ var BlueErrors;
86
86
  marketId;
87
87
  timestamp;
88
88
  lastUpdate;
89
+ // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
89
90
  constructor(marketId, timestamp, lastUpdate) {
90
91
  super(`invalid interest accrual on market ${marketId}: accrual timestamp ${timestamp} can't be prior to last update ${lastUpdate}`);
91
92
  this.marketId = marketId;
@@ -155,6 +156,7 @@ var VaultV2Errors;
155
156
  vault;
156
157
  timestamp;
157
158
  lastUpdate;
159
+ // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
158
160
  constructor(vault, timestamp, lastUpdate) {
159
161
  super(`invalid interest accrual on vault ${vault}: accrual timestamp ${timestamp} can't be prior to last update ${lastUpdate}`);
160
162
  this.vault = vault;
@@ -1,2 +1,2 @@
1
- export * from "./Holding.js";
2
1
  export * from "./AssetBalances.js";
2
+ export * from "./Holding.js";
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Holding.js"), exports);
18
17
  __exportStar(require("./AssetBalances.js"), exports);
18
+ __exportStar(require("./Holding.js"), exports);
@@ -1,14 +1,14 @@
1
1
  export * from "./addresses.js";
2
+ export * from "./chain.js";
2
3
  export * from "./constants.js";
3
4
  export * from "./errors.js";
5
+ export * from "./holding/index.js";
4
6
  export * from "./market/index.js";
5
- export * from "./chain.js";
6
- export * from "./token/index.js";
7
- export * from "./types.js";
8
7
  export * from "./math/index.js";
9
- export * from "./user/index.js";
10
- export * from "./holding/index.js";
11
8
  export * from "./position/index.js";
12
- export * from "./vault/index.js";
13
9
  export * from "./preLiquidation.js";
10
+ export * from "./token/index.js";
11
+ export * from "./types.js";
12
+ export * from "./user/index.js";
14
13
  export * from "./utils.js";
14
+ export * from "./vault/index.js";
package/lib/cjs/index.js CHANGED
@@ -15,16 +15,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./addresses.js"), exports);
18
+ __exportStar(require("./chain.js"), exports);
18
19
  __exportStar(require("./constants.js"), exports);
19
20
  __exportStar(require("./errors.js"), exports);
21
+ __exportStar(require("./holding/index.js"), exports);
20
22
  __exportStar(require("./market/index.js"), exports);
21
- __exportStar(require("./chain.js"), exports);
22
- __exportStar(require("./token/index.js"), exports);
23
- __exportStar(require("./types.js"), exports);
24
23
  __exportStar(require("./math/index.js"), exports);
25
- __exportStar(require("./user/index.js"), exports);
26
- __exportStar(require("./holding/index.js"), exports);
27
24
  __exportStar(require("./position/index.js"), exports);
28
- __exportStar(require("./vault/index.js"), exports);
29
25
  __exportStar(require("./preLiquidation.js"), exports);
26
+ __exportStar(require("./token/index.js"), exports);
27
+ __exportStar(require("./types.js"), exports);
28
+ __exportStar(require("./user/index.js"), exports);
30
29
  __exportStar(require("./utils.js"), exports);
30
+ __exportStar(require("./vault/index.js"), exports);
@@ -168,6 +168,7 @@ class Market {
168
168
  * Defaults to `Time.timestamp()` (returns the current accrual borrow rate).
169
169
  */
170
170
  getAccrualBorrowRates(timestamp = morpho_ts_1.Time.timestamp()) {
171
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
171
172
  timestamp = BigInt(timestamp);
172
173
  const elapsed = timestamp - this.lastUpdate;
173
174
  if (elapsed < 0n)
@@ -244,6 +245,7 @@ class Market {
244
245
  * Defaults to `lastUpdate` (returns a copy of the market).
245
246
  */
246
247
  accrueInterest(timestamp = this.lastUpdate) {
248
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
247
249
  timestamp = BigInt(timestamp);
248
250
  const { elapsed, avgBorrowRate, endRateAtTarget } = this.getAccrualBorrowRates(timestamp);
249
251
  const { interest, feeShares } = MarketUtils_js_1.MarketUtils.getAccruedInterest(avgBorrowRate, this, elapsed);
@@ -256,24 +258,30 @@ class Market {
256
258
  rateAtTarget: endRateAtTarget,
257
259
  });
258
260
  }
261
+ // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
259
262
  supply(assets, shares, timestamp) {
260
263
  if ((assets === 0n) === (shares === 0n))
261
264
  throw new errors_js_1.BlueErrors.InconsistentInput(assets, shares);
262
265
  const market = this.accrueInterest(timestamp);
266
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
263
267
  if (shares === 0n)
264
268
  shares = market.toSupplyShares(assets, "Down");
269
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
265
270
  else
266
271
  assets = market.toSupplyAssets(shares, "Up");
267
272
  market.totalSupplyAssets += assets;
268
273
  market.totalSupplyShares += shares;
269
274
  return { market, assets, shares };
270
275
  }
276
+ // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
271
277
  withdraw(assets, shares, timestamp) {
272
278
  if ((assets === 0n) === (shares === 0n))
273
279
  throw new errors_js_1.BlueErrors.InconsistentInput(assets, shares);
274
280
  const market = this.accrueInterest(timestamp);
281
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
275
282
  if (shares === 0n)
276
283
  shares = market.toSupplyShares(assets, "Up");
284
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
277
285
  else
278
286
  assets = market.toSupplyAssets(shares, "Down");
279
287
  market.totalSupplyAssets -= assets;
@@ -282,12 +290,15 @@ class Market {
282
290
  throw new errors_js_1.BlueErrors.InsufficientLiquidity(market.id);
283
291
  return { market, assets, shares };
284
292
  }
293
+ // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
285
294
  borrow(assets, shares, timestamp) {
286
295
  if ((assets === 0n) === (shares === 0n))
287
296
  throw new errors_js_1.BlueErrors.InconsistentInput(assets, shares);
288
297
  const market = this.accrueInterest(timestamp);
298
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
289
299
  if (shares === 0n)
290
300
  shares = market.toBorrowShares(assets, "Up");
301
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
291
302
  else
292
303
  assets = market.toBorrowAssets(shares, "Down");
293
304
  market.totalBorrowAssets += assets;
@@ -296,12 +307,15 @@ class Market {
296
307
  throw new errors_js_1.BlueErrors.InsufficientLiquidity(market.id);
297
308
  return { market, assets, shares };
298
309
  }
310
+ // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
299
311
  repay(assets, shares, timestamp) {
300
312
  if ((assets === 0n) === (shares === 0n))
301
313
  throw new errors_js_1.BlueErrors.InconsistentInput(assets, shares);
302
314
  const market = this.accrueInterest(timestamp);
315
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
303
316
  if (shares === 0n)
304
317
  shares = market.toBorrowShares(assets, "Down");
318
+ // biome-ignore lint/style/noParameterAssign: TODO refactor to avoid mutating parameter
305
319
  else
306
320
  assets = market.toBorrowAssets(shares, "Up");
307
321
  market.totalBorrowAssets -= assets;
@@ -560,6 +574,7 @@ class Market {
560
574
  * @param loanTokenBalance The balance of loan assets.
561
575
  * @param collateralTokenBalance The balance of collateral assets.
562
576
  */
577
+ // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
563
578
  getMaxCapacities(position, loanTokenBalance, collateralTokenBalance, options) {
564
579
  return {
565
580
  supply: {
@@ -1,5 +1,5 @@
1
- import type { Address, BigIntish, MarketId } from "../types.js";
2
1
  import { type Hex } from "viem";
2
+ import type { Address, BigIntish, MarketId } from "../types.js";
3
3
  export interface IMarketParams {
4
4
  loanToken: Address;
5
5
  collateralToken: Address;