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
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