Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add wallet sync_request and full_scan_request functions #1194

Closed

Commits on Mar 25, 2024

  1. feat(chain)!: wrap TxGraph txs with Arc

    Wrapping transactions as `Arc<Transaction>` allows us to share
    transactions cheaply between the chain-source and receiving structures.
    Therefore the chain-source can keep already-fetched transactions (save
    bandwidth) and have a shared pointer to the transactions (save memory).
    
    This is better than the current way we do things, which is to refer back
    to the receiving structures mid-sync.
    
    Documentation for `TxGraph` is also updated.
    evanlinjin committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    9609e3d View commit details
    Browse the repository at this point in the history
  2. feat(chain): add query and query_from methods to CheckPoint

    These methods allow us to query for checkpoints contained within the
    linked list by height. This is useful to determine checkpoints to fetch
    for chain sources without having to refer back to the `LocalChain`.
    
    Currently this is not implemented efficiently, but in the future, we
    will change `CheckPoint` to use a skip list structure.
    evanlinjin committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    b1eeec0 View commit details
    Browse the repository at this point in the history
  3. feat(chain): impl PartialEq on CheckPoint

    We impl `PartialEq` on `CheckPoint` instead of directly on `LocalChain`.
    We also made the implementation more efficient.
    evanlinjin committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    d507e3e View commit details
    Browse the repository at this point in the history
  4. feat(testenv): add make_checkpoint_tip

    This creates a checkpoint linked list which contains all blocks.
    evanlinjin committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    9ad2db3 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. feat(esplora)!: remove EsploraExt::update_local_chain

    Previously, we would update the `TxGraph` and `KeychainTxOutIndex`
    first, then create a second update for `LocalChain`. This required
    locking the receiving structures 3 times (instead of twice, which
    is optimal).
    
    This PR eliminates this requirement by making use of the new `query`
    method of `CheckPoint`.
    
    Examples are also updated to use the new API.
    evanlinjin committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    b3ec1b8 View commit details
    Browse the repository at this point in the history
  2. chore(chain)!: rm missing_heights and missing_heights_from methods

    These methods are no longer needed as we can determine missing heights
    directly from the `CheckPoint` tip.
    evanlinjin committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    7dd98df View commit details
    Browse the repository at this point in the history
  3. feat(testenv): add genesis_hash method

    This gets the genesis hash of the env blockchain.
    evanlinjin committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    a10f14c View commit details
    Browse the repository at this point in the history
  4. test(esplora): add test_finalize_chain_update

    We ensure that calling `finalize_chain_update` does not result in a
    chain which removed previous heights and all anchor heights are
    included.
    evanlinjin committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    f04207d View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. Configuration menu
    Copy the full SHA
    80c4650 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5e169e1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    98508f8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1144f68 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    72c438a View commit details
    Browse the repository at this point in the history