Skip to content

Conversation

@taco-paco
Copy link
Contributor

@taco-paco taco-paco commented Nov 19, 2025

Summary by CodeRabbit

Release Notes

  • Bug Fixes

    • Improved error handling and reporting for scheduled transaction execution with enhanced error message propagation throughout the processing pipeline.
  • Enhancements

    • Added error messaging to transaction commit records for better visibility into transaction failures and debugging.
    • Refactored error handling infrastructure to provide more detailed error information across transaction preparation and execution workflows.

✏️ Tip: You can customize this high-level summary in your review settings.

@github-actions
Copy link

Manual Deploy Available

You can trigger a manual deploy of this PR branch to testnet:

Deploy to Testnet 🚀

Alternative: Comment /deploy on this PR to trigger deployment directly.

⚠️ Note: Manual deploy requires authorization. Only authorized users can trigger deployments.

Comment updated automatically when the PR is synchronized.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 19, 2025

📝 Walkthrough

Walkthrough

This change refactors intent result processing to use a new result type (BroadcastedIntentExecutionResult) and adds error message propagation throughout the processing pipeline. It introduces signature extraction methods across multiple error types (IntentExecutorError, TaskInfoFetcherError, TaskBuilderError, DeliveryPreparatorError, and TransactionPreparatorError). The SentCommit structure is enhanced with an optional error_message field, and DeliveryPreparatorError is promoted to a public enum. Error handling is unified to extract chain signatures from both execution outputs and error results, replacing previous separate error pathways.

Possibly related PRs

Suggested reviewers

  • thlorenz
  • GabrielePicco
  • bmuddha

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Trigger SentCommit on failure' directly matches the core objective: enabling SentCommit messages to be triggered when undelegation and other errors occur, rather than only on success.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cb44d0c and 4cbdec3.

📒 Files selected for processing (7)
  • magicblock-accounts/src/scheduled_commits_processor.rs (4 hunks)
  • magicblock-committor-service/src/intent_executor/error.rs (1 hunks)
  • magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (2 hunks)
  • magicblock-committor-service/src/tasks/task_builder.rs (2 hunks)
  • magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (2 hunks)
  • magicblock-committor-service/src/transaction_preparator/error.rs (2 hunks)
  • programs/magicblock/src/schedule_transactions/process_scheduled_commit_sent.rs (5 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-11-21T10:22:07.520Z
Learnt from: taco-paco
Repo: magicblock-labs/magicblock-validator PR: 661
File: magicblock-committor-service/src/intent_executor/single_stage_executor.rs:20-28
Timestamp: 2025-11-21T10:22:07.520Z
Learning: In magicblock-committor-service's SingleStageExecutor and TwoStageExecutor (single_stage_executor.rs and two_stage_executor.rs), the fields transaction_strategy, junk, and patched_errors are intentionally public because these executors are designed to be used independently outside of the IntentExecutor scope, and callers need access to these execution reports for cleanup and error handling.

Applied to files:

  • magicblock-committor-service/src/intent_executor/task_info_fetcher.rs
  • programs/magicblock/src/schedule_transactions/process_scheduled_commit_sent.rs
  • magicblock-committor-service/src/intent_executor/error.rs
  • magicblock-accounts/src/scheduled_commits_processor.rs
📚 Learning: 2025-10-21T14:00:54.642Z
Learnt from: bmuddha
Repo: magicblock-labs/magicblock-validator PR: 578
File: magicblock-aperture/src/requests/websocket/account_subscribe.rs:18-27
Timestamp: 2025-10-21T14:00:54.642Z
Learning: In magicblock-aperture account_subscribe handler (src/requests/websocket/account_subscribe.rs), the RpcAccountInfoConfig fields data_slice, commitment, and min_context_slot are currently ignored—only encoding is applied. This is tracked as technical debt in issue #579: https://github.com/magicblock-labs/magicblock-validator/issues/579

Applied to files:

  • magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs
🧬 Code graph analysis (6)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (6)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
magicblock-committor-service/src/tasks/task_builder.rs (1)
  • signature (211-216)
magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (2)
  • signature (529-534)
  • signature (546-551)
magicblock-committor-service/src/transaction_preparator/error.rs (1)
  • signature (20-25)
test-integration/test-tools/src/integration_test_context.rs (1)
  • signature (64-66)
magicblock-rpc-client/src/lib.rs (1)
  • signature (82-90)
magicblock-committor-service/src/tasks/task_builder.rs (3)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)
  • signature (281-287)
magicblock-rpc-client/src/lib.rs (1)
  • signature (82-90)
