Skip to content

API Endpoint: Get Transfers for Multiple IdentitiesΒ #105

@sallymoc

Description

@sallymoc

Description

The wallet needs to fetch transfer transactions for multiple addresses in a single API call. Currently, the RPC only provides a single-identity endpoint, which forces the wallet to make N sequential/parallel requests (one per seed address). This is inefficient, especially for wallets with many seeds.

The previous qubic.li API provided this via and endpoint which accepted multiple public IDs and returned transactions for all of them in one call. We need a dedicated batch endpoint for transfers that supports the same pagination and filtering options as for a single-identity endpoint.

How the web wallet uses this data

  • The UpdaterService polls this every 60 seconds for all wallet seed addresses to populate the transaction history
  • The BalanceComponent displays these transactions grouped by seed in the "By Epochs" view
  • Pagination params (startTick, endTick) are derived from the archiver status endpoint's processedTickIntervalsPerEpoch
  • Currently the wallet works around the lack of this endpoint by making one request per identity using forkJoin, which is inefficient

Notes

  • No authentication required
  • The pagination and filtering options should behave identically to the existing single-identity
  • A reasonable limit on the number of identities per request should be enforced (e.g. 15 addresses max are currently supported in the official wallets) to prevent abuse

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status

    πŸ“‹ Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions