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

Migration f8143c8cbc4cc0c83922c53f17a1e47280673485 #210

Merged
merged 687 commits into from
Aug 26, 2024

Conversation

rlgns98kr
Copy link
Member

  • update Fjord (@nguyenzung The native token feature is not applied)
  • resolve e2e (@nguyenzung I commented some code you made about native token feature)
  • keep op-bindings (Optimism delete it. But I think there are some many changes and it is not convenient yet. So, I think we can keep op-bindings)
  • keep op-chain-ops L2 genesis (Optimism use the scripts/L2Genesis.sol to create l2 genesis. But we have some predeploys in the op-chain-ops. So I think we can keep our version)

Thank you very much!
https://github.com/tokamak-network/tokamak-thanos/commits/migration-f8143c8cbc4cc0c83922c53f17a1e47280673485

ajsutton and others added 30 commits May 3, 2024 00:38
Custom config options were being applied before the defaults, causing them to be overwritten.
In particular this meant there was a small sequencer window and safe head progressed rapidly.
* ctb: Add deploySecurityCouncilSafe

* ctb: Allow _callViaSafe to use an arbitrary safe address

* ctb: Refactor Security Council deploy

Adds console.log calls

Uses the new _callViaSafe to reduce a lot of boilerplate

* ctb: Add livenessModuleInterval to deploy config

* ctb: Add livenessModuleThresholdPercentage to deploy config

* ctb: Add LivenessModuleMinOwners to deploy config

* ctb: Add council safe config and satisfy liveness module constructor

* ctb: Make liveness deploy funcs public

* Add DeployOwnership.sol

* Use deploySafe(name) to deploy SC and Foundation

* ctb: just use addr_ on all named returns

* ctb: Fix create2 collision in deploySafe

* ctb: Add example foundation config

* ctb: Add example council config and set it up

* ctb: Remove unused imports

* ctb: Address feedback on deploy ownership

* Add override for deploySafe with custom owners and threshold

ctb: Use the deploySafe override where applicable

* ctb: cleanup keepDeployer logic

* fixup! Add override for deploySafe with custom owners and threshold

* snapshots
Skip check for codesize on gov token address if governance is
not enabled.
It requires env vars that aren't set for external PRs.
Promotes the fault proof contracts that are semantically versioned to
`1.0.0`, in preparation for the upcoming deployment.
* cannon: Adjust initial heap start

This gives the program more memory to work with; minimizing the chance
of heap/stack corruption.

* Update cannon/mipsevm/patch.go

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: clabby <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* ctb: Deploy DeputyGuardianModule

WIP: need to fix superchainconfig address issue

* ctb: Expand security council config
* op-chain-ops: Add unclaimed game credits script

`unclaimed-credits` computes the unclaimed credits across all games and
who is eligible to claim them.

Useful for superchain-ops actions.

* account for step creditors
Now that the fault proof contracts release has happened, we
can merge in the custom gas token changes.

This reverts commit 2b1c99b.
Previous implementation didn't correctly serialize as string
so it came out as unreadable, now we make sure to abi encode
and decode correctly. Enables us to know which commit the code
runs on to help with debugging.
slither is currently erroring in CI with a strange error.
This bumps `slither` to the latest release in an attempt to
fix that issue.

The issue is described here: ethereum-optimism/optimism#10410

The release can be found here: https://github.com/crytic/slither/releases

