Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: clean up repo ready to add well known data node information #13

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/config/markdownlinkcheckignore.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"ignorePatterns": [
{
"_comment": "Finds /protocol AC codes e.g. #0001-MKTF-001",
"pattern": "^#[0-9]{4}-[A-Z]{4}-[0-9]{3}"
},
{
"_comment": "Finds /non-protocol-specs AC codes e.g. #0001-NP-LIQB-001",
"pattern": "^#[0-9]{4}-[A-Z]{2}-[A-Z]{4}-[0-9]{3}"
}
]
}
14 changes: 14 additions & 0 deletions .github/workflows/config/markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"default": true,
"line-length": false,
"commands-show-output": false,
"no-bare-urls": true,
"no-inline-html": false,
"no-hard-tabs": false,
"MD012": {
"maximum": 2
},
"MD024": {
"siblings_only": true
}
}
1 change: 1 addition & 0 deletions .github/workflows/config/markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
LICENCE
31 changes: 0 additions & 31 deletions .github/workflows/process-oracle-providers.yml

This file was deleted.

39 changes: 39 additions & 0 deletions .github/workflows/quality_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---


name: "Quality checks"

"on":
pull_request:
branches:
- main

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
spellcheck:
name: "Spellcheck"
runs-on: ubuntu-latest
steps:
- name: "Check out"
uses: actions/[email protected]

- name: "Run PySpelling"
uses: rojopolis/[email protected]
with:
task_name: Markdown

markdownlint:
name: "Markdownlint"
runs-on: ubuntu-latest
steps:
- name: "Check out"
uses: actions/[email protected]

- name: "Run Markdownlint"
uses: nosborn/[email protected]
with:
files: .
config_file: .github/workflows/config/markdownlint.json
ignore_path: .github/workflows/config/markdownlintignore
21 changes: 21 additions & 0 deletions LICENCE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2023 Gobalsky Labs Ltd.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
116 changes: 8 additions & 108 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,120 +1,20 @@
# Vega Oracle Profiles
# Well known Vega entities

This is a repository for maintaining data about well known entities to the Vega community.

Oracle profiles are an optional, extra layer of information about oracles on the Vega network, including:
## Well known information

