Configurator.sol

This contract is used to assist in the configuring of ElasticDAO contracts. It's primary reason for existing is to decrease the size of ElasticDAO.sol.

Functionality

List of Functions

Functions

buildDAO

Creates a DAO.Instance record. Returns true when success.

function buildDAO(
address[] memory _summoners,
string memory _name,
uint256 _maxVotingLambda,
Ecosystem.Instance memory _ecosystem
) external returns (bool) { ... }

parameters

@param _summoners addresses of the summoners
@param _name name of the DAO
@param _ecosystem instance of Ecosystem the DAO uses
@param _maxVotingLambda - the maximum amount of lambda that can be used to vote in the DAO

buildEcosystem

Deploys proxies leveraging the implementation contracts found on the default Ecosystem.Instance record. Returns the Ecosystem.Instance created when successful.

function buildEcosystem(address _controller, Ecosystem.Instance memory _defaults)
external
returns (Ecosystem.Instance memory ecosystem)
{ ... }

parameters

@param _controller the address which can control the core DAO functions
@param _defaults instance of Ecosystem with the implementation addresses

buildToken

Creates a Token.Instance record and initializes the ElasticGovernanceToken. Returns the Token.Instance created when successful.

function buildToken(
address _controller,
string memory _name,
string memory _symbol,
uint256 _eByL,
uint256 _elasticity,
uint256 _k,
uint256 _maxLambdaPurchase,
Ecosystem.Instance memory _ecosystem
) external returns (Token.Instance memory token) { ... }

parameters

@param _controller the address which can control the core DAO functions
@param _name name of the token
@param _symbol symbol of the token
@param _eByL initial ETH/token ratio
@param _elasticity the percentage by which capitalDelta should increase
@param _k a constant, initially set by the DAO
@param _maxLambdaPurchase maximum amount of lambda (shares) that can be
minted on each call to the join function in ElasticDAO.sol
@param _ecosystem the DAO's ecosystem instance