sequencer-commitments

🔴 💬 A hack for the OP Stack enabling sequencer commitments.

https://github.com/0xfuturistic/sequencer-commitments

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • â—‹
    CITATION.cff file
  • ✓
    codemeta.json file
    Found codemeta.json file
  • ✓
    .zenodo.json file
    Found .zenodo.json file
  • â—‹
    DOI references
  • â—‹
    Academic publication links
  • ✓
    Committers with academic emails
    3 of 184 committers (1.6%) from academic institutions
  • â—‹
    Institutional organization owner
  • â—‹
    JOSS paper metadata
  • â—‹
    Scientific vocabulary similarity
    Low similarity (9.6%) to scientific vocabulary

Keywords

commitments ethereum optimism sequencers

Keywords from Contributors

cryptocurrencies agents pairings multi-agents interactive vulnerability-detection solidity hacking observability elliptic-curves
Last synced: 6 months ago · JSON representation

Repository

🔴 💬 A hack for the OP Stack enabling sequencer commitments.

Basic Info
  • Host: GitHub
  • Owner: 0xfuturistic
  • License: mit
  • Language: Go
  • Default Branch: develop
  • Homepage:
  • Size: 194 MB
Statistics
  • Stars: 28
  • Watchers: 1
  • Forks: 1
  • Open Issues: 27
  • Releases: 0
Topics
commitments ethereum optimism sequencers
Created over 2 years ago · Last pushed about 2 years ago
Metadata Files
Readme Contributing License Citation Codeowners Security

README.md

OP Stack Sequencer Commitments

A hack for the OP Stack introducing sequencer commitments.

Alt Text

Users that will become sequencers can enter into commitments in the EVM by leveraging Emily, a library for managing commitments on-chain developed for PEPC-DVT. This hack is a proof of concept for the OP Stack, and it is not intended to be used in production.

Why This Matters

As L2s gain momentum, sequencers' capacity to establish credible commitments becomes ever more important. This not only enhances transparency in transaction ordering but also holds the potential for versatile, general-purpose contracting with the sequencer as the counterparty.

Background Readings

I recommend checking out this thread and the article introducing PEPC-DVT.

A sample commitment is included, which allows the sequencer to commit to fee recipients for specific blocks.

Key Features

  • Dynamic Commitments: Sequencers, as accounts, can enter into commitments in the L1.
  • L2 Enforcement: Commitments made by sequencers are enforced on L2 blocks, with the logic outsourced to a a predetermined L1 contract.
  • Flexible Design: Sequencers can make commitments even if they weren't conceived during L2 contract deployment. Because of the EVM, commitments as programs are Turing-complete and can rely on any on-chain data.
  • Solidity Integration: Commitments are anchored in L1 and stored as tuples of a function and a target, leveraging PEPC-DVT's model. This allows for commitments to be defined in Solidity, and for the EVM to be used as a commitment manager.

Potential Use Cases:

  1. Customized Transaction Ordering: Empower L2 with programmable sequencing policies, offering tailored transaction processing patterns.
  2. MEV Mitigation: Design strategies in Solidity to mitigate MEV by leveraging commitments to sequence transactions in a particular way.
  3. General-purpose Contracts: Design and deploy L1-L2 interoperable contracts, facilitating granular interaction between sequencers and third parties, backed by EVM-defined commitments.
  4. Front-Running Prevention: Leveraging commitments to prevent front-running by committing to including a transaction as the first in the block or with only some specific transactions before it.
  5. Multi-Chain Atomic Operations: Facilitating atomic operations by sequencing multi-step transactions in a particular order to ensure either successful operations or no transaction at all.
  6. Commitments to Layered Prioritization: Different categories of transactions (like urgent, premium, standard) can be sequenced based on their priorities.
  7. Sequencing Services: Introducing features such as fairness in transaction ordering to minimize MEV and foster a more equitable transaction environment.

Technical Blueprint

In the Rollup Client

The OnUnsafeL2Payload function, at the heart of the client's stack (op-node), is responsible for processing new payloads. This function now integrates a call that validates payloads for commitment satisfaction. The logic for these commitments is implemented in the EVM by Emily.

go // In op-node/node/node.go func (n *OpNode) OnUnsafeL2Payload(ctx context.Context, from peer.ID, payload *eth.ExecutionPayload) error { ... // Commitments check if err := n.validateCommitments(ctx, payload); err != nil { return err } ... }

```go // In op-node/node/pepc.go func (n *OpNode) validateCommitments(ctx context.Context, payload *eth.ExecutionPayload) error { ... // Convert payload to bytecode payloadBytes, err := n.encodePayload(payload) if err != nil { return err }

// Invoke the Screener
satisfied, err := instance.Screen(nil, n.runCfg.P2PSequencerAddress(), *n.target(), payloadBytes)

if err != nil {
    return err
}
if !satisfied {
    return errors.New("ScreeningFailed")
}

} ```

In the L1

Leveraging Emily's Screener contract, we filter the payloads that don't satisfy the sequencer's commitments. The rollup's system config inherits from this contract and implements a screen function responsible for checking whether the commitments of the sequencer are satisfied by the payload being screened. Screener does this by invoking the areAccountCommitmentsSatisfiedByValue function of a CommitmentManager contract, which is responsible for storing and managing commitments.

