Tyera Eulberg
422a095647
Add (preflight) simulation to BanksClient ( #22084 )
...
* Add more-legitimate conversion from legacy Transaction to SanitizedTransaction
* Add Banks method with preflight checks
* Expose BanksClient method with preflight checks
* Unwrap simulation err
* Add Bank simulation method that works on unfrozen Banks
* Add simpler api
* Better name: BanksTransactionResultWithSimulation
2021-12-28 19:25:46 +00:00
Brooks Prumo
e3b20c443a
Use load_accounts_data_len() instead of Atomic .load() ( #22144 )
2021-12-28 13:38:20 +00:00
Brooks Prumo
800472ddf5
Add AccountsDataMeter to InvokeContext ( #21813 )
2021-12-28 05:14:48 -06:00
Alexander Meißner
a06646631c
Feature: TransactionContext, InstructionContext and BorrowedAccount ( #21706 )
...
* Adds TransactionContext, InstructionContext and BorrowedAccount.
* Redirects the usage of accounts in InvokeContext through TransactionContext.
Also use the types declared in transaction_context.rs everywhere.
* Adjusts all affected tests.
2021-12-27 18:49:32 +01:00
Alexander Meißner
cc947cad03
Refactor: CPI Instruction Recording ( #22111 )
...
* Unifies all InstructionRecorders of a transaction into one.
* Stops explicitly compiling CPI instructions for recording,
uses the indices gathered from instruction_accounts instead.
2021-12-25 13:35:43 +01:00
Jeff Washington (jwash)
bdae2993e0
AcctIdx: hold ranges in memory uses multiple threads ( #22031 )
2021-12-21 17:31:48 -06:00
segfaultdoctor
76098dd42a
RPC Block Subscription ( #21787 )
...
* add stuff
* compiling
* add notify block
* wip
* feat: add blockSubscribe pubsub method
* address PR comments
Co-authored-by: Lucas B <buffalu@jito.network>
Co-authored-by: Zano <segfaultdoctor@protonmail.com>
2021-12-17 16:03:09 -07:00
Alexander Meißner
66fa8f9667
Refactor: Removes `Rc` from `Refcell<AccountSharedData>` in the program-runtime ( #21927 )
...
* Removes Rc from Rc<RefCell<AccountSharedData>> in the program-runtime.
* Adjusts tests in bpf_loader, system_instruction_processor, config_processor, vote_instruction and stake_instruction
2021-12-17 14:01:12 +01:00
Justin Starry
6ff0be6a82
Clean up demote program write lock feature ( #21949 )
...
* Clean up demote program write lock feature
* fix test
2021-12-16 17:27:22 -05:00
Brooks Prumo
635337d2ff
Bank gets accounts data len delta from MessageProcessor::process_message()
2021-12-15 16:41:38 -06:00
Justin Starry
c92c09a8be
Remove activated feature for removing inactive delegations from stakes cache ( #21732 )
...
* Remove activated feature for removing inactive delegations from stakes cache
* Fix builtin purging
2021-12-14 09:23:36 -05:00
Justin Starry
e5476913fe
Remove activated feature that checks tx signature len ( #21747 )
2021-12-14 09:23:05 -05:00
Jeff Washington (jwash)
90f41fd9b7
use cost model to limit new account creation ( #21369 )
...
* use cost model to limit new account creation
* handle every system instruction
* remove &
* simplify match
* simplify match
* add datapoint for account data size
* add postgres error handling
* handle accounts:unlock_accounts
2021-12-12 14:57:18 -06:00
Brooks Prumo
eeb97fe7ce
Add accounts_data_len to Bank ( #21781 )
2021-12-11 09:34:38 -06:00
Justin Starry
9b41ddd9ba
Add address lookup table program ( #21616 )
...
* Add address lookup table program
* feedback
2021-12-10 16:02:16 -05:00
Tyera Eulberg
350845c513
Move type alias and use it more broadly ( #21763 )
2021-12-10 10:46:21 -07:00
Justin Starry
fd175c1ea9
Add StakesCache struct to abstract away locking ( #21738 )
2021-12-10 10:51:33 -05:00
Tyera Eulberg
c1386d66e6
Nits in message-processor ( #21755 )
...
* Fixup typo
* Simplify types slightly
2021-12-09 23:38:36 -07:00
Justin Starry
6fc329180b
Add more reporting for invalid stake cache members and prune them ( #21654 )
...
* Add more reporting for invalid stake cache members
* feedback
2021-12-09 14:12:11 -05:00
Jeff Washington (jwash)
0090916735
skip clean on startup, too ( #21718 )
2021-12-09 09:36:02 -06:00
Ashwin Sekar
f0acf7681e
Add vote instructions that directly update on chain vote state ( #21531 )
...
* Add vote state instructions
UpdateVoteState and UpdateVoteStateSwitch
* cargo tree
* extract vote state version conversion to common fn
2021-12-07 16:47:26 -08:00
Justin Starry
a1adcb23b6
Remove activated feature for filtering invalid stakes from rewards ( #21641 )
2021-12-06 17:56:05 -05:00
Justin Starry
3dab1e711d
Move transaction error code into new module ( #21635 )
2021-12-06 12:45:33 -05:00
Justin Starry
1430b58a6d
Remove deprecated slow epoch boundary methods ( #21568 )
2021-12-03 17:59:10 +00:00
Michael Vines
b8837c04ec
Reformat imports to a consistent style for imports
...
rustfmt.toml configuration:
imports_granularity = "One"
group_imports = "One"
2021-12-03 09:19:13 -08:00
Brooks Prumo
0ef1b25e4b
Make StakeDelegations clone-on-write ( #21542 )
2021-12-03 08:54:38 -06:00
Alexander Meißner
1a4a039913
Adds feature reject_empty_instruction_without_program. ( #21591 )
2021-12-03 15:47:18 +01:00
Alexander Meißner
a9d5ef2055
Cleanup: InvokeContext accessors ( #21574 )
...
* Removes blockhash accessors from InvokeContext.
* Removes lamports_per_signature accessors from InvokeContext.
* Removes return_data accessors from InvokeContext.
* Removes feature_set accessor from InvokeContext.
* Removes instruction_recorders and instruction_index accessors from InvokeContext.
* Moves get_sysvars() into InvokeContext.
* Removes compute_meter parameter from InvokeContext::new().
* Removes InvokeContext::new_mock_with_sysvars_and_features().
* Removes InvokeContext::update_timing().
2021-12-03 12:15:22 +01:00
Jack May
976eb81d4f
Cleanup the bank's use of nonces ( #21246 )
2021-12-02 09:57:05 -08:00
Alexander Meißner
bfdb775ffc
Unifies ThisInvokeContext and dyn trait InvokeContext. ( #21563 )
2021-12-02 18:47:16 +01:00
Trent Nelson
1fae3d24de
bank: reuse last hash/fees helper to instatiate `InvokeContext`
2021-12-01 12:59:20 -07:00
Trent Nelson
91c6a10cda
bank: get hash and fee rate from the same source when storing accounts
2021-12-01 12:59:20 -07:00
Brooks Prumo
cb368e6554
Pass Epoch by value in StakeHistory::get() ( #21523 )
2021-12-01 08:57:29 -06:00
Alexander Meißner
b78f5b6032
Refactor: Cleanup InstructionProcessor ( #21404 )
...
* Moves create_message(), native_invoke() and process_cross_program_instruction()
from the InstructionProcessor to the InvokeContext so that they can have a useful "self" parameter.
* Moves InstructionProcessor into InvokeContext and Bank.
* Moves ExecuteDetailsTimings into its own file.
* Moves Executor into invoke_context.rs
* Moves PreAccount into its own file.
* impl AbiExample for BuiltinPrograms
2021-12-01 08:54:42 +01:00
Michael Vines
e922c2da9d
Update to Rust 1.56.1
2021-11-30 23:28:07 -08:00
ryleung-solana
8cf36e5cb0
Add GPU sigverify for verify path ( #20851 )
...
Allows the use of GPU acceleration in verifying the signatures in Entry's after deserialization in the replay stage
Co-authored-by: Stephen Akridge <sakridge@gmail.com>
Co-authored-by: Ryan Leung <ryan.leung@solana.com>
2021-11-30 21:16:13 -05:00
Jeff Washington (jwash)
2be859d304
add test for aborting index scan ( #21487 )
2021-11-29 16:13:39 -06:00
Michael Vines
ba9dfa0d22
Remove frozen account support
2021-11-29 08:38:11 -08:00
Trent Nelson
41cc7af7cd
bank: `TransactionLogCollector` - only push address mappings after pushing a log message
2021-11-25 04:50:51 +00:00
Trent Nelson
e558ad4c71
bank: don't panic when getting logs from malformed TransactionLogCollector
2021-11-25 04:50:51 +00:00
Trent Nelson
dafdc15dfe
bank: Add failing test for `TransactionLogCollector::get_logs_for_address()`
2021-11-25 04:50:51 +00:00
Trent Nelson
efedb55705
bank: factor tx log getter out to method on `TransactionLogCollector`
2021-11-25 04:50:51 +00:00
Tao Zhu
9edfc5936d
Refactor accounts.rs with Justin's comments to improve lock accounts ( #21406 )
...
with results code path.
- fix a bug that could unlock accounts that weren't locked
- add test to the refactored function
- skip enumerating transaction accounts if qos results is an error
- add #[must_use] annotation
- avoid clone error in results
- add qos error code to unlock_accounts match statement
- remove unnecessary AbiExample
2021-11-23 21:17:55 +00:00
Alexander Meißner
22a2537aac
Refactor: Cleanup program-runtime dyn Traits ( #21395 )
...
* Unifies dyn Trait ComputeMeter, ThisComputeMeter and TransactionComputeMeter.
* Unifies dyn Trait Logger and ThisLogger.
* Moves Logger to log_collector.rs
* Unifies Logger and LogCollector.
* Removes inner RefCell from LogCollector.
* Adds the log::debug!() message to ic_logger_msg!() again.
2021-11-23 13:23:40 +01:00
sakridge
c4d68063c7
Add timing for accounts add_root ( #21379 )
2021-11-22 18:29:45 +01:00
sakridge
cd6f931223
Add timing metrics to bank creation and rewards calculation ( #21066 )
2021-11-21 15:11:02 +01:00
Jon Cinque
02bc4e3fc1
spl-token: New program feature flag ( #21354 )
...
* spl-token: Add feature flag for new release
* Remove all spl token version declarations
2021-11-21 14:27:03 +01:00
Brooks Prumo
0bb059185c
Add lamports_in_rent_paying_accounts to TotalAccountsStats ( #21368 )
2021-11-19 17:02:23 -06:00
Alexander Meißner
8a50b6302f
Fix #21346 ( #21362 )
...
Fixes the empty transaction bug in ThisInvokeContext::push() and adds a test for it to the bank.
2021-11-19 20:43:42 +01:00
Jeff Washington (jwash)
79d21d6805
add --accounts-index-scan-results-limit-mb to allow scans to abort ( #21327 )
...
* ScanConfig -> &ScanConfig
* add --accounts-index-scan-results-limit-mb to allow scans to abort
* feedback
2021-11-19 09:00:19 -06:00