Skip to content

Commit

Permalink
update: made updates top the readme documentations
Browse files Browse the repository at this point in the history
  • Loading branch information
bolajahmad committed Oct 29, 2023
1 parent acd0d61 commit 6323017
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 14 deletions.
17 changes: 7 additions & 10 deletions packages/contracts/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Proownas DAO Contract

---

## What is Proownas

Proownas is a community of real-estate owners. The goal is to allow an economy where real-estate owners can mutually benefit from the propoerties they own. It will allow owners to earn more from their properties and also have access to more properties without having to pay for them. We do this by minting real-world real-estate assets into NFTs.
---
## Proownas is a community of real-estate owners. The goal is to allow an economy where real-estate owners can mutually benefit from the propoerties they own. It will allow owners to earn more from their properties and also have access to more properties without having to pay for them. We do this by minting real-world real-estate assets into NFTs.

---

## What does Proownas DAO do?

The purpose of the DAO is to collectively make decisions on properties, membership, values. Initially, the DAO is made up of few members who own all the propoerties. These members are able to review the qualifications of a new member. The DAO is tasked to verify that new member is real and can be located in the real world. To verify the existence of the properties described in the proposal and also confirm ownership of it. The DAO is also responsible minting new assets on-chain.
---
## The purpose of the DAO is to collectively make decisions on properties, membership, values. Initially, the DAO is made up of few members who own all the propoerties. These members are able to review the qualifications of a new member. The DAO is tasked to verify that new member is real and can be located in the real world. To verify the existence of the properties described in the proposal and also confirm ownership of it. The DAO is also responsible minting new assets on-chain.

### Responsibilities

Expand All @@ -22,7 +22,6 @@ The purpose of the DAO is to collectively make decisions on properties, membersh
- Determine the value of NFT (linked to the real-world asset.) and also
- Decide on the reward percentage and earning ratio


## Contracts

### The DAO
Expand All @@ -45,17 +44,15 @@ When a proposal has been reviewed and the DAO is ready to accept votes on it, ne

Once the voting period is over, call the `close_voting_period` message. This message will try to conclude the voting and based on the Vote results, update the ProposalStatus to Approved or Pending

For now, the possible proposals are only for joining the DAO (Submitting a new asset). When the proposal is approved, we can the execute the `create_proposal_asset` message to mint a new asset on-chain.
For now, the possible proposals are only for joining the DAO (Submitting a new asset). When the proposal is approved, we can the execute the `create_proposal_asset` message to mint a new asset on-chain. For this to be successful, the DAO must have added default asets and update the storage to `has_set_default_assets=true`.

A very important aspect of the DAO contract is the token_contract storage. This must be updated before minting can be possible.


### The NFT Wizard Contract

This is the powerhouse PSP34 token contract that manages the minting and burning of Synthetic assets on-chain. This is based heavily on the (PSP34 specifications)[https://openbrush.brushfam.io/] with some modifications. The NFT Wizard is going to be owned by the (DAO Contract)[file://./dao/lib.rs]. This can be done by calling the transfer_ownership message that exists on the Ownable contract. This can be called, naturally by a Multisig, by anyone in the DAO (for simplicity).This contract implements the necessary contracts such as
This is the powerhouse PSP34 token contract that manages the minting and burning of Synthetic assets on-chain. This is based heavily on the (PSP34 specifications)[https://openbrush.brushfam.io/] with some modifications. The NFT Wizard is going to be owned by the (DAO Contract)[file://./dao/lib.rs]. This can be done by calling the transfer_ownership message that exists on the Ownable contract. This can be called, naturally by a Multisig, by anyone in the DAO (for simplicity).This contract implements the necessary contracts such as
`PSP34, PSP34Mintable, Ownable, PSP34Metadata, PSP34Enumerable`.


### The Multisig contract

The multisig is borrowed from the list of ink-examples, the multisig contract. Refer to the (Multisig contract example)[https://github.com/paritytech/ink-examples/blob/main/multisig/lib.rs] by the parity tea. This Multisig is based totally on it with adjustment to the retrieve_owners function.
The multisig is borrowed from the list of ink-examples, the multisig contract. Refer to the (Multisig contract example)[https://github.com/paritytech/ink-examples/blob/main/multisig/lib.rs] by the parity tea. This Multisig is based totally on it with adjustment to the retrieve_owners function.
2 changes: 1 addition & 1 deletion packages/contracts/deployments/dao/dao.contract

Large diffs are not rendered by default.

Binary file modified packages/contracts/deployments/dao/dao.wasm
Binary file not shown.
17 changes: 14 additions & 3 deletions packages/contracts/deployments/dao/metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"source": {
"hash": "0x8d86c172a07874fbff8f638f318cd1d65987d95f97a420931eeba6a0bac1710a",
"hash": "0xc77723a95add53671b216f4b873ce38b2bccfa79780a346fc519d84ab62a39e1",
"language": "ink! 4.3.0",
"compiler": "rustc 1.69.0",
"build_info": {
Expand Down Expand Up @@ -37,7 +37,10 @@
"default": false,
"docs": [
"The constructor of the contract.",
"supply initial asset to the DAO"
"supply initial asset to the DAO",
"",
"@param token_contract, the address of NFT wizard contract",
"@return an instantiated DAO contract"
],
"label": "new",
"payable": false,
Expand Down Expand Up @@ -260,7 +263,15 @@
}
],
"default": false,
"docs": [],
"docs": [
" This is callable by the owner(s) of the DAO (this would ideally be a multisig)",
" This message does not need to be voted on",
" It can be used to set assets owned by the DAO owners at the start of Dapp",
"",
" @param initial_assets, a list of IPFS CIDs of assets to be minted",
" This would be minted and owned by the DAO owners",
" This call would toggle the status of the has_set_default_assets to true"
],
"label": "set_default_assets",
"mutates": true,
"payable": false,
Expand Down

0 comments on commit 6323017

Please sign in to comment.