solidity contract Screener { /// @notice Checks if the account's commitments are satisfied by the value being written. /// @param account The account that is writing the value. /// @param target The target to which the value is being written. /// @param value The value being written. /// @return True if the account's commitments are satisfied by the value being written, false otherwise. function screen(address account, bytes32 target, bytes memory value) public view virtual returns (bool) { return commitmentManager.areAccountCommitmentsSatisfiedByValue(account, target, value, block.timestamp); } } It's also worth noting that even though they are constrained in their behavior by their commitments, a sequencer may choose not to provide their signature in the first place. So the sequencer can't be forced to act in a particular way. Rather, we prevent them from doing so in specific ways (i.e., in ways that violate their commitments).

```mermaid sequenceDiagram participant Network participant OP-Node participant L1 SystemConfig participant CommitmentManager

    Network-)OP-Node: OnUnsafeL2Payload
    note right of Network: A new payload is received
    critical Validate payload satisfies all commitments
            note over L1 SystemConfig: inherits from Screener
            OP-Node->>L1 SystemConfig: screen
            note right of OP-Node: target is a series of bytes <br> identifying rollup
                    L1 SystemConfig->>CommitmentManager: areAccountCommitmmentsSatisfiedByValue
                    CommitmentManager->CommitmentManager: get sequencer's commitments for target
                    loop For each commitment
                            CommitmentManager-->CommitmentManager: check commitment is satisfied
                    end
    option Payload satisfies all commitments
            CommitmentManager->>OP-Node: return true
            OP-Node-->OP-Node: continue processing payload
    option Payload doesn't satisfy a commitment
            CommitmentManager->>OP-Node: return false
            OP-Node-->OP-Node: reject payload
    end

```

Road Ahead

  • Expand the variety of commitments provided as a sample.
  • Enhance and solidify the tests.
  • Comprehensive documentation to accompany every feature.

Contribute & Feedback

Your insights can shape the future of this initiative. Feel free to raise an issue, suggest a feature, or even fork the repository for personal tweaks. If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.

For questions and feedback, you can also reach out via Twitter.

License

This project is licensed under the MIT License. For more details, please see LICENSE file.

Owner

  • Name: diego
  • Login: 0xfuturistic
  • Kind: user

new acct

GitHub Events

Total
Last Year

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 8,671
  • Total Committers: 184
  • Avg Commits per committer: 47.125
  • Development Distribution Score (DDS): 0.808
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Mark Tyneway m****y@g****m 1,667
Kelvin Fichter k****n@o****o 777
Matthew Slipper me@m****m 496
George Hotz g****t@g****m 468
Maurelian m****n@p****h 454
protolambda p****o@p****m 423
clabby b****n@c****y 369
Andreas Bigger a****7@g****m 340
Adrian Sutton a****n@o****o 329
Joshua Gutow j****w@o****o 326
Will Cory w****y@W****l 267
Ori Pomerantz q****1@g****m 199
inphi m****1@g****m 197
Hamdi Allam h****7@g****m 171
github-actions[bot] g****] 163
dependabot[bot] 4****] 129
Conner Fromknecht c****r@a****u 127
elenadimitrova e****a@a****m 119
Michael de Hoog m****g@c****m 112
Felipe Andrade f****e@o****o 110
Liam Horne l****m@l****m 91
Georgios Konstantopoulos me@g****m 80
Karl Floersch k****l@k****m 77
Sebastian Stammler s****b@o****o 75
ben-chain b****n@p****y 73
Nicolas "Norswap" Laurent n****p@g****m 69
James Kim j****9@g****m 61
Annie Ke a****8@g****m 60
Ben Wilson b****n@o****o 58
Diego 0****c@p****e 54
and 154 more...

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 0
  • Total pull requests: 100
  • Average time to close issues: N/A
  • Average time to close pull requests: 14 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.76
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 100
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (95)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/actions/setup/action.yml actions
  • actions/setup-node v3 composite
  • foundry-rs/foundry-toolchain v1 composite
  • nrwl/nx-set-shas v3 composite
  • pnpm/action-setup v2 composite
.github/workflows/close-stale.yml actions
  • actions/stale v4 composite
.github/workflows/release-docker-canary.yml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
.github/workflows/release-snapshot.yml actions
  • ./.github/actions/setup * composite
  • actions/checkout v3 composite
  • seek-oss/changesets-snapshot v0 composite
.github/workflows/release.yml actions
  • ./.github/actions/setup * composite
  • actions/checkout v3 composite
  • actions/checkout v2 composite
  • changesets/action v1 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
.github/workflows/tag-service.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v4 composite
endpoint-monitor/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
indexer/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
indexer/docker-compose.yml docker
  • ethereumoptimism/gateway-backend latest
  • postgres latest
indexer/ui/Dockerfile docker
  • node 18.16.0-bullseye-slim build
op-batcher/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
op-challenger/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
op-exporter/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
op-heartbeat/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
op-node/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
op-program/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
op-proposer/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
op-ufm/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.4-alpine3.18 build
op-wheel/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.7-alpine3.18 build
ops/docker/ci-builder/Dockerfile docker
  • debian bullseye-20220822-slim build
  • ethereum/client-go alltools-v1.10.25 build
  • ghcr.io/crytic/echidna/echidna v2.0.4 build
  • python 3.11.4-slim-bullseye build
