Commit Graph

10 Commits

Author SHA1 Message Date
Filip Pajic
7371ba36ee disabled built in foundry linting 2025-08-27 14:43:28 +02:00
Ricardo Guilherme Schmidt
753e379682 chore(forge fmt): change line lenght to 119 to avoid conflicts with solhint 2025-06-05 13:56:52 +02:00
r4bbit
aa1addbfcd chore: downgrade to paris
We put `cancun` as evm version into the foundry toml by mistake and
ended up building on top of it with certain assumptions.

Turns out that the network we're deploying to does not support that
version so we have to compile with `paris`.

This however, also requires a downgrade of the open zeppelin libraries,
which in turn requires changes in our code base. Primarily related to
initialization of `OwnableUpgradeable` and upgrades via UUPSUpgradeable.

This commit makes all the necessary changes.
2025-03-05 11:47:30 +01:00
r4bbit
7575e965a2 refactor(RewardsStreamerMP.t.sol): fix test that causes stack too deep
error

One of our tests uses too many local variables and causes stack too deep
errors unless optimized `--via-ir`.

We've introduced `--via-ir` to work around that until a proper fix is
done. The downside of using that option is that compilation times get
significantly longer.

This commit restructures the test such that it doesn't use as many local
variables.
2025-02-25 15:06:58 +01:00
Ricardo Guilherme Schmidt
3bd9c46fb3 chore(tests): Add fuzz tests 2025-02-24 15:29:10 +01:00
Ricardo Guilherme Schmidt
8c982924b8 chore(foundry.toml): fix max_test_rejects 2025-02-24 15:29:10 +01:00
r4bbit
807f480d97 test(RewardsStreamerMP): ensure newly added fields are checked in tests
Those were missing and now added.
Because of this we're running into stack to deep errors in test, so we
have to enable `via_ir` by default for now until we split things up.
2025-02-20 17:26:56 +01:00
Ricardo Guilherme Schmidt
8561a68ffd feat(RewardsStreamerMP): make RewardsStreamerMP upgradeable
This commit introduces upgradeability of the `RewardsStreamerMP`
contract by leveraging the UUPS pattern.

This means, for deployment, we have to first deploy an instance of
`RewardsStreamerMP` contract as a "template" logic contract and then
create a ERC1967Proxy that points to it.

The proxy ensures the implementation address is stored in a
deterministic storage slot.

This will later be leveraged by the `StakeVault` contract to implement
the functionality to leave the system in case there was a malicious
upgrade.

Closes #22
2024-12-01 08:06:51 +01:00
Andrea Franz
4ef75621a3 import foundry template (#1) 2024-09-25 09:39:14 +02:00
Andrea Franz
9999866d0c chore: forge init 2024-09-09 22:23:01 +02:00