Skip to content

Conversation

@slowli
Copy link
Contributor

@slowli slowli commented Jan 10, 2025

What ❔

Changes how contractAddress is assigned for transaction receipts. With these changes, it is assigned for EVM deployment transactions (ones with to == None) and EraVM deployments (i.e., calls to ContractDeployer.{create, create2, createAccount, create2Account}) regardless of whether the transaction succeeds.

Why ❔

Improves EVM compatibility.

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zkstack dev fmt and zkstack dev lint.

Copy link
Contributor Author

@slowli slowli left a comment

Choose a reason for hiding this comment

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

This is a breaking change in terms of API. contractAddress will no longer be set for some of transactions (ones that we don't consider EraVM deployment txs). OTOH, it will be set for failed deployment txs.

@slowli slowli marked this pull request as ready for review January 10, 2025 13:32
perekopskiy
perekopskiy previously approved these changes Jan 28, 2025
Copy link
Contributor

@perekopskiy perekopskiy left a comment

Choose a reason for hiding this comment

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

Looks good. I haven't checked protocol/nonce questions, so an approval from @0xVolosnikov would be nice to have

@slowli
Copy link
Contributor Author

slowli commented Feb 5, 2025

@0xVolosnikov I've disabled contractAddress computations for custom AAs; i.e., it's now always set to null for them.

@slowli slowli added this pull request to the merge queue Feb 6, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 6, 2025
@slowli slowli added this pull request to the merge queue Feb 6, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 6, 2025
@slowli slowli added this pull request to the merge queue Feb 6, 2025
Merged via the queue into main with commit 4179711 Feb 6, 2025
33 checks passed
@slowli slowli deleted the aov-evm-923-transaction-receipt-should-include-contractaddress-only-if branch February 6, 2025 16:51
github-merge-queue bot pushed a commit that referenced this pull request Feb 12, 2025
🤖 I have created a release *beep* *boop*
---


##
[26.3.0](core-v26.2.1...core-v26.3.0)
(2025-02-12)


### Features

* **contract-verifier:** Do not allow verification requests for verified
contracts
([#3578](#3578))
([6a1f1b8](6a1f1b8))
* **contract-verifier:** Partial matching & automatic verification
([#3527](#3527))
([bf9fe85](bf9fe85))
* **contract-verifier:** Support missing options for EVM in API
([#3592](#3592))
([309fdf4](309fdf4))
* **en:** better EN default req entities limit, improved documentation
for API limits
([#3546](#3546))
([e7eb716](e7eb716))
* make `zksync_types` thinner
([#3574](#3574))
([e7f93e4](e7f93e4))
* new da_dispatcher metrics
([#3464](#3464))
([75a7c08](75a7c08))
* update FFLONK protocol version
([#3572](#3572))
([a352852](a352852))
* **vm:** Allow caching signature verification
([#3505](#3505))
([7bb5ed3](7bb5ed3))
* **vm:** Support missed storage invocation limit in fast VM
([#3548](#3548))
([ef67694](ef67694))


### Bug Fixes

* Add debug information to object store retries
([#3576](#3576))
([036315c](036315c))
* allow configuring NoDA client via ENV
([#3599](#3599))
([a72ab63](a72ab63))
* **api:** Change `contractAddress` assignment for transaction receipts
([#3452](#3452))
([4179711](4179711))
* **api:** Improve estimation for gas_per_pubdata_limit
([#3475](#3475))
([bda1b25](bda1b25))
* Avail gas relay decoding issues
([#3547](#3547))
([a171433](a171433))
* **ci:** commenting out getFilterChanges test until fix is ready
([#3582](#3582))
([99c3905](99c3905))
* Support newer versions of foundry-zksync
([#3556](#3556))
([d39fb6d](d39fb6d))
* **vm:** Fix VM divergences related to validation
([#3567](#3567))
([170d194](170d194))


### Performance Improvements

* **db:** Remove `events.tx_initiator_address` writes and index
([#3559](#3559))
([298abd2](298abd2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
zkzoomer pushed a commit that referenced this pull request Jun 21, 2025
🤖 I have created a release *beep* *boop*
---


##
[26.3.0](core-v26.2.1...core-v26.3.0)
(2025-02-12)


### Features

* **contract-verifier:** Do not allow verification requests for verified
contracts
([#3578](#3578))
([6a1f1b8](6a1f1b8))
* **contract-verifier:** Partial matching & automatic verification
([#3527](#3527))
([b94d1ad](b94d1ad))
* **contract-verifier:** Support missing options for EVM in API
([#3592](#3592))
([309fdf4](309fdf4))
* **en:** better EN default req entities limit, improved documentation
for API limits
([#3546](#3546))
([e7eb716](e7eb716))
* make `zksync_types` thinner
([#3574](#3574))
([292e731](292e731))
* new da_dispatcher metrics
([#3464](#3464))
([75a7c08](75a7c08))
* update FFLONK protocol version
([#3572](#3572))
([a352852](a352852))
* **vm:** Allow caching signature verification
([#3505](#3505))
([7bb5ed3](7bb5ed3))
* **vm:** Support missed storage invocation limit in fast VM
([#3548](#3548))
([ef67694](ef67694))


### Bug Fixes

* Add debug information to object store retries
([#3576](#3576))
([036315c](036315c))
* allow configuring NoDA client via ENV
([#3599](#3599))
([a72ab63](a72ab63))
* **api:** Change `contractAddress` assignment for transaction receipts
([#3452](#3452))
([4179711](4179711))
* **api:** Improve estimation for gas_per_pubdata_limit
([#3475](#3475))
([bda1b25](bda1b25))
* Avail gas relay decoding issues
([#3547](#3547))
([a171433](a171433))
* **ci:** commenting out getFilterChanges test until fix is ready
([#3582](#3582))
([99c3905](99c3905))
* Support newer versions of foundry-zksync
([#3556](#3556))
([d39fb6d](d39fb6d))
* **vm:** Fix VM divergences related to validation
([#3567](#3567))
([170d194](170d194))


### Performance Improvements

* **db:** Remove `events.tx_initiator_address` writes and index
([#3559](#3559))
([298abd2](298abd2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
dutterbutter pushed a commit to dutterbutter/zkstack-cli that referenced this pull request Jul 3, 2025
🤖 I have created a release *beep* *boop*
---


##
[26.3.0](matter-labs/zksync-era@core-v26.2.1...core-v26.3.0)
(2025-02-12)


### Features

* **contract-verifier:** Do not allow verification requests for verified
contracts
([#3578](matter-labs/zksync-era#3578))
([6a1f1b8](matter-labs/zksync-era@6a1f1b8))
* **contract-verifier:** Partial matching & automatic verification
([#3527](matter-labs/zksync-era#3527))
([a0b7ca1](matter-labs/zksync-era@a0b7ca1))
* **contract-verifier:** Support missing options for EVM in API
([#3592](matter-labs/zksync-era#3592))
([309fdf4](matter-labs/zksync-era@309fdf4))
* **en:** better EN default req entities limit, improved documentation
for API limits
([#3546](matter-labs/zksync-era#3546))
([e7eb716](matter-labs/zksync-era@e7eb716))
* make `zksync_types` thinner
([#3574](matter-labs/zksync-era#3574))
([fc84832](matter-labs/zksync-era@fc84832))
* new da_dispatcher metrics
([#3464](matter-labs/zksync-era#3464))
([75a7c08](matter-labs/zksync-era@75a7c08))
* update FFLONK protocol version
([#3572](matter-labs/zksync-era#3572))
([a352852](matter-labs/zksync-era@a352852))
* **vm:** Allow caching signature verification
([#3505](matter-labs/zksync-era#3505))
([7bb5ed3](matter-labs/zksync-era@7bb5ed3))
* **vm:** Support missed storage invocation limit in fast VM
([#3548](matter-labs/zksync-era#3548))
([ef67694](matter-labs/zksync-era@ef67694))


### Bug Fixes

* Add debug information to object store retries
([#3576](matter-labs/zksync-era#3576))
([036315c](matter-labs/zksync-era@036315c))
* allow configuring NoDA client via ENV
([#3599](matter-labs/zksync-era#3599))
([a72ab63](matter-labs/zksync-era@a72ab63))
* **api:** Change `contractAddress` assignment for transaction receipts
([#3452](matter-labs/zksync-era#3452))
([4179711](matter-labs/zksync-era@4179711))
* **api:** Improve estimation for gas_per_pubdata_limit
([#3475](matter-labs/zksync-era#3475))
([bda1b25](matter-labs/zksync-era@bda1b25))
* Avail gas relay decoding issues
([#3547](matter-labs/zksync-era#3547))
([a171433](matter-labs/zksync-era@a171433))
* **ci:** commenting out getFilterChanges test until fix is ready
([#3582](matter-labs/zksync-era#3582))
([99c3905](matter-labs/zksync-era@99c3905))
* Support newer versions of foundry-zksync
([#3556](matter-labs/zksync-era#3556))
([d39fb6d](matter-labs/zksync-era@d39fb6d))
* **vm:** Fix VM divergences related to validation
([#3567](matter-labs/zksync-era#3567))
([170d194](matter-labs/zksync-era@170d194))


### Performance Improvements

* **db:** Remove `events.tx_initiator_address` writes and index
([#3559](matter-labs/zksync-era#3559))
([298abd2](matter-labs/zksync-era@298abd2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
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