Repository navigation
feat: CLI co-signing for multi-party transactions and docs - #168
Open
SIDDHANTCOOKIE wants to merge 1 commit into
Open
SIDDHANTCOOKIE wants to merge 1 commit into
SIDDHANTCOOKIE wants to merge 1 commit into
Conversation
tx-sign signs a transaction stored in its wire format (JSON), filling in chain_id and nonces before the first signature; tx-submit checks that every sender and caller has signed before sending it. README documents generalized transactions and the co-signing flow.
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review: 2
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
SIDDHANTCOOKIE
added this pull request to stack #158
October 21, 2026 06:58
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
PR 4 of the generalized transaction roadmap (stacked on #165). It makes multi-party transactions usable from the CLI and documents them.
Changes
Co-signing CLI (
main.py)tx-sign <file>: signs a transaction stored as JSON in its wire format (Transaction.to_dict()), so co-signers just pass the file around. Before the first signature it fills inchain_idand each signer's nonce from the chain. After that the signed content is never changed.tx-submit <file>: refuses files still missing a sender's or caller's signature, or with an invalid signature. Otherwise it validates and broadcasts through the existingsubmit_and_broadcast.README: a new "Generalized Transactions" section covering:
fee_payermc_getNonceis added to the RPC list.Test Plan
tests/test_tx_file_cli.py(10 tests):chain_idand noncestests/e2e/test_e2e_suite.py::TestTier4RealWorldScenarios::test_scenario_crowdfunding_multi_token, which hit the contract sandbox's 10 s execution timeout while the full suite was running ("Contract execution timed out"). It passes when run on its own (3/3). It doesn't touchmain.pyand is the same timing flake seen intest_contract_calls.