-
Notifications
You must be signed in to change notification settings - Fork 81
Sputnik Factory V2 Upgrade Action Plan
The Sputnik DAO codebase is ready to start rolling out upgrades & new features to allow DAOs to continue innovating. This is a step in the direction of continuous deployment of new features the community needs. This is the first phase of upgrades that will be rolled out over the coming months.
No. At current time of writing, this upgrade only applies to Sputnik v2 factory & governance contracts.
The following groups will need to self-identify & read pertinent information, action items & next steps:
-
Factory Owners:
- You are a factory owner if you hold keys to any of the following accounts: ['sputnik-dao.near','sputnikdao.near','sputnikv2.testnet','sputnik-2.testnet']
- You are a factory owner if you have ever deployed the file
sputnikdao_factory2.wasm
to testnet or mainnet.
- Client Owners:
-
DAO Owners:
- You are a DAO owner if you have a governing vote within a deployed sputnik-dao contract instance. You will know by checking the DAO address is a sub-account of
sputnik-dao.near
, examplesome_dao.sputnik-dao.near
.
- You are a DAO owner if you have a governing vote within a deployed sputnik-dao contract instance. You will know by checking the DAO address is a sub-account of
-
Near Community
- Anyone that believes in DAOs and is a NEAR hodler :)
You will be responsible for:
- Deploying new factory code to factory contracts
- Testing deployed factory code with sample scripts
- Follow guidance & testing process for each network: testnet, mainnet
You will be responsible for:
- Preparing web interfaces for upcoming upgrade support
- Assisting DAO owners understand when they can upgrade
- Creating a web experience helping DAO owners propose upgrades
- Creating a web experience for displaying versioning information based on new factory standards
You will be responsible for:
- Waiting patiently until DAO upgrades are available
- Doing research & understanding each upcoming upgrades requirements & data migrations
- Proposing that your DAO does an upgrade (including potential data migrations in the future)
- Confirming all DAO functionality works post-upgrade
NOTE: This first upgrade for your DAO will not require a data migration. This is just a reference to help you understand that future upgrades may require some data migrations before your DAO can continue using new upgrades & features.
As a community member you will help assist in a positive influence in helping others come along-side to support the upgrade process. You will help answer any questions & concerns other community members have while this upgrade process happens.
The upgrade process will require a very rigid procedure order:
- Codebase Updates [Sputnik Dev Team]
- Security Audit [External Audit Team]
- Client Preparedness [Client Owners]
- Factory Deployment [Factory Owners]
- Factory Testing & QA [Factory Owners], [Sputnik Dev Team]
- Factory Cooloff [Factory Owners], [Sputnik Dev Team]
- Governance Contract Deployment (AKA DAO V3) [Factory Owners]
- Governance Contract Testing & QA [Sputnik Dev Team]
- DAO Upgrade Proposals Testing [Sputnik Dev Team]
- DAO Upgrade Proposal Client Integration Rollout [Client Owners]
- DAO Upgrade Proposal Approval & Deployment [Client Owners], [DAO Owners]
NOTE: Each owner has been tagged for quick reference of responsibilities in order.
A. Develop Code for Factory Contract
Update the factory contract code to support version based code stored in blobs. Each stored instance of code should apply the approved standards for upgrading contracts. The factory will be used as a registry of versioned DAO code.
B. Documentation
Create documentation on the deployment + testing flow for new factory changes.
A. Reference Documentation
View all documentation available for currently deployed code, core codebase, local/testnet deployment practices & the new upgrade flow documentation.
Audit docs list
B. Results Submission
Upon audit completion, results should be submitted directly to the core development team to review. All audit results should be considered confidencial until any/all mitigation steps have been completed. In the interest of transparency, all audit items will be posted upon mitigation in the "Audit Guidance" section below.
A. Version Interface Support
Thigns
A. Title
Thigns
A. Title
Thigns
A. 2 Week Period of Mainnet Testing
Using a cooloff window for testing in mainnet without rolling out upgrades to DAO contracts will help mitigate any exploits or data corruption pre-maturely. It will help ensure all stakeholders are in lock-step approving next phase of upgrades safely.
A. Title
Thigns
A. Title
Thigns
A. Title
Thigns
A. Title
Thigns
A. Gov Forum & Blog Post
Thigns
A. Title
Thigns
TBD (If you have a question/concern, submit a comment)
TBD upon audit completion
- V2 sputnik-dao.near: 8RMeZ5cXDap6TENxaJKtigRYf3n139iHmTRe8ZUNey6N
- V1 sputnikdao.near: 8FP33Hcqq2kbxGWDbgrhQvEfgPv8rLzEDUMKC8mRncno
- V2 sputnikv2.testnet: ZGdM2TFdQpcXrxPxvq25514EViyi9xBSboetDiB3Uiq
- V1 sputnik-v1.testnet: 69kGmjgaQXqoEREqeYUCGsDeu6gti4B9sQVUJc1a96yb
- V0 sputnik-2.testnet: HgcSLMDMytDRunBw6nikAS8P47MBcRBAVbGa5CNExiSD
Factory:
- the factory code can be found inside
sputnikdao-factory/src
- the factory code is deployed on mainnet on
sputnikdao.near
account - the factory code was deployed on mainnet for the first time on January 11, 2021 at 2:29:30pm and the second time on January 20, 2021 at 1:31:05pm
- the factory code is deployed on testnet on
sputnik-v1.testnet
account
DAOs:
- the DAOs code can be found inside
sputnikdao/src
- the DAO code is deployed to several accounts that have the following format:
<dao_name>.sputnikdao.near
for mainnet and<dao_name>.sputnik-v1.testnet
for testnet - see all the DAOs that live on mainnet by calling
near view sputnikdao.near get_dao_list
- see all the DAOs that live on testnet by calling
near view sputnik-v1.testnet get_dao_list
Factory:
- the factory code can be found inside
sputnikdao-factory2/src
- the factory code is deployed on mainnet on
sputnik-dao.near
account - the factory code was deployed only once on mainnet on June 01, 2021 at 6:17:46pm
- the factory code is deployed on testnet on
sputnikv2.testnet
account
DAOs:
- the DAOs code can be found inside
sputnikdao2/src
- the DAO code is deployed to several accounts that have the following format:
<dao_name>.sputnik-dao.near
for mainnet and<dao_name>.sputnikv2.testnet
for testnet - see all the DAOs that live on mainnet by calling
near view sputnik-dao.near get_dao_list
- see all the DAOs that live on testnet by calling
near view sputnik-v1.testnet get_dao_list
- https://old.sputnik.fund/ -> it uses V1 smart contracts
- https://www.sputnik.fund/ -> it uses V1 smart contracts
- https://v2.sputnik.fund/ -> it uses v2 smart contracts
- https://astrodao.com/ -> it uses v2 smart contracts