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 ecMulG2 precompile #220

Merged
merged 5 commits into from
Feb 2, 2024
Merged

Add ecMulG2 precompile #220

merged 5 commits into from
Feb 2, 2024

Conversation

ColoCarletti
Copy link
Contributor

@ColoCarletti ColoCarletti commented Jan 31, 2024

Description

This pull request introduces a precompile for efficiently computing scalar multiplication of a point on the D-type sextic twist of the BN254 curve over Fp2. The curve is defined by the equation:

$E' : y^2 = x^3 + (19485874751759354771024239261021720505790618469301721065564631296452457478373 + 266929791119991161246907387137283842545076965332900288569378510910307636690 u)$

The addition operation involves a point where each coordinate $(X, Y)$ is represented as elements of Fp2 and a sacalar $k$.

For example:

$A = ( X, Y)$

Where:

$X = (aX_0 + aX_1 * u)$
$Y = (aY_0 + aY_1 * u)$

The calldata expects input parameters:

$aX_0,aX_1,aY_0,aY_1,k$

And returns:

$cX_0,cX_1,cY_0,cY_1$

Test

First run the local node

make run-node

Once the node us up run:

make test PRECOMPILE=ecmul_g2

@ColoCarletti ColoCarletti changed the title Add ec mul g2 precompile Add ecMulG2 precompile Jan 31, 2024
@ColoCarletti ColoCarletti marked this pull request as ready for review January 31, 2024 12:30
@fkrause98
Copy link
Contributor

Some tests are failing for me, I've double checked cloning from zero and trying to run them,
maybe there are some files without commiting?

cd tests && \
cargo test ecmul_g2

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 36 filtered out; finished in 0.00s


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 196 filtered out; finished in 0.00s


running 10 tests
test ecmul_g2_p_times_two_is_2p ... FAILED
test ecmul_g2_p_infinity_times_0_is_infinity ... FAILED
test ecmul_g2_p_infinity_times_k_is_infinity ... FAILED
test ecmul_g2_p_times_one_is_p ... FAILED
test ecmul_g2_valid_1 ... FAILED
test ecmul_g2_invalid_p_not_in_curve ... ok
test ecmul_g2_p_times_zero_is_infinity ... FAILED
test ecmul_g2_valid_2 ... FAILED
test ecmul_g2_valid_3 ... FAILED
test ecmul_g2_coordinates_not_in_field ... ok

failures:

---- ecmul_g2_p_times_two_is_2p stdout ----
thread 'ecmul_g2_p_times_two_is_2p' panicked at tests/test_utils.rs:40:10:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- ecmul_g2_p_infinity_times_0_is_infinity stdout ----
thread 'ecmul_g2_p_infinity_times_0_is_infinity' panicked at tests/test_utils.rs:40:10:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

---- ecmul_g2_p_infinity_times_k_is_infinity stdout ----
thread 'ecmul_g2_p_infinity_times_k_is_infinity' panicked at tests/test_utils.rs:40:10:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

---- ecmul_g2_p_times_one_is_p stdout ----
thread 'ecmul_g2_p_times_one_is_p' panicked at tests/test_utils.rs:40:10:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

---- ecmul_g2_valid_1 stdout ----
thread 'ecmul_g2_valid_1' panicked at tests/test_utils.rs:40:10:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

---- ecmul_g2_p_times_zero_is_infinity stdout ----
thread 'ecmul_g2_p_times_zero_is_infinity' panicked at tests/test_utils.rs:40:10:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

---- ecmul_g2_valid_2 stdout ----
thread 'ecmul_g2_valid_2' panicked at tests/test_utils.rs:40:10:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

---- ecmul_g2_valid_3 stdout ----
thread 'ecmul_g2_valid_3' panicked at tests/test_utils.rs:40:10:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }


failures:
    ecmul_g2_p_infinity_times_0_is_infinity
    ecmul_g2_p_infinity_times_k_is_infinity
    ecmul_g2_p_times_one_is_p
    ecmul_g2_p_times_two_is_2p
    ecmul_g2_p_times_zero_is_infinity
    ecmul_g2_valid_1
    ecmul_g2_valid_2
    ecmul_g2_valid_3

test result: FAILED. 2 passed; 8 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s


Copy link
Contributor

@fkrause98 fkrause98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@IAvecilla
Copy link
Contributor

IAvecilla commented Feb 1, 2024

Can we change this unwrap in the test_utils file:

fn write_line_to_report(used_gas: u32, report_to_write: &str) {
    let mut file = OpenOptions::new()
        .append(true)
        .open(report_to_write)
        .unwrap()
        ...
}

to something like:

fn write_line_to_report(used_gas: u32, report_to_write: &str) {
    let mut file = OpenOptions::new()
        .append(true)
        .open(report_to_write)
        .expect(&format!("Unable to write the gas report in {report_to_write:?}"));
        ...
}

Just to better indicate that the error happens in the gas reports generation and make it easier to understand.
In the future we should pass the test besides the failure on writing the report

@ColoCarletti ColoCarletti merged commit 9469bb6 into main Feb 2, 2024
3 checks passed
@ColoCarletti ColoCarletti deleted the add_ecMulG2_precompile branch February 2, 2024 13:49
MauroToscano added a commit that referenced this pull request Feb 28, 2024
commit fb635d127e50f6c69e5ff01b08d01460456f1471
Author: Ivan Litteri <[email protected]>
Date:   Wed Jan 24 09:49:29 2024 -0300

    Rename ModExp precompile

commit 969a0adbeff2899bee2d48a7f20a8dc7539a1f98
Author: Ivan Litteri <[email protected]>
Date:   Wed Jan 24 09:28:54 2024 -0300

    Update zksolc version for yul compilation

commit ec0e13443e585d95423a34ad6b8a4b8c35bd59ac
Author: Ivan Litteri <[email protected]>
Date:   Mon Jan 22 15:51:46 2024 -0300

    Fix precompiles addresses

commit eef2671878bb3fbc12ab3729e5cb726fcd86c791
Author: Ivan Litteri <[email protected]>
Date:   Mon Jan 22 15:31:38 2024 -0300

    Update zksolc version

commit 71dbbca66cea7a123157718477466ad481ac078a
Author: Ivan Litteri <[email protected]>
Date:   Mon Jan 22 15:24:47 2024 -0300

    Add LambdaClass precompiles

commit ca13f687fe10b0a152775a3e13025cef0d14bc0d
Author: Ivan Litteri <[email protected]>
Date:   Mon Jan 22 14:29:54 2024 -0300

    Fix result bytes

commit 8f1d98294e265f6ba49920f3c1795f9946dae94e
Author: Ivan Litteri <[email protected]>
Date:   Mon Jan 22 13:52:29 2024 -0300

    Concat  before output

