Repository navigation
fix: run Solana program tests in CI (#194) - #213
Closed
Emmycivity wants to merge 117 commits into
Closed
Emmycivity wants to merge 117 commits into
Emmycivity wants to merge 117 commits into
Conversation
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
…h-protocol#28) Co-authored-by: Mitch5000 <osiagomitchell.com>
…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
…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
force-pushed
the
fix/194-solana-ci-tests
branch
from
September 26, 2026 14:16
6a37cde to
079cbe2
Compare
Contributor
|
This duplicates #212 and targets main. Please keep the develop PR and close this duplicate. |
Contributor
|
This duplicates #212 and includes unrelated repository history. Closing this branch so review stays on the focused PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #194