Migrate from V2 to V3
This migration guide is intended for developers working with our smart contract. This document outlines the key changes between the current and upcoming versions, including function parameter renames,
Overview
Function Parameter Renaming
The deposit
and withdraw
functions have had their parameter names updated to better represent their purpose. The interfaces for these functions remain the same; only the parameter names have changed.
function deposit(uint256 amount)
has been changed tofunction deposit(uint256 vaultTokenAmount)
function withdraw(uint256 xyWrappedTokenAmount)
has been changed tofunction withdraw(uint256 shareAmount)
Deprecated State Variables
The following state variables are deprecated and will no longer be used to calculate remaining liquidity:
uint256 public closeSwapGasFees
uint256 public depositAndWithdrawFees
New State Variables and Mappings
New state variables and mappings have been added to provide more detailed control and tracking:
bool public acceptDepositRequest
indicates if the contract currently accepts deposit requests.bool public acceptWithdrawRequest
indicates if the contract currently accepts withdraw requests.mapping (uint256 => bool) public isDepositCompleted
tracks the completion status of deposit requests by their ID.mapping (uint256 => bool) public isWithdrawCompleted
tracks the completion status of withdraw requests by their ID.
Migration Steps
Updating Function Calls
Review and update all instances where deposit()
and withdraw()
functions are called with the new parameter names:
For deposit()
:
For withdraw()
:
Handling Deprecated Variables
Remove or refactor any code segments that reference closeSwapGasFees
and depositAndWithdrawFees
. Determine alternative methods to calculate liquidity, if necessary.
Incorporating New Variables
Incorporate logic to handle the new state variables and mappings according to your contract's requirements. Ensure that you check the acceptance of deposit and withdraw requests before proceeding with the operations. Also, verify the completion status of requests using the new mappings.
Example for deposit request check:
Example for withdraw request check:
Last updated