commit 6ee7d29e876b75506f58355218e1ea755a315d17
Author: Nisheeth Barthwal <[email protected]>
Date:   Sat Dec 23 00:53:19 2023 +0100

    feat: move storage view, allow ignoring bootloader execution during tx execution (#251)

    * move storage view to test node

    Signed-off-by: Danil <[email protected]>

    * Update era

    Signed-off-by: Danil <[email protected]>

    * add modified keys and do not execute bootloader

    Signed-off-by: Danil <[email protected]>

    * Load l1 batch from local

    Signed-off-by: Danil <[email protected]>

    * Update era

    Signed-off-by: Danil <[email protected]>

    * Fix nits

    Signed-off-by: Danil <[email protected]>

    * Adapt tests

    Signed-off-by: Danil <[email protected]>

    * Introduce bool

    Signed-off-by: Danil <[email protected]>

    * Update era

    Signed-off-by: Danil <[email protected]>

    * remove modified keys

    * fix test

    * fix block production

    ---------

    Signed-off-by: Danil <[email protected]>
    Co-authored-by: Danil <[email protected]>

commit 578cdbd97ef5f2bf3ea3351f0cc68ebce03457b0
Author: Nicolas Villanueva <[email protected]>
Date:   Fri Dec 22 11:43:56 2023 +0000

    feat: Add support for sepolia testnet (#250)

commit cc2ab1bb031bbd72b2bef2f7b615c4044261f2bf
Author: Peter Straus <[email protected]>
Date:   Thu Dec 21 22:28:34 2023 +0100

    fix: update typo in link to dev discussion (#243)

commit e91949fcc7f44884ca6098419be7bb11d155aad6
Author: Marcin M <[email protected]>
Date:   Wed Dec 20 11:00:13 2023 +0100

    feat: Added detailed information on amount of pubdata per write (#248)

    * moved storage log related stuff to separate file

    * Added info about pubdata

    * review

commit b4a7c065d60afa35f7a2713c01685b8d91f9598b
Author: Marcin M <[email protected]>
Date:   Tue Dec 19 15:14:42 2023 +0100

    fix: Fix issue with incorrect recognition of initial writes (#247)

    * code fix

    * added test

commit 7a4722fe741009a4a46247438bfa09680572a2dd
Author: Nicolas Villanueva <[email protected]>
Date:   Fri Dec 15 20:00:51 2023 +0000

    chore: Add Rich Accounts with mnemonic phrases (#241)

    * feat: Add rich accounts with mnemonic phrases. Update SUPPORTED_APIS with eth_sendTransaction

    * fix lint

commit 104da8e15a9074c97a878bc126f68dcbd2498810
Author: AntonD3 <[email protected]>
Date:   Sat Dec 16 01:34:54 2023 +0800

    feat: boojum integration and eth_sendTransaction support (#235)

    * Integrate boojum

    * Account impersonating using bootloader

    * eth_sendTransaction + some fixes

    * Bootloader impersonating fixes

    * Update compile-yul script

    * fix typo, cargo fmt

    * Pin commit for the zksync-era dependency

    * fix: support EIP-1559 fields for eth_sendTransaction (#192)

    * feat: boojum integration sync with main (#200)

    * chore: adds proper null response to zks_batchDetails method (#152)

    * fix: add back call stacks, console logs, and correct call stack count (#155)

    * fix: add back call stacks, console logs, and correct call stack count

    * Add comments. Fix typo.

    * fix lint

    * feat: add eth_getStorageAt (#134)

    * add get_storage_at

    * add eth_getStorageAt

    * limit max archived blocks to 128

    * remove ethers-contract dep

    * feat: add evm_snapshot/revert (#158)

    * fix: update compiled smart contracts to latest (#157)

    * Update compile smart contracts checked into source
    * Hide Notes section of PR template by default
    * Update e2e tests to also be run on MacOS
    * Add commented link to YouTube video at the top of release notes
    * Limit rust/clippy linting to only the era_test_node package/crate
    * Re-enable e2e test for zks_estimateFee
    * Add more trace level logs for gas estimation

    * feat: add eth_getTransactionByBlockHashAndIndex and eth_getTransactionByBlockNumberAndIndex (#159)

    * feat: add eth_protocolVersion (#161)

    * feat: impl debug_traceCall (#151)

    * feat: impl debug_traceCall

    * feat: adds test contract dir

    * add refresh_test_contracts in Makefile

    * fix: rename contacts_for_l2_call -> contracts_for_l2_call

    * move not_implemented() to crate::utils, replace usage of macro

    ---------

    Co-authored-by: Nicolas Villanueva <[email protected]>

    * feat: Add well-known log selectors to console output (#162)

    * add aarch64-unknown-linux-gnu target (#164)

    * feat: add rustbook (#163)

    * fix: install mdbook for ci (#169)

    * feat: impl debug_traceTransaction (#165)

    * feat: impl `debug_traceBlockByHash` and `debug_traceBlockByNumber` (#168)

    * fix: update zksync-era deps to v16.0.0 (#173)

    * chore: remove hub usage in favour of gh for draft releases (#175)

    * feat: add hardhat_setCode (#171)

    * feat: impl `zks_getTransactionDetails` (#176)

    * feat: forbid ".only" from e2e-tests (#179)

    * feat: impl zks_getBlockDetails (#182)

    * feat: support builtInWithoutSecurity option (#186)

    * feat: add zks_getBridgeContracts (#184)

    * feat: add zks_getBytecodeByHash (#180)

    * feat: refactor logging to use tracing crate and make it dynamic (#187)

    * feat: impl zks_getRawBlockTransactions (#185)

    * fix: unit-tests fixed on main (#193)

    * fix: fix forking for [email protected] (#194)

    * fix: Release drafts now attach files correctly (#196)

    * contracts_for_l2_call was missed during merge

    * Fix compilation errors

    * Fix tests

    ---------

    Co-authored-by: Dustin Brickwood <[email protected]>
    Co-authored-by: Nicolas Villanueva <[email protected]>
    Co-authored-by: Nisheeth Barthwal <[email protected]>
    Co-authored-by: George W <[email protected]>

    * fix: boojum integration nightly rust (#177)

    Co-authored-by: MexicanAce <[email protected]>

    * Merge main

    * latest vm

    * Small refactoring

    * System contracts 18.4.0

    * EcAdd, EcMul, rebuild system contracts

    * Small change in system-contracts/VERSION.md

    * Update zksync-era dependency

    * Fix test

    * Prepare to merge into main

    * Fix e2e tests

    * Restore zksync-era version

    * Sync system-contracts/bootloader directory

    * Impersonating bootloader small fix

    * system-contracts/VERSION.md formatting

    * Update DefaultAccount.json bytecode to match source

    * Update VERSION.md comments and add supported versions missing

    * fix lint

    * Fix BuiltInNoSecurity option. Fix unit tests. Fix e2e tests. Add test for hardhat_impersonateAccount

    * Refresh bytecode of all contracts from source

    * fix lint

    * fix lint

    ---------

    Co-authored-by: Dustin Brickwood <[email protected]>
    Co-authored-by: Nicolas Villanueva <[email protected]>
    Co-authored-by: Nisheeth Barthwal <[email protected]>
    Co-authored-by: George W <[email protected]>

commit 956b134fd1c96b1aea45cb8a647efdf783a91065
Author: Nisheeth Barthwal <[email protected]>
Date:   Fri Dec 15 17:23:38 2023 +0100

    chore: remove foundry smoke test (#240)

commit f900e21257895f5a4f9ee891b44e6eb486dc3b26
Author: Dustin Brickwood <[email protected]>
Date:   Wed Dec 13 11:57:37 2023 -0600

    chore: update nightly to reflect foundry-zksync (#238)

commit 21b48af90a9f9d98ec38cb93a32c119a3266f401
Author: Nisheeth Barthwal <[email protected]>
Date:   Thu Dec 7 18:59:59 2023 +0100

    feat: allow returning data from transactions (#232)

    * return data from transactions

    * remove console lines

    * Update etc/system-contracts/contracts/DefaultAccountTxResult.sol

    Co-authored-by: Nicolas Villanueva <[email protected]>

    * update docs

    * add debug profile to vscode debug

    * add to both debug tasks

    * merge system_contract::Options, add debug markers

    * cleanup

    * remove unused file

    * typo

    ---------

    Co-authored-by: Nicolas Villanueva <[email protected]>

commit 64835d25a6e4b1540a091ff0d805b01227213969
Author: Danil <[email protected]>
Date:   Fri Dec 1 13:46:03 2023 +0100

    feat: Allow to pass custom tracers to run_raw_tx (#231)

    Signed-off-by: Danil <[email protected]>

commit 79f27e9b9339f8555e923eeb57a216dd388fbfbc
Author: Danil <[email protected]>
Date:   Thu Nov 30 18:00:39 2023 +0100

    feat(vm): Adapt code for the latest zksync era changes (#230)

    Signed-off-by: Danil <[email protected]>

commit 533053ed97cb0ae24941821bd08eca0b5993563e
Author: Dustin Brickwood <[email protected]>
Date:   Wed Nov 29 13:45:36 2023 -0600

    chore: bump cargo toml for upcoming `0.1.0-alpha.12` release (#227)

    * chore: bump cargo toml for upcoming release

    * chore: bump cargo toml for upcoming release

commit 53077346551ea7f45aa1f7b44e85192be7ddbfe9
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Nov 29 02:59:48 2023 -0800

    feat: Update event formatter and observability formatter (#226)

commit 7f68fc498fe618834a890cbd56a5d35b4c9bc7f7
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Nov 27 03:52:00 2023 -0800

    feat: Implement web3_clientVersion (#223)

    * feat: Implement web3_clientVersion

    * lint fix

    ---------

    Co-authored-by: Dustin Brickwood <[email protected]>

commit 134805d7c89cfd24bcadf43fb994f44d6c130e88
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Nov 27 03:08:38 2023 -0800

    bugfix: Set removed property in Logs to false (#224)

commit 7efa571fd9eaca3a28b3dbf2c49621348d96c020
Author: Agustin Aon <[email protected]>
Date:   Thu Nov 23 04:16:15 2023 -0300

    feat: update `multivm::vm_virtual_blocks` dependency to `multivim::vm_latest` (#220)

commit 1b2a48eaaaaa60c0264a39e1597e85b1b2014a87
Author: Nisheeth Barthwal <[email protected]>
Date:   Mon Nov 13 18:26:44 2023 +0530

    run smoke test on PRs (#219)

commit eadb3a15c74cc2155a8f430920a9f55c50bb8efe
Author: Dustin Brickwood <[email protected]>
Date:   Fri Nov 10 09:31:10 2023 -0600

    chore: fix rust-toolchain extension (#216)

commit 0968dac9e69e3985df36f8f57902b1f6359e6df8
Author: Dustin Brickwood <[email protected]>
Date:   Fri Nov 10 09:30:51 2023 -0600

    chore: fix docs issue (#215)

commit 668a2cfd39d82dd00fb90f914bfce0b97a563572
Author: Vasyl Ivanchuk <[email protected]>
Date:   Fri Nov 10 13:43:02 2023 +0200

    feat: get block returns null for non existing blocks (#218)

commit a74c39c0d89aec29086524f9a8dd13bf2e4e03f6
Author: Nisheeth Barthwal <[email protected]>
Date:   Tue Nov 7 23:56:21 2023 +0530

    fix: rename run_l2_tx_inner, fix panics for lib users (#214)

    * rename run_l2_tx_inner, fix panics for lib users

    * add test

    * undo dep changes

    * cleanup comments

    * inline params

    * cleanup ExternalStorage

    * fix test messages

commit 0a5c8337b32410df7ae70b4c1916e4651ca4e77c
Author: Dustin Brickwood <[email protected]>
Date:   Mon Nov 6 10:53:11 2023 -0600

    chore: add rust toolchain for version mgt, make inner_tx pub (#213)

    * chore: add rust toolchain for version mgt, update to make inner tx pub again

    * chore: change version to reflect ci

commit 57ddf946f88d3b1580f82ec67993ccd690ed3d70
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Nov 1 08:18:17 2023 -0700

    chore: Update zksync-era dependency to latest (#210)

    * chore: Update zksync-era dependency to latest

    * add Version17 to list of supported version

commit 96632f9a3c6b717ca1f619b042407f462252cc70
Author: Roman Petriv <[email protected]>
Date:   Wed Nov 1 15:10:39 2023 +0200

    feat: add parent hash linking for blocks (#209)

    * feat: add parent_hash linking for blocks

    * test: add tests

    * fix: lint

    * fix: use correct genesis block hash as initial current_miniblock_hash

commit c5350bf89a25abc97304a86189fc983881308b8f
Author: Roman Petriv <[email protected]>
Date:   Tue Oct 31 16:19:49 2023 +0200

    fix: validate gas_limit and max_fee_per_gas before transaction execution (#207)

    * fix: validate gas_limit and max_fee_per_gas before transaction execution

    * fix: add validation for max_fee_per_gas being to low

    * fix: move validate_tx to node/in_memoty.ts

    * fix: lint

    * fix: move tx validation logic to run_l2_tx

    * test: add tests for tx validation

    * fix: remove unneeded match from eth.rs

    * fix: lint

    * fix: remove +nightly from vscode debug config

    * fix: remove extra new line log

commit fae30ab5864a31ab0dbd7fc411b22b7f80ed8e94
Author: Nisheeth Barthwal <[email protected]>
Date:   Mon Oct 30 17:42:19 2023 +0100

    chore: refactor node namespaces (#197)

commit 5477ffe0c455bc611bde28ad4422d3395e1dd08b
Author: Dustin Brickwood <[email protected]>
Date:   Thu Oct 26 14:42:40 2023 -0500

    chore: fix workflows to use nightly (#203)

    * chore: fix workflows to use nightly

    * chore: fix workflows to use nightly

commit e9c8ee02da305cd07f69ba6838107c933b3b1b8f
Author: Dustin Brickwood <[email protected]>
Date:   Wed Oct 25 13:48:17 2023 -0500

    chore: updates zksync dep, and replaces vm with multivm crate (#199)

    * chore: update era test node to latest

    * chore: cargo fmt

    * chore: switch toolchain actions and use nightly

    * chore: updates zks gas estimate

    * chore: remove +stable for nexttest action

    * chore: use larger runner

    * debug: collect runner stats

    * chore: invalidate cache to collect stats

    * chore: remove default runner for 16core

commit 0b4a200944da2b58e91c8acfaded704bd75ef22b
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Oct 25 11:36:23 2023 -0700

    fix: Update transaction type for gas estimation if one is not provided for EIP712 transactions, this fixes paymasters for era-test-node. (#195)

commit c8fa0b1b0bebf70e8e97e90d2d3e0ae40b2cff8a
Author: George W <[email protected]>
Date:   Wed Oct 25 15:23:32 2023 +0200

    feat: impl `zks_getAllAccountBalances` and `zks_getConfirmedTokens` (#198)

commit 1ed74eaba01690db9cb1936d4d9e27f03c5ac9de
Author: Nicolas Villanueva <[email protected]>
Date:   Thu Oct 19 16:32:56 2023 -0700

    fix: Release drafts now attach files correctly (#196)

commit 5364ad09a33c1bab768cb472844631464183c619
Author: Nisheeth Barthwal <[email protected]>
Date:   Thu Oct 19 12:37:57 2023 +0200

    fix: fix forking for [email protected] (#194)

commit f88cefb1e3052c852151efb51fc07186e467f781
Author: Nisheeth Barthwal <[email protected]>
Date:   Thu Oct 19 10:58:17 2023 +0200

    fix: unit-tests fixed on main (#193)

commit 512484ede8597490eb9fe44461a579a4849cc294
Author: George W <[email protected]>
Date:   Thu Oct 19 10:02:05 2023 +0200

    feat: impl zks_getRawBlockTransactions (#185)

commit 1dde85d4b16fb1d450b39538883a27a05a053970
Author: Nisheeth Barthwal <[email protected]>
Date:   Thu Oct 19 09:31:20 2023 +0200

    feat: refactor logging to use tracing crate and make it dynamic (#187)

commit ee35740b997905a2c9315aa2a0c3bbd8eafe9b8a
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Oct 18 12:11:21 2023 +0200

    feat: add zks_getBytecodeByHash (#180)

commit 46d1b4da8d0add813e8ca33b8d45e11c833d6d8f
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Oct 18 10:21:04 2023 +0200

    feat: add zks_getBridgeContracts (#184)

commit 29bb65db5005361376ecdf06f612bb44e89764da
Author: Nisheeth Barthwal <[email protected]>
Date:   Tue Oct 17 13:52:09 2023 +0200

    feat: support builtInWithoutSecurity option (#186)

commit b13fa9d33e61e8b288dd5011739a78b6a1b6e61b
Author: George W <[email protected]>
Date:   Tue Oct 17 13:11:51 2023 +0200

    feat: impl zks_getBlockDetails (#182)

commit d802216a39ba07c6240f3e3a15192158e04c2bd3
Author: Nisheeth Barthwal <[email protected]>
Date:   Fri Oct 13 15:40:27 2023 +0200

    feat: forbid ".only" from e2e-tests (#179)

commit 81340b1989478df264f76092bd64212bb98e43a6
Author: George W <[email protected]>
Date:   Fri Oct 13 15:39:41 2023 +0200

    feat: impl `zks_getTransactionDetails` (#176)

commit 85f238b6247beafa4bf1128fa4b0c6c0280e1369
Author: Nisheeth Barthwal <[email protected]>
Date:   Fri Oct 13 12:01:09 2023 +0200

    feat: add hardhat_setCode (#171)

commit 3c5f78852e2251fbbe471eaf07e006a80e0037dd
Author: Dustin Brickwood <[email protected]>
Date:   Thu Oct 12 10:22:33 2023 -0500

    chore: remove hub usage in favour of gh for draft releases (#175)

commit 3bad022e3d4942cf02cad36f8fdb2c275af4f4f7
Author: Nisheeth Barthwal <[email protected]>
Date:   Thu Oct 12 12:30:13 2023 +0200

    fix: update zksync-era deps to v16.0.0 (#173)

commit 3ff215f88cf55c0b6fc3fb5669bc0befd7957190
Author: George W <[email protected]>
Date:   Wed Oct 11 19:16:39 2023 +0200

    feat: impl `debug_traceBlockByHash` and `debug_traceBlockByNumber` (#168)

commit f806bb97720d74e356727d031fac5f28850f2b94
Author: George W <[email protected]>
Date:   Wed Oct 11 15:08:11 2023 +0200

    feat: impl debug_traceTransaction (#165)

commit 901252914e87a1b4117acba031c5c09a1d2db3b5
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Oct 11 12:54:57 2023 +0200

    fix: install mdbook for ci (#169)

commit 124691a8c690244541cb0535d07d21e622c5ad8a
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Oct 11 12:07:39 2023 +0200

    feat: add rustbook (#163)

commit 32d6a0c158a6dffb02fb281e595b03bb640fed9b
Author: Nisheeth Barthwal <[email protected]>
Date:   Tue Oct 10 18:31:53 2023 +0200

    add aarch64-unknown-linux-gnu target (#164)

commit 98b8420b46eadcde236d897b531b3f369846f865
Author: Nisheeth Barthwal <[email protected]>
Date:   Mon Oct 9 14:27:51 2023 +0200

    feat: Add well-known log selectors to console output (#162)

commit 4e3508286a1d739912b4a8578565f20d8cdf4188
Author: George W <[email protected]>
Date:   Mon Oct 9 14:14:09 2023 +0200

    feat: impl debug_traceCall (#151)

    * feat: impl debug_traceCall

    * feat: adds test contract dir

    * add refresh_test_contracts in Makefile

    * fix: rename contacts_for_l2_call -> contracts_for_l2_call

    * move not_implemented() to crate::utils, replace usage of macro

    ---------

    Co-authored-by: Nicolas Villanueva <[email protected]>

commit f691f8ca38f2a50f6cfb9e2a5622563061155d17
Author: Nisheeth Barthwal <[email protected]>
Date:   Fri Oct 6 00:48:50 2023 +0200

    feat: add eth_protocolVersion (#161)

commit 79f3dae2858fd91e9ae145e7b9141d126356c395
Author: Nisheeth Barthwal <[email protected]>
Date:   Thu Oct 5 23:12:05 2023 +0200

    feat: add eth_getTransactionByBlockHashAndIndex and eth_getTransactionByBlockNumberAndIndex (#159)

commit 4f627b55cc90a89a7f439ca743208eefda093200
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Oct 4 09:12:11 2023 -0700

    fix: update compiled smart contracts to latest (#157)

    * Update compile smart contracts checked into source
    * Hide Notes section of PR template by default
    * Update e2e tests to also be run on MacOS
    * Add commented link to YouTube video at the top of release notes
    * Limit rust/clippy linting to only the era_test_node package/crate
    * Re-enable e2e test for zks_estimateFee
    * Add more trace level logs for gas estimation

commit 166247dff700ef08ba82d5063bc2a18c3a436e89
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Oct 4 16:55:15 2023 +0200

    feat: add evm_snapshot/revert (#158)

commit b790006734aba5b2c8c6787610ebde4f24ef2a18
Author: Nisheeth Barthwal <[email protected]>
Date:   Tue Oct 3 15:33:36 2023 +0200

    feat: add eth_getStorageAt (#134)

    * add get_storage_at

    * add eth_getStorageAt

    * limit max archived blocks to 128

    * remove ethers-contract dep

commit 14a50c73da75803d32a0183a47796cf88c2f54cf
Author: Nicolas Villanueva <[email protected]>
Date:   Tue Oct 3 04:50:21 2023 -0700

    fix: add back call stacks, console logs, and correct call stack count (#155)

    * fix: add back call stacks, console logs, and correct call stack count

    * Add comments. Fix typo.

    * fix lint

commit cc00030297859019370b40a3e665bfdc6200cfb0
Author: Dustin Brickwood <[email protected]>
Date:   Mon Oct 2 04:51:47 2023 -0500

    chore: adds proper null response to zks_batchDetails method (#152)

commit f19fe6cb3be1f4eb015ade67b53366ce291dc7cd
Author: Nisheeth Barthwal <[email protected]>
Date:   Thu Sep 28 21:47:26 2023 +0200

    chore: align current_miniblock, current_batch, current_timestamp to point to the latest entities (#135)

    * normalize current_miniblock, current_batch, and current_timestamp to have latest values

    * fix compute_hash to use miniblock number

    * add tests for mine_empty_blocks

    * merge main

    * fix test, remove println!

    * fix tests

    * rename to BlockContext

commit 3f8c893f4cd67bc04e3ee2d55467d40bcc15012d
Author: Nicolas Villanueva <[email protected]>
Date:   Thu Sep 28 04:49:58 2023 -0700

    chore: update eth_call to serialize output data in console (#140)

commit 4ffd847f85686400b36882720808bdfbbe986a26
Author: Dustin Brickwood <[email protected]>
Date:   Wed Sep 27 17:15:06 2023 -0500

    feat: adds `eth_accounts` and updates `get_transaction_by_hash` to retrieve from fork if needed (#139)

    * chore: quick fix for accounts endpoint

    * chore: Add fork source check for eth_getTransactionByHash. Add block_number and block_hash to transactions within run_l2_tx_inner.

    * chore: finishing basic rivet support:
    * handles unwrap
    * adds unit test for eth_accounts
    * updates docs
    * updates cargo.toml version to latest

    * chore: fix docs error

    * chore: remove uneeded import

    * fix: documentation

    * chore: add e2e test

    ---------

    Co-authored-by: MexicanAce <[email protected]>

commit d96bbbaa9df3ea48f4f876cbf32e519192546233
Author: Nicolas Villanueva <[email protected]>
Date:   Tue Sep 26 06:43:51 2023 -0700

    chore: update and add more e2e tests (#132)

    * Add launch configuration for debugging e2e tests

    * Added config_getCurrentTimestamp endpoint for e2e tests. Fix initial empty block.

    * Linting. Update initial timestamp to 0 for gensis block

commit 915b0c0086173668a628d851e1a22430f74a2487
Author: Marcin M <[email protected]>
Date:   Mon Sep 25 10:54:48 2023 +0200

    feat:  adapting Era test node to the new VM (and updating system contracts) (#111)

    * compiles

    * runs, but bootloader broken

    * sync the system configs. stuff works

    * fixmes and warning for versions

    * Fixme changes

    * cleaned up utils

    * small cleanup

    * changing bootloader debug to tracer and other small fixes

    * adapted to the new exports

    * review

    * merged

    * compiles with newest changes

    * compiles with the new zksync-era version

    * comments

    * merged and working

    * api tests passing

    * tests passing mostly hardhat

    * fixed tests

    * lint fix

commit 8b2f8c46fc7b0c644ab0fa8cf99fecfbcf31d40b
Author: Nisheeth Barthwal <[email protected]>
Date:   Thu Sep 21 20:22:24 2023 +0200

    feat: add eth_getLogs and eth_getFilterLogs (#130)

commit e2f07b2eed8515748b6182b590f9f0f0231be57b
Author: George W <[email protected]>
Date:   Thu Sep 21 15:26:21 2023 +0200

    feat: impl `hardhat_impersonateAccount` and `hardhat_stopImpersonationAccount` (#125)

commit 2b645a3f1152e87b0868b5033c6e160abcc492dc
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Sep 20 19:28:53 2023 +0200

    chore: add utility function to convert block numbers (#129)

    * add utility function to convert block numbers

    * add util method

    * update other occurrences

commit ee82bc3d2226e23d5f70174ef20a7d25839c7137
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Sep 20 17:29:56 2023 +0200

    feat: add filter support (#124)

    * add filter support

    * print full hashes

commit e2bfc0eb1367eb0831ce8cd432c151dcd3f21d57
Author: Marcin M <[email protected]>
Date:   Wed Sep 20 10:01:01 2023 +0200

    chore: updated deps to v6.0.0 (#126)

commit 19b7cca214fb27e3677110a606c7e9397668753d
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Sep 18 09:55:02 2023 -0700

    feat: add logs for incoming API requests (#118)

    * feat: add logs for incoming API requests

    * chore: update unimplemented method log to warning

    * chore: add trace LogLevel. Update incoming request logs with full params to Trace. Fix unit test.

    * chore: add Trace log for API responses

commit 599758fdeffd22ea673146655740dc64a2be6a2d
Author: Nisheeth Barthwal <[email protected]>
Date:   Mon Sep 18 18:25:49 2023 +0200

    fix incorrect block hash in eth_getTransactionReceipt (#122)

commit 2235ecd677a43c96abe793271c0cf13d6bfb26dc
Author: Dustin Brickwood <[email protected]>
Date:   Mon Sep 18 11:49:54 2023 -0400

    chore: updates readme with latest changes (#123)

commit 270e65aa167c984913e387d44828a91a6c1b9222
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Sep 18 08:47:13 2023 -0700

    feat: add eth_feeHistory (#121)

commit 0b73bd3211d9b83403f52c5c6c8d81fccec6ae88
Author: George W <[email protected]>
Date:   Mon Sep 18 17:46:47 2023 +0200

    feat: impl `evm_mine` and `hardhat_mine` (#116)

commit 35ac2c70fb850a1a9e1406f05e2cee5cfe9a9941
Author: Nisheeth Barthwal <[email protected]>
Date:   Mon Sep 18 14:16:31 2023 +0200

    feat: Add eth_getBlockTransactionCountByHash and eth_getBlockTransactionCountByNumber (#117)

    * add eth_getBlockTransactionCountByHash and eth_getBlockTransactionCountByNumber

    * improve testing mock server

commit f3e1528d8952d1d2328aca1659e0f3897f0a2d92
Author: Nisheeth Barthwal <[email protected]>
Date:   Mon Sep 18 10:57:08 2023 +0200

    feat: Add caching to HttpForkSource (#114)

commit be53aec0b0ba2574ccfd6c4eddf10fda7c51d0c6
Author: Dennis <[email protected]>
Date:   Fri Sep 15 13:48:25 2023 +0200

    fix: Bump hardhat deploy and solc versions (#110)

    * fix: bump hh deploy and solc versions

    * chore: update lockfile

    ---------

    Co-authored-by: Nicolas Villanueva <[email protected]>

commit d6529ab32190997867a45b2bde85b389572db5f5
Author: Jack Hamer <[email protected]>
Date:   Thu Sep 14 16:49:29 2023 +0300

    fix: bind server to 0.0.0.0 for external access (#115)

commit de35b8f9ea2054c66c67e3fd03d144ca3890612b
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Sep 13 19:28:41 2023 +0100

    chore: add contributors to draft release template (#112)

    * chore: add contributors to draft release template

    * chore: add cargo clean step

commit baa761e1c3e49a3145659d388545c87395698654
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Sep 13 17:58:41 2023 +0100

    chore: enforce conventional commits on main (#113)

    * chore: enforce conventional commits on main

    * Update CODEOWNERS to include the entire team.

    * Fix broken link in SUPPORTED_APIS doc.

commit f263687055c6290430d1a04e866036c38f22c1d2
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Sep 13 17:40:35 2023 +0200

    feat: Implement eth_getBlockByHash and eth_getBlockByNumber with correct behavior (#102)

    * returns blocks via hashes

    * add fork getBlockByHash fallback

    * add support for eth_getBlockByHash and eth_getBlockByNumber

    * insert genesis block when using run mode

    * use actual current block number for block generation

commit 0cac26b9784d7fe218aec1522b256d72a092c4cc
Author: Nisheeth Barthwal <[email protected]>
Date:   Wed Sep 13 12:08:25 2023 +0200

    feat: Add simplelog (#103)

commit bb544a4b7ce3141d19212d2e4138387f997f0cb7
Author: Nisheeth Barthwal <[email protected]>
Date:   Mon Sep 11 17:12:08 2023 +0200

    chore(docs): add index.html to docs (#107)

commit 6294aa1699918d3f79e5d91a62c0958d53841f42
Author: Dustin Brickwood <[email protected]>
Date:   Mon Sep 11 08:48:20 2023 -0500

    chore: update lib.rs to include main rust docs content (#100)

    * chore: move main rust docs to lib.rs for readability

    * chore: remove limitation that has been resolved

    ---------

    Co-authored-by: Nicolas Villanueva <[email protected]>

commit 40cf025d48e46d246e278680b55f2051e608a69a
Author: Nisheeth Barthwal <[email protected]>
Date:   Mon Sep 11 15:46:26 2023 +0200

    feat: Implement evm_increaseTime, evm_setNextBlockTimestamp, and evm_setTime (#93)

commit fee3152511d79cc53ffd7f9b71c01f09287242f8
Author: George W <[email protected]>
Date:   Thu Sep 7 19:30:48 2023 +0200

    feat: impl `eth_syncing` (#104)

    * eth_api: Implement syncing method

    * tests: test eth_syncing

    * docs: mark eth_syncing as SUPPORTED

    * docs: add eth_syncing to test_endpoints.http

    * docs: add example for eth_syncing

commit 14ef9bb49ef90303c92c4457acc2ac2443337c26
Author: George W <[email protected]>
Date:   Thu Sep 7 19:30:26 2023 +0200

    feat: implement hardhat_setNonce (#101)

    * feat: impl `hardhat_setNonce`

    * docs: add docs for `hardhat_setNonce`

    * chore: clippy

commit 8013425569340833d4177526850fb517c604bc49
Author: George W <[email protected]>
Date:   Thu Sep 7 14:59:26 2023 +0200

    hardhat_api: Implement hardhat_setBalance API endpoint (#91)

    * hardhat_api: Implement hardhat_setBalance API endpoint

    * docs: move comments to trait declaration

    * fix: use storage_key_for_eth_balance

    * feat: add println when manually setting balance

    * docs: mark hardhat_setBalance as supported and add docs/example

    * doc: add hardhat_setBalance to test_endpoints.http

    * fix link in SUPPORTED_APIS.md

commit 56ed4466516b7d9a1ed97fda6781a48d431c61b4
Author: Marcin M <[email protected]>
Date:   Thu Sep 7 13:49:00 2023 +0200

    Added ability to run without signature verification (#94)

    * Refactored system contracts into separate file.

    * cleanup merge

    * review

    ---------

    Co-authored-by: Dustin Brickwood <[email protected]>

commit cbac9a1830ac8d1212036cdf97ee0a125ef922fa
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Sep 6 19:35:12 2023 +0100

    feature: display the revert reason when calls or gas estimations fail (#98)

commit 74727c8523b909b72d91fba7cedbe69c688586bb
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Sep 6 19:18:15 2023 +0100

    chore: remove e2e test reports (#99)

commit 926b37ffc4bdc20d84993c538a6119d4d515b04b
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Sep 6 17:56:57 2023 +0100

    chore: add more permissions to e2e test results (#97)

commit d12990114978279542880ba35f28dca35f1cea23
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Sep 6 16:21:12 2023 +0100

    chore: fix permissions for e2e test results (#96)

commit 3041b7ccf407e5e2e75c8e314d1c654a25d58722
Author: Dustin Brickwood <[email protected]>
Date:   Wed Sep 6 03:19:20 2023 -0500

    fix: resolves #90 | fixes release executable and headers issue (#95)

    * fix: resolves #90
    * Installs cross from source
    * Adds req deps to cross.toml and cargo.toml

commit dd88a7f536e435ff3abd1130137af91ff2f0d184
Author: Marcin M <[email protected]>
Date:   Wed Sep 6 10:18:39 2023 +0200

    feature: display more details about the gas fees (#86)

    * human readable gas

    * more bootloader gas info

    * added cleaner debug markings

    * cleaner bootloader

    * Fix typos. Return correct value with config_setShowGasDetails. Remove unnecessary to_string calls. Add new config endpoint to SUPPORTED_APIS doc and test_endpoints file.

    ---------

    Co-authored-by: MexicanAce <[email protected]>

commit fbff511d0c09ab7bcd49ac09ec594c8aeb4f1ca0
Author: Marcin M <[email protected]>
Date:   Mon Aug 28 18:08:25 2023 +0200

    Resync node to the latest zksync-era mirror (#85)

    * Make era-test-node a library

    * introduced fork source trait

    * Adding ForkSource

    * Fixed merge changes

    * cargo lock

    * fixes after merge

    * merged

    * random changes

    * compiles

    * cleanup

    * cleanup clippy warnings

    * revert account

    * review feedback

commit 4b46e0a9125c7383b8c408c35d54d9f265797806
Author: Marcin M <[email protected]>
Date:   Thu Aug 24 20:19:56 2023 +0200

    Adding ForkSource trait (#83)

    * introduced fork source trait

    * Adding ForkSource

    * cargo lock

    * fixes after merge

    * fix after merge

    * comment changes

    * review

    * wrapping into result err

    * Update src/http_fork_source.rs

    Co-authored-by: Nicolas Villanueva <[email protected]>

    * fix

    ---------

    Co-authored-by: Nicolas Villanueva <[email protected]>

commit 0fc2aced6b11f554f9c2720409c80ac779003281
Author: Marcin M <[email protected]>
Date:   Wed Aug 23 12:39:04 2023 +0200

    Make era-test-node a library (#79)

    * Make era-test-node a library

    * Fixed merge changes

    * fixed tests

    * fmt

    * Moved showcalls to node

commit be806100edfb3f3884cf177bd677d6cc154c3e01
Author: Nicolas Villanueva <[email protected]>
Date:   Tue Aug 22 13:44:03 2023 +0100

    docs: Fix file permissions for rust docs GitHub page (#81)

commit 988dd2f37924961dd32014b212291c92dde54e58
Author: Nicolas Villanueva <[email protected]>
Date:   Tue Aug 22 07:49:25 2023 +0100

    docs: Adds rust docs GitHub workflow. (#80)

commit 0cb16a6c12f006eb5fdeabbfb83807d0b6bdc07b
Author: Dustin Brickwood <[email protected]>
Date:   Mon Aug 21 05:24:05 2023 -0500

    chore: adds additional debug flags. adds default InMemoryNode. updates version in Cargo lock. (#20)

    * chore: adds vm execution flags for storage logs and vm result

    * chore: Adds default InMemoryNode. Add config_setShowStorageLogs and config_setShowVmDetails endpoints. Update display format of Storage Logs, Execution Results, and transaction summary banner. Fix suggested API call to for displaying call traces. Update Cargo lock with latest version.

    * docs: Updates docs with new endpoints and latest console information

    ---------

    Co-authored-by: mm-zk <[email protected]>
    Co-authored-by: MexicanAce <[email protected]>

commit 31fe14a06979b7dcc08cb83f5021155bd0605b55
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Aug 21 08:29:52 2023 +0100

    docs: Update SUPPORTED_API.md with GitHub Issues, missing endpoints, and latest information (#78)

    * docs: Update SUPPORTED_APIS to reflect GitHub Issues, missing endpoints, and latest descriptions.

    * Update WIP notification at top of document. Alphabetize endpoints in table. Add missing zks API endpoints. Fix formatting for some descriptions. Fix eth_getTransactionReceipt to be SUPPORTED. Add missing evm_setAutomine, evm_setBlockGasLimit, and evm_setIntervalMining endpoints. Add more GitHub Issues.

commit eb4e0341272c8f01f371a2bc96c20efa0f3f3b23
Author: Nicolas Villanueva <[email protected]>
Date:   Fri Aug 18 10:32:49 2023 +0100

    chore: Bump version of Cargo.toml (#60)

commit 30d7dc3c1afba77716c84e56ad774fb66028f880
Author: AntonD3 <[email protected]>
Date:   Fri Aug 18 11:01:34 2023 +0200

    chore: Add more rich wallets. Fix gas price in receipt. Fix reverts in eth_call and eth_estimateGas. (#59)

    * More rich wallets, make them richer

    * Fix gas price in receipt and reverts in eth_call and eth_estimateGas

commit f1a2efbfe3c10d2ffc29a95a03e1ced190d4a5b6
Author: Nicolas Villanueva <[email protected]>
Date:   Thu Aug 17 12:11:30 2023 +0100

    chore: add e2e test (#35)

    * Add e2e test

    * Add vscode extension recommendation for working with github actions

    * Fix linting error

commit c860c9bf3c0a134e65b868f01f3e4a6f5b66575e
Author: Nicolas Villanueva <[email protected]>
Date:   Fri Aug 11 19:02:06 2023 +0100

    feat: implement zks_getTokenPrice endpoint (#58)

commit d55dafc042bb02992d3e9654c1f547e92d92db85
Author: Nicolas Villanueva <[email protected]>
Date:   Fri Aug 11 16:59:29 2023 +0100

    chore: Add new-release-tag command to Makefile. Update version of rust crate to match GitHub release version. Update release template. (#57)

commit 7051cdac2f4a26ba9d370116d284ac9c1c805cd5
Author: Dustin Brickwood <[email protected]>
Date:   Fri Aug 11 08:49:05 2023 -0500

    ci: adds release workflow for automated draft releases (#54)

    * ci: adds release pipeline and automates draft release
    * Adds release.yaml to the CI
    * Adds push tagged trigger for check and test workflows
    * Adds make command

    * ci: removes workflow trigger as it does not work with tag approach

    * ci: adds release name to ci workflwo

    * docs: Adds docs directory and includes release overview

    * ci: update comment to include gh issue ref

commit 4ef5a96ec1525040f920f0a892d238e76529af23
Author: Nicolas Villanueva <[email protected]>
Date:   Fri Aug 11 13:40:36 2023 +0100

    feat: implement eth_estimateGas and zks_estimateFee (#31)

commit 3539ad0a87f5cc5350b346bace874f4d966714b3
Author: Dennis <[email protected]>
Date:   Wed Aug 9 16:17:46 2023 +0200

    Add API Table to API Markdown File (#21)

    * feat: add api table to supported api md

    * feat: include evm, eth, debug and hardhat names

    * fix: remove net_getPeerCount method

    * fix: debug_traceTransaction to NOT IMPLEMENTED

    * feat: supported eth_chainId

    * fix: partially eth_estimateGas

    * fix: eth_gasPrice in table to PARTIALLY

    * fix: eth_gasprice

    * fix: eth_getBalance implemented

    * fix: implement get_getCode and eth_getBlockByNumber

    * fix: eth_getTransactionByHash added and fixed eth_getBlockByNumber

    * fix: eth_getTransactionCount

    * fix: eth_blockNumber

    * fix: include eth_call in api md

    * fix: include eth_call in API table

    * fix: add eth_sendRawTransaction

    * fix: update statuses

commit 7f993b2836c01fda45ffe32a39f169870e89123c
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Aug 9 14:27:17 2023 +0200

    chore: add debugging configurations for VSCode (#30)

    chore: add debugging configuration for VSCode

commit 9a096098043b97def8baf0e99b3e73fda9899894
Author: Dustin Brickwood <[email protected]>
Date:   Fri Aug 4 10:14:21 2023 -0500

    chore: adds light / dark banners  (#27)

    * chore: adds light and dark banners

    * chore: test background

    * chore: fix  paths

    * chore: adds autochange banner img

commit bc8c10dd2ab1a211b3ae0607fbaadb15f480d636
Author: Dustin Brickwood <[email protected]>
Date:   Fri Aug 4 09:29:55 2023 -0500

    chore: handle panics in `node.rs` and add crate-level documentation (#24)

    * chore: update eth api to handle panics

    * chore add crate level docs

    * chore: adds L2TxResult type due to clippy errors

    * chore: update get tx hash

    * chore: cargo clippy --fix

    * chore: made requested changes

    * chore change line spacing based on requested changes

    * chore: added printlns to not implemented match cases

commit bc55b6eec4e3ea32700b32d15a5dfe6a4421e3cc
Author: Nacho Avecilla <[email protected]>
Date:   Thu Aug 3 04:58:49 2023 -0300

    Implement get transaction by hash rpc endpoint (#22)

    feat: Implement eth_getTransactionByHash RPC endpoint

commit 0c9d64c5f9c9c37452ced2eca82be0bed596811c
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Jul 31 13:56:16 2023 +0200

    Add new configuration RPC endpoints (#17)

    feat: Add new configuration RPC endpoints (config_getShowCalls, config_setShowCalls, and config_setResolveHashes). Add example http REST file for quickly testing the node locally. Add recommended plugins for VSCode. Add SUPPORTED_APIS.md. Update version to 1.0.3

commit f5db37f44e4057d163e048b6bf7c184910738041
Author: Dustin Brickwood <[email protected]>
Date:   Wed Jul 26 09:48:44 2023 -0500

    Updates readme, adds templates, updates makefile, and adds CI (#18)

    * chore: update readme

    * chore: update readme, add templates

    * chore: adds mock test and ci

    * chore: update makefile, contributing.md, and codeowners

    * chore: change workflow name

    * feat: adds build check for macos and ubuntu

    * Update .github/workflows/tests.yaml

    Co-authored-by: Dennis <[email protected]>

    * chore: fix clippy errors

    ---------

    Co-authored-by: Dennis <[email protected]>

commit 064a8eb0eb90c3ce4adb2e0bc5af2e46d06b2d02
Author: Dustin Brickwood <[email protected]>
Date:   Wed Jul 26 07:14:35 2023 -0500

    chore: fixes compile error (#15)

commit 7628c87d5d9988139821ea2ea297b14c79b92fea
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Jul 24 17:46:01 2023 +0200

    Update color of console log lines to stand out (#16)

    Update color of console log lines to cyan

commit fbda966ac47b9f0034dc51215f2692354c83d33a
Author: Nicolas Villanueva <[email protected]>
Date:   Wed Jul 12 13:55:17 2023 +0100

    Add basic MetaMask support and improve logs (#12)

    * Add net RPC service. Update network id to 260. Add print statements when unimplemented methods. Allow get_block_by_number to work if the requested block matches the current miniblock number. Populate the gas_limit in the response for get_block_by_number.

    * Update format of events to render full addresses and display event name in blue. Implement get_block_by_hash function. Update default values from the network endpoints. Consolidate where we're storing the network ID.

    * Update README

    * Increase the original amount allocated for Rich Accounts to 10000 ETH. Update the console format for Rich Accounts.

    * Remove comment

commit bf9bda5690edd3e34c81353079ecd06c9ccea8a8
Author: Dustin Brickwood <[email protected]>
Date:   Tue Jul 11 07:35:39 2023 -0500

    chore: rename binary to era_test_node from zksync_test_node (#10)

commit f13f0cbcb732f65793b72b037c04f07d3e30b351
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Jul 10 14:48:19 2023 +0100

    feat: Add Pull Request template (#11)

commit e18a9dcbab886a306b766b3ca840394d122569ec
Author: Dustin Brickwood <[email protected]>
Date:   Thu Jul 6 11:31:33 2023 -0500

    feat: implements required api methods for deploying contracts with `hardhat-zksync-deploy` plugin (#9)

    * chore: implement get_block_number and adds hardcode values for tutorial testing

    * chore: deploys contract successfully using plugin

    * chore: run fmt

commit 3420a4aaccea7c554f620cb54611802014368215
Author: Nicolas Villanueva <[email protected]>
Date:   Mon Jul 3 16:35:35 2023 +0100

    Increase padding of addresses to accomodate for nested calls with large padding. Improve padding alignment for function signatures. Update the background color to red for stack calls that are errors or reverts. (#4)

    Co-authored-by: Nicolas Villanueva <[email protected]>

commit df2234d4dbce8d6a508b3f7ea6502e8e42950f36
Author: Marcin M <[email protected]>
Date:   Sat Jul 1 19:24:10 2023 +0200

    Update README.md - added information about rich accounts

commit ad609eccee8c6445bf7c8b9e06c4b0bfef7270ab
Author: mm-zk <[email protected]>
Date:   Wed Jun 28 10:56:07 2023 +0200

    Updated license and README

commit eb82ad52aab1b6fa3f6fbd4a3bc3ac17cbd7994f
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 18:12:30 2023 +0200

    fix json issue

commit 176dcf5c27c3fd28ac5c4c5e53b39ede67620895
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 18:00:26 2023 +0200

    Added more ABI mappings

commit 598ed5959939b3b694cc509346412c245aa0f13e
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 17:13:52 2023 +0200

    updated readme

commit a1c54433bf61646f7dc1a410381dc00fae7e3236
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 17:09:33 2023 +0200

    updated readme

commit 1ca0f846cc37034bca2622708f918df12036cffe
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 16:58:45 2023 +0200

    fix gitignore

commit 1989069f618dc6ca30bda49614aca51c3ae6c6c1
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 16:45:02 2023 +0200

    small readme update.

commit e61413e08d77bdb886b4d3310b97dc053ff350d0
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 16:42:24 2023 +0200

    udpated README, changed to not query names by default,

commit 89bc1e396ec50982bcd65986d3041fc06661bd65
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 16:18:29 2023 +0200

    udpated makefile and contracts script

commit 04d2cc73591a6276e11c703a5808302e0bcc34f9
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 13:43:25 2023 +0200

    inline all the contracts

commit 63d744256e9fb17071bd1bb92418c1e0a5616074
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 12:27:32 2023 +0200

    added makefile and evnironment check

commit 970ce5ecdfea215ce4c5c4d07d6711a0cc0fe685
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 11:42:05 2023 +0200

    support console.log

commit bb5b2d4f99ca0e59b8ef245a110713c63c96e609
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 11:12:37 2023 +0200

    yul compiles

commit b68ec8fb60fe90e669de75ff252b71828a87d664
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 11:03:46 2023 +0200

    hardhat compiles

commit 0ffab8da264384c84c8e420466374a750876bf44
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 10:52:36 2023 +0200

    compiled yarn

commit 8c0a7c0d3e8038118edaf4c7251bf96ca4bca367
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 10:42:54 2023 +0200

    Added system contracts

commit 8acbade2965ed72caf38996f6d90ea579fc55815
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 10:22:34 2023 +0200

    it compiles

commit c9e78ef880761fbe012cc0b5d15be5f76fff45ac
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 09:27:44 2023 +0200

    gitignore

commit 0c082e94d50e1842f2e33dddd06f7d18986cf3b1
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 09:27:24 2023 +0200

     initial commit

commit 03b7fba9c09bc69a9a62d9a89ab6aed6cfdf21f9
Author: mm-zk <[email protected]>
Date:   Sun Jun 25 09:24:09 2023 +0200

    Initial commit
IAvecilla added a commit that referenced this pull request Feb 29, 2024
814ae72 Update subtree with new precompiles
f832eb9 Merge pull request #226 from lambdaclass/fix-subtree
9031cb5 Update subtree
3e5f82a Merge commit '55210e4632566a4f74503d83aed246b7a4e69233' as '.test-node-subtree'
3e386d4 Remove old subtree
16c494e Add ecAddG2 precompile (#211)
787f7fe Add ecAddG2 precompile (#211)
2fdb9d0 Add ecMulG2 precompile (#220)
9469bb6 Add ecMulG2 precompile (#220)
0e8e9e1 Update contracts in subtree (#218)
f5e645b Update contracts in subtree (#218)
5ae9408 Makefile fixes (#217)
d9c5563 Subtree era test node (#215)
73e2469 Subtree era test node (#215)
fc8fe32 Add ignore to test that is stopping the test suite (#213)
9bfb1c3 Improve makefile (#212)
fe92e93 Fix repo setup (#210)
0d6c0f2 update gas_consumption (#206)
52be222 Update docs (#204)
7be1914 Update README.md
80f543f P256verify audit fixes (#200)
d047659 Add verifier integration test (#179)
a7a5ed4 `modexp` big integers arithmetics (#124)
bee001d Add P256Verify tests (#178)
2753d37 Subgroup check for points in `G2` in `ecPairing` (#92)
0e961c2 Update Readme and gas tables (#174)
3067c76 fix projectiveAdd (#173)
9118195 adds shamir´s trick (#172)
710813d Implement strauss shamir trick (#171)
ea7c283 [CI] build precompiles (#165)
23fb8d0 update submodules (#167)
b7d1311 secp256k1VERIFY Precompile (#160)
63f0214 add p256 s input check (#166)
87186ca add r check (#163)
f272068 Update `README.md` (#162)
2da5282 P256VERIFY precompile contract (#55)
228e0e3 Add your own precompiles guide (#152)
b23a364 Replace invalid call to burnGas (#157)
b01b3c1 Optimize first iterations of miller loop (#119)
6347ae1 Add edge case tests for modexp precompile (#109)
dc3a750 Replace addmod/submod with Montgomery counterparts (#145)
a891bb8 Remove unnecessary checks in `ecAdd` (#144)
3044527 Store zero before returning in ecmul trivial cases (#123)
cc25b14 Add documentation for BEE (#120)
6ff795d Add extra checks to fix some edge cases (#118)
062fbcf Document montgomeryAdd and montgomerySub (#116)
f7430f3 Delete precompiles/Montgomery.yul (#101)
f660dca Improve `montgomeryAdd` implementation (#113)
e155896 remove_switch_in_projectiveIntoAffine (#115)
637ea8e Make `modexp` consistent with the other precompiles (#117)
76bef0f ecPairing (#53)
724a49b Replace `burnGas` with `invalid` (#105)
fa1dc58 Apply audit changes to ecAdd (#102)
8173484 Add CI (#18)
95e75d2 improves_binaryExtendedEuclideanAlgorithm (#81)
2c1d38d Removes unnecessary handling of a special case on addition. (#77)
56e342d improves overflowAdd (#80)
f7e551d Add tests for points outside the field (#79)
62cf99f Removes_unnecessary_checking_in_ecMul (#78)
1f1b863 Fix field order naming (#75)
1e2b0e4 fix point comparison (#74)
f203e46 remove constant funcitons (#73)
f376abf implement suggested optimization (#70)
d9bed40 remove_unnecessary_mod (#71)
e9bf3f2 removeunused functions (#72)
cf7fbab Remove Playground.yul (#54)
e2e7e5e Python implementation for bn254 (alt_bn128) pairing (#16)
de71908 Fix format for section separators (#39)
ff93e4d Update precompiles to latest improvements (#38)
b72ee59 Clean code commets and console_log calls on main (#34)
75ac242 Remove playground crate (turned out to be useless) (#28)
8ccbe1d Add basic documentation (#20)
5c2c9f8 Update README.md
e2f7d55 Update README.md (#27)
c52393c Update README.md
281af62 Update README.md
4b90112 Update README.md
fdbcdc3 Update LICENSE (#26)
5d0380a Update README.md
d571657 Setup repo for precompile development (#17)
5b99326 Add Ethereum Execution Tests (#5)
8d1d6ae Update EcAdd.yul
0bff51f Update ModExp.yul
a3b2e1a Update EcMul.yul
87bf237 [Feature] `ecAdd` precompile (#1)
3b1bcfd [Feature] `ecMul` precompile (#2)
f7eae0d [Feature] `modexp` precompile (#3)
bb2b95f update readme
2036029 Update README.md
e50177f Repo cleanup (#4)
aae80c5 cargo init w/ extra steps
fcd4c44 Precompiles scaffolding
fc42e54 Update README.md
50f4b1e Initial commit

git-subtree-dir: .test-node-subtree
git-subtree-split: 814ae72cc5cf1d1842b3ed4ceeb8b78de43baf9c
ColoCarletti added a commit that referenced this pull request Feb 29, 2024
814ae72 Update subtree with new precompiles
f832eb9 Merge pull request #226 from lambdaclass/fix-subtree
9031cb5 Update subtree
3e5f82a Merge commit '55210e4632566a4f74503d83aed246b7a4e69233' as '.test-node-subtree'
3e386d4 Remove old subtree
16c494e Add ecAddG2 precompile (#211)
787f7fe Add ecAddG2 precompile (#211)
2fdb9d0 Add ecMulG2 precompile (#220)
9469bb6 Add ecMulG2 precompile (#220)
0e8e9e1 Update contracts in subtree (#218)
f5e645b Update contracts in subtree (#218)
5ae9408 Makefile fixes (#217)
d9c5563 Subtree era test node (#215)
73e2469 Subtree era test node (#215)
fc8fe32 Add ignore to test that is stopping the test suite (#213)
9bfb1c3 Improve makefile (#212)
fe92e93 Fix repo setup (#210)
0d6c0f2 update gas_consumption (#206)
52be222 Update docs (#204)
7be1914 Update README.md
80f543f P256verify audit fixes (#200)
d047659 Add verifier integration test (#179)
a7a5ed4 `modexp` big integers arithmetics (#124)
bee001d Add P256Verify tests (#178)
2753d37 Subgroup check for points in `G2` in `ecPairing` (#92)
0e961c2 Update Readme and gas tables (#174)
3067c76 fix projectiveAdd (#173)
9118195 adds shamir´s trick (#172)
710813d Implement strauss shamir trick (#171)
ea7c283 [CI] build precompiles (#165)
23fb8d0 update submodules (#167)
b7d1311 secp256k1VERIFY Precompile (#160)
63f0214 add p256 s input check (#166)
87186ca add r check (#163)
f272068 Update `README.md` (#162)
2da5282 P256VERIFY precompile contract (#55)
228e0e3 Add your own precompiles guide (#152)
b23a364 Replace invalid call to burnGas (#157)
b01b3c1 Optimize first iterations of miller loop (#119)
6347ae1 Add edge case tests for modexp precompile (#109)
dc3a750 Replace addmod/submod with Montgomery counterparts (#145)
a891bb8 Remove unnecessary checks in `ecAdd` (#144)
3044527 Store zero before returning in ecmul trivial cases (#123)
cc25b14 Add documentation for BEE (#120)
6ff795d Add extra checks to fix some edge cases (#118)
062fbcf Document montgomeryAdd and montgomerySub (#116)
f7430f3 Delete precompiles/Montgomery.yul (#101)
f660dca Improve `montgomeryAdd` implementation (#113)
e155896 remove_switch_in_projectiveIntoAffine (#115)
637ea8e Make `modexp` consistent with the other precompiles (#117)
76bef0f ecPairing (#53)
724a49b Replace `burnGas` with `invalid` (#105)
fa1dc58 Apply audit changes to ecAdd (#102)
8173484 Add CI (#18)
95e75d2 improves_binaryExtendedEuclideanAlgorithm (#81)
2c1d38d Removes unnecessary handling of a special case on addition. (#77)
56e342d improves overflowAdd (#80)
f7e551d Add tests for points outside the field (#79)
62cf99f Removes_unnecessary_checking_in_ecMul (#78)
1f1b863 Fix field order naming (#75)
1e2b0e4 fix point comparison (#74)
f203e46 remove constant funcitons (#73)
f376abf implement suggested optimization (#70)
d9bed40 remove_unnecessary_mod (#71)
e9bf3f2 removeunused functions (#72)
cf7fbab Remove Playground.yul (#54)
e2e7e5e Python implementation for bn254 (alt_bn128) pairing (#16)
de71908 Fix format for section separators (#39)
ff93e4d Update precompiles to latest improvements (#38)
b72ee59 Clean code commets and console_log calls on main (#34)
75ac242 Remove playground crate (turned out to be useless) (#28)
8ccbe1d Add basic documentation (#20)
5c2c9f8 Update README.md
e2f7d55 Update README.md (#27)
c52393c Update README.md
281af62 Update README.md
4b90112 Update README.md
fdbcdc3 Update LICENSE (#26)
5d0380a Update README.md
d571657 Setup repo for precompile development (#17)
5b99326 Add Ethereum Execution Tests (#5)
8d1d6ae Update EcAdd.yul
0bff51f Update ModExp.yul
a3b2e1a Update EcMul.yul
87bf237 [Feature] `ecAdd` precompile (#1)
3b1bcfd [Feature] `ecMul` precompile (#2)
f7eae0d [Feature] `modexp` precompile (#3)
bb2b95f update readme
2036029 Update README.md
e50177f Repo cleanup (#4)
aae80c5 cargo init w/ extra steps
fcd4c44 Precompiles scaffolding
fc42e54 Update README.md
50f4b1e Initial commit

git-subtree-dir: .test-node-subtree
git-subtree-split: 814ae72cc5cf1d1842b3ed4ceeb8b78de43baf9c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants