-
Notifications
You must be signed in to change notification settings - Fork 5
feat: support non consecutive blocks ryhope #425
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
Merged
nicholas-mainardi
merged 272 commits into
feat/new_extraction_features
from
feat/support_non_consecutive_blocks_ryhope
Mar 5, 2025
Merged
Changes from all commits
Commits
Show all changes
272 commits
Select commit
Hold shift + click to select a range
799a60f
Merge with main
nicholas-mainardi b26ea94
fix: ORDER BY is not supported
delehef a36fd13
Merge pull request #355 from Lagrange-Labs/feat/drop-scalar-check
nikkolasg dfaa7d7
WiP: keep both queries types in a single test
nicholas-mainardi 8fc299f
Merge branch 'main' into feat/tabular-queries
nicholas-mainardi 76a4bdd
wip
nikkolasg 4f7aec5
compiling
nikkolasg c0bb9a6
Merge branch 'feat/tabular-queries' into feat/unproven-limit-offset-q…
nicholas-mainardi 28a3383
Working intergation test for simple select queries
nicholas-mainardi c3c199d
fmt
nicholas-mainardi 170ad44
Run also commented test cases
nicholas-mainardi 676dfec
Bind matching row keys and results in a single query
nicholas-mainardi 34d88ec
Remove dead code
nicholas-mainardi 689b929
Add distinct to circuit and Parsil
nicholas-mainardi 56e0dde
Support DISTINCT and SELECT * queries in integration test
nicholas-mainardi 17cd47f
Comment out test cases
nicholas-mainardi 84fe37a
passing test
nikkolasg cd59ea3
More complex test case with wildcards
nicholas-mainardi d8bc019
integrated test refactor #1
nikkolasg 1fb227d
refactoring #2 compiling
nikkolasg 735b415
correct size of circuit set
nikkolasg cebaf1c
full refactoring #3
nikkolasg a1274ae
multiplier columns
nikkolasg aee4872
test case for merge
nikkolasg 2ea4e0d
add metadata from contract
nikkolasg 99022b6
merge updates
nikkolasg 1024dbe
default sec cell
nikkolasg abd9989
debug storage root
nikkolasg c7bea49
fixing block
nikkolasg 12e083f
ordered cells
nikkolasg f6a5647
more debug
nikkolasg 4368993
debug
nikkolasg 1d4c10e
fixing vdb row digest
nikkolasg e0ad8d5
correct update depending on type
nikkolasg 8407145
fixing update of mapping
nikkolasg 6352db1
final test
nikkolasg 84cd5cb
handle deletion for single
nikkolasg 619c950
multiple rows
nikkolasg ab88009
Update verifiable-db/src/cells_tree/api.rs
nikkolasg c580c01
Update verifiable-db/src/cells_tree/api.rs
nikkolasg 2c51871
reviews first pass
nikkolasg 8184bd3
correct conditional scalar mul
nikkolasg 8b30e6a
better API
nikkolasg 3b83417
more debug
nikkolasg e5635d0
more debug
nikkolasg 1d05c47
Optimize SQL queries to get Merkle-path
nicholas-mainardi f877735
testing split digest
nikkolasg 90e4d42
with correct name
nikkolasg 5e057ed
more tests
nikkolasg 9020e54
fixes
nikkolasg c90e821
query adaptable
nikkolasg edad5fa
putting back ignoring query
nikkolasg 71c2ce7
Merge branch 'main' into feat/merge_table
nikkolasg 8ce5ca1
Fix non-existence proven node selection
nicholas-mainardi 185ff79
Comment to clarify non-existence node selection logic
nicholas-mainardi 994a115
Check query upper bounds in Parsil + add LIMIT to query if missing
nicholas-mainardi 5fd774f
Refactor revelation APIs to avoid calling ids_for_placeholder_hash
nicholas-mainardi c89fc0f
Add comment for cells tree hash construction
nicholas-mainardi 0f706cf
Fix: ensure we always use the appropriate merge flag in rows tre circ…
nicholas-mainardi 06941a7
Implement the MPT part of generic extraction.
silathdiir 3b368f4
Replace `32` with `MAPPING_LEAF_VALUE_LEN` in column gadget.
silathdiir 84143e8
Replace the wrong index `7 - j` with `NUM_LAST_BITS_LOOKUP_TABLES - 1…
silathdiir 69014f4
Re-use `length_bytes` as `real_len`.
silathdiir 22068c4
Replace `less_than_or_equal_to` with `less_than_or_equal_to_unsafe` i…
silathdiir af66891
Fix to pack `extract_value`.
silathdiir 1fbe615
Delete the wrong addition of `mpt_key` and `offset`.
silathdiir 08f34cd
Replace `UInt256Target::new_from_be_target_limbs` with `new_from_targ…
silathdiir dce73a4
Delete uesless range check for slot and EVM word, since they're hashe…
silathdiir 9c9519a
Fix to pack before digest computation as `D(key_id || pack(left_pad32…
silathdiir 6640d85
Fix to only add values digest if EVM word is zero in leaf mapping cir…
silathdiir 87809b8
Fix to use one field for the prefix `KEY`.
silathdiir 94c9de8
Fix wrong byte order in `unpack_u32_to_u8_target`.
silathdiir 691b69f
Add mapping of mappings leaf circuit.
silathdiir 4f27919
Update storage key.
silathdiir 08642f3
Update values extraction API.
silathdiir c7371b0
Add tests for column and metadata gadgets.
silathdiir 6b8c7af
Add tests for storage key.
silathdiir cdc353b
Add test for leaf single circuit.
silathdiir 7127536
Add test to leaf mapping circuit.
silathdiir e54449a
Add test for leaf mapping of mappings circuit.
silathdiir 0cd9487
Merge branch 'main' into feat/merge_table
nikkolasg 1da45a1
Delete `aggregation type` (`is_simple_aggregation`) in branch circuit.
silathdiir b23465d
Replace `31` with `MAPPING_LEAF_VALUE_LEN - 1`.
silathdiir 46eeeb4
Replace wrong `curve_eq` with `connect_curve_points` in `TestMetadata…
silathdiir 65fe5cf
Replace wrong `curve_eq` with `connect_curve_points` in `TestColumnGa…
silathdiir 5b8ad23
Fix a bug in `ColumnGadget`.
silathdiir 23ecf24
Move common fields to `MetadataGadget`.
silathdiir cd5fa5c
Fix `unpack_u32_to_u8_targets`.
silathdiir 3407665
Fix to only set maximum as `u8::MAX + 8` for `first_bits_5` lookup ta…
silathdiir bc84083
Fix to generic paramters for `impl CircuitLogicWires`.
silathdiir 380be6b
Add API tests.
silathdiir 02290cd
Add simple struct, mapping struct and mapping of mappings to the test…
silathdiir ef7d07b
Update bindings.
silathdiir 43791de
Enable single value extraction in integration test.
silathdiir 08ebeea
Enable mapping value extraction in integration test.
silathdiir 3bd0319
Optimize normalize_left to reduce cost of extract values
nicholas-mainardi 7b63f6e
fmt
nicholas-mainardi 9757f60
Fix the assigment to `evm_word`.
silathdiir 6428a2f
Fix `MAX_COLUMNS` and `MAX_FIELD_PER_EVM` to generic parameters.
silathdiir b7e9ed3
Pass into the extracted column identifier to init `MetadataGadget`.
silathdiir ad4ddd9
Fix `outer_key_id` and `inner_key_id` to `Option` in `StorageSlotInfo…
silathdiir 20f3933
Add test `test_values_extraction_api_serialization`.
silathdiir 32f9837
Remove `evm_word` for generating mapping key identifier.
silathdiir d87b8a6
Fix encoded data.
silathdiir b405f04
Add common functions for metadata and values digest computation.
silathdiir 5916860
Merge branch 'feat/merge_table' into feat/tabular-queries
nicholas-mainardi 7b12a98
Fix to check the expected metadata digest in API test.
silathdiir 1098ce5
Specify `NODE_LEN` to `69` as `MAX_LEAF_NODE_LEN`.
silathdiir 39d522d
Fix build.
silathdiir 635eb56
Clean the current useless code in integration test.
silathdiir 63fc418
Enable rows digest check in integration test.
silathdiir 9002398
Merge branch 'feat/tabular-queries' into feat/unproven-limit-offset-q…
nicholas-mainardi c87856f
Add LIMIT by default only in simple SELECT queries
nicholas-mainardi c7bd811
Avoid running wildcard queries on merged tables
nicholas-mainardi a5a6962
Fix parsil test
nicholas-mainardi 9c325d6
Merge remote-tracking branch 'origin/feat/unproven-limit-offset-queri…
silathdiir e3292a6
Add a new constant `EVM_WORD_LEN` for the slot value length.
silathdiir 0048e0d
Remove `num_actual_columns` from the arguments of `MetadataGadget::ne…
silathdiir ef51ed8
Add check for the parent of a Slot mapping entry, it must be type of …
silathdiir bc90aba
Compute the column information digest in `ColumnInfo` and called in `…
silathdiir de7e002
Fix the Key ID constants to size of Uint32 or Uint64.
silathdiir 8a85e45
Fix `evm_word` to `usize`, key IDs to `u64` and `extracted_column_ide…
silathdiir 896e85a
Fix build.
silathdiir 765731c
Fix tests.
silathdiir e36d424
Fix build.
silathdiir 75937e2
Remove `extracted_column_identifiers` and `evm_word` from metadata co…
silathdiir 5249a29
Fix tests.
silathdiir 83a68e3
Pass `MetadataGadget` to the API functions.
silathdiir ec22c05
Check `values_digest` in `prove_leaf`.
silathdiir ddd0e9e
Replace `key_id` with `value_id` in `value_metadata` function.
silathdiir 96f2223
Fix to place the value column for mappings of simple variables.
silathdiir 7671861
Support mapping of Struct and mapping of mappings for the value metad…
silathdiir 3043229
Update the metadata hash and integration test.
silathdiir 92c73f4
Add `extracted_column_indentifiers` function to `MetadataGadget`.
silathdiir e5c21d1
Fix to check MPT `location` bytes without unpacking.
silathdiir 17680fb
Fix the merge circuit metadata to `D(md_a) + D(md_b)`.
silathdiir 1058717
Fix test.
silathdiir 94dca85
fix: MemoryStorage::all_keys_at should not return dead keys
delehef e58faee
feat: add random_key_at
delehef 3548cc5
Do range-check for the Keccak output which will be converted for Uint…
silathdiir aea77c6
Refactor the assign functions for the simple and mapping slots.
silathdiir 7f9cb61
Update the circuits of cells tree, rows tree and block tree for gener…
silathdiir 63b3b2d
Update tests for cells tree.
silathdiir c7291cf
Update tests for rows tree.
silathdiir d9f8825
Update tests of block tree.
silathdiir f59c5d7
Fix test.
silathdiir e651ab9
Add missing `value` for hash in rows tree.
silathdiir 85cdb54
Merge branch 'feat/merge_table' into feat/tabular-queries
nicholas-mainardi 791ba8a
Merge branch 'feat/tabular-queries' into feat/unproven-limit-offset-q…
nicholas-mainardi 65ff089
Merge branch 'feat/unproven-limit-offset-queries' into generic-mpt-ex…
nicholas-mainardi 5e2df85
Simple Select Queries with Unchecked Offset (#365)
nicholas-mainardi 2717f98
Update verifiable-db/src/row_tree/public_inputs.rs
silathdiir a5ae612
Fix to ensure `extraction_proof.is_merge or rows_tree_proof.multiplie…
silathdiir ca0a971
Fix to use `split_and_accumulate`.
silathdiir 2c94c12
Fix the test coverage for the all cells node circuits.
silathdiir 6b791c9
Remove merge flag in rows tree public inputs.
silathdiir 16bea45
Rename `assign_wires` to `assign`.
silathdiir 1f70eb4
Fix to use `PublicInputs::sample`.
silathdiir 21bb637
Fix to `p.partial`.
silathdiir 0ad3977
Merge remote-tracking branch 'origin/feat/tabular-queries' into gener…
silathdiir 32f4495
Merge remote-tracking branch 'origin/generic-mpt-extraction' into gen…
silathdiir 31f7685
Delete the `ignore` comment for test `isolution`.
silathdiir e37e98e
Fix to use `split_and_accumulate`.
silathdiir 0836ee3
Replace MPT metadata with the counter.
silathdiir aa84a07
Remove `child_metadata_digest` in the cells tree test.
silathdiir 3a686f9
Fix to use `F::from_bool`.
silathdiir d5c9e24
Replace `HashOut<F>` with `HashOutput` in the API functions.
silathdiir 5ce5ca5
Fix test
silathdiir 5483d50
chore: clippy
delehef 93c80de
Update integration test for generic extraction.
silathdiir 60d3f34
[parsil] correctly handle LIMIT/OFFSET
delehef 35d9623
[mp2] use more explicit names
delehef 5bb0490
fix: imports
delehef 2e32687
Merge branch 'main' into feat/tabular-queries
nicholas-mainardi 3644f30
Fix integration test + fmt
nicholas-mainardi 6a27c73
use u32's for offset & limit
delehef ec32679
Fix test failing from time to time
nicholas-mainardi d6cd3ad
Merge remote-tracking branch 'origin/feat/tabular-queries' into gener…
silathdiir a2c4cfc
Remove `bit_offset` in API.
silathdiir 322280b
Merge remote-tracking branch 'origin/generic-mpt-extraction' into gen…
silathdiir 82cc17c
Merge remote-tracking branch 'origin/generic-extraction-tree-creation…
silathdiir d7607cf
Merge remote-tracking branch 'origin/generic-extraction-row-id-update…
silathdiir 9c4ddb7
Rename `Row` to `SecondaryIndexCell`.
silathdiir 4b5dc13
Merge remote-tracking branch 'origin/generic-extraction-tree-creation…
silathdiir 51768ea
Merge remote-tracking branch 'origin/generic-extraction-row-id-update…
silathdiir b33cd73
Combine the single and mapping test cases, and update the merge test …
silathdiir 911aadb
Rename to `ContractController` and update the trait function names.
silathdiir 6b8d4bc
Add TODO to the deprecated `bit_offset`.
silathdiir e2b717c
Fix the wrong log.
silathdiir 302b17e
Add back the MPT key and ptr check.
silathdiir 6155a66
Fix `last_byte_offset` to not restrict the maximum length.
silathdiir 051bf96
Rename `MetadataGadget` to `ColumnsMetadata`, and leave `build` and `…
silathdiir c21fe13
Add more common `_raw` functions for the values extraction identifier…
silathdiir 29fd77b
Remove `TableDimension`.
silathdiir 2d1aa8a
Fix the row unique ID always get from the key ID column.
silathdiir 38d6d30
Fix to the value column as the secondary index column in mapping stru…
silathdiir be3db69
Merge the match arms for mapping update.
silathdiir 973325d
Set to simple rest for the row key.
silathdiir c423611
Fix the slot checking logic in the storage trie.
silathdiir 50a58d9
Refactor the columns metadata and APIs.
silathdiir f53f0ee
Fix test.
silathdiir 45deacf
Fix test.
silathdiir 736d790
Merge remote-tracking branch 'origin/main' into generic-mpt-extraction
silathdiir 4a342a0
Merge remote-tracking branch 'origin/generic-mpt-extraction' into gen…
silathdiir 93e04dc
Merge remote-tracking branch 'origin/generic-extraction-tree-creation…
silathdiir 8e1fb40
Merge remote-tracking branch 'origin/generic-extraction-row-id-update…
silathdiir 29b6ddf
Add mapping of mappings test cases to the integration test.
silathdiir 2c1ee60
Merge remote-tracking branch 'origin/main' into generic-mpt-extraction
silathdiir a139673
Merge remote-tracking branch 'origin/generic-mpt-extraction' into gen…
silathdiir e13b75e
Merge remote-tracking branch 'origin/generic-extraction-tree-creation…
silathdiir a22e6d7
Merge remote-tracking branch 'origin/generic-extraction-row-id-update…
silathdiir 6018cdb
Merge remote-tracking branch 'origin/generic-extraction-integration-t…
silathdiir 8fa830e
Comment out `test_pidgy_pinguin_mapping_slot` test case, and fix clippy.
silathdiir 5719de9
Fix `test_pidgy_pinguin_mapping_slot`.
silathdiir dd0348b
Fix toolchain.
silathdiir 8bbe471
Fix lint.
silathdiir be0c0a1
Merge branch 'main' into generic-mpt-extraction
nicholas-mainardi 41e798a
Merge branch 'generic-mpt-extraction' into generic-extraction-tree-cr…
nicholas-mainardi 55a2a14
Merhe with generic-mpt-extraction
nicholas-mainardi de716a7
Merge branch 'generic-extraction-tree-creation' into generic-extracti…
nicholas-mainardi 47a5784
Merge branch 'generic-extraction-row-id-update' into generic-extracti…
nicholas-mainardi 279b340
Merge branch 'generic-extraction-integration-test' into generic-extra…
nicholas-mainardi d981c7a
fmt
nicholas-mainardi 7f610bc
Support non-contiguous block numbers
nicholas-mainardi c59a1e1
fmt + clippy
nicholas-mainardi cc7fd0b
Make current_epoch in EpochStorage trait return error
nicholas-mainardi 72c45e9
fmt
nicholas-mainardi 2bf0658
Fix table name provided to core_index_keys
nicholas-mainardi cf1c60f
Avoid expenmsive JOIN in some queries
nicholas-mainardi cfc65ad
Optimize row cache SQL queries
nicholas-mainardi 652e732
Optimize JOIN wide lineage rows tree + fix eth test
nicholas-mainardi 64a30c9
Address comments
nicholas-mainardi 2d99d5e
Optimize InMemoryEpochMapper + imporve handling of incremental user e…
nicholas-mainardi f5f7db2
Add untracked file
nicholas-mainardi 91191ae
Add maximum size to epoch mapper cache
nicholas-mainardi 869a968
fmt
nicholas-mainardi e548c1e
Improve fetch_many_at
nicholas-mainardi 8b591ab
Address comments
nicholas-mainardi 57c5c10
Add indexes + optimizes bracketer secondary index
nicholas-mainardi 33077f4
fmt
nicholas-mainardi 7ffb465
Fix pidgy_pinguit test
nicholas-mainardi 8eab5b5
Split bracketer queries for performance
nicholas-mainardi ea59525
fmt
nicholas-mainardi 737079d
Improve comments to bracketer secondary index
nicholas-mainardi 1298394
Fix after rebase
nicholas-mainardi 73540da
fmt
nicholas-mainardi cc8326c
Change indexing integration test to support non-consecutive blocks
nicholas-mainardi 2f13f53
Query in integration test compatible with non-conseuctive blocks
nicholas-mainardi 54a23a2
Fix typo in bracketer_primary_index query
nicholas-mainardi 981a1d3
Merge branch 'feat/new_extraction_features' into feat/support_non_con…
nicholas-mainardi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,60 @@ | ||
//! Module to handle the block number as a primary index | ||
use ryhope::tree::{sbbst, TreeTopology}; | ||
|
||
/// The index tree when the primary index is the block number of a blockchain is a sbbst since it | ||
/// is a highly optimized tree for monotonically increasing index. It produces very little | ||
/// tree-manipulating operations on update, and therefore, requires the least amount of reproving | ||
/// when adding a new index. | ||
/// NOTE: when dealing with another type of index, i.e. a general index such as what can happen on | ||
/// a result table, then this tree does not work anymore. | ||
pub type BlockTree = sbbst::Tree; | ||
use anyhow::anyhow; | ||
use ryhope::{ | ||
storage::{pgsql::PgsqlStorage, RoEpochKvStorage}, | ||
tree::{sbbst, TreeTopology}, | ||
MerkleTreeKvDb, | ||
}; | ||
|
||
use crate::query::planner::TreeFetcher; | ||
|
||
use super::index::IndexNode; | ||
|
||
/// The index tree when the primary index is an epoch in a time-series DB, like the block number for a blockchain. | ||
/// It is a sbbst since it is a highly optimized tree for monotonically increasing index. | ||
/// It produces very little tree-manipulating operations on update, and therefore, requires the least amount | ||
/// of reproving when adding a new index. | ||
/// NOTE: it is still required that monotonically increasing indexes are inserted in the tree, | ||
/// i.e. a general index such as what can happen on a result table wouldn't work with this tree. | ||
pub type BlockTree = sbbst::EpochTree; | ||
/// The key used to refer to a table where the block number is the primary index. | ||
pub type BlockTreeKey = <BlockTree as TreeTopology>::Key; | ||
/// Just an alias that give more meaning depending on the context | ||
pub type BlockPrimaryIndex = BlockTreeKey; | ||
|
||
pub type IndexStorage = PgsqlStorage<BlockTree, IndexNode<BlockPrimaryIndex>, false>; | ||
pub type MerkleIndexTree = MerkleTreeKvDb<BlockTree, IndexNode<BlockPrimaryIndex>, IndexStorage>; | ||
|
||
/// Get the previous epoch of `epoch` in `tree` | ||
pub async fn get_previous_epoch( | ||
tree: &MerkleIndexTree, | ||
epoch: BlockPrimaryIndex, | ||
) -> anyhow::Result<Option<BlockPrimaryIndex>> { | ||
let current_epoch = tree.current_epoch().await?; | ||
let epoch_ctx = tree | ||
.node_context(&epoch) | ||
.await? | ||
.ok_or(anyhow!("epoch {epoch} not found in the tree"))?; | ||
|
||
Ok(tree | ||
.get_predecessor(&epoch_ctx, current_epoch) | ||
.await | ||
.map(|(ctx, _)| ctx.node_id)) | ||
} | ||
|
||
/// Get the next epoch of `epoch` in `tree` | ||
pub async fn get_next_epoch( | ||
tree: &MerkleIndexTree, | ||
epoch: BlockPrimaryIndex, | ||
) -> anyhow::Result<Option<BlockPrimaryIndex>> { | ||
let current_epoch = tree.current_epoch().await?; | ||
let epoch_ctx = tree | ||
.node_context(&epoch) | ||
.await? | ||
.ok_or(anyhow!("epoch {epoch} not found in the tree"))?; | ||
|
||
Ok(tree | ||
.get_successor(&epoch_ctx, current_epoch) | ||
.await | ||
.map(|(ctx, _)| ctx.node_id)) | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change comments above which is still very much linked to sequential usecase
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done in commit 23affb5