Commit Graph

591 Commits

Author SHA1 Message Date
Trent Nelson
e2d0ede630 cli: accept 'system' program id mnemonic for with seed 2022-02-18 19:51:18 -07:00
Trent Nelson
dcd0a39cb6 cli: coerce with seed program id mnemonics to uppercase 2022-02-18 19:51:18 -07:00
Tyera Eulberg
88b66ae3a8 Allow cli users to authorize Staker signed by Withdrawer (#23146) 2022-02-15 22:08:53 -07:00
Tyera Eulberg
d2c89213ff Implement json output for solana ping (#22959) 2022-02-05 21:40:12 +00:00
Alexander Meißner
96c88d1a5e Bumps solana_rbpf to version v0.2.22 (#22923)
* Bumps solana_rbpf to v0.2.22

* Adjusts vm::Config and feature gates.
2022-02-04 21:17:49 +01:00
Michael Vines
85e8bece2e Add solana_client::nonblocking::RpcClient 2022-01-26 17:58:00 -08:00
Tyera Eulberg
90689585ef Update ping to transfer to self, with rotating amount (#22657)
* Update ping to transfer to self, with rotating amount

* Remove balance check
2022-01-21 22:10:50 -07:00
Alexander Meißner
b448472037 Refactor: Move InstructionRecorder into TransactionContext (#22578)
* Moves InstructionRecorder into TransactionContext.

* Adds assertions for number_of_instructions_at_transaction_level.
2022-01-19 22:40:09 +01:00
Michael Vines
e14ae33e86 Improve nonce-related error messages 2022-01-14 12:59:01 -08:00
Justin Starry
ae6c511f13 Refactor: Split vote_instruction.rs into multiple files (#22502) 2022-01-14 17:25:15 +08:00
Jack May
1632ee03da nit: Traceable balance checks (#22462) 2022-01-13 09:09:22 -08:00
Jeff Biseda
8b66625c95 convert std::sync::mpsc to crossbeam_channel (#22264) 2022-01-11 02:44:46 -08:00
Brooks Prumo
d90d5ee9b6 Refactor Rent::due() with RentDue enum (#22346) 2022-01-08 09:03:46 -06:00
Alexander Meißner
73e6038986 Refactor: Remove KeyedAccount from program runtime (#22226)
* Makes error handling in BorrowedAccount optional.
Adds BorrowedAccount ::get_rent_epoch().
Exposes InstructionContext::get_index_in_transaction().
Turns accounts and account_keys into pinned boxed slices.

* Introduces "unsafe" to InvokeContext::push().

* Turns &TransactionContext into &mut TransactionContext in InvokeContext.

* Push and pop InstructionContext in InvokeContext.
Makes test_process_cross_program and test_native_invoke symmetric.
Removes the borrow check from test_invoke_context_verify.

* Removes keyed_accounts from prepare_instruction()

* Removes usage of invoke_stack.

* Removes keyed_accounts from program-test.

* Removes caller_write_privileges.

* Removes keyed_accounts from BPF parameter (de-)serialization.
2022-01-03 23:30:56 +01:00
Justin Starry
2a00382d71 Refactor: cleanup solana_transaction_status crate (#22230) 2022-01-03 15:45:18 +00:00
Alexander Meißner
a06646631c Feature: TransactionContext, InstructionContext and BorrowedAccount (#21706)
* Adds TransactionContext, InstructionContext and BorrowedAccount.

* Redirects the usage of accounts in InvokeContext through TransactionContext.
Also use the types declared in transaction_context.rs everywhere.

* Adjusts all affected tests.
2021-12-27 18:49:32 +01:00
Ryan Laursen
d06c04d02c Update checks.rs 2021-12-23 05:14:37 -08:00
Ryan Laursen
52c1eb0160 Remove msg spam from deploying 2021-12-23 05:14:37 -08:00
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