Skip to content

Comments

Cody/zstd#2

Open
cody-wang-cb wants to merge 116 commits intodevelopfrom
cody/zstd
Open

Cody/zstd#2
cody-wang-cb wants to merge 116 commits intodevelopfrom
cody/zstd

Conversation

@cody-wang-cb
Copy link
Owner

No description provided.

0xyjk and others added 30 commits April 10, 2024 17:18
* op-node: fix ecotone upgrade test

Previously the upgrade transactions test made an assertion against
the bytecode that is in the bindings. This needs to be modified
because the upgrade txs cannot ever change as they are part of
consensus. Any modification to the bindings means that the assertion
will fail. We should test against the expected value directly
instead of going through the binding that has no guarantee
to be on a particular version and will change over time.

* op-node: fix test
…sm#10105)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.3.3 to 5.4.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](microsoft/TypeScript@v5.3.3...v5.4.5)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Move away from using the fallback function on weth9 towards instead
using the explicit deposit method. This is to reduce diff with the
custom gas token project, just a very small change.

The weth98 contract doesn't have a fallback function, if it did
then this change would not be required.
* contracts-bedrock: update solady imports

Without this commit, there are import issues based on some
solady imports being prefixed with `@` and some not. `lib-keccak`
has a remapping for solady with the `@` prefix and this commit
updates `contracts-bedrock` to use a remapping with `@` prefix
to solady imports.

Without a recursive git submodule init, it is not possible to
build without this change. We should also be sure of the exact version
of solady that we are using if we are running it in production code.

* op-bindings: update

* ctb: semver lock

* ctb: cleanup, bump fdg version

* op-bindings: regen

* semver: update
…sm#10080)

