Must `/account/coins` support historical coins?

The spec for /account/coins currently (v1.4.8) reads:

Get an array of all unspent coins for an AccountIdentifier and the BlockIdentifier at which the lookup was performed.

This implies to me that historical lookup for coins (for example, "what were the coins at block current_tip - 1k blocks") MUST be supported, which would almost certainly preclude using a backing pruned node for blockchain operations.

Looking at the rosetta-bitcoin implementation however, it seems to me it can’t possibly be returning historical lookups for unspent coins.

So I’m opening up this topic to get some clarification on the /accounts/coins usage. Should it support historical coin enumeration? Or maybe we should gate historical coin enumeration the same way that historical balances are gated (under a given flag that indicates whether the server supports that or not)?

Actually, nevermind this post, I believe I made a mistake in reading the requests.

AccountCoinsRequest doesn’t have a BlockIdentifier, only the response does, so it’s always fetch the current unspent coins.

Great question! As you clarified in your subsequent message, there is no expectation that we can make historical queries on the UTXO set for a particular AccountIdentifier. All we require is that any query of the UTXO set be consistent and return the BlockIdentifier where the query occurred (similar to /account/balance queries at the current block).

If you feel so inclined (it is optional), we also added support for returning the state of the UTXO set including mempool info (applying unconfirmed creation and destruction of Coins to UTXO set). When responding to these queries, you don’t need to populate the BlockIdentifier where the query took place (as it contains a lot of unconfirmed data). It is not assumed that querying the mempool-applied UTXO set is idempotent.