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
3d2cf16277
Merge branch 'mc/add-clawback-instruction'
2021-11-30 14:00:28 +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
microwavedcola1
ef5b11cb3c
notes
2021-11-29 06:51:06 +01:00
Christian Kamm
ce1e639e71
Add rust-based tests that setup a spl-gov instance
2021-11-28 08:34:10 +01:00
Christian Kamm
eed7c60532
Check that mint/vault is appropriate on withdraw
2021-11-27 09:32:28 +01:00
Christian Kamm
4a00417348
Forbid creating voter accounts via CPI
2021-11-27 09:32:28 +01:00
Christian Kamm
f3838d2574
Prevent withdrawing in the same slot as a deposit
...
To prevent deposit / revise / withdraw / vote.
2021-11-27 09:32:28 +01:00
Christian Kamm
8dacaf87c3
Check TokenOwnerRecord on withdraw()
2021-11-27 09:32:28 +01:00
Christian Kamm
db37418551
Store parent governance program id in registrar
...
Needed for later reading TokenOwnerRecord in withdraw()
2021-11-27 09:32:28 +01:00
microwavedcola1
1593975b53
extend tests
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-11-27 08:23:09 +01:00
microwavedcola1
36af4a29b3
add todo
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-11-27 07:47:36 +01:00
microwavedcola1
bff99fc155
add monthly vesting
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-11-26 21:04:05 +01:00
microwavedcola1
23ad57302d
make withdraw ts tests work
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-11-26 07:49:22 +01:00
microwavedcola1
eccaecc2e5
fix types in tests + fix seeds in withdraw
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-11-26 07:30:14 +01:00
Christian Kamm
adf0a7e81e
Add notes about necessary changes to withdraw()
2021-11-25 18:31:26 +01:00
armaniferrante
e382999f90
traivs: Run cargo tests
2021-10-25 09:51:14 -07:00
armaniferrante
20bc67ba74
travis: Use node 17.0.1
2021-10-25 09:07:56 -07:00
armaniferrante
26e2d7870c
Use anchor v0.18.0
2021-10-24 22:16:22 -07:00
armaniferrante
89ef88aef0
Remove warmup
2021-10-24 18:14:06 -07:00
armaniferrante
5badbeb59c
Scale exchange rate mints into common decimals
2021-10-23 16:09:42 -07:00
armaniferrante
71d7a4437b
Untabify inert attribute
2021-10-23 14:03:15 -07:00
armaniferrante
0babb8e8b5
Daily tests passing
2021-10-23 13:48:19 -07:00
armaniferrante
c95fa4bf61
Begin daily tests
2021-10-22 22:43:13 -07:00
armaniferrante
4f455659b1
Add cliff tests
2021-10-22 16:57:20 -07:00
armaniferrante
0bdcb475cb
Fix account close
2021-10-21 19:30:52 -07:00
armaniferrante
eaf6890146
Create and write vote weight records
2021-10-21 19:16:32 -07:00
armaniferrante
f00531fb7f
Fix withdraw freezing
2021-10-21 13:03:59 -07:00