Add IGRA exit unsigned transaction CLI#2
Open
reshmem wants to merge 9 commits into
Open
Conversation
Fetch the current Kaspa virtual DAA score before building an in-process IGRA payload transaction and pass it into input selection. The submitter now filters immature coinbase UTXOs using the network coinbase maturity, prefers spendable non-coinbase inputs before coinbase inputs, and returns a clearer error when all available fee UTXOs are still immature. Add unit coverage for the maturity predicate so non-coinbase UTXOs remain spendable, coinbase UTXOs just inside the maturity window are rejected, and coinbase UTXOs at the maturity boundary are accepted. Expand the mainnet exit-bundle runbook for both unsigned-first and signer-1-first production modes. The runbook now requires manifest.kind branching, embedded parent igra-exits bundle verification for signed-1 bundles, exact local rebuild checks for bundled unsigned JSON/hex, signer-1 artifact verification before signer 2, and richer report evidence. Add IGRA protocol and operator documentation: the L1 transaction protocol reference, the April 2026 Kaspa explorer audit for the entry bridge address, and a short macOS offline signing guide for the third signer. Existing Rust changes outside the submitter are rustfmt-only cleanup. Test: cargo test -p foundry-common kaspa_payload_submitter_filters_immature_coinbase_utxos
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
cast igra build-exitto build kaspawallet-compatible unsigned IGRA exit PST hex plus JSON manifestcast igra verify-exitto verify unsigned/signed artifacts, payload nonce, txid prefix, outputs, locking script, and multisig completionValidation
cargo test -p foundry-common igra_exitcargo check -p castkaspawalletfrom/Users/user/Source/igra/kaspad00and verified itkaspawallet parseNote: global
cargo fmt --checkis currently blocked by pre-existing unrelated formatting diffs;rustfmt --edition 2024 --check crates/common/src/igra_exit.rs crates/cast/src/cmd/igra.rspasses.