How To Upgrade

Introduction

This document outlines upgrading contracts within our system. It delves into the two primary upgrade paths: multi-contract and single-contract upgrades, detailing how each approach should be approached.

Universal Process

When addressing bugs or adding new features, the deployment process is streamlined and consistent, regardless of the upgrade path chosen:

  1. Deploy the updated logic contract to incorporate the necessary changes or additions.

  2. Initialize the new protocol version to prepare it for integration and use within the system.

  3. Create a change log with changes added

Single Contract Upgrades

A single contract upgrade occurs when updates or enhancements are contained within a single contract, without affecting other parts of the system. This type of upgrade is applicable when the contract in question does not induce changes or require updates in other contracts or modules within the protocol. The upgrade process in such cases is straightforward and involves only the contract directly impacted by the proposed changes.

Multi-Contract Upgrades

Multi-contract upgrades are necessary when changes in one contract necessitate adjustments or updates in other contracts within the system. This interconnected upgrade approach ensures that enhancements or fixes are consistently applied across all affected components, maintaining the integrity and functionality of the overall protocol. Multi-contract upgrades require a coordinated deployment strategy to seamlessly integrate the updated contracts without disrupting the system's operations.

Performing Upgrade

To modify a component follow these steps:

  1. Access the admin panel with your blueprint email for the login and connect your wallet.

  2. Use the "disable" function to deactivate the component in question providing the name of the component and the parent address.

  3. On completion of the above step, execute the "enable" function, specifying the component's name, the parent address, and the newly deployed address of the component.

(INSERT IMAGES FROM ADMIN PANEL)

Functions

Module 
Blueprint 
Action

/// TODO

Criteria for Rollback

Rollback Process

Governance Process

Smart Contract Audits

Last updated