Christian Kamm
37a3ab9b0f
Rename CloseDeposit -> CloseDepositEntry
2021-12-02 11:08:18 +01:00
Christian Kamm
f5ecf79765
Rename UpdateDeposit -> Deposit
2021-12-02 11:06:15 +01:00
Christian Kamm
daf4609c41
Rename CreateDeposit -> CreateDepositEntry and make it separate
...
It doesn't implicitly call UpdateDeposit now
2021-12-02 11:01:14 +01:00
Christian Kamm
17a023fe6d
cargo fmt
2021-12-02 08:06:45 +01:00
microwavedcola1
333584ad92
rename
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-01 14:51:40 +01:00
microwavedcola1
75335477ef
fix bug: clawback should only happen on a not-closed deposit
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-01 14:34:42 +01:00
Christian Kamm
0543f5fe20
Rename to voter-stake-registry
2021-12-01 13:28:38 +01:00
Christian Kamm
0efd7c0518
Adjust lockup ending after clawback()
2021-12-01 12:40:52 +01:00
Christian Kamm
304af2ae7d
Test: withdraw before and after clawback
...
This way we check that it can deal with withdrawn vested amounts
2021-12-01 12:36:06 +01:00
Christian Kamm
57dbe54e7c
Merge remote-tracking branch 'origin/master' into clawback
2021-12-01 12:25:15 +01:00
Christian Kamm
811063ab44
Minor: remove todo
2021-12-01 12:15:39 +01:00
Christian Kamm
4c49608ac5
Tests: remove stale argument from clawback()
2021-12-01 12:13:07 +01:00
Christian Kamm
6244649140
Remove proxy tokens for locked deposits
...
It was unclear how clawback() was to burn these tokens when it didn't
have the authority for the voting_token account. update_deposit() also
couldn't pre-approve because it also doesn't have a voter_authority
signature.
2021-12-01 12:09:07 +01:00
Christian Kamm
b011d8999b
Fix clawback authority validation
...
Tests currently fail because clawback can't burn voting_token funds.
2021-12-01 12:03:38 +01:00
Christian Kamm
8257f29c4e
Deposits with clawback can only be closed when locking period is over
2021-12-01 11:42:08 +01:00
Christian Kamm
98e09c5a89
Require voter_authority for create deposit, not for update deposit
2021-12-01 11:33:35 +01:00
Christian Kamm
89f94ae553
Fix amount_not_yet_vested in clawback
2021-12-01 11:18:02 +01:00
Christian Kamm
c7aaa811d4
Remove clawback checks that might prohibit DAO from using it
2021-12-01 11:14:56 +01:00
Christian Kamm
9bfb3ba865
Don't allow update_deposit to change allow_clawback
2021-12-01 11:12:24 +01:00
microwavedcola1
3303c6e627
clawback v1
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-01 10:20:39 +01:00
Christian Kamm
bf620a6bea
Add constraint notes on UnceckedAccounts
2021-12-01 09:46:13 +01:00
Christian Kamm
62764866d7
Registrar creation needs a valid realm authority
2021-12-01 09:29:07 +01:00
Christian Kamm
de80fc6f20
Change withdraw token owner record checks
...
As suggested by SebastianBor
2021-12-01 09:11:45 +01:00
Christian Kamm
96905a9eb2
Add governing token mint constraint on update voter weight record
2021-12-01 09:01:05 +01:00
Christian Kamm
6b54623831
Don't require signing for UpdateVoterWeightRecord
2021-12-01 08:59:25 +01:00
Christian Kamm
211f70b2ee
Use arbitrary governing mint
...
Also
- fix deposit_cliff test
- proactively avoid collisions in PDA seeds
- macro for getting registrar seeds
2021-12-01 08:52:39 +01:00
microwavedcola1
c5e1f6e9b3
box registrat to prevent hammering of stack
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-01 07:45:00 +01:00
Christian Kamm
10f8961882
Basic cliff vesting tests
2021-11-30 15:11:07 +01:00
microwavedcola1
b8c1c1f1f2
revert clawback change
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-11-30 14:16:07 +01:00
Christian Kamm
ae600bfaf5
Reorder context accounts for readability
2021-11-30 14:05:09 +01:00
microwavedcola1
34c8379e41
clawback1: add registrar token account which would be clawback withdraw destination
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-11-30 14:00:15 +01:00
Christian Kamm
39e7cd1fc0
Use UncheckedAccount over AccountInfo
...
UncheckedAccount is the preferred alias, there should be no behavior
difference.
2021-11-30 13:16:09 +01:00
Christian Kamm
6f85300c4c
Better naming for authorities
...
By splitting into registrar_authority and voter_authority it's
immediately clear what kind of authority is used and expected.
2021-11-30 13:10:48 +01:00
Christian Kamm
bdf4f0e723
cargo fmt
2021-11-30 11:56:14 +01:00
Christian Kamm
2c608ebe46
Add instruction for closing deposits
2021-11-30 11:49:59 +01:00
Christian Kamm
d529dab2d6
Remove unnecessary vesting functions
2021-11-30 09:33:17 +01:00
Christian Kamm
fdff9e1f77
Add monthly vesting test
2021-11-30 09:27:07 +01:00
Christian Kamm
21a1970349
Deal with vesting periods uniformly
...
- create deposit now takes 'periods' instead of 'days'
- vesting and vote weight are computed via periods
- cliff lockup has a daily period
- change secs_per_month to be secs_per_year / 12
2021-11-30 09:24:18 +01:00
Christian Kamm
46b9c59923
Add TODOs on vote weight computations
2021-11-30 07:41:12 +01:00
Christian Kamm
b2699aa7f1
Shorten common operations in tests
2021-11-29 16:42:48 +01:00
Christian Kamm
423f8637bc
Tiny test comment fixes
2021-11-29 16:33:01 +01:00
Christian Kamm
2c2ed548e7
Remove resolved todo
2021-11-29 16:28:44 +01:00
Christian Kamm
a33e3a830d
Expand daily vesting tests
2021-11-29 16:27:51 +01:00
Christian Kamm
ff61e5cc63
Naming improvements
2021-11-29 16:11:17 +01:00
Christian Kamm
15f06c53b9
Initial daily vesting test
...
Introduce the ability to set a time offset for testing
2021-11-29 15:56:45 +01:00
Christian Kamm
d634e1067d
Simplify accessing the clock
2021-11-29 14:23:11 +01:00
Christian Kamm
95fc19d3b1
Tests: minor reformatting
2021-11-29 12:16:41 +01:00
Christian Kamm
1e10adb2f1
Tests for LockupKind::None
2021-11-29 12:07:15 +01:00
Christian Kamm
5b63ba8339
Fixes to vote scaling
...
- Introduce factors for scaling the fixed part and the time dependent
part.
- Disable the time dependent vote weight scaling initially. We can only
enable it once voluntary locking is exposed to users.
- Fix bugs around withdrawals changing the vesting amount.
- Fix bugs with vote weight computation using an incorrect denominator.
- Fix bugs around adding more funds to a locked deposit.
Lots of tests are still needed.
2021-11-29 10:29:21 +01:00
microwavedcola1
b01c59e236
lockup kind none
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-11-29 08:10:32 +01:00