34 lines
1.1 KiB
Solidity
34 lines
1.1 KiB
Solidity
|
// SPDX-License-Identifier: CC0-1.0
|
||
|
pragma solidity ^0.8.7;
|
||
|
import "./APermissioned.sol";
|
||
|
|
||
|
contract AEcosystem is APermissioned {
|
||
|
constructor(address _permsionToken) APermissioned(_permsionToken) {
|
||
|
// Constructor code
|
||
|
}
|
||
|
|
||
|
function createProposal(
|
||
|
address _permissionOwner
|
||
|
) external notBlacklisted allow(_permissionOwner, PERMISSION_CREATE) {
|
||
|
// Only allow owner or delegatee with PERMISSION_CREATE
|
||
|
}
|
||
|
|
||
|
function vote() external notBlacklisted allowOwner(PERMISSION_VOTE) {
|
||
|
// Only allow permission owner with PERMISSION_VOTE
|
||
|
}
|
||
|
|
||
|
function execute() external notBlacklisted allowOwner(ROLE_OPERATOR) {
|
||
|
// Only allow permission owner with ROLE_OPERATOR
|
||
|
}
|
||
|
|
||
|
function stopProposal() external notBlacklisted allowOwner(ROLE_ADMIN) {
|
||
|
// Only allow permission owner with ROLE_ADMIN
|
||
|
}
|
||
|
|
||
|
function register() external notBlacklisted {
|
||
|
// Permission Token is not only provide the ability to whitelist an address
|
||
|
// but also provide the ability to blacklist an address.
|
||
|
// In this case, blacklisted address wont able to register
|
||
|
}
|
||
|
}
|