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
Trent Nelson
4213ece7bd
rpc: make getGenesisHash
part of minimal api
2022-02-16 10:05:46 -07:00
Michael Vines
c42b80f099
Add simulation detection countermeasure ( #22880 )
...
* Add simulation detection countermeasures
* Add program and test using TestValidator
* Remove incinerator deposit
* Remove incinerator
* Update Cargo.lock
* Add more features to simulation bank
* Update Cargo.lock per rebase
Co-authored-by: Jon Cinque <jon.cinque@gmail.com >
2022-02-15 13:09:59 +01:00
Lijun Wang
c04438be4b
Retaining transaction logs when transaction plugin is loaded. ( #22874 )
...
Transaction logs are not being saved to the database through the plugin interface.
Summary of Changes
Retain the transaction logs when transaction notification plugin is loaded.
Fixes #
lijunwangs/solana-accountsdb-plugin-postgres#6
2022-02-11 20:29:07 -08:00
Jack May
3d9874b95a
Add fees to tx-wide caps ( #22081 )
2022-02-11 16:23:16 -08:00
Justin Starry
d5dec989b9
Enforce tx metadata upload with static types ( #23028 )
2022-02-10 13:28:18 +08:00
Michael Vines
86d465c531
Prepare RPC subsystem for multiple SPL Token program ids
2022-02-09 08:16:00 -08:00
Kirill Fomichev
541b5a4826
Rename struct to imported name ( #22814 )
...
* use imported RpcResponse
* Remove extra map method
* rename result to accounts
* fmt
2022-02-08 12:01:40 -07:00
Justin Starry
ba215e94f6
Refactor: Add AccountKeys struct for static and dynamic message keys ( #22960 )
2022-02-05 20:00:31 +08:00
Justin Starry
60af1a4cce
Refactor: Add trait for loading addresses ( #22903 )
2022-02-03 11:00:12 +00:00
Trent Nelson
c62f9839a2
test-validator-bin: reinstate full rpc method set
2022-02-03 02:43:03 +00:00
Trent Nelson
eac4a6df68
rpc: use minimal mode by default
2022-02-01 19:00:06 -07:00
Kirill Fomichev
4bc3a1195f
Use internal function for encoding accounts ( #22822 )
...
* Use internal function for encoding accounts
* fix tests
2022-02-01 14:10:21 -07:00
Michael Vines
331b953551
Add vote account address to vote subscription
2022-01-27 08:22:29 -08:00
Michael Vines
6d5bbca630
Pacify clippy
2022-01-21 19:12:57 -08:00
Justin Starry
7f20c6149e
Refactor: move simple vote parsing to runtime ( #22537 )
2022-01-20 10:39:21 +08:00
Justin Starry
f804ccdece
Store address table lookups in blockstore and bigtable ( #22402 )
2022-01-14 15:24:41 +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
Jeff Biseda
8b66625c95
convert std::sync::mpsc to crossbeam_channel ( #22264 )
2022-01-11 02:44:46 -08:00
pieceofr
d9220652ad
[ledger-tool]compare_blocks ( #22229 )
...
* 1.made load_credentials accept credential path as a parameter. 2.partial implement bigtable comparasion function
* finding missing blocks in bigtables in a specified range
* refactor compare-blocks,add unit test for missing_blocks and fmt
* compare-block fix last block bug
* refactor compare-block and improve wording
* Update ledger-tool/src/bigtable.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* update compare-block command-line description
* style:improve wording/naming/code style
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2022-01-06 14:36:03 +08:00
Nikita
c1995c647b
fix(rpc): recreate dead and uncleaned subscriptions ( #22281 )
2022-01-05 00:15:21 -07:00
Justin Starry
45458e7139
Refactor: Improve type safety and readability of transaction execution ( #22215 )
...
* Refactor Bank::load_and_execute_transactions
* Refactor: improve type safety of TransactionExecutionResult
* Add enum for extra type safety in execution results
* feedback
2022-01-05 10:15:15 +08:00
Justin Starry
2b5e00d36d
Limit number of accounts that a transaction can lock ( #22201 )
2022-01-04 14:25:23 +08:00
Justin Starry
2a00382d71
Refactor: cleanup solana_transaction_status crate ( #22230 )
2022-01-03 15:45:18 +00:00
Tyera Eulberg
0b1b36f088
Exit early on BigTable error ( #22200 )
2021-12-31 13:36:57 -07:00
Justin Starry
b1d9a2e60e
Don't forward packets received from TPU forwards port ( #22078 )
...
* Don't forward packets received from TPU forwards port
* Add banking stage test
2021-12-29 19:34:31 +01:00
Omar Kilani
bac6821e19
get_signatures_for_address does not correctly account for result sets that span local and Bigtable sources ( #22115 )
...
* get_signatures_for_address does not correctly account for result sets that span Blockstore and Bigtable.
This causes Bigtable to return `RowNotFound` until the new tx is uploaded.
Check that `before` exists in Bigtable, and if not, set it to `None` to return the full data set.
References #21442
Closes #22110
* Differentiate between before sig not found and no newer signatures
* Dedupe bigtable results to account for potential upload race
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-12-29 10:25:10 -07:00
Yueh-Hsuan Chiang
b89cd8cd1a
Avoid cloning Vec<Entry> when calling entries_to_test_shreds() ( #22093 )
2021-12-24 12:32:43 -08:00
behzad nouri
4d62f03297
uses enum instead of trait for VoteTransaction ( #22019 )
...
Box<dyn Trait> involves runtime dispatch, has significant overhead and
is slow. It also requires hacky boilerplate code for implementing Clone
or other basic traits:
https://github.com/solana-labs/solana/blob/e92a81b74/programs/vote/src/vote_state/mod.rs#L70-L102
Only limited known types can be VoteTransaction and they are all defined
in the same crate. So using a trait here only adds overhead.
https://github.com/solana-labs/solana/blob/e92a81b74/programs/vote/src/vote_state/mod.rs#L125-L165
https://github.com/solana-labs/solana/blob/e92a81b74/programs/vote/src/vote_state/mod.rs#L221-L264
2021-12-22 14:25:46 +00: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
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
Justin Starry
e5476913fe
Remove activated feature that checks tx signature len ( #21747 )
2021-12-14 09:23:05 -05:00
Michael Vines
824994db69
simulateTransaction now returns the correct error code if accounts are provided as input
2021-12-08 14:03:21 -08: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
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
Tyera Eulberg
9e043d2055
Use max_complete_transaction_status_slot in BigTableUploadService ( #21401 )
...
* Use max_complete_transaction_status_slot in BigTableUploadService
* Use node root to limit BigTableUploadService
2021-11-23 17:36:13 -07:00
Lijun Wang
c29838fce1
Accountsdb plugin transaction part 3: Transaction Notifier ( #21374 )
...
The TransactionNotifierInterface interface for notifying transactions.
Changes to transaction_status_service to notify the notifier of the transaction data.
Interface to query the plugin's interest in transaction data
2021-11-23 09:55:53 -08: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
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
Jack May
03c36d240a
Nonce naming cleanup ( #21336 )
2021-11-18 16:07:17 -08:00
Justin Starry
66fa062f13
rename process_entries to indicate it's only for tests ( #21321 )
2021-11-17 20:53:40 +01:00
Jeff Washington (jwash)
0f69a14247
Add ability to abort scan ( #21314 )
2021-11-17 13:10:29 -06:00
Jack May
cb0bb5bd1e
Nonce accounts must be writeable ( #21260 )
...
* Nonce accounts must be writeable
* feedback
* feedback
2021-11-16 23:01:00 +00:00
Michael Keleti
b0ca335463
Rename "trusted" to "known" in validators/
( #21197 )
...
* Replaced trusted with known validator
* Format Convention
2021-11-12 11:57:55 -07:00
Jeff Biseda
7659a2edc2
report pubsub stats every 2s ( #21192 )
2021-11-05 19:59:54 -07:00
Ivan Mironov
0e751ef7df
Add validator option to change niceness of RPC server threads
...
Fixes https://github.com/solana-labs/solana/issues/14556
2021-11-04 17:16:46 -06:00
Justin Starry
aaccba8377
Refactor RentDebits
to use hashmap instead of vec
2021-11-04 15:02:24 +00:00
Justin Starry
140a5f633d
Simplify replay vote tracking by using packet metadata ( #21112 )
2021-11-03 09:02:48 +00:00
Tyera Eulberg
02826a989e
Change module name to represent correct branch ( #21125 )
2021-11-02 02:04:29 +00:00
Pavel Strakhov
9fabff5129
Parallel notifications in RPC PubSub ( #20543 )
...
* generate rpc notifications in parallel
* Use multithreaded runtime for pubsub
* add metric for time since creation of rpc notification to queue
* measure notification entry processing
* fix: add n_threads config argument
* configure rayon thread pool for rpc notifications
* add config option for pubsub notification threads
* rename metric to created_to_queue_time_us
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* rename metric to notification_entry_processing_time_us
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* use value_of for rpc_pubsub_notification_threads parsing
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* rename threads to sol-sub-notif-N
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* fix rpc tests for TimestampedNotificationEntry
* rustfmt
* use rayon thread limit for rpc
Co-authored-by: Pavel Strakhov <p.strakhov@iconic.vc >
Co-authored-by: Alexander Polakov <a.polakov@zubr.io >
Co-authored-by: Nikita Podoliako <bananaelecitrus@gmail.com >
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-11-01 00:17:24 -06:00