ops-bedrock/docker-compose.yml docker
  • nginx 1.25-alpine
proxyd/Dockerfile docker
  • alpine 3.18 build
  • golang 1.20.4-alpine3.18 build
cannon/example/claim/go.mod go
  • github.com/ethereum-optimism/optimism v0.0.0
  • golang.org/x/crypto v0.12.0
  • golang.org/x/sys v0.11.0
cannon/example/claim/go.sum go
  • github.com/davecgh/go-spew v1.1.1
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/stretchr/testify v1.8.4
  • golang.org/x/crypto v0.12.0
  • golang.org/x/sys v0.11.0
  • gopkg.in/yaml.v3 v3.0.1
cannon/example/hello/go.mod go
go.mod go
  • github.com/BurntSushi/toml v1.3.2
  • github.com/DataDog/zstd v1.5.2
  • github.com/VictoriaMetrics/fastcache v1.10.0
  • github.com/allegro/bigcache v1.2.1
  • github.com/benbjohnson/clock v1.3.0
  • github.com/beorn7/perks v1.0.1
  • github.com/bits-and-blooms/bitset v1.7.0
  • github.com/btcsuite/btcd v0.23.3
  • github.com/btcsuite/btcd/btcec/v2 v2.2.0
  • github.com/btcsuite/btcd/btcutil v1.1.0
  • github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1
  • github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f
  • github.com/cespare/xxhash/v2 v2.2.0
  • github.com/cockroachdb/errors v1.9.1
  • github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b
  • github.com/cockroachdb/pebble v0.0.0-20230209160836-829675f94811
  • github.com/cockroachdb/redact v1.1.3
  • github.com/consensys/bavard v0.1.13
  • github.com/consensys/gnark-crypto v0.10.0
  • github.com/containerd/cgroups v1.1.0
  • github.com/coreos/go-systemd/v22 v22.5.0
  • github.com/cpuguy83/go-md2man/v2 v2.0.2
  • github.com/crate-crypto/go-ipa v0.0.0-20220523130400-f11357ae11c7
  • github.com/crate-crypto/go-kzg-4844 v0.2.0
  • github.com/davecgh/go-spew v1.1.1
  • github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c
  • github.com/deckarep/golang-set/v2 v2.1.0
  • github.com/decred/dcrd/crypto/blake256 v1.0.0
  • github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0
  • github.com/deepmap/oapi-codegen v1.8.2
  • github.com/dlclark/regexp2 v1.7.0
  • github.com/docker/docker v20.10.24+incompatible
  • github.com/docker/go-units v0.5.0
  • github.com/dop251/goja v0.0.0-20230122112309-96b1610dd4f7
  • github.com/elastic/gosigar v0.14.2
  • github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3
  • github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20230817174831-5d3ca1966435
  • github.com/ethereum/c-kzg-4844 v0.2.0
  • github.com/ethereum/go-ethereum v1.12.0
  • github.com/fatih/color v1.7.0
  • github.com/felixge/fgprof v0.9.3
  • github.com/fjl/memsize v0.0.1
  • github.com/flynn/noise v1.0.0
  • github.com/francoispqt/gojay v1.2.13
  • github.com/fsnotify/fsnotify v1.6.0
  • github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08
  • github.com/gballet/go-verkle v0.0.0-20220902153445-097bd83b7732
  • github.com/getsentry/sentry-go v0.18.0
  • github.com/go-chi/chi/v5 v5.0.10
  • github.com/go-chi/docgen v1.2.0
  • github.com/go-ole/go-ole v1.2.6
  • github.com/go-sourcemap/sourcemap v2.1.3+incompatible
  • github.com/go-stack/stack v1.8.1
  • github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
  • github.com/godbus/dbus/v5 v5.1.0
  • github.com/gofrs/flock v0.8.1
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang-jwt/jwt/v4 v4.4.2
  • github.com/golang/mock v1.6.0
  • github.com/golang/protobuf v1.5.3
  • github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb
  • github.com/google/go-cmp v0.5.9
  • github.com/google/gofuzz v1.2.1-0.20220503160820-4a35382e8fc8
  • github.com/google/gopacket v1.1.19
  • github.com/google/pprof v0.0.0-20230405160723-4a4c7d95572b
  • github.com/google/uuid v1.3.1
  • github.com/gorilla/websocket v1.5.0
  • github.com/graph-gophers/graphql-go v1.3.0
  • github.com/hashicorp/errwrap v1.1.0
  • github.com/hashicorp/go-bexpr v0.1.11
  • github.com/hashicorp/go-multierror v1.1.1
  • github.com/hashicorp/golang-lru/v2 v2.0.2
  • github.com/holiman/bloomfilter/v2 v2.0.3
  • github.com/holiman/uint256 v1.2.3
  • github.com/huin/goupnp v1.1.0
  • github.com/influxdata/influxdb-client-go/v2 v2.4.0
  • github.com/influxdata/influxdb1-client v0.0.0-20220302092344-a9ab5670611c
  • github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097
  • github.com/ipfs/go-cid v0.4.1
  • github.com/ipfs/go-datastore v0.6.0
  • github.com/ipfs/go-ds-leveldb v0.5.0
  • github.com/ipfs/go-log/v2 v2.5.1
  • github.com/jackc/pgio v1.0.0
  • github.com/jackc/pgpassfile v1.0.0
  • github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a
  • github.com/jackc/pgtype v1.14.0
  • github.com/jackc/pgx/v5 v5.4.3
  • github.com/jackpal/go-nat-pmp v1.0.2
  • github.com/jbenet/go-temp-err-catcher v0.1.0
  • github.com/jbenet/goprocess v0.1.4
  • github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e
  • github.com/jinzhu/inflection v1.0.0
  • github.com/jinzhu/now v1.1.5
  • github.com/karalabe/usb v0.0.2
  • github.com/klauspost/compress v1.16.4
  • github.com/klauspost/cpuid/v2 v2.2.4
  • github.com/koron/go-ssdp v0.0.4
  • github.com/kr/pretty v0.3.1
  • github.com/kr/text v0.2.0
  • github.com/lib/pq v1.10.9
  • github.com/libp2p/go-buffer-pool v0.1.0
  • github.com/libp2p/go-cidranger v1.1.0
  • github.com/libp2p/go-flow-metrics v0.1.0
  • github.com/libp2p/go-libp2p v0.27.8
  • github.com/libp2p/go-libp2p-asn-util v0.3.0
  • github.com/libp2p/go-libp2p-pubsub v0.9.3
  • github.com/libp2p/go-libp2p-testing v0.12.0
  • github.com/libp2p/go-mplex v0.7.0
  • github.com/libp2p/go-msgio v0.3.0
  • github.com/libp2p/go-nat v0.1.0
  • github.com/libp2p/go-netroute v0.2.1
  • github.com/libp2p/go-reuseport v0.2.0
  • github.com/libp2p/go-yamux/v4 v4.0.0
  • github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd
  • github.com/mattn/go-colorable v0.1.13
  • github.com/mattn/go-isatty v0.0.19
  • github.com/mattn/go-runewidth v0.0.14
  • github.com/matttproud/golang_protobuf_extensions v1.0.4
  • github.com/miekg/dns v1.1.53
  • github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b
  • github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc
  • github.com/minio/sha256-simd v1.0.0
  • github.com/mitchellh/mapstructure v1.5.0
  • github.com/mitchellh/pointerstructure v1.2.1
  • github.com/mmcloughlin/addchain v0.4.0
  • github.com/mr-tron/base58 v1.2.0
  • github.com/multiformats/go-base32 v0.1.0
  • github.com/multiformats/go-base36 v0.2.0
  • github.com/multiformats/go-multiaddr v0.10.1
  • github.com/multiformats/go-multiaddr-dns v0.3.1
  • github.com/multiformats/go-multiaddr-fmt v0.1.0
  • github.com/multiformats/go-multibase v0.2.0
  • github.com/multiformats/go-multicodec v0.8.1
  • github.com/multiformats/go-multihash v0.2.1
  • github.com/multiformats/go-multistream v0.4.1
  • github.com/multiformats/go-varint v0.0.7
  • github.com/naoina/go-stringutil v0.1.0
  • github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416
  • github.com/olekukonko/tablewriter v0.0.5
  • github.com/onsi/ginkgo/v2 v2.11.0
  • github.com/onsi/gomega v1.27.10
  • github.com/opencontainers/runtime-spec v1.0.2
  • github.com/opentracing/opentracing-go v1.2.0
  • github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58
  • github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7
  • github.com/pkg/errors v0.9.1
  • github.com/pkg/profile v1.7.0
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/prometheus/client_golang v1.14.0
  • github.com/prometheus/client_model v0.3.0
  • github.com/prometheus/common v0.42.0
  • github.com/prometheus/procfs v0.9.0
  • github.com/quic-go/qpack v0.4.0
  • github.com/quic-go/qtls-go1-19 v0.3.3
  • github.com/quic-go/qtls-go1-20 v0.2.3
  • github.com/quic-go/quic-go v0.33.0
  • github.com/quic-go/webtransport-go v0.5.2
  • github.com/raulk/go-watchdog v1.3.0
  • github.com/rivo/uniseg v0.4.3
  • github.com/rogpeppe/go-internal v1.9.0
  • github.com/rs/cors v1.9.0
  • github.com/russross/blackfriday/v2 v2.1.0
  • github.com/shirou/gopsutil v3.21.11+incompatible
  • github.com/spaolacci/murmur3 v1.1.0
  • github.com/status-im/keycard-go v0.2.0
  • github.com/stretchr/objx v0.5.0
  • github.com/stretchr/testify v1.8.4
  • github.com/supranational/blst v0.3.11
  • github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a
  • github.com/tklauser/go-sysconf v0.3.10
  • github.com/tklauser/numcpus v0.5.0
  • github.com/tyler-smith/go-bip39 v1.1.0
  • github.com/urfave/cli/v2 v2.25.7
  • github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673
  • github.com/yusufpapurcu/wmi v1.2.2
  • go.uber.org/atomic v1.10.0
  • go.uber.org/dig v1.16.1
  • go.uber.org/fx v1.19.2
  • go.uber.org/multierr v1.11.0
  • go.uber.org/zap v1.24.0
  • golang.org/x/crypto v0.12.0
  • golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df
  • golang.org/x/mod v0.11.0
  • golang.org/x/net v0.12.0
  • golang.org/x/sync v0.3.0
  • golang.org/x/sys v0.11.0
  • golang.org/x/term v0.11.0
  • golang.org/x/text v0.12.0
  • golang.org/x/time v0.3.0
  • golang.org/x/tools v0.9.3
  • google.golang.org/protobuf v1.30.0
  • gopkg.in/natefinch/lumberjack.v2 v2.0.0
  • gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce
  • gopkg.in/yaml.v2 v2.4.0
  • gopkg.in/yaml.v3 v3.0.1
  • gorm.io/driver/postgres v1.5.2
  • gorm.io/gorm v1.25.4
  • lukechampine.com/blake3 v1.1.7
  • nhooyr.io/websocket v1.8.7
  • rsc.io/tmplfunc v0.0.3
