-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/dev' into chore/git-workflows
- Loading branch information
Showing
4 changed files
with
87 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: "_+" }], | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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": "", | ||
|
@@ -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", | ||
|
@@ -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" | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.