External Plugins

External Plugins

What are External Plugins?

External Plugins are Authority Managed, consisting of 2 parts, the Adapter, and the Plugin. A Plugin Adapter is assigned to the Assets/Collection and allows data and validations to to be passed from an External Plugin. The External Plugin provides data and validations for the Plugin Adapter.

Lifecycle Checks

Each External Plugin comes with the ability to assign lifecycle checks to Lifecycle Events influencing the behavior of the lifecycle event that is trying to take place. The lifecycle checks available are:

  • Create
  • Transfer
  • Update
  • Burn

Each of the lifecycle events can be assigned with the following checks:

  • Can Listen
  • Can Reject
  • Can Approve

Can Listen

A web3 type webhook that alerts the plugin that a lifecycle event has taken place. This is useful for tracking data or performing another task based on an event that's taken place.

Can Reject

The plugin has the ability to reject a lifecycle events action.

Can Approve

The plugin has the ability to approve a lifecycle event.

Data Authority

An External Plugin may have a data area in which projects can securely store data to that particular plugin.

The Data Authority of an External Plugin is the only authority allowed to write to the External Plugin's data section. The Update Authority of the plugin does not have permission unless they are also the Data Authority.


Oracle Plugin

The Oracle Plugin is designed for simplicity in a web 2.0-3.0 workflow. The Oracle Plugin can access onchain Oracle accounts external from the MPL Core Asset that can reject the use of lifecycle events set by the authority. The external Oracle Account can also be updated at any time to change the authorization behavior of the lifecycle events, making for a dynamic experience.

You can read more about the Oracle Plugin here.

Permanent Burn Delegate Plugin