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

Palango/celo5 #127

Closed
wants to merge 741 commits into from
Closed

Palango/celo5 #127

wants to merge 741 commits into from

Conversation

palango
Copy link

@palango palango commented May 16, 2024

No description provided.

ajsutton and others added 30 commits April 22, 2024 15:35
* dispute-mon: Load resolved state of claims from resolvedSubgames map

* dispute-mon: Fix expected credit metrics

Sum allocated bonds across all claims in a game to get the expected credit for a recipient.
Sum metrics across all games instead of replacing.
Check credits for all recipients involved in the game (not just those assigned bonds).

---------

Co-authored-by: refcell <[email protected]>
…um-optimism#10222)

* ci(ctb): check contract size limits and isolate deny warnings

* ci: fix size check
* contracts-bedrock: cancun evm version

Turns on the cancun evm version for the evm now that
decun is on mainnet. Also ignores some compiler warnings
related to tstore, code too large and initcode too large.

* fix: human readable config

Updates the `ignored_error_codes` section in foundry.toml to be more human readable

Co-authored-by: Matt Solomon <[email protected]>

---------

Co-authored-by: Matt Solomon <[email protected]>
* abi_loader: Embed specific ABIs, panic if they fail to parse

* fix(op-challenger): bond claimer

---------

Co-authored-by: refcell <[email protected]>
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 <[email protected]>
Co-authored-by: Wyatt Barnes <[email protected]>

* 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 <[email protected]>
Co-authored-by: Mark Tyneway <[email protected]>
* 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 <[email protected]>

---------

Co-authored-by: Adrian Sutton <[email protected]>
…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 <[email protected]>

---------

Co-authored-by: refcell <[email protected]>
## Overview

Updates the deploy configuration on Sepolia devnet.
* Enable Fjord in e2e tests / test for RIP-7212

* switch to tagged op-geth
…um-optimism#10244)

* ci: Add scheduled job to check reproducibility of op-program preimages.

* ci: Add slack notification on failure.
* op-e2e: Expose fields for asterisc e2e

* op-e2e: Add Helper Initializer methods

* op-e2e: Apply initializer methods and exposed fields

* op-e2e: Expose methods for asterisc e2e
…10280)

* contracts-bedrock: remove cannon deps on bindings

Removes `cannon` deps on `op-bindings` package following
a pattern similar to ethereum-optimism#10225.
Includes test coverage of the new functions and is the minimal diff to
get things working.

Ideally there was a canonical forge artifact type that is used but for
now we don't worry about it. This unblocks further work on removing the
bindings from the monorepo, greatly improving devex.

* cannon: cleanup, new approach

* ci: attempt fix

* ci: attempt fix

* ci: fixup
* op-bindings: delete `more` files

The `op-bindings` more files existed to add
extra information to the bindings that were
helpful in particular for the L2 genesis generation
process. This commit deletes all more files as well
as the code for generating them. It also deletes
the top level `registry.go` file that used an `init`
function to populate public getters for accessing
the data in more files.

Now that the L2 genesis doesn't happen in Go, this
is all dead code. Removing this will greatly reduce
diff when smart contract code changes.

* cleanup: more dead code

* cleanup: decouple dead code
Copy link

socket-security bot commented May 16, 2024

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@babel/[email protected] unsafe Transitive: environment, filesystem, shell +53 9.42 MB nicolo-ribaudo
npm/@changesets/[email protected] environment, filesystem, shell Transitive: eval, unsafe +213 11.6 MB changesets-release-bot
npm/@eth-optimism/[email protected] None +8 430 MB optibot
npm/@sentry/[email protected] environment, filesystem, network, shell, unsafe +8 7.84 MB sentry-bot
npm/@swc/[email protected] None 0 0 B
npm/@testing-library/[email protected] None +20 1.56 MB testing-library-bot
npm/@testing-library/[email protected] environment Transitive: eval +73 12.5 MB testing-library-bot
npm/@types/[email protected] None 0 82.2 kB types
npm/@types/[email protected] None 0 5.24 kB types
npm/@types/[email protected] None +1 2.13 MB types
npm/@types/[email protected] None 0 23.3 kB types
npm/@vitest/[email protected] Transitive: environment, filesystem, shell, unsafe +198 29.8 MB vitestbot
npm/@wagmi/[email protected] Transitive: environment, filesystem, shell, unsafe +97 234 MB awkweb
npm/@wagmi/[email protected] Transitive: environment, filesystem, network +15 13.3 MB awkweb
npm/[email protected] None 0 1.16 MB awkweb
npm/[email protected] environment, filesystem +1 50.2 kB nodweber
npm/[email protected] None +4 74.4 kB chaijs
npm/[email protected] None +7 923 kB keithamus
npm/[email protected] None 0 20.7 kB chase-manning
npm/[email protected] filesystem Transitive: environment +13 4.07 MB gajus
npm/[email protected] Transitive: environment, eval, filesystem +96 5.06 MB
npm/[email protected] environment, filesystem Transitive: eval, shell, unsafe +76 9.95 MB eslintbot
npm/[email protected] environment, filesystem, network Transitive: eval, unsafe +43 1.38 MB wesleytodd
npm/[email protected] environment, filesystem Transitive: eval, network +50 16.1 MB wighawag
npm/[email protected] environment, filesystem, network, shell Transitive: unsafe +189 166 MB schaable
npm/[email protected] environment, filesystem, shell 0 3.61 kB typicode
npm/[email protected] eval, filesystem, network, shell, unsafe Transitive: environment +50 9.22 MB domenic
npm/[email protected] environment, eval, filesystem +52 4.58 MB voxpelli
npm/[email protected] environment, filesystem, shell, unsafe Transitive: eval, network +27 3.51 MB altan-nrwl
npm/[email protected] environment, filesystem, network, shell, unsafe Transitive: eval +79 9.71 MB nrwl-jason
npm/[email protected] environment, unsafe +13 294 kB andrewww
npm/[email protected] environment, unsafe Transitive: eval, filesystem +15 1.38 MB matteo.collina
npm/[email protected] environment +3 4.63 MB react-bot
npm/[email protected] environment +2 339 kB react-bot
npm/[email protected] environment, filesystem Transitive: shell +19 2.14 MB isaacs
npm/[email protected] environment, eval, filesystem Transitive: network, shell, unsafe +283 285 MB egoist
npm/[email protected] Transitive: filesystem, unsafe +27 225 MB hirokiosame
npm/[email protected] Transitive: filesystem, network +9 19.6 MB typedoc-bot
npm/[email protected] None 0 32.4 MB typescript-bot
npm/[email protected] network Transitive: environment +9 7.44 MB jmoxey
npm/[email protected] network Transitive: environment, filesystem +10 16.3 MB jmoxey
npm/[email protected] environment, eval Transitive: filesystem, network, shell, unsafe +114 16.2 MB vitestbot
npm/[email protected] Transitive: environment, eval, filesystem, network, shell, unsafe +673 335 MB awkweb
npm/[email protected] Transitive: eval +26 4.07 MB luu-alex
npm/[email protected] Transitive: eval, filesystem, network +36 5.82 MB luu-alex
npm/[email protected] None 0 667 kB colinmcd94
pypi/[email protected] filesystem, network 0 1.1 MB kjd

