import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; import { Message, proto3 } from "@bufbuild/protobuf"; import { Token } from "../v1/types_pb.js"; /** * @generated from enum data.v2.EarnVaultStatus */ export declare enum EarnVaultStatus { /** * @generated from enum value: EARN_VAULT_STATUS_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: EARN_VAULT_STATUS_ACTIVE = 1; */ ACTIVE = 1, /** * @generated from enum value: EARN_VAULT_STATUS_DEPRECATED = 2; */ DEPRECATED = 2 } /** * @generated from enum data.v2.EarnPositionStatus */ export declare enum EarnPositionStatus { /** * @generated from enum value: EARN_POSITION_STATUS_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: EARN_POSITION_STATUS_ACTIVE = 1; */ ACTIVE = 1, /** * @generated from enum value: EARN_POSITION_STATUS_CLOSED = 2; */ CLOSED = 2 } /** * @generated from message data.v2.EarnVault */ export declare class EarnVault extends Message { /** * @generated from field: string address = 1; */ address: string; /** * @generated from field: uint32 chain_id = 2; */ chainId: number; /** * @generated from field: string name = 3; */ name: string; /** * @generated from field: string symbol = 4; */ symbol: string; /** * @generated from field: data.v1.Token underlying_token = 5; */ underlyingToken?: Token; /** * @generated from field: data.v2.EarnVaultStatus status = 6; */ status: EarnVaultStatus; /** * @generated from field: string total_assets_raw = 7; */ totalAssetsRaw: string; /** * @generated from field: optional double total_assets_usd = 8; */ totalAssetsUsd?: number; /** * @generated from field: string total_supply_raw = 9; */ totalSupplyRaw: string; /** * @generated from field: string liquidity_raw = 10; */ liquidityRaw: string; /** * @generated from field: optional double liquidity_usd = 11; */ liquidityUsd?: number; /** * @generated from field: double share_price = 12; */ sharePrice: number; /** * @generated from field: optional double apy = 13; */ apy?: number; /** * @generated from field: optional double net_apy = 14; */ netApy?: number; /** * @generated from field: optional double avg_net_apy = 15; */ avgNetApy?: number; /** * @generated from field: optional double performance_fee = 16; */ performanceFee?: number; /** * @generated from field: optional double management_fee = 17; */ managementFee?: number; /** * @generated from field: repeated data.v2.EarnVaultWarning warnings = 18; */ warnings: EarnVaultWarning[]; /** * @generated from field: repeated data.v1.Token exposure_tokens = 19; */ exposureTokens: Token[]; /** * @generated from field: string curator_address = 20; */ curatorAddress: string; /** * @generated from field: string curator_name = 21; */ curatorName: string; /** * @generated from field: optional string curator_image_url = 22; */ curatorImageUrl?: string; /** * @generated from field: optional int64 deployment_timestamp = 23; */ deploymentTimestamp?: bigint; /** * Per-asset amounts; empty when adapter data was not fetched. * * @generated from field: repeated data.v2.EarnVaultExposure exposures = 24; */ exposures: EarnVaultExposure[]; constructor(data?: PartialMessage); static readonly runtime: typeof proto3; static readonly typeName = "data.v2.EarnVault"; static readonly fields: FieldList; static fromBinary(bytes: Uint8Array, options?: Partial): EarnVault; static fromJson(jsonValue: JsonValue, options?: Partial): EarnVault; static fromJsonString(jsonString: string, options?: Partial): EarnVault; static equals(a: EarnVault | PlainMessage | undefined, b: EarnVault | PlainMessage | undefined): boolean; } /** * @generated from message data.v2.EarnVaultExposure */ export declare class EarnVaultExposure extends Message { /** * @generated from field: data.v1.Token token = 1; */ token?: Token; /** * Amount in vault-underlying base units, encoded as a string. Omitted when * any amount-bearing contribution cannot be determined. * * @generated from field: optional string assets_raw = 2; */ assetsRaw?: string; /** * @generated from field: optional double assets_usd = 3; */ assetsUsd?: number; /** * Share of total vault assets; may sum to less than 1. * * @generated from field: optional double share = 4; */ share?: number; constructor(data?: PartialMessage); static readonly runtime: typeof proto3; static readonly typeName = "data.v2.EarnVaultExposure"; static readonly fields: FieldList; static fromBinary(bytes: Uint8Array, options?: Partial): EarnVaultExposure; static fromJson(jsonValue: JsonValue, options?: Partial): EarnVaultExposure; static fromJsonString(jsonString: string, options?: Partial): EarnVaultExposure; static equals(a: EarnVaultExposure | PlainMessage | undefined, b: EarnVaultExposure | PlainMessage | undefined): boolean; } /** * @generated from message data.v2.EarnVaultWarning */ export declare class EarnVaultWarning extends Message { /** * @generated from field: string type = 1; */ type: string; /** * @generated from field: string level = 2; */ level: string; constructor(data?: PartialMessage); static readonly runtime: typeof proto3; static readonly typeName = "data.v2.EarnVaultWarning"; static readonly fields: FieldList; static fromBinary(bytes: Uint8Array, options?: Partial): EarnVaultWarning; static fromJson(jsonValue: JsonValue, options?: Partial): EarnVaultWarning; static fromJsonString(jsonString: string, options?: Partial): EarnVaultWarning; static equals(a: EarnVaultWarning | PlainMessage | undefined, b: EarnVaultWarning | PlainMessage | undefined): boolean; } /** * @generated from message data.v2.EarnPosition */ export declare class EarnPosition extends Message { /** * @generated from field: data.v2.EarnVault vault = 1; */ vault?: EarnVault; /** * @generated from field: string shares_raw = 2; */ sharesRaw: string; /** * @generated from field: string current_assets_raw = 3; */ currentAssetsRaw: string; /** * @generated from field: optional double current_assets_usd = 4; */ currentAssetsUsd?: number; /** * @generated from field: data.v2.EarnPositionStatus status = 5; */ status: EarnPositionStatus; /** * Lifetime PnL in underlying-asset units (signed BigInt as string): * current_assets_raw + Σ(withdrawals) − Σ(deposits) across the wallet's * entire history with this vault. Survives full withdraw + redeposit * cycles, unlike Morpho's holding-period pnl. Transfers in/out are * ignored (Option 1 — see lifetime earnings design doc). Populated by * GetEarnPosition; left empty by ListEarnPositions to keep list traffic * cheap. * * @generated from field: optional string lifetime_pnl_raw = 6; */ lifetimePnlRaw?: string; /** * USD valuation of lifetime_pnl_raw, priced at the underlying's current * USD price (matches Morpho's pnlUsd semantics). Undefined when the * underlying has no usable USD price or the position is empty. * * @generated from field: optional double lifetime_pnl_usd = 7; */ lifetimePnlUsd?: number; constructor(data?: PartialMessage); static readonly runtime: typeof proto3; static readonly typeName = "data.v2.EarnPosition"; static readonly fields: FieldList; static fromBinary(bytes: Uint8Array, options?: Partial): EarnPosition; static fromJson(jsonValue: JsonValue, options?: Partial): EarnPosition; static fromJsonString(jsonString: string, options?: Partial): EarnPosition; static equals(a: EarnPosition | PlainMessage | undefined, b: EarnPosition | PlainMessage | undefined): boolean; }