Skip to content

fix: run Solana program tests in CI (#194) - #213

Closed
Emmycivity wants to merge 117 commits into
wraith-protocol:mainfrom
Emmycivity:fix/194-solana-ci-tests
Closed

Emmycivity wants to merge 117 commits into
wraith-protocol:mainfrom
Emmycivity:fix/194-solana-ci-tests

Conversation

@Emmycivity

Copy link
Copy Markdown

Closes #194

  • Run the complete Anchor test suite with a local validator
  • Check generated IDLs and program IDs for drift
  • Upload test logs and the built artifacts
  • Keep the job gated on pull requests that touch

kaycke1337 and others added 30 commits June 1, 2026 16:00
wraith-protocol#13)

Co-authored-by: Kaycke <kaycke1337@users.noreply.github.com>
…ith-protocol#26)

* docs: design soroban event topic strategy

* docs: link issue 23 follow-up tickets
…l#32)

Add guardian-based social recovery to the wraith-names Soroban contract.

- GuardianConfig and RecoveryProposal contract types
- DataKey::Guardians and DataKey::Recovery storage keys
- set_guardians, propose_recovery, approve_recovery, cancel_recovery
- DELAY_WINDOW of 100,000 ledgers between proposal and execution
- 9 new NamesError variants
- 8 tests covering all specified scenarios
…col#42)

* Implement Stealth Splitter Contract with split creation and funding functionality

- Introduced StealthSplitterContract to manage splits among multiple beneficiaries.
- Added functionality to create splits with a maximum of 25 beneficiaries, ensuring unique split IDs through deterministic hashing.
- Implemented funding mechanism that distributes amounts proportionally based on beneficiary weights.
- Integrated error handling for various scenarios including initialization, beneficiary validation, and funding constraints.
- Included unit tests to validate contract behavior, including edge cases for split creation and funding.
- Documented resource budget analysis for contract operations.

* feat(stellar-splitter): initial changes for PR
…rotocol#43)

- Audit report at stellar/audits/2026-06-sac-compatibility.md
- Adversarial mock SACs for each asset variant (standard, auth-required,
  auth-revocable, clawback, immutable-safe, immutable+auth-required, fee token)
- Test harness at stealth-sender/tests/sac_compat.rs (9 tests)
- Add rlib crate-type to stealth-sender for integration test imports

Critical: AUTH_CLAWBACK_ENABLED and AUTH_REVOCABLE assets defeat unlinkability.
AUTH_REQUIRED is a UX blocker. Recommend asset allowlist in stealth-sender.
…iew-tag bucket (wraith-protocol#41)

* Audit Stellar stealth announcer

* Implement Stellar announcer v2 event topics

* fix(stellar): reconcile announcer v2 audit coverage
…otocol#40)

* feat(stellar): add wraith names on-behalf flow

* audit(stellar): add wraith-names security audit and adversarial test suite

- Add comprehensive audit report covering safety, correctness, and
  cross-chain divergence analysis (1 Medium, 2 Low findings)
- Add 30 adversarial tests covering ownership, validation, release
  flows, reverse lookup integrity, and on-behalf authorization
- Document mainnet readiness assessment with go/no-go recommendation
… + remove_keys (wraith-protocol#35)

* audit: security audit and storage optimization for stealth-registry

* audit: expand stealth-registry findings and add reproducer tests

---------

Co-authored-by: thebabalola <thebabalola@example.com>
…otency (wraith-protocol#36)

* feat: add Stellar deployment script and instructions

* feat: add Stellar deployment script with json manifest, optimization, and dry-run

---------

Co-authored-by: thebabalola <thebabalola@example.com>
…-protocol#37)

* feat: add Stellar contract upgrade governance and migration plan

* docs: rename UPGRADE.md to GOVERNANCE.md and address maintainer feedback

---------

Co-authored-by: thebabalola <thebabalola@example.com>
* Add preflight validation script for Soroban network

This script performs preflight validation for a Soroban deployment network, checking network passphrase, RPC URL reachability, friendbot availability, identity existence, and required environment variables.

* Add network preflight checks before deployment

Added network preflight checks section to README.
…th-protocol#82)

* feat(stellar): add optional asset allowlist policy to stealth-sender

* test(stellar): verify wraith-asset-policy default allowlist initialization
…l#86)

Co-authored-by: NoobFaris <Ibrahimabdulganiy340@gmail.com>
* feat(stellar): add OZ-style Pausable pattern to registry, sender, and names

* feat(stellar): add futurenet integration test harness with 8 scenarios and weekly CI
* feat: add extend_name_ttl entrypoint to wraith-names contract

- Adds permissionless extend_name_ttl(name, extend_to_ledger) function
- Validates that extend_to_ledger is in the future
- Extends TTLs for name entry and reverse lookup
- Emits 'extend' event for observability
- Idempotent: calling twice in same ledger is a no-op
- Adds InvalidExtendLedger error type

* test: add comprehensive tests for extend_name_ttl

- Happy path: extending a registered name's TTL
- Permissionless: any caller can extend TTLs
- Idempotency: calling twice in same ledger is a no-op
- Non-existent names rejected with NameNotFound error
- Invalid extend_to_ledger rejected
- Multiple independent name extensions
- Extending after name update
- Extending after release and re-register
- Event emission verification

* feat: implement TTL keeper bot with CLI

- Permissionless keeper service for extending name TTLs
- Configurable TTL threshold (default 1000 ledgers)
- Configurable extend target (default 500k ledgers)
- Dry-run mode for safe testing
- Cost estimation command
- Supports testnet and mainnet
- Environment variable support for secret key and contract ID

* test: add keeper bot integration tests

- Configuration validation tests
- Network operations tests
- Error handling tests
- Cost estimation tests
- Observability and logging tests
- Idempotency verification

* docs: add keeper bot usage guide and deployment instructions

- Installation and usage examples
- Configuration options and environment variables
- Idempotency guarantees
- Event monitoring
- Observability and logging
- Running as a service (Docker, systemd, cron)
- Performance notes and troubleshooting
- References to Soroban and Stellar documentation

* docs: add keeper cost model and analysis

- Per-operation costs (base fee, resource fees)
- Batch efficiency analysis
- Cost per name per year for various scale scenarios
- Operating cost summary table
- Extension frequency analysis
- Cost optimization strategies
- Comparison with alternatives (manual recovery, other chains)
- Break-even analysis
- Monitoring and metrics
- Cost recommendations

* fix: correct workspace member path for stealth-batch-sender

- Changed from 'contracts/stellar/stealth-batch-sender' to 'stealth-batch-sender'
- Fixes cargo test compilation for wraith-names contract
- Fix verify.js with proper ESM imports, add @stellar/stellar-sdk RPC-based Wasm
  hash fetching with CLI fallback, and structured JSON status output
- Add weekly CI workflow (stellar-verification.yml) that builds contracts in Docker,
  verifies against deployed testnet contracts, publishes status.json, and sends
  Slack/Discord webhook alerts on failure
- Create GitHub Pages status page (stellar/verification/index.html) with dark theme,
  loading timeout, and multi-source status.json fetching
- Create initial stellar/verification/status.json for the status page

Closes wraith-protocol#59
DSOTec and others added 26 commits August 26, 2026 06:12
…overnance (wraith-protocol#171)

* feat(stellar): wire wraith_metrics into names, splitter, vault, governance

Only stealth-sender, stealth-registry, and stealth-batch-sender emitted
WraithMetricEvents, so the Grafana dashboard had blank panels for the other
four contracts and METRICS.md had no per-contract table for them.

Contracts:
- wraith-names emits register_count, renew_count, release_count,
  resolve_hit_count, and resolve_miss_count. register_count fires from
  register_internal so register, register_on_behalf, bulk_register, and
  auction claim_name are all covered; bulk_renew emits a single renew_count
  carrying the batch size.
- stealth-splitter emits create_count, beneficiaries_per_split, fund_count,
  and fund_volume, dimensioned by asset_address.
- stealth-vault emits deposit_count, deposit_volume, claim_count, and
  refund_count, dimensioned by asset_address.
- governance emits proposal_count, vote_count, and execution_count,
  dimensioned by proposal_id (and support for votes).

wraith-metrics gains the matching contract_ids, metric_names, and
dimension_names constants.

Docs and tooling:
- METRICS.md gains the four missing per-contract tables plus a symbol table
  mapping each 9-character wire Symbol back to its canonical metric name.
- The indexer now watches all seven contracts, decodes the abbreviated wire
  symbols, and drives its Prometheus collectors from a declarative metric
  spec table instead of a hand-written switch. Counters increment by the
  event value so bulk_renew's batch count aggregates correctly.
- grafana-dashboard.json gains 12 panels for the new metrics.
- synthetic-stream.js replays a synthetic event stream through the parser and
  aggregator and fails if any dashboard panel would render blank.
- SIZE.md records the optimized wasm delta per contract.

Each of the four contracts has integration tests asserting on the emitted
WraithMetricEvent topics, value, and dimensions.

* chore(perf): rotate gas bench baseline for metric emission cost

Wiring wraith_metrics into wraith-names adds one env.events().publish() to
register, resolve, release, and renew. Each emission costs a flat +4,164
instructions and +144 event bytes, which pushes wraith-names::resolve past the
+5% per-op PR gate (hit +11.91%, miss +17.67%; register lands at +4.96%).

Only those four ops moved — every other benched op is byte-identical to the
previous baseline, so this rotation absorbs no unrelated drift. METRICS.md now
records the measured per-emission cost so the trade-off is visible before
anyone instruments another read path.

Note that the PR gate prefers the weekly baseline artifact from develop over
this committed file; that artifact still needs a rotation for the gate to pass
on this branch.
Bring stealth-vault up to the posture stealth-sender and wraith-names
already have: an admin, a pause switch, machine-checked time-lock
invariants, bench coverage, and an audit write-up.

- init(admin, announcer) records a pause admin and seeds the grace
  period; pause/unpause guard deposit only, so claim, refund, and the
  new permissionless refund stay callable during an incident.
- refund_permissionless(caller, deposit_id) returns a deposit to its
  depositor one grace period after refund_after, so a lost depositor
  key cannot strand funds. It emits the same refund event and
  refund_count metric as the depositor path.
- The grace period is stored and admin-retunable via set_grace_period
  instead of being a hard-coded constant; reads fall back to
  DEFAULT_GRACE_PERIOD for already-deployed vaults.
- Fix deposit announcing under scheme_id 1 while stealth-announcer
  asserts on 2, which would have reverted every deposit against the
  production announcer. tests/announcer.rs now wires the real
  announcer so the two cannot drift.
- Fix the refund-window check wrapping under the release profile's
  overflow-checks = false; both window computations now saturate.
- Add three Kani proofs (claim before unlock errors, refund before
  refund_after errors, claim and refund mutually exclusive) plus a
  saturating-arithmetic anchor, verified against the real contract
  bodies via a cfg(kani) mock_sdk, and wire stealth-vault into the
  existing stellar-kani CI job.
- Add deposit/claim/refund/refund_permissionless gas benches.
- Document the deposit-id derivation and the single-invocation Soroban
  model, including an explicit "no reentrancy guard required" section,
  in a new AUDIT_SUMMARY.md linked from stellar/README.md; record the
  vault's rows in PAUSE.md, METRICS.md, and MIGRATION_V0_TO_V1.md.

Closes wraith-protocol#156
…rotocol#170)

* docs(dx): add unified error code catalog with CI validation

* docs: catalog stealth-vault errors added in wraith-protocol#169
…argo.toml (wraith-protocol#176)

- Introduced benchmarks for governance contract functions: propose, vote, and execute.
- Added benchmarks for stealth-splitter functions: create_split and fund_split with varying beneficiaries.
- Updated Cargo.toml files to include governance and stealth-splitter dependencies and testutils features.
- Updated PERF.md with new benchmark results and adjusted Cargo.lock accordingly.
…rotocol#178)

The premium-name auction admin was fixed at init_auctions with no
rotation path, so a lost or compromised operator key had no on-chain
remedy short of the WASM upgrade entrypoint, which is not implemented.

Reuse the wraith-names governance signer set and the 7-day
ROTATION_TIMELOCK_SECS from the signer-rotation flow: propose → approve
to quorum → wait out the timelock → execute, under a separate proposal
slot so a signer rotation and an admin rotation can be in flight at
once. Execution emits AuctionAdminRotated(old_admin, new_admin).

Rotation is refused with AuctionInProgress while any auction has a
revealed winner and has not settled — its reveal phase and the settle
phase that follows — so the operator cannot be swapped mid-auction. A
new instance counter tracks those auctions; auctions nobody revealed a
bid on have nothing at stake and are not counted. A blocked execution
leaves the proposal intact, and settlement is permissionless, so
governance can always clear the guard and retry without restarting the
timelock.

Closes wraith-protocol#165
…raith-protocol#179)

* Chaos harness expansion to vault, splitter, batch-sender, governance

* test(chaos): add ChaosClient wrappers and lifecycle tests for vault, splitter, batch-sender, governance

* style(chaos): fix rustfmt formatting in chaos.rs
…ith-protocol#175)

* security: Batch-sender production-hardening pass (pause, admin, typed  (wraith-protocol#155)

* security: Batch-sender production-hardening pass (pause, admin, typed  (wraith-protocol#155)

* security: Batch-sender production-hardening pass (pause, admin, typed  (wraith-protocol#155)

* security: Batch-sender production-hardening pass (pause, admin, typed  (wraith-protocol#155)

* security: Batch-sender production-hardening pass (pause, admin, typed  (wraith-protocol#155)

* security: implement batch-sender production-hardening pass (issue wraith-protocol#155)

Adds init(admin, announcer, asset_policy), admin-gated pause/unpause/is_paused, and the BatchSenderError enum (codes 1300-1316, reserved range per ERRORS.md) replacing every panic! in batch_send. Verified locally: 9 unit tests in src/test.rs pass.

Multisig, tests, and docs land in follow-up commits to this same PR.

* Implement multi-sig signer rotation and governance logic

This module implements an on-chain multi-sig quorum and timelock signer-rotation flow, allowing governance signers to propose new signer sets and thresholds, requiring quorum approval and a timelock before execution.

* Rewrite batch-sender unit tests for result-based error handling

* Add production-hardening acceptance tests for batch-sender (issue wraith-protocol#155)

Added production-hardening acceptance tests for stealth-batch-sender, covering various scenarios including initialization, pause/unpause functionality, and error handling for batch sending.

* Document pause posture for batch-sender (issue wraith-protocol#155)

* Document batch-sender signer rotation in multisig runbook (issue wraith-protocol#155)

Updated the On-Chain Signer Rotation section to include 'stealth-batch-sender' and clarify governance details.

* Add unified error code catalog (ERRORS.md), including batch-sender range

This document serves as a comprehensive catalog of error codes for Stellar contracts, detailing their meanings and the contracts they belong to. It includes information on code allocation policies and existing error codes across various contracts.

* chore: retrigger CI to validate ERRORS.md against latest HEAD

Added a comment to trigger CI validation for error catalog.

* chore: second CI retrigger attempt after dispatch gap

Added comments to trigger CI validation for error catalog.

* test: init batch-sender before batch_send in chaos test (issue wraith-protocol#155)

The production-hardening pass added a required init(admin, announcer,
asset_policy) flow. batch_send now returns NotInitialized until init()
is called, which broke the chaos harness test. Call init() after
registering the contract so batch_send runs as intended.

* bench: init batch-sender before batch_send in crossover bench (issue wraith-protocol#155)

measure_batch now calls init(admin, announcer, asset_policy) before
batch_send, matching the new required-init flow, and the regenerated
bench data reflects the added init/pause checks.

---------

Co-authored-by: Netty-kun <netty-kun@users.noreply.github.com>
…ther CI, gas gate (wraith-protocol#180)

* feat(evm): parity uplift — subgraph mappings, Foundry invariants, slither CI, gas gate

Brings the EVM stack to parity with Stellar:
- Full subgraph with AssemblyScript mappings and a subgraph.yaml for all five
  contracts (event handlers for Announcer/Registry/Names, call handlers for
  Sender/Withdrawer); graph codegen && graph build pass against the real ABIs.
- Foundry invariant suite under evm/foundry covering sender balance
  conservation, withdrawer atomicity, and name-registration monotonicity
  (256 runs per invariant), plus a committed gas snapshot with a +5% CI diff gate.
- Slither config + CI step enforcing zero High/Medium findings; adds targeted
  slither-disable comments for intentional patterns and initializes one local.
- evm/README.md documenting the four new local commands.

Closes wraith-protocol#157

* fix(subgraph): regenerate lockfile for npm ci reproducibility

Bumps the resolved @types/node entry so `npm ci` in the CI subgraph step no
longer fails out-of-sync validation.

* fix(evm): pin forge-std as git submodule instead of vendoring

Replace the 68-file vendored forge-std tree (~30K lines, unpinned) with a
git submodule pinned to v1.16.2, matching the previously vendored version.
This records a reviewable and bumpable version, keeps third-party source out
of every clone and future diff, and is consistent with the symlinks already
used for the openzeppelin and wraith-contracts libraries.

Enable recursive submodule checkout in the evm CI job so forge resolves
forge-std on a fresh clone. Document in the evm README that forge-std is a
submodule and that the openzeppelin symlink requires `npm ci` beforehand.

* fix(evm): exclude third-party foundry libs from prettier checks

The forge-std submodule's auxiliary files (CI yaml, CONTRIBUTING.md, JSON
fixtures) follow upstream formatting and do not match this repo's prettier
config, failing the evm job's `prettier --check` step. Skip the whole
foundry/lib directory the same way node_modules already is; dependency code
is not formatted to this project's rules. Project-owned sources under
evm/contracts are still checked.
* chore(perf): auto-update Stellar PERF.md bench table

* Batch-sender REFIX

---------

Co-authored-by: stpatrickghost <244839222+stpatrickghost@users.noreply.github.com>
Co-authored-by: Mitch5000 <osiagomitchell@gmial.com>
…#158) (wraith-protocol#183)

* Add audit-freeze CI gate and ENGAGEMENT.md template (wraith-protocol#158)

Scoped subset per maintainer's comment on wraith-protocol#158: the workflow, the
ENGAGEMENT.md template, and (separately, via a throwaway PR) a
demonstration that the gate fires. Firm selection, the signed SOW,
and README.md/AUDIT_FIRMS.md/MAINNET_READINESS.md remain untouched,
as those are explicitly the maintainer's to fill in.

- .github/workflows/audit-freeze.yml: runs on every PR, checks out
  the PR's base ref (not the default merge ref) so the gate script
  itself cannot be modified by the PR it is judging.
- scripts/audit-freeze/{parse,glob,decide,check}.ts: dependency-free
  front-matter parser, glob matcher, pass/fail decision logic, and a
  CLI that fetches PR metadata, changed files, and ENGAGEMENT.md's
  content (from the base SHA) via the GitHub REST API.
- audit-prep/ENGAGEMENT.md: template with the front-matter shape and
  section structure the gate expects, freeze_until defaulted to the
  literal "TBD" placeholder (inactive) until a real SOW is signed.

Security design (two independent layers, per the maintainer's ask to
choose one and say which): (1) primary -- the workflow checks out the
PR's base ref, and check.ts separately fetches ENGAGEMENT.md's content
from that same base SHA via the API, so a PR cannot alter the freeze
parameters it is judged against; (2) secondary -- ENGAGEMENT.md is
always treated as a frozen path in its own right whenever a freeze is
active, regardless of freeze_paths contents. Full writeup in
scripts/audit-freeze/README.md.

Tests: 26 passing -- unit tests for parse/glob/decide (no network),
plus a subprocess end-to-end suite that runs check.ts against a local
mock GitHub API server, covering blocked/approved-label/no-freeze/
missing-file/self-protection cases.

* temp: activate freeze for gate demonstration (will revert before review)

* fix: drop sparse-checkout, full checkout at base ref instead

Sparse-checkout in non-cone mode did not reliably include the full
scripts/audit-freeze directory contents, causing check.ts to be
missing at runtime (ERR_MODULE_NOT_FOUND) on a real PR run. A full
checkout is simpler and removes this failure mode; sparse-checkout
was only ever a minor optimization, not load-bearing.

* revert: deactivate demo freeze, restore TBD placeholder

The freeze was temporarily activated to demonstrate the audit-freeze
gate firing on a real PR (see linked demo PR in wraith-protocol#158). Restoring the
inactive TBD placeholder now that the demonstration is complete.

* fix: pass gracefully when audit-freeze does not exist on base yet

The base-ref checkout is correct and intentional (see security note),
but means the very first PR that introduces scripts/audit-freeze/
will find nothing there, since the system did not exist at that
point in history. That is not a security gap -- if the system does
not exist on base, there is nothing to enforce or bypass -- but the
workflow crashed instead of recognizing that. Now it checks whether
check.ts exists on the checked-out base ref first, and passes
cleanly with an explanatory message if not.

---------

Co-authored-by: Jerryvic911 <Jeremaihv791@gmail.com>
Co-authored-by: poaspergillus <289178957+poaspergillus@users.noreply.github.com>
…l#203)

* feat(stellar): generate stealth batch sender bindings

* test(stellar): run bindings smoke test in ci
…ocol#205)

Pin every GitHub Action to a full commit SHA with a version comment,
runners to ubuntu-24.04, and toolchains (Rust, Node, pnpm, Foundry,
slither, Kani, Anchor, cargo-fuzz, tarpaulin, cosign, stellar-cli) to
exact versions declared once per workflow. The Stellar CLI tarball is
now verified with sha256sum, and the non-existent stellar/setup-soroban
action in the nightly dry-run is replaced with the same verified install.

Add a Supply Chain workflow:
- pins: rejects floating actions, runners, tool versions, unverified
  downloads, curl-to-shell, digestless base images, and lockfile entries
  not resolved from crates.io or registry.npmjs.org
- dependency-review: diffs npm/pnpm/Cargo lockfiles on PRs and checks
  newly introduced versions against OSV (works without the dependency
  graph, which is disabled on this repository)
- lockfiles: frozen installs, npm audit signatures, cargo --locked

Pin the reproducible-build base image by dated tag and digest, install
rustup-init by version and checksum, and build stellar-cli with the
pinned release toolchain. attestation.json now records cargo, rustup,
soroban-sdk, target, base image and Cargo.lock hash alongside rustc and
stellar-cli. Fix the Dockerfile and docker cp paths in the attestation
release workflow and the npm ci call against a pnpm-locked directory.

Document the inventory, update process and re-audit triggers in
SUPPLY_CHAIN.md, and add Dependabot for actions and base images.

Closes wraith-protocol#197
)

Bumps node from 22.23.3-alpine3.24 to 26.9.0-alpine3.24.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 26.9.0-alpine3.24
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…otocol#210)

Bumps the github-actions group with 16 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4.4.0` | `7.0.1` |
| [actions/setup-node](https://github.com/actions/setup-node) | `4.4.0` | `7.0.0` |
| [dorny/paths-filter](https://github.com/dorny/paths-filter) | `3.0.4` | `4.0.3` |
| [crytic/slither-action](https://github.com/crytic/slither-action) | `0.4.0` | `0.4.2` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) | `3.38.2` | `4.38.1` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.1` |
| [actions/cache](https://github.com/actions/cache) | `4.3.0` | `6.1.0` |
| [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) | `5.2.0` | `7.2.0` |
| [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) | `6` | `24` |
| [heyAyushh/setup-anchor](https://github.com/heyayushh/setup-anchor) | `4.2` | `4.999` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `3.12.0` | `4.4.1` |
| [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) | `3.5.0` | `4.1.2` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `2.6.2` | `3.0.3` |
| [actions/configure-pages](https://github.com/actions/configure-pages) | `5.0.0` | `6.0.0` |
| [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `5.0.0` |
| [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.1` |


Updates `actions/checkout` from 4.4.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@11d5960...3d3c42e)

Updates `actions/setup-node` from 4.4.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@49933ea...8207627)

Updates `dorny/paths-filter` from 3.0.4 to 4.0.3
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](dorny/paths-filter@0e4a8c6...ceb8a2b)

Updates `crytic/slither-action` from 0.4.0 to 0.4.2
- [Release notes](https://github.com/crytic/slither-action/releases)
- [Commits](crytic/slither-action@f197989...b52cc1c)

Updates `github/codeql-action/upload-sarif` from 3.38.2 to 4.38.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@1190a97...1c5b675)

Updates `actions/upload-artifact` from 4.6.2 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@ea165f8...043fb46)

Updates `actions/cache` from 4.3.0 to 6.1.0
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@0057852...55cc834)

Updates `stefanzweifel/git-auto-commit-action` from 5.2.0 to 7.2.0
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](stefanzweifel/git-auto-commit-action@b863ae1...4a55954)

Updates `dawidd6/action-download-artifact` from 6 to 24
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](dawidd6/action-download-artifact@bf251b5...d63b86a)

Updates `heyAyushh/setup-anchor` from 4.2 to 4.999
- [Release notes](https://github.com/heyayushh/setup-anchor/releases)
- [Commits](heyAyushh/setup-anchor@0390285...0dfcdd2)

Updates `docker/setup-buildx-action` from 3.12.0 to 4.4.1
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](docker/setup-buildx-action@8d2750c...f87e599)

Updates `sigstore/cosign-installer` from 3.5.0 to 4.1.2
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](sigstore/cosign-installer@59acb62...6f9f177)

Updates `softprops/action-gh-release` from 2.6.2 to 3.0.3
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@3bb1273...efb3536)

Updates `actions/configure-pages` from 5.0.0 to 6.0.0
- [Release notes](https://github.com/actions/configure-pages/releases)
- [Commits](actions/configure-pages@983d773...45bfe01)

Updates `actions/upload-pages-artifact` from 3.0.1 to 5.0.0
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](actions/upload-pages-artifact@56afc60...fc324d3)

Updates `actions/deploy-pages` from 4.0.5 to 5.0.1
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](actions/deploy-pages@d6db901...368f825)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: dorny/paths-filter
  dependency-version: 4.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: crytic/slither-action
  dependency-version: 0.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.38.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/cache
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '24'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: heyAyushh/setup-anchor
  dependency-version: '4.999'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.4.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: sigstore/cosign-installer
  dependency-version: 4.1.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/configure-pages
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/upload-pages-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/deploy-pages
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@Emmycivity
Emmycivity force-pushed the fix/194-solana-ci-tests branch from 6a37cde to 079cbe2 Compare September 26, 2026 14:16
@truthixify

Copy link
Copy Markdown
Contributor

This duplicates #212 and targets main. Please keep the develop PR and close this duplicate.

@truthixify

Copy link
Copy Markdown
Contributor

This duplicates #212 and includes unrelated repository history. Closing this branch so review stays on the focused PR.

@truthixify truthixify closed this Sep 28, 2026
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.