Change Delegation Uri

This Proposal can be used to change the Delegation uri. Implementing the DynamicMetadataCapableElement, the Delegation has a uri containing overall Delegation Metadata info.

The Proposal can be initialized with the data parameter executed by the lazyInit function:

function lazyInit(bytes memory lazyInitData) external returns(bytes memory lazyInitResponseData) {
    require(keccak256(bytes(uri)) == keccak256(""));
    (uri, lazyInitResponseData) = abi.decode(lazyInitData, (string, bytes));
    require(keccak256(bytes(uri)) != keccak256(""));

    (additionalUri, value) = abi.decode(lazyInitResponseData, (string, string));

    lazyInitResponseData = "";
}

The lazyInit function contains the following data:

  • uri -> this can contain Proposal Metadata such as title, useful links, etc...

and then:

  • string additionalUri -> this can contain Proposal description, risks, benefits, and other information to describe the proposal behavior.

  • string value -> new Delegation uri.

The execute function has the Delegation perform the desired behavior, i.e. change the Delegation Uri via the setUri function.

function execute(bytes32) external {
    IOrganization(ILazyInitCapableElement(msg.sender).host()).setUri(value);
}

Voting For This Proposal

This Proposal is an Host only Proposal.

Last updated