SXT staking contracts, for staking SXT tokens, nominating validators and unstaking.
This can be deployed by running the following
-
Set environment variables, preferrably using an env file
.envfile# .env file # This variable must be the url of the RPC node ETH_RPC_URL= # The private key of the account to deploy the contract from PRIVATE_KEY= # The API key for etherscan to verify the contracts ETHERSCAN_API_KEY=
source .env -
Run the deployment script
./jobs/deploy.sh
-
Dry run the transaction using any of the following (or variations).
- Use a Ledger hardware wallet
forge script script/deploy.s.sol --rpc-url=$ETH_RPC_URL --ledger - Use a Trezor hardware wallet
forge script script/deploy.s.sol --rpc-url=$ETH_RPC_URL --trezor - Use the foundry keystore, which can be set up using
cast wallet. Be sure to set theETH_KEYSTORE_ACCOUNTenv variable.forge script script/deploy.s.sol --rpc-url=$ETH_RPC_URL - Use a private key
forge script script/deploy.s.sol --rpc-url=$ETH_RPC_URL --private-key=$PRIVATE_KEY
- Use a Ledger hardware wallet
-
Add
--broadcastto actually run the deployment.
For questions on this repository, please open an issue.