Justin Starry
082502d4f3
Fail tx sanitization when ix program id uses lookup table ( #25035 )
...
* Fail tx sanitization when ix program id uses lookup table
* feedback
2022-05-07 03:19:50 +08:00
carllin
870ac80b79
Prioritize BankingStage packets individually in min-max heap ( #24187 )
2022-05-04 21:50:56 -05:00
Jon Cinque
326e53be97
stake: Allow initialized stakes to be below the min delegation ( #24670 )
...
* stake: Allow initialized stakes to be below the min delegation
* Add PR number in feature
* Fixup RPC subscription test
* Address feedback pt 1
* Address feedback pt 2
* Update FrozenAbi Digest
* Address feedback: no new error type, more comments
2022-05-04 12:17:29 +02:00
Jack May
e070c5ca38
default compute units per instruction ( #24899 )
2022-05-03 09:50:06 -07:00
Jon Cinque
b4503d4110
token: Add features for new program releases ( #24742 )
...
* token: Add features for new program releases
* Add PR number
2022-04-28 23:43:57 +02:00
Ryo Onodera
412a5a0d33
Credits auto rewind on vote recreation ( #22546 )
...
* Credits auto rewind on vote recreation
* Update comment
* Improve comments and tests
* Recommended fn rename
* Restore old feature, and replace new feature key
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2022-04-26 15:49:35 -06:00
Jeff Washington (jwash)
14ee36a2af
cleanup in vote/stake accounts ( #24608 )
...
* cleanup in vote/stake accounts
* reorder comparisons in accounts_equal
2022-04-23 08:28:21 -05:00
behzad nouri
f937fcbd95
updates rewards at epoch boundary using cached accounts
...
Loading vote and stake accounts from accounts-db takes a significant
portion of time updating rewards at epoch boundary.
This commit bypasses accounts-db and instead uses vote and stake
accounts cached in bank stakes:
https://github.com/solana-labs/solana/blob/d2702201c/runtime/src/stakes.rs#L148-L152
These cached accounts are synchronized with accounts-db after each
transaction, and so there should not be any change in the resulting
computation:
https://github.com/solana-labs/solana/blob/d2702201c/runtime/src/bank.rs#L4526
Nevertheless, to avoid any chances of introducing a consensus issue, the
switch to cached account is feature gated.
2022-04-21 15:28:41 +00:00
Justin Starry
d5127abf46
Only add hashes for completed blocks to recent blockhashes ( #24389 )
...
* Only add hashes for completed blocks to recent blockhashes
* feedback
2022-04-21 21:05:29 +08:00
Jack May
5eb1ba402f
cpi charge for executables ( #24396 )
2022-04-19 19:31:11 -07:00
Alexander Meißner
860ecd6572
Deprecate `KeyedAccount` and `StackFrame` ( #24480 )
...
* Marks KeyedAccount as deprecated.
* Marks StackFrame as deprecated.
2022-04-19 17:11:04 +02:00
Alexander Meißner
db3dd458a4
Reverts the feature removal of: ( #24476 )
...
Remove `NativeLoader` from program runtime (#24296 )
2022-04-19 17:10:35 +02:00
behzad nouri
039488b562
drops redundant turbine propagation path ( #24351 )
...
Most nodes in the cluster receive the same shred from two different
nodes: parent, and the first node of their neighborhood:
https://github.com/solana-labs/solana/blob/a8c695ba5/core/src/cluster_nodes.rs#L178-L197
Because of the erasure codings, half of the shreds are already
redundant. So this redundant propagation path will only add extra
overhead.
Additionally the very first node of the broadcast tree has 2x fanout
(i.e. 400 nodes) which adds too much load at one node.
This commit simplifies the broadcast tree by dropping the redundant
propagation path and removing the 2x fanout at root node.
2022-04-19 00:11:29 +00:00
Tao Zhu
2970507d7c
remove unused file
2022-04-17 19:26:24 -05:00
Tao Zhu
85281de981
move number utility functions to sdk; log error if cost adjust overflows i64
2022-04-17 19:26:24 -05:00
sakridge
1b7d1f78de
Implement QUIC connection warmup service for future leaders ( #24054 )
...
* Increase connection timeouts
* Bump quic connection cache to 1024
* Use constant for quic connection timeout and add warm cache service
* Fixes to QUIC warmup service
* fix check failure
* fixes after rebase
* fix timeout test
Co-authored-by: Pankaj Garg <pankaj@solana.com>
2022-04-15 12:09:24 -07:00
Michael Vines
57ff7371b4
Add StakeInstruction::DeactivateDelinquent
2022-04-14 01:49:22 -04:00
Jack May
2e0bc89ec4
featurize rejection of callx r10 instructions ( #24309 )
2022-04-13 11:09:33 -07:00
Alexander Meißner
b8ca1bcb68
Remove `NativeLoader` from program runtime ( #24296 )
...
* Deletes native_loader.rs
* Deletes the feature: remove_native_loader
2022-04-13 12:15:28 +02:00
Jack May
a43ff3bbcb
cleanup ( #24299 )
2022-04-12 17:52:47 -07:00
Jack May
138f04a49f
featurize bpf function hash collision fix ( #24262 )
2022-04-12 17:52:32 -07:00
Jack May
b035991c35
migrate memberes from deprecated structs ( #24263 )
2022-04-12 09:49:42 -07:00
behzad nouri
d0b850cdd9
removes turbine peers shuffle patch feature
2022-04-05 12:04:12 +00:00
behzad nouri
855801cc95
removes deterministic-shred-seed feature
2022-04-05 12:04:12 +00:00
Brooks Prumo
2af6753808
Add GetMinimumDelegation stake program instruction ( #24020 )
2022-04-02 05:11:10 +00:00
Justin Starry
792bbf75ab
Support sending versioned txs in AsyncClient ( #23982 )
2022-04-02 11:12:02 +08: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
Jeff Washington (jwash)
396b49a7c1
Start saving/loading prior_roots(_with_hash) to snapshot ( #23844 )
...
* Start saving/loading prior_roots(_with_hash) to snapshot
* Update runtime/src/accounts_index.rs
Co-authored-by: Michael Vines <mvines@gmail.com>
* Update runtime/src/accounts_index.rs
Co-authored-by: Michael Vines <mvines@gmail.com>
* update comment
Co-authored-by: Michael Vines <mvines@gmail.com>
2022-03-24 10:06:24 -05:00
Alexander Meißner
91c2729856
Replaces keyed_account get_signers() by InstructionContext::get_signers(). ( #23863 )
2022-03-24 12:57:51 +01:00
Jack May
3d7c8442c7
add size check for from_raw_parts ( #23781 )
2022-03-22 15:20:39 -07:00
Jon Cinque
7af48465fa
transaction-status: Add return data to meta ( #23688 )
...
* transaction-status: Add return data to meta
* Add return data to simulation results
* Use pretty-hex for printing return data
* Update arg name, make TransactionRecord struct
* Rename TransactionRecord -> ExecutionRecord
2022-03-22 23:17:05 +01:00
Justin Starry
15357480ec
Refactor instruction compilation and update message account key ordering ( #23729 )
...
* Refactor: Make instruction compilation usable for other message versions
* apply trents feedback
* Fix tests
* Fix bpf compatiblity
2022-03-21 20:53:32 +08:00
Jack May
1f052c6234
disable deprecated BPF loader deploys ( #23757 )
2022-03-18 14:29:49 -07:00
HaoranYi
f54e746fc5
Support u8 slice digester in frozen abi struct. ( #23726 )
...
* support u8 slice in frozen abi digester
* use slice in account struct
* add bpf cargo lock file
* no need to pass account.data to serializer
* fix comments
2022-03-18 09:31:07 -05:00
Tao Zhu
fd515097d8
leader qos part 2: add stage to find sender stake, set to packet meta
2022-03-17 19:31:28 -05:00
Stephen Akridge
976b138e76
Add tx weighting stage
2022-03-17 19:31:28 -05:00
Jeff Washington (jwash)
342f1ab1cb
clean up/add comments ( #23727 )
2022-03-17 14:23:08 -05:00
Jeff Washington (jwash)
bb9f9c8dd5
AccountSharedData::serialize ( #23685 )
2022-03-17 09:29:49 -05:00
Justin Starry
b4350a2522
Make solana-address-lookup-table-program crate bpf compatible ( #23700 )
2022-03-17 08:21:07 +08:00
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