@dynamic-labs/sdk-api 0.126.0 → 0.127.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-api",
3
- "version": "0.126.0",
3
+ "version": "0.127.0",
4
4
  "author": "Dynamic Labs",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -747,6 +747,7 @@ export interface GetYieldEarningsRequest {
747
747
  environmentId: string;
748
748
  ownerAddress: string;
749
749
  chainId: number;
750
+ chainName?: ChainEnum;
750
751
  }
751
752
  export interface GetYieldVaultDetailsRequest {
752
753
  environmentId: string;
@@ -3421,22 +3422,22 @@ export declare class SDKApi extends runtime.BaseAPI {
3421
3422
  */
3422
3423
  getWalletTransactionsOptions(requestParameters: GetWalletTransactionsOptionsRequest, initOverrides?: RequestInit): Promise<void>;
3423
3424
  /**
3424
- * Returns the wallet\'s earnings across every Morpho Vault V2 position it holds on the given chain, as a per-vault breakdown plus USD totals. Morpho only aggregates within a single chain, so `chainId` is required. Totals are USD-denominated because each vault\'s earnings are expressed in its own underlying asset and are therefore not additive. Positions in vaults this environment does not offer are still included, with a null `vaultId`.
3425
+ * Returns the wallet\'s earnings across every yield-vault position it holds on the given chain, as a per-vault breakdown plus USD totals. `chainName` selects the chain family — `EVM` covers Morpho and Aave vaults, `SOL` covers Kamino vaults — and defaults to `EVM`; `chainId` selects the chain within it. Providers only aggregate within a single chain, so `chainId` is required. Totals are USD-denominated because each vault\'s earnings are expressed in its own underlying asset and are therefore not additive. Positions in vaults this environment does not offer are still included, with a null `vaultId`. Aave reports no earnings, so its positions carry null `pnl`, `pnlUsd` and `roe`; Kamino reports no time-weighted return, so its positions carry a null `roe`.
3425
3426
  * Get a wallet\'s earnings across all vaults on one chain
3426
3427
  */
3427
3428
  getYieldEarningsRaw(requestParameters: GetYieldEarningsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<YieldEarnings>>;
3428
3429
  /**
3429
- * Returns the wallet\'s earnings across every Morpho Vault V2 position it holds on the given chain, as a per-vault breakdown plus USD totals. Morpho only aggregates within a single chain, so `chainId` is required. Totals are USD-denominated because each vault\'s earnings are expressed in its own underlying asset and are therefore not additive. Positions in vaults this environment does not offer are still included, with a null `vaultId`.
3430
+ * Returns the wallet\'s earnings across every yield-vault position it holds on the given chain, as a per-vault breakdown plus USD totals. `chainName` selects the chain family — `EVM` covers Morpho and Aave vaults, `SOL` covers Kamino vaults — and defaults to `EVM`; `chainId` selects the chain within it. Providers only aggregate within a single chain, so `chainId` is required. Totals are USD-denominated because each vault\'s earnings are expressed in its own underlying asset and are therefore not additive. Positions in vaults this environment does not offer are still included, with a null `vaultId`. Aave reports no earnings, so its positions carry null `pnl`, `pnlUsd` and `roe`; Kamino reports no time-weighted return, so its positions carry a null `roe`.
3430
3431
  * Get a wallet\'s earnings across all vaults on one chain
3431
3432
  */
3432
3433
  getYieldEarnings(requestParameters: GetYieldEarningsRequest, initOverrides?: RequestInit): Promise<YieldEarnings>;
3433
3434
  /**
3434
- * Returns full details for a single vault identified by its opaque vaultId. Vault must be accessible to the environment (public or org-private match). Enriched with live Morpho data on a best-effort basis.
3435
+ * Returns full details for a single vault identified by its opaque vaultId. Vault must be accessible to the environment (public or org-private match). Enriched with live data from the vault\'s provider on a best-effort basis.
3435
3436
  * Get vault details
3436
3437
  */
3437
3438
  getYieldVaultDetailsRaw(requestParameters: GetYieldVaultDetailsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<YieldVaultDetails>>;
3438
3439
  /**
3439
- * Returns full details for a single vault identified by its opaque vaultId. Vault must be accessible to the environment (public or org-private match). Enriched with live Morpho data on a best-effort basis.
3440
+ * Returns full details for a single vault identified by its opaque vaultId. Vault must be accessible to the environment (public or org-private match). Enriched with live data from the vault\'s provider on a best-effort basis.
3440
3441
  * Get vault details
3441
3442
  */
3442
3443
  getYieldVaultDetails(requestParameters: GetYieldVaultDetailsRequest, initOverrides?: RequestInit): Promise<YieldVaultDetails>;
@@ -3451,22 +3452,22 @@ export declare class SDKApi extends runtime.BaseAPI {
3451
3452
  */
3452
3453
  getYieldVaultPosition(requestParameters: GetYieldVaultPositionRequest, initOverrides?: RequestInit): Promise<YieldVaultPosition>;
3453
3454
  /**
3454
- * Returns net earnings and return on capital for the given wallet address in the specified vault, as indexed by Morpho. Indexed figures trail the chain head, so the balances from the position endpoint remain the live source of truth for what a position is worth now.
3455
+ * Returns net earnings and return on capital for the given wallet address in the specified vault, as indexed by the vault\'s provider (Morpho and Kamino). Indexed figures trail the chain head, so the balances from the position endpoint remain the live source of truth for what a position is worth now. Kamino does not report a time-weighted return, so `returnOnCapital` is always null for Kamino vaults. Responds 400 for Aave vaults, which report no earnings.
3455
3456
  * Get earnings for a user position in a vault
3456
3457
  */
3457
3458
  getYieldVaultPositionPerformanceRaw(requestParameters: GetYieldVaultPositionPerformanceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<YieldVaultPositionPerformance>>;
3458
3459
  /**
3459
- * Returns net earnings and return on capital for the given wallet address in the specified vault, as indexed by Morpho. Indexed figures trail the chain head, so the balances from the position endpoint remain the live source of truth for what a position is worth now.
3460
+ * Returns net earnings and return on capital for the given wallet address in the specified vault, as indexed by the vault\'s provider (Morpho and Kamino). Indexed figures trail the chain head, so the balances from the position endpoint remain the live source of truth for what a position is worth now. Kamino does not report a time-weighted return, so `returnOnCapital` is always null for Kamino vaults. Responds 400 for Aave vaults, which report no earnings.
3460
3461
  * Get earnings for a user position in a vault
3461
3462
  */
3462
3463
  getYieldVaultPositionPerformance(requestParameters: GetYieldVaultPositionPerformanceRequest, initOverrides?: RequestInit): Promise<YieldVaultPositionPerformance>;
3463
3464
  /**
3464
- * Returns accrued Morpho rewards for the given wallet address in the specified vault. Returns an empty rewards array when none exist.
3465
+ * Returns accrued rewards for the given wallet address in the specified vault: Merkl campaign rewards for Morpho vaults and farm rewards for Kamino vaults. Returns an empty rewards array when none exist. Responds 400 for Aave vaults, which have no rewards.
3465
3466
  * Get user rewards in vault
3466
3467
  */
3467
3468
  getYieldVaultRewardsRaw(requestParameters: GetYieldVaultRewardsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<YieldVaultRewardsResponse>>;
3468
3469
  /**
3469
- * Returns accrued Morpho rewards for the given wallet address in the specified vault. Returns an empty rewards array when none exist.
3470
+ * Returns accrued rewards for the given wallet address in the specified vault: Merkl campaign rewards for Morpho vaults and farm rewards for Kamino vaults. Returns an empty rewards array when none exist. Responds 400 for Aave vaults, which have no rewards.
3470
3471
  * Get user rewards in vault
3471
3472
  */
3472
3473
  getYieldVaultRewards(requestParameters: GetYieldVaultRewardsRequest, initOverrides?: RequestInit): Promise<YieldVaultRewardsResponse>;
@@ -3623,12 +3624,12 @@ export declare class SDKApi extends runtime.BaseAPI {
3623
3624
  */
3624
3625
  listMfaMethodsOptions(requestParameters: ListMfaMethodsOptionsRequest, initOverrides?: RequestInit): Promise<void>;
3625
3626
  /**
3626
- * Returns the yield vaults available to this environment. Public vaults (project_environment_id IS NULL) are included for every caller; private vaults are included only for the matching environment. Each vault is enriched with live net APY and TVL from Morpho on a best-effort basis.
3627
+ * Returns the yield vaults available to this environment. Public vaults (project_environment_id IS NULL) are included for every caller; private vaults are included only for the matching environment. Each vault is enriched with live net APY and TVL from its provider on a best-effort basis.
3627
3628
  * List yield vaults
3628
3629
  */
3629
3630
  listYieldVaultsRaw(requestParameters: ListYieldVaultsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<YieldVaultListResponse>>;
3630
3631
  /**
3631
- * Returns the yield vaults available to this environment. Public vaults (project_environment_id IS NULL) are included for every caller; private vaults are included only for the matching environment. Each vault is enriched with live net APY and TVL from Morpho on a best-effort basis.
3632
+ * Returns the yield vaults available to this environment. Public vaults (project_environment_id IS NULL) are included for every caller; private vaults are included only for the matching environment. Each vault is enriched with live net APY and TVL from its provider on a best-effort basis.
3632
3633
  * List yield vaults
3633
3634
  */
3634
3635
  listYieldVaults(requestParameters: ListYieldVaultsRequest, initOverrides?: RequestInit): Promise<YieldVaultListResponse>;
@@ -5607,12 +5608,12 @@ export declare class SDKApi extends runtime.BaseAPI {
5607
5608
  */
5608
5609
  yieldEarningsOptions(requestParameters: YieldEarningsOptionsRequest, initOverrides?: RequestInit): Promise<void>;
5609
5610
  /**
5610
- * Builds an unsigned Merkl Distributor claim signing payload for the reward token(s) earned through this vault. Responds 422 when there is nothing to claim right now — no reward campaign for this vault, or every attributable token is already fully claimed.
5611
+ * Builds an unsigned claim signing payload for the reward token(s) earned through this vault: a Merkl Distributor claim for Morpho vaults, or an ordered sequence of Solana transactions, one per reward farm, for Kamino vaults. Responds 422 when there is nothing to claim right now — no reward campaign for this vault, or every attributable token is already fully claimed. Responds 400 for Aave vaults, which have no rewards.
5611
5612
  * Build a vault reward-claim signing payload
5612
5613
  */
5613
5614
  yieldVaultClaimRaw(requestParameters: YieldVaultClaimOperationRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<YieldVaultActionResponse>>;
5614
5615
  /**
5615
- * Builds an unsigned Merkl Distributor claim signing payload for the reward token(s) earned through this vault. Responds 422 when there is nothing to claim right now — no reward campaign for this vault, or every attributable token is already fully claimed.
5616
+ * Builds an unsigned claim signing payload for the reward token(s) earned through this vault: a Merkl Distributor claim for Morpho vaults, or an ordered sequence of Solana transactions, one per reward farm, for Kamino vaults. Responds 422 when there is nothing to claim right now — no reward campaign for this vault, or every attributable token is already fully claimed. Responds 400 for Aave vaults, which have no rewards.
5616
5617
  * Build a vault reward-claim signing payload
5617
5618
  */
5618
5619
  yieldVaultClaim(requestParameters: YieldVaultClaimOperationRequest, initOverrides?: RequestInit): Promise<YieldVaultActionResponse>;
@@ -6062,7 +6062,7 @@ class SDKApi extends BaseAPI {
6062
6062
  await this.getWalletTransactionsOptionsRaw(requestParameters, initOverrides);
6063
6063
  }
6064
6064
  /**
6065
- * Returns the wallet\'s earnings across every Morpho Vault V2 position it holds on the given chain, as a per-vault breakdown plus USD totals. Morpho only aggregates within a single chain, so `chainId` is required. Totals are USD-denominated because each vault\'s earnings are expressed in its own underlying asset and are therefore not additive. Positions in vaults this environment does not offer are still included, with a null `vaultId`.
6065
+ * Returns the wallet\'s earnings across every yield-vault position it holds on the given chain, as a per-vault breakdown plus USD totals. `chainName` selects the chain family — `EVM` covers Morpho and Aave vaults, `SOL` covers Kamino vaults — and defaults to `EVM`; `chainId` selects the chain within it. Providers only aggregate within a single chain, so `chainId` is required. Totals are USD-denominated because each vault\'s earnings are expressed in its own underlying asset and are therefore not additive. Positions in vaults this environment does not offer are still included, with a null `vaultId`. Aave reports no earnings, so its positions carry null `pnl`, `pnlUsd` and `roe`; Kamino reports no time-weighted return, so its positions carry a null `roe`.
6066
6066
  * Get a wallet\'s earnings across all vaults on one chain
6067
6067
  */
6068
6068
  async getYieldEarningsRaw(requestParameters, initOverrides) {
@@ -6082,6 +6082,9 @@ class SDKApi extends BaseAPI {
6082
6082
  if (requestParameters.chainId !== undefined) {
6083
6083
  queryParameters['chainId'] = requestParameters.chainId;
6084
6084
  }
6085
+ if (requestParameters.chainName !== undefined) {
6086
+ queryParameters['chainName'] = requestParameters.chainName;
6087
+ }
6085
6088
  const headerParameters = {};
6086
6089
  const response = await this.request({
6087
6090
  path: `/sdk/{environmentId}/yield/earnings`.replace(`{${"environmentId"}}`, encodeURIComponent(String(requestParameters.environmentId))),
@@ -6092,7 +6095,7 @@ class SDKApi extends BaseAPI {
6092
6095
  return new JSONApiResponse(response, (jsonValue) => YieldEarningsFromJSON(jsonValue));
6093
6096
  }
6094
6097
  /**
6095
- * Returns the wallet\'s earnings across every Morpho Vault V2 position it holds on the given chain, as a per-vault breakdown plus USD totals. Morpho only aggregates within a single chain, so `chainId` is required. Totals are USD-denominated because each vault\'s earnings are expressed in its own underlying asset and are therefore not additive. Positions in vaults this environment does not offer are still included, with a null `vaultId`.
6098
+ * Returns the wallet\'s earnings across every yield-vault position it holds on the given chain, as a per-vault breakdown plus USD totals. `chainName` selects the chain family — `EVM` covers Morpho and Aave vaults, `SOL` covers Kamino vaults — and defaults to `EVM`; `chainId` selects the chain within it. Providers only aggregate within a single chain, so `chainId` is required. Totals are USD-denominated because each vault\'s earnings are expressed in its own underlying asset and are therefore not additive. Positions in vaults this environment does not offer are still included, with a null `vaultId`. Aave reports no earnings, so its positions carry null `pnl`, `pnlUsd` and `roe`; Kamino reports no time-weighted return, so its positions carry a null `roe`.
6096
6099
  * Get a wallet\'s earnings across all vaults on one chain
6097
6100
  */
6098
6101
  async getYieldEarnings(requestParameters, initOverrides) {
@@ -6100,7 +6103,7 @@ class SDKApi extends BaseAPI {
6100
6103
  return await response.value();
6101
6104
  }
6102
6105
  /**
6103
- * Returns full details for a single vault identified by its opaque vaultId. Vault must be accessible to the environment (public or org-private match). Enriched with live Morpho data on a best-effort basis.
6106
+ * Returns full details for a single vault identified by its opaque vaultId. Vault must be accessible to the environment (public or org-private match). Enriched with live data from the vault\'s provider on a best-effort basis.
6104
6107
  * Get vault details
6105
6108
  */
6106
6109
  async getYieldVaultDetailsRaw(requestParameters, initOverrides) {
@@ -6121,7 +6124,7 @@ class SDKApi extends BaseAPI {
6121
6124
  return new JSONApiResponse(response, (jsonValue) => YieldVaultDetailsFromJSON(jsonValue));
6122
6125
  }
6123
6126
  /**
6124
- * Returns full details for a single vault identified by its opaque vaultId. Vault must be accessible to the environment (public or org-private match). Enriched with live Morpho data on a best-effort basis.
6127
+ * Returns full details for a single vault identified by its opaque vaultId. Vault must be accessible to the environment (public or org-private match). Enriched with live data from the vault\'s provider on a best-effort basis.
6125
6128
  * Get vault details
6126
6129
  */
6127
6130
  async getYieldVaultDetails(requestParameters, initOverrides) {
@@ -6164,7 +6167,7 @@ class SDKApi extends BaseAPI {
6164
6167
  return await response.value();
6165
6168
  }
6166
6169
  /**
6167
- * Returns net earnings and return on capital for the given wallet address in the specified vault, as indexed by Morpho. Indexed figures trail the chain head, so the balances from the position endpoint remain the live source of truth for what a position is worth now.
6170
+ * Returns net earnings and return on capital for the given wallet address in the specified vault, as indexed by the vault\'s provider (Morpho and Kamino). Indexed figures trail the chain head, so the balances from the position endpoint remain the live source of truth for what a position is worth now. Kamino does not report a time-weighted return, so `returnOnCapital` is always null for Kamino vaults. Responds 400 for Aave vaults, which report no earnings.
6168
6171
  * Get earnings for a user position in a vault
6169
6172
  */
6170
6173
  async getYieldVaultPositionPerformanceRaw(requestParameters, initOverrides) {
@@ -6191,7 +6194,7 @@ class SDKApi extends BaseAPI {
6191
6194
  return new JSONApiResponse(response, (jsonValue) => YieldVaultPositionPerformanceFromJSON(jsonValue));
6192
6195
  }
6193
6196
  /**
6194
- * Returns net earnings and return on capital for the given wallet address in the specified vault, as indexed by Morpho. Indexed figures trail the chain head, so the balances from the position endpoint remain the live source of truth for what a position is worth now.
6197
+ * Returns net earnings and return on capital for the given wallet address in the specified vault, as indexed by the vault\'s provider (Morpho and Kamino). Indexed figures trail the chain head, so the balances from the position endpoint remain the live source of truth for what a position is worth now. Kamino does not report a time-weighted return, so `returnOnCapital` is always null for Kamino vaults. Responds 400 for Aave vaults, which report no earnings.
6195
6198
  * Get earnings for a user position in a vault
6196
6199
  */
6197
6200
  async getYieldVaultPositionPerformance(requestParameters, initOverrides) {
@@ -6199,7 +6202,7 @@ class SDKApi extends BaseAPI {
6199
6202
  return await response.value();
6200
6203
  }
6201
6204
  /**
6202
- * Returns accrued Morpho rewards for the given wallet address in the specified vault. Returns an empty rewards array when none exist.
6205
+ * Returns accrued rewards for the given wallet address in the specified vault: Merkl campaign rewards for Morpho vaults and farm rewards for Kamino vaults. Returns an empty rewards array when none exist. Responds 400 for Aave vaults, which have no rewards.
6203
6206
  * Get user rewards in vault
6204
6207
  */
6205
6208
  async getYieldVaultRewardsRaw(requestParameters, initOverrides) {
@@ -6226,7 +6229,7 @@ class SDKApi extends BaseAPI {
6226
6229
  return new JSONApiResponse(response, (jsonValue) => YieldVaultRewardsResponseFromJSON(jsonValue));
6227
6230
  }
6228
6231
  /**
6229
- * Returns accrued Morpho rewards for the given wallet address in the specified vault. Returns an empty rewards array when none exist.
6232
+ * Returns accrued rewards for the given wallet address in the specified vault: Merkl campaign rewards for Morpho vaults and farm rewards for Kamino vaults. Returns an empty rewards array when none exist. Responds 400 for Aave vaults, which have no rewards.
6230
6233
  * Get user rewards in vault
6231
6234
  */
6232
6235
  async getYieldVaultRewards(requestParameters, initOverrides) {
@@ -6743,7 +6746,7 @@ class SDKApi extends BaseAPI {
6743
6746
  await this.listMfaMethodsOptionsRaw(requestParameters, initOverrides);
6744
6747
  }
6745
6748
  /**
6746
- * Returns the yield vaults available to this environment. Public vaults (project_environment_id IS NULL) are included for every caller; private vaults are included only for the matching environment. Each vault is enriched with live net APY and TVL from Morpho on a best-effort basis.
6749
+ * Returns the yield vaults available to this environment. Public vaults (project_environment_id IS NULL) are included for every caller; private vaults are included only for the matching environment. Each vault is enriched with live net APY and TVL from its provider on a best-effort basis.
6747
6750
  * List yield vaults
6748
6751
  */
6749
6752
  async listYieldVaultsRaw(requestParameters, initOverrides) {
@@ -6761,7 +6764,7 @@ class SDKApi extends BaseAPI {
6761
6764
  return new JSONApiResponse(response, (jsonValue) => YieldVaultListResponseFromJSON(jsonValue));
6762
6765
  }
6763
6766
  /**
6764
- * Returns the yield vaults available to this environment. Public vaults (project_environment_id IS NULL) are included for every caller; private vaults are included only for the matching environment. Each vault is enriched with live net APY and TVL from Morpho on a best-effort basis.
6767
+ * Returns the yield vaults available to this environment. Public vaults (project_environment_id IS NULL) are included for every caller; private vaults are included only for the matching environment. Each vault is enriched with live net APY and TVL from its provider on a best-effort basis.
6765
6768
  * List yield vaults
6766
6769
  */
6767
6770
  async listYieldVaults(requestParameters, initOverrides) {
@@ -13459,7 +13462,7 @@ class SDKApi extends BaseAPI {
13459
13462
  await this.yieldEarningsOptionsRaw(requestParameters, initOverrides);
13460
13463
  }
13461
13464
  /**
13462
- * Builds an unsigned Merkl Distributor claim signing payload for the reward token(s) earned through this vault. Responds 422 when there is nothing to claim right now — no reward campaign for this vault, or every attributable token is already fully claimed.
13465
+ * Builds an unsigned claim signing payload for the reward token(s) earned through this vault: a Merkl Distributor claim for Morpho vaults, or an ordered sequence of Solana transactions, one per reward farm, for Kamino vaults. Responds 422 when there is nothing to claim right now — no reward campaign for this vault, or every attributable token is already fully claimed. Responds 400 for Aave vaults, which have no rewards.
13463
13466
  * Build a vault reward-claim signing payload
13464
13467
  */
13465
13468
  async yieldVaultClaimRaw(requestParameters, initOverrides) {
@@ -13485,7 +13488,7 @@ class SDKApi extends BaseAPI {
13485
13488
  return new JSONApiResponse(response, (jsonValue) => YieldVaultActionResponseFromJSON(jsonValue));
13486
13489
  }
13487
13490
  /**
13488
- * Builds an unsigned Merkl Distributor claim signing payload for the reward token(s) earned through this vault. Responds 422 when there is nothing to claim right now — no reward campaign for this vault, or every attributable token is already fully claimed.
13491
+ * Builds an unsigned claim signing payload for the reward token(s) earned through this vault: a Merkl Distributor claim for Morpho vaults, or an ordered sequence of Solana transactions, one per reward farm, for Kamino vaults. Responds 422 when there is nothing to claim right now — no reward campaign for this vault, or every attributable token is already fully claimed. Responds 400 for Aave vaults, which have no rewards.
13489
13492
  * Build a vault reward-claim signing payload
13490
13493
  */
13491
13494
  async yieldVaultClaim(requestParameters, initOverrides) {
@@ -17,7 +17,7 @@ import { YieldVaultEarnings } from './YieldVaultEarnings';
17
17
  */
18
18
  export interface YieldEarnings {
19
19
  /**
20
- * EVM chain id the earnings were aggregated on.
20
+ * Chain id the earnings were aggregated on: an EVM chain id, or the Solana cluster id.
21
21
  * @type {number}
22
22
  * @memberof YieldEarnings
23
23
  */
@@ -22,31 +22,31 @@ export interface YieldVaultEarnings {
22
22
  */
23
23
  assets: string;
24
24
  /**
25
- * Position size in USD. Null when Morpho has no price for the underlying token.
25
+ * Position size in USD. Null when the provider has no price for the underlying token.
26
26
  * @type {number}
27
27
  * @memberof YieldVaultEarnings
28
28
  */
29
29
  assetsUsd: number | null;
30
30
  /**
31
- * Earnings on the position, in raw units of the vault's underlying token. Null while the position has too little history to compute it.
31
+ * Earnings on the position, in raw units of the vault's underlying token. Null while the position has too little history to compute it, or when the provider reports no earnings (Aave).
32
32
  * @type {string}
33
33
  * @memberof YieldVaultEarnings
34
34
  */
35
35
  pnl: string | null;
36
36
  /**
37
- * Earnings on the position in USD. Null when Morpho has no price for the underlying token.
37
+ * Earnings on the position in USD. Null when the provider has no price for the underlying token, or reports no earnings (Aave).
38
38
  * @type {number}
39
39
  * @memberof YieldVaultEarnings
40
40
  */
41
41
  pnlUsd: number | null;
42
42
  /**
43
- * Time-weighted, non-annualized return on equity since inception, as a decimal. Null while the position has too little history to compute it.
43
+ * Time-weighted, non-annualized return on equity since inception, as a decimal. Null while the position has too little history to compute it, or when the provider reports none (Aave, Kamino).
44
44
  * @type {number}
45
45
  * @memberof YieldVaultEarnings
46
46
  */
47
47
  roe: number | null;
48
48
  /**
49
- * Vault contract address as reported by Morpho.
49
+ * Vault address as reported by the provider.
50
50
  * @type {string}
51
51
  * @memberof YieldVaultEarnings
52
52
  */
@@ -28,7 +28,7 @@ export interface YieldVaultPositionPerformance {
28
28
  */
29
29
  ownerAddress: string;
30
30
  /**
31
- * Time-weighted, non-annualized return on capital since inception, as a decimal. Null while the position has too little history to compute it.
31
+ * Time-weighted, non-annualized return on capital since inception, as a decimal. Null while the position has too little history to compute it, or when the provider reports none (Kamino).
32
32
  * @type {number}
33
33
  * @memberof YieldVaultPositionPerformance
34
34
  */