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

Kupo x Hydra #117

Merged
merged 23 commits into from
Oct 13, 2023
Merged

Kupo x Hydra #117

merged 23 commits into from
Oct 13, 2023

Commits on Sep 12, 2023

  1. Configuration menu
    Copy the full SHA
    2821a87 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    628da34 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8b7858d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    715dd00 View commit details
    Browse the repository at this point in the history
  5. Reduce test timeout for Hydra smoke test.

    KtorZ authored and ch1bo committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    74fc7c4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5fa1065 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c2c32af View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2023

  1. Configuration menu
    Copy the full SHA
    fe25c12 View commit details
    Browse the repository at this point in the history
  2. Flip cabal flag production to allow local override

    This way the default is still to compile with -Werror, but it allows a
    local override in a cabal.project.local file with:
    
      constraints:
        kupo -production
    ch1bo committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    3cab669 View commit details
    Browse the repository at this point in the history
  3. Draft a TransactionStore to handle TxValid messages

    We need to keep the transactions around until a SnapshotConfirmed will
    yield a "block" containing them.
    ch1bo committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    cbaf466 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2023

  1. Configuration menu
    Copy the full SHA
    197cf87 View commit details
    Browse the repository at this point in the history
  2. Implement TransactionStore handle

    v0d1ch authored and ch1bo committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    09494b3 View commit details
    Browse the repository at this point in the history
  3. Implement TransactionStore usind a Map

    This should make much of a difference, but is a more idiomatic way to
    store things by key.
    ch1bo committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    297df6d View commit details
    Browse the repository at this point in the history
  4. Add hydra submodule and test decoding of hydra messages

    We are re-using the ServerOutput golden files from the hydra repository
    to test compatibility with the hydra-node websocket API.
    ch1bo committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    d45d143 View commit details
    Browse the repository at this point in the history
  5. Implement more decoders for Hydra messages

    - Stub for TxValid decoder by using empty values (apart from txId)
    - Add confirmedTransactionIds parsing for Snapshot
    v0d1ch authored and ch1bo committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    83c687a View commit details
    Browse the repository at this point in the history
  6. Decode inputs and outputs partially

    This should already give use enough information to index some UTxO in
    the head.
    ch1bo committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    3ff12fd View commit details
    Browse the repository at this point in the history
  7. Decode HeadIsOpen message as multiple "genesis" transactions

    Simulates transactions for each UTxO in the initial snapshot to make
    kupo index this "genesis" block.
    ch1bo committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    478046d View commit details
    Browse the repository at this point in the history
  8. Decode values in Hydra messages

    The decoder is copy & pasted from ogmios with only ada/lovelace needing
    replacing. We should DRY this (or change our apis to be compatible).
    ch1bo committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    77b64aa View commit details
    Browse the repository at this point in the history
  9. Add Hydra command line options

    ch1bo committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    2adcece View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0d1009a View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2023

  1. Rework Hydra transaction store API to use list.

      So that we remove many elements from the store in a single atomic transaction.
    KtorZ committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    35fe6c2 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2023

  1. Configuration menu
    Copy the full SHA
    6a6c767 View commit details
    Browse the repository at this point in the history
  2. Implement manual 'FindIntersection' for Hydra producer.

      We do this by skipping blocks because we don't really have much alternative. This is therefore relatively unsound for very long running head. Though is it more sound that actually replaying all events from that head onto an existing database; so it's kind of a best effort solution.
    KtorZ committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    f28b673 View commit details
    Browse the repository at this point in the history