dependabot[bot]
ba083343ab
build(deps): bump serde from 1.0.152 to 1.0.162 ( #4207 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 10:59:45 +00:00
Jon Cinque
d01730a7aa
deps: Upgrade base64 to 0.21.0, remove where it's not used ( #4204 )
2023-05-08 16:10:57 +00:00
dependabot[bot]
733f4044d1
build(deps): bump proptest from 1.0.0 to 1.1.0 ( #4184 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-05 20:53:57 +00:00
Sebastian Bor
139ed61e84
Governance: Update spl-gov changelog and version to 3.1.1 ( #4140 )
2023-04-25 17:05:34 +00:00
joeaba
891b4bdad8
chore: update maintainer references ( #4008 )
2023-01-31 08:06:36 -05:00
Jon Cinque
88684d52a2
ci: Update repo to Solana 1.14.12 ( #3989 )
2023-01-19 21:47:03 +01:00
Sebastian Bor
c750e03f50
Governance: v3.1 ( #3915 )
...
* Governance: Remove proposal counter (#127 )
* feat: Use proposal seed instead of index
* chore: Rename and reset legacy1 to reserved1
* chore: Make Clippy happy
* chore: Fix Chat tests compilation
* Governance: Remove Realm voting proposal count (#128 )
* feat: Remove Realm.voting_proposal_count
* chore: Update comments
* chore: Add tests and explicit assertions for non existing accounts
* Governance: Remove TokenOwnerRecord total_votes_count (#130 )
* feat: Extend unrelinquished_votes_count to u64
* chore: Update comments and names
* chore: Update asserts
* chore: Update comments
* chore: Use u32:MAX to trim unrelinquished_votes_count
* chore: Make Clippy happy
* chore: Update versioning cleanup comments
* Governance: Active proposal count (#131 )
* feat: Add active_proposal_count to Governance
* feat: Reallocate GovernanceV1 to GovernanceV2
* chore: test_create_proposal_and_migrate_v1_governance_to_v2
* chore: Cleanup code
* chore: Update comments
* chore: Use assert_is_valid_realm instead of deserializing the account
* chore: Update comments
* chore: Update comments
* chore: Check for empty account first
* chore: Update comments
* fix: Assert new account size is greater than the existing one
* Governance: Proposal deposit (#135 )
* feat: Add active_proposal_count to Governance
* feat: Reallocate GovernanceV1 to GovernanceV2
* chore: test_create_proposal_and_migrate_v1_governance_to_v2
* chore: Cleanup code
* chore: Update comments
* chore: Use assert_is_valid_realm instead of deserializing the account
* chore: Update comments
* chore: Update comments
* chore: Check for empty account first
* feat: Add extra_lamports to create_and_serialize_account
* chore: Make Clippy happy
* feat: Implement Proposal security deposit
* chore: Make Clippy happy
* chore: Add proposal deposit amount tests
* feat: Implement RefundProposalDeposit
* chore: test_refund_proposal_deposit
* chore: Make Clippy happy
* chore: test_refund_proposal_deposit_with_cannot_refund_draft_proposal_error
* chore: test_refund_proposal_deposit_with_invalid_proposal_owner_record_error
* chore: test_refund_proposal_deposit_with_invalid_proposal_owner_error
* fix: Return deposit to deposit payer
* chore: Cleanup
* chore: test_refund_proposal_deposit_with_invalid_proposal_deposit_account_error
* fix: Remove unnecessary max(1) for account lamports
* Governance: Review feedback (#139 )
* chore: Update active_proposal_count comment
* chore: Update account indices in process_create_proposal
* fix: Disallow u8::MAX for deposit_exempt_proposal_count
* chore: Use u64 without option for extra_lamports
* fix: Use explicit version 1 for TokenOwnerRecord migration
* chore: Update math for RealmConfigAccount::get_max_size
* fix: Flag ProposalCoolOffTimeNotSupported as legacy instead of reusing it
* Governance: Add proposal and payer to ProposalDeposit account (#141 )
* feat: Add proposal and payer to ProposalDeposit account
* chore: Update tests
* feat: Use referential fields to check ProposalDeposit
* chore: Make Clippy happy
* chore: Update Proposal deposit amount comments
* chore: Update deposit amount comment
* chore: Update versions (#142 )
2022-12-15 12:01:37 +00:00
Jon Cinque
ae994afa3e
Update repo to `edition = "2021"` ( #3900 )
2022-12-13 23:46:26 +01:00
samkim-crypto
bb404a6af5
update solana to 1.14.10 ( #3872 )
2022-12-06 12:59:00 +09:00
Sebastian Bor
21cfaffc78
Governance: voting_cool_off_time ( #3830 )
...
* wip: add voting_cool_off_time
* feat: Default voting_cool_off_time to 1h for 10h or longer votes
* wip: Assert valid voting cool of time
* chore: cleanup GovernanceConfig tests
* chore: Rename vote_end_time() to expected_vote_end_time()
* chore: test_cast_council_veto_vote_within_cool_off_time
* chore: test_cast_approve_vote_with_cannot_vote_in_cool_off_time_error
* chore: test_change_yes_vote_to_no_within_cool_off_time
* chore: Reorder GovernanceConfig fields
* chore: test_finalize_vote_with_cannot_finalize_during_cool_off_time_error
* fix: Remove default voting_cool_off_time
* fix: Use max = base + cool_off voting time setup
* chore: Cleanup
* chore: Fix test_change_yes_vote_to_no_within_cool_off_time
* chore: Adjust base, cool off and max voting time names
* chore: Create has_voting_base_time_ended
2022-11-25 11:43:32 +00:00
Sebastian Bor
c5fcbefe19
Governance: Remove stats only fields to make room for more Config values ( #3828 )
...
* fix: Remove voting_proposal_count
* chore: add governance size tests
* chore: fix chat tests compilation
2022-11-18 15:49:04 +00:00
samkim-crypto
0c8fb24d47
upgrade solana-program to 1.14.6 ( #3765 )
2022-10-27 07:59:25 +09:00
hanako mumei
3a87c8fc0a
update solana to 1.14.4
2022-10-12 10:48:23 -07:00
Sebastian Bor
aaaf537be3
Governance: Move reserved space to GovernanceConfig ( #3628 )
...
* chore: move reserved space to GovernanceConfig
* chore: fix build
2022-09-27 21:23:43 +01:00
Sebastian Bor
7fdb082445
Governance: Implement Absolute max voter weight source ( #3627 )
...
* feat: Implement Absolute max voter weight source
* chore: Rename max_vote_weight to max_voter_weight
* chore: update comments
* chore: test_try_tip_vote_with_reduced_absolute_mint_max_vote_weight_and_vote_overflow
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-09-22 09:40:44 -04:00
Jon Cinque
f97a3dc7cf
clippy: Deny integer arithmetic, add allows where needed ( #3606 )
2022-09-15 13:16:53 +02:00
Sebastian Bor
a179eba71e
Governance: Community Veto Vote ( #3506 )
...
* feat: Enable Community Veto Vote
* chore: test_veto_vote_with_community_voter_weight_addin
* chore: test_veto_vote_with_community_max_voter_weight_addin
* chore: assert valid community veto vote threshold
chore: Fix merge conflict
2022-08-23 02:03:29 +02:00
Sebastian Bor
232406a9b4
Governance: Add council_vote_tipping ( #3500 )
...
* wip: Add council_vote_tipping
* feat: Use VoteTipping for relevant mint
* chore: test_cast_early_council_vote_with_disabled_community_vote_tipping
* chore: test_cast_community_vote_with_early_council_and_disabled_community_vote_tipping
* Update help text for `propose` (#3505 )
* Governance: Use mint authority to revoke membership tokens (#3498 )
* chore: fix process_revoke_governing_tokens feature
* feat: Use governing token mint authority to authorise token revocation
* chore: Fix authority spelling
* Governance: Do not tip on max vote weight when tipping Disabled (#3499 )
* fix: Do not tip on max vote weight when tipping Disabled
* chore: test_cast_vote_with_strict_tipping_and_inflated_max_voter_weight_votes
* chore: fix test name
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
* wip: Add council_vote_tipping
* feat: Use VoteTipping for relevant mint
* chore: test_cast_early_council_vote_with_disabled_community_vote_tipping
* chore: test_cast_community_vote_with_early_council_and_disabled_community_vote_tipping
* chore: Fix merge conflicts
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-08-23 00:35:35 +02:00
Sebastian Bor
6dfc68db13
Governance: Council membership & plugins ( #3344 )
...
* chore: Use GovernanceTokenConfig
* wip: add council_token_config to RealmConfigAccount
* chore: update comment
* wip: use GoverningTokenConfigArgs for community token config
* chore: Change Proxy token type to Dormant
* chore: Update comments
* chore: Use GoverningTokenConfigAccountArgs for instructions creators
* chore: Use default GoverningTokenType
* chore: Make community_token_args optional
* chore: Make Clippy happy
* chore: Update comments
* chore: Always create RealmConfigAccount
* chore: Set CouncilTokenConfig when realm is created
* feat: Update RealmConfigArgs in SetRealmConfig
* chore: Make Clippy happy
* chore: Assert RealmConfigAccount PDA
* wip: Use default RealmConfigAccount if the account doesn't exist
* chore: Remove use_community_voter_weight_addin and use_max_community_voter_weight_addin from RealmConfig
* chore: code review cleanup
* wip: Use voter weight addin for Council
* feat: Use max_voter_weight_plugin for Council
* feat: Impl RevokeGoverningTokens instruction
* chore: Make Clippy happy
* feat: Enforce governing token withdraw and deposit rules
* feat: Support minting deposits
* feat: Do not enforce token source owner for deposit validation
* chore: test_deposit_community_tokens_using_mint
* chore: Remove not implemented comment
* fix: Fix progrma id for resolving realm config for chat
* chore: Update instructions comments
* feat: Do not allow community Liquid token change to Membership
* chore: test_set_realm_config_with_liquid_community_token_cannot_be_changed_to_memebership_error
* chore: test_set_realm_config_for_community_token
* chore: use GoverningTokenConfig for test args
* chore: Refactor SetRealmConfigArgs
* chore: Update RealmSetupArgs names
* chore: test_set_realm_config_for_council_token_config
* chore: Revoke council tokens tests
* chore: test_revoke_council_tokens_with_realm_authority_must_sign_error
* chore: test_revoke_council_tokens_with_invalid_realm_authority_error
* chore: test_revoke_council_tokens_with_invalid_token_holding_error
* chore: RevokeGoverningToken tests
* chore: Dormant and Membership tokens tests
* chore: Using council plugin tests
* chore: RealmConfigAccount validation tests
* chore: Update Dormant token type configs
* fix: Reset legacy fields
* chore: Use Default macro for derivable defaults
* Chore: use assert functions to validate spl-token account and mint
* chore: Update Membership tokens comments
* chore: Pass governing_token_config_args as reference
* chore: Use single statement to return InvalidRevokeAmount error
* chore: Make Clippy happy - add derived Eq
Co-authored-by: Jon Cinque
2022-08-19 19:49:41 +02:00
hana
65769ce23d
Update rust to 1.60, solana to 1.11.6 ( #3492 )
...
also change bpf to sbf throughout the codebase
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-08-18 12:16:02 -07:00
Tyera Eulberg
3c54aecfe9
Bump solana to v1.10.35 ( #3485 )
2022-08-16 12:33:24 -06:00
Tyera Eulberg
7c6235d9e7
Bump token to v3.5.0 and ata to v1.1.1 ( #3430 )
2022-08-04 01:09:38 -06:00
Jon Cinque
f5ce86d43d
token/ata: Bump versions to 3.4.0 and 1.1.0, respectively ( #3427 )
2022-08-04 01:03:04 +02:00
Tyera Eulberg
c00194d225
Bump solana crates to v1.10.33 ( #3385 )
2022-07-27 11:28:14 -06:00
Jon Cinque
c1ee6a58be
Update Solana crates to 1.10.29 ( #3303 )
2022-07-01 16:51:01 -04:00
Dmitri Makarov
791cc8a776
Use target_os instead of target_arch for Solana conditional compilation ( #3148 )
2022-05-17 12:25:24 -07:00
Dmitri Makarov
f1c1d440e9
Bump solana to v1.10.15 ( #3176 )
2022-05-17 11:27:30 -07:00
Sebastian Bor
3d3b32dcf6
Governance: Veto vote ( #3156 )
...
* chore: remove #[repr(C)]
* wip: resolve proposal governing token mint
* fix: remove optionality from veto vote
* feat: implement tipping for veto vote
* fix: move vote_threshold to the end of Proposal struct
* chore: remove use super
* chore: make clippy happy
* chore: add change log
* feat: add council_veto_vote_threshold
* fix: resolve vote threshold for voting token mint
* chore: revert old function name
* fix: calculate max veto in coerce_max_voter_weight
* chore: make clippy happy
* chore: make clippy happy
* feat: Implement RelinquishVote for Veto
* chore: update comments
* chore: rename with_cast_vote to with_cast_yes_no_vote
* chore: rename with_cast_multi_option_vote to with_cast_vote
* chore: create use_veto_vote test scenario
* chore: Add veto vote disabled tests
* chore: Add partial Veto vote tests
* chore: update comments
* chore: test_cast_veto_vote_with_no_council_error
* chore: test_relinquish_veto_vote
* chore: rename with_token_owner_record to with_community_token_owner_record
* chore: test_relinquish_veto_vote_with_vote_record_for_different_voting_mint_error
* chore: test_cast_veto_vote_with_invalid_voting_mint_error
* chore: fix chat build
* chore: test_cast_veto_vote_with_council_only_allowed_to_veto
* fix: Use VoteKind to distinguish between Veto and Electorate votes
* chore: make clippy happy
* Update change log
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
* chore: rename voting_token_mint to vote_governing_token_mint
* chore: test_cast_yes_and_veto_votes_with_yes_as_winning_vote
* fix: throw error for Community veto
* chore: Update comments
* chore: Update names and commnents
* chore: split try_get_tipped_vote_state into Electorate and Veto cases
* chore: Update comments
* chore: remove #[allow(clippy::float_cmp)]
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-05-17 16:37:43 +01:00
Sebastian Bor
219b6a1b78
Governance: Council Vote Threshold ( #3135 )
...
* wip: Replace proposal_cool_off_time with council_vote_threshold
* wip: serialise governance vec
* wip: cool off time
* chore: create test to deserialize legacy config
* wip: default council_vote_threshold from community_vote_threshold for legacy accounts
* chore: fix chat compilation
* feat: use community_vote_threshold for voting
* feat: assert all voting thresholds are not disabled
* chore: simplify tests without config mutation
* feat: assert proposal is created for valid vote threshold
* chore: update test name
* chore: test_finalize_council_vote
* chore: test_cast_council_vote
* chore: test for disabled voter threshold
* feat: Ensure GovernanceConfig reserved buffer is always empty
* chore: change error name to AtLeastOneVoteThresholdRequired
* chore: add comments
* chore: Add VoteThreshold.Any comments
2022-05-06 17:24:46 +01:00
Sebastian Bor
3db53e278b
Governance: Rename vote_threshold_percentage to community_vote_threshold ( #3132 )
2022-05-02 16:15:08 +01:00
Tyera Eulberg
b3fe5b6d5d
Bump token-2022 ( #3113 )
...
* Bump token-2022
* Bump solana dependencies
2022-04-26 12:15:26 -06:00
Jon Cinque
1d1c2b178b
Upgrade crates to 1.10.8 ( #3076 )
2022-04-11 22:25:27 +02:00
Sebastian Bor
762c584dfe
Governance: Update addin account discriminators to Anchor compatible ( #3026 )
2022-03-24 18:28:47 +00:00
Tyera Eulberg
f4c5fdcfcf
Bump solana to v1.9.9 ( #2902 )
2022-02-23 16:20:55 -07:00
Sebastian Bor
11d9952937
Governance: Use correct max size for multiple instruction transaction ( #2891 )
...
* fix: use correct max size for multiple instruction transaction
* chore: add instruction to serialisation tests
2022-02-09 12:32:06 +00:00
Sebastian Bor
fa1da606a7
Governance: Update release version to v2.2.2 ( #2878 )
...
* chore: Update release version to v2.2.2
* chore: Update chat version
2022-02-07 14:39:46 +00:00
Sebastian Bor
1573319244
Governance: Fix Realm deserialisation and bump create versions for V2 ( #2863 )
...
* fix: realm deserialisation
* chore: update spl-gov version for chat
* chore: update spl-governance-tools version to 0.1.2
* chore: upgrade Anchor to 0.20.1
* chore: update addin-api version
* chore: update spl-governance-test-sdk version
2022-02-04 15:42:30 +00:00
Sebastian Bor
4c0bc4c968
Governance V2 cleanup ( #2855 )
...
* chore: use exhaustive check for governance account type
* fix: realm v1 deserialisation
* chore: use exhaustive check for multiple account types
* chore: use exhaustive check for seeds
* chore: update comments
2022-02-01 19:56:03 +00:00
Sebastian Bor
ebc91e871a
Governance: add v2 account padding ( #2842 )
...
* chore: create RealmV2 account type
* feat: add padding to Realm account
* chore: move RealmConfigArgsV1 and GovernanceInstructionV1 to tests
* chore: Add RealmV2 comments
* chore: rename TokenOwnerRecord to V2 and add reserved space
* feat: translate TokenOwnerRecordV1
* chore: rename Governance to GovernanceV2
* feat: add reserved_v2 to Governance
* chore: make clippy happy
* feat: translate GovernanceV1 accounts
* chore: fix chat build
* fix: update seeds logic for governance V1 accounts
* fix: add check for RealmV1 and GovernanceV1
* chore: add padding to ProposalTransaction
* chore: add padding to VoteRecordV2
* chore: add padding to SignatoryRecord V2
* feat: translate SignatoryRecordV1 account
2022-01-31 03:58:28 +00:00
Sebastian Bor
0e85d2e3e0
Governance: Rename tokens_to_create to weight_to_create ( #2839 )
...
* chore: assert options length when serialising ProposalV1
* chore: rename tokens_to_create to weight_to_create
* fix: use saturating_sub for voting_proposal_count
* chore: update voting_proposal_count comments
* Revert "chore: update voting_proposal_count comments"
This reverts commit 3e2eb9d90afdd4f6001d17b14f9579fb72ebb895.
* Revert "fix: use saturating_sub for voting_proposal_count"
This reverts commit 5d357049b7bbc12d8ec9d46caefe3b740967fae3.
2022-01-30 22:23:11 +00:00
Sebastian Bor
851efed467
Governance: Rename AccountGovernance to Governance ( #2836 )
...
* chore: rename AccountGovernance to Governance
* chore: make governed_account optional
* chore: rename account_governance to governance
2022-01-29 18:14:27 +00:00
Christian Kamm
5850973d97
Governance: Add VoteTipping option ( #2826 )
...
* spl-governance: Add VoteTipping option
This allows two new tipping styles in addition to the previous "Strict"
mode:
- Early: Where a yes majority above the yes vote threshold will
complete the vote, even if below 50% of total possible votes.
- Disabled: Where votes never complete early.
* address review nits
2022-01-29 18:13:18 +00:00
Sebastian Bor
aefbebe3ae
Governance: Multiple instructions per proposal transaction ( #2833 )
...
* feat: support multiple instructions per proposal instruction
* chore: rename instruction to transaction
* chore: rename ProposalInstruction to ProposalTransaction
* chore: rename instruction to transaction
* chore: rename InstructionExecutionStatus to TransactionExecutionStatus
* chore: rename proposal instruction to proposal transaction
* chore: make clippy happy
* chore: update instruction names to transactions
* chore: fix compilation
* chore: rename instruction to transaction
* chore: rename instruction to transaction
* chore rename instruction to transaction
Co-authored-by: Jon Cinque jon.cinque@gmail.com
2022-01-29 12:43:22 +00:00
Sebastian Bor
0094255292
Governance: Max voter weight addin ( #2815 )
...
* chore: change voter-weight-addin to mock
* chore: fix tests
* chore: add action, target and expiry validation tests
* chore: add full target test checks
* feat: add max community voter weight adding structures
* chore: move payer to last account position
* wip: update max_community_voter_weight_addin
* chore: simplify logic to update realm config
* wip: setup addins when realm is created
* wip: setup voter weights accounts
* chore: make clippy happy
* core: fix merge
* chore: remove old readme
* chore: add SetupMaxVoterWeightRecord to addin mock
* chore: test_create_realm_with_max_voter_weight_addin test
* chore: add SetRealmConfigArgs and refactor tests
* chore: update max voter weight tests
* chore: setup cast_vote_with_max_voter_weight_addin test
* wip: get max voter weight from plugin
* chore: update comments and make clippy happy
* wip: use max voter weight to tip proposals
* chore: rename get_max_voter_weight
* chore: load addins using different ids
* chore: add tests with all addins
* fix: coerce max vote weight when cast votes are higher
* chore: add tests with all adins being used
* chore: add test for expired max voter weight record
* chore: simplify addin mock
* wip: Create addin api crate
* chore: use native build order and dependency
* chore: fix build
* feat: add reserved space to addin records
* chore: bump versions
* fix: use [u8; 8] discriminator for addin account types
* chore: update instruction comments
* chore: use saturating_sub instead of checked_sub
Co-authored-by: Jon Cinque
2022-01-29 02:08:21 +00:00
Sebastian Bor
5d330d1a74
Governance: Voter weight action & target ( #2803 )
...
* feat: add weight action and target to VoterWeightRecord
* chore: update comments
* chore: change voter-weight-addin to mock
* chore: fix tests
* chore: add action, target and expiry validation tests
* chore: add full target test checks
* chore: update comments
* chore: rename addin to addin-mock
* chore: rename voter-weight-addin to addin
* chore: fix tests
2022-01-26 17:00:00 +00:00
Sebastian Bor
56953b2286
Governance: Transfer freeze and close authorities ( #2799 )
...
* fix: transfer mint freeze authority for mint governance
* chore: update transfer_mint_authorities comments
* feat: transfer close_authority when creating token account governance
* chore: update spl-token function names
* chore: remove redundant set_spl_token_mint_authority
2022-01-25 11:02:43 +00:00
Sebastian Bor
2ae2f5f067
Governance Chat: Voter weight ( #2778 )
...
* chore: update governance chat program version to 0.2.0
* feat: support voter weight for chat
* chore: move ensure_voter_weight_addin_is_built to test sdk
* chore: add program version to logs
* fix: workaround for logs
* chore: add test for chat message using voter weight addin
* chore: remove logger overrides
Co-authored-by: Jon Cinque
2022-01-24 17:59:21 +00:00
Tyera Eulberg
83c3ffad25
Bump solana crates to v1.9.5 ( #2780 )
...
* Bump solana crates to v1.9.5
* Update sol_set_return_data type signature and un-ignore test
2022-01-21 22:52:10 -07:00
Jon Cinque
81f50127f1
token: Bump version to 3.3.0 ( #2765 )
2022-01-21 01:47:02 +01:00
Jon Cinque
6ee008d256
Update SDK to 1.9.2, fix warnings ( #2674 )
...
* Update SDK to 1.9.2, fix warnings
* Upgrade honggfuzz
* Use `get_latest_blockhash` correctly
2021-12-28 23:02:47 -05:00