* 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
* Use token-2022 in ProgramTest
* Add get_account_len() helper with CPI to spl_token::get_account_data_size()
* Add test for extended mints/accounts using transfer_fee
* Add browser build commands and documentation
* Improve rollup configuration
* Remove unused external import from rollup configuration
* Move from Babel to Typescript plugin
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
* Add panicking test
* Fix panic
* Add another panicking case
* Fix panic
* Add another panicking case
* Fix panics
* Add another panicking case
* Fix
* Add another case
* Move existing fix outside if clause
* Add some helpful comments
* Add DefaultAccountState extension
* Check DefaultAccountState in InitializeAccount
* Add rust client functionality
* Add tests
* Simplify ix variants
* Fixup freeze-auth signing state for multisig
* Add InitializeMint check to prevent freeze_authority.is_none() and default AccountState::Frozen
* Use separate freeze_authority in program_test
* Add docs for default-state instruction data
* Rebase on #2807
* Refactor transfer to use StateWithExtensionsMut
* Add basic transfer tests
* Add transfer fee calculation and use in transfer
* Add specific transfer fee tests
* Add self-transfer test + rename test
* 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
* feat: Ensure realm authority can be set to realm's governances only
* chore: update comments for governance account check
* chore: update realm authority comments
* chore: update comments
* chore: update comments
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
* 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