Ricardo Guilherme Schmidt
f06168c8ce
fix(StakeManager): properly init accs and checks init
2024-02-23 10:57:17 -03:00
Ricardo Guilherme Schmidt
c9ed9dd833
refactor(StakeManager): refactor multiplier points logic
2024-02-23 10:57:17 -03:00
Ricardo Guilherme Schmidt
03bc6559ae
fix: StakeManager migration fixes and certora rules
2024-02-20 09:08:00 +01:00
r4bbit
4e411f2b37
test(StakeManager): add test to check that inital MPs are minted
...
This adds a test that ensures multiplier points are minted with a 1:1
ratio to the stake token amount.
This scenario covers the case where no lock up time is set during
staking.
2024-01-19 11:44:25 +01:00
r4bbit
d9a64559a2
fix(StakeManager): add checks for whether lockup period is in range ( #39 )
...
This commit introduces `MIN_LOCKUP_PERIOD` and `MAX_LOCKUP_PERIOD` and
makes use of them within `StakeManager.stake()` and
`StakeManager.lock()` accordingly.
When users deposit tokens into their vault via `stake()`, they can
provide an optional lockup time. If the value is `0` it implies users do
not want to lock their stake.
If the value is `> 0` it has to be within the range of
`MIN_LOCKUP_PERIOD` and `MAX_LOCKUP_PERIOD`.
Properly addresses #15
2023-12-06 12:10:07 +01:00
r4bbit
6f591dd674
refactor(StakeManager): use custom errors everywhere ( #30 )
2023-10-10 15:49:34 +02:00
r4bbit
03d2dcf3e8
refactor(StakeManager): add custom `StakeManager__FundsLocked` error ( #29 )
2023-10-10 15:44:16 +02:00
r4bbit
eeffcfe7d7
refactor(StakeManager): use custom error in `onlyVault` modifier ( #28 )
...
Also introduce tests that ensure the error is actually emitted.
2023-10-10 15:32:46 +02:00
r4bbit
2e7c5148b4
refactor: migrate repository to foundry-template ( #6 )
...
This commit migrates the repo to our foundry template, which ensures we
have consistent tooling across smart contract repositories that are
maintained by Vac.
This removes all hardhat related files and workflows and replaces them
with more perfomant foundry workflows.
It also sets up tests, CI and linting.
2023-09-12 18:37:30 +02:00
Frederico Teixeira
d9d6a6e633
function signature changed from "pure" to "view",
...
as it access block.timestap.
2023-07-24 17:16:44 +02:00
Martin Strobl
56f007e3b7
added MP boost limit check
...
- limit checked when locking incl. the increased limit due to bonus
- limit checked when processing only for accounts that are not locked
2023-07-11 15:47:55 +02:00
Martin Strobl
a731962d32
Repair minting MPs with lock
...
- The "free MPs" in the amount of 100% of stake that are minted on deposit are now not minted anymore duplicitely in the lock function
2023-07-11 12:08:30 +02:00
Martin Strobl
fe5cd4b517
Initial MP mint repaired
...
- Now, MPs are minted on the newly staked amount only (previously was entire stake).
- The bonus MPs are calculated correctly such that there is a 1x bonus per year of lock.
- Still TBD: MPs are not minted for existing stake if current lock extended (or newly introduced), there is no check for max boost MP ceiling
2023-07-11 11:56:34 +02:00
Ricardo Guilherme Schmidt
fcb8dca9a6
mintInitialMultiplier dt+1
2023-07-09 16:00:49 -03:00
Ricardo Guilherme Schmidt
17d1816570
fixes: initial multiplier mint, leave, unstake
2023-07-06 09:12:01 -03:00
Ricardo Guilherme Schmidt
9ba151266d
use solidity 0.8.18 for hardhat compatibility
2023-06-28 17:51:53 -03:00
Ricardo Guilherme Schmidt
ff4bdf65f3
fix typo
2023-06-26 12:30:48 -03:00
Ricardo Guilherme Schmidt
6bf8d66221
force users to migrate or leave
2023-06-26 12:26:02 -03:00
Ricardo Guilherme Schmidt
da5ea645b0
fix account rewarding
2023-06-26 11:52:51 -03:00
Ricardo Guilherme Schmidt
57bc268288
rename functions
2023-06-25 11:44:32 -03:00
Ricardo Guilherme Schmidt
2f6fe21682
small fix
2023-06-23 20:03:03 -03:00
Ricardo Guilherme Schmidt
fc74878977
fix compilation errors
2023-06-23 20:01:59 -03:00
Ricardo Guilherme Schmidt
98ea9aee4f
update solc
2023-06-23 19:26:07 -03:00
Ricardo Guilherme Schmidt
26da805fd9
add upgradability
2023-06-23 18:38:55 -03:00
Ricardo Guilherme Schmidt
ff3a7b09ea
Only vaults that Re previosly allowed
2023-06-23 15:03:52 -03:00
Ricardo Guilherme Schmidt
d960512915
add documentation
2023-06-23 13:47:37 -03:00
Ricardo Guilherme Schmidt
e217f9b78e
organize header
2023-06-23 13:31:13 -03:00
Ricardo Guilherme Schmidt
1375440bd5
fix balance lock
2023-06-23 13:29:36 -03:00
Ricardo Guilherme Schmidt
c2142c1306
rename variables
2023-06-23 13:09:07 -03:00
Ricardo Guilherme Schmidt
6a79af5f95
fix var name
2023-06-23 10:04:17 -03:00
Ricardo Guilherme Schmidt
14782c9dd2
improve storage access
2023-06-22 15:42:42 -03:00
Ricardo Guilherme Schmidt
1fbc871f5b
reduce gas use
2023-06-21 12:35:47 -03:00
Ricardo Guilherme Schmidt
0f50e2d2de
only one claim per epoch
2023-06-21 12:32:30 -03:00
Ricardo Guilherme Schmidt
4849cccb81
execute epoch, user reward
2023-06-21 11:20:23 -03:00
Ricardo Guilherme Schmidt
b70666c26d
reward emissions
2023-06-21 10:59:30 -03:00
Ricardo Guilherme Schmidt
e9d71449c1
simplfy contract
2023-06-20 11:53:34 -03:00
Ricardo Guilherme Schmidt
254afe9932
save progress
2023-05-24 10:25:52 -03:00
Ricardo Guilherme Schmidt
d23afa676a
skel
2023-05-16 18:59:25 -03:00