yearn / yearn-vaults

Yearn Vault smart contracts
https://yearn.finance/
GNU Affero General Public License v3.0
518 stars 317 forks source link

Vault product naming scheme #13

Closed chriswessels closed 3 years ago

chriswessels commented 3 years ago

Somewhat related to https://github.com/iearn-finance/yearn-vaults/issues/1 (fully support overrides)

I think we could probably do a better job of naming products across the yearn ecosystem, but starting with Vaults:

Current constructor for V2 vaults set name and symbol as follows:

self.name = concat("yearn ", DetailedERC20(_token).name())
self.symbol = concat("y", DetailedERC20(_token).symbol())

I suggest better differentiation between yearn products. For example, the name of a Vault could default to yearn Vault {token.name} or similar.

We may even want to consider making that differentiation in the symbol. Maybe a prefix of yv (e.g. yvUSD)? I say this with faint memory of an aToken style yUSD being discussed that could function as a yield-bearing stablecoin for the ecosystem. In this instance, yvUSD would effectively accrue yield as capital gains whereas yUSD would generate income. Not sure where we are with that discussion.

That being said, the y suffix is simple, has existing brand traction, and is easy to say!

Topics of discussion:

  1. Introducing Vault into the name of the Vault token
  2. Stronger symbol differentiation between products in the yearn ecosystem
  3. Product naming schemes/preferences in general

Thoughts?

tracheopteryx commented 3 years ago

Great ideas. I've been working on standardizing names too and would love to get it settled finally, so glad to see this.

I've put together some options for consistent vault naming here and would love your input. Option 4 is a version of what you suggest.

For the token symbols, I like the yv- but it has issues (as you've pointed out). Considering we are not going to re-deploy vault contracts to change token symbols I think we are stuck with y- now on the actual contracts for both vaults and older Earn products and not much we can do about that. We can however standardize nicknames and this standard can then slowly find it's way into new contracts as they are deployed.

I had been anti-yv because I love the simplicity of yUSD, but now realizing that it may work and agreeing with you. Let me flesh your idea out further:

Special Case yUSD -- the dollar-pegged version we will deploy soon that functions like aTokens. This will become a meta-layer above other tokens.

yVaults yvyCRV -- the vault share of the yCRV yVault which can be denominated as yUSD if preferred. As awful as this is, it may be better than yvUSD as yUSD may transcend this vault and yvyCRV sticks to the pattern. yvETH -- the vault share of the ETH yVault (in the future I think we can have all vaults optionally denominate as yUSD) etc

yInsure already using the yi- prefix eg yiUSDC

Earn The older earn products such as yUSDC (not the vault yUSDC) stay y- token. (see here for more)

tracheopteryx commented 3 years ago

Oof, I don't know about yvyCRV... Maybe better to stick with yvUSD even though it's not in pattern.

chriswessels commented 3 years ago

Awesome!

For the token symbols, I like the yv- but it has issues (as you've pointed out). Considering we are not going to re-deploy vault contracts to change token symbols I think we are stuck with y- now on the actual contracts for both vaults and older Earn products and not much we can do about that. We can however standardize nicknames and this standard can then slowly find it's way into new contracts as they are deployed.

Totally agreed.

I had been anti-yv because I love the simplicity of yUSD, but now realizing that it may work and agreeing with you

Yeah the simplicity of the y prefix is really nice, but as yearn diversifies into more product lines (across different layers of the financial value chain), differentiating is probably worth it IMO. And we're still so early that there's lots of room to change/experiment.

yUSD -- the dollar-pegged version we will deploy soon that functions like aTokens. This will become a meta-layer above other tokens.

+1. Would love to learn more about yUSD/the meta-layer. Can you point me in the right direction?

yVaults - yvyCRV -- the vault share of the yCRV yVault which can be denominated as yUSD if preferred. As awful as this is, it may be better than yvUSD as yUSD may transcend this vault and yvyCRV sticks to the pattern.

Oof, I don't know about yvyCRV... Maybe better to stick with yvUSD even though it's not in pattern.

Yeah... yCRV was a travesty of a name choice from Curve. Given we can now override Vault token/symbol (side note: an ability that should be replicated across yearn products), we aren't stuck with it (phew).

yvETH -- the vault share of the ETH yVault (in the future I think we can have all vaults optionally denominate as yUSD)

Yep, makes sense. I like the yv prefix for the Vault token.

Thanks for linking your sheet! Looks good.

As a product name, yVault is interesting. I like it because in conversation (e.g. podcast), saying it instantly disambiguates between other Vaults in the ecosystem (e.g. Maker Vaults). The flip side is its 2 syllables instead of 1.

Keen to contribute to the discussion/strategy around this, but want to properly understand the product vision for yearn in order to do so.

chriswessels commented 3 years ago

Happy to say this has been covered in a Naming Standards working group!