This repo contains all the metadata of the yearn ecosystem. Contents of the
data
directory are synced to IPFS for storage, accessible through
our gateway meta.yearn.network. Consistency of
the stored data is verified by smalls scripts and schemas.
Any document can be added to the data
directory, but there are some
special checks to ensure consistency and ease of accessibility:
- All JSON files that share names with the files in the
schema
directory must follow the defined schema, otherwise verification will fail. - Any folder that begins with
0x
is considered as an address. The address must be checksummed, otherwise verification will fail. - All files named
index.json
will be ignored by git and will be overwritten by the indexing process. (see indexing)
Yearn has also a naming standard that is not enforced programmatically but should be followed.
Schemas can be created in the root of the schema
folder. For
syntax you can take a look at the JSON schema specs.
The AJV library is used to validate the
data with the provided schemas.
After each commit to master, direct or as a result of a merged pull request, a sync to IPFS is triggered. After the upload is complete the meta.yearn.network is updated automatically to point to the latest IPFS cid.
We rely on pinata.cloud for the IPFS hosting, and on cloudflare for the the gateway proxy.
Before each deployment the data
directory is scanned and an
index.json
file is generated inside each directory (root included). The file
follows the index.json
schema and will contain
information about the files and folders stored in that directory. For an example
see meta.yearn.network/index.json
Anything under protocols, strategies, and tokens are able to be translated. In the json files listed, we have locale codes and the English text to be translated. The name (if applicable) and description are what should be translated. If you dont see your locale code, make an issue and it will be added manually. To update new json's with the locale information run the python script toLocale.py
located in the scripts folder.
Code style follows prettier conventions (yarn format
). Commit messages follow Conventional Commits.