go.sum go
  • 933 dependencies
op-exporter/go.mod go
  • github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
  • github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d
  • github.com/beorn7/perks v1.0.1
  • github.com/cespare/xxhash/v2 v2.1.2
  • github.com/davecgh/go-spew v1.1.1
  • github.com/ethereum/go-ethereum v1.10.17
  • github.com/go-logr/logr v0.4.0
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang/protobuf v1.5.2
  • github.com/google/go-cmp v0.5.8
  • github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa
  • github.com/googleapis/gnostic v0.4.1
  • github.com/json-iterator/go v1.1.11
  • github.com/matttproud/golang_protobuf_extensions v1.0.1
  • github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
  • github.com/modern-go/reflect2 v1.0.1
  • github.com/onsi/gomega v1.16.0
  • github.com/prometheus/client_golang v1.11.1
  • github.com/prometheus/client_model v0.2.0
  • github.com/prometheus/common v0.30.0
  • github.com/prometheus/procfs v0.7.3
  • github.com/sirupsen/logrus v1.7.0
  • github.com/ybbus/jsonrpc v2.1.2+incompatible
  • golang.org/x/net v0.7.0
  • golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c
  • golang.org/x/sys v0.5.0
  • golang.org/x/term v0.5.0
  • golang.org/x/text v0.7.0
  • golang.org/x/time v0.0.0-20220224211638-0e9765cccd65
  • google.golang.org/appengine v1.6.6
  • google.golang.org/protobuf v1.27.1
  • gopkg.in/alecthomas/kingpin.v2 v2.2.6
  • gopkg.in/inf.v0 v0.9.1
  • gopkg.in/yaml.v2 v2.4.0
  • k8s.io/api v0.21.2
  • k8s.io/apimachinery v0.21.2
  • k8s.io/client-go v0.21.2
  • k8s.io/klog/v2 v2.8.0
  • k8s.io/utils v0.0.0-20201110183641-67b214c5f920
  • sigs.k8s.io/structured-merge-diff/v4 v4.1.0
  • sigs.k8s.io/yaml v1.2.0
