Michael Vines
757e147b3b
Rework UiAccountData encode/decode such that it works from Rust
2020-08-17 17:26:29 -07:00
Tyera Eulberg
6c5b8f324a
Rpc: Add until parameter for getConfirmedSignaturesForAddress2 ( #11644 )
...
* Refactor bigtable apis to accept start and end keys
* Make helper fn to deserialize cell data
* Refactor get_confirmed_signatures_for_address to use get_row_data range
* Add until param to get_confirmed_signatures_for_address
* Add until param to blockstore api
* Plumb until through client/cli
* Simplify client params
2020-08-15 10:42:17 -06:00
Greg Fitzgerald
574c356863
Add CommitmentSlots::new_from_slot() ( #11600 )
2020-08-13 03:51:15 +00:00
Tyera Eulberg
b1e452f876
Return blockstore signatures-for-address despite bigtable error ( #11594 )
2020-08-12 17:57:05 -06:00
Tyera Eulberg
88ca04dbdb
Add config param to specify offset/length for single and program account info ( #11515 )
...
* Add config param to specify dataSlice for account info and program accounts
* Use match instead of if
2020-08-10 22:35:29 +00:00
Tyera Eulberg
da210ddd51
Fix parsing of spl-token Mint ( #11512 )
...
* Add failing test
* Fix jsonParsed mint
2020-08-10 20:35:36 +00:00
Tyera Eulberg
a9f76862fb
Decode native-program and sysvar accounts ( #11463 )
...
* Pass pubkey in to account-decoder for sysvars
* Decode sysvar accounts
* Decode config accounts; move validator-info lower
* Decode stake accounts
* Review comments
* Stringify any account lamports and epochs that can be set to u64::MAX
2020-08-09 07:50:45 +00:00
sakridge
068d23f298
Add Binary64 option for account data ( #11474 )
...
* Add Binary64 option for account data
* Decode into binary64
* Reword docs
2020-08-08 22:40:13 -07:00
Tyera Eulberg
b7c2681903
Token Accounts: return ui_amount, decimals with decoded account ( #11407 )
...
* Return ui_amount, decimals from token client methods
* Return ui_amount, decimals in RPC jsonParsed token accounts
* Fixup docs
* Return ui_amount, decimals in pubsub jsonParsed token accounts
* Remove unnecessary duplicate struct
* StringAmount rename
2020-08-07 11:37:39 -06:00
Michael Vines
4222932e08
Plug getConfirmedSignaturesForAddress2 into bigtable storage
2020-08-05 23:04:16 -07:00
Michael Vines
02c0981ecf
Rename startAfter to before
2020-08-05 14:33:14 -07:00
Michael Vines
087fd32ce3
Reimplement transaction-history command with getConfirmedSignaturesForAddress2
2020-08-05 14:33:14 -07:00
Michael Vines
1b2276520b
Add getConfirmedSignaturesForAddress2 RPC method
2020-08-05 14:33:14 -07:00
Michael Vines
dfae9a9864
Plumb Bigtable ledger storage into the RPC subsystem
2020-08-05 14:27:12 -07:00
Michael Vines
0e02740565
Setup a tokio 0.2 runtime for RPC usage
2020-08-05 14:27:12 -07:00
Tyera Eulberg
86e3f96f16
Return token amounts as floats ( #11370 )
...
* Return token amounts as floats
* Floating-point equality
* Return float and raw token amounts
* Fix decimals and token rpcs for native-mint tokens
* Fixup docs and review comments
2020-08-05 06:48:09 +00:00
Trent Nelson
14339dec0a
Harden RPC preflight test inputs
2020-08-05 06:06:57 +00:00
Trent Nelson
e25846e1ad
Add failing test for unsane tx in RPC preflight
2020-08-05 06:06:57 +00:00
Tyera Eulberg
d0144ce382
Fix token rpc-client methods ( #11361 )
...
* Convert None to error in parse_keyed_accounts
* Allow encoding configuration in getTokenAccounts methods
2020-08-04 11:11:30 -06:00
Tyera Eulberg
0bc9bcc8b9
Fix bad rebase
2020-08-02 12:09:06 -06:00
Tyera Eulberg
d1b2e6cdf2
Add getTokenLargestAccounts endpoint ( #11322 )
2020-08-02 10:23:44 -06:00
Michael Vines
ffbd859c42
Update spl-token and spl-memo
2020-08-02 07:53:42 -07:00
Tyera Eulberg
9bcfc51df1
Add token rpc endpoints to rpc-client ( #11315 )
2020-07-31 20:53:49 +00:00
Michael Vines
c78e12a262
Avoid spl-sdk dependency, which inhibits crate publishing
2020-07-30 23:47:26 +00:00
Greg Fitzgerald
1d2426ddbc
Move simulate_transaction from rpc to bank ( #11294 )
2020-07-30 19:15:45 +00:00
Trent Nelson
a888f2f516
Reject TXs sent via RPC with no signatures
2020-07-30 00:07:33 -06:00
Trent Nelson
a7079e4dde
Dereplicode send_transaction and request_airdrop RPC handlers
2020-07-30 00:07:33 -06:00
Trent Nelson
b962b2ce2d
Add failing test for TX sent via RPC with no signatures
2020-07-30 00:07:33 -06:00
Tyera Eulberg
b45ac5d4db
Add SPL Token-specific rpc endpoints ( #11231 )
...
* Simplify account-decoder program ids + spl_token helper
* Spl program namespace version
* Add getTokenAccountBalance endpoint
* Remove token program id from getTokenAccountBalance request
* Add getTokenSupply endpoint
* Remove token program id from getTokenSupply request
* Add getTokenAccountsByOwner/Delegate endpoints
* Remove token program id from getTokenAccountsByOwner/Delegate requests
* Named parameter
2020-07-28 23:00:48 -06:00
Trent Nelson
678f94903b
Fill out missing RPC request received debug logging
2020-07-29 01:51:20 +00:00
carllin
6578ad7d08
Speed up local cluster partitioning tests ( #11177 )
...
* Fix long local cluster partition tests by skipping slot warmup
Co-authored-by: Carl <carl@solana.com>
2020-07-23 18:50:42 -07:00
Greg Fitzgerald
7484202282
Return root when bank not found ( #11188 )
...
* Return root when bank not found
* Apply suggestions from code review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-07-24 00:57:15 +00:00
Greg Fitzgerald
23c2e55cbf
Use BlockCommitmentCache for RPC slots, take 2 ( #11137 )
...
* Use BlockCommitmentCache for RPC slots (#11103 )
* Add BankForks::highest_descendant(slot)
* Update debug messages
* Update core/src/rpc.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* cargo fmt
* Remove highest_descendant
* Fix test
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Fix crossed-in-flight compilation error
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-07-20 23:03:40 +00:00
Michael Vines
d19cd3a18a
Revert "Use BlockCommitmentCache for RPC slots ( #11103 )" ( #11122 )
...
This reverts commit 815b0f31b4
.
2020-07-18 16:39:12 -07:00
Greg Fitzgerald
815b0f31b4
Use BlockCommitmentCache for RPC slots ( #11103 )
...
* Add BankForks::highest_descendant(slot)
* Update debug messages
* Update core/src/rpc.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* cargo fmt
* Remove highest_descendant
* Fix test
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-07-17 16:22:27 -06:00
Tyera Eulberg
a255b0fc86
Rename CacheSlotInfo to CommitmentSlots ( #11111 )
2020-07-17 17:54:49 +00:00
Tyera Eulberg
fdff681bcc
Simplify BlockCommitmentCache slot info ( #11106 )
...
* Refactor BlockCommitmentCache, store a CacheSlotInfo
* Comma
2020-07-17 09:24:51 -06:00
Greg Fitzgerald
145906123a
Simplify use of SendTransactionService ( #10999 )
...
* Send transaction upon recv
This will allow us to move the channel to the public interface
* Use a channel, not a method, to communicate
* Pipeline the services
* Ignore unused return values
* Fix clippy warning
2020-07-11 01:14:41 +00:00
Michael Vines
25ca99cdcf
largest -> highest
2020-07-10 12:57:32 -07:00
Michael Vines
aef6bf272e
getConfirmedBlocks now has an upper limit on slot range
2020-07-10 12:18:31 -07:00
Greg Fitzgerald
16eeea4f82
Move SendTransactionService to solana_runtime ( #10972 )
2020-07-09 18:28:26 +00:00
Greg Fitzgerald
17a8cc862b
Remove core dependencies from SendTransactionService ( #10965 )
...
* Remove core dependencies from SendTransactionService
* Fix clippy warnings
2020-07-08 19:13:42 -06:00
Greg Fitzgerald
ebadbce920
Drop bank from BlockCommitmentCache ( #10959 )
...
* Remove bank reference from BlockCommitmentCache
* Don't use a Bank to create BlockCommitmentCache
* Rename recent_slot to slot
2020-07-09 00:50:13 +00:00
dependabot-preview[bot]
841ecfd927
chore(deps): bump bincode from 1.2.1 to 1.3.1 ( #10867 )
...
* chore(deps): bump bincode from 1.2.1 to 1.3.1
Bumps [bincode](https://github.com/servo/bincode ) from 1.2.1 to 1.3.1.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
* Switch from deprecated method
* Add options to maintain behavior with bincode::options()
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-07-09 00:08:05 +00:00
Tyera Eulberg
1a6bbd2867
Limited Deserialize isn't limiting anything ( #10952 )
...
* Add failing test
* Use deserialize_from to enable limit
2020-07-08 15:54:42 -06:00
Greg Fitzgerald
930162a079
Drop dependency on BlockCommitmentCache bank ( #10946 )
...
* Drop dependency on BlockCommitmentCache bank
* cargo fmt
2020-07-07 20:13:30 -06:00
Greg Fitzgerald
2fdbb97244
Rename largest_confirmed_root to highest_confirmed_root ( #10947 )
2020-07-07 23:59:46 +00:00
Tyera Eulberg
4de0713aa3
Rpc: Add getStakeActivation endpoint ( #10902 )
...
* Add getStakeActivation endpoint
* Add docs
* Update docs/src/apps/jsonrpc-api.md
Co-authored-by: Michael Vines <mvines@gmail.com>
* Rework return type
* Update docs
* Rebase
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-07-06 13:28:40 -06:00
Greg Fitzgerald
2922494b4f
Cleanup rpc ( #10910 )
...
* Remove unreachable error case
* Inline Ok
* Hoist Ok
2020-07-03 17:39:14 -06:00
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
Tyera Eulberg
5d2f488004
Add getLowestNonpurgedBlock rpc; use blockstore api in getConfirmedBlocks ( #9656 )
...
automerge
2020-04-22 13:33:06 -07:00