Skip to content

Commit 3c45863

Browse files
authored
Resolve deficiencies in documentation (#274)
* Resolve deficiencies in documentation * Minor fixes to documentation
1 parent c91f0f1 commit 3c45863

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

script/staking/README.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,34 +11,35 @@ The following variables must be specified for all scripts. They can be supplied
1111
* `HARDWARE_WALLET`: Set to `ledger` for a Ledger hardware wallet, `trezor` for a Trezor hardware wallet, and not set when using a private key. See [Forge's documentation](https://book.getfoundry.sh/reference/forge/forge-script#wallet-options---hardware-wallet) for more information on hardware wallet configuration.
1212
* `HD_PATH`: Hierarchical Deterministic path. Must be set if using a Ledger or Trezor hardware wallet. Should be of the form: `HD_PATH="m/44'/60'/0'/0/0"`.
1313
* PRIVATE_KEY: A private key must be specified if HARDWARE_WALLET is not specified. The value should not be prefixed with `0x`.
14+
* `DISTRIBUTE_ADMIN`: Initial account that will be authorised to distribute token to stakers. Specify 0x0000000000000000000000000000000000000000 to have no account with distribute administrator access.
15+
* `STAKEHOLDER_TYPE`: The stake holder configuration can allow for an ERC20 token or native IMX to be staked. For the ERC20 token variant, `STAKEHOLDER_TYPE` must be `ERC20`. For native IMX, `STAKEHOLDER_TYPE` must be `WIMX`.
16+
* `ERC20_STAKING_TOKEN`: Address of ERC20 token to be used for staking. For use by ERC20 deployment script, which is used when `STAKEHOLDER_TYPE`=`ERC20`.
17+
* `WIMX_TOKEN`: Address of WIMX token contract. For use by the WIMX deployment scirpt, which is used when `STAKEHOLDER_TYPE`=`WIMX`.
18+
19+
1420

1521
## Simple Deployment
1622

17-
To deploy the `StakeHolderERC20.sol` contract with a `ERC1967Proxy.sol`, use the `deploySimple.sh` script.
23+
To deploy the `StakeHolderERC20.sol` or the `StakeHolderWIMX.sol` contract with a `ERC1967Proxy.sol`, use the `deploySimple.sh` script.
1824

19-
The following variables must be specified via the environment or a `.env` file for the `deploySimple.sh` script:
25+
In addition to the common variables described above, the following variables must be specified via the environment or a `.env` file for the `deploySimple.sh` script:
2026

21-
* `DEPLOYER_ADDRESS`: Address that corresponds to the hardware wallet or private key. This account is used to deploy the `StakeHolderERC20` and the `ERC1967Proxy` contracts.
27+
* `DEPLOYER_ADDRESS`: Address that corresponds to the hardware wallet or private key. This account is used to deploy the `StakeHolderERC20` or `StakeHolderWIMX` and the `ERC1967Proxy` contracts.
2228
* `ROLE_ADMIN`: Account that will be the initial role administrator. Accounts with the role administrator access can manage which accounts have `UPGRADE_ADMIN` and `DISTRIBUTED_ADMIN` access. Specify 0x0000000000000000000000000000000000000000 to have no account with role administrator access.
2329
* `UPGRADE_ADMIN`: Initial account that will be authorised to upgrade the StakeHolderERC20 contract. Specify 0x0000000000000000000000000000000000000000 to have no account with upgrade administrator access.
24-
* `DISTRIBUTE_ADMIN`: Initial account that will be authorised to upgrade the StakeHolderERC20 contract. Specify 0x0000000000000000000000000000000000000000 to have no account with distribute administrator access.
25-
* `ERC20_STAKING_TOKEN`: Address of ERC20 token to be used for staking. For use by ERC20 deployment script.
26-
* `WIMX_TOKEN`: Address of WIMX token contract. For use by the WIMX deployment scirpt.
2730

2831
## Complex Deployment
2932

30-
To deploy the `StakeHolderERC20.sol` contract with a `ERC1967Proxy.sol` and a `TimelockController` using an `OwnableCreate3Deployer`, use the `deployComplex.sh` script. If you do not have access to an `OwnableCreate3Deployer` contract, use the `deployDeployer.sh` script to deploy this contract first.
33+
To deploy the `StakeHolderERC20.sol` or the `StakeHolderWIMX.sol` contract with a `ERC1967Proxy.sol` and a `TimelockController` using an `OwnableCreate3Deployer`, use the `deployComplex.sh` script. If you do not have access to an `OwnableCreate3Deployer` contract, use the `deployDeployer.sh` script to deploy this contract first.
3134

32-
The following variables must be specified via the environment or a `.env` file for the `deployDeployer.sh` script:
35+
In addition to the common variables described above, the following variables must be specified via the environment or a `.env` file for the `deployDeployer.sh` script:
3336

3437
* `DEPLOYER_ADDRESS`: Address that corresponds to the hardware wallet of private key. This account is used to deploy the `OwnableCreate3Deployer` contract.
3538

36-
The following variables must be specified via the environment or a `.env` file for the `deployComplex.sh` script:
39+
In addition to the common variables described above, the following variables must be specified via the environment or a `.env` file for the `deployComplex.sh` script:
3740

3841
* `DEPLOYER_ADDRESS`: Address that corresponds to the hardware wallet or private key. This account is used to deploy the contracts via the `OwnableCreate3Deployer` contract.
3942
* `OWNABLE_CREATE3_FACTORY_ADDRESS`: Address of the `OwnableCreate3Deployer` contract.
40-
* `DISTRIBUTE_ADMIN`: Initial account that will be authorised to upgrade the StakeHolderERC20 contract. Specify 0x0000000000000000000000000000000000000000 to have no account with distribute administrator access.
41-
* `ERC20_STAKING_TOKEN`: Address of ERC20 token to be used for staking.
4243
* `TIMELOCK_DELAY_SECONDS`: Time in seconds between proposing actions and executing them.
4344
* `TIMELOCK_PROPOSER_ADMIN`: Address of account that can propose actions. Multiple proposers can be specified by modifying `StakeHolderScript.t.sol`.
4445
* `TIMELOCK_EXECUTOR_ADMIN`: Address of account that can execute actions. Multiple executors can be specified by modifying `StakeHolderScript.t.sol`.

0 commit comments

Comments
 (0)