This needs a release of `ci-builder` followed up to get the new version
of slither running in CI.
Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.13.14 to 1.13.15.
- [Release notes](https://github.com/ethereum/go-ethereum/releases)
- [Commits](ethereum/go-ethereum@v1.13.14...v1.13.15)

---
updated-dependencies:
- dependency-name: github.com/ethereum/go-ethereum
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Overview

Updates the sepola devnet 0 deploy config's absolute prestate value to
match that of `op-program/v1.0.0`'s tag.

### Verification

1. `git checkout op-program/v1.0.0`
1. In the monorepo root, run `make reproducible-prestsate`
1. Compare the resulting prestate hash with the one in this PR.
* ci: `ci-builder:0.49.0`

Includes a bump of slither

ethereum-optimism/optimism#10411

* ci: slither github action bump version
* op-chain-ops: delete memdb

The simple in memory statedb implementation that was
backed by a genesis has served us well but is no longer
required since we build the genesis files using foundry.
This was originally used to enable simple execution to
deploy contracts and then dump into a `genesis.json`.
Keeping this memdb around will only bloat PRs that update
the geth version as they may change the interface to the
statedb. Instead of using the memdb interface, the genesis
is modified directly.

* lint: fix

* style: way better

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

* build: fix

* build: fix

---------

Co-authored-by: protolambda <[email protected]>
* Revert "Revert "Merge pull request #8242 from ethereum-optimism/go-docker-targets""

This reverts commit d972c46.

It also fixes up some conflicts / inconsistencies,
 since op-conductor was added after the original revert.

* ops: experimental cross-build fixes

* Retrieve git tag in Circle CI and use to set op version within docker image

* Update dispute-mon and da-server to use new docker build flow

* Fix GIT_VERSION script in Circle CI config.yml

* Update ops-bedrock docker-compose to use new docker build flow

* Load pre-built op-challenger image in devnet tests

* Save op-challenger.tar to avoid docker rebuild in devnet tests

* Add Circle CI job for check-cross-platform

* Allow env var to override VERSION in Makefiles

* Pass version to op-program components except op-program-client

* Wrap all docker-bake variable names in quotes

---------

Co-authored-by: protolambda <[email protected]>
Since slither seems to be failing consistently in CI, try bumping the
versions of the tooling.

Bumps to latest slither github action release: https://github.com/crytic/slither-action/releases/tag/v0.4.0

Meant to fix the slither issue seen in ethereum-optimism/optimism#10408

```
[-] SARIF output enabled, writing to results.sarif.
[-] Slither config provided: packages/contracts-bedrock/slither.config.json
[-] SLITHERARGS provided. Running slither with extra arguments
'forge clean' running (wd: /github/workspace/packages/contracts-bedrock)
'forge config --json' running
'forge build --build-info --skip */test/** */scripts/** --force' running (wd: /github/workspace/packages/contracts-bedrock)
Traceback (most recent call last):
  File "/opt/slither/bin/slither", line 8, in <module>
    sys.exit(main())
  File "/opt/slither/lib/python3.9/site-packages/slither/__main__.py", line 753, in main
    main_impl(all_detector_classes=detectors, all_printer_classes=printers)
  File "/opt/slither/lib/python3.9/site-packages/slither/__main__.py", line 859, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
  File "/opt/slither/lib/python3.9/site-packages/slither/__main__.py", line 107, in process_all
    ) = process_single(compilation, args, detector_classes, printer_classes)
  File "/opt/slither/lib/python3.9/site-packages/slither/__main__.py", line 80, in process_single
    slither = Slither(target, ast_format=ast, **vars(args))
  File "/opt/slither/lib/python3.9/site-packages/slither/slither.py", line 156, in __init__
    sol_parser.parse_top_level_items(ast, path)
  File "/opt/slither/lib/python3.9/site-packages/slither/solc_parsing/slither_compilation_unit_solc.py", line 326, in parse_top_level_items
    get_imported_scope = self.compilation_unit.get_scope(import_directive.filename)
  File "/opt/slither/lib/python3.9/site-packages/slither/core/compilation_unit.py", line 282, in get_scope
    filename = self._crytic_compile_compilation_unit.crytic_compile.filename_lookup(
  File "/opt/slither/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 283, in filename_lookup
    raise ValueError(f"{filename} does not exist")
ValueError: lib/openzeppelin-contracts/contracts/utils/Context.sol does not exist
```
* fix(op-dispute-mon): log the claim id to validate the claim during investigation

* fix(op-dispute-mon): log the clock value as well
* adding  fault-wd-mon

* adding faultproof wd-mon

* adding faultproof wd-mon

* fixing docker file

* fixing how we get disputegame given a withdrawal log

* code review fix

* fix type
* bedrock-devnet: add useInterop flag

* op-chain-ops: add useInterop flag

* op-node: add useInterop flag to config

* contracts-bedrock: add useInterop flag to DeployConfig

* contracts-bedrock: add useInterop flag to Predeploy's getName

* contracts-bedrock: add useInterop flag to L2Genesis

* contracts-bedrock: add useInterop flag to Predeploy's test

* contracts-bedrock: add useInterop flag to CommonTest

* contracts-bedrock: add useInterop flag to Setup

* Revert "op-chain-ops: add useInterop flag"

This reverts commit 83c63cc63bcccf15c8f2e7d7c4f74d0316abcdae.

* Revert "op-node: add useInterop flag to config"

This reverts commit c3617f9fd8ae4777cf4f13dd399167f0718cd9d1.

* Revert "bedrock-devnet: add useInterop flag"

This reverts commit 858257c8666af70586e6f40a510b2a0ff3056bcb.

* contracts-bedrock: use L1Block in Predeploys for L1BlockInterop

* contracts-bedrock: update gas-snapshot

* op-chain-ops: add UseInterop flag to genesis DeployConfig

* contracts-bedrock: remove useInterop argument in Predeploys

* op-chain-ops: make UseInterop flag optional

Co-Authored-By: protolambda <[email protected]>

---------

Co-authored-by: protolambda <[email protected]>
* fix(op-dispute-mon): unresolved claim logging

* fix(op-dispute-mon): lints

* fix(op-dispute-mon): unresolved claim logging

* fix(op-dispute-mon): move resolution response buffer to a constant
…357)

