Function: addRebalanceRequest(uint256 assetID, Token[] basket, OrderInfo orderInfo)
Add the rebalance request to the contract.
Inputs
assetIDControl: Fully controlled by the caller.
Constraints: Must be a valid asset ID.
Impact: Specifies the asset to be rebalanced.
basketControl: Fully controlled by the caller.
Constraints: Must be equal to the basket of the asset token.
Impact: Confirms the current basket of the asset token.
orderInfoControl: Fully controlled by the caller.
Constraints: Must be valid
OrderInfo.Impact: Prevents invalid order from being passed or replayed to the same swap.
Branches and code coverage
Intended branches
Calculate the new basket and token set correctly.
Create a new swap request handling the order.
Lock the rebalance feature.
Negative behavior
The caller is the owner.
Asset token does not rebalance or issue status.
Fee has been collected from the asset token.
Given order is valid.