View Facet Quote

The ViewFacet Quote provides read-only functions for querying quote and position data. It exposes individual quote lookups, paginated position lists for both PartyA and PartyB, pending quote arrays, bitmap-based batch retrieval, and per-quote funding debt calculations. All functions are view and do not modify state.


Overview

The ViewFacet Quote is organized into the following categories:

  • Individual Quote Lookups: Retrieve a single quote by ID, follow the parent chain for partial fills, and get close IDs.

  • PartyA Queries: Quote IDs, quotes, open positions, pending quotes, and position counts for a PartyA.

  • PartyB Queries: Open positions per PartyA, filtered positions by PartyB, pending quotes, and position counts.

  • Bitmap Retrieval: Gas-aware batch retrieval of quotes using a bitmap selector.

  • Funding Debt: Per-quote and summed accumulated funding debt calculations.


Individual Quote Lookups

Function
Parameters
Returns

getQuote(uint256 quoteId)

Quote ID

Full Quote struct

getQuotesByParent(uint256 quoteId, uint256 size)

Starting quote ID, max count

Array of quotes following the parentId chain (partial fill remainders)

getQuoteCloseId(uint256 quoteId)

Quote ID

The current close ID for the quote

getNextQuoteId()

The next quote ID that will be assigned


PartyA Queries

Function
Parameters
Returns

quoteIdsOf(address partyA, uint256 start, uint256 size)

PartyA, pagination

Paginated array of quote IDs associated with PartyA

getQuotes(address partyA, uint256 start, uint256 size)

PartyA, pagination

Paginated array of Quote structs for PartyA

quotesLength(address user)

User address

Total number of quotes associated with the user

getPartyAOpenPositions(address partyA, uint256 start, uint256 size)

PartyA, pagination

Paginated open positions (OPENED, CLOSE_PENDING, CANCEL_CLOSE_PENDING)

partyAPositionsCount(address partyA)

PartyA address

Number of open positions

getPartyAPendingQuotes(address partyA)

PartyA address

Array of pending quote IDs


PartyB Queries

Function
Parameters
Returns

getPartyBOpenPositions(address partyB, address partyA, uint256 start, uint256 size)

PartyB, PartyA, pagination

Paginated open positions for this PartyB-PartyA pair

partyBPositionsCount(address partyB, address partyA)

PartyB, PartyA

Number of open positions for this pair

getPartyBPendingQuotes(address partyB, address partyA)

PartyB, PartyA

Array of pending quote IDs for this pair

getPositionsFilteredByPartyB(address partyB, uint256 start, uint256 size)

PartyB, range

All positions (any status) where PartyB matches, scanned over a quote ID range

getOpenPositionsFilteredByPartyB(address partyB, uint256 start, uint256 size)

PartyB, range

Only open positions (OPENED, CLOSE_PENDING, CANCEL_CLOSE_PENDING) for this PartyB

getActivePositionsFilteredByPartyB(address partyB, uint256 start, uint256 size)

PartyB, range

All non-terminal positions (excludes CANCELED, CLOSED, EXPIRED, LIQUIDATED) for this PartyB

Note: The FilteredByPartyB functions scan over a raw quote ID range (not indexed arrays), so start and size refer to quote IDs, not array indices. These are useful for broad scans but less efficient than the indexed getPartyBOpenPositions.


Bitmap Retrieval

getQuotesWithBitmap()

Retrieves a filtered set of quotes using a bitmap structure. This allows callers to specify exactly which quote IDs to fetch using a compact bit representation. The function is gas-aware — it stops retrieval if remaining gas drops below the specified threshold.

Function Signature:

Parameters:

  • bitmap: A structured bitmap with elements, each containing an offset (starting quote ID) and a 256-bit integer where each set bit indicates a quote to retrieve.

  • gasNeededForReturn: Minimum gas required to complete execution and return data. Prevents starting retrieval that can't be completed.

Returns: Array of Quote structs corresponding to the set bits in the bitmap.


Funding Debt

These functions calculate the accumulated funding debt for individual quotes using the new accumulated funding system. Positive values indicate the quote owes funding; negative values indicate it is owed funding.

Function
Parameters
Returns

getQuoteFundingDebts(uint256[] quoteIds)

Array of quote IDs

Array of funding debts (one per quote, same order)

getSumQuoteFundingDebts(uint256[] quoteIds)

Array of quote IDs

Sum of all funding debts across the provided quotes

Last updated