A challenge agent for Optimism written in pure Rust.

Overview

op-challengerci license

Note
Work in progress.

A set-and-forget challenge agent for the OP Stack written in pure Rust 🦀

Usage

op-challenger [OPTIONS] \
  --l1-ws-endpoint <L1_WS_ENDPOINT> \
  --trusted-op-node-endpoint <TRUSTED_OP_NODE_ENDPOINT> \
  --signer-key <SIGNER_KEY> \
  --dispute-game-factory <DISPUTE_GAME_FACTORY> \
  --l2-output-oracle <L2_OUTPUT_ORACLE>

Options:
  -v, --v...
          Verbosity level (0-4) [env: VERBOSITY=]
      --l1-ws-endpoint <L1_WS_ENDPOINT>
          The Websocket RPC endpoint used to index and send transactions. [env: OP_CHALLENGER_L1_WS=]
      --trusted-op-node-endpoint <TRUSTED_OP_NODE_ENDPOINT>
          The HTTP RPC endpoint used to compare proposed outputs against. [env: OP_CHALLENGER_TRUSTED_OP_NODE_RPC=]
      --signer-key <SIGNER_KEY>
          The private key used for signing transactions. [env: OP_CHALLENGER_KEY=]
      --dispute-game-factory <DISPUTE_GAME_FACTORY>
          The address of the dispute game factory contract. [env: OP_CHALLENGER_DGF=]
      --l2-output-oracle <L2_OUTPUT_ORACLE>
          The address of the L2OutputOracle contract. [env: OP_CHALLENGER_L2OO=]
  -h, --help
          Print help
  -V, --version
          Print version

Contributing

See CONTRIBUTING.md

License

MIT, forever and always.

Credits

You might also like...
Usable, easy and safe pure-Rust crypto

orion About Orion is a cryptography library written in pure Rust. It aims to provide easy and usable crypto while trying to minimize the use of unsafe

A (mostly) pure-Rust implementation of various cryptographic algorithms.

Rust-Crypto A (mostly) pure-Rust implementation of various common cryptographic algorithms. Rust-Crypto seeks to create practical, auditable, pure-Rus

A pure-Rust implementation of group operations on Ristretto and Curve25519
A pure-Rust implementation of group operations on Ristretto and Curve25519

curve25519-dalek A pure-Rust implementation of group operations on Ristretto and Curve25519. curve25519-dalek is a library providing group operations

X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.
X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.

x25519-dalek A pure-Rust implementation of x25519 elliptic curve Diffie-Hellman key exchange, with curve operations provided by curve25519-dalek. This

Master Password in Pure Rust
Master Password in Pure Rust

Master Password •••| This is the Rust version of the original found here. This can be used as a drop-in replacement for the reference C version, offer

An implementation of the FP-Growth algorithm in pure Rust.

fp-growth-rs An implementation of the FP-Growth algorithm in pure Rust, which is inspired by enaeseth/python-fp-growth. Usage Add this to your Cargo.t

A pure-Rust implementation of various threshold secret sharing schemes

Threshold Secret Sharing Efficient pure-Rust library for secret sharing, offering efficient share generation and reconstruction for both traditional S

Pure Rust implementation of the RNCryptor cryptographic format by Rob Napier

rncryptor Rust Implementation of the RNCryptor spec This library implements the specification for the RNCryptor encrypted file format by Rob Napier. d

Pure Rust implementation of the Leighton Micali Signature scheme.

Leighton-Micali Hash-Based Signatures LMS implementation in Rust according to the IETF RFC 8554. This implementation is binary compatible with the ref

Comments
  • feat: Reverse sync

    feat: Reverse sync

    Overview

    At the moment, we only listen for output proposals / new disputes as they come in. Any ongoing disputes that were created before the op-challenger is started will not be picked up.

    We should add in a reverse sync mechanism on top of #1 that enables the op-challenger to react to ongoing disputes that are within the range of [now - finalization_period, now).

    driver 
    opened by clabby 0
  • feat: Local database for ongoing disputes

    feat: Local database for ongoing disputes

    Overview

    For the agent to keep track of ongoing disputes on restart, we should persist a local in-memory database of ongoing dispute games that may be watched by a Driver. See #3 as well.

    At the moment, the OutputAttestation game only requires one response, but future games (Fault) will require multiple responses. There should also be a new Driver that watches ongoing disputes, reacts when necessary, and prunes them when they are completed.

    driver 
    opened by clabby 0
Owner
null
CrustAGI is an Task-driven Autonomous Agent experiment written in Rust

CrustAGI ?? CrustAGI is an experimental Rust-based implementation of an AI-powered task management system that uses OpenAI and Pinecone APIs to create

Lukas Schmyrczyk 20 Apr 19, 2023
A down-to-the-metal ongoing cryptography challenge designed by Radical Semiconductor.

woodpecker ?? [NOTE: scoreboard will now be updated weekends, starting the weekend of 12/10/2022--sorry for delays! I'll also be merging in pull reque

Radical Semiconductor 16 Dec 15, 2022
🛠️ Uses zkevm-circuits and anvil mainnetfork to prove that a tx solves an EVM challenge

zk-proof-of-evm-execution This is a PoC developed at hackathon that enables a user to prove that they know some calldata that can solve a challenge on

soham 9 Mar 29, 2023
Ingraind - a security monitoring agent built around RedBPF for complex containerized environments and endpoints.

ingraind is a security monitoring agent built around RedBPF for complex containerized environments and endpoints. The ingraind agent uses eBPF probes to provide safe and performant instrumentation for any Linux-based environment.

KingoOo 5 Apr 6, 2022
Collection of cryptographic hash functions written in pure Rust

RustCrypto: hashes Collection of cryptographic hash functions written in pure Rust. All algorithms reside in the separate crates and implemented using

Rust Crypto 1.2k Jan 8, 2023
A prototype implementation of the Host Identity Protocol v2 for bare-metal systems, written in pure-rust.

Host Identity Protocol for bare-metal systems, using Rust I've been evaluating TLS replacements in constrained environments for a while now. Embedded

null 31 Dec 12, 2022
An encrypted multi client messaging system written in pure Rust

?? Preamble This is a pure Rust multi-client encrypted messaging system, also known as Edode's Secured Messaging System. It is an end-to-end(s) commun

Edode 3 Sep 16, 2022
Collection of block cipher algorithms written in pure Rust

RustCrypto: block ciphers Collection of block ciphers and block modes written in pure Rust. Warnings Currently only the aes crate provides constant-ti

Rust Crypto 506 Jan 3, 2023
An efficient, robust, and generalized batch submission service for rollup stacks written in pure rust.

archon is an efficient, robust, and generalized batch submission service for rollup stacks written in pure rust. Note Archon is primarily tested again

refcell.eth 75 Apr 2, 2023
CLI tool for managing your 2FA authentication codes written in pure Rust.

(O)TP (VA)ULT - ova. ova is a simple CLI tool which lets you manage your TOTPs, or basically lets you get your two-way authentication code straight to

Giorgi Anakidze 3 Apr 28, 2023