* op-node: Increase MaxChannelBankSize with Fjord

This also creates a ChainSpec object which is responsible for returning protocol
parameters. We use a different object than the rollup.Config because the config
is primarily a disk representation & does not concern itself with protocol constants.

* op-node: Increase MaxRLPBytesPerChannel with Fjord
@rlgns98kr rlgns98kr force-pushed the migration-f8143c8cbc4cc0c83922c53f17a1e47280673485 branch from dfbfb24 to 885d9dd Compare August 20, 2024 07:34
@rlgns98kr
Copy link
Member Author

update Fjord (@nguyenzung The native token feature is not applied)

You mean in the Fjord version, the custom gas token from OP is not applied?

No, It is not applied as well!
But I mean that our Native token feature didn't apply in this PR. I follow the Optimism's code (Bridge, CDM, Portal2)

@rlgns98kr rlgns98kr force-pushed the migration-f8143c8cbc4cc0c83922c53f17a1e47280673485 branch from 885d9dd to dc6df49 Compare August 20, 2024 07:37
@rlgns98kr rlgns98kr force-pushed the migration-f8143c8cbc4cc0c83922c53f17a1e47280673485 branch from dc6df49 to dfe31ae Compare August 20, 2024 07:44
@rlgns98kr rlgns98kr requested review from theo-learner, ohbyeongmin, AaronLee22, xxeonge and a team and removed request for a team, theo-learner, ohbyeongmin, AaronLee22 and xxeonge August 21, 2024 04:32
@ohbyeongmin
Copy link
Collaborator

How do we manage contracts of applied our NativeToken feature?

@rlgns98kr
Copy link
Member Author

How do we manage contracts of applied our NativeToken feature?

https://github.com/tokamak-network/tokamak-thanos/tree/codeReview

It is operating in this branch. But update task will be taken manually. (There are so many conflict with this branch)

@ohbyeongmin
Copy link
Collaborator

How do we manage contracts of applied our NativeToken feature?

https://github.com/tokamak-network/tokamak-thanos/tree/codeReview

It is operating in this branch. But update task will be taken manually. (There are so many conflict with this branch)

I understand. thank you!
Do you plan to do version control after the audit?

@rlgns98kr
Copy link
Member Author

How do we manage contracts of applied our NativeToken feature?

https://github.com/tokamak-network/tokamak-thanos/tree/codeReview
It is operating in this branch. But update task will be taken manually. (There are so many conflict with this branch)

I understand. thank you! Do you plan to do version control after the audit?

After internal code review, we will update main branch to be included Native token feature.
I think we can control version from then on. 🙇🏻‍♂️

@theo-learner
Copy link
Collaborator

theo-learner commented Aug 22, 2024

