This should probably be done in a separate crate as it will contain dependencies for all the v2 contracts.
The tests must reproduce realistic scenarios, such as having multiple pools (some of them duplicated with the same assets), vaults, incentives. Have multiple users bonding/unbonding at different times (verifying the rewards are sound), create (over 21) new epochs, check how the rewards are forwarded in the bonding manager and so on....
This should probably be done in a separate crate as it will contain dependencies for all the v2 contracts.
The tests must reproduce realistic scenarios, such as having multiple pools (some of them duplicated with the same assets), vaults, incentives. Have multiple users bonding/unbonding at different times (verifying the rewards are sound), create (over 21) new epochs, check how the rewards are forwarded in the bonding manager and so on....