Skip to content

Conversation

@anupsdf
Copy link
Contributor

@anupsdf anupsdf commented Jan 15, 2026

  • Bump XDR/p23 env to pick up CAP-67 changes.
  • bump xdr and related changes
  • disable test_expected_size in check-sorobans
  • Update meta frame to V4 with new config flags
  • Add {Tx,Op}EventManager for event management and adapt into the tx-apply paths
  • Adapt diagnostic events in the tx-queue workflow
  • update meta stream and generate older protocol meta with backfilling enabled (txmetav4)
  • Address review comments: naming, passing Confg to TransactionMetaFrame
  • address review comments: use raw over shared_ptr for nullable access
  • vnext test tx meta
  • remove limit on query snapshot ledgers
  • Update event logic and emit some events
  • Add event invariant
  • Run EventsAreConsistentWithEntryDiffs invariant from genesis
  • Add pre protocol 8 lumen reconciler
  • Gate events on config flags
  • Insert XLM mints at the beginning of the events vector
  • Modify backfilled SAC events
  • Remove OperationFrame from EventManager
  • Add tests and update test meta
  • Update example config
  • Remove from_muxed_id and allow memo/muxed info in mint event
  • Bump env
  • Remove redundant util methods from SorobanTxTestUtils, and rename TransactionUtil methods
  • Update events invariant for set_authorized
  • Cleanup consumeAmounts
  • Pull stellarAssetContractIDs out of AggregatedEvents
  • Update test tx meta
  • Add comment
  • Simplify check
  • Cleanup
  • Visual studio fixes.
  • Add more test coverage for fee bump feeCharged value.
  • CAP-0067 - don't emit memo in some cases
  • Fix the tx count metric - it should actually count the ops.
  • Add helpers to extract CONTRACT_CODE entries efficiently from BL.
  • Support reusable module cache with multithreaded pre-compilation
  • Make test reporter robust against odd callback order (this happens)
  • Remove mistaken 'static' from LoadGenerator soroban state.
  • Add some tracy zones
  • Fix some issues in ParseDump.py
  • Bring XDR and soroban forward to MuxedAddress contract spec.
  • Tweak Makefile.am to support debug build profile.
  • Add dump-wasm command line command.
  • Add tests for reusable module cache.
  • Record meta hashes for new tests
  • Address review comments and refresh p23 submodule
  • Remove stray include
  • emit fee events
  • fee event tests
  • test infra enhancement and more event test coverage
  • minor clean up on getPossibleMuxedData
  • update meta
  • bucketlist test fix - increase expected peak size
  • Initial algorithm for nominating valid 'parallel' tx sets.
  • Add config option to skip some validator checks for testing
  • Split up rust bridge
  • More fixes to fee bump tx tests.
  • Added Hot BucketList support to History Archive
  • assumeState and catchup tests for Hot Archive BucketList
  • Fixed protocol 23 upgrade bug on snapshot boundary
  • Fixes after rebase
  • Small fixes
  • Regnerated meta and small fixes
  • Various cleanup
  • Update core for p23 features implemented thus far.
  • Rework validateValue function
  • Skip unnecessary validation
  • Adapt fee events to TransactionEvent and emit stage
  • Cleanup some redundant comments.
  • Switch log level to INFO for few of the history archive publishing path
  • Revert unintentional rename of sorobaninfo fields.
  • Refactor transaction meta and results.
  • Regenerate LCM to pick up optional return value change.
  • Refactored InvokeHostFunctionOp with helper class
  • Backfills meta with new restore LedgerEntryChange type
  • Added validity checking for archived soroban entry index
  • Added resource ext support to invoke bridge
  • Basic autorestore functionality
  • Added meta support for autorestore, extendin-memory reads
  • Various fixes and improved tests
  • Added generated meta and TxFrame cleanup
  • Small test fixes
  • Remove experimental BucketListDB flags
  • Drop experimental background overlay flag
  • Update xdr and adapt to LCM v2
  • Adapt to new config setting
  • Update vnext test lcm
  • Implement v23 refund
  • Update tests for v23 refund change
  • Fix build
  • Introduce daily RND_SEED in CI test partitions
  • Enable thread safety static analysis in GH actions
  • Validity check for max footprint size
  • Resource supports disk read entries in p23
  • Fixes and cleanup
  • Inherit txMaxInMemoryReadEntries from txMaxDiskReadEntries.
  • Added state archival getledgerentry http endpoint
  • Fixed tests for Hot Archive invariant
  • Bump env and XDR
  • Support max footprint size in ssc
  • Stop skipping known results for fee bumps
  • Improve the check for the events invariant.
  • Make parallel tx set builder to flexibly choose the number of stages.
  • VS project passing-by fixes
  • Fix gcc CI
  • Bump overlay version to 38 for v23.0.0
  • Make block byte limits configurable for testing
  • Make TRANSACTION_QUEUE_SIZE_MULTIPLIER configurable
  • Exclude CONFIG_SETTING from getledgerentry test
  • Bump TCP test time
  • Don't charge fees for in-memory state
  • fix Visual Studio Project: * rust bridge was not build anymore * circular dependencies in .x files * "vNext" was broken when there is no "WIP" env * "clean" didn't work for rust, leading to linking with stale libraries when switching Rust features
  • Remove Queue purging after asio writes completion test
  • Fix bug in generalized tx set applied to ledger test
  • Do not trigger ledger if there were side effects inside triggerNextLedger
  • Exclude @Latin locales in make check, unsupported in Postgres
  • Fix flaky asio test, switch to loopback for better control of queuing
  • In memory merge level 0 bucket
  • Refactored Bucket merge logic
  • Small fixes
  • Switched to a variant
  • Refactored in-memory merge constructor
  • Fix settings upgrade utils read and write byte limits
  • Introduce a new abstraction for complete ledger state
  • Replace all uses of ledger state with CompleteConstLedgerState
  • Factored shadows out of some HotArchive functions
  • Add tests and update existing ones
  • Fix dangling refs in tests
  • Added ledger entry type offsets to BucketIndex
  • Initialize LCL in LedgerManager constructor
  • Fix the failed result replay.
  • getRangeForTypes modified to single type
  • Fix double evict bug in eviction scan
  • Overlay cleanup
  • Bump xdrpp
  • Fix buggy test
  • Fix restore methods in ltx
  • Check for entry in command handler
  • Parallelize Soroban
  • Fix strictOrder for the parallel phase
  • cleanup counters
  • Factor out TransactionFrame::commonPreApply
  • Add ApplyHelperBase and factor out shared addReads method
  • Factor out ApplyHelperBase::apply from derived classes
  • Split ApplyHelperBase::apply into helper functions
  • Add test
  • Refactor ExtendFootprintTTLOpFrame like InvokeHostFunctionOpFrame
  • load ttl entries in collectEntries
  • handle the scenario where an auto-restored delete was recreated
  • Update comment
  • Fix read bytes on settings upgrade utils
  • Check result of maybeAdoptFailedReplayResult
  • Avoid extra disk IO when key was restored by an earlier TX
  • Pass the auto-restored entry ids to invoke_host_function.
  • Rename RestoredKeys => RestoredEntries
  • Rename ThreadEntryMap and move LM member functions to standalone
  • Increase refundable fee in Soroban tests and regenerate meta.
  • Fix prng seed bug
  • Added more tests for autorestore meta
  • Fixed restore bug when backfilling meta <p23
  • getledgerentry returns 0 TTL for archived state
  • Fixed clang analyzer thread safety errors
  • Increase fees in TxGenerator in preparation to rent calibration PR.
  • Move internal error counter back
  • Fix events
  • Small fixes
  • Added clang-19 compilation to github CI
  • xdr cleanup
  • Update the rent configuration and computation according to CAP-66.
  • Update apply load to work with parallel soroban
  • Add missing config options to example config
  • new SAT-based, process-isolated quorum intersection checker
  • Refactor class into namespace containing static methods
  • make metrics carry through runs, output to medida
  • tighten up result handling and resource tracking
  • pick up global-memory limit change; improve tests, metrics, docs
  • Remove MODE_ENABLES_BUCKETLIST configuration option
  • Start encapsulating and centralizing parallel ledger state management.
  • Fix comments
  • Address review comments
  • Remove unused restoreFromHotArchive method
  • Move addRestoredFromHotArchive to commitChangesToLedgerTxn
  • Rename addRestoredFromHotArchive
  • Apply Load supports classic
  • Implement overlay-only mode
  • Support overlay-only mode in loadgen, add a new mode to generate traffic identical to apply load traffic
  • Add tests
  • Initialize and maintian soroban state cache
  • added ledgerSeq invariant to state cache
  • Implement CAP 70
  • Remove dead code
  • survey: gracefully handle non-fatal errors, throw in test-only builds
  • Throw proper exceptions instead of aborting
  • Harden history subsystem in case of fs failures, better logging
  • Refactor and loadgen support
  • Remove prefetching for Soroban TXs
  • Various refactors to parallel apply.
  • More refactoring par-apply functions into helper classes.
  • Factor out sub-seed calculation to reduce odds of future type-errors.
  • Allow fee bump transactions to bump inner transactions with 'invalid' inner fee in p23.
  • Add thread invariance to apply state
  • Fix typo
  • Reset and rebuild soroban tx queue on network upgrades
  • Add saturating multiply for tx queue limits
  • Cleanup and fixes
  • Use InMemorySorobanState cache for ltx loads
  • Use in-memory state for parallel apply
  • Add test
  • Use LedgerTxnReadOnly in loadFromLedger
  • Update state size window on upgrade
  • Update test tx meta
  • Move maybeUpdateBucketListWindowSize
  • Add some snapshot ledger-number asserts to parallel apply
  • Change some fatal asserts to just throws that become internal errors
  • Track Soroban in-memory state size and store it in p23.
  • Bump Soroban env to rc2
  • Fix tmpdir-reuse crash bug of new QIC
  • Disable QICv2 by default
  • Exercise RO TTL merges across threads
  • Remove unused methods
  • Fix bug and add test
  • Update test tx meta
  • Add phase invariants to LedgerManager::ApplyState
  • Allow ordering parallel soroban transactions in tests
  • Add test that uses ParallelSorobanOrder
  • Fix bug
  • Update test tx meta
  • Make sure we store the loaded ltx entry when accessing it in NetworkConfig.
  • Add test and fix lastModifiedLedgerSeq meta bug in parallel apply
  • added tests and fixed meta for ro TTL bumps
  • Allow accelerate time flag in all builds
  • Fix issue with ApplyBucket setup phase invariant
  • Fix apply phase invariant race condition
  • Add test cases for ApplyState phase edge cases
  • Fix pretty printing for Catch2.
  • Allow DeepWiki to automatically refresh
  • More parallel soroban tests
  • Cleanup unnecessary code
  • Stop preloading disk entries
  • Fix "allow trust" test on macOS
  • Settings upgrade utility improvements:
  • Add SCP timing params to sorobaninfo query
  • Update tx queue memo filtering
  • Add a set of randomized tests that ensure parallel apply logic stability.
  • make ApplicationImpl::mConfig const
  • Add meta ordering for restored keys
  • Remove incorrect assert in HotArchiveBucket merges
  • Add error handling for invalid/corrupt Bucket index files
  • Remove dead code from BucketSnapshotBase::getEntryAtOffset
  • Minor BucketList related cleanup
  • Add BucketList merge test for multiple archive restore cycles
  • Fix the parallel tx set apply order shuffle.
  • Remove dead code and move upgrade tests to acceptance
  • Check in helper script to analyze test suite performance
  • Update testing infra to use root account for soroban upgrades
  • Speed up various tests
  • Fix next meta
  • Parallel tx set building test optimization
  • Optimize tx set XDR conversion test
  • Optimize parallel apply randomized tests and move them to acceptance (they're still rather slow)
  • Bump p23 env to v23.0.0rc3
  • Add test to autorestore state from another contractID
  • Various test speedups
  • Made bucketmanager reattach to running merge deterministic
  • Populate Archived Entries in ApplyLoad
  • Simulate io with autorestore
  • Added meta diffs
  • Small refactor
  • Fix log
  • Add option to set ledgerMaxDependentTxClusters
  • Add max_dependent_tx_clusters to sorobaninfo
  • Fix flakey test generalized tx set XDR conversion
  • Fix account counts
  • Support "make RUST_PROFILE=dev" in Makefile.am
  • Add debug=true to Cargo.toml
  • Add debugging doc and check RUST_PROFILE is dev or release
  • Change non-parallel apply to use TESTDB_DEFAULT
  • Remove deprecated CREATE mode from load generator
  • Add SAC invocation and mix mode to apply-load
  • review updates
  • Added size and count metrics for in-memory caches
  • Fix settings
  • Bump soroban_proto_curr to p23
  • Bump env to v23.0.0
  • Add UNIFIED_RUST build for tsan/asan + rust builds.
  • add mod protocol_agnostic and test for soroban_curr version.
  • bump rust toolchain to 1.88 for 2024-edition deps in unified mode
  • Accept a couple recent low-risk unmaintained-dep advisories
  • only warn on multiple versions - normal part of unified build now
  • Fix apply load test
  • Route access to gRandomEngine through thread-checking accessor.
  • Fix possibly-meaningful test bugs: comparing wrong code types.
  • Fix C++17 deprecation warning in autocheck.
  • Fix class-vs-struct warning.
  • Use separate RNG in QI checker cache, fixing tsan-found race.
  • Make non-test-only code conditional on -D BUILD_TESTS.
  • Fix data loss in implicit double cast warning.
  • Fix braced scalar initializer warnings.
  • Fix unused variable warnings.
  • Fix unhandled case warning.
  • Add a couple more tracy plots.
  • Make tracy-only variable not cause warning.
  • Fix use-after-free possible during shutdown-while-indexing edge case.
  • Stop rebuilding cxxbridge constantly
  • More tests
  • Update testnet settings
  • Use bigger runners
  • Fix durableRename call in WriteVerifiedCheckpointHashesWork
  • Propagate more information in case of panic
  • remove dead variable
  • remove misleading comment
  • remove misuse of errno
  • Clean up overlay error reporting
  • Add surveying node data to survey results
  • Refactor tx fee processing meta setting into a single function.
  • Consistently use uint64_t for instructions in ParallelTxSetBuilder
  • Typo fix: getLastClosedSnapShot
  • Cleanup TransactionFrame destructors.
  • Correctly initialize core when multiple SQLite DBs are present
  • Strengthen thread invariance
  • Make custom lock guards non-copyable, non-movable
  • Ban some old C-style functions from codebase
  • 0-initialize struct
  • remove redundant clear
  • throw bad_alloc in tracy-only memory new operators
  • Be more thorough about file write error checks in new QIC
  • Format
  • Generalize failure detection in SurveyManagerTests
  • Fix tracy build
  • Fix parallel cluster tx queue instruction limit
  • Check account existance before background tx sig validation
  • Test manual restore of contract and invocation in the same ledger
  • Memo filter takes fee bumps into account
  • Update tx test meta
  • Move validateSorobanMemoForFlooding to TransactionFrameBase
  • Remove unused method
  • Initialize std::tm properly in isoStringToTm
  • Added max sac TPS test
  • Fixes
  • Cleanup prepared statements more often
  • Add copilot-instructions
  • Add startup asserts
  • Add saturatedAdd and update Herder limit calculations
  • ledgerTxn hardening
  • Report problematic function names
  • Herder: do not go out of sync if we're applying an abnormally long ledger
  • Refactor SorobanNetworkConfig to be immutable and reduce its caching.
  • Use a separate PRNG in RandomEvictionCache by default
  • Fix flaky "apply generated parallel tx sets" test.
  • Remove the [tx] tag from "apply generated parallel tx sets".
  • Add notes for past security fixes
  • Do not delete RUST_TARGET_DIR unconditionally
  • Guard emptyConfig with BUILD_TESTS
  • Parallel apply cleanup
  • Remove unused parameter
  • Simplify tx queue flooding, speed up flooding by always maintaining the queue in sorted order
  • Do not do surge pricing if all transactions fit within the limits
  • Switch payment to byte count distribution; remove pretend and manage offer transactions
  • Update quorum set documentation
  • Only propagate live contract count to metric
  • Small fixes to apply load
  • properly initialize seed for RandomEviction cache
  • Remove rust_bridge checkValid roundtrip
  • Remove option to use global prng in random evictino cache
  • Remove obsolete test (that happens to do AC_RUN and breaks some environments)
  • Changes to support Ubuntu 24.04 builds
  • Improve parallel test
  • Account for ledger close thread work when in virtual time
  • Added batched max_sac_tps configs
  • Bump soroban-test-wasms
  • Remove unsed variables in TransactionFrame::parallelApply
  • Remove redundant call to copyHotArchiveBucketList
  • Fix expensive module cache getter
  • Update histogram generator
  • Warning police
  • Productionize background tx signature validation
  • Add new metrics tracking checkValid hit/miss rates
  • Bump cache size
  • Simplify cache performance tracking + rename metric
  • Added flag for disabling soroban metrics
  • Remove redundant calls to getReadWriteKeysForStage
  • Make information about (potentially) dead nodes available to operators
  • Support building on focal
  • Remove unnecessary disk write
  • Always use ltx cache
  • Disable meta for max_sac_tps
  • Add metrics that count the number of evicted transactions.
  • Add experimental flag for dalek library
  • Use SecretKey::pseudoRandomForTesting instead of random when testing
  • Do not rebuild in-memory ledger state in some offline catchupscenarios
  • Remove kDBBackend
  • Bump env to pick up bn254, update xdr, and bump to p24
  • use resolved catchup range instead of catchup configuration
  • Add redis to the perftests image
  • Cleanup tx queue and add more metrics
  • Fixed outdated eviction bug
  • Wire up p24 soroban submodule
  • Move filtered entries to a separate file
  • Support different versions of banlist depending on protocol
  • Filtering tests
  • Test improvements
  • Add xlm to the feePool to reflect p23 burn
  • Add test
  • Switch to released version of soroban 24.0.0 (with XDR 24.0)
  • Add a fix for corrupted hot archive entries on p24 upgrade.
  • Review updates
  • Bring back formatting for the string literals as strings over 16k break at least Windows build
  • Update submodule to point at the public env repo
  • Prepare p24 build for CI
  • Add P23 corruption data verification tool.
  • Build fixes for integration between v24 branch and the main branch.
  • Regenerate meta (it was partially messed up in the v24 release branch)
  • Consistently use struct for the type of Protocol23CorruptionDataVerifier
  • Cleanup changes merged from P24 branch.
  • Emit events for p23 SAC mint/burns and update the EventsAreConsistentWithEntryDiffs invariant
  • Remove matrix scenario to get most cache hits in expense of slightly longer CI run
  • Switch BucketManager to AppConnector
  • Make ci-build.sh idempotent
  • Introduce State Archival Invariant
  • Add @SirTyson's fix to cereal_override
  • preload all entries at once, log slow functions
  • Remove duplication in state loading helpers
  • Address feedback from code review
  • Avoid redundant eviction disk reads in p23
  • Add tests for eviction iter reset when eviction disabled
  • Fix feePool upgrade logic past p24
  • Reduce memory consumption of state archival startup check, make it opt-in
  • Cancel old runs on the same PR on every new push
  • Update autoconf to new version, to silence noise-warnings
  • Make build steps a little more idempotent
  • Move --check-test-tx-meta into mandatory 2nd pass of ci-build.sh
  • bump ulimit for more concurrent tests
  • bump ccache size from 500M => 800M
  • Remove old TRAVIS variable
  • Support out-of-tree builds
  • Switch build.yml to namespace runners
  • Add build-mac job
  • Use mtime-travel to speed up CI
  • Add SKIP_SOROBAN_TESTS and use in second CI run
  • Avoid double-testing the same rev during merge queues
  • make shell scripts mergeable
  • make mtime-travel optional
  • typo
  • rev-parse from correct dir
  • Fix git diff issue
  • revert ci-build.sh and build.yml to b1bd05e
  • Revert "Update autoconf to new version, to silence noise-warnings"
  • Call createCostTypesForV25 and add new cpu and mem cost types
  • Rollback vnext xdr to pre-poseidon and create p25 submodule
  • Fix isValidCostParams
  • ledger close meta
  • fix settings upgrade test
  • pass protocol versions to check-sorobans to run
  • cleanup
  • Bump env and xdr
  • Update bn254 cost types due to re-calibration
  • Update tests and test meta
  • Bump env again to pickup budget fix and xdr bump
  • Avoid calling stream.pos()
  • Reduce noise in CI output
  • Add support for TTL in XDR query utility.
  • Annotate BucketManager mutex
  • Enforce lock order relationship between LedgerManager and BucketManager locks
  • Keep track of known TSan false positives
  • Graceful shutdown in Simulation class and other fixes
  • Scheduler bugfix
  • Rewrite shutdown sequence to stop background work before object destruction begins
  • make windows rust build script easier to maintain
  • Visual C++ build errors
  • Updating security notes on state archival bug fixed in stellar-core v24.4.0
  • Fix BuckerManager compile issue
  • Add a way to query Hot Archive via dump-ledger.
  • Move the Soroban memo check to protocol starting from p25.
  • Test fixes and code hardening in preparation for parallel features
  • Added state snapshot invariant tests
  • Small fixes
  • More cleanup
  • Added timer for snapshot invariant test
  • Refactored snapshot invariant dispatch path
  • Update testnet settings to use multiple apply threads.
  • Misc improvements for apply-load tool.
  • Reduce test suite runtime and various cleanups to snapshot invariance
  • Jitter injection framework for threads
  • Update Github CI to run on Ubuntu 24.04 with clang-20
  • Formatted using clang-format-20
  • Run GH CI builds with check-test-tx-meta in parallel temporarily
  • Revert Dockerfile changes so that STELLAR_CORE_VERSION would have distro appended
  • Bump protocol version v25, bump curr xdr, and remove protocol gating
  • Update test meta
  • Bump env for bn254 update
  • Don't populate inner feeCharged in fee bump tx results starting from p25.
  • Remove rewriteOptionalFieldKeys
  • Bump xdr and env for rc1
  • Bump env to stable v25
  • Decrease the max entry TTL to ~4 weeks for testnet.
  • Revert "revert ci-build.sh and build.yml to b1bd05e"
  • make libunwind configury a little better
  • Ensure expired entries are never modified by LedgerTxn
  • Generalize util to get assetContractInfo.
  • Add new calculate-asset-supply command
  • Small improvements to the jitter framework
  • Small clean ups
  • Harden eviction scan interface
  • Remove confusing ltxEvictions
  • Delete old DB migration code
  • Graceful shutdown for HTTP query server
  • Add shutdown function for CommandHandler
  • Update references from old go repo
  • Add options for stripping upgrades from Values
  • Better error handling around failed upgrade loads
  • Simplify overUpgradeTimeoutLimit logic
  • Fix SCP logging
  • Enable background tx signature verification by default
  • Fix race in index creation on merge
  • Move inMemoryState init to Bucket constructor for safety
  • Add unit test for bucket index race
  • Copy the snapshot before passing it to background eviction scan
  • Fix tracy build
  • Add metrics for eviction scan duration
  • cache, check and short-circuit on reused last-tested-commit in namespace cache volume
  • merge various jobs into single static-checks to save costs
  • Fix lower bound for testnet maxEntryTTL and add logging
  • Revert testnet maxEntryTTL to pubnet value
  • Update docs
  • add quickstart workflow ci
  • Increase granularity of SAC max TPS test.
  • Add SimpleTimer class and registry for measuring point loads
  • Fix some missing durable writes in CheckpointBuilder
  • Fix build without tests.
  • Update ConservationOfLumens to add a snapshot invariant
  • add test
  • shutdown early
  • Fix overflow error handling in ConservationOfLumens
  • Optimization
  • Add isStopping check to ArchivedStateConsistency invariant
  • Improve ConservationOfLumens snapshot test
  • Remove unnecessary check
  • fixup! Improve ConservationOfLumens snapshot test
  • Add apply-load mode for searching ledger limits.
  • Update testnet instruction limits to 600M
  • Disable lumen invariant in test that pushes new accounts directly into the bucket list
  • Add and use LedgerEntryScope and ScopedLedgerEntry
  • Restrict valid ScopedLedgerEntry adoptions to a static list
  • Add ScopedOptionalLedgerEntry that tracks scope of options
  • Address review comment about global deactivation during thread setup.
  • Fix scope macros
  • Remove key() from scoped ledger entry types
  • Regularize naming, address more review comments
  • Add comments explaining LedgerEntryScope system.
  • Switch modify_in_scope to a lambda to avoid accidental copies
  • Fix naming to camelCase
  • Remove accidentally-left-behind redundant prototypes
  • Fix roTTLbump merge bug introduced with modifyInScope lambda change
  • Minor improvements to publishing
  • Fix snapshot invariant race
  • Add SQLite support for parallel apply by splitting the database
  • Enable parallel apply
  • Add tests
  • Minor rename for clarity
  • Clear prepared statements cache at the end of catchup
  • Drop prepared statement cache
  • Consistently use toStellarValue
  • Remove master from build workflow
  • Fix misc pool exception and relevant test

Description

Resolves #X

Checklist

  • Reviewed the contributing document
  • Rebased on top of master (no merge commits)
  • Ran clang-format v8.0.0 (via make format or the Visual Studio extension)
  • Compiles
  • Ran all tests
  • If change impacts performance, include supporting evidence per the performance document

jacekn and others added 30 commits October 16, 2025 15:06
### What

Add redis to the perftests image

### Why

Redis-cli is a dependency of the paralle catchup V2 supercluster mission.
We'd like to run parallel catchup with the perftests build as it's faster
than the buildtests build.
### What

Add redis to the perftests image

### Why

Redis-cli is a dependency of the paralle catchup V2 supercluster
mission. We'd like to run parallel catchup with the perftests build as
it's faster than the buildtests build.
This only affects entries that have been archived in a corrupted state (due to bug in p23 eviction code) and have never been restored. Since the hot archive state is normally only observable when the entry actually gets restored, we don't emit any specific meta for this. The downstream observers will observe the correct value during the restoration (i.e. exactly the same value as the one that has been archived).

The fix currently hardcodes all the 478 affected entries, including these that have since been restored and updated. This should be fine though, as the upgrade logic ensures that only the archived entries that match our corrupted state expectations are actually fixed, i.e. the live entries will be simply ignored during the upgrade.
This has been developed on a branch without CI, so we've missed quite a few necessary updates to test data.
This allows specifying an external CSV table that contains the expected p23 Hot Archive corruption data. Then during catchup that covers the whole range of p23 and the upgrade to p24 the file is used to verify that:

- Only the entries from the table are ever incorrectly archived, and that their correct and archived states match those in the table
- Every entry from the table has indeed been incorrectly archived
- The entries that have been marked as restored in the table were indeed restored with the expected corrupted state
- During the protocol 24 upgrade only the entries from the table that have never been restored have been updated, and that the update has brought them back to the correct state
# Description

Merge changes from v24 release branch to `master`.

# Checklist
- [ ] Reviewed the
[contributing](https://github.com/stellar/stellar-core/blob/master/CONTRIBUTING.md#submitting-changes)
document
- [ ] Rebased on top of master (no merge commits)
- [ ] Ran `clang-format` v8.0.0 (via `make format` or the Visual Studio
extension)
- [ ] Compiles
- [ ] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the
[performance
document](https://github.com/stellar/stellar-core/blob/master/performance-eval/performance-eval.md)
…rifier` (stellar#4973)

Fixes the following build warning

```
In file included from main/ApplicationImpl.cpp:40:
./ledger/P23HotArchiveBug.h:55:1: warning: 'Protocol23CorruptionDataVerifier' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
   55 | struct Protocol23CorruptionDataVerifier
      | ^
main/ApplicationImpl.h:41:1: note: did you mean struct here?
   41 | class Protocol23CorruptionDataVerifier;
      | ^~~~~
      | struct
./main/Application.h:51:1: note: did you mean struct here?
   51 | class Protocol23CorruptionDataVerifier;
      | ^~~~~
      | struct
```
- Remove p23-related logic for filtering transactions that interact with keys affected by the data corruption issue
- Get rid of `isP24UpgradeLedger` flag
- Make some checks for p24 upgrade hot archive fixes more strict, now that the upgrade has actually happened
- Fix typos in the metric names (that's actually not from p24 branch, but has been noticed in the merge PR)
# Description

Cleanup changes merged from P24 branch.

- Remove p23-related logic for filtering transactions that interact with
keys affected by the data corruption issue
- Get rid of `isP24UpgradeLedger` flag
- Make some checks for p24 upgrade hot archive fixes more strict, now
that the upgrade has actually happened
- Fix typos in the metric names (that's actually not from p24 branch,
but has been noticed in the merge PR)

# Checklist
- [ ] Reviewed the
[contributing](https://github.com/stellar/stellar-core/blob/master/CONTRIBUTING.md#submitting-changes)
document
- [ ] Rebased on top of master (no merge commits)
- [ ] Ran `clang-format` v8.0.0 (via `make format` or the Visual Studio
extension)
- [ ] Compiles
- [ ] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the
[performance
document](https://github.com/stellar/stellar-core/blob/master/performance-eval/performance-eval.md)
# Description

Emit p23 mint/burn events for the SAC. I tested this against pubnet, but
need to figure out how to write a simple test case for the new code
path.

<!---

Describe what this pull request does, which issue it's resolving
(usually applicable for code changes).

--->

# Checklist
- [ ] Reviewed the
[contributing](https://github.com/stellar/stellar-core/blob/master/CONTRIBUTING.md#submitting-changes)
document
- [ ] Rebased on top of master (no merge commits)
- [ ] Ran `clang-format` v8.0.0 (via `make format` or the Visual Studio
extension)
- [ ] Compiles
- [ ] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the
[performance
document](https://github.com/stellar/stellar-core/blob/master/performance-eval/performance-eval.md)
graydon and others added 24 commits January 7, 2026 13:15
This is an initial implementation of the idea described in stellar#4971 -- what
I'm now calling "ledger entry scopes"

At a high level, the idea here is to:
- Wrap `LedgerEntries` in helper classes called `ScopedLedgerEntry<S>`
where `S` is one of a _static_ set of known scope-types
(`GLOBAL_PAR_APPLY_STATE`, `THREAD_PAR_APPLY_STATE`,
`TX_PAR_APPLY_STATE` and so forth).
- Add a mix-in class `LedgerEntryScope<S>` that is inherited by each
class we use to store "random hashtables-full-of-LedgerEntries" like
`ThreadParallelApplyLedgerState` or `GlobalParallelApplyLedgerState` or
such)
- Require that when you unwrap a `ScopedLedgerEntry` to read or modify
the contained `LedgerEntry`, you _provide the scope_ you're reading or
writing it in, and _statically require_ the `S` parameters match.
- Also _dynamically require_ that a couple other parameters stored in
the `ScopedLedgerEntry` match the scope: the ledger number and a generic
"index" number which can be used to encode either the thread-cluster
number or the bucket list number or similar things where there are "a
bunch of similar groups of LEs that should nonetheless be kept
separate".
- Track when each of those scopes is "active" the same way the LTX
thinks about active-ness: when active you can do the read/write actions
directly, but when _inactive_ all you can do is "adopt" the entries into
some other scope for reading and writing. This is to help catch stale
reads on entries from inactive scopes (eg. reading from the global scope
directly rather than through a single method that adopts from global ->
thread and then reads at the thread scope)

All told this should provide a similar level of protection from stale
reads as we're getting with the LTX, but in a sort of "decentralized"
way that doesn't require uniformly using an LTX for everything. Neither
system provides perfect protection against stale reads -- you can hold
on to an unwrapped LedgerEntry longer than you should or pass it
somewhere you shouldn't -- but it at least gives us a bit more structure
to lean on to prevent such errors.

## Caveats

It's _not_ wired-in to the bucket list or in-memory soroban state yet. I
mean to do so but that'll come later.

I tried to be a little more _explicit_ than the methods in the LTX: to
not use operator* or operator(bool) or such, and not rely on destructors
more than necessary (there's one guard object type to help with
exception safety). I also named all the scope-mixin-provided methods
with `scope_` as a prefix, which might make it a little more verbose but
I think clarity should be the main priority with this code.
Increase ledger_max_instructions and tx_max_instructions to 600000000 to
support higher computational throughput on testnet.

# Checklist
- [ ] Reviewed the
[contributing](https://github.com/stellar/stellar-core/blob/master/CONTRIBUTING.md#submitting-changes)
document
- [ ] Rebased on top of master (no merge commits)
- [ ] Ran `clang-format` v8.0.0 (via `make format` or the Visual Studio
extension)
- [ ] Compiles
- [ ] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the
[performance
document](https://github.com/stellar/stellar-core/blob/master/performance-eval/performance-eval.md)
Small follow up to stellar#5081 to better handle some edge cases
- Move the exception about potentially corrupt checkpoints further down
the recovery function to capture all possible recovery failures.
- Handle cases where publishing was enabled mid-checkpoint: skip
publishing of the incomplete file, start publishing on the _next_
checkpoint.
# Description

Fixes a race due to not copying snapshots.

<!---

Describe what this pull request does, which issue it's resolving
(usually applicable for code changes).

--->

# Checklist
- [ ] Reviewed the
[contributing](https://github.com/stellar/stellar-core/blob/master/CONTRIBUTING.md#submitting-changes)
document
- [ ] Rebased on top of master (no merge commits)
- [ ] Ran `clang-format` v8.0.0 (via `make format` or the Visual Studio
extension)
- [ ] Compiles
- [ ] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the
[performance
document](https://github.com/stellar/stellar-core/blob/master/performance-eval/performance-eval.md)
Reason we didn't run into this previously was because LedgerTxn always
clears prepared statements cache on commit/rollback. in
`setLastClosedLedger` we were lucky to call LedgerTxn prior to
`clearRebuildForOfferTable`, which cleared the cache. With the switch to
multiple DB sessions, we now need to explicitly clean up main session
prepared statement cache on startup when we setup state.
This change refactors the codebase to consistently use `toStellarValue`
over various other one-off methods of working with values.
With recent bugs like stellar#5093 I realized prepared statements at this point
cause more harm than good. We've moved to BucketListDB as a backend a
while ago, removed SQL from publishing completely, and now the use of
SQL in the codebase is minimal. In addition, for the remaining SQL bits
like offers, we do batch load/inserts. The lack of consistent clearing
discipline as described in
stellar#1591 makes this even
harder to think about. On pubnet infra, it looks like we're executing
30-50 queries per second, which is fairly low. This PR removes prepared
statement caching completely. I'm currently doing a perf evaluation of
this change, but we can probably merge it and if needed, bring back
caching for subsystems that could benefit from it.
This change refactors the codebase to consistently use `toStellarValue`
over various other one-off methods of working with values.
This change removes `master` from the set of branches that trigger
`build.yml` workflow runs.

The reason is that we currently build twice: once during the merge queue
run, and once when master moves. Even though master is going to move to
the exact same revision that the merge queue just tested.

We do this on the off chance that master moved for some other reason
(eg. someone did a force push).

We try to _inhibit_ double-execution of CI by maintaining a somewhat
fragile "which rev did we just test" file in the cache volume. But for
this to work, cache volume hits have to be 100%, and they're presently
nowhere near that. Every time there's a miss it will cost us an extra
run.

This PR proposes to remove `master` entirely and assume that 99.99% of
the time nobody will ever force push to master, and if they _do_ they
can also just manually run the CI action, it's just another button you
can push. The odds that this will really be a problem in practice are
very low and if it ever happened the very worst case would be that the
next merge would notice it. IMO the savings in pointless re-executions
are worth that (extremely small) risk.
@socket-security
Copy link

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
License policy violation: cargo cfg_eval under Apache-2.0 AND MIT AND Zlib

Location: Package overview

From: ?cargo/cfg_eval@0.1.2

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/cfg_eval@0.1.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: cargo curve25519-dalek under BSD-3-Clause

Location: Package overview

From: ?cargo/curve25519-dalek@4.1.3

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/curve25519-dalek@4.1.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: cargo ed25519-dalek under BSD-3-Clause

Location: Package overview

From: ?cargo/ed25519-dalek@2.2.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/ed25519-dalek@2.2.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: cargo petgraph under CC-BY-SA-4.0

License: CC-BY-SA-4.0 - the applicable license policy does not allow this license (4) (petgraph-0.6.5/assets/LICENSE.md)

From: ?cargo/petgraph@0.6.5

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/petgraph@0.6.5. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: cargo subtle under BSD-3-Clause

Location: Package overview

From: ?cargo/subtle@2.6.1

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/subtle@2.6.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: cargo wasmparser-nostd

License: Apache-2.0 WITH LLVM-exception - the applicable license policy does not allow this license exception (wasmparser-nostd-0.100.2/Cargo.toml)

From: ?cargo/wasmparser-nostd@0.100.2

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/wasmparser-nostd@0.100.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: cargo zerocopy-derive

Location: Package overview

From: ?cargo/zerocopy-derive@0.7.35

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/zerocopy-derive@0.7.35. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: cargo zerocopy

Location: Package overview

From: ?cargo/zerocopy@0.7.35

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/zerocopy@0.7.35. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi black under MIT AND Python-2.0.1

Location: Package overview

From: ?pypi/black@25.1.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/black@25.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

See 88 more rows in the dashboard

View full report

@anupsdf anupsdf marked this pull request as ready for review January 15, 2026 18:27
Copilot AI review requested due to automatic review settings January 15, 2026 18:27
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This is a large sync of the testnet branch with master, bringing in numerous protocol changes primarily focused on:

  • Protocol 23 (Soroban state archival): Eviction scanning, in-memory state management, Hot Archive BucketList
  • Protocol 24-25: Various Soroban improvements and new features
  • Performance optimizations: In-memory bucket merges, improved caching, index improvements
  • Infrastructure: Test framework improvements, CI updates, build system updates

Changes:

  • Added Rust ed25519-dalek signature verification with new VerifySigResult return type
  • Implemented in-memory bucket merge optimization for level 0 buckets
  • Removed HOT_ARCHIVE_DELETED entry type (now only ARCHIVED and LIVE)
  • Enhanced bucket indexing with type-specific range lookups
  • Updated random number generator usage patterns throughout codebase
  • Moved #pragma once to after copyright headers consistently
  • Updated const placement to follow project style (const after type)

Reviewed changes

Copilot reviewed 154 out of 840 changed files in this pull request and generated 3 comments.

File Description
src/crypto/* Updated signature verification API with VerifySigResult, added Rust dalek support, moved pragma once, const placement fixes
src/catchup/* Updated catchup workflow to remove bucket retention parameter, handle LedgerCloseMeta v2, formatting fixes
src/bucket/* Major refactoring: in-memory merges, removed deleted entries from hot archive, type range indexing, improved eviction scanning

@anupsdf anupsdf merged commit 2a8dd53 into stellar:testnet Jan 15, 2026
66 of 69 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.