op-exporter/go.sum go
  • 813 dependencies
op-ufm/go.mod go
  • cloud.google.com/go/compute v1.20.1
  • cloud.google.com/go/compute/metadata v0.2.3
  • cloud.google.com/go/iam v1.1.0
  • cloud.google.com/go/kms v1.12.1
  • github.com/BurntSushi/toml v1.3.2
  • github.com/DataDog/zstd v1.5.2
  • github.com/VictoriaMetrics/fastcache v1.10.0
  • github.com/beorn7/perks v1.0.1
  • github.com/btcsuite/btcd/btcec/v2 v2.2.0
  • github.com/cespare/xxhash/v2 v2.2.0
  • github.com/cockroachdb/errors v1.9.1
  • github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b
  • github.com/cockroachdb/pebble v0.0.0-20230209160836-829675f94811
  • github.com/cockroachdb/redact v1.1.3
  • github.com/cpuguy83/go-md2man/v2 v2.0.2
  • github.com/deckarep/golang-set/v2 v2.1.0
  • github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0
  • github.com/ethereum-optimism/optimism/op-service v0.10.14
  • github.com/ethereum-optimism/optimism/op-signer v0.1.1
  • github.com/ethereum/go-ethereum v1.12.0
  • github.com/fsnotify/fsnotify v1.6.0
  • github.com/getsentry/sentry-go v0.18.0
  • github.com/go-ole/go-ole v1.2.6
  • github.com/go-stack/stack v1.8.1
  • github.com/gofrs/flock v0.8.1
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
  • github.com/golang/protobuf v1.5.3
  • github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb
  • github.com/google/go-cmp v0.5.9
  • github.com/google/s2a-go v0.1.4
  • github.com/googleapis/enterprise-certificate-proxy v0.2.5
  • github.com/googleapis/gax-go/v2 v2.12.0
  • github.com/gorilla/mux v1.8.0
  • github.com/gorilla/websocket v1.5.0
  • github.com/holiman/bloomfilter/v2 v2.0.3
  • github.com/holiman/uint256 v1.2.2-0.20230321075855-87b91420868c
  • github.com/klauspost/compress v1.15.15
  • github.com/kr/pretty v0.3.1
  • github.com/kr/text v0.2.0
  • github.com/mattn/go-runewidth v0.0.13
  • github.com/matttproud/golang_protobuf_extensions v1.0.4
  • github.com/olekukonko/tablewriter v0.0.5
  • github.com/pkg/errors v0.9.1
  • github.com/prometheus/client_golang v1.16.0
  • github.com/prometheus/client_model v0.3.0
  • github.com/prometheus/common v0.42.0
  • github.com/prometheus/procfs v0.10.1
  • github.com/rivo/uniseg v0.3.4
  • github.com/rogpeppe/go-internal v1.9.0
  • github.com/rs/cors v1.9.0
  • github.com/russross/blackfriday/v2 v2.1.0
  • github.com/shirou/gopsutil v3.21.11+incompatible
  • github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a
  • github.com/tklauser/go-sysconf v0.3.10
  • github.com/tklauser/numcpus v0.5.0
  • github.com/urfave/cli v1.22.9
  • github.com/yusufpapurcu/wmi v1.2.2
  • go.opencensus.io v0.24.0
  • golang.org/x/crypto v0.11.0
  • golang.org/x/exp v0.0.0-20230206171751-46f607a40771
  • golang.org/x/net v0.12.0
  • golang.org/x/oauth2 v0.10.0
  • golang.org/x/sys v0.10.0
  • golang.org/x/text v0.11.0
  • google.golang.org/api v0.132.0
  • google.golang.org/appengine v1.6.7
  • google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130
  • google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130
  • google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98
  • google.golang.org/grpc v1.56.2
  • google.golang.org/protobuf v1.31.0
  • gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce
op-ufm/go.sum go
  • 504 dependencies
packages/contracts-bedrock/test-case-generator/go.mod go
  • github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6
  • github.com/VictoriaMetrics/fastcache v1.6.0
  • github.com/btcsuite/btcd/btcec/v2 v2.2.0
  • github.com/cespare/xxhash/v2 v2.1.1
  • github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1
  • github.com/ethereum/go-ethereum v1.10.26
  • github.com/go-ole/go-ole v1.2.1
  • github.com/go-stack/stack v1.8.0
  • github.com/golang/snappy v0.0.4
  • github.com/mattn/go-runewidth v0.0.9
  • github.com/olekukonko/tablewriter v0.0.5
  • github.com/pkg/errors v0.9.1
  • github.com/prometheus/tsdb v0.7.1
  • github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible
  • github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
  • github.com/tklauser/go-sysconf v0.3.5
  • github.com/tklauser/numcpus v0.2.2
  • golang.org/x/crypto v0.1.0
  • golang.org/x/sys v0.1.0
packages/contracts-bedrock/test-case-generator/go.sum go
  • 111 dependencies
proxyd/go.mod go
  • github.com/BurntSushi/toml v1.2.0
  • github.com/DataDog/zstd v1.5.2
  • github.com/VictoriaMetrics/fastcache v1.9.0
  • github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a
  • github.com/alicebob/miniredis v2.5.0+incompatible
  • github.com/beorn7/perks v1.0.1
  • github.com/btcsuite/btcd v0.22.0-beta
  • github.com/btcsuite/btcd/btcec/v2 v2.2.0
  • github.com/cespare/xxhash/v2 v2.2.0
  • github.com/cockroachdb/errors v1.9.1
  • github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b
  • github.com/cockroachdb/pebble v0.0.0-20230209160836-829675f94811
  • github.com/cockroachdb/redact v1.1.3
  • github.com/davecgh/go-spew v1.1.1
  • github.com/deckarep/golang-set/v2 v2.1.0
  • github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1
  • github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f
  • github.com/emirpasic/gods v1.18.1
  • github.com/ethereum/go-ethereum v1.12.0
  • github.com/fsnotify/fsnotify v1.6.0
  • github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff
  • github.com/getsentry/sentry-go v0.18.0
  • github.com/go-ole/go-ole v1.2.6
  • github.com/go-redis/redis/v8 v8.11.4
  • github.com/go-stack/stack v1.8.1
  • github.com/gofrs/flock v0.8.1
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang/protobuf v1.5.2
  • github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb
  • github.com/gomodule/redigo v1.8.8
  • github.com/google/uuid v1.3.0
  • github.com/gorilla/mux v1.8.0
  • github.com/gorilla/websocket v1.5.0
  • github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d
  • github.com/holiman/bloomfilter/v2 v2.0.3
  • github.com/holiman/uint256 v1.2.2-0.20230321075855-87b91420868c
  • github.com/huin/goupnp v1.0.3
  • github.com/jackpal/go-nat-pmp v1.0.2
  • github.com/klauspost/compress v1.15.15
  • github.com/kr/pretty v0.3.1
  • github.com/kr/text v0.2.0
  • github.com/mattn/go-runewidth v0.0.13
  • github.com/matttproud/golang_protobuf_extensions v1.0.4
  • github.com/olekukonko/tablewriter v0.0.5
  • github.com/pkg/errors v0.9.1
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/prometheus/client_golang v1.14.0
  • github.com/prometheus/client_model v0.3.0
  • github.com/prometheus/common v0.39.0
  • github.com/prometheus/procfs v0.9.0
  • github.com/rivo/uniseg v0.2.0
  • github.com/rogpeppe/go-internal v1.9.0
  • github.com/rs/cors v1.8.2
  • github.com/shirou/gopsutil v3.21.11+incompatible
  • github.com/status-im/keycard-go v0.2.0
  • github.com/stretchr/testify v1.8.1
  • github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
  • github.com/tklauser/go-sysconf v0.3.10
  • github.com/tklauser/numcpus v0.4.0
  • github.com/tyler-smith/go-bip39 v1.1.0
  • github.com/yuin/gopher-lua v0.0.0-20210529063254-f4c35e4016d9
  • github.com/yusufpapurcu/wmi v1.2.2
  • golang.org/x/crypto v0.1.0
  • golang.org/x/exp v0.0.0-20230206171751-46f607a40771
  • golang.org/x/sync v0.1.0
  • golang.org/x/sys v0.7.0
  • golang.org/x/text v0.8.0
  • google.golang.org/protobuf v1.28.1
  • gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce
  • gopkg.in/yaml.v3 v3.0.1
