Skip to content

foundry-zksync: v0.0.9

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Feb 19:35
bf261c7

0.0.9 (2025-02-15)

Features

Bug Fixes

  • --gas-report: add back signatures, even if empty, avoid nesting multiple selectors (#9229) (748af79)
  • anvil: impl maybe_as_full_db for ForkedDatabase (#9465) (9af381f)
  • anvil: set best_number correctly while loading state with fork activated (539760c)
  • anvil: set best_number to state.block.number if greater (#9543) (539760c)
  • anvil: set storage.best_number correctly (#9215) (45d5997)
  • anvil: tag newly created legacy transactions on shadow fork as Some(0) (0x0) rather than None (#9195) (192a5a2)
  • cast block: ensure to print all fields (#9209) (5c69a9d)
  • cast: reset env.tx.caller for impersonated txs (#9544) (2eec098)
  • ci: update cargo deny (#9314) (4304926)
  • cli: handle id and named chain_id's correctly (#9480) (3a1e76b)
  • config: enable optimizer when optimizer_runs set in config (#9673) (017c59d)
  • coverage: allow ir-minimum for versions < 0.8.5 (#9341) (dacf341)
  • deps: update alloy-chains to fix Celo explorer API URL (#9242) (9511462)
  • evm: detect blob tx and set evm version (#9185) (c6d59b3)
  • evm: P256Verify address (#9618) (f7bb427)
  • evm: set blob_excess_gas_and_price (#9186) (b74e467)
  • forge bind: prefix keyword mod names with r# (#9761) (b081d66)
  • forge doc: display custom natspec tag (#9257) (32f8e79)
  • forge eip712: handle recursive types (#9319) (a65a5b1)
  • forge test: record only test fns in test failures (#9286) (f3376a6)
  • forge: disable artifacts for coverage (#9692) (423644e)
  • forge: run dep.has_branch in correct dir (#9453) (ade4b35)
  • forge: run git cmd in correct dir (ade4b35)
  • script: use fork_block_number for init sender nonce (#9669) (e7a0693)
  • vm.broadcastRawTransaction (#9378) (2bc7125)
  • account for impersonated tx in configure_tx_env (#9553) (dabacec)
  • add back silent option in Anvil's NodeConfig (#9181) (3ff0cdd)
  • Add gas limit estimation using paymaster balance when in use (#694) (d9babce)
  • Add missing injection of factory deps (#753) (2eb72ab)
  • add proper filter sets for ci test runs (#875) (886ff8b)
  • Add transaction type to zk tx in cast send (#767) (1ca471f)
  • add verbosity for verification compilation error (#703) (81a9bad)
  • Add zkout to gitignore template when in zksync forge init mode (#772) (c9def31)
  • allow_hyphen_values for constructor args (#9225) (4012ade)
  • anvil: Apply state overrides in debug_traceCall (#9172) (4c84dc7)
  • anvil: correctly set hardfork-specific block fields (#9202) (1229278)
  • anvil: ipc append a newline (#9608) (8555f16)
  • anvil: on anvil_mine jump to next timestamp before mine new block (#9241) (6b0c27e)
  • anvil: set auto-unlock an alias of auto-impersonate (#9256) (57bb12e)
  • avoid deadlock in nested shell calls (#9245) (ea11082)
  • avoid returning None for library addresses during fuzzing (#9771) (9f11e6d)
  • bail incomplete bytecode sequence disassemble (#9390) (cca72ab)
  • better error handling when waiting for receipt (#9253) (d402afd)
  • cast block: ensure to print all fields (5c69a9d)
  • cast storage: respect --json for layout (#9332) (d275a49)
  • cheatcode: expect revert only for calls with greater depth than test (#9537) (ca466ae)
  • cheatcodes: chain report source errors (2044fae)
  • cheatcodes: clear orderings together with trace steps on debug trace stop (#9529) (b090638)
  • cheatcodes: empty ordering and step logs too (b090638)
  • cheatcodes: improve fork cheatcodes messages (#9141) (2044fae)
  • cheatcodes: record state diff only if balance changed (#9658) (6cbf390)
  • cheatcode: support new 7702 spec (#9779) (ed63f34)
  • cheatcodes: use calldata in attachDelegation (#9407) (672bdf6)
  • cheatcode: update revm with support for updated 7702 (ed63f34)
  • cheatcode: use storage access address instead account access (#9646) (b3cd2ab)
  • chisel: on edit fail command only if execution failed (#9155) (9fe891a)
  • chisel: uint/int full word print (#9381) (cf66dea)
  • ci: run tests in hosted runner (a4f0ebf)
  • ci: Update github-hosted runner label (#846) (5c46959)
  • cli: etherlink needs eth_estimateGas for gas calculation (#9188) (ab8ebf6)
  • compute stored test address after setting the tx nonce on scripts (b40ebe1)
  • config: disable optimizer by default (#9657) (39f13df)
  • config: normalize optimizer settings (#9689) (9829054)
  • correct shell substitution in installer (#9351) (d20c142)
  • correctly set gas_limit reported by Anvil (#9774) (9d7c40e)
  • coverage: also ignore empty fallbacks and receives (#9459) (ee9d237)
  • coverage: assert should not be branch (#9467) (9ee6005)
  • coverage: clean ups, use normalized source code for locations (#9438) (7a23a5c)
  • coverage: do not report empty constructors, enable reports for receive (#9288) (91d3349)
  • coverage: do not report empty constructors, enable reports for receive fn (91d3349)
  • coverage: keep EVM version when normalizing for ir-minimum (#9768) (58900d8)
  • coverage: special functions have no name (#9441) (168b239)
  • create:zk: find by any bytecode type (909c95c)
  • default TransactionRequest (#787) (68fcb7d)
  • deny: instant and derivative are unmaintained (#730) (a088464)
  • Display name of zksync verifier (#758) (77198c6)
  • do not handle expectCall in zkEVM (#807) (9be4421)
  • do not remove snapshots directory before running the test suite (#9645) (82cf61d)
  • docker: revert to use ubuntu:22.04 as base image (#9777) (ca4740e)
  • Encode correctly paymaster input (#757) (2b973e1)
  • ens: don't resolve addr if doesn't contain . (#9635) (d2dbe3e)
  • erroneous nonce updates (#839) (7630fbd)
  • error handling with retries when waiting for receipt (#9650) (b6c094c)
  • Exclude from empty code error case where there is no calldata and value (#804) (1cd2c56)
  • fix test.yml errors (#774) (ab01854)
  • fix foundry-zksync-install CI check (#735) (0c43026)
  • fix installation script for v0.0.6 (#887) (296c8f3)
  • Fixed Forge version check (#733) (5ea23d2)
  • flaky test_broadcast_raw_create2_deployer (#9383) (37cc284)
  • fmt: multiline single param only if func definition is multiline for all_params (#9187) (216b60a)
  • force prevrandao on Moonbeam networks (#9489) (c161c7c)
  • forge create: install missing deps if any (#9401) (66228e4)
  • forge create: set skip_is_verified_check: true (#9222) (dd443c6)
  • forge doc: display custom natspec tag (32f8e79)
  • forge eip712: handle recursive types (a65a5b1)
  • forge script should adhere to --json flag (#9404) (0045384)
  • forge test: install missing dependencies before creating Project (#9379) (76a2cb0)
  • forge: allow install deps with https and gh token (f94ce46)
  • forge: allow install private deps with https and gh token (#9726) (f94ce46)
  • forge: always report deployment size in gas reports (#9308) (54ea38d)
  • forge: fix stack overflow when the lib path is absolute. (#9190) (bcdd514)
  • fork reset (#857) (2179ac1)
  • fork: set block blob_excess_gas_and_price only if excess_blob_gas header is Some (#9298) (4817280)
  • fork: set block blob_excess_gas_and_price only if excess_blob_gas header is Some (4817280)
  • foundry man artifact name (#886) (62d5ff6)
  • foundryup: set proper version for use call (#9750) (36d1a1b)
  • fuzz: exclude exernal libraries addresses from fuzz inputs (#9527) (59f354c)
  • gas price estimation cast send zk (#683) (c129b59)
  • identification of contracts in scripts (#9346) (c13d42e)
  • include withdrawals root in response (#9208) (3b0c75d)
  • incorrect repo link (af9ceec)
  • incorrect repo link in readme for foundry-compilers (#9660) (af9ceec)
  • install libssl-dev for aarch64 binaries (#858) (fea525e)
  • invariant: handle simple contract names in metrics table (#9724) (2ddea87)
  • invariant: lookup fuzz interface abi by name or identifier (#9744) (b026f7a)
  • linux installation of anvil-zksync and add ci check (#780) (e899df9)
  • mark flag incompatibility (#9530) (91030da)
  • merge journaled state during forks (#705) (c8c1e14)
  • Nonce mismatches what network expects (#726) (f83f08e)
  • platform name in release (#862) (4e12292)
  • Prepare tx transaction with right type (#783) (699f8e8)
  • propagate color config to TraceWriter (#9679) (5b4a105)
  • re-remove forge debug file (#9631) (e3ff6cb)
  • read rpc config when using fork cheatcodes (#9547) (233bff2)
  • release artifact names and tags (#866) (b993907)
  • release process (#9728) (fea3885)
  • release: allow contents write permission, run attestation after release created (#9550) (2f698e4)
  • release: allow contents write permission, run attestation after release published (2f698e4)
  • release: check env.IS_NIGHTLY as string (#9568) (0086d04)
  • release: check IS_NIGHTLY as string (0086d04)
  • remappings: check if remapping to add starts with existing remapping name (#9246) (455ba9b)
  • remappings: ignore conflicting remappings (#9521) (34ab235)
  • remappings: ignore remappings of root proj dirs when merging (#9258) (10a8e88)
  • remappings: project autoremappings should respect config (#9466) (25c978a)
  • remove duplicate gas_limit / block_gas_limit field, declare as alias (#9406) (de5e89c)
  • Remove duplicated line (#707) (5d4bdb6)
  • remove macos from ci-install-anvil-zksync-check (#786) (4a81422)
  • remove steps after steps tracing cheatcodes are done (#9234) (213d817)
  • Remove wrong estimation in create for zksync transactions (#864) (cf0a88d)
  • removes avoid-contracts in favour of --skip (#702) (772d1d8)
  • rename flag as_int -> as-int (#9235) (9d74675)
  • reset shell colors based on the input style (#9243) (7587eb5)
  • resolves issues with installing anvil-zksync with rosetta (#820) (e9562f3)
  • respect disable_block_gas_limit config key (#9732) (75462d9)
  • Respect priority fee and max fee per gas for broadcasting txs with scripts (#841) (4a216e9)
  • restore lock version 3 (#9501) (92cd165)
  • retrieve zks_getBytecodeByHash from SharedBackend when forking (#815) (b667ae0)
  • reverts changes to release from upstream merge (#634) (0b24fcc)
  • sanitize input based on solc version (#690) (883034d)
  • sanitize yul artifact contract names (#819) (31d3744)
  • script: correctly detect additional contracts (#9207) (513ed69)
  • set debug none for release profile (#9664) (6f81e76)
  • set log level for nonce revert to trace (#873) (a9289fb)
  • set user-agent header in runtime transport (#9434) (4527475)
  • skip zk tests for upstream test job (#824) (74d2079)
  • trace: check fn sigs for contract with fallbacks (#9287) (e028b92)
  • trim tag name to obtain version (#885) (113501c)
  • update era-deps to avoid BytecodeCompression error (#636) (658ee70)
  • update foundry-compilers (#743) (825279c)
  • use Debug when formatting errors (#9251) (8660e5b)
  • use cross for builds (#860) (87e8c5e)
  • use custom build profile in --version (#9733) (36393fb)
  • use dedicated gas limit for each tx in inspect_batch (f6b5d08)
  • use existing deployment nonce during storage migration (#895) (857d5d2)
  • use regular println in internal test utils to avoid interfering with cargo test runner (#9296) (b7fe62e)
  • use ubuntu:22.04 (ca4740e)
  • use zksync_deploy method to set correct tx params (9c60954)
  • verify: cached artifacts by version (#9520) (2e56b8f)
  • verify: set skip_is_verified_check: true for deploy (similar to broadcast) (dd443c6)
  • verify: strip profile from contract name (#9699) (00c944b)
  • vm.broadcastRawTransaction (2bc7125)

Performance Improvements

  • cap default poll interval (#9250) (97be9b9)
  • coverage: cache computed bytecode hash in CoverageCollector (#9457) (d35fee6)
  • coverage: cache current HitMap, reserve when merging (#9469) (22202a7)
  • coverage: improve HitMap merging and internal repr (#9456) (b7a065f)
  • coverage: use u32 for IDs, improve analysis (#9763) (4d1f72b)