HomePhabricator

[chronik] implement electrum RPC method blockchain.scripthash.get_history

Description

[chronik] implement electrum RPC method blockchain.scripthash.get_history

Summary:
See https://electrum-cash-protocol.readthedocs.io/en/latest/protocol-methods.html#blockchain.scripthash.get_history

Notable difference between this implementation and Fulcrum:

  • we return an error if the history length is excessive, Fulcrum returns an empty history
  • we don't check if unconfirmed transactions have unconfirmed parents (Fulcrum would set a height of -1 in this case)
  • for now we don't implement Fulcrum's pagination parameters (from_height, to_height) (so we will need to return a version number < 1.5.1)

I do not expect we will ever use the pagination parameters, as specifying a block range does not allow to anticipate in advance the size of the returned history.

Test Plan: ninja check-functional

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D17664

Details

Provenance
PiRKAuthored on Wed, Feb 12, 10:21
PiRKPushed on Sun, Feb 16, 08:07
Reviewer
Restricted Project
Differential Revision
D17664: [chronik] implement electrum RPC method blockchain.scripthash.get_history
Parents
rABC2c29ef6261c7: [avalanche] Improve API for setContenderStatusForLocalWinners
Branches
Unknown
Tags
Unknown