Brooks Prumo
f33ad34531
Add feature_set_override parameter to mock_process_instruction() ( #24386 )
2022-04-15 13:43:04 -05:00
Brooks Prumo
34418cb848
Stake tests use get_minimum_delegation() ( #24382 )
2022-04-15 18:30:45 +00:00
Brooks Prumo
7cf80a3f62
Fix test to use correct/updated account in transaction ( #24363 )
2022-04-15 05:15:02 -05:00
Brooks Prumo
2456a7be35
Deprecate `MINIMUM_STAKE_DELEGATION` ( #24329 )
2022-04-14 11:59:18 -05:00
Michael Vines
57ff7371b4
Add StakeInstruction::DeactivateDelinquent
2022-04-14 01:49:22 -04:00
Brooks Prumo
f7b00ada1b
GetMinimumDelegation does not require a stake account ( #24192 )
2022-04-11 16:26:36 -05:00
Alexander Meißner
bf13fb4c4b
Remove `KeyedAccount` in builtin program "stake" ( #24210 )
...
* Inline keyed_account_at_index() in all instructions of stake
which have more than one KeyedAccount parameter,
because these could cause a borrow collision.
* Uses transaction_context.get_key_of_account_at_index() in stake.
* Refactors stake::config::from to use BorrowedAccount instead of ReadableAccount.
* Replaces KeyedAccount by BorrowedAccount in stake.
2022-04-10 09:55:37 +02:00
Alexander Meißner
fad9bd0538
Removes KeyedAccount parameter from get_if_mergeable(). ( #24190 )
2022-04-08 20:40:09 +02:00
Alexander Meißner
cb1507126f
Fixes check_number_of_instruction_accounts() in StakeInstruction::Authorize. ( #24172 )
2022-04-08 12:43:55 +02:00
Brooks Prumo
a100b32b37
Add test for GetMinimumDelegation stake instruction ( #24158 )
2022-04-07 11:54:15 -05:00
Alexander Meißner
efb9cbd8e7
Refactor: Remove `trait` from stake keyed account ( #24148 )
...
Removes trait from StakeAccount.
2022-04-06 22:58:09 +02:00
Alexander Meißner
07f4a9040a
Removes KeyedAccount from tests in stake instruction. (Part 4) ( #24124 )
...
* Moves tests from stake state to stake instruction.
* Migrates test_merge.
* Migrates test_merge_self_fails.
* Migrates test_merge_incorrect_authorized_staker.
* Migrates test_merge_invalid_account_data.
* Migrates test_merge_fake_stake_source.
* Migrates test_merge_active_stake.
2022-04-06 12:04:35 +02:00
Alexander Meißner
e051c7c162
Removes KeyedAccount from tests in stake instruction. (Part 3) ( #24110 )
...
* Moves test from stake state to stake instruction.
* Migrates test_split_source_uninitialized.
* Migrates test_split_split_not_uninitialized.
* Migrates test_split_more_than_staked.
* Migrates test_split_with_rent.
* Migrates test_split_to_account_with_rent_exempt_reserve.
* Migrates test_split_from_larger_sized_account.
* Migrates test_split_from_smaller_sized_account.
* Migrates test_split_100_percent_of_source.
* Migrates test_split_100_percent_of_source_to_account_with_lamports.
* Migrates test_split_rent_exemptness.
2022-04-05 12:36:01 +02:00
Brooks Prumo
b14b8b1efa
Un-deprecate `MINIMUM_STAKE_DELEGATION` ( #24089 )
2022-04-03 15:09:41 -05:00
Brooks Prumo
2af6753808
Add GetMinimumDelegation stake program instruction ( #24020 )
2022-04-02 05:11:10 +00:00
Alexander Meißner
8a18c48e47
Removes `KeyedAccount` from tests in stake instruction. (Part 2) ( #24053 )
...
* Migrates test_initialize_minimum_stake_delegation.
* Migrates test_delegate_minimum_stake_delegation.
* Migrates test_split_minimum_stake_delegation.
* Migrates test_split_full_amount_minimum_stake_delegation.
* Migrates test_split_destination_minimum_stake_delegation.
* Migrates test_withdraw_minimum_stake_delegation.
* Migrates test_behavior_withdrawal_then_redelegate_with_less_than_minimum_stake_delegation.
2022-04-02 01:08:55 +02:00
Alexander Meißner
1b45c509c3
Refactor: Use `InstructionContext::get_instruction_data()` ( #24014 )
...
* Adds transaction_context and instruction_context where invoke_context.get_keyed_accounts() is used.
* Use instruction_context.get_instruction_data() instead of an explicit parameter.
* Removes instruction_data parameter from Executor::execute().
* Removes instruction_data parameter from ProcessInstructionWithContext.
2022-04-01 15:48:05 +02:00
Justin Starry
cb5e67d327
Use Rent sysvar directly for stake split instruction ( #24008 )
...
* Use Rent sysvar directly for stake split ix
* Add feature to gate rent sysvar change
* fix tests
* cargo clippy
2022-03-31 16:46:35 +08:00
Alexander Meißner
794645d092
Adds check_number_of_instruction_accounts() to all builtin programs except for the address-lookup-table. ( #23984 )
2022-03-29 19:06:50 +02:00
Alexander Meißner
140c8dd01f
Refactor: Replaces KeyedAccount in_get_sysvar_with_account_check ( #23905 )
...
* Replaces all use sites of get_sysvar_with_account_check by get_sysvar_with_account_check2.
* Removes get_sysvar_with_account_check.
* Renames get_sysvar_with_account_check2 to get_sysvar_with_account_check.
2022-03-24 19:30:42 +01:00
Alexander Meißner
91c2729856
Replaces keyed_account get_signers() by InstructionContext::get_signers(). ( #23863 )
2022-03-24 12:57:51 +01:00
Will Hickey
c4ecfa5716
Bump version to v1.11 ( #23807 )
...
* Revert crossbeam_epoch to stable. 0.9.8 only works with nightly
* Remove unneeded unit expression
2022-03-21 17:40:50 -05:00
Will Hickey
2f58c9e501
Bump version to 1.10.4 ( #23743 )
2022-03-17 14:02:13 -05:00
Brooks Prumo
18bddbc730
Stake tests respect MINIMUM_STAKE_DELEGATION ( #23426 )
2022-03-16 16:36:23 -05:00
Brooks Prumo
74bb527203
Refactor and use MINIMUM_STAKE_DELEGATION constant ( #22663 )
2022-03-16 10:56:48 -05:00
Alexander Meißner
584ac80b1e
Revert: `KeyedAccount` refactoings in builtin programs ( #23649 )
...
* Revert "Replaces KeyedAccount by BorrowedAccount in the BPF loader. (#23056 )"
6c56eb9663
* Revert "Replaces `KeyedAccount` by `BorrowedAccount` in `system_instruction_processor`. (#23217 )"
ee7e411d68
* Revert "Replaces `KeyedAccount` by `BorrowedAccount` in `nonce_keyed_account`. (#23214 )"
1a68f81f89
* Revert "Replaces KeyedAccount by BorrowedAccount in the config processor. (#23302 )"
a14c7c37ee
* Revert "Replaces `KeyedAccount` by `BorrowedAccount` in vote processor (#23348 )"
e2fa6a0f7a
* Revert "Refactor: Prepare stake_instruction.rs to remove `KeyedAccount`s (#23375 )"
ee3fc39f1c
2022-03-16 11:30:01 +01:00
Alexander Meißner
e9040d2766
Adds a missing check_number_of_instruction_accounts() in StakeInstruction::Authorize. ( #23672 )
2022-03-15 15:53:11 +01:00
Will Hickey
63bf0f66af
Bump version to 1.10.3 ( #23648 )
2022-03-14 11:18:45 -05:00
Brooks Prumo
d20dd21600
Sort tables in Cargo.toml files ( #23602 )
2022-03-11 11:05:57 -06:00
Will Hickey
b444836a97
Bump version to 1.10.2 ( #23597 )
2022-03-10 16:41:06 -06:00
Alexander Meißner
e60c9b97c9
Removes `KeyedAccount` from tests in stake instruction. (Part 1) ( #23473 )
...
* Migrates test_stake_delegate().
* Migrates test_stake_initialize().
* Migrates test_initialize_incorrect_account_sizes().
* Migrates test_authorize().
* Migrates test_authorize_lockup().
* Migrates test_authorize_override().
* Migrates test_authorize_with_seed().
* Migrates test_split().
* Migrates test_split_fake_stake_dest().
* Migrates test_deactivate().
* Migrates test_set_lockup().
* Migrates test_optional_lockup_for_stake_program().
* Migrates test_withdraw_stake().
* Migrates test_withdraw_stake_invalid_state().
* Migrates test_withdraw_stake_before_warmup().
* Migrates test_withdraw_lockup().
* Migrates test_withdraw_identical_authorities().
* Migrates test_withdraw_rent_exempt().
* Migrates test_authorize_delegated_stake().
* Migrates test_redelegate_consider_balance_changes().
2022-03-09 23:48:10 +01:00
Brooks Prumo
79a515e88e
Add tests for split() from Uninitialized account where dest=source ( #23442 )
2022-03-02 18:32:15 -06:00
Brooks Prumo
e87b941a51
Test stake split: destination delegation is at least the minimum ( #23456 )
2022-03-02 17:29:40 -06:00
Will Hickey
1a99251498
Bump version to 1.10.1 ( #23453 )
2022-03-02 13:47:01 -06:00
Alexander Meißner
ee3fc39f1c
Refactor: Prepare stake_instruction.rs to remove `KeyedAccount`s ( #23375 )
...
* Adds instruction_account_indices to stake instruction.
* Uses instruction_account_indices in stake instruction.
* Replaces get_sysvar_with_account_check by get_sysvar_with_account_check2 in stake instruction.
* Adds check_number_of_instruction_accounts().
2022-02-28 16:24:40 +01:00
Alexander Meißner
569d531573
Code cleanup: In vote and stake processor ( #23353 )
...
* Enable benchmarks of vote processor.
* Inlines from_keyed_account() in stake instruction.
2022-02-25 21:05:05 +01:00
Brooks Prumo
fcaf01e243
Add test to check destination for stake splitting ( #23303 )
2022-02-23 22:47:57 -06:00
Brooks Prumo
ac70070e5b
Add MINIMUM_STAKE_DELEGATION constant ( #23259 )
...
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-02-22 09:21:23 -06:00
Alexander Meißner
c16cf9cf8a
Refactor: Use `SysvarCache` in all builtin programs ( #22864 )
...
* Replaces from_keyed_account() by SysvarCache in stake instruction.
* Replaces from_keyed_account() by SysvarCache in system instruction processor.
* Removes from_keyed_account().
Moves check_sysvar_keyed_account() into sysvar_cache.rs
* Removes tests which test for incorrectly serialized sysvars.
2022-02-03 13:03:50 +01:00
Ryo Onodera
545c97f903
Clean up before credits_auto_rewind ( #22839 )
...
* Clean up before credits_auto_rewind
* Use `=` intead of `|=` for mutable bool
2022-02-01 22:42:02 +09:00
Alexander Meißner
bc800a8d5a
Refactor: Unify `SysvarCache` ( #22843 )
...
* Unifies SysvarCache filling in the runtime and tests.
Removes new_mock_with_sysvars_and_features()
Removes mock_process_instruction_with_sysvars().
Replaces from_keyed_account() by SysvarCache in vote processor.
* Replaces from_keyed_account() by SysvarCache in BPF loader.
2022-01-31 17:53:50 +01:00
dependabot[bot]
cc74693176
chore: bump serde from 1.0.134 to 1.0.136 ( #22817 )
...
* chore: bump serde from 1.0.134 to 1.0.136
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.134 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.134...v1.0.136 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-28 12:20:37 -07:00
Brooks Prumo
3993cd765c
Remove rewrite_rent_exempt_reserve() ( #22741 )
2022-01-26 18:42:44 -05:00
Brooks Prumo
a7f2fff219
Remove active features stake program v3 and v4 ( #22612 )
...
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-01-21 19:27:53 -06:00
dependabot[bot]
0cf886302d
chore: bump serde from 1.0.133 to 1.0.134 ( #22650 )
...
* chore: bump serde from 1.0.133 to 1.0.134
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.133 to 1.0.134.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.134 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-21 17:14:02 -07:00
Alexander Meißner
b448472037
Refactor: Move `InstructionRecorder` into `TransactionContext` ( #22578 )
...
* Moves InstructionRecorder into TransactionContext.
* Adds assertions for number_of_instructions_at_transaction_level.
2022-01-19 22:40:09 +01:00
Justin Starry
2370e61431
Perf: Store deserialized sysvars in the sysvars cache ( #22455 )
...
* Perf: Store deserialized sysvars in sysvars cache
* add bench
2022-01-13 05:36:21 +00:00
Justin Starry
7171c95bdd
Refactor: move sysvar cache to new module
2022-01-12 12:35:28 -07:00
Alexander Meißner
73e6038986
Refactor: Remove `KeyedAccount` from program runtime ( #22226 )
...
* Makes error handling in BorrowedAccount optional.
Adds BorrowedAccount ::get_rent_epoch().
Exposes InstructionContext::get_index_in_transaction().
Turns accounts and account_keys into pinned boxed slices.
* Introduces "unsafe" to InvokeContext::push().
* Turns &TransactionContext into &mut TransactionContext in InvokeContext.
* Push and pop InstructionContext in InvokeContext.
Makes test_process_cross_program and test_native_invoke symmetric.
Removes the borrow check from test_invoke_context_verify.
* Removes keyed_accounts from prepare_instruction()
* Removes usage of invoke_stack.
* Removes keyed_accounts from program-test.
* Removes caller_write_privileges.
* Removes keyed_accounts from BPF parameter (de-)serialization.
2022-01-03 23:30:56 +01:00
dependabot[bot]
672fed04cb
Bump serde from 1.0.132 to 1.0.133 ( #22233 )
...
* Bump serde from 1.0.132 to 1.0.133
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.132 to 1.0.133.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.132...v1.0.133 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-03 22:19:39 +00:00