Skip to content

Instantly share code, notes, and snippets.

View Rekard0's full-sized avatar

Rekard0 Rekard0

View GitHub Profile
///////////////////////////////////////// not changed contracts /////////////////////////////////////
contract AppStorage {
/// @dev bytes32 internal constant DAO_POSITION = keccak256("core.storage.dao");
bytes32 internal constant DAO_POSITION = 0xd69e81f6042b963e91c7595979ec7bb19d41b99e5a44a91c85e5cd5861e49998;
function dao() public view returns (IDAO) {
return IDAO(StorageSlot.getAddressSlot(DAO_POSITION).value);
}
@Rekard0
Rekard0 / Simple_Solution.sol
Last active July 28, 2022 13:03
proposal for the early market place
/**
**Definitions**: (***IMPORTANT***)
- **Utility**: is a contract that a plugin uses/deploys and also the plugin owns it directly, in another word the DAO has no control over it directly.
- **Plugin**: is a contract either implements one of our core component, or our AragonApp (perhaps will be renamed to AragonPlugin) and thus its permissions will be controlled by the DAO.
- **Helper-Plugin**: it is a special type of plugin that is flagged or defined as helper either in its own contract (on-chain) or via the plugin’s manifest.
the main distinction between plugin and helper-plugin is that helper-plugin is meant to be shared and used by other plugins, while it is controlled by the DAO.
***It is very IMPORTANT that those definitions are understood for the rest of this proposal (or Way) to make scenes.***
*/
/**