Breadchain smart contracts power Breadchain's governance application.
To learn more check out the Breadchain wiki.
Join in on the conversation in our Discord.
If you have skills (both technical and non-technical) that you believe would benefit our mission, you can fill out this Google Form. Expect to hear from a member of our team shortly regarding any potential opportunities for collaboration.
Contributions to this repo are expected to adhere to the Biconomy Solidity Style Guide.
$ forge build
$ forge fmt
$ forge snapshot
$ forge test --fork-url "https://rpc.gnosis.gateway.fm" -vvvv
forge script script/deploy/DeployYieldDistributor.s.sol:DeployYieldDistributor --rpc-url "https://rpc.gnosis.gateway.fm" --broadcast --private-key <pk>
- Checkout to the deployed implementation commit
- Copy "YieldDistributor.sol" to
test/upgrades/<version>/YieldDistributor.sol
- Checkout to upgrade candidate version (A version that is strictly higher than the version in the previous step)
- Update the version in the options object of the
script/upgrades/ValidateUpgrade.s.sol
script - Run
forge clean && forge build && forge script script/upgrades/ValidateUpgrade.s.sol
- If script is runs successfully, proceed, otherwise address errors produced by the script until no errors are produced.
- Amend the
data
variable inscript/upgrades/UpgradeYieldDistributor.s.sol
to match desired data - run
forge clean && forge build && forge script script/upgrades/UpgradeYieldDistributor.s.sol --sig "run(address)" <proxy_address> --rpc-url $RPC_URL --sender <proxy_admin>
The proxy admin address is configured to be the Breadchain multisig at address 0x918dEf5d593F46735f74F9E2B280Fe51AF3A99ad
and the Yield Distributor proxy address is 0xeE95A62b749d8a2520E0128D9b3aCa241269024b