import { U128 } from "../../../polyester/type/v1/u128_pb.js"; import { AccountCode, TransferCode } from "../../v1/catalog_pb.js"; import { Message } from "@bufbuild/protobuf"; import { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; declare namespace ledger_read_pb_d_exports { export { AccountGrouping, AccountGroupingSchema, AssetBalance, AssetBalanceSchema, AssetGrouping, AssetGroupingSchema, BalanceRange, BalanceRangeSchema, BalanceSeries, BalanceSeriesSchema, EquityGroupBy, EquityGroupBySchema, EquitySeries, EquitySeriesSchema, ErrorCode, ErrorCodeSchema, ErrorDetail, ErrorDetailSchema, GetBalanceHistoryRequest, GetBalanceHistoryRequestSchema, GetBalanceHistoryResponse, GetBalanceHistoryResponseSchema, GetBalancesRequest, GetBalancesRequestSchema, GetBalancesResponse, GetBalancesResponseSchema, GetEquityHistorySeriesRequest, GetEquityHistorySeriesRequestSchema, GetEquityHistorySeriesResponse, GetEquityHistorySeriesResponseSchema, GetPortfolioEquityHistorySeriesRequest, GetPortfolioEquityHistorySeriesRequestSchema, GetPortfolioEquityHistorySeriesResponse, GetPortfolioEquityHistorySeriesResponseSchema, GetPortfolioEquitySnapshotRequest, GetPortfolioEquitySnapshotRequestSchema, GetPortfolioEquitySnapshotResponse, GetPortfolioEquitySnapshotResponseSchema, HoldRow, HoldRowSchema, LedgerReadService, ListHoldsRequest, ListHoldsRequestSchema, ListHoldsResponse, ListHoldsResponseSchema, ListTransfersRequest, ListTransfersRequestSchema, ListTransfersResponse, ListTransfersResponseSchema, PortfolioAccountEquity, PortfolioAccountEquitySchema, PortfolioAccountGrouping, PortfolioAccountGroupingSchema, PortfolioAssetEquity, PortfolioAssetEquitySchema, TransferRow, TransferRowSchema, TransferSide, TransferSideKind, TransferSideKindSchema, TransferSideSchema, file_ledger_read_v1_ledger_read }; } /** * Describes the file ledger/read/v1/ledger_read.proto. */ declare const file_ledger_read_v1_ledger_read: GenFile; /** * @generated from message ledger.read.v1.GetBalancesRequest */ type GetBalancesRequest = Message<"ledger.read.v1.GetBalancesRequest"> & { /** * Optional sub-account to scope balances to. If omitted, balances are * returned for the authenticated root account derived from the JWT or API * key. The logical account id itself is always derived from the caller's JWT * or API key, not from this payload. * * @generated from field: optional fixed64 subaccount_id = 1; */ subaccountId?: bigint | undefined; }; /** * Describes the message ledger.read.v1.GetBalancesRequest. * Use `create(GetBalancesRequestSchema)` to create a new message. */ declare const GetBalancesRequestSchema: GenMessage; /** * Fixed-size representation for balances (for Protobuf/WS clients). * Uses common U128 messages for amounts to keep schema tidy and consistent. * * @generated from message ledger.read.v1.AssetBalance */ type AssetBalance = Message<"ledger.read.v1.AssetBalance"> & { /** * Public unified asset id. Resolve symbol from SpotConfig; U128 amounts in * this message always use fixed 18-decimal ledger scale. * * @generated from field: uint32 asset_id = 1; */ assetId: number; /** * Trading balance at fixed 18-decimal ledger scale. * * @generated from field: polyester.type.v1.U128 trading = 2; */ trading?: U128 | undefined; /** * Funding balance at fixed 18-decimal ledger scale. * * @generated from field: polyester.type.v1.U128 funding = 3; */ funding?: U128 | undefined; /** * Reserved amount in the trading bucket at fixed 18-decimal ledger scale. * * @generated from field: polyester.type.v1.U128 reserved = 4; */ reserved?: U128 | undefined; /** * Amount currently available for new trading activity at fixed 18-decimal * ledger scale. This value already accounts for active reservations. * * @generated from field: polyester.type.v1.U128 available = 5; */ available?: U128 | undefined; /** * Opaque monotonic revision for the atomic trading, reserved, and available * values. Higher means newer; zero means no trading state has been observed. * * @generated from field: uint64 trading_revision = 6; */ tradingRevision: bigint; /** * Opaque monotonic revision for the funding value. Higher means newer; zero * means no funding state has been observed. * * @generated from field: uint64 funding_revision = 7; */ fundingRevision: bigint; }; /** * Describes the message ledger.read.v1.AssetBalance. * Use `create(AssetBalanceSchema)` to create a new message. */ declare const AssetBalanceSchema: GenMessage; /** * @generated from message ledger.read.v1.GetBalancesResponse */ type GetBalancesResponse = Message<"ledger.read.v1.GetBalancesResponse"> & { /** * One entry for every supported unified asset, including assets with zero * balances. Sorted by available trading amount (highest first), then by * asset symbol alphabetically. * * @generated from field: repeated ledger.read.v1.AssetBalance balances = 1; */ balances: AssetBalance[]; }; /** * Describes the message ledger.read.v1.GetBalancesResponse. * Use `create(GetBalancesResponseSchema)` to create a new message. */ declare const GetBalancesResponseSchema: GenMessage; /** * @generated from message ledger.read.v1.GetBalanceHistoryRequest */ type GetBalanceHistoryRequest = Message<"ledger.read.v1.GetBalanceHistoryRequest"> & { /** * Optional sub-account to scope balances to. If omitted, balances are * returned for the authenticated root account derived from the JWT or API * key. The logical account id itself is always derived from the caller's JWT * or API key, not from this payload. * * @generated from field: optional fixed64 subaccount_id = 1; */ subaccountId?: bigint | undefined; /** * History window to return. When unset/UNSPECIFIED, defaults to 1D. * * @generated from field: ledger.read.v1.BalanceRange range = 2; */ range: BalanceRange; /** * Optional public asset filter. When unset/0, returns all assets. * * @generated from field: uint32 ledger = 3; */ ledger: number; /** * Optional subset of account buckets to return. When empty, returns all * account buckets. * * @generated from field: repeated ledger.v1.AccountCode account_codes = 4; */ accountCodes: AccountCode[]; }; /** * Describes the message ledger.read.v1.GetBalanceHistoryRequest. * Use `create(GetBalanceHistoryRequestSchema)` to create a new message. */ declare const GetBalanceHistoryRequestSchema: GenMessage; /** * Columnar balance series payload (scaled integers). * REST renders decimal strings from these values. * * @generated from message ledger.read.v1.BalanceSeries */ type BalanceSeries = Message<"ledger.read.v1.BalanceSeries"> & { /** * public unified asset id * * @generated from field: uint32 asset_id = 1; */ assetId: number; /** * account bucket * * @generated from field: ledger.v1.AccountCode account_code = 2; */ accountCode: AccountCode; /** * Chart balance in asset units scaled by 1e7 (7 decimals). * Values are downscaled from 18-decimal ledger balances for compact charting * and align 1:1 with implicit timestamps. * * @generated from field: repeated uint64 balance_q = 3; */ balanceQ: bigint[]; }; /** * Describes the message ledger.read.v1.BalanceSeries. * Use `create(BalanceSeriesSchema)` to create a new message. */ declare const BalanceSeriesSchema: GenMessage; /** * GetBalanceHistoryResponse returns aligned balance chart series. * * @generated from message ledger.read.v1.GetBalanceHistoryResponse */ type GetBalanceHistoryResponse = Message<"ledger.read.v1.GetBalanceHistoryResponse"> & { /** * Resolved history window. * * @generated from field: ledger.read.v1.BalanceRange range = 1; */ range: BalanceRange; /** * Sampling interval between points, such as "5m" or "1h". * * @generated from field: string bucket = 2; */ bucket: string; /** * First point timestamp in seconds since epoch (UTC). * * @generated from field: fixed32 start_ts_sec = 3; */ startTsSec: number; /** * Last point timestamp in seconds since epoch (UTC). * * @generated from field: fixed32 end_ts_sec = 4; */ endTsSec: number; /** * Number of aligned points in each returned series. * * @generated from field: uint32 points = 5; */ points: number; /** * Balance series ordered by asset ID, then account bucket. * * @generated from field: repeated ledger.read.v1.BalanceSeries series = 6; */ series: BalanceSeries[]; }; /** * Describes the message ledger.read.v1.GetBalanceHistoryResponse. * Use `create(GetBalanceHistoryResponseSchema)` to create a new message. */ declare const GetBalanceHistoryResponseSchema: GenMessage; /** * Account grouping metadata (used when group_by = ACCOUNT). * * @generated from message ledger.read.v1.AccountGrouping */ type AccountGrouping = Message<"ledger.read.v1.AccountGrouping"> & { /** * account bucket code * * @generated from field: uint32 account_code = 1; */ accountCode: number; /** * human-readable name ("funding", "trading") * * @generated from field: string name = 2; */ name: string; }; /** * Describes the message ledger.read.v1.AccountGrouping. * Use `create(AccountGroupingSchema)` to create a new message. */ declare const AccountGroupingSchema: GenMessage; /** * Asset grouping metadata (used when group_by = ASSET). * * @generated from message ledger.read.v1.AssetGrouping */ type AssetGrouping = Message<"ledger.read.v1.AssetGrouping"> & { /** * public asset id (0 for "OTHER" bucket) * * @generated from field: uint32 id = 1; */ id: number; /** * asset symbol ("BTC", "ETH", "OTHER") * * @generated from field: string symbol = 2; */ symbol: string; }; /** * Describes the message ledger.read.v1.AssetGrouping. * Use `create(AssetGroupingSchema)` to create a new message. */ declare const AssetGroupingSchema: GenMessage; /** * Logical account grouping used by root portfolio equity history. * * @generated from message ledger.read.v1.PortfolioAccountGrouping */ type PortfolioAccountGrouping = Message<"ledger.read.v1.PortfolioAccountGrouping"> & { /** * Public account or subaccount ID. Its encoded entity type distinguishes * the master account from an owned subaccount. Omitted for Remaining. * * @generated from field: optional fixed64 account_id = 1; */ accountId?: bigint | undefined; /** * True when this series combines all non-selected owned subaccounts. * * @generated from field: bool remaining = 2; */ remaining: boolean; }; /** * Describes the message ledger.read.v1.PortfolioAccountGrouping. * Use `create(PortfolioAccountGroupingSchema)` to create a new message. */ declare const PortfolioAccountGroupingSchema: GenMessage; /** * Equity history in USDT (or BTC via client-side conversion using btc_prices). * Values are derived from per-asset balances and market prices (close ticks). * * @generated from message ledger.read.v1.GetEquityHistorySeriesRequest */ type GetEquityHistorySeriesRequest = Message<"ledger.read.v1.GetEquityHistorySeriesRequest"> & { /** * Optional sub-account to scope equity to. If omitted, equity is returned for * the authenticated root account derived from the JWT or API key. * * @generated from field: optional fixed64 subaccount_id = 1; */ subaccountId?: bigint | undefined; /** * History window to return. When unset/UNSPECIFIED, defaults to 1D. * * @generated from field: ledger.read.v1.BalanceRange range = 2; */ range: BalanceRange; /** * Optional subset of account buckets. * When empty, server returns both funding and trading. * Only used when group_by = ACCOUNT. * * @generated from field: repeated ledger.v1.AccountCode account_codes = 4; */ accountCodes: AccountCode[]; /** * How to group the equity series. Defaults to ACCOUNT if unspecified. * * @generated from field: ledger.read.v1.EquityGroupBy group_by = 5; */ groupBy: EquityGroupBy; }; /** * Describes the message ledger.read.v1.GetEquityHistorySeriesRequest. * Use `create(GetEquityHistorySeriesRequestSchema)` to create a new message. */ declare const GetEquityHistorySeriesRequestSchema: GenMessage; /** * Columnar equity series payload (scaled integers). * REST renders decimal strings from these values. * * @generated from message ledger.read.v1.EquitySeries */ type EquitySeries = Message<"ledger.read.v1.EquitySeries"> & { /** * Grouping identifier. The serving RPC documents which grouping is returned. * * @generated from oneof ledger.read.v1.EquitySeries.grouping */ grouping: { /** * set when group_by = ACCOUNT * * @generated from field: ledger.read.v1.AccountGrouping account = 1; */ value: AccountGrouping; case: "account"; } | { /** * set when group_by = ASSET * * @generated from field: ledger.read.v1.AssetGrouping asset = 3; */ value: AssetGrouping; case: "asset"; } | { /** * set for root portfolio history * * @generated from field: ledger.read.v1.PortfolioAccountGrouping portfolio_account = 4; */ value: PortfolioAccountGrouping; case: "portfolioAccount"; } | { case: undefined; value?: undefined; }; /** * Equity in quote currency (USDT) scaled by 1e4 (4 decimals). * Values align 1:1 with timestamps. * * @generated from field: repeated sint64 equity_q = 2; */ equityQ: bigint[]; }; /** * Describes the message ledger.read.v1.EquitySeries. * Use `create(EquitySeriesSchema)` to create a new message. */ declare const EquitySeriesSchema: GenMessage; /** * GetEquityHistorySeriesResponse returns aligned equity chart series. * * @generated from message ledger.read.v1.GetEquityHistorySeriesResponse */ type GetEquityHistorySeriesResponse = Message<"ledger.read.v1.GetEquityHistorySeriesResponse"> & { /** * Resolved history window. * * @generated from field: ledger.read.v1.BalanceRange range = 1; */ range: BalanceRange; /** * Sampling interval between points, such as "5m" or "1h". * * @generated from field: string bucket = 2; */ bucket: string; /** * First point timestamp in seconds since epoch (UTC). * * @generated from field: fixed32 start_ts_sec = 3; */ startTsSec: number; /** * Last point timestamp in seconds since epoch (UTC). * * @generated from field: fixed32 end_ts_sec = 4; */ endTsSec: number; /** * Human-readable quote asset symbol (always "USDT"). * * @generated from field: string quote_asset = 6; */ quoteAsset: string; /** * Number of aligned points in each returned series. * * @generated from field: uint32 points = 7; */ points: number; /** * Equity series ordered by grouping identifier ascending. * * @generated from field: repeated ledger.read.v1.EquitySeries series = 8; */ series: EquitySeries[]; /** * BTC-USDT close price at each timestamp, scaled by 1e9 (same as price_ticks). * Enables client-side conversion to BTC denomination without refetch. * * @generated from field: repeated int64 btc_prices_q = 10; */ btcPricesQ: bigint[]; }; /** * Describes the message ledger.read.v1.GetEquityHistorySeriesResponse. * Use `create(GetEquityHistorySeriesResponseSchema)` to create a new message. */ declare const GetEquityHistorySeriesResponseSchema: GenMessage; /** * Requests root portfolio equity history. * * @generated from message ledger.read.v1.GetPortfolioEquityHistorySeriesRequest */ type GetPortfolioEquityHistorySeriesRequest = Message<"ledger.read.v1.GetPortfolioEquityHistorySeriesRequest"> & { /** * History window to return. When unset/UNSPECIFIED, defaults to 1D. * * @generated from field: ledger.read.v1.BalanceRange range = 1; */ range: BalanceRange; }; /** * Describes the message ledger.read.v1.GetPortfolioEquityHistorySeriesRequest. * Use `create(GetPortfolioEquityHistorySeriesRequestSchema)` to create a new message. */ declare const GetPortfolioEquityHistorySeriesRequestSchema: GenMessage; /** * Root portfolio equity history with aligned, implicit timestamps. * * @generated from message ledger.read.v1.GetPortfolioEquityHistorySeriesResponse */ type GetPortfolioEquityHistorySeriesResponse = Message<"ledger.read.v1.GetPortfolioEquityHistorySeriesResponse"> & { /** * Resolved history window. * * @generated from field: ledger.read.v1.BalanceRange range = 1; */ range: BalanceRange; /** * Sampling interval between points, such as "5m" or "1h". * * @generated from field: string bucket = 2; */ bucket: string; /** * First point timestamp in seconds since epoch (UTC). * * @generated from field: fixed32 start_ts_sec = 3; */ startTsSec: number; /** * Last point timestamp in seconds since epoch (UTC). * * @generated from field: fixed32 end_ts_sec = 4; */ endTsSec: number; /** * Human-readable quote asset symbol (always "USDT"). * * @generated from field: string quote_asset = 5; */ quoteAsset: string; /** * Number of aligned points in each returned series. * * @generated from field: uint32 points = 6; */ points: number; /** * Master account first, followed by up to nine owned subaccounts ordered by * current equity descending, then Remaining when other subaccounts exist. * * @generated from field: repeated ledger.read.v1.EquitySeries series = 7; */ series: EquitySeries[]; /** * BTC-USDT close price at each timestamp, scaled by 1e9 (same as price_ticks). * Enables client-side conversion to BTC denomination without refetch. * * @generated from field: repeated int64 btc_prices_q = 8; */ btcPricesQ: bigint[]; }; /** * Describes the message ledger.read.v1.GetPortfolioEquityHistorySeriesResponse. * Use `create(GetPortfolioEquityHistorySeriesResponseSchema)` to create a new message. */ declare const GetPortfolioEquityHistorySeriesResponseSchema: GenMessage; /** * Current equity for one logical account in the root portfolio. * * @generated from message ledger.read.v1.PortfolioAccountEquity */ type PortfolioAccountEquity = Message<"ledger.read.v1.PortfolioAccountEquity"> & { /** * Public master-account or subaccount ID. * * @generated from field: fixed64 account_id = 1; */ accountId: bigint; /** * Current equity in USDT scaled by 1e4 (4 decimals). * * @generated from field: sint64 equity_q = 2; */ equityQ: bigint; /** * Up to three assets with the highest current equity value, ordered highest * first. Assets without a current value are omitted. * * @generated from field: repeated uint32 top_asset_ids = 3; */ topAssetIds: number[]; }; /** * Describes the message ledger.read.v1.PortfolioAccountEquity. * Use `create(PortfolioAccountEquitySchema)` to create a new message. */ declare const PortfolioAccountEquitySchema: GenMessage; /** * Current aggregate balance and equity for one asset in the root portfolio. * * @generated from message ledger.read.v1.PortfolioAssetEquity */ type PortfolioAssetEquity = Message<"ledger.read.v1.PortfolioAssetEquity"> & { /** * Public unified asset ID. * * @generated from field: uint32 asset_id = 1; */ assetId: number; /** * Combined Funding and Trading balance in asset units scaled by 1e7 * (7 decimals). * * @generated from field: uint64 balance_q = 2; */ balanceQ: bigint; /** * Current equity in USDT scaled by 1e4 (4 decimals). * * @generated from field: sint64 equity_q = 3; */ equityQ: bigint; }; /** * Describes the message ledger.read.v1.PortfolioAssetEquity. * Use `create(PortfolioAssetEquitySchema)` to create a new message. */ declare const PortfolioAssetEquitySchema: GenMessage; /** * Requests a current root portfolio equity snapshot. * * @generated from message ledger.read.v1.GetPortfolioEquitySnapshotRequest */ type GetPortfolioEquitySnapshotRequest = Message<"ledger.read.v1.GetPortfolioEquitySnapshotRequest"> & {}; /** * Describes the message ledger.read.v1.GetPortfolioEquitySnapshotRequest. * Use `create(GetPortfolioEquitySnapshotRequestSchema)` to create a new message. */ declare const GetPortfolioEquitySnapshotRequestSchema: GenMessage; /** * Current root portfolio equity, grouped by logical account and asset. * * @generated from message ledger.read.v1.GetPortfolioEquitySnapshotResponse */ type GetPortfolioEquitySnapshotResponse = Message<"ledger.read.v1.GetPortfolioEquitySnapshotResponse"> & { /** * Human-readable quote asset symbol (always "USDT"). * * @generated from field: string quote_asset = 1; */ quoteAsset: string; /** * Current equity across the master account and all owned subaccounts in USDT, * scaled by 1e4 (4 decimals). * * @generated from field: sint64 total_equity_q = 2; */ totalEquityQ: bigint; /** * Master account first, followed by every owned subaccount ordered by current * equity descending and public ID ascending for ties. * * @generated from field: repeated ledger.read.v1.PortfolioAccountEquity accounts = 3; */ accounts: PortfolioAccountEquity[]; /** * Non-zero asset balances ordered by current equity descending and public * asset ID ascending for ties. * * @generated from field: repeated ledger.read.v1.PortfolioAssetEquity assets = 4; */ assets: PortfolioAssetEquity[]; /** * Current BTC-USDT price scaled by 1e9. Zero when unavailable. * * @generated from field: int64 btc_price_q = 5; */ btcPriceQ: bigint; }; /** * Describes the message ledger.read.v1.GetPortfolioEquitySnapshotResponse. * Use `create(GetPortfolioEquitySnapshotResponseSchema)` to create a new message. */ declare const GetPortfolioEquitySnapshotResponseSchema: GenMessage; /** * @generated from message ledger.read.v1.ListTransfersRequest */ type ListTransfersRequest = Message<"ledger.read.v1.ListTransfersRequest"> & { /** * Optional sub-account to scope transfers to. If omitted, transfers are * listed for the authenticated root account derived from the JWT or API key. * * @generated from field: optional fixed64 subaccount_id = 1; */ subaccountId?: bigint | undefined; /** * Maximum number of transfer rows to return. Defaults to 100 when omitted; * maximum is 1000. * * @generated from field: uint32 limit = 2; */ limit: number; /** * Sort direction. When true, rows are returned newest first; when false, * rows are returned oldest first. * * @generated from field: bool reversed = 3; */ reversed: boolean; /** * Optional lower transfer timestamp bound in microseconds since epoch (UTC), * inclusive. * * @generated from field: uint64 ts_min_us = 4; */ tsMinUs: bigint; /** * Optional upper transfer timestamp bound in microseconds since epoch (UTC), * inclusive. * * @generated from field: uint64 ts_max_us = 5; */ tsMaxUs: bigint; /** * Optional filter by transfer reason. * * @generated from field: ledger.v1.TransferCode transfer_code = 6; */ transferCode: TransferCode; /** * Optional filter by asset ledger. * * @generated from field: uint32 ledger = 7; */ ledger: number; /** * Opaque keyset cursor from a previous response. The cursor is exclusive and * bound to the authenticated account, sub-account scope, filters, timestamp * bounds, and sort direction. * * @generated from field: string page_token = 9; */ pageToken: string; }; /** * Describes the message ledger.read.v1.ListTransfersRequest. * Use `create(ListTransfersRequestSchema)` to create a new message. */ declare const ListTransfersRequestSchema: GenMessage; /** * TransferSide describes one side of a ledger transfer for display. * * @generated from message ledger.read.v1.TransferSide */ type TransferSide = Message<"ledger.read.v1.TransferSide"> & { /** * Display classification for this transfer side. * * @generated from field: ledger.read.v1.TransferSideKind kind = 1; */ kind: TransferSideKind; /** * Public root account or subaccount ID when this side is safe to identify. Never * populated for private counterparties or non-user ledger accounts. * * @generated from field: optional fixed64 account_id = 2; */ accountId?: bigint | undefined; /** * Address for this side when known. For EXTERNAL_ADDRESS this is an * external-chain wallet address from lifecycle correlation; for identifiable * Polyester accounts this is a Polyester smart-account address. * May be empty until the corresponding lifecycle details are available. * * @generated from field: string address = 3; */ address: string; /** * PolyChain-registered external network identifier for EXTERNAL_ADDRESS. * This matches chain.zipper.v1.ChainConfig.chain_id and is not the chain's * native identifier (for example, an EIP-155 id) or the Polyester chain id. * * @generated from field: optional uint32 chain_id = 4; */ chainId?: number | undefined; }; /** * Describes the message ledger.read.v1.TransferSide. * Use `create(TransferSideSchema)` to create a new message. */ declare const TransferSideSchema: GenMessage; /** * TransferRow describes one debit or credit leg of a ledger transfer. * * @generated from message ledger.read.v1.TransferRow */ type TransferRow = Message<"ledger.read.v1.TransferRow"> & { /** * Public unified asset ID. Resolve its symbol through the spot configuration * API. U128 amounts in this row always use a fixed 18-decimal ledger scale. * * @generated from field: uint32 asset_id = 1; */ assetId: number; /** * Transfer amount at fixed 18-decimal ledger scale. * * @generated from field: polyester.type.v1.U128 amount_e18 = 2; */ amountE18?: U128 | undefined; /** * Product reason for this transfer. * * @generated from field: ledger.v1.TransferCode transfer_code = 3; */ transferCode: TransferCode; /** * Account bucket affected by this transfer. * * @generated from field: ledger.v1.AccountCode account_code = 4; */ accountCode: AccountCode; /** * Transfer timestamp in microseconds since epoch (UTC). * * @generated from field: uint64 ts_us = 5; */ tsUs: bigint; /** * Post-transfer balance at fixed 18-decimal ledger scale. * * @generated from field: polyester.type.v1.U128 balance_after_e18 = 9; */ balanceAfterE18?: U128 | undefined; /** * True when this row is the debit leg; false when it is the credit leg. * * @generated from field: bool is_debit = 10; */ isDebit: boolean; /** * Correlation ID used to group related transfer legs. Zero when unavailable. * * @generated from field: uint64 link_id = 11; */ linkId: bigint; /** * Public lifecycle flow ID when this transfer belongs to a chain lifecycle flow. * * @generated from field: string flow_id = 12; */ flowId: string; /** * Debit side of the transfer. This relationship is debit-to-credit rather * than row-relative; use is_debit to determine whether this row is the debit leg. * * @generated from field: ledger.read.v1.TransferSide source = 13; */ source?: TransferSide | undefined; /** * Credit side of the transfer. This relationship is debit-to-credit rather * than row-relative; use is_debit to determine whether this row is the credit leg. * * @generated from field: ledger.read.v1.TransferSide destination = 14; */ destination?: TransferSide | undefined; }; /** * Describes the message ledger.read.v1.TransferRow. * Use `create(TransferRowSchema)` to create a new message. */ declare const TransferRowSchema: GenMessage; /** * ListTransfersResponse contains transfer rows and an optional continuation cursor. * * @generated from message ledger.read.v1.ListTransfersResponse */ type ListTransfersResponse = Message<"ledger.read.v1.ListTransfersResponse"> & { /** * Transfer rows in requested order. * * @generated from field: repeated ledger.read.v1.TransferRow transfers = 1; */ transfers: TransferRow[]; /** * Opaque cursor for the next page. Empty when no more results exist. * * @generated from field: string next_page_token = 3; */ nextPageToken: string; }; /** * Describes the message ledger.read.v1.ListTransfersResponse. * Use `create(ListTransfersResponseSchema)` to create a new message. */ declare const ListTransfersResponseSchema: GenMessage; /** * @generated from message ledger.read.v1.ListHoldsRequest */ type ListHoldsRequest = Message<"ledger.read.v1.ListHoldsRequest"> & { /** * Optional sub-account to scope holds to. If omitted, holds are listed for * the authenticated root account derived from the JWT or API key. * * @generated from field: optional fixed64 subaccount_id = 1; */ subaccountId?: bigint | undefined; /** * Maximum number of holds to return. Defaults to 100 when omitted; maximum is * 1000. * * @generated from field: uint32 limit = 2; */ limit: number; /** * true=newest first; false=oldest first. * * @generated from field: bool reversed = 3; */ reversed: boolean; /** * Opaque keyset cursor from a previous response. The cursor is exclusive and * bound to account, sub-account scope, and sort direction. * * @generated from field: string page_token = 4; */ pageToken: string; }; /** * Describes the message ledger.read.v1.ListHoldsRequest. * Use `create(ListHoldsRequestSchema)` to create a new message. */ declare const ListHoldsRequestSchema: GenMessage; /** * Hold row with compact integers and client-side resolution. * * @generated from message ledger.read.v1.HoldRow */ type HoldRow = Message<"ledger.read.v1.HoldRow"> & { /** * pending transfer id (numeric) * * @generated from field: fixed64 hold_id = 1; */ holdId: bigint; /** * Reserved amount at fixed 18-decimal ledger scale. * * @generated from field: polyester.type.v1.U128 amount_reserved_e18 = 2; */ amountReservedE18?: U128 | undefined; /** * Public unified asset id. * * @generated from field: uint32 asset_id = 3; */ assetId: number; /** * Expiration time in nanoseconds since epoch (UTC). * * @generated from field: uint64 expires_at_ns = 4; */ expiresAtNs: bigint; }; /** * Describes the message ledger.read.v1.HoldRow. * Use `create(HoldRowSchema)` to create a new message. */ declare const HoldRowSchema: GenMessage; /** * @generated from message ledger.read.v1.ListHoldsResponse */ type ListHoldsResponse = Message<"ledger.read.v1.ListHoldsResponse"> & { /** * Hold rows in the sort direction requested by the caller. * * @generated from field: repeated ledger.read.v1.HoldRow holds = 1; */ holds: HoldRow[]; /** * Opaque cursor for the next page. Empty when no more results exist. * * @generated from field: string next_page_token = 2; */ nextPageToken: string; }; /** * Describes the message ledger.read.v1.ListHoldsResponse. * Use `create(ListHoldsResponseSchema)` to create a new message. */ declare const ListHoldsResponseSchema: GenMessage; /** * ErrorDetail is attached to ConnectRPC errors for structured error handling. * Clients can inspect this to get a stable machine-readable error code. * * @generated from message ledger.read.v1.ErrorDetail */ type ErrorDetail = Message<"ledger.read.v1.ErrorDetail"> & { /** * Stable error code matching the REST problem+json "code" field. * * @generated from field: ledger.read.v1.ErrorCode code = 1; */ code: ErrorCode; }; /** * Describes the message ledger.read.v1.ErrorDetail. * Use `create(ErrorDetailSchema)` to create a new message. */ declare const ErrorDetailSchema: GenMessage; /** * Supported history windows for balance charts. * * @generated from enum ledger.read.v1.BalanceRange */ declare enum BalanceRange { /** * @generated from enum value: RANGE_UNSPECIFIED = 0; */ RANGE_UNSPECIFIED = 0, /** * 1 day * * @generated from enum value: DAY_1 = 1; */ DAY_1 = 1, /** * 7 days * * @generated from enum value: DAY_7 = 2; */ DAY_7 = 2, /** * 30 days * * @generated from enum value: DAY_30 = 3; */ DAY_30 = 3, /** * 90 days * * @generated from enum value: DAY_90 = 4; */ DAY_90 = 4, /** * 180 days * * @generated from enum value: DAY_180 = 5; */ DAY_180 = 5, /** * 365 days * * @generated from enum value: DAY_365 = 6; */ DAY_365 = 6 } /** * Describes the enum ledger.read.v1.BalanceRange. */ declare const BalanceRangeSchema: GenEnum; /** * How to group equity series data. * * @generated from enum ledger.read.v1.EquityGroupBy */ declare enum EquityGroupBy { /** * defaults to ACCOUNT * * @generated from enum value: GROUP_BY_UNSPECIFIED = 0; */ GROUP_BY_UNSPECIFIED = 0, /** * group by account bucket * * @generated from enum value: GROUP_BY_ACCOUNT = 1; */ GROUP_BY_ACCOUNT = 1, /** * group by asset (BTC, ETH, etc.) * * @generated from enum value: GROUP_BY_ASSET = 2; */ GROUP_BY_ASSET = 2 } /** * Describes the enum ledger.read.v1.EquityGroupBy. */ declare const EquityGroupBySchema: GenEnum; /** * TransferSideKind identifies the display class for one side of a transfer. * * @generated from enum ledger.read.v1.TransferSideKind */ declare enum TransferSideKind { /** * Transfer side type was not specified. * * @generated from enum value: TRANSFER_SIDE_KIND_UNSPECIFIED = 0; */ TRANSFER_SIDE_KIND_UNSPECIFIED = 0, /** * Polyester funding account. * * @generated from enum value: FUNDING_ACCOUNT = 1; */ FUNDING_ACCOUNT = 1, /** * Polyester trading account. * * @generated from enum value: TRADING_ACCOUNT = 2; */ TRADING_ACCOUNT = 2, /** * External wallet or chain address. The address is lifecycle-derived and may * be empty until ledger-to-lifecycle correlation is projected. * * @generated from enum value: EXTERNAL_ADDRESS = 3; */ EXTERNAL_ADDRESS = 3, /** * Private off-chain counterparty that must not be identified to the caller. * account_id and address are intentionally omitted. * * @generated from enum value: PRIVATE_COUNTERPARTY = 4; */ PRIVATE_COUNTERPARTY = 4, /** * Fee ledger side, for example spot or perp trading fees. * * @generated from enum value: FEE_ACCOUNT = 5; */ FEE_ACCOUNT = 5, /** * System, operator, clearing, or other non-user side. * * @generated from enum value: SYSTEM_ACCOUNT = 6; */ SYSTEM_ACCOUNT = 6 } /** * Describes the enum ledger.read.v1.TransferSideKind. */ declare const TransferSideKindSchema: GenEnum; /** * ErrorCode enumerates stable machine-readable error codes for the Ledger Read * API. These mirror the REST problem+json "code" field for parity between REST * and ConnectRPC clients. * * @generated from enum ledger.read.v1.ErrorCode */ declare enum ErrorCode { /** * @generated from enum value: ERROR_CODE_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: ERROR_CODE_BAD_REQUEST = 1; */ BAD_REQUEST = 1, /** * @generated from enum value: ERROR_CODE_UNAUTHENTICATED = 2; */ UNAUTHENTICATED = 2, /** * @generated from enum value: ERROR_CODE_PERMISSION_DENIED = 3; */ PERMISSION_DENIED = 3, /** * @generated from enum value: ERROR_CODE_NOT_FOUND = 4; */ NOT_FOUND = 4, /** * Missing or invalid account identifier (legacy; used by older endpoints). * * @generated from enum value: ERROR_CODE_MISSING_ACCOUNT_ID = 5; */ MISSING_ACCOUNT_ID = 5, /** * @generated from enum value: ERROR_CODE_INVALID_ACCOUNT_ID = 6; */ INVALID_ACCOUNT_ID = 6, /** * Wallet-specific errors for balance lookups by wallet. * * @generated from enum value: ERROR_CODE_MISSING_WALLET = 7; */ MISSING_WALLET = 7, /** * @generated from enum value: ERROR_CODE_WALLET_RESOLUTION_UNAVAILABLE = 8; */ WALLET_RESOLUTION_UNAVAILABLE = 8, /** * @generated from enum value: ERROR_CODE_WALLET_NOT_FOUND = 9; */ WALLET_NOT_FOUND = 9, /** * Upstream dependency error (e.g., transfers store, wallet resolver). * * @generated from enum value: ERROR_CODE_UPSTREAM_ERROR = 10; */ UPSTREAM_ERROR = 10 } /** * Describes the enum ledger.read.v1.ErrorCode. */ declare const ErrorCodeSchema: GenEnum; /** * LedgerReadService exposes read-only ledger endpoints (balances, history, transfers, holds). * * @generated from service ledger.read.v1.LedgerReadService */ declare const LedgerReadService: GenService<{ /** * Retrieve balance history buckets for an account. * Supports optional subaccount, range, asset, and account-code filters. * * @generated from rpc ledger.read.v1.LedgerReadService.GetBalanceHistory */ getBalanceHistory: { methodKind: "unary"; input: typeof GetBalanceHistoryRequestSchema; output: typeof GetBalanceHistoryResponseSchema; }; /** * Retrieve equity history as columnar series data. * Supports optional subaccount, range, account-code filtering, and grouping by account or asset. * * @generated from rpc ledger.read.v1.LedgerReadService.GetEquityHistorySeries */ getEquityHistorySeries: { methodKind: "unary"; input: typeof GetEquityHistorySeriesRequestSchema; output: typeof GetEquityHistorySeriesResponseSchema; }; /** * Retrieve root portfolio equity history as master, top owned subaccounts, * and an aggregate of the remaining owned subaccounts. Requires an * interactive root-account session; API keys are not supported. * * @generated from rpc ledger.read.v1.LedgerReadService.GetPortfolioEquityHistorySeries */ getPortfolioEquityHistorySeries: { methodKind: "unary"; input: typeof GetPortfolioEquityHistorySeriesRequestSchema; output: typeof GetPortfolioEquityHistorySeriesResponseSchema; }; /** * Retrieve current root portfolio equity grouped by logical account and * asset. Requires an interactive root-account session; API keys are not * supported. * * @generated from rpc ledger.read.v1.LedgerReadService.GetPortfolioEquitySnapshot */ getPortfolioEquitySnapshot: { methodKind: "unary"; input: typeof GetPortfolioEquitySnapshotRequestSchema; output: typeof GetPortfolioEquitySnapshotResponseSchema; }; /** * List finalized transfer history for an account. * Supports optional subaccount, asset, ordering, and cursor filters. * * @generated from rpc ledger.read.v1.LedgerReadService.ListTransfers */ listTransfers: { methodKind: "unary"; input: typeof ListTransfersRequestSchema; output: typeof ListTransfersResponseSchema; }; /** * ListHolds returns pending holds with integer amounts (u128) and asset ids. * * @generated from rpc ledger.read.v1.LedgerReadService.ListHolds */ listHolds: { methodKind: "unary"; input: typeof ListHoldsRequestSchema; output: typeof ListHoldsResponseSchema; }; /** * Retrieve the latest balances for an account. * Supports optional subaccount scoping and returns asset symbols with decimal amounts on REST. * * @generated from rpc ledger.read.v1.LedgerReadService.GetBalances */ getBalances: { methodKind: "unary"; input: typeof GetBalancesRequestSchema; output: typeof GetBalancesResponseSchema; }; }>; //#endregion export { AccountGrouping, AccountGroupingSchema, AssetBalance, AssetBalanceSchema, AssetGrouping, AssetGroupingSchema, BalanceRange, BalanceRangeSchema, BalanceSeries, BalanceSeriesSchema, EquityGroupBy, EquityGroupBySchema, EquitySeries, EquitySeriesSchema, ErrorCode, ErrorCodeSchema, ErrorDetail, ErrorDetailSchema, GetBalanceHistoryRequest, GetBalanceHistoryRequestSchema, GetBalanceHistoryResponse, GetBalanceHistoryResponseSchema, GetBalancesRequest, GetBalancesRequestSchema, GetBalancesResponse, GetBalancesResponseSchema, GetEquityHistorySeriesRequest, GetEquityHistorySeriesRequestSchema, GetEquityHistorySeriesResponse, GetEquityHistorySeriesResponseSchema, GetPortfolioEquityHistorySeriesRequest, GetPortfolioEquityHistorySeriesRequestSchema, GetPortfolioEquityHistorySeriesResponse, GetPortfolioEquityHistorySeriesResponseSchema, GetPortfolioEquitySnapshotRequest, GetPortfolioEquitySnapshotRequestSchema, GetPortfolioEquitySnapshotResponse, GetPortfolioEquitySnapshotResponseSchema, HoldRow, HoldRowSchema, LedgerReadService, ListHoldsRequest, ListHoldsRequestSchema, ListHoldsResponse, ListHoldsResponseSchema, ListTransfersRequest, ListTransfersRequestSchema, ListTransfersResponse, ListTransfersResponseSchema, PortfolioAccountEquity, PortfolioAccountEquitySchema, PortfolioAccountGrouping, PortfolioAccountGroupingSchema, PortfolioAssetEquity, PortfolioAssetEquitySchema, TransferRow, TransferRowSchema, TransferSide, TransferSideKind, TransferSideKindSchema, TransferSideSchema, file_ledger_read_v1_ledger_read, ledger_read_pb_d_exports }; //# sourceMappingURL=ledger_read_pb.d.ts.map