🚮 Removed packages: npm/@eth-optimism/[email protected], npm/@eth-optimism/[email protected], npm/@eth-optimism/[email protected], npm/@eth-optimism/[email protected], npm/@eth-optimism/[email protected], npm/@ethereumjs/[email protected], npm/@swc/[email protected], npm/@testing-library/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@typescript-eslint/[email protected], npm/@wagmi/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], pypi/[email protected], pypi/[email protected]

View full report↗︎

Copy link

socket-security bot commented May 16, 2024

🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎

To accept the risk, merge this PR and you will not be notified again.

Alert Package NoteSource
AI warning npm/[email protected]
  • Notes: The code appears to have risky practices such as downloading and executing binaries without validation and potential code execution via execSync. It does not contain obvious malware, but there is a risk associated with executing downloaded binaries and scripts without proper validation or integrity checks.
  • Confidence: 1.00
  • Severity: 0.60
Native code npm/[email protected]

View full report↗︎

Next steps

What is an AI detected anomaly?

AI has identified unusual behaviors that may pose a security risk.

An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

What's wrong with native code?

Contains native code which could be a vector to obscure malicious code, and generally decrease the likelihood of reproducible or reliable installs.

Ensure that native code bindings are expected. Consumers may consider pure JS and functionally similar alternatives to avoid the challenges and risks associated with native code bindings.

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/[email protected] or ignore all packages with @SocketSecurity ignore-all

@codecov-commenter
Copy link

codecov-commenter commented May 16, 2024

Codecov Report

Attention: Patch coverage is 59.09091% with 9 lines in your changes are missing coverage. Please review.

Project coverage is 42.36%. Comparing base (5b34a86) to head (a707fac).

Additional details and impacted files
@@             Coverage Diff              @@
##           develop     #127       +/-   ##
============================================
+ Coverage    27.94%   42.36%   +14.42%     
============================================
  Files          167       73       -94     
  Lines         7397     4836     -2561     
  Branches      1282      766      -516     
============================================
- Hits          2067     2049       -18     
+ Misses        5209     2680     -2529     
+ Partials       121      107       -14     
Flag Coverage Δ
cannon-go-tests 81.92% <59.09%> (+19.14%) ⬆️
chain-mon-tests 27.14% <ø> (ø)
common-ts-tests 26.72% <ø> (ø)
contracts-bedrock-tests ?
contracts-ts-tests 12.25% <ø> (ø)
core-utils-tests 44.03% <ø> (ø)
sdk-next-tests ?
sdk-tests 40.27% <ø> (-1.27%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
cannon/mipsevm/memory.go 81.57% <ø> (+0.70%) ⬆️
cannon/mipsevm/mips.go 95.20% <100.00%> (+0.41%) ⬆️
cannon/mipsevm/state.go 87.23% <ø> (-1.90%) ⬇️
cannon/mipsevm/patch.go 68.96% <25.00%> (-2.47%) ⬇️
cannon/mipsevm/evm.go 85.91% <62.50%> (-7.53%) ⬇️

... and 103 files with indirect coverage changes

@palango palango force-pushed the palango/celo5 branch 2 times, most recently from 51b00ee to 8bac550 Compare May 17, 2024 13:38
karlb and others added 9 commits May 17, 2024 15:47
This allows testing of newly deployed fee currencies even when
MockSortedOracles is used. This is the some implementation used in
celo-monorepo (except for updating it to a more recent solidity
version).
so that BridgedETH and other bridged ERC20 tokens can be used as fee
currencies. I won't included testing until the FeeCurrencyDirectory is
ready.
to avoid using old 0.5 solidity versions.
@palango palango closed this Jun 11, 2024
@palango palango deleted the palango/celo5 branch June 28, 2024 14:51
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.