Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev' into chore/git-workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
0xyaco committed Jul 18, 2024
2 parents 5375d51 + 7eb706b commit 19ef0c8
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 41 deletions.
46 changes: 21 additions & 25 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,23 @@
/** @type {import('eslint').Linter.Config} */
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
tsconfigRootDir: __dirname,
sourceType: 'module',
},
plugins: ['@typescript-eslint/eslint-plugin'],
extends: [
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
root: true,
env: {
node: true,
jest: true,
},
ignorePatterns: ['.eslintrc.js'],
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': ["error", { argsIgnorePattern: "_+" }],
},
};
parser: "@typescript-eslint/parser",
parserOptions: {
project: "tsconfig.json",
tsconfigRootDir: __dirname,
sourceType: "module",
},
plugins: ["@typescript-eslint/eslint-plugin"],
extends: ["plugin:@typescript-eslint/recommended", "plugin:prettier/recommended"],
root: true,
env: {
node: true,
},
ignorePatterns: [".eslintrc.js"],
rules: {
"@typescript-eslint/interface-name-prefix": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "_+" }],
},
};
58 changes: 57 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,57 @@
# ebo-agent
# ebo-agent

The Epoch Block Oracle (EBO) introduces the use of an optimistic oracle ([Prophet](https://docs.prophet.tech/)), enabling any off-chain agent to interact with it by creating requests, proposing responses, or disputing responses in a permissionless manner. This document outlines a comprehensive implementation strategy for the agent responsible for automating all workflows associated with EBO. Within this document, you will find a detailed presentation of the high-level architecture, code design, process flows, technology stack, and project estimations.

## Table of contents

- Background
- Install
- Usage
- Contributing

## Background

The EBO agent is an open-source tool designed to poll events from the relevant on-chain smart contracts on the Protocol chain (Arbitrum) and respond to these events with specific actions tailored to the flow requirements. Additionally, the agent will interface with blockchains supported by The Graph and perform block computations for each epoch as necessary. These computations are required for various scenarios, such as responding to a request, validating a proposal, and revalidating a proposal during a dispute.

```mermaid
flowchart LR;
A[EBO Agent] --> B[Arbitrum RPC];
B --> Oracle & EBORequestCreator & DataEdge;
subgraph block-beta:Chains [Indexed Chains]
C[Chain 1]
D[Chain ...]
E[Chain N]
end
subgraph block-beta:RPC [Data Providers]
F[RPC Nodes]
H[Substreams]
end
A --> block-beta:RPC
block-beta:RPC --> block-beta:Chains
```

## Install

```
$ pnpm install
```

## Usage

```
$ pnpm start
```

## Test

```
$ pnpm test
```

## Contributing

Prophet was built with ❤️ by [Wonderland](https://defi.sucks).

Wonderland is a team of top Web3 researchers, developers, and operators who believe that the future needs to be open-source, permissionless, and decentralized.

[DeFi sucks](https://defi.sucks), but Wonderland is here to make it better.
11 changes: 8 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"prepare": "husky",
"build": "turbo run build"
"build": "turbo run build",
"lint": "turbo run lint",
"format": "turbo run format"
},
"keywords": [],
"author": "",
Expand All @@ -15,7 +17,6 @@
"@commitlint/cli": "19.3.0",
"@commitlint/config-conventional": "19.2.2",
"@ianvs/prettier-plugin-sort-imports": "4.3.1",
"@total-typescript/tsconfig": "1.0.4",
"@types/node": "20.14.11",
"@typescript-eslint/eslint-plugin": "7.16.1",
"@typescript-eslint/parser": "7.16.1",
Expand All @@ -27,7 +28,11 @@
"prettier": "3.3.3",
"turbo": "2.0.7",
"typescript": "5.5.3",
"vitest": "^2.0.3"
"vitest": "2.0.3"
},
"lint-staged": {
"*": "prettier --write --ignore-unknown",
"*.js,*.ts": "eslint --fix"
},
"packageManager": "[email protected]+sha512.140036830124618d624a2187b50d04289d5a087f326c9edfc0ccd733d76c4f52c3a313d4fc148794a2a9d81553016004e6742e8cf850670268a7387fc220c903"
}
13 changes: 1 addition & 12 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 19ef0c8

Please sign in to comment.