microwavedcola1
4c3215c9b0
Merge pull request #17 from blockworks-foundation/ci
...
github instead of travis for ci tests
2021-12-20 12:01:41 +01:00
microwavedcola1
1477c29a0f
linter-fix
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-20 11:09:51 +01:00
microwavedcola1
f43c715539
remove redundant cmds
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-20 11:07:45 +01:00
microwavedcola1
4568430232
github instead of travis for ci tests
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-20 11:04:40 +01:00
Christian Kamm
bb4c3f85ea
Remove separate clawback_authority ( #15 )
...
Just use the realm authority instead.
2021-12-20 11:01:23 +01:00
Christian Kamm
0e45b0d8a4
Prefer Pubkey::default() over manual init
2021-12-18 14:24:58 +01:00
Christian Kamm
150e67990e
README: Add note about devnet deployment
2021-12-18 14:23:33 +01:00
microwavedcola1
bfab92e534
fix-comment
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-18 14:22:22 +01:00
microwavedcola1
332f1f76fc
remove unused, was added for ts tests, which we not longer maintain
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-18 14:09:20 +01:00
microwavedcola1
6ba0788e48
comment
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-18 14:06:08 +01:00
Christian Kamm
afa1e30269
Tests for starting time in deposit/grant
...
Including a bugfix to the Grant instruction
2021-12-17 10:44:11 +01:00
microwavedcola1
9d72320bdd
make vault per voter+mint instead of global per registrar+mint ( #14 )
2021-12-17 08:02:14 +01:00
Christian Kamm
9c8dd35ba6
Grant/CreateDeposit: Allow control of start timestamp
2021-12-17 07:51:06 +01:00
Christian Kamm
ae7dea95eb
Create voter requires authority signature
...
and can only be called once for each voter_authority.
Now that there's a separate "Grant" instruction, there's no longer a
need for CreateVoter to be idempotent and be callable on foreign
accounts.
Calling create voter manually on a PDA account could have allowed
automation.
2021-12-17 07:51:06 +01:00
Christian Kamm
a5659f6666
Use specific size of VoterWeightRecord in initialization
2021-12-17 07:51:06 +01:00
Christian Kamm
5aa1114beb
Make VotingMintConfig::in_use based on the mint
2021-12-17 07:51:06 +01:00
Christian Kamm
b937452f51
Increase default voting_mints size to 4.
2021-12-17 07:51:06 +01:00
microwavedcola1
be92028d59
fix
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-15 10:35:31 +01:00
microwavedcola1
b51a7a5b68
sample cli
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-15 10:21:11 +01:00
Christian Kamm
d877eae443
Upgrade spl-governance dependency to current master
2021-12-14 13:46:38 +01:00
Christian Kamm
3071c1edcf
Update program ids for devnet deployment
2021-12-14 12:47:12 +01:00
Christian Kamm
a7dd5684c3
Update anchor dependency
...
The previous version didn't include the fix needed to use init_if_needed
with the voter weight record.
2021-12-14 12:25:03 +01:00
microwavedcola1
b987fb225d
Update README.md
2021-12-14 12:17:39 +01:00
microwavedcola1
24bedd7628
Update README.md
2021-12-14 12:17:09 +01:00
microwavedcola1
24b5db0ef5
Update README.md
2021-12-14 12:16:53 +01:00
microwavedcola1
36859e5c92
Update README.md
2021-12-14 12:14:27 +01:00
microwavedcola1
73fc3aa224
update lockfile
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-14 11:37:28 +01:00
Christian Kamm
49e137eb51
Add constant-maturity lockup
...
Adds LockupKind::Constant, extends the reset_lockup instruction and
adds the internal_transfer instruction to allow working with constant
maturity lockups.
2021-12-14 10:19:47 +01:00
Christian Kamm
b41dfae916
Grant instruction: Add separate "payer" signer
...
The governance PDAs can't pay.
2021-12-10 18:06:52 +01:00
Christian Kamm
8f3af93f99
Change assert() to require()
...
So these assumption-guaranteeing checks aren't removed.
2021-12-10 16:22:43 +01:00
Christian Kamm
9a5182d317
Fix a bug where start_ts could become > end_ts
...
Previously period_current() could exceed periods_total().
2021-12-10 16:22:43 +01:00
Christian Kamm
89f5954961
Allow changing of voting mint config parameters
...
Previously the configure_voting_mint() instruction could only be run
once per index. Now it's allowed to call it again to change a mint's
parameters.
This will directly be useful for Mango, which will likely start out
configuring the MNGO voting mint without lockup vote scaling and then
later enable it, when the ui is ready.
2021-12-10 09:26:30 +01:00
Christian Kamm
decdd1230c
Address unaligned references, add padding
...
- Make Registrar zero-copy. While it was using borsh for serialization,
the array of voting mint configs couldn't be serialized without
unaligned references.
- Reorganize all zero_copy fields such that switching to repr(C) would
not make a difference. (just for safety in case that happens)
- Add static asserts on the sizes of all account structs, so any changes
are visible very early.
- Add padding to structs that didn't have it yet.
2021-12-09 11:59:14 +01:00
Christian Kamm
ddf37c4de0
Configurable options for vote weight scaling factors ( #7 )
...
Configurable options for vote weight scaling and lockup saturation
Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-09 11:58:15 +01:00
microwavedcola1
317b7168eb
Remove instruction name logs since they would be redundant with next anchor release
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-07 19:12:56 +01:00
Armani Ferrante
2f5e133648
Fix conversion_factor comment
2021-12-07 18:11:32 +01:00
Christian Kamm
fea2c9a0cd
Apply review suggestions
2021-12-07 09:26:47 +01:00
Christian Kamm
e8b0a1f50a
Fix vote power computation for monthly vesting
...
- The vote power decay now has second resolution.
- Monthly and daily vesting behave exactly like multiple cliff locked
deposits.
- In particular, monthly vesting deposits lock-up power decays during
the month, making it smooth over time.
- Gain vote power even if start_ts is in the future (shouldn't happen)
2021-12-06 16:11:32 +01:00
Christian Kamm
573305f789
Test: Check placing something in all deposits
...
And reduce the compute limit in tests to half the current live limit.
2021-12-06 07:29:50 +01:00
Christian Kamm
8f5229e237
README: Update grant flow
2021-12-05 22:48:44 +01:00
microwavedcola1
f777a43ed6
basic logging
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-05 21:10:32 +01:00
Christian Kamm
a6ad8b2fdb
README: Add grant instruction
2021-12-05 20:46:21 +01:00
Christian Kamm
119bdffcec
Add grant instruction
2021-12-05 20:36:01 +01:00
Christian Kamm
4cbe9ad4d6
Make create_voter idempotent
2021-12-05 15:29:14 +01:00
Christian Kamm
05582700cf
Make create_voter permissionless
2021-12-05 14:34:03 +01:00
Christian Kamm
bae63655cc
Update voter weight record in withdraw
...
This avoids a security issue where three separate transactions in the
same slot may update the voter weight record, withdraw funds and then
vote with the stale voter weight record.
2021-12-05 11:58:56 +01:00
Christian Kamm
01168bad3c
Fix new withdraw() instruction check
2021-12-05 11:39:39 +01:00
microwavedcola1
14040bafc7
Revert "this condition is not needed anymore, since we check that the withdraw is the first ix in the tx"
...
This reverts commit 5f2bfea4e3
.
2021-12-05 11:31:00 +01:00
microwavedcola1
5f2bfea4e3
this condition is not needed anymore, since we check that the withdraw is the first ix in the tx
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-05 10:14:56 +01:00
microwavedcola1
bac332b1c8
add-todo
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2021-12-05 10:14:05 +01:00