npm i
npx hardhat compile
NOTE: if you would like to to start a containerized development environment, run docker-compose up
prior to the previous commands.
Deploy the Klima tokens (KLIMA, sKLIMA, wsKLIMA).
npx hardhat run --network <network_name> ./scripts/deploy_KLIMA_Tokens.js
Update .env
with the KLIMA address from the previous step and with the BCT
address and deploy the Klima treasury.
npx hardhat run --network <network_name> ./scripts/deploy_KLIMA_treasury.js
Note that sKLIMA is not set at the treasury contract and needs to be a separate transaction to add it as it stands.
Update .env
with the sKLIMA address from the first step and the treasury
address from the previous step. Also, configure the desired parameters for
the first epoch number, block, and epoch length in the deploy script below.
npx hardhat run --network <network_name> ./scripts/deploy_KLIMA_staking.js
Note that the AlphaKlimaRedeemUpgradeable
will fail to get built by default, and therefore has been marked deprecated.
In order to compile this contract, you will need to manually update the @openzeppelin/contracts-upgradeable
contracts that are downloaded in your node_modules
by changing _trustedForwarder
in metatx/ERC2771ContextUpgradeable.sol
from a private to a public address.
There is another issue related to the _trustedForwarder
in that contract that has not yet been resolved.
Since aKLIMA
was a prelaunch coupon and the existing deployed versino of the redemption contract works as expected, this contract is no longer needed.