@rlgns98kr Thank you so much! Please check out the comments.

  1. packages/tokamak/contracts-bedrock/README.md is already updated to our contracts in Or 1738 update README of thanos-contracts #202. Could you restore it? Let me update the README file with the Fjord version after merging this PR.
  2. It seems some bindings should be updated. Could you check it once again?

@rlgns98kr
Copy link
Member Author

@rlgns98kr Thank you so much! Please check out the comments.

  1. packages/tokamak/contracts-bedrock/README.md is already updated to our contracts in Or 1738 update README of thanos-contracts #202. Could you restore it? Let me update the README file with the Fjord version after merging this PR.
  2. It seems some bindings should be updated. Could you check it once again?

I think the README.md is updated lots of things. How about updating one more based on Fjord ? (I'm sorry. I think you can share your thoughts)
Can you share updated binding list in your local? I think I have updated all binding files already. If you say about the uniswapv3factory_more.go, it had been updated manually in the past. And faultdisputegame.go is fixed manullay. because abigen tool does not have the option to exclude user-defined struct.(we have to remove it. because optimismportal.go has the type already)

@theo-learner
Copy link
Collaborator

theo-learner commented Aug 22, 2024

@rlgns98kr Thank you so much! Please check out the comments.

  1. packages/tokamak/contracts-bedrock/README.md is already updated to our contracts in Or 1738 update README of thanos-contracts #202. Could you restore it? Let me update the README file with the Fjord version after merging this PR.
  2. It seems some bindings should be updated. Could you check it once again?

I think the README.md is updated lots of things. How about updating one more based on Fjord ? (I'm sorry. I think you can share your thoughts) Can you share updated binding list in your local? I think I have updated all binding files already. If you say about the uniswapv3factory_more.go, it had been updated manually in the past. And faultdisputegame.go is fixed manullay. because abigen tool does not have the option to exclude user-defined struct.(we have to remove it. because optimismportal.go has the type already)

  1. README is already included these contents: directory structure, contracts overview, installation, deployment and static analysis. I think we need to update it for fault proof contracts deployed to L1 and L2. Do we need to apply all the contents of OP Fjord README?
  2. I updated 4 files in my local: faultdisputegame.go, uniswapv3factory_more.go, wnativetoken_more.go, and wnativetoken.go. Now I'm clear on the first two files. The last two files are updated to change the bin code.

@rlgns98kr
Copy link
Member Author

rlgns98kr commented Aug 22, 2024

@rlgns98kr Thank you so much! Please check out the comments.

  1. packages/tokamak/contracts-bedrock/README.md is already updated to our contracts in Or 1738 update README of thanos-contracts #202. Could you restore it? Let me update the README file with the Fjord version after merging this PR.
  2. It seems some bindings should be updated. Could you check it once again?

I think the README.md is updated lots of things. How about updating one more based on Fjord ? (I'm sorry. I think you can share your thoughts) Can you share updated binding list in your local? I think I have updated all binding files already. If you say about the uniswapv3factory_more.go, it had been updated manually in the past. And faultdisputegame.go is fixed manullay. because abigen tool does not have the option to exclude user-defined struct.(we have to remove it. because optimismportal.go has the type already)

  1. README is already included these contents: directory structure, contracts overview, installation, deployment and static analysis. I think we need to update it for fault proof contracts deployed to L1 and L2. Do we need to apply all the contents of OP Fjord README?
  2. I updated 4 files in my local: faultdisputegame.go, uniswapv3factory_more.go, wnativetoken_more.go, and wnativetoken.go. Now I'm clear on the first two files. The last two files are updated to change the bin code.
  1. I think it's not important discussion. We can go things we want. What do you prefer? (changes)
  2. Did you update foundry? If you have updated foundry, Can you share your foundry artifacts of WNativeToken?

@theo-learner
Copy link
Collaborator

@rlgns98kr Thank you so much! Please check out the comments.

  1. packages/tokamak/contracts-bedrock/README.md is already updated to our contracts in Or 1738 update README of thanos-contracts #202. Could you restore it? Let me update the README file with the Fjord version after merging this PR.
  2. It seems some bindings should be updated. Could you check it once again?

I think the README.md is updated lots of things. How about updating one more based on Fjord ? (I'm sorry. I think you can share your thoughts) Can you share updated binding list in your local? I think I have updated all binding files already. If you say about the uniswapv3factory_more.go, it had been updated manually in the past. And faultdisputegame.go is fixed manullay. because abigen tool does not have the option to exclude user-defined struct.(we have to remove it. because optimismportal.go has the type already)

  1. README is already included these contents: directory structure, contracts overview, installation, deployment and static analysis. I think we need to update it for fault proof contracts deployed to L1 and L2. Do we need to apply all the contents of OP Fjord README?
  2. I updated 4 files in my local: faultdisputegame.go, uniswapv3factory_more.go, wnativetoken_more.go, and wnativetoken.go. Now I'm clear on the first two files. The last two files are updated to change the bin code.
  1. I think it's not important discussion. We can go things we want. What do you prefer? (changes)
  2. Did you update foundry? If you have updated foundry, Can you share your foundry artifacts of WNativeToken?

Thanks for your answer.

  1. I think 0874473 is sufficient for us.
  2. My foundry version is 0.2.0 (63fff3510 2024-08-23T02:30:26.944892000Z). Let me send the foundry artifacts of WNativeToken.

@rlgns98kr
Copy link
Member Author

rlgns98kr commented Aug 23, 2024

@rlgns98kr Thank you so much! Please check out the comments.

  1. packages/tokamak/contracts-bedrock/README.md is already updated to our contracts in Or 1738 update README of thanos-contracts #202. Could you restore it? Let me update the README file with the Fjord version after merging this PR.
  2. It seems some bindings should be updated. Could you check it once again?

I think the README.md is updated lots of things. How about updating one more based on Fjord ? (I'm sorry. I think you can share your thoughts) Can you share updated binding list in your local? I think I have updated all binding files already. If you say about the uniswapv3factory_more.go, it had been updated manually in the past. And faultdisputegame.go is fixed manullay. because abigen tool does not have the option to exclude user-defined struct.(we have to remove it. because optimismportal.go has the type already)

  1. README is already included these contents: directory structure, contracts overview, installation, deployment and static analysis. I think we need to update it for fault proof contracts deployed to L1 and L2. Do we need to apply all the contents of OP Fjord README?
  2. I updated 4 files in my local: faultdisputegame.go, uniswapv3factory_more.go, wnativetoken_more.go, and wnativetoken.go. Now I'm clear on the first two files. The last two files are updated to change the bin code.
  1. I think it's not important discussion. We can go things we want. What do you prefer? (changes)
  2. Did you update foundry? If you have updated foundry, Can you share your foundry artifacts of WNativeToken?

Thanks for your answer.

  1. I think 0874473 is sufficient for us.
  2. My foundry version is 0.2.0 (63fff3510 2024-08-23T02:30:26.944892000Z). Let me send the foundry artifacts of WNativeToken.
  1. I updated the README.md!

{"compiler":{"version":"0.5.17+commit.d19bba13"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"address","name":"guy","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"dst","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Deposit","anonymous":false},{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"address","name":"dst","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Withdrawal","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"deposit"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"}],"devdoc":{"methods":{}},"userdoc":{"methods":{}}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"compilationTarget":{"src/vendor/WNativeToken.sol":"WNativeToken"},"evmVersion":"istanbul","libraries":{"SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/vendor/WNativeToken.sol":{"keccak256":"0x04c9852e7e051ce560724aed839ceb48b8bc93074d56e3687b52ebd60d46b276","urls":["bzz-raw://0b511053199ca07cc2d2493deaf21c9b504eab3cd40494210cf3b598e0258710","dweb:/ipfs/QmQxzDBWFwJdTef69N47ckfPDHZqaRu7p1QYY9mbpTrpeE"],"license":null}},"version":1}

Above data's IPFS hash will be included in the byte code. It is changed the bytecode because we changed remmapping. Even though we set the bytecode_hash = false in the foundry.yaml, it is forced to include bytecode_hash in the previous solc version (less than 0.6.0).

Copy link
Collaborator

@theo-learner theo-learner left a comment

Choose a reason for hiding this comment

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

Thank you so much! LGTM!

@rlgns98kr rlgns98kr merged commit 25a875d into main Aug 26, 2024
14 checks passed
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.