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

Block Number beacon in cardano transaction #1727

Merged
merged 31 commits into from
Jun 5, 2024

Commits on Jun 4, 2024

  1. Configuration menu
    Copy the full SHA
    ad690a7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f9479f9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    765309d View commit details
    Browse the repository at this point in the history
  4. Partialy adapt aggregator

    Adapt only code where other types don't need to be modified as well.
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    d680428 View commit details
    Browse the repository at this point in the history
  5. Make CardanoTransactionsSignableBuilder use ChainPoint beacon

    Making this change also result in updating `TransactionsImporter` and
    `BlockRangeRootRetriever` traits methods to use a chain point.
    
    Only `mithril-persistence` is adapted to this changes in this commit.
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    b0697b1 View commit details
    Browse the repository at this point in the history
  6. Rename LatestImmutableFileNumber protocol message part to `LatestBl…

    …ockNumber`
    
    Plus add it to the openapi as it was missing.
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    203ceaf View commit details
    Browse the repository at this point in the history
  7. Update BlockScanner signature to 'from BlockNumber until ChainPoint'

    Before it was using an ImmutableFileNumber for both bounds
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    754ca9a View commit details
    Browse the repository at this point in the history
  8. Make CardanoBlockScanner ignore it's upper bound

    As we can't retrieve the immutable file number associated to a block
    number if it's not stored in the database (which will be typically the
    case of the upper bound).
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    cf581e1 View commit details
    Browse the repository at this point in the history
  9. Make CardanoBlockScanner find it's lower bound using a trait

    Ignoring the lower bound given has parameter.
    
    We ignore it since it's a block number and not a immutable file number
    and retrieving the later using the former is difficult since there's no
    available function to do that in the cardano api.
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    a16aef2 View commit details
    Browse the repository at this point in the history
  10. Add get_transaction_highest_block_number to shared CardanoTransacti…

    …onRepository
    
    As it will be needed from now on to compute the lower bound passed to
    the BlockScanner.
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    488cf82 View commit details
    Browse the repository at this point in the history
  11. Adapt Signer to the ChainPoint based Scanner & BlockRange retriever

    With this change the lower bound of the scanner is now based on block
    number instead of immutable file number.
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    017b28b View commit details
    Browse the repository at this point in the history
  12. Update aggregator dependency construction

    * Give the LowerBoundFinder needed by the block scanner
    * Remove the transaction 'store' build since it's already provided by the
      transaction 'repository' build
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    0e1abf4 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    fabb426 View commit details
    Browse the repository at this point in the history
  14. Make aggregator services & cardano transaction artifact builder use C…

    …hainPoint
    
    Note: not compiling, we still need to update the
    `CardanoTransactionsSnapshot`.
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    b005c51 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    3847963 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    0ab07cd View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    ba6f7c9 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    7c7da5a View commit details
    Browse the repository at this point in the history
  19. Remove now unused repository method fetching data using Immutables

    Leaving only one required to compute the immutable block scanner lower
    bound.
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    6eade6c View commit details
    Browse the repository at this point in the history
  20. Simplify CardanoTransaction signed entity type to Epoch,BlockNumber

    Instead of `Epoch,ChainPoint`.
    
    This is because we use this value as the upper bound of the blocks to
    import and can't known easily the associated block hash and slot number
    needed to constitute a ChainPoint (and we only need them for the lower
    bound to allow Pallas to known the starting point).
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    686e219 View commit details
    Browse the repository at this point in the history
  21. Make SignableBuilder use a BlockNumber as target

    This force to make the same change to the `TransactionImporter`,
    `TransactionRetriever`,`BlockScanner` and the
    `CardanoTransactionSnapshot`.
    
    When a lower bound was required this is when we use a
    `ChainPoint`(instead of a block number as before). To do this we added a
    new condition to the `GetCardanoTransactionQuery` that get the
    transactions with the highest block number in db (all transaction with a
    same block number also share their slot number and block hash).
    
    Co-authored-by: Sébastien Fauvel <[email protected]>
    Co-authored-by: Damien Lachaume <[email protected]>
    3 people committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    8d1e1b8 View commit details
    Browse the repository at this point in the history
  22. Transfer immutable offsetting responsability to block scanner

    Since the importer doesn't know anymore about immutable file numbers and
    the current block scanner role is precisely to fetch them for its
    `ImmutableBlockStreamer`.
    
    Co-authored-by: Sébastien Fauvel <[email protected]>
    Co-authored-by: Damien Lachaume <[email protected]>
    3 people committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    dcceb41 View commit details
    Browse the repository at this point in the history
  23. Introduce CardanoTransactionSigning config

    To compute the block number to be signed based on the chain tip.
    
    Co-authored-by: Sébastien Fauvel <[email protected]>
    Co-authored-by: Damien Lachaume <[email protected]>
    3 people committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    e95a839 View commit details
    Browse the repository at this point in the history
  24. Add cardano_transactions_signing_config to Aggregator configuration

    And pass them where needed to deduce a signed entity type from a time
    point.
    
    Also define a default configuration with:
    * `security_parameter`: 3000
    * `step`: 90
    
    End to end use more lax paramters (security param: 20, step: 15) since
    it's far faster and the last transactions we see included have a block
    number not that high (arround ~450).
    Alenar committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    6505bc7 View commit details
    Browse the repository at this point in the history
  25. Cleanup CardanoDbBeacon based certificate & signed entity of CardanoT…

    …ransaction
    
    Co-authored-by: Sébastien Fauvel <[email protected]>
    Co-authored-by: Damien Lachaume <[email protected]>
    3 people committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    865d9f3 View commit details
    Browse the repository at this point in the history
  26. Update aggregator fake default data

    By running its `import.sh` script on a 'run only' end to end.
    
    Co-authored-by: Sébastien Fauvel <[email protected]>
    Co-authored-by: Damien Lachaume <[email protected]>
    3 people committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    a5b5e4c View commit details
    Browse the repository at this point in the history
  27. Update explorer to new CardanoTransaction signed entity beacon

    Co-authored-by: Sébastien Fauvel <[email protected]>
    Co-authored-by: Damien Lachaume <[email protected]>
    3 people committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    fc41440 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. Configuration menu
    Copy the full SHA
    8840169 View commit details
    Browse the repository at this point in the history
  2. Adjustements from PR reviews & fix broken doc tests

    - Aggregator `cardano_transactions_signing_config.step` from 90 to 120.
    - Adjusts/fix multiples comments
    - Add missing types in `mithril-client` re-exported common types.
    
    Co-authored-by: Sébastien Fauvel <[email protected]>
    Co-authored-by: Damien Lachaume <[email protected]>
    3 people committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    c80f17e View commit details
    Browse the repository at this point in the history
  3. PR Review adjusments: enhance tests

    Add a test that check the `get_transaction_highest_chain_point` of
    the `CardanoTransactionRepository` handle correcly the common case of
    multiple transaction with the same chain point.
    
    Clarify cardano transactions artificat builder tests.
    
    Co-authored-by: Sébastien Fauvel <[email protected]>
    Co-authored-by: Damien Lachaume <[email protected]>
    3 people committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    026f3d6 View commit details
    Browse the repository at this point in the history
  4. Upgrade crates versions and update Changelog

    nodes:
    * Mithril-aggregator from `0.5.14` to `0.5.15`
    * Mithril-client from `0.8.1` to `0.8.2`
    * Mithril-client-cli from `0.9.0` to `0.9.1`
    * Mithril-client-wasm from `0.3.1` to `0.3.2`
    * Mithril-common from `0.4.11` to `0.4.12`
    * Mithril-signer from `0.2.139` to `0.2.140`
    
    websites:
    * Mithril-explorer from `0.7.0` to `0.7.1`
    
    internal:
    * Mithril-persistence from `0.2.1` to `0.2.2`
    
    test-lab
    * Mithril-aggregator-fake from `0.3.1` to `0.3.2`
    * Mithril-end-to-end from `0.4.13` to `0.4.14`
    Alenar committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    70a8a61 View commit details
    Browse the repository at this point in the history