From 7204031c6283cd4ca27ffbeecb3e236c55fdf600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CF=80a?= <76558220+rkdud007@users.noreply.github.com> Date: Fri, 29 Nov 2024 13:50:44 +0900 Subject: [PATCH] bump: v0.9.0 --- .github/workflows/fixtures.yml | 3 +- Cargo.lock | 6 ++-- Cargo.toml | 2 +- README.md | 51 ++-------------------------------- 4 files changed, 7 insertions(+), 55 deletions(-) diff --git a/.github/workflows/fixtures.yml b/.github/workflows/fixtures.yml index 55c55721..ae3a5edd 100644 --- a/.github/workflows/fixtures.yml +++ b/.github/workflows/fixtures.yml @@ -39,9 +39,8 @@ jobs: - name: Clone hdp-cairo repository run: | - git clone -b rpc-adjust https://x-access-token:${{ secrets.REPO_ACCESS_TOKEN }}@github.com/HerodotusDev/hdp-cairo.git hdp-cairo || git clone https://x-access-token:${{ secrets.REPO_ACCESS_TOKEN }}@github.com/HerodotusDev/hdp-cairo.git hdp-cairo + git clone https://x-access-token:${{ secrets.REPO_ACCESS_TOKEN }}@github.com/HerodotusDev/hdp-cairo.git hdp-cairo || git clone https://x-access-token:${{ secrets.REPO_ACCESS_TOKEN }}@github.com/HerodotusDev/hdp-cairo.git hdp-cairo cd hdp-cairo - git checkout rpc-adjust git config user.name github-actions git config user.email github-actions@github.com diff --git a/Cargo.lock b/Cargo.lock index c7f0646c..b0f75b2e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2221,7 +2221,7 @@ dependencies = [ [[package]] name = "hdp" -version = "0.8.0" +version = "0.9.0" dependencies = [ "alloy", "alloy-merkle-tree", @@ -2251,7 +2251,7 @@ dependencies = [ [[package]] name = "hdp-cli" -version = "0.8.0" +version = "0.9.0" dependencies = [ "alloy", "anyhow", @@ -3373,7 +3373,7 @@ dependencies = [ [[package]] name = "private-input-module" -version = "0.8.0" +version = "0.9.0" dependencies = [ "hdp", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 45df2976..b0d6abde 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ members = ["cli", "examples/private-input-module", "hdp"] [workspace.package] edition = "2021" -version = "0.8.0" +version = "0.9.0" license-file = "LICENSE" authors = ["Herodotus Data Processor Team"] repository = "https://github.com/HerodotusDev/hdp" diff --git a/README.md b/README.md index 4817af80..aa963e0c 100644 --- a/README.md +++ b/README.md @@ -101,64 +101,17 @@ Options: hdp cairo compiled program. main entry point -c, --cairo-pie-file Path to save pie file + --proof-mode + Flag to run `cairo-run` in proof mode -h, --help Print help (see more with '--help') ``` -## Integration Testing - -Integration testing in HDP ensures that the functionality of aggregate functions such as `SUM`, `AVG`, `MIN`, `MAX`, and `COUNT` operates correctly across various numeric fields within the blockchain data structure. These functions are designed specifically for numeric data types, ensuring accurate and reliable computations. ### Integration Test The core soundness of HDP relies on generating the correct input file and running the Cairo program. To ensure this, a full integration test flow is necessary to link the pre-processor and processor versions. For continuous integration tests, please refer to the [hdp-test](https://github.com/HerodotusDev/hdp-test) repository as it contains all the cases of supported features in table below. -### Supported Aggregate Functions - -- **SUM, AVG, MIN, MAX, COUNT**: These functions are supported only for fields with numeric values. - -### Context Required Operation - -For a practical example of how to implement context-sensitive operations, refer to the implementation of the `COUNT` function. This example shows how to pass and utilize additional context for operations, which can be particularly useful for conditional processing or complex calculations. - -### Function Support Matrix - -Here is the support matrix indicating which blockchain elements are tested for each aggregate function. The matrix highlights fields where these functions are applicable. - -| Field Description | SUM | AVG | MIN | MAX | COUNT | -| -------------------------------- | --- | --- | --- | --- | ----- | -| `account.nonce` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `account.balance` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `account.storage_root` | - | - | - | - | - | -| `account.code_hash` | - | - | - | - | - | -| `storage.key` (numeric value) | ✅ | ✅ | ✅ | ✅ | ✅ | -| `storage.key` (hash value) | - | - | - | - | - | -| `header.difficulty` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `header.gas_limit` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `header.gas_used` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `header.timestamp` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `header.base_fee_per_gas` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `header.blob_gas_used` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `header.excess_blob_gas` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `header.nonce` | ✅ | ✅ | ✅ | ✅ | ✅ | -| Other `header` elements | - | - | - | - | - | -| `tx.nonce` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.gas_price` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.gas_limit` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.value` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.v` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.r` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.s` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.chain_id` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.max_fee_per_gas` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.max_priority_fee_per_gas` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx.max_fee_per_blob_gas` | ✅ | ✅ | ✅ | ✅ | ✅ | -| Other `tx` elements | - | - | - | - | - | -| `tx_receipt.success` | ✅ | ✅ | ✅ | ✅ | ✅ | -| `tx_receipt.cumulative_gas_used` | ✅ | ✅ | ✅ | ✅ | ✅ | -| Other `tx_receipt` elements | - | - | - | - | - | - -_Note: Fields marked with "-" are not applicable for the specified aggregate functions because they do not contain numeric data or the data type is not suitable for these calculations._ ### Additional Notes