magicblock-committor-service/src/transaction_preparator/error.rs (4)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)
  • signature (281-287)
magicblock-committor-service/src/tasks/task_builder.rs (1)
  • signature (211-216)
magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (2)
  • signature (529-534)
  • signature (546-551)
magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (5)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)
  • signature (281-287)
magicblock-committor-service/src/tasks/task_builder.rs (1)
  • signature (211-216)
magicblock-committor-service/src/transaction_preparator/error.rs (1)
  • signature (20-25)
magicblock-rpc-client/src/lib.rs (2)
  • signature (82-90)
  • error (193-195)
magicblock-committor-service/src/intent_executor/error.rs (5)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)
  • signature (281-287)
magicblock-committor-service/src/tasks/task_builder.rs (1)
  • signature (211-216)
magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (2)
  • signature (529-534)
  • signature (546-551)
magicblock-committor-service/src/transaction_preparator/error.rs (1)
  • signature (20-25)
magicblock-rpc-client/src/lib.rs (1)
  • signature (82-90)
magicblock-accounts/src/scheduled_commits_processor.rs (1)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
🔇 Additional comments (7)
magicblock-committor-service/src/tasks/task_builder.rs (1)

210-217: LGTM: Signature extraction follows established pattern.

The signature() method correctly delegates to the inner error variants, consistent with the pattern used in TaskInfoFetcherError, DeliveryPreparatorError, and other error types across the codebase.

magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)

280-288: LGTM: Signature accessor correctly implemented.

The signature() method appropriately delegates to MagicBlockRpcClientError and returns None for error variants that don't carry signatures.

magicblock-committor-service/src/transaction_preparator/error.rs (1)

19-25: LGTM: Error signature extraction properly delegated.

The signature() method correctly delegates to DeliveryPreparatorError and returns None for other variants.

programs/magicblock/src/schedule_transactions/process_scheduled_commit_sent.rs (2)

29-29: LGTM: Error message field properly integrated.

The error_message field is correctly added to SentCommit, propagated through SentCommitPrintable, and logged appropriately in the instruction processor.


216-222: LGTM: Error message logging is appropriate.

The conditional logging of error_message provides useful diagnostic information without cluttering logs when no error occurred.

magicblock-accounts/src/scheduled_commits_processor.rs (2)

262-283: LGTM: Chain signature extraction properly handles all paths.

The refactored logic correctly extracts chain signatures from both successful ExecutionOutput variants (SingleStage and TwoStage) and error cases where partial signatures may be available via err.signatures(). This ensures SentCommit carries all available transaction signatures regardless of execution outcome.


286-291: LGTM: Error message propagation is complete.

The error_message is correctly passed to build_sent_commit and integrated into the SentCommit structure, enabling rich diagnostic information to flow through the commit notification pipeline.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 51b5f53 and cb44d0c.

📒 Files selected for processing (16)
  • magicblock-accounts/src/scheduled_commits_processor.rs (4 hunks)
  • magicblock-committor-service/src/intent_executor/error.rs (4 hunks)
  • magicblock-committor-service/src/intent_executor/mod.rs (3 hunks)
  • magicblock-committor-service/src/intent_executor/single_stage_executor.rs (1 hunks)
  • magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (2 hunks)
  • magicblock-committor-service/src/intent_executor/two_stage_executor.rs (2 hunks)
  • magicblock-committor-service/src/tasks/task_builder.rs (2 hunks)
  • magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (2 hunks)
  • magicblock-committor-service/src/transaction_preparator/error.rs (2 hunks)
  • programs/magicblock/src/schedule_transactions/process_scheduled_commit_sent.rs (5 hunks)
  • test-integration/programs/flexi-counter/src/processor.rs (2 hunks)
  • test-integration/programs/flexi-counter/src/state.rs (1 hunks)
  • test-integration/test-committor-service/tests/test_intent_executor.rs (17 hunks)
  • test-integration/test-committor-service/tests/test_ix_commit_local.rs (2 hunks)
  • test-integration/test-committor-service/tests/utils/instructions.rs (1 hunks)
  • test-integration/test-committor-service/tests/utils/transactions.rs (2 hunks)
🧰 Additional context used
🧠 Learnings (4)
📚 Learning: 2025-10-14T09:56:14.047Z
Learnt from: taco-paco
Repo: magicblock-labs/magicblock-validator PR: 564
File: test-integration/programs/flexi-counter/src/processor/call_handler.rs:122-125
Timestamp: 2025-10-14T09:56:14.047Z
Learning: The file test-integration/programs/flexi-counter/src/processor/call_handler.rs contains a test smart contract used for integration testing, not production code.

