ERC721Power
function createDAO(IERC721Power nftPower) external {
IPoolFactory.GovPoolDeployParams memory poolParameters = _getPoolParameters();
require(nftPower.supportsInterface(type(IERC721Power).interfaceId), "Not a ERC721Power");
poolParameters.userKeeperParams.nftAddress = address(nftPower);
poolFactory.deployGovPool(poolParameters);
}function setERC721Address(IERC721Power nftPower) external {
require(nftPower.supportsInterface(type(IERC721Power).interfaceId), "Not a ERC721Power");
IGovPool.ProposalAction[] memory actionsFor = new IGovPool.ProposalAction[](1);
actionsFor[0] = IGovPool.ProposalAction({
executor: address(govUserKeeper),
value: 0,
data: abi.encodeWithSelector(IGovUserKeeper.setERC721Address.selector, nftPower)
});
IGovPool.ProposalAction[] memory actionsAgainst = new IGovPool.ProposalAction[](0);
govPool.createProposal("Set ERC721Power", actionsFor, actionsAgainst);
}Last updated