Bumps [@swc/core](https://github.com/swc-project/swc) from 1.4.6 to 1.4.13.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](swc-project/swc@v1.4.6...v1.4.13)

---
updated-dependencies:
- dependency-name: "@swc/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…0076)

Bumps [wagmi](https://github.com/wevm/wagmi/tree/HEAD/packages/react) from 2.5.5 to 2.5.19.
- [Release notes](https://github.com/wevm/wagmi/releases)
- [Changelog](https://github.com/wevm/wagmi/blob/main/packages/react/CHANGELOG.md)
- [Commits](https://github.com/wevm/wagmi/commits/wagmi@2.5.19/packages/react)

---
updated-dependencies:
- dependency-name: wagmi
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* removing out of date note

* removing accidental commit
* contracts-bedrock: update weth98

The custom gas token project is moving away from using
the original weth9 code as a predeploy to using the
weth98 code as a predeploy. As part of this, the ability
to override the name and symbol are required for chains
that use a custom gas token. There is no way to
mark an inline declaration as `virtual`, it requires
moving to a `function` syntax. Definitely less clean
looking but necessary to support the override ability.

The implementation of the new WETH predeploy is as follows:

```solidity
contract WETH is WETH98 {
    /// @notice Returns the name of the token from the L1Block contract
    function name() external view override returns (string memory) {
        return string.concat("Wrapped ", L1Block(Predeploys.L1_BLOCK_ATTRIBUTES).gasPayingTokenName());
    }

    /// @notice Returns the symbol of the token from the L1Block contract
    function symbol() external view override returns (string memory) {
        return string.concat("W", L1Block(Predeploys.L1_BLOCK_ATTRIBUTES).gasPayingTokenSymbol());
    }
}
```

Where when not in custom gas token mode, it with return `Wrapped Ether`
and `WETH`, so it is backwards compatible.

This commit also adds a fallback function since the original weth9 has
a fallback function but this one does not. While the receive function
can work, adding the fallback function ensures that the same behavior
as weth9 is achieved when making a call that includes calldata + value.

* contracts-bedrock: fix compile

* snapshots: update

* op-bindings: regenerate

* contracts-bedrock: cleanup weth98

* contracts-bedrock: semver lock

* contracts-bedrock: weth98 tests

* lint: fix
…mism#9813)

* feat: basic plasma da server

* catch all not found errors

* feat: switch to minio and file server

* add file

* fix: handle feedback

* fix: tidy

* fix: tidy mods again

* chore: add S3 config info
The following warning was happening in CI:

```
(node:11982) [DEP0147] DeprecationWarning: In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead
```

Simply replaces the `rmdir` with `rm`. Note that the `sync` methods
are used here instead of the async promise based methods.
…timism#10108)

* contracts-bedrock: update optimism portal guardian usage

Migrate to the modern `guardian()(address)` instead of using
`GUARDIAN()(address)`  which is deprecated. This will make
a future removal of the ABI easier to manage by reducing the
diff required when the legacy methods are removed.

* contracts-bedrock: more GUARDIAN usage

rm
…-optimism#10118)

Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.18.45 to 1.27.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@config/v1.18.45...config/v1.27.11)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… on web socket upgrader (ethereum-optimism#10107)

* feat: poller interval arg

* fix: websocket check origin

* fix: check origin behind flag

* fix: rename poller default interval
Updates foundry version to the latest nightly: https://github.com/foundry-rs/foundry/releases/tag/nightly-bdc04c278f8ac716ed5fd3994bc0da841807b5cf

This release includes foundry-rs/foundry#7632 which is required to get our kontrol proofs passing again
* ci: bump ci-builder to 0.47.0

Includes a new foundry version that fixes issues with generating
state dumps for kontrol integration.

ethereum-optimism#10125
https://app.circleci.com/pipelines/github/ethereum-optimism/optimism/50797/workflows/a85a79de-a4a8-4820-9199-ded9ffe9de7d

* lint: fix

* snapshots: update kontrol
This is going to be used by the batcher and proposer in a follow up PR to wait at startup for the sequencer to sync to tip.
…ereum-optimism#10130)

* Stop tracking changes in log folder

* Sync Conainer to host function

* Move to make-summary for specific file sync

* Copy before forge formatting on host

* Update packages/contracts-bedrock/test/kontrol/scripts/make-summary-deployment.sh

Provide full path to files needing formatting

Co-authored-by: Juan C. <38925412+JuanCoRo@users.noreply.github.com>

* Update make-summary-deployment.sh

* remove nested `utils` folder

* Update deploy snapshot and summary contracts

* make-summary-deployment.sh: only use `$SUMMARY_DIR` for `docker cp`

* .gitignore: revert `logs` folder unnecessary change

---------

Co-authored-by: F-WRunTime <freeman.wenzl@runtimeverification.com>
Co-authored-by: Freeman <105403280+F-WRunTime@users.noreply.github.com>
…10117)

* contracts-bedrock: OptimismPortal reduce codesize

Reduce the codesize of the OptimismPortal and the OptimismPortal2
by converting `require` statements into custom error reverts.
Also remove legacy getters, they only bloat codesize.

This will help to reduce the diff of when we go to production
with custom gas token as that feature put the contract over the
codesize limit.

* contracts-bedrock: cleanup errors

* contracts-bedrock: more custom errors

* contracts-bedrock: updates to portal

* contracts-bedrock: error comments

* contracts-bedrock: more custom errors

* portal: fixup style

* spec: update

* op-bindings: regenerate

* contracts-bedrock: update abi snapshots

* snapshots: kontrol deploy

* lint: fix

* op-chain-ops: cleanup tests

* contracts-bedrock: fix invariant tests

* contracts-bedrock: correct assertion

Co-authored-by: clabby <ben@clab.by>

* op-bindings: regenerate

* contracts-bedrock: cleanup style

* contracts-bedrock: update locks

* ctb: update test

* snapshots: update

* contracts-bedrock: simplify require

* contracts-bedrock: require

* contracts-bedrock: reduce diff

* bindings: regenerate

* snapshots: update

* contracts-bedrock: small update

* contracts-bedrock: more cleanup

* contracts-bedrock: update snapshots

* semver-lock: update

* lint: fix

* contracts-bedrock: fix tests

* contracts-bedrock: fix test

* kontrol: update

* contracts-bedrock: delete dead errors

* temp: fixes for kontrol

* invariant-docs: regenerate

---------

Co-authored-by: clabby <ben@clab.by>
…m-optimism#10128)

Bumps [idna](https://github.com/kjd/idna) from 3.4 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](kjd/idna@v3.4...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Revert "temp: fixes for kontrol"

This reverts commit aa0b0d5.

* kontrol: update
* improving the op-upgrade docs

* addressing code rabbit suggestions
…imism#10133)

* feat: tweaks to allow no deploy-config file

* fix: lint errors

* chore: clarify warning
* chore: fix typo

* chore: fix typo
* ci: Fix devnet-fault-proofs

* ci: Make prestate available to challenger
@cody-wang-cb cody-wang-cb force-pushed the cody/zstd branch 2 times, most recently from 9c0fa26 to a4a5967 Compare April 22, 2024 20:25
tynes and others added 23 commits April 22, 2024 20:42
Fixes broken release CI: https://github.com/ethereum-optimism/optimism/actions/runs/8788831115/job/24117187007

We have too many dependencies in the monorepo to manage them all without
accidentally breaking things. We will remove `pnpm` soon TM.
…oid duplicate txs (ethereum-optimism#10193)

* fix(batcher): check recent L1 txs at startup to avoid duplicate txs

* Add tests for checkRecentTxsOnStart

* Cleanup based on PR comments

* Move checkRecentTxs into op-service/eth package

* Address peer review comments

* Protect against reorg causing infinite loop in CheckRecentTxs

* Add missing WaitNodeSyncFlag to optionalFlags
* sdk: decouple from contracts-bedrock

Decouples the sdk from `contracts-bedrock` to enable
it to easily be moved out of the monorepo.

The foundry artifacts are build from 3fc229e and then
copy/pasted into the sdk. There are no large breaking changes
planned which is why this is safe to do. This sdk has already
been replaced by viem and in the future a Go sdk can be broken
out of the `op-e2e` package to serve as the reference implementation
of a sdk.

The typescript sdk will be subject to just work until new breaking
changes are introduced but at that point we should have sufficient
migration to the alternative solutions.

* sdk: remove dead dep

* deps: fix pnpm lock
* L2 genesis solidity updates by Wyatt and Mark

Commits:
- Tmp change for Graphite
- Add Missing Predeploys to L2 Genesis Script
- contracts-bedrock: refactor L2 genesis generation
- wip
- temp
- l2 genesis generation wip
- updates

Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com>
Co-authored-by: Wyatt Barnes <me@wyatt.email>

* L2 genesis refactor fixes

Squashed commits:

todo

add ProxyAdmin predeploy, clean up test assertions

order predeploy setters

split Predeploys and Preinstalls

L2 genesis script: bytes32(0) style suggestion

move predeploy utils to predeploy library

preinstalls bytecode

fix typos

permit2 bytecode immutable patching

activate ecotone

cleanup tests, fixes, ecotone

work in progress GenesisL2 addition to Setup()

fixes

devnet allocs

fix go lint

more fixes

fix predeploys proxy impl checking test

fix solady

continue Go integration

l2 genesis Go integration stuff

fix lint

fix go lint

lint fixes

fixes for some PR review comments

Predeploys test clean up

go test superseded by solidity testing

fix lint

cleanup and review fixes

minor fixes

test fixes

op-e2e l2 allocs filepath fix

more devnet test funds

improve logging

fix devnet allocs-l2 path naming and output file moving to .devnet

devnet allocs CI fixes

circle ci workspace allocs-l2 fixes

op-e2e: fix alloc npe

fix

enforce genesis allocs copy

op-e2e fix

go test fixes, 4788 nonce edge case, dev accounts fix, misc fixes

fix test, fix flake

fix tests

Proxy artifact workaround

update gas snapshot

undo workaround, apply config change to fix

undo failed workarounds

* contracts-bedrock: delete dead L2 genesis testing code

* state-diff: update

* ctb: L2 genesis delete dead comment

* contracts-bedrock: small cleanups

* ctb: cleanup L2 genesis comments

---------

Co-authored-by: Wyatt Barnes <me@wyatt.email>
Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com>
* indexer: remove bindings

Removes the dependency on the `op-bindings/bindings` package.
This is to improve devex in the monorepo and reduce CI time
as maintaining the bindings autogenerated in each PR just
doesn't scale. Now each service is responsible for their own
bindings. In the future, we can work towards releases of
the bindings when contracts are released.

Follows:
- ethereum-optimism#10213
- ethereum-optimism#10218
- ethereum-optimism#10221

* indexer: add missing binding
…mism#10248)

* feat(ctb): Allow for checkpointing in claim resolution

Introduces checkpointing to the `resolveClaim` function in the
`FaultDisputeGame`, allowing for the pagination of subgame resolution.

fix

* review

* feat(challenger): Resolution checkpointing support (ethereum-optimism#10253)

* feat(challenger): Resolution checkpointing support

Adds support for resolution checkpointing

* op-challenger: Use a simple maximum number of child claims to resolve per call.

---------

Co-authored-by: Adrian Sutton <adrian@oplabs.co>

---------

Co-authored-by: Adrian Sutton <adrian@oplabs.co>
…pInUnsafeQueue` (ethereum-optimism#10063)

* Add rangeReqId so we can cancel all associated block req via single flag

* Use crypto/rand instead of math/rand for randomReqId

* Use atomic counter instead of random num for rangeReqId

* Remove redundant peerRequest.complete field. Use inFlight instead

* Add mutex to activeRangeRequests map

* Do not penalize peer for block not found error

* Fix inFlight request clean up logic

* Add test checks for cancelled range request

* Add mutex protection to inFlight map

* Use constants for ResultCode

* Simplify inFlight.get method logic

* Use same struct for activeRangeRequests and inFlight
Now that ethereum-optimism#10106
has been merged, this script is dead code and can be deleted.
It was previously the cause of many race conditions and flakes
in CI. Now all genesis generation is done directly in solidity,
simplifying the process as a whole.
* op-chain-ops: delete dead code

This commit includes the deletion of a bunch of dead code
after ethereum-optimism#10106
has been merged. There is no need to maintain a bunch of custom
go code to generate the L2 genesis anymore, all of that is handled
directly in solidity.

* op-chain-ops: delete more dead code

* op-chain-ops: more cleanup

* cleanup: remove old references

* op-chain-ops: cleanup abstractions

Co-authored-by: refcell <abigger87@gmail.com>

---------

Co-authored-by: refcell <abigger87@gmail.com>
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.