-
Notifications
You must be signed in to change notification settings - Fork 2.2k
fix(api): Change contractAddress assignment for transaction receipts
#3452
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
fix(api): Change contractAddress assignment for transaction receipts
#3452
Conversation
slowli
left a comment
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.
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.
perekopskiy
left a comment
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.
Looks good. I haven't checked protocol/nonce questions, so an approval from @0xVolosnikov would be nice to have
|
@0xVolosnikov I've disabled |
🤖 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]>
🤖 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]>
🤖 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]>
What ❔
Changes how
contractAddressis assigned for transaction receipts. With these changes, it is assigned for EVM deployment transactions (ones withto == None) and EraVM deployments (i.e., calls toContractDeployer.{create, create2, createAccount, create2Account}) regardless of whether the transaction succeeds.Why ❔
Improves EVM compatibility.
Checklist
zkstack dev fmtandzkstack dev lint.