Upgrade Model

Glacis infrastructure contracts are all immutable. The main reasons that allow the implementation of this approach are:

  • The highly modular structure of Glacis (adapters can be updated and re-registered at any time)

  • Most of the infrastructure components are stateless, or at least stateful for a short period of time (Ex while a message is still not delivered some message information can be stored in router)

  • There is no locked value in any contract. At the same time, new features or fixes may need to be added as Glacis cannot control the GMP protocols that it adapts to, so some sort of an upgrade model is desired. Glacis' upgrade model consists of component redeployment while maintaining backward compatibility. That means that if a user is working with current Glacis Infrastructure V1 and a version V2 is deployed, users can opt to update their smart contracts' stored router and mediators addresses to the new ones if they want to leverage new features/fixes.

This table details the upgrade model for each component:

ComponentContract TypeUpgrade Model

Adapters

Immutable\nDeployed By Glacis

An adapter can be unregistered and re-registered at any time with a new deployed contract. Clients do not have to be updated. address

Router

Immutable

A new version can be deployed at any time.Previous adapters must be re-registered.\nIf there are changes in the interface a new version of the Client and Token Client must be deployed

Token Mediator

Immutable

A new version must be deployed if a new version of the Router is deployed with changes in the interface. A new version can be deployed at anytime. Users need to re-deploy their Token Client contracts with the new Token Mediator. If there are changes in the interface a new version of the Token Client must be deployed.

Message Client

Deployed by User

A new version must be deployed if a new version of the Router with changes in interface is deployed

Token Client

Deployed by User

A new version must be deployed if a new version of the Token Mediator with changes in interface is deployed

Last updated