Contracts Wizard Deploy Plugin

When configuring contracts from Contracts Wizard, you can directly deploy the configured Smart Contract using your Defender account.

Usage

API Key generation

In your Defender dashboard, go to Settings → API Keys and click Create API Key, you only need Manage Deployments permission.

We also recommend to set an expiration for the API Key, considering that is going to be used from an external site.
Defender Remix Plugin Api Key

Deployment from Contracts Wizard

Go to Contracts Wizard site, and after editing your contract, click on "Deploy with Defender".

Defender Wizard Plugin Getting Started

Configure

Set your API Key and API Secret and press "Authenticate". You should see a message below the button indicating that the credentials are valid.

Defender Wizard Plugin Configure
Defender Wizard Plugin API keys

Network

Select any of the supported networks. This also includes private and forked networks configured in your tenant.

Defender Wizard Plugin Network

Approval Process

Here you have 3 options:

  • Select an existing approval process from your Deployment Environment configured for the selected network.

If you have an existing deployment environment in the selected network, this is the only option allowed.
  • If the Deployment Envoronment does not exist for the selected network, then you can create a new one.

If the Approval Process to be created is a Relayer, the API Key must include Manage Relayers permission.
  • Additionally, you can use the injected provider from Remix (a browser wallet) to deploy the contract, this will create a Defender Deployment Environment under the hood after deploying the contract.

Defender Wizard Plugin Approval Process

Deploy

In this step, you should see the constructor inputs of your configured contract (if any), and the option to create a deterministic deployment.

This step is reactive, if you modify the contract you will see the new constructor arguments updated right after.
Upgradable contracts are not yet fully supported. This action will only deploy the implementation contract without initializing. For safe upgrades, we strongly recommend usign Upgrades Package.
Defender Wizard Plugin Deploy

Deterministic Deployments

Defender Deploy supports a salt value to create deployments to deterministic addresses using CREATE2. Click on Deterministic checkbox and set the salt field to any arbitrary value.

If the approval process selected is a Multisig, the salt is required as Defender only support deterministic deployments when using Multisigs.
Defender Wizard Plugin Deterministic Deployments

Further Steps

Once the contract deployment is submitted to Defender, in some cases you may need to complete the deployment from Defender Dashboard. You will see message indicating that the contract was submitted and a button that redirects to your Deployment in Defender.

Defender Wizard Plugin Further Steps

Feedback

The Defender Deploy Plugin is open source, for feedback related to the plugin, please submit an issue in the Github Repository or send an email to [email protected].