Git Product home page Git Product logo

optimism-oracle-service's Introduction

optimism-ts-services

[Optimism] Client-Side Services

Fraud Prover

Environment Variable Required? Default Value Description
L1_WALLET_KEY Yes N/A Private key for an account on Layer 1 (Ethereum) to be used to submit fraud proof transactions.
L2_NODE_WEB3_URL No http://localhost:9545 HTTP endpoint for a Layer 2 (Optimism) Verifier node.
L1_NODE_WEB3_URL No http://localhost:8545 HTTP endpoint for a Layer 1 (Ethereum) node.
RELAY_GAS_LIMIT No 9,000,000 Maximum amount of gas to provide to fraud proof transactions (except for the "transaction execution" step).
RUN_GAS_LIMIT No 9,000,000 Maximum amount of gas to provide to the "transaction execution" step.
POLLING_INTERVAL No 5,000 Time (in milliseconds) to wait while polling for new transactions.
L2_BLOCK_OFFSET No 1 Offset between the CanonicalTransactionChain contract on Layer 1 and the blocks on Layer 2. Currently defaults to 1, but will likely be removed as soon as possible.
L1_BLOCK_FINALITY No 0 Number of Layer 1 blocks to wait before considering a given event.
L1_START_OFFSET No 0 Layer 1 block number to start scanning for transactions from.
FROM_L2_TRANSACTION_INDEX No 0 Layer 2 block number to start scanning for transactions from.

Message Passer

The Message Passer is used to confirm L2 to L1 messages on L1. By default, it will send transactions to L1 when it detects that it needs to. It can also be configured to write data to a Google Sheet so that the transactions can be closely inspected.

To run in spreadsheet mode, the following environment variables are used:

Environment Variable Description
SPREADSHEET_MODE Set this to anything to run in spreadsheet mode
SHEET_ID The ID of the Google Sheet, can be found in the URL
CLIENT_EMAIL A service account email address
CLIENT_PRIVATE_KEY A service account RSA private key

The key and service account can be managed at console.developers.google.com. A Google Sheet must be created with the correct row headers and the SHEET_ID can be pulled from the URL of the Google Sheet.

optimism-oracle-service's People

Contributors

smartcontracts avatar tynes avatar karlfloersch avatar shingonu avatar snario avatar ben-chain avatar k-ho avatar annieke avatar

Watchers

James Cloos avatar Harry Oh avatar Kevin Jeong avatar  avatar  avatar

optimism-oracle-service's Issues

Oracle challenge against not forwarding fast withdrawal

If the user tries to withdraw some big amount, say 100000 TON, and in the worst case, Oracle service doesn’t forward the request to Oracle contract, then he/she might have to wait for DTD to get back the tokens. This could be a problem since the amount involved is huge. Do we punish the Oracle service for not processing a genuine FW? Like, slashing a % of their bond in Oracle contract and then give the penalty to the user.

There is a similar problem in Hop protocol. If the bonder doesn’t serve a request, then the user needs to wait for 1 week to settle the Transfer Roots and get back their tokens. I believe in future, they will introduce a bonding/slashing mechanism for bonders.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.