staking/script
r4bbit d397466f75 feat(script): add deployment script for new `StakeManager`s
This is needed to deploy individual new `StakeManager` instances in
both, production environment and testing.

The script can be used as follows:

Within tests, to get a new `StakeManager` instance that has a reference
to an older `StakeManager` instance, run:

```solidity
function setUp() public virtual override {
    super.setUp();
    DeployMigrationStakeManager deployment = new DeployMigrationStakeManager(address(stakeManager), stakeToken);
    newStakeManager = deployment.run();
}
```

Where `address(stakeManager)` is the address of the current
`StakeManager` and `stakeToken` is the address of the stake token.

To deploy a new instance from the CLI using `forge`, one can make use of
the `PREV_STAKE_MANAGER` and `STAKE_TOKEN_ADDRESS` environment variables
like this:

```sh
$ PREV_STAKE_MANAGER=0x123 STAKE_TOKEN_ADDRES=0x456 forge script script/DeployMigrationStakeManager.s.sol
```

The script will revert when `STAKE_TOKEN_ADDRESS` is `address(0)`.

Closes #71
2024-02-29 11:19:18 -03:00
..
Base.s.sol refactor: migrate repository to foundry-template (#6) 2023-09-12 18:37:30 +02:00
Deploy.s.sol feat: introduce `VaultFactory` (#38) 2023-11-07 09:49:22 +01:00
DeployMigrationStakeManager.s.sol feat(script): add deployment script for new `StakeManager`s 2024-02-29 11:19:18 -03:00
DeploymentConfig.s.sol test(StakeManager): expand on deployment test (#27) 2023-10-10 13:53:03 +02:00