Skip to content

Echo MWL protection price on execution reports#532

Merged
pedrosakuma merged 3 commits into
mainfrom
feat/530-protection-price
Jun 22, 2026
Merged

Echo MWL protection price on execution reports#532
pedrosakuma merged 3 commits into
mainfrom
feat/530-protection-price

Conversation

@pedrosakuma

Copy link
Copy Markdown
Owner

Summary

  • Fixes [GAP-28 follow-up] protectionPrice enforcement for market (no-price) orders #530 by treating EntryPoint protectionPrice as outbound-only wire echo, not inbound matching behavior.
  • Threads MWL OrdType and resting protection price through OrderAccepted/OrderModified events to ER_New and ER_Modify.
  • Leaves engine MWL matching behavior unchanged: the existing leftover rests at last execution price.
  • Marks GAP-28 done; triggered Stop Protect -> MWL semantics are documented as separate follow-up scope.

Validation

  • dotnet restore SbeB3Exchange.slnx
  • dotnet build SbeB3Exchange.slnx --no-restore -c Release
  • dotnet test SbeB3Exchange.slnx --no-build -c Release
  • dotnet test SbeB3Exchange.slnx -c Debug --filter "FullyQualifiedNameExecutionReportEncoder|FullyQualifiedNameMwl|FullyQualifiedName~Market"
  • dotnet format SbeB3Exchange.slnx --verify-no-changes --no-restore --severity warn

pedrosakuma and others added 2 commits June 22, 2026 19:06
Thread MarketWithLeftover ord type and protection price through accepted/modified order events so ExecutionReport_New and ExecutionReport_Modify echo OrdType=K and the resting protection price when an MWL remainder rests.

Closes #530

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Derive MWL modify echo metadata from replace requests instead of persisted resting-order state, and thread stop order types into ER_New.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pedrosakuma pedrosakuma marked this pull request as ready for review June 22, 2026 19:31
…rice

# Conflicts:
#	src/B3.Exchange.Gateway/ExecutionReportEncoder.cs
#	src/B3.Exchange.Gateway/FixpOutboundEncoder.cs
#	src/B3.Exchange.Matching/Events.cs
#	src/B3.Exchange.Matching/MatchingEngine.cs
#	tests/B3.Exchange.Gateway.Tests/ExecutionReportEncoderTests.cs
@pedrosakuma pedrosakuma merged commit c5462c8 into main Jun 22, 2026
6 checks passed
@pedrosakuma pedrosakuma deleted the feat/530-protection-price branch June 22, 2026 20:16
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.

[GAP-28 follow-up] protectionPrice enforcement for market (no-price) orders

1 participant