Applied to files:

  • test-integration/programs/flexi-counter/src/state.rs
  • test-integration/test-committor-service/tests/utils/instructions.rs
  • test-integration/test-committor-service/tests/test_ix_commit_local.rs
  • test-integration/test-committor-service/tests/utils/transactions.rs
  • test-integration/test-committor-service/tests/test_intent_executor.rs
  • test-integration/programs/flexi-counter/src/processor.rs
📚 Learning: 2025-11-07T13:09:52.253Z
Learnt from: bmuddha
Repo: magicblock-labs/magicblock-validator PR: 589
File: test-kit/src/lib.rs:275-0
Timestamp: 2025-11-07T13:09:52.253Z
Learning: In test-kit, the transaction scheduler in ExecutionTestEnv is not expected to shut down during tests. Therefore, using `.unwrap()` in test helper methods like `schedule_transaction` is acceptable and will not cause issues in the test environment.

Applied to files:

  • magicblock-committor-service/src/intent_executor/single_stage_executor.rs
  • test-integration/test-committor-service/tests/test_intent_executor.rs
📚 Learning: 2025-11-18T08:47:39.681Z
Learnt from: Dodecahedr0x
Repo: magicblock-labs/magicblock-validator PR: 639
File: magicblock-chainlink/tests/04_redeleg_other_separate_slots.rs:158-165
Timestamp: 2025-11-18T08:47:39.681Z
Learning: In magicblock-chainlink tests involving compressed accounts, `set_remote_slot()` sets the slot of the `AccountSharedData`, while `compressed_account_shared_with_owner_and_slot()` sets the slot of the delegation record. These are two different fields and both calls are necessary.

Applied to files:

  • test-integration/test-committor-service/tests/test_ix_commit_local.rs
📚 Learning: 2025-10-21T14:00:54.642Z
Learnt from: bmuddha
Repo: magicblock-labs/magicblock-validator PR: 578
File: magicblock-aperture/src/requests/websocket/account_subscribe.rs:18-27
Timestamp: 2025-10-21T14:00:54.642Z
Learning: In magicblock-aperture account_subscribe handler (src/requests/websocket/account_subscribe.rs), the RpcAccountInfoConfig fields data_slice, commitment, and min_context_slot are currently ignored—only encoding is applied. This is tracked as technical debt in issue #579: https://github.com/magicblock-labs/magicblock-validator/issues/579

Applied to files:

  • test-integration/test-committor-service/tests/test_ix_commit_local.rs
  • test-integration/test-committor-service/tests/utils/transactions.rs
🧬 Code graph analysis (10)
magicblock-committor-service/src/tasks/task_builder.rs (3)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)
  • signature (279-285)
magicblock-rpc-client/src/lib.rs (1)
  • signature (82-90)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (2)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
magicblock-rpc-client/src/lib.rs (1)
  • signature (82-90)
magicblock-committor-service/src/transaction_preparator/error.rs (1)
magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (3)
  • signature (529-534)
  • signature (546-551)
  • from (503-507)
test-integration/test-committor-service/tests/test_ix_commit_local.rs (1)
test-integration/test-committor-service/tests/utils/transactions.rs (1)
  • init_and_delegate_account_on_chain (127-224)
test-integration/test-committor-service/tests/utils/transactions.rs (1)
test-integration/test-committor-service/tests/utils/instructions.rs (1)
  • init_account_and_delegate_ixs (20-51)
magicblock-committor-service/src/intent_executor/error.rs (8)
magicblock-rpc-client/src/lib.rs (2)
  • error (193-195)
  • signature (82-90)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)
  • signature (279-285)
magicblock-committor-service/src/tasks/task_builder.rs (1)
  • signature (211-216)
magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (2)
  • signature (529-534)
  • signature (546-551)
magicblock-committor-service/src/transaction_preparator/error.rs (1)
  • signature (20-25)
magicblock-committor-service/src/tasks/buffer_task.rs (1)
  • task_type (122-126)
magicblock-committor-service/src/tasks/args_task.rs (1)
  • task_type (146-153)
magicblock-committor-service/src/tasks/mod.rs (1)
  • task_type (89-89)
magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (5)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)
  • signature (279-285)
magicblock-committor-service/src/tasks/task_builder.rs (1)
  • signature (211-216)
magicblock-committor-service/src/transaction_preparator/error.rs (1)
  • signature (20-25)
magicblock-rpc-client/src/lib.rs (2)
  • signature (82-90)
  • error (193-195)