proxyd/go.sum go
  • 464 dependencies
endpoint-monitor/package.json npm
op-exporter/package.json npm
package.json npm
  • @babel/eslint-parser ^7.18.2 development
  • @changesets/changelog-github ^0.4.8 development
  • @nrwl/nx-cloud latest development
  • @types/chai ^4.2.18 development
  • @types/chai-as-promised ^7.1.4 development
  • @types/mocha ^10.0.1 development
  • @types/node ^20.5.3 development
  • @typescript-eslint/eslint-plugin ^5.60.1 development
  • @typescript-eslint/parser ^5.60.1 development
  • chai ^4.2.0 development
  • copyfiles ^2.3.0 development
  • depcheck ^1.4.3 development
  • doctoc ^2.2.0 development
  • eslint ^8.43.0 development
  • eslint-config-prettier ^8.3.0 development
  • eslint-config-standard ^16.0.3 development
  • eslint-plugin-import ^2.26.0 development
  • eslint-plugin-jsdoc ^35.1.2 development
  • eslint-plugin-node ^11.1.0 development
  • eslint-plugin-prefer-arrow ^1.2.3 development
  • eslint-plugin-prettier ^4.0.0 development
  • eslint-plugin-promise ^5.1.0 development
  • eslint-plugin-react ^7.24.0 development
  • eslint-plugin-unicorn ^42.0.0 development
  • husky ^8.0.3 development
  • lerna ^7.1.5 development
  • lint-staged 14.0.1 development
  • markdownlint ^0.30.0 development
  • markdownlint-cli2 0.4.0 development
  • mkdirp ^1.0.4 development
  • mocha ^10.2.0 development
  • nx 16.7.3 development
  • nyc ^15.1.0 development
  • patch-package ^8.0.0 development
  • prettier ^2.8.0 development
  • prettier-plugin-solidity ^1.0.0-beta.13 development
  • rimraf ^5.0.1 development
  • ts-mocha ^10.0.0 development
  • typescript ^5.1.6 development
  • @changesets/cli ^2.26.0
  • @codechecks/client ^0.1.11
packages/chain-mon/package.json npm
  • @ethersproject/abstract-provider ^5.7.0 development
  • @nomiclabs/hardhat-ethers ^2.0.6 development
  • @nomiclabs/hardhat-waffle ^2.0.6 development
  • hardhat ^2.9.6 development
  • ts-node ^10.9.1 development
  • tsx ^3.12.7 development
  • @eth-optimism/common-ts workspace:*
  • @eth-optimism/contracts-bedrock workspace:*
  • @eth-optimism/contracts-periphery 1.0.8
  • @eth-optimism/core-utils workspace:*
  • @eth-optimism/sdk workspace:*
  • @types/dateformat ^5.0.0
  • chai-as-promised ^7.1.1
  • dateformat ^4.5.1
  • dotenv ^16.3.1
  • ethers ^5.7.2
packages/common-ts/package.json npm
  • @ethersproject/abstract-provider ^5.7.0 development
  • @ethersproject/abstract-signer ^5.7.0 development
  • @types/express ^4.17.17 development
  • @types/morgan ^1.9.4 development
  • @types/pino ^7.0.5 development
  • @types/pino-multi-stream ^5.1.3 development
  • chai ^4.3.7 development
  • supertest ^6.3.3 development
  • @eth-optimism/core-utils workspace:*
  • @sentry/node ^7.64.0
  • bcfg ^0.2.1
  • body-parser ^1.20.2
  • commander ^11.0.0
  • dotenv ^16.3.1
  • envalid ^7.3.1
  • ethers ^5.7.2
  • express ^4.18.2
  • express-prom-bundle ^6.6.0
  • lodash ^4.17.21
  • morgan ^1.10.0
  • pino ^8.15.0
  • pino-multi-stream ^6.0.0
  • pino-sentry ^0.14.0
  • prom-client ^14.2.0
