Skip to content

Conversation

@austinabell
Copy link
Contributor

Replaces #1323 (CI)

Draft because I'd also like to add a sanity check poll on proving to ensure if an event is missed that it still doesn't continue to prove

@github-actions github-actions bot changed the title Additional Order Fulfillment Checks BM-1933: Additional Order Fulfillment Checks Nov 17, 2025
@austinabell austinabell marked this pull request as ready for review November 21, 2025 23:29
@github-actions
Copy link

🚀 Documentation Preview

Deployment URL: https://boundless-documentation-i3fyef2o0-boundless-network.vercel.app

Updated at: 2025-11-21 23:34:38 UTC

Comment on lines 222 to 227
if let Some(log) = receipt.decoded_log::<IBoundlessMarket::PaymentRequirementsFailed>() {
let raw_error = Bytes::copy_from_slice(&log.error);
match IBoundlessMarketErrors::abi_decode(&raw_error) {
Ok(err) => Err(MarketError::PaymentRequirementsFailed(err)),
Err(_) => Err(MarketError::PaymentRequirementsFailedUnknownError(raw_error)),
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Second guessing this change. Is perhaps a bit misleading to throw an error if only one of the fulfillments failed, especially since the tx didn't fail. Perhaps the sanity checks to avoid submitting if the order is fulfilled is sufficient? @mintybasil was there a strong reason why you wanted this, or just for a better error message? Wondering if okay to just warn log in these cases?

Copy link
Contributor

Choose a reason for hiding this comment

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

Definitely agree this could be handled more gracefully if there are multiple fulfillments. I am a bit biased since I rarely submit batches > 1.

Im on mobile right now, but IIRC this was also to address the successful submission log that specifies the reward amounts, since that is no longer accurate.

Warn level log seems very reasonable, that makes the issue visible to operators which is all that really matters.

@mintybasil
Copy link
Contributor

mintybasil commented Nov 30, 2025

@austinabell Running my commits on top of v1.1.2 it appears that the broker still fulfills already fulfilled orders when catching up after a restart, perhaps an edge case I missed. May have jumped the gun. Need to investigate further.

Also - this can close #1304.

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.

3 participants