metagov / daostar

DAOstar (or DAO*) is a set of technical standards and tools for DAOs and DAO tooling
https://daostar.org/
MIT License
56 stars 24 forks source link

Implement versioning of EIP-4824 Registration Contracts #186

Open Rashmi-278 opened 11 months ago

Rashmi-278 commented 11 months ago

As we progress, we update our smart contracts, it is a good practice to version the smart contracts and get the version information for all the registration instances. The version should be on-chain so that anyone referencing the DAO Registration Instance can be aware of the version.

After that we can get that info from The Graph API and display on our frontend

crazyyuan commented 11 months ago

Months ago, the EIP-4824 Registration contract had the version feature.

Rashmi-278 commented 9 months ago

I worked on this temporary fix for Ethereum DAOs

https://daostar.org/explore

image

Rashmi-278 commented 9 months ago

Months ago, the EIP-4824 Registration contract had the version feature.

Do the current contracts have this? @crazyyuan @thelastjosh @xiaohou77 Could we create a separate Contracts Repo so that we can maintain the versioning of contracts at least on Source Code? I realise that EIP-4824 registration contract version info might not be relevant info to store on-chain

thelastjosh commented 9 months ago

I'd create a contracts folder directly in the current repo, and maintain versioning of the factory registration contracts there. Looks like it exists already but it's not clear to what contracts are actually in that repo. https://github.com/metagov/daostar/tree/main/contracts

The original version of the contract should be largely captured in EIP4824.

On Tue, Jan 23, 2024 at 2:58 PM Rashmi V Abbigeri @.***> wrote:

Months ago, the EIP-4824 Registration contract had the version feature.

Do the current contracts have this? @crazyyuan https://github.com/crazyyuan @thelastjosh https://github.com/thelastjosh @xiaohou77 https://github.com/xiaohou77 Could we create a separate Contracts Repo so that we can maintain the versioning of contracts at least on Source Code? I realise that EIP-4824 registration contract version info might not be relevant info to store on-chain

— Reply to this email directly, view it on GitHub https://github.com/metagov/daostar/issues/186#issuecomment-1906826270, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACHA5PE56XUZKIE2GLVG6S3YQAI7XAVCNFSM6AAAAABATBJCCOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBWHAZDMMRXGA . You are receiving this because you were mentioned.Message ID: @.***>

-- http://www.joshuatan.com/research/

Rashmi-278 commented 9 months ago

Josh's suggestion: https://semver.org/

Rashmi-278 commented 8 months ago

Our Contracts have a function that returns Version of the contract, we need to index this in The Graph so that we can display the version of contract for a registration instance

function version () external pure returns(string memory){ return "1.0.0"; }

Rashmi-278 commented 8 months ago

Pinged Kahn to help with how to query the contract to get the version

Rashmi-278 commented 8 months ago

WIP: https://github.com/metagov/daostar/pull/207

thelastjosh commented 4 months ago

Hey folks, would like to get an update here! PR above is still in draft mode.

thelastjosh commented 3 months ago

There's already some light versioning, it would be nice to have a better plan for this but maybe that's medium priority.

thelastjosh commented 2 weeks ago

There is some light versioning.