Commit Graph

723 Commits

Author SHA1 Message Date
losman0s 0e9e67b65d Add complete account dump to file
This commit introduces the ability to dump the complete content of an
account to a JSON file (compact or not depending on the provided format
option).

Example:

```sh
solana account -u m \
  --output json-compact \
  --output-file SRM_token.json \
  SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt
```

Note: Behavior remains untouched if format option `--output` is not
provided (only account data gets written to file).
2021-12-15 11:05:02 -08:00
Tyera Eulberg dcd2854829
Add json support for feature sets; also print output after feature list (#21905)
* Add json support for feature sets; also print output after feature list

* Move stringifying into Display implementation
2021-12-15 05:11:08 +00:00
Tyera Eulberg bed1b143a5
Restore ALL behavior; add enum variant, comments, and help text to make behavior clearer (#21854) 2021-12-13 19:00:29 -07:00
Justin Starry 1149c1880d
cli: Order displayed feature list by status (#21810) 2021-12-13 07:42:57 -05:00
Tyera Eulberg 873fe81bc0
Add offline and fee-payer utilities to CLI vote module (#21579)
* create-vote-account: add offline, nonce, fee_payer capabilities

* vote-authorize: add offline, nonce, fee-payer

* vote-update-things: add offline, nonce, fee-payer

* withdraw-vote: add offline, nonce, fee-payer

* close-vote-acct: add fee-payer

* Allow WithdrawVoteAccount to empty account, since offline operations cannot perform account state queries as in CloseVoteAccount

* Fix lint

* Update offline-signing docs

* Add some parse unit tests

* Add offline integration test
2021-12-06 15:54:50 -07: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
Alexander Meißner 015250f96c
Feature gates for rbpf v0.2.16 (#21590)
- Adds feature reject_section_virtual_address_file_offset_mismatch.
- Adds feature start_verify_shift32_imm.
- Enables enable_symbol_and_section_labels only in the rbpf-cli.
2021-12-03 15:45:25 +01:00
Alexander Meißner bfdb775ffc
Unifies ThisInvokeContext and dyn trait InvokeContext. (#21563) 2021-12-02 18:47:16 +01:00
Trent Nelson 04c0f124c4 cli: always print feature version info with status query 2021-12-01 20:07:20 -07:00
Michael Vines e922c2da9d Update to Rust 1.56.1 2021-11-30 23:28:07 -08:00
Alexander Meißner c9aa7ed5ca
Bumps solana_rbpf to v0.2.16 (#21492) 2021-11-30 16:26:36 +01:00
DimAn 09799590ac
fix checks in process_vote_authorize (#21465) 2021-11-29 09:46:29 -06:00
Michael 755221bac4
Adjust "solana rent" sub command to clarify automatic inclusion of account overhead (#21383)
* Adjust CLI rent command description and help to clarify account overhead already included

* Adjust rent sub command about message

* Adjust CLI message

* Adjust CLI rent command description and help to clarify account overhead already included

* Adjust rent sub command about message
2021-11-24 09:53:05 -07:00
Andrei Lebedev 3c7cb2522c
complete_partial_program_init: remove redundant conditional (#20895) 2021-11-11 15:43:35 -08:00
Alexander Meißner 7200c5106e
Replaces MockInvokeContext by ThisInvokeContext in tests (#20881)
* Replaces MockInvokeContext by ThisInvokeContext in BpfLoader, SystemInstructionProcessor, CLIs, ConfigProcessor, StakeProcessor and VoteProcessor.

* Finally, removes MockInvokeContext, MockComputeMeter and MockLogger.

* Adjusts assert_instruction_count test.

* Moves ThisInvokeContext to the program-runtime crate.
2021-11-04 21:47:32 +01:00
Jack May bced07a099
Update fee api to use blockhash (#21054) 2021-10-29 13:52:59 -07:00
Tyera Eulberg 0b8fcf0808
Check whether vote-authorize-voter-checked new vote authority is_interactive (#21051)
* Check interactive signer for vote-authorize-voter-checked

* Recommend checked vote reauthorization
2021-10-28 20:48:16 +00: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 af405f0ed7
Hide deploy from cli subcommands (#20901) 2021-10-25 09:53:21 -07:00
Thomas Sauvajon 91de3013dd
Test some validator_info error paths (#20635)
* Test some validator_info error paths

* Fix a linting issue

* Improve test robustness by removing magic numbers
2021-10-25 09:59:42 -06:00
Trent Nelson d98c8b861c cli: improve feature status arithmatic readability 2021-10-22 23:45:33 -06:00
Trent Nelson 30d277b9fd cli: sort feature status output 2021-10-22 23:45:33 -06:00
Trent Nelson 152da44b62 cli: add software version(s) to feature status 2021-10-22 23:45:33 -06:00
Trent Nelson b9eb6242f5 cli: struct the tuples 2021-10-22 23:45:33 -06:00
Jack May bfbbc53dac
Divorce the runtime from FeeCalculator (#20737) 2021-10-22 14:32:40 -07:00
Trent Nelson 5794bba65c cli: account for rpc nodes when considering feature set adoption 2021-10-18 22:17:37 -06:00
Kirill Fomichev e9a427b9c8
Rpc: filters performance improvement (#20185)
* Add Base58,Base64,Bytes to MemcmpEncodedBytes

* Rpc: decode memcmp before filtering accounts

* Add deprecated attribute

* Add Memcmp::bytes

* Fix clippy for deprecated

* Another clippy fix

* merge RpcFilterError::DataTooLarge

* add deprecation for Base58DataTooLarge

* change filter data size limit

* strict data size len for base58

* add magic numbers

* fix tests
2021-10-14 12:43:27 -06:00
Jack May da45be366a
Remove blockhash from fee calculation (#20641) 2021-10-13 13:10:58 -07:00
Alexander Meißner f30f3bddbb
Refactor: Remove program_id from process_instruction() (#20540)
* Replaces usage of program_id parameter by invoke_context.get_caller()?.

* Removes "pubkey: &Pubkey" parameter from "process_instruction()".
2021-10-10 22:29:18 +02:00
Michael Vines 7027d56064 Resolve nightly-2021-10-05 clippy complaints 2021-10-06 10:37:58 -07:00
Justin Starry 0ddb34a0b4
Add struct and convenience methods to track stake activation status (#20392)
* Add struct and convenience methods to track stake activation status

* fix nits

* rename
2021-10-04 18:59:11 -04:00
Jack May de8331eeaf
Deploy error is buffer is too small (#20358)
* Deploy error is buffer is too small

* missing file
2021-10-01 02:47:26 +00:00
Justin Starry 53a810dbad
cli: Stop topping up buffer balance (#20181) 2021-09-29 12:27:18 -04:00
Tyera Eulberg 15144fc923
Cli: check current authorities before attempting to change them (#19853)
* Stake-authorize: check account current authority

* Stake-set-lockup: check account current custodian

* Make helper fn pub(crate)

* Vote-authorize: check account current authority
2021-09-15 13:59:05 -06:00
Drew Taylor 2a29072019
Add `solana-close-vote-account` to CLI (#19756) 2021-09-13 08:13:59 -07:00
Justin Starry 24fd47a32d
Speed up program deploys by writing larger chunks (#19654) 2021-09-07 10:20:17 -07:00
Michael Vines b44ff347e2 Surface write transaction failures during program deployment 2021-09-04 21:04:47 -07:00
Michael Vines 787c62fb15 Generalize send_and_confirm_transactions_with_spinner() 2021-09-04 21:04:47 -07:00
Bryan Ischo e288459cf2 Removed the --authorized-withdrawer argument from create-vote-account
The parameter is now a required third argument.  This is because authorized
withdrawer should never be the same as vote account keypair or validator
identity keypair for security reasons.

Added a --allow-unsafe-authorized-withdrawer to override this restriction if
necessary.
2021-09-03 16:45:06 -07:00
Tyera Eulberg 7c7640b462
Fix typos (#19448) 2021-08-26 13:05:05 -06:00
Jack May 57bbbb83a4
cli: show upgradeable program accounts (#19431) 2021-08-25 17:03:55 -07:00
Jack May a89f180145
Allow closing upgradeable program accounts (#19319) 2021-08-24 10:05:54 -07:00
Jon Cinque 73aa004c59
stake: Remove v2 program references (#19308)
* stake: Remove v2 program references

* Remove stake v2 feature, along with stake rewrite
2021-08-20 01:08:44 -04:00
Jack May 0b50bb2b20
Deprecate FeeCalculator returning APIs (#19120) 2021-08-13 09:08:20 -07:00
Tyera Eulberg 5970083b4d
Use last_valid_block_height in services and client apps (#19163)
* Add deprecated tag to Bank::get_blockhash_last_valid_slot

* Update SendTransactionService to use last_valid_block_height

* Update solana-tokens to use last_valid_block_height

* Remove dangling file

* Update solana program to use last_valid_block_height

* Update Banks crates to use last_valid_block_height
2021-08-11 01:04:00 -06:00
Alexander Meißner 0a63f65c03
Bumps solana_rbpf to v0.2.14 (#18869)
* Bumps solana_rbpf to v0.2.14

* Feature gate for verify_mul64_imm_nonzero as discussed in #17520.
2021-08-04 09:50:28 +02:00
Trent Nelson 21bc43ed58
nonce: Unify `NonceError` with `SystemError` 2021-07-30 14:47:14 -06:00
NearlyAlwaysThere 46fdf8a4d2
Tiny typo fix (#18978) 2021-07-29 14:07:10 -06:00
Tyera Eulberg 662ccfa558
Cli: app and wallet command reorg (#18955)
* Clean up wallet commands

* Move global args
2021-07-29 00:19:34 -06:00
theonekeyg 9d0a937a05
Auto-generate shell completions for solana-cli (issue #8879 and #14005) (#18931)
* Auto-generate shell completions for solana-cli (issue #8879 and #14005)

Implement `completion` SubCommand for solana-cli, which outputs
completion script to stdout and exits the process. The script generation
handled completely by clap.

In order to implement the generation, one minor design change was
necessary regarding the creation of clap `App`.

Previously: One part of App initialization was in the `app` function,
and some other arguments and subcommands were added later directly in
the `main` function.

Now: The whole construction of App was moved to `get_clap_app` function.

P.S. I wasn't sure if constructing App separately had visual importance,
so both constructing parts are still separate in `base_clap_app` and
`final_clap_app` functions. But they sure could be in one single
function.

* Dereplicode match expr, fix clippy warning.

* Move clap App construction into separate module

Also join two parts of the construction into a single function

* Fix tests

* Apply rustfmt lints
2021-07-28 09:43:32 -06:00
Tyera Eulberg 467c18e0d1
Add cli-output helpers (#18933)
* Add OutputFormat helper to reduce copy-pasta

* Add CliSignOnlyData constructor
2021-07-28 04:21:23 +00:00
Tyera Eulberg aeb30fa873
Cli: Support checked stake and vote operations (#18449)
* Refactor VoteAuthorize to use SignerIndex and support vote-authorize-*-checked

* Add checked bool const and use in command parsing

* Add create-stake-account-checked handling

* Add stake-set-lockup-checked handling

* Remove unnecessary mut

* Add stake-authorized-checked handling
2021-07-15 16:45:03 -06:00
Trent Nelson a4a24b6531 cli: allow returning more `solana validators` 2021-07-14 08:41:52 +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
Michael Vines 4098af3b5b Record vote account commission with voting/staking rewards and surface in RPC 2021-07-12 15:09:44 -07:00
Tyera Eulberg f39ffa69f6
Remove dead solana airdrop parameters (#18520) 2021-07-08 18:18:44 +00:00
Alexander Meißner 8d5c04e257
Bump solana_rbpf to version 0.2.13 (#18068)
* Moves syscall_registry into the rbpf Executable constructor.

* Adds the reject_unresolved_syscalls flag which is only set when deploying programs via the CLI.
2021-07-07 09:50:11 +02:00
Tyera Eulberg 1dd730d685
Cli: expose `--with-memo` to nonce and stake commands (#18404)
* Fmt memo_arg

* Add --with-memo to nonce and stake cli commands
2021-07-03 11:46:52 -06:00
Michael Vines 52290dbd35 `solana validators` output now includes average skip rate 2021-06-30 22:08:26 +00: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
Tyera Eulberg f2b0d562b0
Cli epoch-info: generate epoch-completed time from block times (#18258)
* Generate epoch-completed time from block times

* Add annotation when block times not available
2021-06-28 15:32:28 -06:00
Alexander Meißner 789f33e8db chore: cargo fmt 2021-06-18 10:42:46 -07:00
Alexander Meißner 6514096a67 chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
Jon Cinque 1b1d34da59
Refactor stake program into solana_program (#17906)
* Move stake state / instructions into solana_program

* Update account-decoder

* Update cli and runtime

* Update all other parts

* Commit Cargo.lock changes in programs/bpf

* Update cli stake instruction import

* Allow integer arithmetic

* Update ABI digest

* Bump rust mem instruction count

* Remove useless structs

* Move stake::id() -> stake::program::id()

* Re-export from solana_sdk and mark deprecated

* Address feedback

* Run cargo fmt
2021-06-15 18:04:00 +02:00
Jack May 39654d3fa5
Improve program deployment error message (#17717) 2021-06-03 15:52:36 -07:00
Tyera Eulberg b7f98ea18a
Cli: Decode known program custom errors returned from simulation (#17652) 2021-06-01 23:22:01 -06: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
Trent Nelson 06a926f2f4 Improve missing default filepath signer error messaging 2021-05-28 20:10:36 -06:00
Trent Nelson ca8c1c6c42 Revert "Improve missing default signer error messaging (#17486)"
This reverts commit 6d40d0d141.
2021-05-28 20:10:36 -06:00
Jack May 89ee8778bc
Unify BPF verifiers (#17585) 2021-05-28 14:24:02 -07:00
Michael Vines cbce440af4 simulateTransaction can now return accounts modified by the simulation 2021-05-26 14:20:23 -07: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
Jack May 6d40d0d141
Improve missing default signer error messaging (#17486) 2021-05-25 18:31:27 -07: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
Greg Fitzgerald 3805874c86
Add --no-wait option to CLI's stake-authorize command (#17244) 2021-05-17 16:54:33 +00:00
Trent Nelson cb5e000615 CLI: Print gossip nodes with `cli-output` crate 2021-05-06 07:49:47 +00:00
Tyera Eulberg 46d2755205
Correct days/year (#17024) 2021-05-04 10:00:30 +00:00
Michael Vines d640ac143b Add skip rate to `solana validators` 2021-04-28 22:43:06 -07:00
Michael Vines b66a68975b block-production subcommand now uses SlotHistory sysvar when possible 2021-04-26 21:00:16 -07:00
Michael Vines cf779c63c5 Add ALL support to withdraw-stake subcommand 2021-04-26 11:03:37 -07:00
Justin Starry 75b8434b76
Add TPU client for sending txs to the current leader tpu port (#16736)
* Add TPU client for sending txs to the current leader tpu port

* Update tpu_client.rs
2021-04-23 09:35:12 +08:00
Trent Nelson 63957f0677 CLI: Make `pay` subcommand a proper alias of `transfer` 2021-04-21 21:21:06 +00:00
Michael Vines ba9a502e7e Add --seed support to delegate-stake and withdraw-stake commands 2021-04-21 20:25:01 +00:00
Trent Nelson f91de6a84d CLI: Limit `stake-history` output by default 2021-04-20 10:15:25 +00:00
Michael Vines f14cf3ed1a Add --number argument 2021-04-19 16:31:23 -07:00
Michael Vines b66faf7e80 Add --sort argument to `solana validators` 2021-04-19 16:31:23 -07:00
Michael Vines a911ae00ba clippy 2021-04-18 20:55:02 -07:00
Trent Nelson 09dcc9ea04 clap-utils: Rename KeypairUrl to SignerSource 2021-04-16 13:56:12 -06: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
François Garillot b08cff9e77
Simplify some pattern-matches (#16402)
When those match an exact combinator on Option / Result.

Tool-aided by [comby-rust](https://github.com/huitseeker/comby-rust).
2021-04-08 12:40:37 -06:00
Tyera Eulberg bb9d2fd07a
Cli: use get_inflation_rewards and limit epochs queried (#16408)
* Fix block-with-limit when not finalized blocks found

* Enable confirmed commitment in getInflationReward

* Use get_inflation_rewards in cli

* Line up rewards output

* Add range validator

* Change cli epoch arg -> num epochs

* Add solana inflation rewards subcommand

* Consolidate epoch rewards meta
2021-04-08 10:57:33 -06:00
Trent Nelson c5c3ae0203
CLI: Fix `rent` panic (#16417)
* CLI: Fix `rent` panic on non-numeric input (+monikers)

* Update cli/src/cluster_query.rs

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>

* Update cli/src/cluster_query.rs

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>

* Update cli/src/cluster_query.rs

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-04-07 09:57:12 -06:00
Tyera Eulberg 03d3ae1cb9
Faucet: repurpose cap and slice args to apply to single IPs (#16381)
* Single use stmt

* Log request IP

* Switch cap and slice to apply per IP

* Use SOL in logs, error msgs

* Use thiserror instead of overloading io::Error

* Return memo transaction for requests that exceed per-request-cap

* Handle faucet memos in cli

* Add some docs, esp about memo transaction

* Use SOL symbol & standardize memo

Co-authored-by: Michael Vines <mvines@gmail.com>

* Differentiate faucet tx-length errors

* Populate signature in cli airdrop memo case

Co-authored-by: Michael Vines <mvines@gmail.com>
2021-04-06 07:01:05 +00:00
bji 364af3a3e0
issue #10831: added --with-memo option to all cli commands that submit (#16291)
* issue #10831: added --with-memo option to all cli commands that submit
transactions.  Also, improve the block command to show UTF-8 string instead
of integer values for memo program data.

* Fixed tests and changed some syntax according to feedback.

* Use spl_memo id (all versions where applicable) instead of hardcoding id.

* Update Cargo.toml in programs/bpf.

* Update formatting via cargo fmt.

* Update to use spl_memo version 3.0.1, which simplifies package imports
2021-04-05 20:53:50 +00:00
Jack May aa45e81b3e
nit: fix variable names (#16283) 2021-03-31 23:18:29 -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
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
Michael Vines 6271665ba6 Avoid RPC in `--sign-only` mode
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
2021-03-23 02:31:39 +00:00
Michael Vines 3dff5c9dee transfer now requires --allow-unfunded-recipient if the recipient doesn't exist 2021-03-23 02:31:39 +00:00
Jack May 067b390194
cli cleanup (#15990) 2021-03-18 18:29:42 +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 ba33c9e18e
Avoid panic when validator doesn't have performance samples (#15976) 2021-03-18 02:00:02 -06:00
Jack May 7f500d610c
Add Close instrruction and tooling to upgradeable loader (#15887) 2021-03-17 21:39:29 -07:00
Trent Nelson 672e9c640f CLI: Support dumping the TX message in sign-only mode 2021-03-16 19:20:54 -06: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
Ryo Onodera 74aa32175b
Show flags for accounts in tx by solana confirm (#15804)
* Show flags for accounts in tx by solana confirm

* Address review comments

* Improve comment a bit

* Apply suggestions from code review

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>

* Further apply review suggestions

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-03-16 14:44:48 +09:00
Jack May e1ceb430e3
cli: improve deploy error reporting (#15806) 2021-03-11 13:44:21 -08:00
DimAn c078e01fa9
add catchup average speed and remaining time (#15608)
* add catchup average speed and remaining time

* code style and improve average time remaining calculation

* code style

* remove instant time remaining

* negative speed perceives better

* Some little improves and comments of catchup avg and eta

* format code of catchup avg and eta

* fix copy-paste error
2021-03-11 23:59:33 +09:00
Jeff Washington (jwash) 8a3135d17b
Account->AccountSharedData (#15691) 2021-03-09 15:06:07 -06:00
Jack May 2177e0aff8
cli: add program show for non-upgradeable programs (#15707) 2021-03-04 19:42:15 +00:00
Jack May b20bf8ebb0 improve cli insufficient funds error messages 2021-03-02 20:07:34 -08:00
Jack May d73af9c1dd
cli: don't overallocate upgradeable buffer accounts (#15603) 2021-03-02 00:45:53 -08:00
Jack May fbb1012584
cli: dump non-upgradeable programs (#15598) 2021-03-01 18:11:45 -08:00
Trent Nelson 21e08b5b2c CLI: Support querying fees by blockhash 2021-02-27 12:45:14 -07:00
Trent Nelson ebd56f7ff4 cli-output: Minor refactor of CliFees 2021-02-27 12:45:14 -07:00
Tyera Eulberg d521dfe63c
Implement OutputFormat for confirm in Cli and ledger-tool bigtable (#15528)
* Add CliTransaction struct

* Impl DisplayFormat for decode-transaction

* Add block-time to transaction println, writeln

* Impl DisplayFormat for confirm

* Use DisplayFormat in ledger-tool bigtable confirm
2021-02-25 14:15:52 -07:00
Tyera Eulberg d5f235d997
Implement OutputFormat for block in Cli and ledger-tool bigtable (#15524)
* Impl DisplayFormat for solana block

* Use DisplayFormat in ledger-tool bigtable block
2021-02-24 16:14:34 -07:00
Michael Vines 879370a020 Improve help for split-stake-account 2021-02-22 12:49:23 -08:00
Michael Vines f7c0b69fd4 Fix solana feature status stake % overflow 2021-02-22 11:49:27 -08:00
Michael Vines 5df36aec7d Pacify clippy 2021-02-19 20:08:41 -08:00
Trent Nelson 700685c223 CLI: Add hidden support for `SystemInstruction::TransferWithSeed` 2021-02-19 23:20:40 +00:00
Trent Nelson 16e0a4b412 CLI: Make derived address seed.len() check a clap validator 2021-02-19 23:20:40 +00:00
Trent Nelson 84e7ba0b3f CLI: Factor out ProgramId moniker resolution 2021-02-19 23:20:40 +00:00
Jack May 4648439f5c
cli: improve deploy resume interface (#15418)
* cli: improve deploy resume interface

* add docs
2021-02-19 11:06:05 -08:00
Tyera Eulberg 4e84869c8e
Send program deploy txs to up to 2 leaders (#15421) 2021-02-18 20:14:48 -07:00
Jack May 02432a548f
Cleanup old features (#15391) 2021-02-18 09:56:11 -08:00
Trent Nelson 7f7370c306 Re-allow clippy::integer_arithmetic at crate-level 2021-02-17 13:55:08 -07:00
Justin Starry f5c564bc6c
cli: Speed up program deploys (#15347)
* Speed up deploys

* fix test
2021-02-17 09:00:47 +08:00
HowJMay 9c7b3dc1b5 style: Fix the typos 2021-02-13 12:34:21 -07:00
Jack May 88f22c360b
Sortable feature status list (#15150) 2021-02-08 12:08:29 -08:00
Jack May 210514b136
Add cli deploy tests (#15116) 2021-02-05 09:57:44 -08:00
Jack May a52a241852
nit: cleanup feature status display (#15113)
* nit: cleanup feature status display

* nudge
2021-02-04 20:23:01 -08:00
Jack May d0118a5c42
Add program deployment docs (#15075) 2021-02-04 01:30:50 -08:00
Michael Vines 971c222cf7 `transaction-history -v` now shows the transaction timestamp if available 2021-02-03 08:17:58 -08:00
Tyera Eulberg 38e2fe8997
Cli: some moniker follow-up (#14981)
* Enable monikers in config set

* Fixup websocket compute
2021-02-03 00:33:02 -07:00
Jack May 9c6d899efb
cli: add command to dump the upgradeable program to a file (#15029) 2021-02-02 22:33:03 -08:00
Jack May a1b9e00c14
cli: Don't overallocate upgradeable program if --final specified (#15011) 2021-02-02 17:20:42 -08:00
Trent Nelson 3abb39c04f CLI: Surface account query errors 2021-02-02 17:25:11 -07:00
Jack May 6cf6ef3a32
cli: add query command to solana program (#15017) 2021-02-02 15:36:02 -08:00
Jack May 7831428e82
Allow passing buffer by keypair to cli program deploy (#15010) 2021-02-02 13:35:37 -08:00
Trent Nelson fddbfe1052 CLI: Modernize `decode-transaction` about message 2021-02-02 18:44:22 +00:00
Trent Nelson d547585041 cli: Add sigverify status to `decode-transaction` output 2021-02-02 18:44:22 +00:00
Trent Nelson a2aea0ca33 cli-output: Add option sigverify status to `println_transaction()` output 2021-02-02 18:44:22 +00:00
Tyera Eulberg 52f0de3207
Impl OutputFormat for solana program (#14911) 2021-02-01 10:39:37 -07:00
Tyera Eulberg af04a265dd
Manually camelCase solana program json (#14907) (#14936) 2021-01-29 22:52:26 +00:00
Jack May 07cef5a557
Buffer authority must match upgrade authority for deploys and upgrades (#14923) 2021-01-29 12:43:42 -08:00
Justin Starry 996a27d475
cli: Improve reliability of program deploys (#14902)
* cli: Improve reliability of program deploys

* chore: fix clippy
2021-01-29 15:15:22 +08:00
Michael Vines 119e2c75dd cli now supports a custodian for stake authorize operations 2021-01-26 11:48:28 -08:00
Tyera Eulberg ffa5c7dcc8
Deprecate commitment variants (#14797)
* Deprecate commitment variants

* Add new CommitmentConfig builders

* Add helpers to avoid allowing deprecated variants

* Remove deprecated transaction-status code

* Include new commitment variants in runtime commitment; allow deprecated as long as old variants persist

* Remove deprecated banks code

* Remove deprecated variants in core; allow deprecated in rpc/rpc-subscriptions for now

* Heavier hand with rpc/rpc-subscription commitment

* Remove deprecated variants from local-cluster

* Remove deprecated variants from various tools

* Remove deprecated variants from validator

* Update docs

* Remove deprecated client code

* Add new variants to cli; remove deprecated variants as possible

* Don't send new commitment variants to old clusters

* Retain deprecated method in test_validator_saves_tower

* Fix clippy matches! suggestion for BPF solana-sdk legacy compile test

* Refactor node version check to handle commitment variants and transaction encoding

* Hide deprecated variants from cli help

* Add cli App comments
2021-01-26 19:23:07 +00:00
Trent Nelson a44392048d CLI: Reinstate logging, disabled by default 2021-01-23 02:41:40 +00:00
Michael Vines c3548f790c Add ability to force feature activation without code modification 2021-01-22 21:26:00 +00:00
Trent Nelson e9c98f2416 CLI: Don't scare the users 2021-01-22 11:16:27 -07:00
Trent Nelson 90e1778cd2 CLI: Allow missing pubkey in `--verbose` config output 2021-01-22 11:16:27 -07:00
Trent Nelson 8f8d593457 CLI: Strive for at least one signer 2021-01-22 11:16:27 -07:00
Trent Nelson 12410541a4 CLI: Add `calculate-rent` subcommand 2021-01-21 15:45:05 -07:00
Tyera Eulberg 0e87572eb0
Return confirmation-status (#14709) 2021-01-20 18:32:48 -07:00
Tyera Eulberg c64d4f7693
Default to highest finalized block if no slot provided (#14701) 2021-01-20 13:51:57 -07:00
Tyera Eulberg a7086a0f83
Cli: promote commitment to a global arg + config.yml (#14684)
* Make commitment a global arg

* Add commitment to solana/cli/config.yml

* Fixup a couple Display/Verbose bugs
2021-01-20 09:48:10 -07:00
Tyera Eulberg 4964b0fe61
Cli: default to single gossip (#14673)
* Init cli RpcClient with chosen commitment; default to single_gossip

* Fill in missing client methods

* Cli tests: make RpcClient commitment specific

* Simply rpc_client calls, using configured commitment

* Check validator vote account with single-gossip commitment
2021-01-19 15:33:03 -07:00
Jack May 97f499ce12
Fix cli error message (#14619) 2021-01-15 15:53:30 -08:00
Tyera Eulberg 9a89689ad3
Use optimistic confirmation in getSignatureStatuses, and various downstream client methods (#14430)
* Add optimistically_confirmed field to TransactionStatus

* Update docs

* Convert new field to confirmation_status

* Update docs to confirmationStatus

* Update variants

* Update docs

* Just Confirmed
2021-01-15 16:05:05 +00:00
Tyera Eulberg e4cf845974
Cli: Implement OutputFormat for some missing subcommands (#14518)
* Implement OutputFormat for solana leader-schedule

* Implement OutputFormat for solana inflation
2021-01-10 00:02:22 +00:00
Jack May 638f225dc4
Add cli command to query upgradeable account authorities (#14491) 2021-01-08 14:43:36 -08:00
Jack May 58487c6360
Add buffer authority to upgradeable loader (#14482) 2021-01-08 09:37:57 -08:00
Jeff Washington (jwash) 938d482135
consolidate constants related to time for future refactoring (#14440) 2021-01-07 09:49:24 -06:00
Ryo Onodera 54a5876c48
Introduce rpc url monikers for cli (#14409)
* Introduce rpc url monikers for cli

* Use https:// and support initials as well
2021-01-05 20:00:55 +09:00
Ryo Onodera aa4da339ff
Improve solana catchup (#14313)
* Improve solana catchup

* Overidable port, retry, args error clean up

* print cleanup

* Reduce diff

* Tweak warns a bit
2021-01-05 10:10:27 +09:00
Michael Vines 2724f37d0e Use max commitment when fetching epoch info for block production 2021-01-04 04:33:39 +00:00
Michael Vines c63e14dd0e Use singleGossip for program deployment 2021-01-02 07:47:51 -08:00
Trent Nelson bd761e2a52 CLI: Support displaying past leader schedules 2020-12-28 20:03:48 +00:00
Jack May 3316e7166c
Rework upgradeable loader cli (#14209) 2020-12-21 13:02:53 -08:00
sakridge da7d1e2302
Improved Transaction Forwarding (#13944)
* Forwarding

* Dedupe leaders

* Use consistent commitment for last_valid_slot in rpc send_transaction

* Plumb rpc send_transaction options into solana-validator

* Extend num slots banking-stage holds forwarded txs

Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-12-17 15:37:22 -07:00
Ryo Onodera bebfa6e93c Correctly show reward percent changes 2020-12-16 08:51:41 -08:00
Michael Vines db4ac17259 Switch `solana deploy` commitment default from "max" to "singleGossip" 2020-12-15 19:18:10 -08:00
Jack May 9e90394583
Upgradeable loader (#13689) 2020-12-14 15:35:10 -08:00
Michael Vines 7143aaa89b Clippy 2020-12-14 08:03:29 -08:00
Michael Vines 52c2cbd630 stake-account command no longer errors when time goes backwards over an epoch 2020-12-12 03:31:09 +00:00
Ryo Onodera 26df122386
solana ping: add --blockhash and --print-timestamp (#13980)
* solana ping: add --blockhash and --print-timestamp

* fix typo in hash...
2020-12-07 21:10:50 +09:00
Tyera Eulberg a877f347f4
Cli: output stake account credits-observed for verbose/json (#13923)
* Add credits_observed to verbose and json CliStakeStake prints

* Review comments
2020-12-02 22:02:52 +00:00
Michael Vines 4ef2da0ff0 Add `solana logs` command 2020-11-25 11:44:41 -08:00
Alexander Meißner c833ede4af
Rbpf v0.2.1 (#13732)
* Refactoring to match rbpf-v0.2.1 and add JIT compilation caching.

* Removes obsolete bpf-trace.py which has been replaced by the rbpf CLI tool.
2020-11-24 18:00:19 +01:00
Jack May 64a3cf03e2
Remove program cap from CLI checks (#13617) 2020-11-16 21:11:55 +00:00
sakridge 598e5f58d5
Add wait for max stake command (#13532) 2020-11-12 13:48:34 -08:00
Ryo Onodera 89b474e192
Fix slow/stuck unstaking due to toggling in epoch (#13501)
* Fix slow/stuck unstaking due to toggling in epoch

* nits

* nits

* Add stake_program_v2 feature status check to cli

Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-11-11 14:11:57 -07:00
Ryo Onodera c5b9831bfb
Don't abort for missing epoch rewards; intead display warn (#13457) 2020-11-07 09:32:29 +00:00
Ryo Onodera d08c3232e2
Show more detailed vote history in shorter format (#13374)
* Show more detailed vote history in shorter format

* Improve wording

* fmt
2020-11-07 00:07:40 +09:00
Alexander Meißner 4999fe298b
Rbpf v0.2.0 (#13365)
* Updates rbpf to v0.2.0,
which unifies the interfaces of the interpreter and the JIT.
However, the JIT is not enabled yet.
2020-11-04 18:46:26 +01:00
Michael Vines 6d9ca0ae15 Surface transaction logs in rpc client 2020-11-03 17:03:28 -08:00
Jack May 04c5e6cc48
more informative feature error message (#13373) 2020-11-04 00:08:08 +00:00
Michael Vines 4b65e32f22 Move Feature struct to solana-program 2020-10-30 17:57:51 -07:00
Michael Vines da361afbb9 Revert "Updates rbpf to v0.2.0, (#12951)"
This reverts commit 6606590b81.
2020-10-29 21:45:24 -07:00
Michael Vines df8dab9d2b Native/builtin programs now receive an InvokeContext 2020-10-29 21:45:24 -07:00
Alexander Meißner 6606590b81
Updates rbpf to v0.2.0, (#12951)
which unifies the interfaces of the interpreter and the JIT.
However, the JIT is not enabled yet.
2020-10-29 11:34:52 -07:00
Jack May c458d4b213
move Account to solana-sdk (#13198) 2020-10-28 22:01:07 -07:00
Trent Nelson a82971879f CLI: Surface deploy transaction errors 2020-10-26 21:16:22 +00:00
Tyera Eulberg 16944e218f
Cli: deploy programs via TPU (#13090)
* Deploy: send write transactions to leader tpu

* Less apparent stalling during confirmation

* Add EpochInfo mock

* Only get cluster nodes once

* Send deploy writes to next leader
2020-10-23 10:03:29 -06:00
Tyera Eulberg 4669fa0f98
Add deploy err if program-account balance is too high (#13091)
* Add deploy err if program-account balance is too high

* Review comments

* Add system-program check

* Rename and unhide flag
2020-10-22 22:42:35 -06:00