Skip to content

IPluginRepo ​

Interface · src/framework/plugin/repo/IPluginRepo.sol

Explained in: PluginRepo (versioning & publishing)

Author: Aragon X - 2022-2023

The interface required for a plugin repository.

security-contact: sirt@aragon.org

Functions ​

createVersion ​

solidity
function createVersion(
    uint8 _release,
    address _pluginSetupAddress,
    bytes _buildMetadata,
    bytes _releaseMetadata
) external

Selector: 0xfc054427

Creates a new plugin version as the latest build for an existing release number or the first build for a new release number for the provided PluginSetup contract address and metadata.

ParameterTypeDescription
_releaseuint8The release number.
_pluginSetupAddressaddressThe address of the plugin setup contract.
_buildMetadatabytesThe build metadata URI.
_releaseMetadatabytesThe release metadata URI.

updateReleaseMetadata ​

solidity
function updateReleaseMetadata(uint8 _release, bytes _releaseMetadata) external

Selector: 0x28375f67

Updates the metadata for release with content @fromHex(_releaseMetadata).

ParameterTypeDescription
_releaseuint8The release number.
_releaseMetadatabytesThe release metadata URI.

Events ​

ReleaseMetadataUpdated ​

solidity
event ReleaseMetadataUpdated(uint8 release, bytes releaseMetadata)

Emitted when a release's metadata was updated.

ParameterTypeDescription
releaseuint8The release number.
releaseMetadatabytesThe release metadata URI.

VersionCreated ​

solidity
event VersionCreated(
    uint8 release,
    uint16 build,
    address indexed pluginSetup,
    bytes buildMetadata
)

Emitted if the same plugin setup exists in previous releases.

ParameterTypeDescription
releaseuint8The release number.
builduint16The build number.
pluginSetupaddressThe address of the plugin setup contract.
buildMetadatabytesThe build metadata URI.