- Oracle name
- Description
- URL
- [Proofs](#proofs), like verified social media accounts

Oracle developers can use profiles to explain their methodology and demonstrate their reputation.

Apps on the Vega network can include profiles to help users make decisions about markets.

Profiles are also used to flag potential issues with oracles or reasons to doubt their legitimacy.

## Data stored here

- [Oracle providers](./oracle-providers/): details about public keys of known oracle providers
- [Template](./template.toml): template file for new profile submissions
- [Oracle providers](./oracle-providers): details about well known public keys of known oracle providers
- [Data nodes](./data-nodes): details about well known public data nodes

## Disclaimer

This repository is for data regarding oracles used in markets on the Vega trading platform.
This repository is for data regarding well known information related to the Vega trading platform.

Anyone can contribute to it and no representations or warranties of any kind are made by any party about the accuracy of the information contained in it.

## Quick start: creating an oracle profile

1. Copy the [template oracle profile](./template.toml)
2. Use the oracle's public key or ethereum address as the filename. For example `public-key_<pubkey>` or `ehthereum-address_<address>`
3. Populate the template with the oracle details
4. Optional: Provide [proofs](#proofs) for social media accounts
3. Open a pull request and mark it as ready for review

The Vega project team will review the contents of the PRs and if able to verify the proofs contained therein will merge it. This does not constitute an endorsement of the oracle, and does not imply the community should trust it. All it demonstrates is that the proofs are independently verifiable and this verification could (and should) be repeated by individuals within the community.

When merged, the details in the file may be shown alongside other oracle info in apps on the Vega network.

## Submission guidelines

### Public key
The public key defined in the market proposal.

As one key can act as an oracle for multiple markets, the oracle profile may be associated with more than one market.

### Description
The following markdown formatting is accepted:

- Headings
- Links
- Bold
- Underline
- Italic
- Strikethrough

### Proofs
Link to [signed messages](#how-to-sign-a-message) on websites and social media accounts to associate them with the oracle. Each proof is verified by a panel of repo admins.

Oracle providers are welcome to submit any kind of proof. Common proofs include:

- **Twitter**\
Link to a tweet containing the Twitter username as a signed message
- **Website**\
Link to a .txt file, at the website root, containing the website URL as a signed message
- **Discord**\
Link to a comment in [the Vega Protocol Discord channel](https://discord.com/channels/720571334798737489/) containing the Discord username as a signed message
- **Vega forums**\
Link to a comment in [the Vega forum](https://community.vega.xyz/) containing the forum username as a signed message
- **GitHub**\
Link to a file in a GitHub repo containing the GitHub username as a signed message


## How to sign a message

The keypair used to sign the message must match the public key in the oracle profile and market spec.

### VEGA Desktop Wallet
1. Open your Vega desktop wallet
2. Click the keypair you want to use
3. Enter your message in the text area
4. Click ‘sign’
5. Click the signed message to copy it to your clipboard

### VEGA CLI Wallet
To generate a signed message using local wallet, run the following command:

#### MacOS & Linux

```
./vegawallet sign --key ReplaceWithTheOraclePublicKey --wallet ReplaceWithTheWalletUsername --message ReplaceWithTheMessage
```

#### Windows

```
vegawallet sign --key ReplaceWithTheOraclePublicKey --wallet ReplaceWithTheWalletUsername --message ReplaceWithTheMessage
```

## Status

Apps on the Vega network may choose to expose these statuses to users.

| Flag | Description |
|:--|:--|
| Unknown | This public key's proofs have not been verified yet, or no proofs have been provided yet. |
| Good | This public key's proofs have been verified. |
| Suspicious | This public key is suspected to be acting in bad faith, pending investigation. |
| Malicious | This public key has been observed acting in bad faith. |
| Retired | This public key is no longer in use. |
| Compromised | This public key is no longer in the control of its original owners. |


## Help and issues

If you need help creating an oracle profile, you can find it in [the Vega forum](https://community.vega.xyz/).

You are also welcome to make suggestions or highlight problems by [raising an issue](https://github.com/vegaprotocol/well-known/issues/new).

- You are welcome to make suggestions or highlight problems in this repository by [raising an issue](https://github.com/vegaprotocol/well-known/issues/new).
- Open a discussion on the [Vega discussions page](https://github.com/vegaprotocol/community/discussions)
- Join the community in [Discord](https://discord.gg/vega-protocol-720571334798737489)
24 changes: 24 additions & 0 deletions data-nodes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Vega data nodes

This is a repository for maintaining data about well known entities to the Vega community, and can be used for clients and users to discover and connect to data nodes.

Data nodes provide a service by exposing read only APIs built on top of the Vega platform.

Data nodes provide the following core features:

- Consume all events from [Vega](https://github.com/vegaprotocol/vega) core
- Aggregates received events and stores the aggregated data
- Serves stored data via [APIs](https://docs.vega.xyz/mainnet/api/overview)
- Allows advanced configuration [Configure a node](https://github.com/vegaprotocol/vega/tree/develop/datanode#configuration)

To find out more about the data node service please see the data node [readme](https://github.com/vegaprotocol/vega/blob/develop/datanode/README.md) and / or the [data node operator documentaton](https://docs.vega.xyz/mainnet/node-operators/get-started/setup-datanode).

## Data stored here

- [Data node providers](./data-node-providers/data-node-profiles): details about discovery and connection to data nodes.

## Disclaimer

This repository is for data regarding oracles used in markets on the Vega trading platform.

Anyone can contribute to it and no representations or warranties of any kind are made by any party about the accuracy of the information contained in it.
39 changes: 39 additions & 0 deletions data-nodes/fairground.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"name": "fairground",
"chainid": "vega-fairground-202305051805",
"testnet": true,
"nodes": [
{
"name": "n00",
"status": "enabled",
"health": 1,
"grpc": "api.n00.testnet.vega.rocks:3007",
"rest": "https://api.n00.testnet.vega.rocks",
"graphql": "https://api.n00.testnet.vega.rocks/graphql"
},
{
"name": "n06",
"status": "enabled",
"health": 1,
"grpc": "api.n06.testnet.vega.rocks:3007",
"rest": "https://api.n06.testnet.vega.rocks",
"graphql": "https://api.n06.testnet.vega.rocks/graphql"
},
{
"name": "n07",
"status": "enabled",
"health": 1,
"grpc": "api.n07.testnet.vega.rocks:3007",
"rest": "https://api.n07.testnet.vega.rocks",
"graphql": "https://api.n07.testnet.vega.rocks/graphql"
},
{
"name": "n08",
"status": "enabled",
"health": 1,
"grpc": "api.n08.testnet.vega.rocks:3007",
"rest": "https://api.n08.testnet.vega.rocks",
"graphql": "https://api.n08.testnet.vega.rocks/graphql"
}
]
}
Loading
Loading