1.0.3 • Published 1 year ago
@coraprotocol/leverage v1.0.3
cora-leveraged-staking
Release new version of this package
Smart contracts ABIs can be published as an NPM package.
yarn build
Will update the abis/
directory with the latest contracts ABIs.
For new contracts that need to be exported, build.js
needs to be modified (abisToExport
array).
Local development environment
docker-compose up --build
That will start two containers:
cora-leveraged-staking_rpc_1
: this is just an Anvil. Docker hostname isrpc
cora-leveraged-staking_deploy_1
: Performs the initial migration to Anvil and it stays running in case more scripts need to be run
Scripts examples
Change an LSD mock rate (increasing it will simulate staking rewards):
docker exec cora-leveraged-staking_deploy_1 script/updateLsdMockStakingRate.sh http://rpc:8545 <lsd address> <new rate>
- The first argument is the RPC, we can keep
http://rpc:8545
if we are running it against the local environment lsd address
is the LSD mock address that we want to update<new rate>
scaled to 18 decimals. For example if we want to set it as1.2
we need to pass1200000000000000000
as the argument.
Advance time
This will increase the time by an amount in seconds. Example, advance the time 1 hour
curl --location --request POST 'localhost:8545/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc":"2.0",
"method":"evm_increaseTime",
"params":["3600"],
"id":67}'
This will set the next timestamp. Example, this will set the next block timestamp to 1st Jan 2023:
curl --location --request POST 'localhost:8545/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc":"2.0",
"method":"evm_setNextBlockTimestamp",
"params":["1672531200"],
"id":67}'
See: https://book.getfoundry.sh/reference/anvil/#description