Justin Starry
2c38a9213f
Revert "Refactor: move compute budget runtime logic into solana-program-runtime ( #22533 )" ( #22542 )
...
This reverts commit b27976626a
.
2022-01-17 17:43:17 +08:00
Justin Starry
b27976626a
Refactor: move compute budget runtime logic into solana-program-runtime ( #22533 )
2022-01-17 15:52:33 +08:00
Brooks Prumo
6edeed888d
Remove unnecessary & from AsRef params ( #22523 )
2022-01-15 04:51:05 +00:00
Brooks Prumo
70633b5c2f
Add Bank::accounts_data_len to SetRootMetrics ( #22509 )
2022-01-14 20:00:07 -06:00
Tao Zhu
a724fa2347
Add hidden cli option to allow validator reports replayed transaction cost metrics ( #22369 )
...
* add hidden cli option to allow validator reports replayed transaction cost detail metrics
* Update validator/src/main.rs
Co-authored-by: Michael Vines <mvines@gmail.com>
* - rebase master, using unbounded instead of channel; dowgrade to datapoint_trace
* removed cli arg, prefer log at trace
Co-authored-by: Michael Vines <mvines@gmail.com>
2022-01-15 00:31:21 +00:00
Jeff Washington (jwash)
7d7228c356
cleanup assert ( #22495 )
2022-01-14 11:53:24 -06:00
Tao Zhu
9c9f2dd5bd
port counting vote CUs to block cost ( #22477 )
2022-01-14 10:50:29 -06:00
Justin Starry
cddab635ff
Cleanup activated rent_for_sysvars feature ( #22454 )
2022-01-14 20:34:09 +08:00
Justin Starry
ae6c511f13
Refactor: Split vote_instruction.rs into multiple files ( #22502 )
2022-01-14 17:25:15 +08:00
Justin Starry
93a7b94507
Add benchmark for vote processing ( #22486 )
2022-01-14 17:10:17 +08:00
Michael Vines
4c577d7f8c
`Bank::get_fee_for_message` is now nonce aware
2022-01-13 17:27:38 -08:00
Jeff Washington (jwash)
d3b95b9226
Cleanup AccountStorage struct ( #22463 )
...
* Revert "chore: bump dashmap from 4.0.2 to 5.0.0 (#21824 )"
This reverts commit 8aa3d690b5
.
* Cleanup AccountStorage struct
2022-01-13 17:51:53 -06:00
Jeff Washington (jwash)
7711cd74c3
partition_from_pubkey ( #22430 )
...
* Revert "chore: bump dashmap from 4.0.2 to 5.0.0 (#21824 )"
This reverts commit 8aa3d690b5
.
* partition_from_pubkey
2022-01-13 17:02:42 -06:00
Jeff Washington (jwash)
e291342c4a
Revert "chore: bump dashmap from 4.0.2 to 5.0.0 ( #21824 )" ( #22488 )
...
This reverts commit 8aa3d690b5
.
2022-01-13 13:06:39 -06:00
Brooks Prumo
b82d71d22a
Inline DEFAULT_SNAPSHOT_VERSION constant string ( #22487 )
2022-01-13 18:19:15 +00:00
Brooks Prumo
2756abce39
More serde snapshot cleanup ( #22449 )
2022-01-13 09:20:20 -06:00
Brooks Prumo
9c3144e286
Refactor serde snapshot's "future" to "newer" ( #22431 )
2022-01-13 07:12:09 -06:00
Justin Starry
2370e61431
Perf: Store deserialized sysvars in the sysvars cache ( #22455 )
...
* Perf: Store deserialized sysvars in sysvars cache
* add bench
2022-01-13 05:36:21 +00:00
Justin Starry
7171c95bdd
Refactor: move sysvar cache to new module
2022-01-12 12:35:28 -07:00
Tyera Eulberg
3ca16de851
Only examine explicit tx accounts for rent state ( #22441 )
...
* Add failing test
* Fix: only examine accounts explicitly included in a tx
2022-01-11 20:23:51 -07:00
Brooks Prumo
c45dde6164
Handle accounts data size changes due to rent-collected accounts ( #22412 )
2022-01-11 17:20:28 -06:00
dependabot[bot]
157f165a3d
Bump memmap2 from 0.5.1 to 0.5.2 ( #22414 )
...
* Bump memmap2 from 0.5.1 to 0.5.2
Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs ) from 0.5.1 to 0.5.2.
- [Release notes](https://github.com/RazrFalcon/memmap2-rs/releases )
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.1...v0.5.2 )
---
updated-dependencies:
- dependency-name: memmap2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-11 15:08:13 -07: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
behzad nouri
a49ef49f87
optimizes ReadOnlyAccountsCache LRU eviction implementation ( #22403 )
...
ReadOnlyAccountsCache is using a background thread, table scan and sort
to implement LRU eviction policy:
https://github.com/solana-labs/solana/blob/eaa52bc93/runtime/src/read_only_accounts_cache.rs#L66-L73
https://github.com/solana-labs/solana/blob/eaa52bc93/runtime/src/read_only_accounts_cache.rs#L186-L191
https://github.com/solana-labs/solana/blob/eaa52bc93/runtime/src/read_only_accounts_cache.rs#L222
DashMap internally locks each shard when accessed; so a table scan in
the background thread can create a lot of lock contention.
This commit adds an index-list queue containing cached keys in the order
that they are accessed. Each hash-map entry also includes its index into
this queue.
When an item is first entered into the cache, it is added to the end of
the queue. Also each time an entry is looked up from the cache it is
moved to the end of queue. As a result, items in the queue are always
sorted in the order that they have last been accessed. When doing LRU
eviction, cache entries are evicted from the front of the queue.
Using index-list, all queue operations above are O(1) with low overhead
and so above achieves an efficient implementation of LRU cache eviction
policy.
2022-01-11 17:25:28 +00:00
Jeff Biseda
8b66625c95
convert std::sync::mpsc to crossbeam_channel ( #22264 )
2022-01-11 02:44:46 -08:00
dependabot[bot]
04a2c19c87
Bump memmap2 from 0.5.0 to 0.5.1 ( #22409 )
...
* Bump memmap2 from 0.5.0 to 0.5.1
Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs ) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/RazrFalcon/memmap2-rs/releases )
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.0...v0.5.1 )
---
updated-dependencies:
- dependency-name: memmap2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-10 11:14:56 -07:00
Brooks Prumo
9bc2592da1
Use lazy_rent_collection directly ( #22410 )
2022-01-10 10:47:08 -06:00
dependabot[bot]
28275a33d6
Bump tempfile from 3.2.0 to 3.3.0 ( #22401 )
...
* Bump tempfile from 3.2.0 to 3.3.0
Bumps [tempfile](https://github.com/Stebalien/tempfile ) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases )
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0 )
---
updated-dependencies:
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-09 12:26:08 -07:00
Trent Nelson
3b4aad9df1
bank: fix executor cache metrics
2022-01-09 04:22:39 +00:00
dependabot[bot]
eaa52bc935
Bump zstd from 0.9.1+zstd.1.5.1 to 0.9.2+zstd.1.5.1 ( #22388 )
...
* Bump zstd from 0.9.1+zstd.1.5.1 to 0.9.2+zstd.1.5.1
Bumps [zstd](https://github.com/gyscos/zstd-rs ) from 0.9.1+zstd.1.5.1 to 0.9.2+zstd.1.5.1.
- [Release notes](https://github.com/gyscos/zstd-rs/releases )
- [Commits](https://github.com/gyscos/zstd-rs/compare/0.9.1...v0.9.2 )
---
updated-dependencies:
- dependency-name: zstd
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-08 22:21:56 +00:00
dependabot[bot]
d8ec8ca2e6
Bump blake3 from 1.2.0 to 1.3.0 ( #22373 )
...
* Bump blake3 from 1.2.0 to 1.3.0
Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3 ) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases )
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.2.0...1.3.0 )
---
updated-dependencies:
- dependency-name: blake3
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-08 20:28:04 +00:00
Brooks Prumo
d90d5ee9b6
Refactor Rent::due() with RentDue enum ( #22346 )
2022-01-08 09:03:46 -06:00
Jack May
4a9f4e2505
improve multi executor cache addition
2022-01-08 03:47:23 -07:00
Trent Nelson
ad3cb0bc93
--amend
2022-01-08 08:19:27 +00:00
Trent Nelson
4ce48307bb
bank: prime new executor cache entry use-counts
2022-01-08 08:19:27 +00:00
Trent Nelson
6d76db1de5
bank: Add executors cache metrics
2022-01-07 16:53:27 -07:00
behzad nouri
c2389fc209
removes CowCachedExecutors ( #22343 )
...
Copy-on-write semantics for cached executors can be implemented by a
simple Arc<CachedExecutors> as opposed to CowCachedExecutors:
https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L244-L247
This will also avoid the need for double locking as in:
https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3490-L3491
https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3525-L3526
2022-01-07 14:06:29 +00: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
Jack May
f1e2598baa
Retain executor cache counts ( #22322 )
2022-01-06 08:56:00 -08:00
Jeff Washington (jwash)
e0c091a9f4
factor out code in do_shrink_slot_stores ( #22306 )
2022-01-06 10:49:24 -06:00
Jeff Washington (jwash)
100293c4b5
refactor get_store_for_shrink ( #22307 )
2022-01-06 10:49:01 -06:00
Trent Nelson
390ef0fbcd
Consolidate process instruction execution timings to own struct
2022-01-06 03:56:46 -07:00
Trent Nelson
72fc6096a0
Use saturating_add_assign macro
2022-01-06 03:56:46 -07:00
Carl Lin
b25e4a200b
Add execute metrics
2022-01-06 03:56:46 -07:00
Trent Nelson
7d32909e17
move `ExecuteTimings` from `runtime::bank` to `program_runtime::timings`
2022-01-06 03:56:46 -07:00
Jack May
12e160269e
cache executors on failed transactions ( #22308 )
2022-01-05 22:09:03 -08:00
Brooks Prumo
ab13e39518
Only sum accounts data len from non-zero lamport accounts ( #22309 )
2022-01-05 23:23:37 +00:00
Justin Starry
f2ed6f09ee
Skip updating already cached executors if unmodified
2022-01-05 16:08:10 -07:00
Michael Vines
bb3a1b6b31
Add zk_token_sdk_enabled feature to gate Zk Token proof program and `sol_zk_token_elgamal_op` syscalls
2022-01-05 11:57:37 -08:00
Alexander Meißner
9f63493789
Refactor: Remove KeyedAccounts (2) ( #22274 )
...
* Adds InstructionContext::get_signers().
Improves error messages when modifying borrowed accounts.
* Removes keyed_accounts from InvokeContext tests.
* Removes keyed_accounts from message_processor.rs
* Removes keyed_accounts from bank.rs
* Removes keyed_accounts from bpf serialization.
2022-01-05 09:39:37 +01:00
Justin Starry
45458e7139
Refactor: Improve type safety and readability of transaction execution ( #22215 )
...
* Refactor Bank::load_and_execute_transactions
* Refactor: improve type safety of TransactionExecutionResult
* Add enum for extra type safety in execution results
* feedback
2022-01-05 10:15:15 +08:00
Brooks Prumo
1460f00e0f
Consume from AccountsDataMeter ( #21994 )
2022-01-04 10:00:21 -06:00
Justin Starry
2b5e00d36d
Limit number of accounts that a transaction can lock ( #22201 )
2022-01-04 14:25:23 +08: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
dependabot[bot]
672fed04cb
Bump serde from 1.0.132 to 1.0.133 ( #22233 )
...
* Bump serde from 1.0.132 to 1.0.133
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.132 to 1.0.133.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.132...v1.0.133 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-03 22:19:39 +00:00
Brooks Prumo
04b76eb066
Use AtomicUsize for next_bucket_to_flush ( #22095 )
2022-01-03 10:35:35 -06:00
Jeff Washington (jwash)
fb62407232
AcctIdx: appendvecid: u32 ( #21842 )
2022-01-03 10:35:17 -06:00
Tao Zhu
a2a7e91ad6
set secp256k1 cost similar to sigverify
2021-12-31 17:45:50 -06:00
Tao Zhu
d743c2917c
re-calibrate limit based on mainnet data, see issue #21917
2021-12-31 17:45:50 -06:00
Alexander Meißner
e529d03c11
Cleanup #22182 ( #22205 )
...
* Turns compute_units_consumed of ProcessInstructionResult into a &mut parameter.
* Removes second nesting level from test_process_instruction_compute_budget().
* Makes test_process_cross_program and test_native_invoke symmetric.
* Unifies test_process_cross_program(), test_native_invoke() and test_process_instruction_compute_budget() into test_process_instruction().
2021-12-31 17:55:27 +01:00
carllin
d06e6c7425
Count compute units even when transaction errors ( #22182 )
2021-12-30 21:21:42 -05:00
Alexander Meißner
edb20d6909
Splits index of InstructionAccount into index_in_transaction and index_in_caller. ( #22165 )
2021-12-30 15:46:36 +01:00
carllin
33d0b5e011
Revert "Count compute units even when transaction errors ( #22059 )" ( #22174 )
...
This reverts commit eaa8c67bde
.
2021-12-30 02:42:32 -05:00
Justin Starry
b1d9a2e60e
Don't forward packets received from TPU forwards port ( #22078 )
...
* Don't forward packets received from TPU forwards port
* Add banking stage test
2021-12-29 19:34:31 +01:00
carllin
eaa8c67bde
Count compute units even when transaction errors ( #22059 )
2021-12-28 17:05:11 -05:00
Tyera Eulberg
422a095647
Add (preflight) simulation to BanksClient ( #22084 )
...
* Add more-legitimate conversion from legacy Transaction to SanitizedTransaction
* Add Banks method with preflight checks
* Expose BanksClient method with preflight checks
* Unwrap simulation err
* Add Bank simulation method that works on unfrozen Banks
* Add simpler api
* Better name: BanksTransactionResultWithSimulation
2021-12-28 19:25:46 +00:00
Brooks Prumo
e3b20c443a
Use load_accounts_data_len() instead of Atomic .load() ( #22144 )
2021-12-28 13:38:20 +00:00
Brooks Prumo
800472ddf5
Add AccountsDataMeter to InvokeContext ( #21813 )
2021-12-28 05:14:48 -06: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
dependabot[bot]
bb97c8fdcd
Bump zstd from 0.9.0+zstd.1.5.0 to 0.9.1+zstd.1.5.1 ( #22105 )
...
* Bump zstd from 0.9.0+zstd.1.5.0 to 0.9.1+zstd.1.5.1
Bumps [zstd](https://github.com/gyscos/zstd-rs ) from 0.9.0+zstd.1.5.0 to 0.9.1+zstd.1.5.1.
- [Release notes](https://github.com/gyscos/zstd-rs/releases )
- [Commits](https://github.com/gyscos/zstd-rs/compare/0.9.0...0.9.1 )
---
updated-dependencies:
- dependency-name: zstd
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-25 21:26:55 -07:00
Alexander Meißner
cc947cad03
Refactor: CPI Instruction Recording ( #22111 )
...
* Unifies all InstructionRecorders of a transaction into one.
* Stops explicitly compiling CPI instructions for recording,
uses the indices gathered from instruction_accounts instead.
2021-12-25 13:35:43 +01:00
Alexander Meißner
2ab4f34c02
Refactor: Remove `Message` and `CompiledInstruction` from `InvokeContext` interfaces ( #22102 )
...
* Introduces InstructionAccount which is like AccountMeta but uses an index instead of a Pubkey
* Renames InvokeContext::create_message() to InvokeContext::prepare_instruction()
* Removes Message and CompiledInstruction from InvokeContext interfaces.
* Resolves TODOs of sol_invoke_signed() in program-test.
* Moves CompiledInstruction::visit_each_account() into invoke_context.rs
2021-12-24 16:17:55 +01:00
behzad nouri
f67ecd5c18
removes unused Cargo dependencies ( #22022 )
...
Also moving some to [dev-dependencies] so that they are not propagated
to other packages which depend on the package.
2021-12-22 17:01:33 +00:00
Jeff Washington (jwash)
61cc7b10a9
AcctIdx: respect disk idx mem size param ( #22050 )
2021-12-22 09:54:05 -06:00
Jeff Washington (jwash)
bdae2993e0
AcctIdx: hold ranges in memory uses multiple threads ( #22031 )
2021-12-21 17:31:48 -06:00
dependabot[bot]
41ec7c8be9
chore: bump num_cpus from 1.13.0 to 1.13.1 ( #22044 )
...
* chore: bump num_cpus from 1.13.0 to 1.13.1
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus ) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/seanmonstar/num_cpus/releases )
- [Changelog](https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/num_cpus/compare/v1.13.0...v1.13.1 )
---
updated-dependencies:
- dependency-name: num_cpus
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-21 00:06:14 -07:00
dependabot[bot]
8f547a6c98
chore: bump serde from 1.0.131 to 1.0.132 ( #21989 )
...
* chore: bump serde from 1.0.131 to 1.0.132
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.131 to 1.0.132.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.131...v1.0.132 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-18 07:45:20 +00:00
segfaultdoctor
76098dd42a
RPC Block Subscription ( #21787 )
...
* add stuff
* compiling
* add notify block
* wip
* feat: add blockSubscribe pubsub method
* address PR comments
Co-authored-by: Lucas B <buffalu@jito.network>
Co-authored-by: Zano <segfaultdoctor@protonmail.com>
2021-12-17 16:03:09 -07:00
mooori
0f6e8d3385
Check file size of `snapshot_version` when unarchiving snapshot ( #21925 )
2021-12-17 12:27:54 -06:00
Jeff Washington (jwash)
8ed7ad5fa7
AcctIdx: hold range recognizes already held ranges ( #21937 )
2021-12-17 10:04:41 -06:00
Jeff Washington (jwash)
729698e815
AcctIdx: items() uses held ranges ( #21954 )
2021-12-17 09:59:29 -06:00
Jeff Washington (jwash)
af53d2f692
simplify api on reconstruct_single_storage ( #21970 )
2021-12-17 09:06:23 -06:00
Alexander Meißner
66fa8f9667
Refactor: Removes `Rc` from `Refcell<AccountSharedData>` in the program-runtime ( #21927 )
...
* Removes Rc from Rc<RefCell<AccountSharedData>> in the program-runtime.
* Adjusts tests in bpf_loader, system_instruction_processor, config_processor, vote_instruction and stake_instruction
2021-12-17 14:01:12 +01:00
Jeff Washington (jwash)
c4389a6675
AcctIdx: held ranges search in lifo order ( #21964 )
2021-12-16 23:25:22 -06:00
Jeff Washington (jwash)
5d40da5688
log "next_id" to track append vec ids ( #21971 )
2021-12-16 22:41:34 -06:00
Jeff Washington (jwash)
6374995522
AcctIdx: share bucket map size for perf ( #21935 )
2021-12-16 21:25:54 -06:00
Jeff Washington (jwash)
ba777f4f56
AcctIdx: remove Option from held ranges ( #21958 )
2021-12-16 21:22:04 -06:00
Jeff Washington (jwash)
e11a1911ad
load_accounts_index_for_shrink ignores cached entries ( #21951 )
2021-12-16 16:37:08 -06:00
Justin Starry
6ff0be6a82
Clean up demote program write lock feature ( #21949 )
...
* Clean up demote program write lock feature
* fix test
2021-12-16 17:27:22 -05:00
dependabot[bot]
a5769c029f
chore: bump tar from 0.4.37 to 0.4.38 ( #21921 )
...
* chore: bump tar from 0.4.37 to 0.4.38
Bumps [tar](https://github.com/alexcrichton/tar-rs ) from 0.4.37 to 0.4.38.
- [Release notes](https://github.com/alexcrichton/tar-rs/releases )
- [Commits](https://github.com/alexcrichton/tar-rs/compare/0.4.37...0.4.38 )
---
updated-dependencies:
- dependency-name: tar
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-16 15:06:56 -07:00
Jeff Washington (jwash)
347323cbb2
use bg thread pool for shrink ( #21950 )
2021-12-16 15:54:38 -06:00
Jeff Washington (jwash)
e97da0ea15
AcctIdx: define type for serialized AppendVecId ( #21938 )
2021-12-16 08:41:01 -06:00
Jeff Washington (jwash)
18417e410e
AcctIdx: remove troublesome assert ( #21947 )
2021-12-16 08:37:05 -06:00
Alexander Meißner
49cb161203
Fixes the calculation of the "compute_meter_consumption" across process_instruction() and process_message(). ( #21944 )
2021-12-16 15:15:58 +01:00
Jeff Washington (jwash)
82672b40fd
AcctIdx: streamline metric update ( #21936 )
2021-12-15 19:52:23 -06:00
Jeff Washington (jwash)
1e0d3f13e6
AcctIdx: fix metrics bug ( #21934 )
2021-12-15 17:05:38 -06:00
Brooks Prumo
635337d2ff
Bank gets accounts data len delta from MessageProcessor::process_message()
2021-12-15 16:41:38 -06:00
Jeff Washington (jwash)
46e5350d8c
AcctInfo: store offset in AccountInfo as u32 ( #21895 )
2021-12-15 15:41:11 -06:00
Jeff Washington (jwash)
e5be96d8bf
AcctIdx: consolidate next_id calls ( #21929 )
2021-12-15 15:39:54 -06:00
Jeff Washington (jwash)
41dd31e5f4
AcctIdx: move cached store id to bit ( #21892 )
...
* AcctIdx: move cached store id to bit
* add comments/rename
2021-12-15 11:49:24 -06:00
Jeff Washington (jwash)
02fa135815
AcctIdx: create test fn get_test() to isolate changes to AcctIdx::get() ( #21909 )
2021-12-15 09:09:56 -06:00
Jeff Washington (jwash)
f4308bdb64
AcctIdx: StoredSize is u32 ( #21894 )
2021-12-14 13:50:19 -06:00
Jeff Washington (jwash)
e694acaf5f
AcctIdx: better types for AccountInfo ( #21893 )
2021-12-14 13:08:49 -06:00
Jeff Washington (jwash)
ec583bd12d
AcctIdex: use StorageLocation ( #21853 )
2021-12-14 10:27:17 -06:00
Jeff Washington (jwash)
a86fe899ac
AcctIdx: move zero lamport out of accounts index ( #21526 )
2021-12-14 09:31:42 -06:00
Justin Starry
c92c09a8be
Remove activated feature for removing inactive delegations from stakes cache ( #21732 )
...
* Remove activated feature for removing inactive delegations from stakes cache
* Fix builtin purging
2021-12-14 09:23:36 -05:00
Justin Starry
e5476913fe
Remove activated feature that checks tx signature len ( #21747 )
2021-12-14 09:23:05 -05:00
Jeff Washington (jwash)
6fc6673ead
AcctInfo: store_id private and add accessor ( #21839 )
2021-12-13 21:35:30 -06:00
Jeff Washington (jwash)
98e5ea9dce
AcctIdx: simplify AccountIndexGetResult ( #21857 )
2021-12-13 21:16:17 -06:00
Jeff Washington (jwash)
50f26ea9c0
AcctInfo: create AcctInfo with cache explicitly ( #21847 )
2021-12-13 17:35:07 -06:00
Jeff Washington (jwash)
6155ef6377
AcctInfo: make offset private, add accessor ( #21838 )
2021-12-13 14:43:26 -06:00
dependabot[bot]
8aa3d690b5
chore: bump dashmap from 4.0.2 to 5.0.0 ( #21824 )
...
* chore: bump dashmap from 4.0.2 to 5.0.0
Bumps [dashmap](https://github.com/xacrimon/dashmap ) from 4.0.2 to 5.0.0.
- [Release notes](https://github.com/xacrimon/dashmap/releases )
- [Commits](https://github.com/xacrimon/dashmap/commits/v5.0.0 )
---
updated-dependencies:
- dependency-name: dashmap
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-13 13:23:58 -07:00
Jeff Washington (jwash)
9e9a1a4876
AcctIdx: AccountInfo.lamports private ( #21819 )
2021-12-13 10:59:33 -06:00
Jeff Washington (jwash)
c9e0bde407
AcctIdx: AccountInfo::stored_size private ( #21821 )
2021-12-13 10:10:06 -06:00
Jeff Washington (jwash)
90f41fd9b7
use cost model to limit new account creation ( #21369 )
...
* use cost model to limit new account creation
* handle every system instruction
* remove &
* simplify match
* simplify match
* add datapoint for account data size
* add postgres error handling
* handle accounts:unlock_accounts
2021-12-12 14:57:18 -06:00
Jeff Washington (jwash)
025a5a3b9c
AccountInfo: construct with new() ( #21788 )
2021-12-12 14:36:05 -06:00
Jeff Washington (jwash)
825f8bcea4
use AppendVecId instead of usize ( #21792 )
2021-12-11 21:38:13 -06:00
Jeff Washington (jwash)
c5b6ea74ef
replace some .lamports checks with trait ( #21783 )
2021-12-11 21:37:33 -06:00
Jeff Washington (jwash)
4c0373b72a
introduce AtomicAppendVecId ( #21793 )
2021-12-11 21:34:35 -06:00
Jeff Washington (jwash)
ef7f49a21d
move AccountInfo to its own file ( #21784 )
2021-12-11 11:47:05 -06:00
Brooks Prumo
eeb97fe7ce
Add accounts_data_len to Bank ( #21781 )
2021-12-11 09:34:38 -06:00
Justin Starry
2bbe1d875a
Deserialize accounts before acquiring stakes cache lock ( #21733 )
...
* Deserialize stored accounts before locking stakes cache
* fix test
2021-12-10 16:02:35 -05:00
Justin Starry
9b41ddd9ba
Add address lookup table program ( #21616 )
...
* Add address lookup table program
* feedback
2021-12-10 16:02:16 -05:00
Brooks Prumo
ec7e17787e
Compute accounts data len during generate_index() ( #21757 )
2021-12-10 13:27:59 -06:00
Tyera Eulberg
80eae20610
Fix master fmt
2021-12-10 11:33:39 -07:00
Tyera Eulberg
350845c513
Move type alias and use it more broadly ( #21763 )
2021-12-10 10:46:21 -07:00
Justin Starry
fd175c1ea9
Add StakesCache struct to abstract away locking ( #21738 )
2021-12-10 10:51:33 -05:00
axleiro
622fd7c7ec
testing for the latest changes
2021-12-10 19:44:22 +05:30
dependabot[bot]
d870f566ef
chore: bump serde from 1.0.130 to 1.0.131 ( #21758 )
...
* chore: bump serde from 1.0.130 to 1.0.131
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.130 to 1.0.131.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.130...v1.0.131 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-10 08:47:46 +00:00
Tyera Eulberg
c1386d66e6
Nits in message-processor ( #21755 )
...
* Fixup typo
* Simplify types slightly
2021-12-09 23:38:36 -07:00
Jeff Washington (jwash)
16a6dceb6b
impl better debug for Ancestors ( #21737 )
2021-12-09 18:36:13 -06:00
Brooks Prumo
1528f85112
Add return types to generate_index() ( #21735 )
2021-12-09 17:15:13 -06:00
Justin Starry
6fc329180b
Add more reporting for invalid stake cache members and prune them ( #21654 )
...
* Add more reporting for invalid stake cache members
* feedback
2021-12-09 14:12:11 -05:00
Jeff Washington (jwash)
a2df1eb502
AcctIdx: disk generate index and filler accounts use more threads ( #21566 )
2021-12-09 11:54:14 -06:00
Jeff Washington (jwash)
58a7d3fc0e
AcctIdx: disable direct to disk for filler account upsert ( #21710 )
2021-12-09 10:14:57 -06:00
Jeff Washington (jwash)
0090916735
skip clean on startup, too ( #21718 )
2021-12-09 09:36:02 -06:00
Jeff Washington (jwash)
e020960f49
AcctIdx: generate index goes to mem not disk ( #21709 )
2021-12-08 19:48:12 -06:00
Jeff Washington (jwash)
54862eba0d
AcctIdx: env var to enable testing of disk buckets ( #21494 )
2021-12-08 19:47:25 -06:00
Jeff Washington (jwash)
181c0092d6
AcctIdx: resize in-mem after startup for disk index ( #21676 )
2021-12-08 16:52:22 -06:00
Jeff Washington (jwash)
8d1e5ac294
refactor and test scan abort code ( #21390 )
2021-12-08 14:09:34 -06:00
Ashwin Sekar
f0acf7681e
Add vote instructions that directly update on chain vote state ( #21531 )
...
* Add vote state instructions
UpdateVoteState and UpdateVoteStateSwitch
* cargo tree
* extract vote state version conversion to common fn
2021-12-07 16:47:26 -08:00
Alexander Meißner
1df88837c8
- Implicitly fixes invoke_context.return_data not being reset between instructions in process_message. ( #21671 )
...
- Lets InvokeContext::process_cross_program_instruction() handle the first invocation depth too.
- Marks InvokeContext::verify(), InvokeContext::verify_and_update() and InvokeContext::process_executable_chain() private.
- Renames InvokeContext::process_cross_program_instruction() to InvokeContext::process_instruction().
- Removes InvokeContext::new_mock_with_sysvars().
2021-12-07 23:00:04 +01:00
dependabot[bot]
f6801a4af4
chore: bump itertools from 0.10.1 to 0.10.3 ( #21643 )
...
* chore: bump itertools from 0.10.1 to 0.10.3
Bumps [itertools](https://github.com/rust-itertools/itertools ) from 0.10.1 to 0.10.3.
- [Release notes](https://github.com/rust-itertools/itertools/releases )
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.1...v0.10.3 )
---
updated-dependencies:
- dependency-name: itertools
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-06 23:23:26 -07:00
Brooks Prumo
da4015a959
Ensure that StakeDelegations and StakeHistory serde ( #21640 )
...
Add tests to StakeDelegations and StakeHistory to ensure that the outer
types serialize and deserialize correctly to/from the inner types.
2021-12-06 17:34:10 -06:00
Justin Starry
a1adcb23b6
Remove activated feature for filtering invalid stakes from rewards ( #21641 )
2021-12-06 17:56:05 -05:00
Justin Starry
3dab1e711d
Move transaction error code into new module ( #21635 )
2021-12-06 12:45:33 -05:00
Trent Nelson
d6f22433d0
Bump version to v1.10.0
2021-12-04 20:17:54 +00:00
Brooks Prumo
46fe56171b
Make StakeHistory clone-on-write ( #21573 )
2021-12-03 12:10:29 -06:00
Justin Starry
1430b58a6d
Remove deprecated slow epoch boundary methods ( #21568 )
2021-12-03 17:59:10 +00: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