Upgradable / Proxy Smart Contracts

All Dexponent Smart Contracts use upgradable proxy patterns to maintain the state and address of the smart contracts. Dexponent separates the logic as follows:

  1. Proxy Contract: Acts as the proxy between users and the implementation contracts. This stores the address of the current implementation contract delegates all function calls to the implementation contract and returns the results.

  2. Implementation Contracts: Contains the actual business logic of staking of the contract. It can be upgraded to a new version with new logic.

  3. Storage Contracts: Contains all the state variables of the staking smart contract. It is designed to be persistent and remains unchanged across different versions of the implementation contract. Adding new variables is done at the end of the existing storage structure to prevent overwriting or misaligning the existing data.

Last updated