-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6 from euler-xyz/refactor
add specification, update files to conform, add products.json, verifi…
- Loading branch information
Showing
8 changed files
with
323 additions
and
54 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 |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: Verify schema | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- master | ||
|
||
jobs: | ||
verify: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18 | ||
|
||
- name: Install dependencies | ||
run: npm install | ||
|
||
- name: Run verify.js | ||
run: node verify.js |
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,3 @@ | ||
/node_modules | ||
/package-lock.json | ||
.idea |
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,30 +1,50 @@ | ||
{ | ||
"0xcAD001c30E96765aC90307669d578219D4fb1DCe": { | ||
"name": "Euler DAO Multisig", | ||
"logo": "euler.svg", | ||
"description": "The Euler DAO is the organisation responsible for the creation of the Euler lending/borrowing platform." | ||
}, | ||
"0x184d597Be309e11650ca6c935B483DcC05551578": { | ||
"name": "Re7 Labs Euler Multisig", | ||
"logo": "re7labs.png", | ||
"description": "Re7 Labs is the innovation arm of digital asset investment firm Re7 Capital, taking the practical experience of DeFi risk management to on-chain vaults." | ||
}, | ||
"0x05591B3aFE2239Ff3669BCfD715815d2ba8A24a4": { | ||
"name": "Apostro", | ||
"logo": "apostro.png" | ||
}, | ||
"0xf726311F85D45a7fECfFbC94bD8508a0A39958c6": { | ||
"name": "Apostro Multisig", | ||
"logo": "apostro.png" | ||
}, | ||
"0x2e571f334fe06A6a2741dd0E4cb5Bc7C1F8Af808": { | ||
"name": "Alterscope Multisig", | ||
"logo": "alterscope_wb.svg", | ||
"description": "Alterscope provides the platform for processing and modelling risk in real-time across chains, protocols, and liquidity pools. Whether you're a protocol or an investment firm, we've got you covered." | ||
}, | ||
"0x66301F68E8EdE19C0EcD1AB0b3Ee6FdE9cb143Fb": { | ||
"name": "Dinero Protocol Timelock Controller", | ||
"logo": "dinero.svg", | ||
"description":"The yield baseplate of Ethereum. Providing a suite of products that scale yield for protocols and users." | ||
} | ||
"euler-dao": { | ||
"name": "Euler DAO Multisig", | ||
"logo": "euler.svg", | ||
"description": "The Euler DAO is the organisation responsible for the creation of the Euler lending/borrowing platform.", | ||
"url": "https://euler.finance/", | ||
"addresses": { | ||
"0xcAD001c30E96765aC90307669d578219D4fb1DCe": "Euler DAO Multisig" | ||
}, | ||
"social": { | ||
"twitter": "eulerfinance", | ||
"youtube": "EulerFinance", | ||
"discord": "https://discord.euler.finance/", | ||
"telegram": "eulerfinance_official", | ||
"github": "euler-xyz" | ||
} | ||
}, | ||
"re7-labs": { | ||
"name": "Re7 Labs", | ||
"logo": "re7labs.png", | ||
"description": "Re7 Labs is the innovation arm of digital asset investment firm Re7 Capital, taking the practical experience of DeFi risk management to on-chain vaults.", | ||
"addresses": { | ||
"0x184d597Be309e11650ca6c935B483DcC05551578": "Re7 Labs Euler Multisig" | ||
} | ||
}, | ||
"apostro": { | ||
"name": "Apostro", | ||
"logo": "apostro.png", | ||
"addresses": { | ||
"0x05591B3aFE2239Ff3669BCfD715815d2ba8A24a4": "Apostro Timelock", | ||
"0xf726311F85D45a7fECfFbC94bD8508a0A39958c6": "Apostro Multisig" | ||
} | ||
}, | ||
"alterscope": { | ||
"name": "Alterscope", | ||
"logo": "alterscope_wb.svg", | ||
"description": "Alterscope provides the platform for processing and modelling risk in real-time across chains, protocols, and liquidity pools. Whether you're a protocol or an investment firm, we've got you covered.", | ||
"addresses": { | ||
"0x2e571f334fe06A6a2741dd0E4cb5Bc7C1F8Af808": "Alterscope Multisig" | ||
} | ||
}, | ||
"dinero": { | ||
"name": "Dinero", | ||
"logo": "dinero.svg", | ||
"description": "The yield baseplate of Ethereum. Providing a suite of products that scale yield for protocols and users.", | ||
"addresses": { | ||
"0x66301F68E8EdE19C0EcD1AB0b3Ee6FdE9cb143Fb": "Dinero Protocol Timelock Controller" | ||
} | ||
} | ||
} |
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 |
---|---|---|
@@ -0,0 +1,45 @@ | ||
{ | ||
"euler-dao-base": { | ||
"name": "EulerDAO Base Vaults", | ||
"description": "A cluster of basic, conservative vaults governed by the EulerDAO, originally for the purpose of hosting a capture-the-flag contest.", | ||
"entity": "euler-dao", | ||
"url": "https://gov.euler.finance/proposal/?id=0x01c571faf0b69cd7714d154013c7a8f8081c7287900c95ce709c9f7c8890bbbc", | ||
"vaults": [ | ||
"0xD8b27CF359b7D15710a5BE299AF6e7Bf904984C2", | ||
"0xbC4B4AC47582c3E38Ce5940B80Da65401F4628f1", | ||
"0x797DD80692c3b2dAdabCe8e30C07fDE5307D48a9", | ||
"0x313603FA690301b0CaeEf8069c065862f9162162" | ||
] | ||
}, | ||
"re7-labs-basic": { | ||
"name": "Re7 Labs Basic Cluster", | ||
"entity": "re7-labs", | ||
"vaults": [ | ||
"0x67e4e4e73947257Ca62D118E0FBC56D06f11d96F", | ||
"0xc41252D4F61D25658cD83Cc39942c49776E1B0C5", | ||
"0xeE8693c11acE62839bB96beaE86696c1e78Aba3F", | ||
"0x27052EA5E307B6e8566D9eE560231C6742a6c03c", | ||
"0x82c710B9B225B43C0c90f097DB31f5f10a7F86FA", | ||
"0x631D8E808f2c4177a8147Eaa39a4F57C47634dE8", | ||
"0xa992d3777282c44ee980E9B0ca9Bd0c0E4f737aF", | ||
"0xc40A68b5E536632b6572283F996B830B34607d01" | ||
] | ||
}, | ||
"apostro-lido-ecosystem": { | ||
"name": "Apostro Lido Ecosystem", | ||
"entity": "apostro", | ||
"vaults": [ | ||
"0x315F93a074D0948E4D068e98a34092750ea8A38C", | ||
"0xf9a23b059858CdD0e3ED0DDE89864BB82B88aa19" | ||
] | ||
}, | ||
"alterscope-genesis": { | ||
"name": "Alterscope Genesis", | ||
"entity": "alterscope", | ||
"vaults": [ | ||
"0x3f29460AaCdE3d6Ae0156aB1f8685bd21Eb37074", | ||
"0x0E88544bf60bbc748FA542B79e9aE3Cf18Db7F75", | ||
"0x1926f5Bb9ed68BA83255fB219828a90Bd9F40771" | ||
] | ||
} | ||
} |
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
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 |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Euler Labels | ||
|
||
This repository contains a database of metadata about [Euler Vault Kit](https://docs.euler.finance/euler-vault-kit-white-paper/) vaults and related entities. This metadata is used to augment the [Euler dApp](https://app.euler.finance) UI by showing human-readable identifiers alongside vaults, and providing the information necessary to render custom pages for governors and packaged lending products. | ||
|
||
If you have created a vault and wish to have it included in this database, please read the rest of this file, fork the repo, and create a pull request. | ||
|
||
## Schema | ||
|
||
Each network has a directory, named after its numeric `chainId`. For example, the Ethereum mainnet data is stored in directory `1/`. | ||
|
||
Inside each network's directory are JSON files that correspond to the following schemas. All keys are optional unless indicated as required. | ||
|
||
### `entities.json` | ||
|
||
Each entry in this object corresponds to a company, organisation, or other entity. Each key is an **entity ID**, which is a unique string per entity. It should be in "URL slug" format (lowercase ASCII letters or numbers, separated by `-` characters). | ||
|
||
* `name`: Full, official name of the entity. (Required) | ||
* `logo`: The filename of a logo stored in the `logo/` directory. | ||
* `description`: Long-form description of the entity, displayed on the entity's page. | ||
* `url`: Website where users can learn more about the entity. | ||
* `addresses`: An object that indicates addresses controlled by this entity. Each key is a checksumed hex address, and each value is a human-meaningful description of what this address represents. | ||
* `social`: An object that indicates social media handles controlled by this entity. Each key is a name of a social media system, and each value is the entity-specific username/handle. | ||
|
||
### `vaults.json` | ||
|
||
Each entry in this object represents a vault. Each key is the 20-byte ethereum address, in checksumed hex format. Each vault has the following keys: | ||
|
||
* `name`: Name of the vault for display purposes, for example in table views. Maximum 40 characters. (Required) | ||
* `description`: Long-form description of the vault displayed on the vault's dedicated page. | ||
* `entity`: An entity ID that refers to the organisation responsible for governing and/or creating this vault, or a list of entity IDs if the vault is joint-managed. | ||
|
||
### `products.json` | ||
|
||
Each entry in this object corresponds to a lending product, which is primarily a grouping of vaults under a particular branding umbrella. Each key is the **product ID**, which is a unique string per product. It should be in "URL slug" format (lowercase ASCII letters or numbers, separated by `-` characters). | ||
|
||
* `name`: Official name of the product. (Required) | ||
* `description`: Long-form description of the product, displayed on the product's page. | ||
* `entity`: An entity ID that refers to the organisation responsible for governing and/or creating this vault, or a list of entity IDs if the vault is joint-managed. | ||
* `url`: Website where users can learn more about the product. | ||
* `logo`: The filename of a logo stored in the `logo/` directory. | ||
* `vaults`: An array of the vault addresses (in checksumed hex format) that comprise the product. Each vault must exist in the `vaults.json` file. | ||
|
||
|
||
## Logos | ||
|
||
Logos exist in the `logo/` directory, and should satisfy the following properties: | ||
|
||
* SVG format | ||
* Square-shaped | ||
|
||
|
||
|
||
## Verification | ||
|
||
Before making your pull request, please ensure that `verify.js` succeeds: | ||
|
||
apt install -y npm jq | ||
npm i | ||
node verify.js |
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 |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"dependencies": { | ||
"ethers": "^6.13.2", | ||
"image-size": "^1.1.1" | ||
} | ||
} |
Oops, something went wrong.