Conversation
* Add Disposable interface to model/ethereum.ts * Extend IBroadcastStrategy and ISlotTimingService with Disposable * Add dispose() to BeaconService, SequentialBroadcastStrategy, and ParallelBroadcastStrategy * Create TransactionPipeline class owning orchestrator and disposable resources * Rename factory to createTransactionPipeline(), return TransactionPipeline * Call pipeline.dispose() in send-request.ts finally block Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Clamp sleep duration to Math.min(receiptPollIntervalMs, remaining) * Break immediately when remaining time reaches zero after provider call * Add test verifying no overshoot past deadline Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Set DISCONNECTED_DURING_OPERATION_INFO.recoverable to false * Set DISCONNECTED_INFO.recoverable to false * Update test assertions to expect recoverable: false Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Add auto-detection of file paths vs inline pubkeys in parseAndValidateValidatorPubKeys() * Read pubkeys from file with comment and blank line support * Report line-level errors for invalid pubkeys in files * Print info message to stderr when reading from file * Update help text on all four CLI commands * Add tests for file-based input scenarios Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Update contribution guidelines * Update README with latest changes
* Simplify beacon-service and orchestrator imports * Adjust logging color assignments for consistency * Add shortcut for subcommand option
* Add LedgerEip1193Provider bridging Ledger hardware wallet to EIP-1193 * Support eth_requestAccounts, eth_sendTransaction, eth_chainId, eth_accounts * Add comprehensive unit tests for all JSON-RPC method handlers * Export new provider from signer barrel Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Add Safe types, network config with TX Service URLs, and constants * Add Safe SDK factory, preflight validation, and API retry with backoff * Add signer initialization with Ledger and private key support * Add propose service with MultiSend batch creation and duplicate detection * Add sign service for pending transaction signing with threshold tracking * Add execute service with nonce-ordered on-chain execution * Add fee validator, fee extractor, and interactive fee prompts * Add transaction filter for Safe-originated contract interactions * Add safe sign and safe execute CLI subcommands with --safe global option * Add CLI validation for Safe address format and option conflicts * Integrate Safe propose strategy into execution layer request pipeline * Update consolidate, switch, withdraw, exit to pass Safe config through pipeline * Add unit tests for all Safe services and CLI changes
* Add deploy-safe-infra.sh for local Safe contract deployment * Add mock TX Service with rate limiting and transaction store * Add create-safe.ts script for Safe creation on devnet * Add Safe deployment constants and README documentation
* Add run.sh orchestrating full Safe propose/sign/execute flow * Add helpers for beacon queries, transaction verification, fee checks * Add verify-final-state.sh for post-execution validator state assertions * Add change-threshold.ts and propose-foreign-tx.ts test utilities * Add manual fee testing playbook documentation
* Update CLAUDE.md with Safe architecture documentation * Add clean-code skill configuration
* Update release workflow * Improve pre-commit configuration * Update renovate configuration
…ature/renovate-bundle
* Update tool usage with safe flag * Update devnet safe deployment documentation
TobiWo
force-pushed
the
develop
branch
2 times, most recently
from
April 22, 2026 13:11
91fca43 to
608cf56
Compare
* Fix typecheck on SafeApiKit spy in safe-sdk-factory test * Fix no-control-regex lint error in pre-request-validation test * Fix cache key in CI to hash correct lockfile * Replace destructured exit import with process.exit() call * Isolate pre-request-validation module import for CI
TobiWo
marked this pull request as ready for review
April 24, 2026 16:29
Contributor
Author
|
🎉 This PR is included in version 0.7.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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.
Summary
Release v0.7.0. Headline feature is full Safe multisig support for every validator operation (
switch,consolidate,withdraw,exit) via--safe <address>. Ledger hardware wallets work across the full Safe flow (propose/sign/execute) via a new EIP-1193 adapter for the Safe Protocol Kit.Highlights
--safesafe signsafe executesends fully-signed transactions on-chainsafe executere-validates each transaction against the live on-chain fee before sending. Options: default bounded wait (--max-fee-wait-blocks), cancel-and-re-propose (--stale-fee-action reject), or fail-fast (--max-fee-wait-blocks 0). Works interactively or unattended (--yes).#comments) in addition to inline lists.Test plan
Automated:
bun test— 626 tests pass (unit + co-located service tests)bun run typecheck— cleanbun run lint(ESLint) — cleanbun run format(Prettier) — cleanpre-commit run --all-files— all hooks pass (markdownlint, shellcheck, shfmt, yamllint, actionlint, JSON/YAML validation)scripts/integration-test/run.sh) — full propose → sign → execute flow against Kurtosis devnet with mock Safe Transaction Service, including fee validation phases (stale/sufficient/overpaid, wait/reject non-interactive paths)Manual:
scripts/integration-test/manual/manual-fee-testing-playbook.md) — interactive scenarios for per-transaction stale fee Wait/Abort prompts, batch-level--stale-fee-action rejectflow,--max-fee-wait-blocksbudget edge cases, overpaid fee warnings, and happy-path switch/exit on both consolidation and withdrawal contracts. Requires Kurtosis devnet + deployed Safe; Ledger-specific paths require a physical device.Closes #4
Closes #15
Closes #18