Commit Graph

723 Commits

Author SHA1 Message Date
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
Justin Starry 8b0242a5d8
Allow nodes to advertise a different rpc address over gossip (#13053)
* Allow nodes to advertise a different rpc address over gossip

* Feedback
2020-10-22 03:31:48 +00:00
Michael Vines 959880db60 Remove unused pubkey::Pubkey imports 2020-10-21 19:08:13 -07:00
Michael Vines 7bc073defe Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00
Trent Nelson 2905ccc7ec CLI: Print address ephemeral keypair seed phrase to stderr on deploy failure 2020-10-21 01:09:37 -06:00
Michael Vines ad65d4785e Skip 'Stake by Feature Set' output when showing status of a single feature 2020-10-21 05:52:32 +00:00
Tyera Eulberg cca318f805
Revert "CLI: Put `deploy` ephemeral keypair behind a flag" (#12983)
This reverts commit 5a5b7f39c1.
2020-10-19 12:44:32 -06:00
Tyera Eulberg b6bfed64cb
Check payer balance for program account rent as needed (#12952) 2020-10-16 18:03:50 +00:00
Trent Nelson 5a5b7f39c1 CLI: Put `deploy` ephemeral keypair behind a flag 2020-10-16 05:00:53 +00:00
Michael Vines eec3d25ab9 Surface 'Program account allocation failed' error details 2020-10-15 09:17:48 +00:00
Michael Vines 14d793b22c Cleanly handle RPC servers that don't have --enable-rpc-transaction-history enabled 2020-10-13 10:05:44 -07:00
Alexandre Esteves 6bbf6a79b7
Check ELF file for errors before deploy (#12741)
* Check ELF file for errors before deploy

* Update cli/src/cli.rs

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

* Fix formatting

* Bump solana_rbpf

Co-authored-by: Michael Vines <mvines@gmail.com>
2020-10-11 21:19:47 -07:00
Michael Vines c5c8da1ac0 Expose all rewards (fees, rent, voting and staking) in RPC getConfirmedBlock and the cli 2020-10-09 21:54:13 -07:00
Tyera Eulberg 5800217998
Fix typo (#12780) 2020-10-10 00:35:52 +00:00
Michael Vines 3a04026599 Minor variable name cleanup 2020-10-08 17:44:19 -07:00
Michael Vines 346890ded3 Display vote/stake account epoch rewards 2020-10-07 17:14:12 -07:00
Trent Nelson 4feead323d clap-utils: Allow fine-tuning offline args 2020-10-07 23:14:39 +00:00
Michael Vines 9abaf6ec1d `solana stakes` now employs server-side filtering if only one vote account is provided 2020-10-02 17:53:07 -07:00
Tyera Eulberg 19f385db76
Improve solana deploy (#12621)
* Check program account before attempting to create it

* Use last_valid_slot to timeout status checks

* Include transaction history in RpcClient::get_signature_statuses requests

* Improve solana-deploy send-transactions

* Clippy

* Improve mock deploy test

* Review comments
2020-10-02 13:35:39 -06:00
Michael Vines 978b26a9c5 `solana catchup` now retries if the initial RPC connection fails 2020-10-02 12:28:05 -07:00
Michael Vines 42aeead6b4 Add inflation subcommand 2020-10-01 22:57:09 -07:00
Michael Vines 14036ac580 Improve `block` command output 2020-10-01 22:56:42 -07:00
Tyera Eulberg adf06b635b
Enable json output from solana feature status (#12554) 2020-09-29 19:26:08 +00:00
Trent Nelson 972619edb4 clap-utils: Allow nonce/offline args to be global 2020-09-29 10:42:49 -06:00
Michael Vines 322dbd894f feature subcommand: display active stake by feature id when feature activation is not available 2020-09-29 05:10:02 +00:00
Tyera Eulberg 35208c5ee7
Enable commitment arg on solana deploy (#12532) 2020-09-28 16:24:38 -06:00
Michael Vines 3a2b8c5e5b cli review feedback 2020-09-25 11:40:36 -07:00
Michael Vines 93ed0ab2bb Add feature management commands 2020-09-25 11:40:36 -07:00
Michael Vines c10da16d7b Port instructions sysvar and secp256k1 program activation to FeatureSet 2020-09-25 11:40:36 -07:00
Michael Vines 35f5f9fc7b Add feature set identifier to gossiped version information 2020-09-25 11:40:36 -07:00
Trent Nelson 7cab638297 Factor the rest of CLI offline module out to clap-utils and cli-output crates 2020-09-23 15:58:44 -06:00
Trent Nelson 325a7e9f86 Move CLI cli_output module to its own crate 2020-09-23 15:58:44 -06:00
Trent Nelson ba353c2b1d Move CLI blockhash_query module into client crate 2020-09-23 15:58:44 -06:00
Trent Nelson 0c58123b45 Move CLI Signer utils into clap-utils 2020-09-23 15:58:44 -06:00
Trent Nelson be88e868bd CLI: Drop unused helper 2020-09-23 15:58:44 -06:00
Trent Nelson 9a60353fa9 CLI: Encapsulate default signer attributes 2020-09-23 15:58:44 -06:00
Trent Nelson eaf79152b3 CLI: Consolidate sign-only helpers 2020-09-23 15:58:44 -06:00
Trent Nelson 5e34af5a75 `return_signers` doesn't need a whole `CliConfig` 2020-09-23 15:58:44 -06:00
Trent Nelson 89cab47011 Move CLI fee payer arg into clap-utils 2020-09-23 15:58:44 -06:00
Trent Nelson 6cf74d1166 Move CLI offline args to clap-utils 2020-09-23 15:58:44 -06:00
Trent Nelson 3fb8428636 Move CLI nonce args to clap-utils 2020-09-23 15:58:44 -06:00
Trent Nelson 011b674d41 CLI: Remove unused `KeypairEq` type 2020-09-23 15:58:44 -06:00
Trent Nelson a6533c3a21 Move CLI nonce account helpers in client 2020-09-23 15:58:44 -06:00
Trent Nelson dda48e2d06 Move `CliNonceError` into client crate 2020-09-23 15:58:44 -06:00
Michael Vines 4fa443becf Simplify cli node version output, display semver only by default 2020-09-22 07:03:43 +00:00
Trent Nelson 83f93fed02 CLI: Use Base58 encoding rather than deprecated Binary for TX decode 2020-09-16 04:36:50 +00:00
sakridge 3930cb865a
Add keccak-secp256k1 instruction (#11839)
* Implement keccak-secp256k1 instruction

Verifies eth addreses with ecrecover function

* Move secp256k1 test
2020-09-15 18:23:21 -07:00
Michael Vines 56282f0c01 `validator-info get/set` no longer crash on invalid account data 2020-09-15 16:59:17 -07:00
Michael Vines 27752c4e4d Add block command 2020-09-06 12:45:32 -07:00
Michael Vines 6677996369 Add first-available-block command 2020-09-06 12:45:32 -07:00
Michael Vines 2332dd774f Add --show-transactions flag to transaction-history command 2020-09-05 08:45:49 -07:00
Tyera Eulberg 39246f9dd7
Revert signature-notification format change (#12032)
* Use untagged RpcSignatureResult enum to avoid breaking downstream consumers of current signature subscriptions

* Clean up client duplication

* Clippy
2020-09-03 18:14:45 -06:00
Tyera Eulberg 6234909373
Fix use-deprecated-loader arg (#11921) 2020-08-31 08:41:00 +00:00
Michael Vines b660704faa Allow the sendTransaction preflight commitment level to be configured 2020-08-22 08:19:50 -07:00
Michael Vines de736e00ad Add (hidden) --use-deprecated-loader flag to `solana deploy` 2020-08-17 19:57:44 -07:00
Michael Vines adc984a225 Rename Binary64 to Base64. Establish Base58 encoding 2020-08-17 17:26:29 -07:00
Michael Vines 757e147b3b Rework UiAccountData encode/decode such that it works from Rust 2020-08-17 17:26:29 -07:00
Michael Vines 2ebc68a9e2 decode-transaction now supports binary64 2020-08-17 17:26:29 -07:00
Michael Vines b5f3ced860 Add base64 (binary64) encoding for getConfirmedTransaction/getConfirmedBlock 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
Tyera Eulberg c0d6761f63
Fix solana CLI deploy (#11520)
* Refresh blockhash for program writes and finalize transactions

* Refactor to use current api, eliminating an rpc call

* Review comment
2020-08-11 02:42:29 -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
Michael Vines a4f5f3e978 account subcommand now requests binary64 2020-08-09 21:10:49 +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
Greg Fitzgerald edadd5d6d5
Remove Budget from CLI (#11451)
* Remove support for Budget

Also:
* Make "pay" command a deprecated alias for the "transfer" command

* chore: remove budget from web3.js

* Drop Budget depedency from core

Validators no longer ship with builtin Budget
2020-08-07 16:01:51 -06: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 9abb7db5f8 Upgrade help description 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
Greg Fitzgerald 61d9d219f9
Withdraw authority no longer implies a custodian (#11302)
* Withdraw authority no longer implies a custodian

Before this change, if the withdraw authority and custodian had
the same public key, then a withdraw authority signature would
imply a custodian signature and lockup would be not be enforced.

After this change, the client's withdraw instruction must
explictly reference a custodian account in its optional sixth
account argument.

Likewise, the fee-payer no longer implies either a withdraw
authority or custodian.

* Fix test

The test was configuring the stake account with the fee-payer as
the withdraw authority, but then passing in a different key to
the withdraw instruction's withdraw authority parameter. It only
worked because the second transaction was signed by the fee-payer.
2020-07-31 13:37:53 -06:00
Trent Nelson 6f7e121b68 CLI: Add arg to adjust RPC timeout 2020-07-23 22:29:40 +00:00
Michael Vines 50c92e3a94 Add block-height subcommand 2020-07-22 13:26:05 -07:00
Michael Vines 2adfe3f199 Add block height to epoch-info subcommand 2020-07-22 13:26:05 -07:00
Trent Nelson 14ac233d01 CLI: Fix explicitly plumb vote_account through create-vote-account 2020-07-14 07:29:53 -06:00
Trent Nelson 2284699889 CLI: Fix explicitly plumb withdraw_authority through vote-update-validator 2020-07-14 07:29:53 -06:00
Trent Nelson 3392ecc310 CLI: Fix explicitly plumb withdraw_authority through vote-update-commission 2020-07-14 07:29:53 -06: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 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
Michael Vines 2c029b844b
Split out current and delinquent validators (#10702) 2020-06-18 16:19:32 -07:00
Michael Vines b297d0b423 Permit users to assign labels to account addresses 2020-06-18 18:46:49 +00:00
Michael Vines c151e783ca
cli: Add version information to `solana gossip` and `solana validators` (#10652)
* Add validator version to `solana gossip`

* Add validator version to `solana validators`

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-17 23:04:13 +00:00
Tyera Eulberg 7a741bb79a
Move commitment to CliConfig to enable faster integration tests (#10627)
* Add commitment config to CliConfig

* Use config.commitment in cluster_query

* Use config.commitment in vote

* Add method with spinner + commitment

* Add send-transaction config to CliConfig

* Remove superfluous nonce check

* Add with_commitment helper fns

* Update src to use commitment

* Fix pay and transfer integration tests

* Fix nonce int tests

* Fix deploy int test

* Fix vote int test

* Fix stake int tests

* Nightly clippy

* Review comments
2020-06-17 12:18:48 -06:00
Jack May dac7dc2f10
Move types to more appropriate files (#10638) 2020-06-17 10:39:14 -07:00
Michael Vines 296ac10b3a
|solana withdraw-from-vote-account| now supports ALL, and refuses to deallocate the vote account (#10602) 2020-06-15 21:36:47 +00:00
Michael Vines 0510b6e336 Add `merge-stake` subcommmand 2020-06-10 23:19:31 -07:00
Michael Vines c3bb4b7405 Add `vote-update-commission` subcommand 2020-06-10 08:30:55 -07:00
Michael Vines 8e2745c2a2 Clean up delinquency slot distance computation 2020-06-09 11:27:30 -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
Tyera Eulberg da34310eb4
Add arg to specify address-signer for solana deploy (#10416) 2020-06-04 20:14:12 -06:00
Michael Vines a23085ddfd `solana validators`: Fix credits column formatting 2020-06-02 23:28:36 -07:00
Michael Vines 202512d46b Adapt `solana deploy` 2020-06-01 17:51:04 -07:00
Greg Fitzgerald 5d248fe5f8
Permit paying oneself (#10337)
* Allow paying to oneself

* cargo fmt

* Permit pay-to-self in CLI

No test here because we're just removing an [untested] special case.

Fixes #10339
2020-05-30 20:12:48 -06:00
Greg Fitzgerald de5b21e444
Don't attempt to resolve mainnet-beta in the test suite (#10328)
automerge
2020-05-29 17:35:07 -07:00
Trent Nelson e8bf94c2d2 CLI: Don't display inactive stake lockups 2020-05-28 09:45:20 -06:00
Trent Nelson f9ee97d6f5 CLI: Improve stake (de)activation display 2020-05-27 14:21:09 -06:00
Tyera Eulberg b6083ca107
Cli: expose last-valid-slot in solana fees (#10254)
automerge
2020-05-26 14:08:07 -07:00
Michael Vines 56c7e4a66c
ping now reuses the same blockhash for a minute (#10165) 2020-05-21 14:11:47 -07:00
Greg Fitzgerald 64cec764b9
Allow RpcClient users to inject custom "senders" (#10157)
automerge
2020-05-20 18:40:45 -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 357a00d2bc
transaction-history now searches over the entire history by default (#10145)
automerge
2020-05-20 14:15:31 -07:00
Greg Fitzgerald d9919b99d2
Remove folds (#10128)
automerge
2020-05-19 18:13:41 -07:00
Greg Fitzgerald 5e89bd8868
Panic if no fee-payer found via Message::new() (#10050)
automerge
2020-05-15 12:23:09 -07: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 40b7c11262
Base58 (#10052) 2020-05-14 17:23:29 -06:00
Tyera Eulberg ed53a70b5c
Cli: transfer ALL; check spend+fee in client (#10012)
* lamports->SOL in user-facing error msg

* Check for sufficient balance for spend and fee

* Add ALL option to solana transfer

* Rework TransferAmount to check for sign_only in parse

* Refactor TransferAmount & fee-check handling to be more general

* Add addl checks mechanism

* Move checks out of cli.rs

* Rename to SpendAmount to be more general & move

* Impl ALL/spend helpers for create-nonce-account

* Impl spend helpers for create-vote-account

* Impl ALL/spend helpers for create-stake-account

* Impl spend helpers for ping

* Impl ALL/spend helpers for pay

* Impl spend helpers for validator-info

* Remove unused fns

* Remove retry_get_balance

* Add a couple unit tests

* Rework send_util fn signatures
2020-05-14 12:24:14 -06: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 3b9dc50541
Fix up a couple cli commands that fail when a node is in the `--wait-for-supermajority` state (#9985)
automerge
2020-05-11 16:07:40 -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 dd78184f8f
Cli: Add solana supply command; hide total-supply (#9956)
* Add cli supply command; hide total-supply

* Use print-accounts arg instead of verbose
2020-05-10 12:05:14 -06:00
Michael Vines cb50877bbf
send_and_confirm_transaction() no longer needs a keypair (#9950) 2020-05-09 09:06:32 -07:00
Greg Fitzgerald 57a9996921
Clean up --output help (#9941)
automerge
2020-05-08 12:27:56 -07:00
VadimGrznk f6e26f6c8c
Add using OutputFormat enum to --sign-only transactions (#9650)
* Add using OutputFormat enum to --sign-only commands

* Renaming

* Code formating

* Appease clippy

* Add returning json string to pay command for tests

* Code refactoring

* Appease clippy

* Rebase and dedupe signature prints

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-05-06 22:21:48 -06:00
Tyera Eulberg 65a52a4145
Cli: Update OutputFormat method to return a String to restore consistency (#9904)
* Update OutputFormat method to return a String to restore consistency

* Remove process_show_account special case
2020-05-06 20:27:15 -06:00
Michael Vines e078ba1dde
Display transaction fee in SOL (#9892)
automerge
2020-05-05 22:10:41 -07:00
Tyera Eulberg b2672fd623
Cli: add cluster-date subcommand, and make block-time slot optional (#9878)
* Add CliBlockTime struct

* Add cli cluster-date subcommand

* Make slot param optional; also jsonify

* Make prints prettier
2020-05-05 09:42:03 -06:00
Kristofer Peterson 3aedb81d48
Avoid panic caused by converting non-positive / non-normal floating points values to duration (#9867) 2020-05-04 13:08:27 -07:00
Jack May a8394317c7
Wait for at least one confirmation when uploading program data (#9850)
automerge
2020-05-02 20:11:50 -07:00
Michael Vines ffbbdd46e8
Add clap.rs default for --commitment (#9859) 2020-05-02 13:06:35 -07:00
Michael Vines de04563f18
Watchtower can now emit a notifiation on all non-vote transactions (#9845) 2020-05-01 17:48:22 -07:00
Tyera Eulberg db8011f4f3
Enable multiple lockup fields to be set at once (#9831)
automerge
2020-04-30 22:17:23 -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
Michael Vines 6ed29b3653 Don't divide by zero 2020-04-29 11:04:52 -07:00
Michael Vines 0954ea19e8
catchup now estimates the time remaining (#9782)
automerge
2020-04-28 22:32:12 -07:00
Greg Fitzgerald 71f7a7243b
Add custodian option to withdraw-stake command (#9662)
automerge
2020-04-22 15:00:18 -07:00
Greg Fitzgerald cbc7b3b0b7
Cleanup CLI help message (#9632)
automerge
2020-04-21 16:09:34 -07:00
Michael Vines 914b022663
cli: Add transaction-history (#9614)
automerge
2020-04-20 22:01:09 -07:00
Jack May 6e908a1be8
Nit: More informative error message (#9616) 2020-04-20 21:35:22 -07:00
Greg Fitzgerald a6ad660e5e
Merge stake::withdraw instructions (#9617) 2020-04-20 18:16:50 -06:00
Michael Vines 44cced3ffc Add decode-transaction 2020-04-20 12:14:30 -07:00
Tyera Eulberg 679e7863cb
Tame wallet manager better (#9567)
automerge
2020-04-18 11:54:21 -07:00
Michael Vines 7207a91aa5 confirm --verbose now displays failed transactions 2020-04-17 13:17:38 -07:00
Tyera Eulberg a9c38fb0df
Consider config in check_for_usb (#9555) 2020-04-17 11:37:13 -06:00
Michael Vines 7e7cbec8a1 Passing -v/--verbose to `solana confirm` now displays the full transaction 2020-04-16 08:19:30 -07:00
Tyera Eulberg 5298e3872c
Cli: enable json output (#9478)
automerge
2020-04-14 12:10:25 -07:00
Michael Vines 5a0c2a0c1d Rename UpdateNode to UpdateValidatorIdentity 2020-04-13 17:25:39 -07:00
Michael Vines 3f33f4d3a9
Sort the output of `solana validators` by active stake (#9459)
automerge
2020-04-12 17:39:02 -07:00
Michael Vines c86b0d8a85 Remove "Credits Observed:" field from `solana stake-account` output 2020-04-12 12:42:18 -07:00
sakridge 900933bbcc
Reduce rpc test code (#9413)
automerge
2020-04-09 18:05:56 -07:00
Tyera Eulberg 638108e9d5
Add --no-wait arg to transfer (#9388)
automerge
2020-04-08 22:46:19 -07:00
Tyera Eulberg 6b988155e1
RpcClient: include signature check in send_transaction, bump send retries in get_num_blocks_since_signature_confirmation (#9341)
* Bump rpc send retries

* Add signature check to send_transaction and update mocks to test
2020-04-06 19:27:37 -06:00
Michael Vines 66c78cb819 Apply suggestions from code review 2020-04-03 09:58:40 -07:00
Michael Vines 962e41f9ca `vote-authorize-voter` no longer fails if the current authorized voter is not the fee payer 2020-04-03 09:58:40 -07:00
Michael Vines c5b2db72a2 Add option to monitor catchup at max commitment 2020-04-02 19:05:33 -07:00
Michael Vines 303a1207c1 Add --follow option to catchup command to allow for easy ongoing monitoring between two nodes 2020-04-02 19:05:33 -07:00
Tyera Eulberg ec4745d174
Tame overeager wallet manager (#9262)
* Add helper fn to check for usb cli args

* Use helper fn to prevent wallet_manager connecting unnecessarily

* Review improvements
2020-04-02 15:47:17 -06:00
Michael Vines 23bf7b8d63
Add epoch subcommand (#9249)
automerge
2020-04-01 20:42:28 -07:00
sakridge a8817fb973
Add some information about what an address can be for CLI commands (#9233) 2020-04-01 19:45:37 -07:00
Jack May 9aab0b9388
More custom error rename (#9227)
automerge
2020-04-01 11:13:31 -07:00
Jack May 268e04cb4a
Rename CustomError to Custom (#9207) 2020-04-01 09:01:11 -07:00
Michael Vines 5f31444300
catchup now retries when the desired node is not yet online (#9148) 2020-03-29 09:40:53 -07:00
Michael Vines 4a8b1d9b2c
RpcClient now returns Signatures instead of Strings (#9129) 2020-03-27 15:46:00 -07:00
Michael Vines 864d212c64
`solana account` now displays the account's rent epoch (#9114) 2020-03-27 08:58:21 -07:00
Greg Fitzgerald b08f8d3103
Add stake-account to docs (#9010) 2020-03-22 12:20:24 -06:00
Trent Nelson 2592894958
CLI: Support setting both stake authorities at once (#8976)
automerge
2020-03-21 18:56:17 -07:00
Greg Fitzgerald ca4a22d4ba
Distinguish account addresses from public keys (#8998) 2020-03-21 13:30:01 -06:00
Jack May e28368ff1b
Move address creation with seed into pubkey (#8991) 2020-03-20 15:20:48 -07:00
Greg Fitzgerald c68e80c93b
Improve CLI usage messages (#8972)
* Improve CLI usage messages

* stragglers

* Apply review feedback

Co-authored-by: Trent Nelson <trent@solana.com>
2020-03-19 21:43:11 -06:00
Tyera Eulberg 6b9a0935c1
Some Cli polish (#8966)
automerge
2020-03-19 12:03:36 -07:00
Trent Nelson ff4ba54553
CLI: Fix `create-nonce-account` with seed (#8929)
* CLI: Fix `create-nonce-account --seed ...`

* CLI: Add test another for `create-nonce-account --seed...`

Explicitly demonstrates a partner workflow with the following
requirements:
1) Nonce account address derived from an offline nonce
authority address
2) Fully online account creation
3) Account creation in a single signing session

* alphabetize
2020-03-19 10:36:53 -06:00
Michael Vines f78a90bce2
Vote InitializeAccount and UpdateNode instructions now need a signature from the validator identity (#8947)
automerge
2020-03-19 01:58:52 -07:00
Trent Nelson 98228c392e
CLI: Add multi-session signing support (#8927)
* SDK: Add `NullSigner` implementation

* SDK: Split `Transaction::verify()` to gain access to results

* CLI: Minor refactor of --sign_only result parsing

* CLI: Enable paritial signing

Signers specified by pubkey, but without a matching --signer arg
supplied fall back to a `NullSigner` when --sign-only is in effect.
This allows their pubkey to be used for TX construction as usual,
but leaves their `sign_message()` a NOP. As such, with --sign-only
in effect, signing and verification must be done separately, with
the latter's per-signature results considered

* CLI: Surface/report missing/bad signers to user

* CLI: Suppress --sign-only JSON output

* nits

* Docs for multi-session offline signing
2020-03-18 20:49:38 -07:00
Tyera Eulberg f0414711b7
Cli: add spinner progress bar when waiting for transaction confirmation (#8916)
* Add _with_spinner method

* Use _with_spinner method in cli
2020-03-17 17:58:02 -06:00
Tyera Eulberg 6077458ad8
Cli: enable flexible flexible signer paths for pubkey args (#8892)
automerge
2020-03-16 15:17:13 -07:00
Greg Fitzgerald 563da2bb18
Cleanup CLI types (#8888) 2020-03-16 12:27:09 -06:00
Greg Fitzgerald eab4fe50a3
Use types for CLI value names (#8878)
* Use types for CLI value names

* keygen too

* More cleanup

* nonce keypair -> pubkey
2020-03-16 09:24:59 -06:00
Tyera Eulberg 3c2aff2b5b
Cli: Add resolve-signer subcommand (#8859)
* Expose remote-wallet device pretty path

* Add resolve-signer helpers

* Add cli resolve-signer subcommand

* Print pretty-path in waiting msg
2020-03-14 20:48:41 -07:00
Michael Vines 29fb79382c Rework validator vote account defaults to half voting fees 2020-03-13 20:13:33 -07:00
Tyera Eulberg 5c2cf04e10
Enable any signer in various cli subcommands (#8844)
automerge
2020-03-13 16:06:33 -07:00
Sunny Gleason 96a61cc4e4
Cli: add subcommand to withdraw from vote account (#8550)
* feat: cli command for vote account withdraw

* Rework names

* Update to flexible signer, and make consistent with other cli apis

* Add integration test

* Clean up default help msg

Co-authored-by: Michael Vines <mvines@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-03-13 14:30:04 -06:00
Trent Nelson fbf2dd1672
CLI: Error message cleanup (#8804)
automerge
2020-03-12 23:20:49 -07:00
Jack May 6eb4973780
Don't use move semantics if not needed (#8793) 2020-03-11 14:37:23 -07:00
Trent Nelson 0422af2aae
CLI: Plumb nonce-stored fees (#8750)
automerge
2020-03-11 11:14:15 -07:00
Michael Vines 775ce3a03f Permit fee-payer/split-stake accounts to be the same when using --seed 2020-03-10 16:12:02 -07:00
Michael Vines f655372b08 Revert to a computed `websocket_url` value when `json_rpc_url` is changed 2020-03-10 15:55:13 -07:00
Trent Nelson 261732f140
CLI Nonce account access dereplicode (#8743)
* Spruce up CliNonceError

* Add nonce account access helpers

* Use helpers throughout
2020-03-10 13:00:15 -06:00
Greg Fitzgerald 5fa397ceed
Remove --derivation-path option (#8741)
automerge
2020-03-09 17:49:01 -07:00
Michael Vines 756ba07b16 Move cli-config default out of cli/ into cli-config/ 2020-03-09 15:43:14 -07:00
Michael Vines 5c236fd06c Rename 'url' to 'json_rpc_url' 2020-03-09 15:43:14 -07:00
Greg Fitzgerald 97b6c41d42
Fix typos in error messages (#8726)
automerge
2020-03-09 10:12:42 -07:00
Michael Vines 132a2a73af
Add total-supply command (#8722)
automerge
2020-03-09 01:28:44 -07:00
Tyera Eulberg eab80d0aea
Cli: Fix create-with-seed (#8706)
* Add failing test

* Fix create-address-with-seed regression

* Add apis to enable generating a pubkey from all various signers

* Enable other signers as --from in create-with-seed
2020-03-09 00:02:24 -06:00
Trent Nelson fd00e5cb35
Store FeeCalculator with blockhash in nonce accounts (#8650)
* Copy current state version to v0

* Add `FeeCalculator` to nonce state

* fixup compile

* Dump v0 handling...

Since we new account data is all zeros, new `Current` versioned accounts
look like v0. We could hack around this with some data size checks, but
the `account_utils::*State` traits are applied to `Account`, not the
state data, so we're kind SOL...

* Create more representative test `RecentBlockhashes`

* Improve CLI nonce account display

Co-Authored-By: Michael Vines <mvines@gmail.com>

* Fix that last bank test...

* clippy/fmt

Co-authored-by: Michael Vines <mvines@gmail.com>
2020-03-05 07:40:26 -07:00
Grimes f89c22b5ee
`solana catchup` now detects when you try to catchup to yourself (#8635)
automerge
2020-03-04 14:44:21 -08:00
Grimes 09a0325534
`catchup` now supports an optional RPC URL argument for validators with private RPC (#8629)
automerge
2020-03-04 11:44:13 -08:00
Trent Nelson 1cc7131bb7
Consolidate Nonce state under one struct (#8624)
automerge
2020-03-04 08:51:48 -08:00
Trent Nelson 1cb6101c6a
SDK: Add versioning to nonce state (#8607) 2020-03-03 19:39:09 -07:00
Trent Nelson be0cc0273f
SDK: Re-org nonce state module to facilitate versioning (#8603)
automerge
2020-03-03 17:00:39 -08:00
Michael Vines abf33b3b3b
Add commitment flag to `vote-account` and `validators` commands (#8597) 2020-03-03 17:53:30 -07:00
Tyera Eulberg e4498adb1f
Make block-time more human-readable (#8575) 2020-03-02 14:58:15 -08:00
Tyera Eulberg 8dc4724340
Allow stake lockup fields to be updated independently (#8568)
* Make Lockup fields optional for SetLockup instruction

* Use LockupArgs in cli

* Include lockup timestamp in stake-account print
2020-03-02 12:28:43 -08:00
Sunny Gleason db291234ed feat: implement websocket_url as a get/set-able global parameter w/ value computation 2020-03-01 01:07:45 -07:00
Trent Nelson 90bedd7e06
Split signature throughput tracking out of `FeeCalculator` (#8447)
* SDK: Split new `FeeRateGovernor` out of `FeeCalculator`

Leaving `FeeCalculator` to *only* calculate transaction fees

* Replace `FeeCalculator` with `FeeRateGovernor` as appropriate

* Expose recent `FeeRateGovernor` to clients

* Move `burn()` back into `FeeCalculator`

Appease BPF tests

* Revert "Move `burn()` back into `FeeCalculator`"

This reverts commit f3035624307196722b62ff8b74c12cfcc13b1941.

* Adjust BPF `Fee` sysvar test to reflect removal of `burn()` from `FeeCalculator`

* Make `FeeRateGovernor`'s `lamports_per_signature` private

* rebase artifacts

* fmt

* Drop 'Recent'

* Drop _with_commitment variant

* Use a more portable integer for `target_signatures_per_slot`

* Add docs for `getReeRateCalculator` JSON RPC method

* Don't return `lamports_per_signature` in `getFeeRateGovernor` JSONRPC reply
2020-02-28 13:27:01 -07:00
Tyera Eulberg f6f0f94e17
Add flag to confirm key on device (#8478) 2020-02-26 15:24:44 -07:00
Michael Vines 407d058611 live-slots now displays the rate the root slot is advancing 2020-02-25 20:59:05 -07:00
carllin 39282be486
Determine vote_state ahead of time (#8303)
automerge
2020-02-24 19:27:04 -08:00
Tyera Eulberg 12a9b5f35e
CLI: collect and deduplicate signers (#8398)
* Rename (keypair util is not a thing)

* Add method to generate_unique_signers

* Cli: refactor signer handling and remote-wallet init

* Fixup unit tests

* Fixup intergation tests

* Update keypair path print statement

* Remove &None

* Use deterministic key in test

* Retain storage-account as index

* Make signer index-handling less brittle

* Cache pubkey on RemoteKeypair::new

* Make signer_of consistent + return pubkey

* Remove &matches double references

* Nonce authorities need special handling
2020-02-24 17:03:30 -07:00
Trent Nelson 9dcb965959
Reinstate `create-stale-account` w/ seed test (#8401)
automerge
2020-02-22 08:54:29 -08:00
Tyera Eulberg 4ddbf8d509
CLI: dynamic signing reboot (#8384)
* Add keypair_util_from_path helper

* Cli: impl config.keypair as a trait object

* SDK: Add Debug and PartialEq for dyn Signer

* ClapUtils: Arg parsing from pubkey+signers to Presigner

* Impl Signers for &dyn Signer collections

* CLI: Add helper for getting signers from args

* CLI: Replace SigningAuthority with Signer trait-objs

* CLI: Drop disused signers command field

* CLI: Drop redundant tests

* Add clap validator that handles all current signer types

* clap_utils: Factor Presigner resolution to helper

* SDK: `From` for boxing Signer implementors to trait objects

* SDK: Derive `Clone` for `Presigner`

* Remove panic

* Cli: dedup signers in transfer for remote-wallet ergonomics

* Update docs vis-a-vis ASK changes

* Cli: update transaction types to use new dynamic-signer methods

* CLI: Fix tests No. 1

what to do about write_keypair outstanding

* Work around `CliConfig`'s signer not necessarily being a `Keypair`

* CLI: Fix tests No. 2

* Remove unused arg

* Remove unused methods

* Move offline arg constants upstream

* Make cli signing fallible

Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
2020-02-21 14:55:53 -07:00