packages/contracts-bedrock/package.json npm
  • @typescript-eslint/eslint-plugin ^5.62.0 development
  • @typescript-eslint/parser ^6.4.0 development
  • tsx ^3.12.7 development
  • typescript ^5.1.6 development
packages/contracts-ts/package.json npm
  • @eth-optimism/contracts-bedrock workspace:* development
  • @testing-library/jest-dom ^6.0.1 development
  • @testing-library/react-hooks ^8.0.1 development
  • @types/glob ^8.1.0 development
  • @vitest/coverage-istanbul ^0.34.1 development
  • @wagmi/cli ^1.3.0 development
  • @wagmi/core ^1.3.8 development
  • abitype ^0.9.3 development
  • glob ^10.3.3 development
  • isomorphic-fetch ^3.0.0 development
  • jest-dom link:@types/@testing-library/jest-dom development
  • jsdom ^22.1.0 development
  • tsup ^7.1.0 development
  • typescript ^5.1.6 development
  • vite ^4.4.6 development
  • vitest ^0.34.2 development
  • @testing-library/react ^14.0.0
  • react ^18.2.0
  • react-dom ^18.2.0
  • viem ^1.3.1
packages/core-utils/package.json npm
  • @types/node ^20.5.0 development
  • mocha ^10.2.0 development
  • @ethersproject/abi ^5.7.0
  • @ethersproject/abstract-provider ^5.7.0
  • @ethersproject/address ^5.7.0
  • @ethersproject/bignumber ^5.7.0
  • @ethersproject/bytes ^5.7.0
  • @ethersproject/constants ^5.7.0
  • @ethersproject/contracts ^5.7.0
  • @ethersproject/keccak256 ^5.7.0
  • @ethersproject/properties ^5.7.0
  • @ethersproject/rlp ^5.7.0
  • @ethersproject/web ^5.7.1
  • chai ^4.3.7
  • ethers ^5.7.2
  • node-fetch ^2.6.7
packages/fee-estimation/package.json npm
  • @eth-optimism/contracts-ts workspace:^ development
  • @testing-library/jest-dom ^6.0.1 development
  • @testing-library/react-hooks ^8.0.1 development
  • @vitest/coverage-istanbul ^0.34.1 development
  • abitype ^0.9.3 development
  • isomorphic-fetch ^3.0.0 development
  • jest-dom link:@types/@testing-library/jest-dom development
  • jsdom ^22.1.0 development
  • tsup ^7.1.0 development
  • typescript ^5.1.6 development
  • viem ^1.3.1 development
  • vite ^4.4.6 development
  • vitest ^0.34.2 development
packages/sdk/package.json npm
  • @ethersproject/abstract-provider ^5.7.0 development
  • @ethersproject/abstract-signer ^5.7.0 development
  • @ethersproject/transactions ^5.7.0 development
  • @nomiclabs/hardhat-ethers ^2.0.2 development
  • @nomiclabs/hardhat-waffle ^2.0.1 development
  • @types/chai ^4.3.5 development
  • @types/chai-as-promised ^7.1.5 development
  • @types/mocha ^10.0.1 development
  • @types/node ^20.5.0 development
  • chai-as-promised ^7.1.1 development
  • ethereum-waffle ^4.0.10 development
  • ethers ^5.7.2 development
  • hardhat ^2.9.6 development
  • hardhat-deploy ^0.11.4 development
  • isomorphic-fetch ^3.0.0 development
  • mocha ^10.2.0 development
  • nyc ^15.1.0 development
  • ts-node ^10.9.1 development
  • typedoc ^0.24.8 development
  • typescript ^5.1.6 development
  • viem ^1.6.0 development
  • vitest ^0.34.2 development
  • zod ^3.22.1 development
  • @eth-optimism/contracts 0.6.0
  • @eth-optimism/contracts-bedrock workspace:*
  • @eth-optimism/core-utils workspace:*
  • lodash ^4.17.21
  • merkletreejs ^0.3.10
  • rlp ^2.2.7
packages/web3js-plugin/package.json npm
  • @eth-optimism/contracts-ts workspace:^ development
  • @swc/core ^1.3.76 development
  • @vitest/coverage-istanbul ^0.34.1 development
  • tsup ^7.2.0 development
  • typescript ^5.1.6 development
  • viem ^1.6.0 development
  • vite ^4.4.9 development
  • vitest ^0.34.1 development
  • zod ^3.22.0 development
  • @ethereumjs/rlp ^5.0.0
  • web3-eth ^4.0.3
  • web3-eth-accounts ^4.0.3
pnpm-lock.yaml npm
  • 2105 dependencies
ops/check-changed/requirements.txt pypi
  • Deprecated ==1.2.13
  • PyGithub ==1.57
  • PyJWT ==2.6.0
  • PyNaCl ==1.5.0
  • certifi ==2023.7.22
  • cffi ==1.15.1
  • charset-normalizer ==2.1.1
  • idna ==3.4
  • pycparser ==2.21
  • requests ==2.28.1
  • urllib3 ==1.26.13
  • wrapt ==1.14.1
ops/tag-service/requirements.txt pypi
  • click ==8.1.3
  • semver ==3.0.0