IPoolFactory
Interface Description
License: MIT
This is the Factory contract for the gov pools. Anyone can create a pool for themselves to become a governance owner (GovPool)
Enums info
VotePowerType
The enum that holds information about calculating vote power
Parameters:
LINEAR_VOTES
the vote power = number of tokens
POLYNOMIAL_VOTES
the vote power calculated with polynomial formula
CUSTOM_VOTES
the vote type defined by a customer
Structs info
SettingsDeployParams
General settings of the pool
Parameters:
proposalSettings
struct IGovSettings.ProposalSettings[]
list of infos about settings for proposal types
additionalProposalExecutors
address[]
list of additional proposal executors
ValidatorsDeployParams
Parameters of validators
Parameters:
name
string
the name of a token used by validators
symbol
string
the symbol of a token used by validators
proposalSettings
struct IGovValidators.ProposalSettings
struct with settings for proposals
validators
address[]
list of the validator addresses
balances
uint256[]
list of initial token balances of the validators
UserKeeperDeployParams
Parameters of the user keeper
Parameters:
tokenAddress
address
address of the tokens used for voting
nftAddress
address
address of the NFT used for voting
individualPower
uint256
the voting power of an NFT
nftsTotalSupply
uint256
the NFT collection size
VotePowerDeployParams
The voting power parameters
Parameters:
voteType
enum IPoolFactory.VotePowerType
type of algorythm to calculate votes number from token number
initData
bytes
initialization data for standard contract types
presetAddress
address
address of custom contract (for custom voteType)
GovPoolDeployParams
The pool deploy parameters
Parameters:
settingsParams
struct IPoolFactory.SettingsDeployParams
general settings of the pool
validatorsParams
struct IPoolFactory.ValidatorsDeployParams
parameters of validators
userKeeperParams
struct IPoolFactory.UserKeeperDeployParams
parameters of the user keeper
tokenParams
struct IERC20Gov.ConstructorParams
the gov token parameters
votePowerParams
struct IPoolFactory.VotePowerDeployParams
vote power parameters
verifier
address
the address of the verifier
onlyBABTHolders
bool
if true, only KYCed users will be allowed to interact with the pool
descriptionURL
string
the description of the pool
name
string
the name of the pool
GovPoolPredictedAddresses
The predicted pool addresses given tx.origin and GovPool name
Parameters:
govPool
address
the predicted govPool address
govTokenSale
address
the predicted govTokenSale address
govToken
address
the predicted govToken address
distributionProposal
address
the predicted distributionProposal address
expertNft
address
the predicted expertNft address
nftMultiplier
address
the predicted nftMultiplier address
Functions info
deployGovPool (0x0cc3c11c)
This function is used to deploy DAO Pool with TokenSale proposal
Parameters:
parameters
struct IPoolFactory.GovPoolDeployParams
the pool deploy parameters
predictGovAddresses (0x17278f74)
The view function that predicts the addresses where the gov pool proxy, the gov token sale proxy and the gov token will be stored
Parameters:
deployer
address
the user that deploys the gov pool (tx.origin)
poolName
string
the name of the pool which is part of the salt
Return values:
[0]
struct IPoolFactory.GovPoolPredictedAddresses
the predicted addresses