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
96e5342292
Update deprecated variant in RpcClient doctests ( #21121 )
2021-11-01 20:58:01 -06:00
Jack May
bced07a099
Update fee api to use blockhash ( #21054 )
2021-10-29 13:52:59 -07:00
Jon Cinque
5f7b60576f
tpu-client: Move send_messages_with_spinner
from program ( #20960 )
...
We have too many ways of sending transactions, and too many
reimplementations of the same logic all over the place.
The program deploy logic and stake-o-matic currently make the
most use of the TPU client, so this merges their implementations into
one place to be reused by both. Yay for consolidation!
2021-10-26 22:54:26 +02:00
Jack May
2515f6a04f
Update deprecation versions ( #20959 )
2021-10-26 09:06:41 -07:00
Tyera Eulberg
fbc0919a1f
Bump fee-api check version ( #20831 )
2021-10-20 22:18:50 +00:00
Jack May
da45be366a
Remove blockhash from fee calculation ( #20641 )
2021-10-13 13:10:58 -07:00
Brian Anderson
1417c1456d
Reorder RpcClient method defs for more logical docs. ( #20549 )
...
Methods follow this order:
- Constructors
- send_and_confirm variations
- send variations
- confirm variations
- simulate variations
- queries
2021-10-11 12:12:05 -06:00
Brian Anderson
082d5dc5b2
Add more docs for RpcClient ( #19771 )
...
* Add more docs for RpcClient
* Use custom mocks in rpc_client examples
* Move create_rpc_client_mocks into rpc_client module
Signed-off-by: Brian Anderson <andersrb@gmail.com >
* Update client/src/rpc_client.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* Update RpcClient docs per review feedback
* Consistently link 'commitment level' in RpcClient docs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-09-27 14:59:25 -06:00
Kirill Fomichev
ac79ae6848
Rpc: use rust convenient methods
2021-09-27 11:05:39 -07:00
Michael Vines
21f4606212
Add RpcClient::get_transport_stats()
2021-09-09 20:11:15 -07:00
Michael Vines
ae43ca3bfb
Add RpcClient::get_multiple_accounts_with_config()
2021-09-03 22:41:38 +00:00
Brooks Prumo
38e1f7c4ba
Add backwards compatibility support to get_highest_snapshot_slot() ( #19591 )
...
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-09-02 20:47:35 -05:00
Brooks Prumo
8ac94b2cf4
Add Incremental Snapshot support to RPC ( #19559 )
...
#### Problem
There's no way to get incremental snapshot information from RPC.
#### Summary of Changes
- Add new RPC method, `getHighestSnapshotSlot` that returns a `SnapshotSlotInfo`, which contains both the highest full snapshot slot, and the highest incremental snapshot slot _based on_ the full snapshot.
- Deprecate old RPC method, `getSnapshotSlot`
- Update API docs
Fixes #19579
2021-09-02 15:25:42 -05:00
Jack May
f81bfc8462
Limit message encoding to base-64 ( #19468 )
2021-08-29 19:53:37 -07:00
Brian Anderson
628ad58912
Document more RpcClient methods ( #19236 )
...
* Document more RpcClient methods
* Update client/src/rpc_client.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* Update RpcClient docs per feedback
* Address review feedback
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-08-23 18:49:37 -06:00
Tyera Eulberg
cf3fc61821
Add backward compatibility for new RpcClient methods ( #19383 )
2021-08-24 00:09:00 +00:00
Jack May
0b50bb2b20
Deprecate FeeCalculator returning APIs ( #19120 )
2021-08-13 09:08:20 -07:00
Brian Anderson
b67ffab370
Add more API documentation for Rust RpcClient ( #19021 )
...
* Add doc links to Transaction API docs
* Add more RpcClient API docs
* Reflow some rpc_client docs
* Update client/src/rpc_client.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* Update client/src/rpc_client.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* Update client/src/rpc_client.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* Update sdk/src/transaction.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* Update RpcClient docs per review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-08-05 15:03:33 -06:00
Brian Anderson
58f395257b
Fix serialization of parameters in RpcClient::get_block_production_with_config ( #18998 )
...
Params must be an array or null.
2021-07-30 20:20:33 +00:00
Michael Vines
f264511585
RpcClient::send<T> now supports client-defined RPC methods via RpcRequest::Custom
2021-07-24 09:53:47 -07:00
Brian Anderson
5dcfd7ce74
Add some docs for RpcClient and friends ( #18748 )
...
* Add some docs for RpcSender, HttpSender, MockSender
* Support SimulateTransaction in MockSender
* Add docs for RpcClient constructors
* Add some more RpcClient examples
* rustfmt
* Reflow docs in rpc_client and friends
2021-07-20 18:49:32 +00:00
Tyera Eulberg
8ad4ffdee5
Cli: expose last valid block height ( #18620 )
...
* Add Fees struct to client
* Add complete RpcClient::get_fees methods
* Switch cli to last_valid_block_height
2021-07-13 01:41:27 +00:00
hrls
70234dfdf4
refactor(rpc_client): const number of retries for send and confirm transaction ( #18390 )
...
* refactor(rpc_client): simplfy send and confirm transaction flow
* chore: configurable num of retries for send and confirm
2021-07-05 09:14:48 -07:00
Tyera Eulberg
9d4428d3d8
Use timeout to allow RpcClient to retry initial transaction confirmation ( #18311 )
...
* Tidying: relocate function
* Use proper helper method for RpcClient commitment
* Add RpcClientConfig
* Add configurable confirm_transaction_initial_timeout
* Use default 5s timeout for initial tx confirmation
2021-06-30 01:08:45 +00:00
Alexander Meißner
6514096a67
chore: cargo +nightly clippy --fix -Z unstable-options
2021-06-18 10:42:46 -07:00
dependabot[bot]
a43c29e858
Bump indicatif from 0.15.0 to 0.16.2 ( #17628 )
...
* Bump indicatif from 0.15.0 to 0.16.2
Bumps [indicatif](https://github.com/mitsuhiko/indicatif ) from 0.15.0 to 0.16.2.
- [Release notes](https://github.com/mitsuhiko/indicatif/releases )
- [Commits](https://github.com/mitsuhiko/indicatif/compare/0.15.0...0.16.2 )
Signed-off-by: dependabot[bot] <support@github.com >
* [auto-commit] Update all Cargo lock files
* Fix message types
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-06-01 17:38:02 +00:00
Tyera Eulberg
e9bc1c6b07
Add last valid block height to rpc Fees ( #17506 )
...
* Add last_valid_block_height to fees rpc
* Add getBlockHeight rpc
* Update docs
2021-05-26 07:26:19 +00:00
Nikita
d41266e4e9
rpc: add context toggle to getProgramAccounts ( #17399 )
...
* fix(rpc): return context in get_program_accounts
* doc(rpc): document withContext flag
* fix(rpc): fix comment
Co-authored-by: Michael Vines <mvines@gmail.com >
* fix(rpc): fix doc
Co-authored-by: Michael Vines <mvines@gmail.com >
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-05-22 07:12:21 +00:00
Tao Zhu
0781fe1b4f
Upgrade Rust to 1.52.0 ( #17096 )
...
* Upgrade Rust to 1.52.0
update nightly_version to newly pushed docker image
fix clippy lint errors
1.52 comes with grcov 0.8.0, include this version to script
* upgrade to Rust 1.52.1
* disabling Serum from downstream projects until it is upgraded to Rust 1.52.1
2021-05-19 09:31:47 -05:00
Michael Vines
63b97729e6
get_program_accounts_with_config() now correctly defaults to RpcClient's commitment level
2021-05-18 19:57:40 +00:00
Michael Vines
542d88929f
Add getBlockProduction RPC method
2021-04-28 20:02:54 -07:00
Michael Vines
f93565da6f
Compress account data by default
2021-04-27 04:56:56 +00:00
Michael Vines
59fc33635a
Add getVoteAccounts RPC method parameter to restrict results to a single vote account
2021-04-27 04:27:15 +00:00
Michael Vines
c2becbc0a8
solana leader-schedule -um
works again
2021-04-26 16:29:35 -07:00
Michael Vines
6004c0abf5
getLeaderSchedule now supports filtered results based on validator identity
2021-04-21 17:59:26 -07:00
Tyera Eulberg
974e6dd2c1
Deprecate "confirmed" RpcClient methods ( #16520 )
...
* Remove obsolete client methods
* Deprecate GetConfirmed client methods
* Rename Confirmed config structs, with appropriate deprecation
* Fixup client apps
* Map RpcRequest to deprecated when targeting older nodes
2021-04-15 17:00:14 -06:00
Tyera Eulberg
7dfb51c0b4
Cli: move airdrop to rpc requests ( #16557 )
...
* Add recent_blockhash to requestAirdrop
* Move tx confirmation to separate method
* Add RpcClient airdrop methods
* Request cli airdrop via RpcClient
* Pass optional faucet_addr into TestValidator and fix tests
* Update client/src/rpc_client.rs
Co-authored-by: Michael Vines <mvines@gmail.com >
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-04-15 06:25:23 +00:00
Tyera Eulberg
ccb11a939f
Deprecate RpcClient methods, RpcRequest variants ( #16516 )
...
* Deprecate RpcClient methods, RpcRequest variants
* Update cli to getSupply
2021-04-13 14:05:42 -06:00
Josh
e501fa5f0b
Rpc: introduce get_inflation_reward rpc call ( #16278 )
...
* feat: introduce get_inflation_reward rpc call
* fix: style suggestions
* fix: more style changes and match how other rpc functions are defined
* feat: get reward for a single epoch
* feat: default to the most recent epoch
* fix: don't factor out get_confirmed_block
* style: introduce from impl for RpcEncodingConfigWrapper
* style: bring commitment into variable
* feat: support multiple pubkeys for get_inflation_reward
* feat: add get_inflation_reward to rpc client
* feat: return rewards in order
* fix: rename pubkeys to addresses
* docs: introduce jsonrpc docs for get_inflation_reward
* style: early return in map (not sure which is more idiomatic)
* fix: call the rpc client function args addresses as well
* fix: style
* fix: filter out only addresses we care about
* style: make this more idiomatic
* fix: change rpc client epoch to optional and include some docs edits
* feat: filter out rent rewards in get_inflation_reward
* feat: add option epoch config param to get_inflation_reward
* feat: rpc client get_inflation_reward takes epoch instead of config and some filter staking and voting rewards
2021-04-06 18:10:53 -07:00
Michael Vines
a4f0d8636a
RpcClient no longer panics in a tokio multi-threaded runtime
2021-04-05 16:50:03 -07:00
Tyera Eulberg
da27acabcc
Rpc: enable getConfirmedSignaturesForAddress2 to return confirmed (not yet finalized) data ( #16281 )
...
* Update blockstore method to allow return of unfinalized signature
* Support confirmed sigs in getConfirmedSignaturesForAddress2
* Add deprecated comments
* Update docs
* Enable confirmed transaction-history in cli
* Return real confirmation_status; fill in not-yet-finalized block time if possible
2021-04-01 04:35:57 +00:00
Michael Vines
2a1639836a
Add get_max_retransmit_slot/get_max_shred_insert_slot to RpcClient
2021-03-30 23:52:47 +00:00
Tyera Eulberg
60ed8e2892
Rpc: enable getConfirmedBlocks and getConfirmedBlocksWithLimit to return confirmed (not yet finalized) data ( #16161 )
...
* Add commitment config capabilities
* Use rpc limit if no end_slot provided
* Limit to actually finalized blocks
* Support confirmed blocks in getConfirmedBlocks and getConfirmedBlocksWithLimit
* Update docs
* Add client plumbing
* Rename config enum
2021-03-29 12:41:31 -06:00
Michael Vines
16e4ccca13
Switch to a single use
2021-03-26 22:33:12 -07:00
Michael Vines
5791b95b17
Add RpcClient::get_stake_activation()
2021-03-26 20:18:16 -07:00
Tyera Eulberg
433f1ead1c
Rpc: enable getConfirmedBlock and getConfirmedTransaction to return confirmed (not yet finalized) data ( #16142 )
...
* Add Blockstore block and tx apis that allow unrooted responses
* Add TransactionStatusMessage, and send on bank freeze; also refactor TransactionStatusSender
* Track highest slot with tx-status writes complete
* Rename and unpub fn
* Add commitment to GetConfirmed input configs
* Support confirmed blocks in getConfirmedBlock
* Support confirmed txs in getConfirmedTransaction
* Update sigs-for-addr2 comment
* Enable confirmed block in cli
* Enable confirmed transaction in cli
* Review comments
* Rename blockstore method
2021-03-26 16:47:35 -06:00
Justin Starry
e7fd7d46cf
rpc: add getSlotLeaders method ( #16057 )
2021-03-23 17:48:54 +00:00
Tyera Eulberg
aa54c468ea
rpc: Add config options limiting getConfirmedBlock response data ( #15970 )
...
* Add new confirmed block struct
* Add RpcConfirmedBlockConfig options
* Configure block response based on new options
* Add client api, use in cli fetch_epoch_rewards
* Update docs
* Apply review suggestions
2021-03-18 17:58:20 +00:00
Tyera Eulberg
3726358f51
Cli: better estimate of epoch time elapsed/remaining ( #15893 )
...
* Add rpc_client api for getRecentPerformanceSamples
* Prep fn for variable avg slot time
* Use recent-perf-samples to more-accurately estimate epoch completed times
* Spell out average
2021-03-16 08:35:27 +00:00