Commit Graph

23963 Commits

Author SHA1 Message Date
Joe C 25460f76e7
Bank: Add function to replace empty account with upgradeable program on feature activation (#32783)
* replace program account

* modify for all cases

* remove non-data swap

* address tests & conditional feedback

* get the rent involved

* mix in owner & executable

* feature-related cases

* stripped back to feature-specific case only

* added feature

* address initial feedback

* added more lamport checks

* condense tests

* using test_case

* add fail cases to tests

* more cleanup

* add verifiably built program

* update program account state

* cleaned up serializing logic

* use full word capitalization

* rename old & new to dst & src

* swap src and dst in parameters

* add warnings and errors

* rename feature to programify

* test suite description clarity

* remove strings from datapoints

* spell out source and destination

* more verbose comments in account replace functions

* move lamport calculation

* swap lamport check for state check

* move replace functions to helper module

* make replace_account methods fallible

* refactor error handling

* add test for source program state
2023-10-04 19:54:59 +02:00
Brooks 5a9956824f
Uses `IntSet` for `RootsTracker::uncleaned_roots` (#33524) 2023-10-04 13:26:31 -04:00
Brooks d41fa346cc
Uses `IntSet` for `ShrinkCandidates` (#33522) 2023-10-04 13:07:35 -04:00
kirill lykov a25bb2e303
Add error messages for BlockstoreError (#33427)
* Add error messages for BlockstoreError

* display underlying errors

* address PR comments: remove unnecessary error from msg

Co-authored-by: steviez <stevecz@umich.edu>

* fix typo

Co-authored-by: steviez <stevecz@umich.edu>

---------

Co-authored-by: steviez <stevecz@umich.edu>
2023-10-04 18:17:42 +02:00
Brooks daaeb7410e
Adds solana-nohash-hasher (#33521) 2023-10-04 15:56:39 +00:00
Ashwin Sekar d4941cc420
initialize with new VoteState for tests (#33518) 2023-10-04 08:47:47 -07:00
Andrew Fitzgerald 5a95e5676e
Manually add lookup table addresses instead of sanitizing (#33273) 2023-10-04 08:04:43 -07:00
Ryo Onodera 05ddbf3b91
Define generic AbiExample for OnceLock (#33520)
* Define generic AbiExample for OnceLock

* Guard with cfg...

cargo-test-sbf (governance/addin-mock/program, governance/program):
error[E0658]: use of unstable library feature 'once_cell'
   --> src/abi_example.rs:559:36
     |
 559 | impl<T: AbiExample> AbiExample for std::sync::OnceLock<T> {
     |                                    ^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
     = help: add `#![feature(once_cell)]` to the crate attributes to enable
2023-10-04 23:09:43 +09:00
Yihau Chen c9d04bcfe6
chore(solana-frozen-abi): remove unused deps (#33436)
* chore: remove unused deps

* ci: increase regression of build redundancy
2023-10-04 12:00:25 +08:00
Tyera 144e6d6eec
Blockstore special columns: minimize deletes in PurgeType::Exact (#33498)
* Adjust test_purge_transaction_status_exact to test slots that cross primary indexes

* Minimize deletes by checking the primary-index range

* Fix test_purge_special_columns_compaction_filter
2023-10-04 00:58:30 +00:00
Ryo Onodera eb262aabe3
Enable the banking trace by default (#33497) 2023-10-04 09:01:28 +09:00
steviez 9761e6f251
Remove dummy entries in Blockstore special columns (#33511)
These entries were found to improve compaction performance when
LedgerCleanupService was performing direct compactions on each primary
index. Cleaning by primary index has been deprecated for a while, and
as such, these dummy entries are no longer needed and can be removed.
2023-10-03 15:53:55 -05:00
mvines 3008cd8ac1
Add SIMD field to feature gate issue template (#33495) 2023-10-03 09:32:13 -07:00
Will Hickey c6ee69e0dc
Update version to v1.18.0 (#33487) 2023-10-03 10:20:24 -05:00
Yihau Chen b87c8d163d
ci: remove stable-perf from PR and push CI (#33479)
ci: move stable-perf to nightly pipeline
2023-10-03 12:37:36 +08:00
Tyera 7adab97ffd
Add test for compaction filter purge (#33494)
* Add Database::compact_range_cf method

* Add test of CompactionFilter purge
2023-10-02 20:22:51 -06:00
steviez 3eae980293
Minor cleanup on some snapshot related tests (#33485) 2023-10-02 20:25:30 +02:00
steviez 73e9e6dd70
Deprecate bz2/gzip/none/tar snapshot compression types (#33484)
These options are now disallowed on the command line for
solana-validator and solana-ledger-tool, which effectively means no more
snapshots will be created with this types in normal usecases. However,
support for reading the deprecated types is still in place.
2023-10-02 19:40:31 +02:00
Will Hickey ae4e33efc9
Update mergify backport actions for new minor version (#33490) 2023-10-02 12:31:06 -05:00
Alexander Meißner 8033be333e
Refactor - `LoadedPrograms` (#33482)
* Adds type ProgramRuntimeEnvironment.

* Moves LoadedPrograms::remove_expired_entries() into LoadedPrograms::prune().

* Adds Stats::prunes_environment and renames Stats::prunes_orphan and Stats::prunes_expired.

* Adds LoadedPrograms::latest_root_epoch.

* Typo fix, authored-by: Dmitri Makarov <dmakarov@users.noreply.github.com>
2023-10-02 19:01:23 +02:00
Andrew Fitzgerald 660e41a8e1
Remove entry shuffling (#33378) 2023-10-02 09:03:12 -07:00
dependabot[bot] 3508b7d84e
build(deps): bump regex from 1.9.5 to 1.9.6 (#33481)
* build(deps): bump regex from 1.9.5 to 1.9.6

Bumps [regex](https://github.com/rust-lang/regex) from 1.9.5 to 1.9.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.5...1.9.6)

---
updated-dependencies:
- dependency-name: regex
  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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-10-02 10:47:51 +00:00
ch9xy 9f6ef2fe62
Typo fix in instruction.rs (#33473)
Typo fix
2023-09-30 06:05:05 +00:00
HaoranYi bb19ebed49
Convert tuple into dedup result struct (#33450)
convert tupe into dedup result struct

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-09-29 21:12:50 -05:00
Jon Cinque d5195921a9
transaction-status: Remove conversions between spl re-exports and local sdk (#33456)
* transaction-status: Remove `convert_pubkey`

Ran `git g -l convert_pubkey | xargs sed -i'' -re 's/convert_pubkey\(([^)]+)\)/\1/g'`

* Remove convert_compiled_instruction

Ran `git g -l convert_compiled_instruction | xargs sed -i'' -re 's/convert_compiled_instruction\(([^)]+)\)/\1/g'`

* Cleanup + clippy

* Remove instruction conversions in new extensions

* Run clippy --fix
2023-09-30 00:40:48 +02:00
steviez 4866789b67
Fix off-by-one bug in Blockstore::purge_exact() (#33463) 2023-09-30 00:14:40 +02:00
carllin ec2e1241a1
Cleanup select_vote_and_reset_forks() (#33421) 2023-09-29 15:11:25 -07:00
Yihau Chen bdc4cbba47
ci: fix Windows build (#33467)
ci: fix windows build
2023-09-30 01:46:54 +08:00
Jon Cinque de38b05ad1
spl: Bump token-2022 and friends (#33453)
* token: Update to 4.0.0

* token-2022: Bump and support new account and instruction types

* Update token-2022 in fetch_spl / program-test

* Fixup downstream uses

* Mint and destination were flipped in 0.9.0

* Don't use `convert_pubkey`

* Bump spl dependencies to versions which avoid recompilations
2023-09-29 19:12:06 +02:00
Brooks 0e9e91c65e
Drops the shrink_candidate_slots lock after done inserting (#33459) 2023-09-29 16:58:55 +00:00
Brooks b81ff5d654
Fixup the metrics for remove_dead_accounts_shrink_us (#33458) 2023-09-29 16:04:33 +00:00
Greg Cusack 1261b3d496
gossip test update (#33431)
fix bug in gossip test
2023-09-29 08:57:32 -07:00
HaoranYi 6ea51280dd
Move sort timer out of loop (#33448)
move sort timer out of loop

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-09-28 20:10:41 -05:00
Andrew Fitzgerald e3cd13e49d
Add new received forwarded packets metric to banking stage (#33414) 2023-09-28 09:25:10 -07:00
Tao Zhu cc4e9283db
reduce WARN logging to only necessary scenario (#33408) 2023-09-28 09:53:17 -05:00
samkim-crypto ec36369e47
[clap-v3-utils] Deprecate input validators and add parsers to replace them (#33276)
* add tests for validating `Pubkey` and `Hash`

* add pubkey signature parser

* add parsers for straightforward validators

* add parser for token amounts

* add parser for derivation and seeds

* resolve warnings from deprecations in clap-v3-utils

* remove some deprecated functions from `solana_keygen`

* refactor signer related input parsers into a submodule

* fix deprecation notice for utl

* refactor parsers in `input_validators` to `input_parsers`

* cargo fmt

* Apply suggestions from code review

Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>

* Update clap-v3-utils/src/input_parsers/mod.rs

Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>

* mionr fixes to build

* add deprecation notice for old `input_parsers::signer` functions

* update `UiTokenAmount` to `Amount`

* refactor to-be-deprecated functions back to `input_parsers/mod.rs

* fmt

---------

Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
2023-09-28 07:03:41 -07:00
HaoranYi 25c27d452c
hash dedup vec (#33246)
* hash_dedup vec algo

* reviews

* reviews

* more reviews

* simplify working_set init with add_next_item

* refactor to remove special case "new" from add_item.

The new change is that, even the new item is the new min, it will still be added to working_set.
This change will make init working_set code simpler and the loop loop check simpler.
Since the item is inserted in at the end of the vector, the cost of push into and pop from the working will be O(1), shouldn't affect performance much.

* comments

* refactor unnamed tuple in working set to SlotGroupPointer type

* use SlotGroupPointer in ItemLocation

* Add Copy traits to avoid explicty call of clone on SlotGroupPointer

* consume next in add_next_item fn (credit to jeff).

note that the old code is still correct, since before call to
add_next_item, we will have already overwritten `next` to correct value.

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-09-28 08:58:08 -05:00
steviez 5b9a167c51
Add uniform start/stop log lines for background hash verification (#33441)
Add uniform start/stop log lines for background hash verification
2023-09-28 15:13:51 +02:00
Jon Cinque fa968da32e
cli: Don't skip preflight when interacting with programs (#33426)
* cli: Don't skip preflight when closing a program

* Don't skip preflight anywhere for program deploys, fix test
2023-09-28 15:08:11 +02:00
Yihau Chen 0b2beba357
chore(bpf): remove unused deps (#33435)
chore: remove unused deps
2023-09-28 11:16:16 +00:00
dependabot[bot] fa168e3cd1
build(deps): bump indexmap from 2.0.0 to 2.0.1 (#33439)
* build(deps): bump indexmap from 2.0.0 to 2.0.1

Bumps [indexmap](https://github.com/bluss/indexmap) from 2.0.0 to 2.0.1.
- [Changelog](https://github.com/bluss/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/bluss/indexmap/commits)

---
updated-dependencies:
- dependency-name: indexmap
  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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-09-28 09:13:52 +00:00
Yihau Chen c0100b13ef
ci: fix cargo files changes doens't trigger doc tests (#33438) 2023-09-28 07:01:14 +00:00
Kevin Ji 5d11227088
Mark *.sh files with `#!` as executable (#33303) 2023-09-28 10:32:44 +08:00
Steven Luscher 511182479b
docs: add direct link to StackExchange from the On-Chain Programs docs (#32937)
* docs: add direct link to StackExchange from the On-Chain Programs docs

* Update link to Discord.

Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com>

---------

Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com>
2023-09-27 16:36:08 +00:00
Lijun Wang 3fbfa0e0da
Simplify code and use match to harden logic (#33409)
addressed more feedback from Jon: Simplify code and use match to harden logic in connection cache
2023-09-27 09:35:19 -07:00
Yihau Chen 3608378097
chore(solana-accounts-db): remove unused deps (#33429) 2023-09-27 16:27:40 +00:00
Jon Cinque f502dbc54e
ci: Re-enable spl-stake-pool downstream job (#33425) 2023-09-27 17:37:28 +02:00
Yihau Chen ca92e9c387
chore(solana-accounts-db): remove unused deps (#33420) 2023-09-27 11:02:05 +00:00
dependabot[bot] 634eede841
build(deps): bump thiserror from 1.0.48 to 1.0.49 (#33423)
* build(deps): bump thiserror from 1.0.48 to 1.0.49

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.48 to 1.0.49.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.48...1.0.49)

---
updated-dependencies:
- dependency-name: thiserror
  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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-09-27 09:45:14 +00:00
dependabot[bot] 177fd08707
build(deps): bump blake3 from 1.4.1 to 1.5.0 (#33368)
* build(deps): bump blake3 from 1.4.1 to 1.5.0

Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases)
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.4.1...1.5.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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-09-26 19:52:49 -06:00