Trent Nelson
14d0759af0
sdk: correct static keypair bytes in test sample transaction ( #32930 )
2023-08-22 16:19:04 -06:00
Trent Nelson
9d83bb2a89
sdk: enforce that `Keypair::from_bytes` bytes match secret-derived `Pubkey` ( #32926 )
2023-08-21 22:40:07 -06:00
steviez
334216acf9
Fixup missed instances of SanitizedTransaction::try_create() ( #32013 )
...
The function signature was changed in #31767 , but these instances were
not updated due to the PR being created before the instances were added
to the repo.
2023-06-07 11:39:51 -05:00
Alexander Meißner
ee2c2ef6c7
Cleanup - require_static_program_ids_in_transaction ( #31767 )
...
require_static_program_ids_in_transaction
2023-06-07 17:12:41 +02:00
Jeff Washington (jwash)
85a0e31c60
add ProgramExecutionTemporarilyRestricted error ( #31796 )
...
* add StakeProgramUnavailable error
* rename to ProgramExecutionTemporarilyRestricted
* Update sdk/src/transaction/error.rs
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
* fmt
* update frozen abi hash
* add account_index to ProgramExecutionTemporarilyRestricted error
* Update sdk/src/transaction/error.rs
Co-authored-by: mvines <mvines@gmail.com>
* populate transaction_details from transaction_error for ProgramExecutionTemporarilyRestricted error
* fix a test
* update abi digest
* Update sdk/src/transaction/error.rs
Co-authored-by: Brooks <brooks@prumo.org>
---------
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
Co-authored-by: HaoranYi <haoran.yi@solana.com>
Co-authored-by: HaoranYi <haoran.yi@gmail.com>
Co-authored-by: mvines <mvines@gmail.com>
Co-authored-by: Brooks <brooks@prumo.org>
2023-06-06 14:13:41 -07:00
Tao Zhu
9d6c921b5f
check simple vote could have 1 or 2 signatures when creating sanitized transaction ( #31807 )
...
* check simple vote could have 1 or 2 signatures when creating sanitized transaction
2023-05-25 15:45:15 -05:00
Andrew Fitzgerald
75954dc061
Banking worker ( #30970 )
2023-05-25 10:16:04 -07:00
blackghost1987
9f9d6f8a89
Relax `Sized` bound for `Signers` in `Transaction` and `Client` ( #30568 )
...
* relax Sized bound for Signers in Transaction and Client
* also relax Sized bounds in client, runtime, thin-client and tpu-client
* add tests for using non-sized transaction signers
* fix macro for thin_client vs ?Sized
* move tests to transactions, add Sized relaxation to mut macro
* fix clippy warning
* get rid of unnecessary imports
2023-03-30 13:12:48 +00:00
Tao Zhu
3b9438fd49
Replace hardcoded loaded accounts size limit with compute budget instruction ( #30506 )
...
1. replace hardcoded loaded accounts data size limit with compute budget instruction;
2. new transaction error for invalid account data size limit
3. test requested limit with combination of features and transactions
2023-03-08 19:41:45 -06:00
Tao Zhu
9ec5e9b866
refactor to remove additional is_simple_vote check ( #30521 )
2023-02-24 23:49:04 -06:00
Tao Zhu
a5af54669a
Limit loaded data per transaction to a fixed cap ( #29743 )
2023-01-31 22:51:35 -06:00
behzad nouri
272e667cb2
deprecates Pubkey::new in favor of Pubkey::{,try_}from ( #29805 )
...
The commit deprecates Pubkey::new which lacks type-safety and instead
implements TryFrom<&[u8]> and TryFrom<Vec<u8>> for Pubkey.
2023-01-21 18:06:27 +00:00
Tao Zhu
1d88654116
Revert "Cap accounts data a transaction can load by its requested limit" ( #29373 )
...
Revert "Cap accounts data a transaction can load by its requested limit (#27840 )"
This reverts commit 81dc2e56ac
.
2023-01-17 11:34:18 +01:00
behzad nouri
9524c9dbff
patches errors from clippy::uninlined_format_args
...
https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
2022-12-06 19:32:15 +00:00
apfitzge
bdd162492c
Feature/multi-iterator-scanner-read-locks ( #28862 )
2022-11-28 11:23:04 -06:00
Tao Zhu
81dc2e56ac
Cap accounts data a transaction can load by its requested limit ( #27840 )
...
- Add new compute-budget instruction to set transaction-wide accounts data size limit
- Set default accounts data limit to 10MB, and max to 100MB, per transaction;
- Add getters to make changing default and/or max values easier in the future with feature gates;
- added error counter for transactions exceed data size limit
2022-11-14 10:29:35 -06:00
apfitzge
37fb603fc0
precompile verify: &Arc<FeatureSet> to &FeatureSet ( #27647 )
2022-10-27 19:25:33 -05:00
Kevin Heavey
061bed0a8c
More missing derives ( #27418 )
...
* add Eq, PartialEq to EpochInfo
* add Eq, PartialEq related to transactions and messages
* add Eq, PartialEq to Ed25519SignatureOffsets
* add Eq, PartialEq to FeatureSet
* add Eq, PartialEq to fee.rs
* add Eq, PartialEq to GenesisConfig
* don't add Eq to GenesisConfig because floats
* add Eq, PartialEq to PohConfig
* add Eq, PartialEq to SecpSignatureOffsets
* add some missing derives to transaction_context.rs
* add Eq, PartialEq to ProcessedSiblingInstruction
2022-10-11 12:59:58 -07:00
apfitzge
3781c0668f
separate account locks validation from creating the locks ( #28292 )
2022-10-07 12:23:18 -05:00
Justin Starry
ddf95c181c
RPC: Support versioned txs in getFeeForMessage API ( #28217 )
...
* RPC: Support versioned txs in getFeeForMessage API
* Update sdk/program/src/message/sanitized.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-10-05 00:00:34 +08:00
Justin Starry
00b0a92ec4
Support sending versioned txs in rpc client ( #27933 )
...
* Support sending versioned txs in rpc client
* Revert adding instructions_mut function
2022-09-22 01:25:43 +00:00
Justin Starry
b9700244b5
Increase transaction account lock limit from 64 to 128 ( #27242 )
...
* Increase transaction account lock limit from 64 to 256
* fix bpf test
* Reduce lock limit from 256 to 128
2022-09-15 13:50:14 -04:00
Justin Starry
56cebf9da2
Relax keypair ordering restriction for `VersionedTransaction::try_new` ( #27397 )
...
* Relax keypair ordering restriction for VersionedTransaction::try_new
* feedback
2022-08-26 11:25:20 +02:00
Tao Zhu
5e71f339c9
Add a SanitizedMessage type that caches writable accounts indexes ( #27317 )
...
* Add a SanitizedMessage type that caches writable accounts indexes
* Add is_writable_account_cache to both SanitizedMessage variants, cache is initialized in constructors
2022-08-25 16:33:41 -05:00
Tyera Eulberg
1095cdf436
Fixup docs in sdk to use new clients ( #27362 )
...
Fixup client docs in sdk
2022-08-24 21:29:56 -06:00
leonardkulms
1794455766
correct double negation ( #27240 )
2022-08-19 10:18:19 +00:00
Justin Starry
5618e9fd07
Allow overriding the runtime transaction account lock limit ( #26948 )
...
* Add --transaction-account-lock-limit cli arg to test-validator
* Allow overriding the tx account lock limit in ProgramTest
2022-08-12 15:07:48 +01:00
Justin Starry
eb6a722eba
Clean up `nonce_must_be_writable` feature ( #26444 )
...
Clean up nonce_must_be_writable feature
2022-07-07 15:45:19 +01:00
Justin Starry
f8dccd4602
Clean up `max_tx_account_locks` feature ( #26440 )
...
Clean up max_tx_account_locks feature
2022-07-06 15:06:03 +00:00
Michael Vines
f3639b76ce
Remove some clippy lints
2022-06-22 09:23:22 -07:00
Michael Vines
b05c7d91ed
Fix derive_partial_eq_without_eq clippy lint
2022-05-22 22:22:21 -07:00
Justin Starry
f81c5df1f0
Include account index in rent paying account tx error ( #25189 )
2022-05-16 23:35:34 +08:00
Jack May
cde15ff687
support 64-bit prioritization fee ( #25027 )
2022-05-12 11:07:36 -07:00
Justin Starry
e3bdc38f0a
Add sanitized types for use in banking stage ( #25067 )
2022-05-11 00:30:48 +08:00
Justin Starry
082502d4f3
Fail tx sanitization when ix program id uses lookup table ( #25035 )
...
* Fail tx sanitization when ix program id uses lookup table
* feedback
2022-05-07 03:19:50 +08:00
Justin Starry
b4350a2522
Make solana-address-lookup-table-program crate bpf compatible ( #23700 )
2022-03-17 08:21:07 +08:00
Tyera Eulberg
410463fb72
Update InvalidRentPayingAccount error ( #23680 )
2022-03-15 21:41:16 -06:00
Justin Starry
8c8f9694e0
Refactor: Sanitized transaction creation ( #23558 )
...
* Refactor: SanitizedTransaction::try_create optionally computes hash
* Refactor: Add SimpleAddressLoader
2022-03-15 12:02:22 +08:00
Brooks Prumo
7758c32035
Banking Stage drops transactions that'll exceed the total account data size limit ( #23537 )
2022-03-13 15:58:57 +00:00
Justin Starry
3114c199bd
Add RPC support for versioned transactions ( #22530 )
...
* Add RPC support for versioned transactions
* fix doc tests
* Add rpc test for versioned txs
* Switch to preflight bank
2022-03-08 15:20:34 +08:00
Justin Starry
ba215e94f6
Refactor: Add AccountKeys struct for static and dynamic message keys ( #22960 )
2022-02-05 20:00:31 +08:00
Justin Starry
60af1a4cce
Refactor: Add trait for loading addresses ( #22903 )
2022-02-03 11:00:12 +00:00
Brian Anderson
8dd62854fa
Document transaction module ( #22440 )
...
* Document transaction module
* example_mocks is only for feature = full
2022-01-21 18:30:12 -07:00
Justin Starry
7f20c6149e
Refactor: move simple vote parsing to runtime ( #22537 )
2022-01-20 10:39:21 +08:00
Tao Zhu
9c9f2dd5bd
port counting vote CUs to block cost ( #22477 )
2022-01-14 10:50:29 -06:00
Justin Starry
f804ccdece
Store address table lookups in blockstore and bigtable ( #22402 )
2022-01-14 15:24:41 +08:00
Michael Vines
4c577d7f8c
`Bank::get_fee_for_message` is now nonce aware
2022-01-13 17:27:38 -08:00
Tyera Eulberg
637e366b18
Prevent rent-paying account creation ( #22292 )
...
* Fixup typo
* Add new feature
* Add new TransactionError
* Add framework for checking account state before and after transaction processing
* Fail transactions that leave new rent-paying accounts
* Only check rent-state of writable tx accounts
* Review comments: combine process_result success behavior; log and metrics before feature activation
* Fix tests that assume rent-exempt accounts are okay
* Remove test no longer relevant
* Remove native/sysvar special case
* Move metrics submission to report legacy->legacy rent paying transitions as well
2022-01-11 11:32:25 -07:00
Justin Starry
52d12cc802
Add runtime support for address table lookups ( #22223 )
...
* Add support for address table lookups in runtime
* feedback
* feedback
2022-01-07 11:59:09 +08:00
Justin Starry
2b5e00d36d
Limit number of accounts that a transaction can lock ( #22201 )
2022-01-04 14:25:23 +08:00