test-integration/test-committor-service/tests/test_intent_executor.rs (3)
test-integration/programs/flexi-counter/src/state.rs (2)
  • pda (34-37)
  • new (16-22)
test-integration/test-tools/src/conversions.rs (1)
  • err (8-8)
test-integration/test-committor-service/tests/utils/transactions.rs (1)
  • init_and_delegate_account_on_chain (127-224)
test-integration/programs/flexi-counter/src/processor.rs (2)
programs/magicblock/src/magic_context.rs (1)
  • deserialize (18-26)
programs/magicblock/src/task_context.rs (1)
  • deserialize (82-90)
magicblock-accounts/src/scheduled_commits_processor.rs (1)
magicblock-committor-service/src/intent_executor/error.rs (1)
  • signature (29-34)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: run_make_ci_test
  • GitHub Check: Build Project
🔇 Additional comments (18)
test-integration/programs/flexi-counter/src/state.rs (1)

12-13: Undelegation failure constants look appropriate for shared test usage

The new label/code pair is simple, explicit, and being pub makes it easy to coordinate failure injection across the flexi-counter processor and integration tests; this is fine for a test-only program. Based on learnings

magicblock-committor-service/src/tasks/task_builder.rs (1)

10-10: TaskBuilderError::signature() is consistent with the broader error-signature pattern

Delegating to the inner TaskInfoFetcherError::signature() for both commit and finalize variants cleanly exposes an optional transaction signature without changing existing control flow.

Also applies to: 210-217

magicblock-committor-service/src/intent_executor/error.rs (1)

43-47: UndelegationError wiring across executor and mapping logic looks coherent

Adding UndelegationError to both IntentExecutorError and TransactionStrategyExecutionError, mapping it through from_strategy_execution_error, and classifying per-task InstructionError into the new variant when TaskType::Undelegate gives you a clear, dedicated error path for undelegation failures without changing existing behavior for other task types.

Also applies to: 99-103, 153-161, 192-231

magicblock-committor-service/src/intent_executor/task_info_fetcher.rs (1)

13-13: TaskInfoFetcherError::signature() cleanly surfaces RPC signatures

The helper correctly returns None for metadata/decoding issues and delegates to MagicBlockRpcClientError::signature() for RPC failures, which keeps signature propagation uniform for callers like TaskBuilderError.

Also applies to: 278-286

magicblock-committor-service/src/intent_executor/single_stage_executor.rs (1)

178-184: UndelegationError patch handling is consistent with existing retry patterns

The new UndelegationError arm mirrors the existing Actions/CommitID handling by patching the strategy via handle_undelegation_error and returning Continue(to_cleanup), which fits the current single‑stage retry flow without altering CPI-limit or internal-error semantics.

magicblock-committor-service/src/transaction_preparator/error.rs (1)

1-26: Delivery preparation error wiring and signature() helper look correct

Using DeliveryPreparatorError as the inner type with #[from] and delegating signature() to it is consistent with the rest of the error stack and enables signature propagation without changing callers. No issues spotted.

test-integration/test-committor-service/tests/test_ix_commit_local.rs (1)

113-118: Calls updated correctly for optional label

Both call sites now pass None to init_and_delegate_account_on_chain, matching the new (counter_auth, bytes, label) signature while preserving the previous default label behavior. Concurrency pattern in create_bundles remains unchanged.

Also applies to: 395-403

test-integration/test-committor-service/tests/utils/instructions.rs (1)

20-32: Optional label handling for init instruction is sound

init_account_and_delegate_ixs now threads an Option<String> label into create_init_ix, defaulting to "COUNTER" when None. This cleanly enables labeled test setups without changing existing behavior. Implementation is straightforward and correct.

test-integration/test-committor-service/tests/utils/transactions.rs (1)

126-147: Label propagation into init/delegate helper looks correct

Extending init_and_delegate_account_on_chain with label: Option<String> and forwarding it to init_account_and_delegate_ixs is consistent with the utilities in instructions.rs. The rest of the transaction flow remains untouched, so existing behavior is preserved when passing None.

programs/magicblock/src/schedule_transactions/process_scheduled_commit_sent.rs (1)

19-31: error_message addition to SentCommit is well-integrated

Adding error_message: Option<String> to SentCommit/SentCommitPrintable, threading it through the From impl, and conditionally logging it in process_scheduled_commit_sent is consistent and non-breaking. Tests correctly initialize it to None, so existing scenarios remain unchanged while failures can now surface additional context.

Also applies to: 35-45, 47-75, 216-222, 245-261

magicblock-committor-service/src/intent_executor/two_stage_executor.rs (1)

