Tyera Eulberg
410463fb72
Update InvalidRentPayingAccount error ( #23680 )
2022-03-15 21:41:16 -06:00
Jeff Washington (jwash)
b5a99b9b09
avoid data copies in writing to cache ( #23674 )
2022-03-15 16:42:26 -05:00
Justin Starry
8c8f9694e0
Refactor: Sanitized transaction creation ( #23558 )
...
* Refactor: SanitizedTransaction::try_create optionally computes hash
* Refactor: Add SimpleAddressLoader
2022-03-15 12:02:22 +08:00
Jack May
c369f8b871
limit secp256k1 recover id ( #23621 )
2022-03-14 09:34:43 -07:00
Brooks Prumo
7758c32035
Banking Stage drops transactions that'll exceed the total account data size limit ( #23537 )
2022-03-13 15:58:57 +00:00
Jack May
ead8cc4366
Check for physical region overlap ( #23568 )
2022-03-10 11:48:09 -08:00
ryleung-solana
17b00ad3a4
Add quic-client module ( #23166 )
...
* Add quic-client module to send transactions via quic, abstracted behind the TpuConnection trait (along with a legacy UDP implementation of TpuConnection) and change thin-client to use TpuConnection
2022-03-09 21:33:05 -05:00
Jack May
c2ec294401
featurize loader sat math ( #23516 )
2022-03-08 11:48:22 -08:00
Justin Starry
3114c199bd
Add RPC support for versioned transactions ( #22530 )
...
* Add RPC support for versioned transactions
* fix doc tests
* Add rpc test for versioned txs
* Switch to preflight bank
2022-03-08 15:20:34 +08:00
Jack May
97d40ba3da
Resized accounts must be rent exempt
2022-03-02 13:02:02 -08:00
Trent Nelson
5e0086c1ee
followup safety checks for #23295
2022-02-24 17:50:58 -07:00
Justin Starry
bcda74f42f
Fix builtin handling on epoch boundaries ( #23256 )
2022-02-22 20:54:08 +08:00
buffalu
70ebab2c82
Add rustfmt.toml and `cargo fmt` ( #23238 )
...
* fmt
* formatted
Co-authored-by: Lucas B <buffalu@jito.network>
2022-02-19 13:32:29 +08:00
Alexander Meißner
ee7e411d68
Replaces `KeyedAccount` by `BorrowedAccount` in `system_instruction_processor`. ( #23217 )
...
* Adds InstructionContext::check_number_of_instruction_accounts() and InstructionContext::get_instruction_account_key().
Bases check_sysvar_account() on instuction account indices.
* Adds instruction_account_indices enums to system_instruction_processor.
* Reorders parameters and adds InstructionContext.
* Replaces KeyedAccount by BorrowedAccount in system_instruction_processor (part 1).
* Replaces KeyedAccount by BorrowedAccount in system_instruction_processor (part 2).
* Replaces KeyedAccount by BorrowedAccount in system_instruction_processor (part 3).
* Replaces KeyedAccount by BorrowedAccount in system_instruction_processor (part 4).
* Replaces KeyedAccount by BorrowedAccount in system_instruction_processor (part 5).
* Code cleanup
2022-02-19 02:06:33 +01:00
Alexander Meißner
1a68f81f89
Replaces `KeyedAccount` by `BorrowedAccount` in `nonce_keyed_account`. ( #23214 )
...
* Adds get_sysvar_with_account_check2 for ABIv2.
* Replaces get_signers() and get_sysvar_with_account_check() in system_instruction_processor.
* Replaces KeyedAccount by BorrowedAccount in nonce_keyed_account.
2022-02-17 17:36:55 +01:00
Alexander Meißner
da00b39f4f
Cleanup: get_program_key() and get_loader_key() in TransactionContext ( #23191 )
...
* Moves TransactionContext::get_program_key() to InstructionContext::get_program_key().
* Removes TransactionContext::get_loader_key().
* Test full program and loader executable account chain in BPF loader.
2022-02-17 10:16:28 +01:00
Justin Starry
813725dfec
Fix ed25519 builtin program handling ( #23182 )
...
* Fix ed25519 builtin program handling
* Fix tests
* Add integration tests for processing transactions with ed25519 ixs
* Fix another test
* fix formatting
2022-02-16 18:48:55 +00:00
Michael Vines
817f47d970
Bump QUIC_PORT_OFFSET to 6 to avoid jostling around other ports
2022-02-11 17:00:31 -08:00
Jack May
3d9874b95a
Add fees to tx-wide caps ( #22081 )
2022-02-11 16:23:16 -08:00
Alexander Meißner
226a71f073
Refactor: Use instruction_trace instead of instruction_context_stack ( #22988 )
...
* Moves stack_height of the instruction_trace into InstructionContext.
* Uses nesting_level instead of stack_height internally in transaction_context.rs
* Uses the instruction_trace instead of the instruction_context_stack internally.
* Adds feature gate: record_instruction_in_transaction_context_push.
2022-02-09 20:04:49 +01:00
Justin Starry
ba215e94f6
Refactor: Add AccountKeys struct for static and dynamic message keys ( #22960 )
2022-02-05 20:00:31 +08:00
Alexander Meißner
96c88d1a5e
Bumps solana_rbpf to version v0.2.22 ( #22923 )
...
* Bumps solana_rbpf to v0.2.22
* Adjusts vm::Config and feature gates.
2022-02-04 21:17:49 +01:00
sakridge
5a230f418d
Add quic port for accepting transactions ( #22753 )
...
using quinn library
streamer: Sign TLS cert with validator identity key
Handle multiple incoming chunks
2022-02-04 15:27:09 +01:00
Alexander Meißner
660f6981c6
Cleanup: TransactionContext ( #22910 )
...
* Adds BorrowedAccount::check_sysvar().
* Adds BorrowedAccount::get_data_mut().
* Implements account resizing in BorrowedAccount.
* Exposes is_signer() and is_writable() in InstructionContext.
* Removes AccountMeta and get_instruction_accounts_metas().
* Makes throwing errors in BorrowedAccount optional.
* Removes result return values from BorrowedAccount.
2022-02-03 17:19:42 +01: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
Justin Starry
60af1a4cce
Refactor: Add trait for loading addresses ( #22903 )
2022-02-03 11:00:12 +00:00
Jack May
cc94a93b56
Safer invoke context ( #22898 )
...
* Safer invoke context
* feedback and rebase with master
2022-02-03 02:34:51 -08:00
carllin
bd1850df25
Return actual committed transactions from process_transactions() ( #22802 )
2022-02-03 03:56:36 -05:00
Jack May
ab02dba96f
Add get_processed_sibling_instruction syscall ( #22859 )
2022-02-02 16:45:57 -08:00
Will Hickey
75563f6c7b
Reject close of active vote accounts ( #22651 )
...
* 10461 Reject close of vote accounts unless it earned no credits in the previous epoch. This is checked by comparing current epoch (from clock sysvar) with the most recent epoch with credits in vote state.
2022-02-02 14:16:24 -06:00
Sean Young
c1b543c74d
test_ed25519 fails if we randomly select index 1
2022-01-27 11:11:37 +00:00
Jon Cinque
1192e760a4
sdk: Maybe fix build for the future with import ( #22731 )
2022-01-25 19:29:42 +01:00
Jon Cinque
fc21af4e6e
spl-associated-token-account: Add feature for new program ( #22648 )
...
* spl-associated-token-account: Add feature for new program
* Address feedback
2022-01-24 22:54:41 +01:00
Michael Vines
6d5bbca630
Pacify clippy
2022-01-21 19:12:57 -08:00
Brian Anderson
8dd62854fa
Document transaction module ( #22440 )
...
* Document transaction module
* example_mocks is only for feature = full
2022-01-21 18:30:12 -07: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
Justin Starry
7f20c6149e
Refactor: move simple vote parsing to runtime ( #22537 )
2022-01-20 10:39:21 +08: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
cc76a73c49
Refactor: move compute budget runtime logic into solana-program-runtime ( #22543 )
2022-01-17 20:48:00 +08:00
Justin Starry
2c38a9213f
Revert "Refactor: move compute budget runtime logic into solana-program-runtime ( #22533 )" ( #22542 )
...
This reverts commit b27976626a
.
2022-01-17 17:43:17 +08:00
Justin Starry
b27976626a
Refactor: move compute budget runtime logic into solana-program-runtime ( #22533 )
2022-01-17 15:52:33 +08:00
Michael Vines
65f1e0fcc2
vote account withdraw authority may change the authorized voter
2022-01-15 21:47:08 -08:00
Jack May
2aa113fd8c
Update syscall base costs
2022-01-14 16:15:14 -08:00
Tao Zhu
9c9f2dd5bd
port counting vote CUs to block cost ( #22477 )
2022-01-14 10:50:29 -06:00
Justin Starry
f804ccdece
Store address table lookups in blockstore and bigtable ( #22402 )
2022-01-14 15:24:41 +08:00
Michael Vines
4c577d7f8c
`Bank::get_fee_for_message` is now nonce aware
2022-01-13 17:27:38 -08:00
carllin
4ab7d6c23e
Filter out outdated slots ( #22450 )
...
* Filter out outdated slots
* Fixup error
2022-01-13 19:51:00 -05:00
Justin Starry
b211f839cb
Fetch sysvars from invoke context for vote program ( #22444 )
2022-01-13 08:41:48 +08:00
Tyera Eulberg
637e366b18
Prevent rent-paying account creation ( #22292 )
...
* Fixup typo
* Add new feature
* Add new TransactionError
* Add framework for checking account state before and after transaction processing
* Fail transactions that leave new rent-paying accounts
* Only check rent-state of writable tx accounts
* Review comments: combine process_result success behavior; log and metrics before feature activation
* Fix tests that assume rent-exempt accounts are okay
* Remove test no longer relevant
* Remove native/sysvar special case
* Move metrics submission to report legacy->legacy rent paying transitions as well
2022-01-11 11:32:25 -07:00
Alexander Meißner
aadf4b9b63
Moves InvokeContext::return_data to TransactionContext. ( #22411 )
2022-01-10 18:26:51 +01:00