Skip to content

Comments

fix[contracts]: Separately generate OVM typechain artifacts#597

Merged
smartcontracts merged 5 commits intomasterfrom
fix/typechain-ovm-artifacts
Apr 26, 2021
Merged

fix[contracts]: Separately generate OVM typechain artifacts#597
smartcontracts merged 5 commits intomasterfrom
fix/typechain-ovm-artifacts

Conversation

@smartcontracts
Copy link
Contributor

Description
Fixes an issue where only EVM or OVM artifacts would be included in typechain, depending on whichever was compiled last. Now will put OVM-compiled typechain artifacts into types-ovm.

Metadata

@changeset-bot
Copy link

changeset-bot bot commented Apr 23, 2021

🦋 Changeset detected

Latest commit: e051c8b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@eth-optimism/hardhat-ovm Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Collaborator

@ben-chain ben-chain left a comment

Choose a reason for hiding this comment

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

Nice! I just have one question about CI here.

"lint:fix:typescript": "prettier --config prettier-config.json --write \"hardhat.config.ts\" \"{src,test}/**/*.ts\"",
"lint": "yarn lint:fix && yarn lint:check",
"lint:check": "tslint --format stylish --project .",
"lint:fix": "prettier --config prettier-config.json --write \"hardhat.config.ts\" \"{src,test,tasks}/**/*.ts\"",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Noting this changes the behavior of yarn lint to be fixing instead of checking. Do we need to update the CI to make sure it doesn't let some auto-fixable things through the cracks?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is a good point, going to revert this change.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reverted.

@transmissions11
Copy link
Contributor

oh woah nice did not know this could be solved at the optimism tooling level!

@transmissions11
Copy link
Contributor

ah okay this issue just fixes this issue for @eth-optimism/contracts, maybe putting something in docs about this override for the typechain task would be helpful for other projects facing the same issue 👍

@platocrat
Copy link
Contributor

platocrat commented Apr 24, 2021

ah okay this issue just fixes this issue for @eth-optimism/contracts, maybe putting something in docs about this override for the typechain task would be helpful for other projects facing the same issue 👍

Adding an issue for community-hub so that the we can add this note in the docs

@gakonst gakonst force-pushed the fix/typechain-ovm-artifacts branch from f552a14 to e051c8b Compare April 25, 2021 07:55
@gakonst
Copy link
Contributor

gakonst commented Apr 25, 2021

It seems to me the "proper" way to fix this would be to do this at hardhat-ovm? I've pushed this in e051c8b.

@smartcontracts please confirm/review and merge if you agree with this change.

@smartcontracts smartcontracts merged commit 9a7dd60 into master Apr 26, 2021
@smartcontracts smartcontracts deleted the fix/typechain-ovm-artifacts branch April 26, 2021 16:07
InoMurko referenced this pull request in omgnetwork/optimism May 25, 2021
* fix[contracts]: Generate typechain artifacts for ovm separately

* fix[contracts]: Add ovm typechain artifacts to package json

* chore[contracts]: Add changeset

* fix[contracts]: Revert change to package.json

* feat(hh-ovm): generate typechain bindings in specific directory

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
theochap pushed a commit that referenced this pull request Jan 15, 2026
Adds generic helper methods for decoding and recovering transactions on
`OpExecutionPayload`, mirroring the functionality available in
`OpPayloadAttributes`

## Changes

Added four new methods to `impl OpExecutionPayload`:
- `decoded_transactions<T: Decodable2718>()` - Decode transactions to
any type implementing `Decodable2718`
- `decoded_transactions_with_encoded<T>()` - Same as above but includes
original encoded bytes
- `recovered_transactions<T>()` - Recover signer addresses for types
implementing both `Decodable2718` and `SignerRecoverable`
- `recovered_transactions_with_encoded<T>()` - Same as above but
includes original encoded bytes

These methods provide the same functionality as the existing helpers in
`OpPayloadAttributes`
emhane added a commit that referenced this pull request Feb 4, 2026
This PR improves the robustness of the OP-Reth Proofs ExEx by process
notifications asynchronously(to avoid WAL backpressure) when the gap
between proof storage and the tip is big. This change ensures that
notification pipeline is able to keep up and gracefully handle the gap.

Closes #597

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
emhane added a commit that referenced this pull request Feb 4, 2026
This PR improves the robustness of the OP-Reth Proofs ExEx by process
notifications asynchronously(to avoid WAL backpressure) when the gap
between proof storage and the tip is big. This change ensures that
notification pipeline is able to keep up and gracefully handle the gap.

Closes #597

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-feature Category: features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Using TypeChain for L1 artifacts overwrites L2 artifacts typescript bindings and vice versa

5 participants