167-196: UndelegationError handling in two‑stage executor is consistent with flow semantics

  • Commit phase: treating UndelegationError as unexpected and returning Break(()) after logging is appropriate, since undelegation should not happen there.
  • Finalize phase: delegating to handle_undelegation_error and returning Continue(to_cleanup) mirrors the existing ActionsError retry‑with‑cleanup path and enables targeted recovery.

ControlFlow behavior and logging look correct; no further issues spotted.

Also applies to: 210-238

magicblock-committor-service/src/intent_executor/mod.rs (2)

550-553: Undelegation errors treated as non-persisted status looks correct

Grouping UndelegationError with CommitIDError/ActionsError/CpiLimitError so that persist_result returns None avoids clobbering more precise intermediate statuses and matches the “recoverable / retried-internally” semantics those other variants have. This aligns well with the new undelegation‑recovery tests.


791-795: Resetting TaskInfoFetcher on any undelegate intent is a good conservative choice

The added comment and condition if result.is_err() || is_undelegate make it explicit that caches are reset even when undelegation tasks are dropped and the overall execution succeeds. Given undelegated accounts shouldn’t be committed again, this conservative reset is reasonable and keeps cache invariants simple.

test-integration/test-committor-service/tests/test_intent_executor.rs (2)

38-40: New undelegation error-parsing test and imports look solid

Importing FAIL_UNDELEGATION_LABEL and using it in test_undelegation_error_parsing to force an undelegation failure exercises the new TransactionStrategyExecutionError::UndelegationError path end‑to‑end. The assertions on the variant and the error message string provide good coverage of both classification and formatting, in line with the existing CommitID/Actions/CPI tests.

Also applies to: 161-208


121-121: setup_counter refactor and callsite updates are clean

Refactoring setup_counter to take an optional label: Option<String> and wiring all existing callsites with None (plus the failure scenarios with Some(FAIL_UNDELEGATION_LABEL.to_string())) keeps the tests DRY while enabling targeted undelegation failures. The helper’s use of init_and_delegate_account_on_chain and explicit owner override to program_flexi_counter::id() matches the previous patterns and looks correct.

Also applies to: 222-222, 283-283, 340-341, 436-437, 488-488, 547-547, 635-635, 831-842

magicblock-committor-service/src/transaction_preparator/delivery_preparator.rs (1)

78-83: Structured error mapping in prepare_for_delivery is clear and composable

Wrapping task-preparation failures into FailedToPrepareBufferAccounts and ALT preparation failures into FailedToCreateALTError cleanly separates the two concerns and gives upstream code a precise failure surface, while still allowing InternalError to carry the concrete root cause. This is a good alignment with the rest of the new error hierarchy.

magicblock-accounts/src/scheduled_commits_processor.rs (2)

19-20: Unified result handling now reliably emits SentCommit on failures

Switching the result loop to operate on BroadcastedIntentExecutionResult and funnelling both Ok and Err cases through process_intent_result guarantees that on-chain triggered intents always produce a SentCommit, even when execution fails. Deriving chain_signatures from either ExecutionOutput or err.signatures() and logging the error before building the commit keeps the behavior consistent with prior logging while satisfying the “trigger SentCommit on failure” requirement.

Also applies to: 175-249, 252-305


307-323: SentCommit extension with error_message is consistent and non-breaking at call sites

Updating build_sent_commit to accept and set error_message: Option<String> cleanly threads failure context into the SentCommit payload while leaving the rest of the structure unchanged. All call sites in this module now pass the appropriate value (always Some on error, None on success), which should make downstream consumers simpler.

@taco-paco taco-paco changed the base branch from master to feat/base-layer-ix/strip-failed-undelegation November 21, 2025 07:03
@taco-paco taco-paco force-pushed the feat/base-layer-ix/trigger-sent-commit-on-failure branch from cb44d0c to d02cc05 Compare November 21, 2025 07:05
feat: trigger SentCommit on intent failure and failed retry
@taco-paco taco-paco force-pushed the feat/base-layer-ix/trigger-sent-commit-on-failure branch from d02cc05 to e4f241d Compare November 21, 2025 10:13
@taco-paco taco-paco force-pushed the feat/base-layer-ix/strip-failed-undelegation branch from ff9d2a5 to 150554e Compare November 22, 2025 11:15
…/base-layer-ix/trigger-sent-commit-on-failure

# Conflicts:
#	test-integration/test-committor-service/tests/test_ix_commit_local.rs
Base automatically changed from feat/base-layer-ix/strip-failed-undelegation to master November 22, 2025 12:06
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.

2 participants