215 Commits

Author SHA1 Message Date
Tyera Eulberg
8d951776ab
Rpc: add filter to getProgramAccounts (#10888)
* Add RpcFilterType, and implement CompareBytes for getProgramAccounts

* Accept bytes in bs58

* Rename to memcmp

* Add Memcmp optional encoding field

* Add dataSize filter

* Update docs

* Clippy

* Simplify tests that don't need to test account contents; add multiple-filter tests
2020-07-03 07:46:29 +00:00
Michael Vines
d53228e69d getInflationRate now only supports the current epoch 2020-07-02 02:11:31 +00:00
Tyera Eulberg
2669ccb864
Update struct prefixes to Ui (#10874)
* Update comments

* Use Ui prefix
2020-07-01 20:06:40 +00:00
Tyera Eulberg
d97850f1d9
Add account-decoder utilities (#10846)
* Fix comment and make less pub

* Add account-decoder crate and use to decode vote and system (nonce) accounts

* Update docs

* Rename RpcAccount struct

* s/Rpc/Display

* Call it jsonParsed and update docs

* Revert "s/Rpc/Display"

This reverts commit 6e7149f503f560f1e9237981058ff05642bb7db5.

* s/Rpc/Ui

* Add tests

* Ui more things

* Comments
2020-07-01 04:55:11 +00:00
Greg Fitzgerald
50b3fa83a0
Move BankCommitmentCache to solana_runtime (#10816)
* Remove Blockstore member variable from BlockCommitmentCache

* Hoist is_confirmed_rooted() to its only caller

BlockCommitmentCache no longer depends on Blockstore

* Move BlockCommitmentCache to solana_runtime
2020-06-25 22:06:58 -06:00
Greg Fitzgerald
62b873b054
Clean up rpc module (#10812)
* Clean up rpc module

* Simplify getting bank
2020-06-25 17:08:55 -06:00
Greg Fitzgerald
1c498369b5
Remove fee-payer guesswork from Message and Transaction (#10776)
* Make Message::new_with_payer the default constructor

* Remove Transaction::new_[un]signed_instructions

These guess the fee-payer instead of stating it explicitly
2020-06-24 14:52:38 -06:00
Tyera Eulberg
fd2508b09e
Add jsonParsed option for EncodedTransactions; add memo parser (#10711)
* Add jsonParsed option for EncodedTransactions; add memo parser

* Use kebab case for program names

* Add account-key parsing

* Add parse test
2020-06-19 16:15:13 -06:00
Greg Fitzgerald
6ee222363e
Move BankForks to solana_runtime (#10637)
* Move BankForks to solana_runtime

* Update imports
2020-06-17 15:27:03 +00:00
Greg Fitzgerald
891aa8c13e
Add RequestProcessor constructor to simplify testing (#10631)
* Add JsonRpcRequestProcessor constructor

* Avoid start_rpc_handler_with_tx monolith in rpc tests

* pub

* Pass an Arc, so that caller can poke the bank
2020-06-16 23:30:59 -06:00
Jack May
b6a9573748
Route all loader messages to log collector (#10528) 2020-06-13 13:20:08 -07:00
Greg Fitzgerald
2eb6f498a8
Remove redundant BankForks parameter (#10537) 2020-06-12 11:04:17 -06:00
Greg Fitzgerald
9077c4a776
Enable jsonrpc client (#10522) 2020-06-11 16:51:25 -06:00
Michael Vines
8e2745c2a2 Clean up delinquency slot distance computation 2020-06-09 11:27:30 -07:00
Michael Vines
ed351400b2 Add SendTransactionService 2020-06-09 07:46:40 -07:00
Kristofer Peterson
e23340d89e
Clippy cleanup for all targets and nighly rust (also support 1.44.0) (#10445)
* address warnings from 'rustup run beta cargo clippy --workspace'

minor refactoring in:
- cli/src/cli.rs
- cli/src/offline/blockhash_query.rs
- logger/src/lib.rs
- runtime/src/accounts_db.rs

expect some performance improvement AccountsDB::clean_accounts()

* address warnings from 'rustup run beta cargo clippy --workspace --tests'

* address warnings from 'rustup run nightly cargo clippy --workspace --all-targets'

* rustfmt

* fix warning stragglers

* properly fix clippy warnings test_vote_subscribe()
replace ref-to-arc with ref parameters where arc not cloned

* Remove lock around JsonRpcRequestProcessor (#10417)

automerge

* make ancestors parameter optional to avoid forcing construction of empty hash maps

Co-authored-by: Greg Fitzgerald <greg@solana.com>
2020-06-09 09:38:14 +09:00
Greg Fitzgerald
af8c21c559
Remove lock around JsonRpcRequestProcessor (#10417)
automerge
2020-06-07 20:54:03 -07:00
Michael Vines
7e2651ca51
RPC simulateTransaction endpoint now returns program log output (#10432) 2020-06-06 10:18:28 -07:00
Justin Starry
754f25ae99
Avoid AccountInUse errors when simulating transactions (#10391)
automerge
2020-06-04 19:06:01 -07:00
Michael Vines
ebf8a65526 Add test_rpc_send_transaction_preflight 2020-06-01 17:51:04 -07:00
Michael Vines
9158479dc4 Add node health check to transaction preflight 2020-06-01 17:51:04 -07:00
Michael Vines
189aa7962e Add preflight checks to sendTransaction RPC method 2020-06-01 17:51:04 -07:00
Greg Fitzgerald
19d11800bf
Remove WithSigner (#10325)
automerge
2020-05-29 23:17:44 -07:00
Michael Vines
eb45aaa6c3
Added --health-check-slot-distance (#10324) 2020-05-29 15:31:52 -07:00
Tyera Eulberg
b563b49ed5
Improve Rpc inflation tooling (#10309)
automerge
2020-05-29 11:50:25 -07:00
Kristofer Peterson
fb4d8e1f62
cleanup clippy tests (#10172)
automerge
2020-05-29 00:26:06 -07:00
Tyera Eulberg
3f0995d3b4
Add commitment parameter to getFeeCalculatorForBlockhash (#10255)
* Accept commitment parameter on getFeeCalculatorForBlockhash

* Update docs

* Add get_fee_calculator_for_blockhash_with_commitment to rpc client
2020-05-26 17:23:58 -06:00
Tyera Eulberg
4e431bc818
Add mechanism to get blockhash's last valid slot (#10239)
automerge
2020-05-26 12:06:21 -07:00
Tyera Eulberg
2928c5d103
Add SingleGossip commitment level to use for subscriptions (#10147)
automerge
2020-05-22 12:55:17 -07:00
Tyera Eulberg
12a3b1ba6a
Fixup deserialize_bs58_transaction, and make a few error types more targeted (#10171)
automerge
2020-05-21 17:30:02 -07:00
Michael Vines
324cfd40f0
Add v0 REST APIs for circulating and total supply (#10102) 2020-05-20 20:04:07 -07:00
sakridge
ce17de7d25
Add option to wait for a specific epoch length to bench-tps (#10083) 2020-05-20 16:42:46 -07:00
Michael Vines
417f0e41fa
Add stake-o-matic (#10044)
automerge
2020-05-20 16:15:03 -07:00
Michael Vines
427c78d891
Add SimulateTransaction RPC endpoint (#10106)
automerge
2020-05-19 12:08:19 -07:00
Tyera Eulberg
bac4aec16f
Trigger RPC notifications after block commitment cache update (#10077)
* Fixup commitment-aggregation metric

* Trigger notifications after commitment-cache update

* Fixup fn name

* Add single-confirmation commitment level

* Rename to highest_confirmed_slot

* Pass commitment-cache info directly to notifications

* Use match

* Update commitment docs

* Update out of date pubsub docs
2020-05-18 12:49:01 -06:00
Kristofer Peterson
58ef02f02b
9951 clippy errors in the test suite (#10030)
automerge
2020-05-15 09:35:43 -07:00
Jack May
eb1acaf927
Remove archiver and storage program (#9992)
automerge
2020-05-14 18:22:47 -07:00
Tyera Eulberg
ee7f15eff1
Rpc: optionally filter getLargestAccounts by circulating/nonCirculating (#10007)
* Add circ/non-circ filter to getLargestAccounts

* Plumb largest accounts into client and cli

* Bump timeout toward CI flakiness

* Update docs
2020-05-12 21:05:05 -06:00
Michael Vines
84b6120983
getClusterNodes RPC API now includes the node software version (#9990) 2020-05-11 21:30:01 -07:00
Michael Vines
2521f75c18
Advertise node software version in gossip (#9981)
* Advertise node version in gossip

* Remove solana_clap_utils::version! macro
2020-05-11 15:02:01 -07:00
Tyera Eulberg
965204b8e0
Check slot cleaned up for RPC blockstore/slot queries (#9982)
automerge
2020-05-11 14:47:40 -07:00
Tyera Eulberg
3ee702a922
Rpc: Add getCirculatingSupply endpoint, redux (#9953)
* Add Bank.clock() helper

* Add non-circulating calculations

* Plumb getSupply rpc endpoint

* Add docs for getSupply, and remove getTotalSupply from docs

* Add pubkeys! procedural macro

* Use procedural macro in non_circulating_supply
2020-05-09 12:05:29 -06:00
Tyera Eulberg
627bc7e3a9
Rpc: Filter blockstore data by cluster-confirmed root (#9873)
automerge
2020-05-04 18:39:27 -07:00
Tyera Eulberg
f5b0d13f08
Rpc: add getLargestAccounts endpoint (#9869)
automerge
2020-05-04 16:46:10 -07:00
Tyera Eulberg
6deaf649ef
Add commitment Root variant, and add fleshed out --commitment arg to Cli (#9806)
automerge
2020-04-29 21:55:33 -07:00
Tyera Eulberg
efb4988d10
Rpc: remove unwraps (#9793)
automerge
2020-04-29 12:06:09 -07:00
Tyera Eulberg
655e3bc418
Rpc: Use cluster largest_confirmed_root as commitment max (#9750)
automerge
2020-04-28 10:20:43 -07:00
Tyera Eulberg
a12428a5b8
Use Blockstore lowest_slot to start root iterator (#9738) 2020-04-28 10:22:10 -06:00
Tyera Eulberg
a7f33b5014
Cache banks in BankForks until optional largest_confirmed_root (#9678)
automerge
2020-04-24 15:49:57 -07:00
Greg Fitzgerald
76b1c2baf0
One less alloc per transaction (#9705)
* One less alloc per transaction

* Fix benches

* Fix compiler warnings in bench build

* Fix move build

* Fix bench
2020-04-24 13:03:46 -06:00