From 02deb7774db807f05eba4fe483de53ddd44588b2 Mon Sep 17 00:00:00 2001 From: Kostya Date: Fri, 14 Aug 2026 08:33:23 +0000 Subject: Implement LMSR mechanism and Event/Account accessors, wire EventMapperV1 Adds LmsrTradingMechanism, exposes Event/Account getters plus Event.toEventSummary() for DTO conversion, and implements EventMapperV1.toDomain() to build Event from the legacy XML model. --- .../java/market/guess/service/domain/Account.java | 4 + .../java/market/guess/service/domain/Event.java | 95 ++++++++++++++++++++++ .../infrastructure/mapper/EventMapperV1.java | 43 +++++++++- .../service/mechanism/LmsrTradingMechanism.java | 36 ++++++++ 4 files changed, 176 insertions(+), 2 deletions(-) create mode 100644 service/src/main/java/market/guess/service/mechanism/LmsrTradingMechanism.java (limited to 'service/src') diff --git a/service/src/main/java/market/guess/service/domain/Account.java b/service/src/main/java/market/guess/service/domain/Account.java index e350400..274260e 100644 --- a/service/src/main/java/market/guess/service/domain/Account.java +++ b/service/src/main/java/market/guess/service/domain/Account.java @@ -24,4 +24,8 @@ public final class Account { this.balance = BigDecimalOptions.toMoney(initialBalance); this.clock = clock; } + + public BigDecimal getBalance() { + return balance; + } } diff --git a/service/src/main/java/market/guess/service/domain/Event.java b/service/src/main/java/market/guess/service/domain/Event.java index 4c33928..383126f 100644 --- a/service/src/main/java/market/guess/service/domain/Event.java +++ b/service/src/main/java/market/guess/service/domain/Event.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import market.guess.api.CommissionTiming; import market.guess.api.EventStatus; +import market.guess.api.EventSummaryDTO; import market.guess.service.mechanism.TradingMechanism; public final class Event { @@ -48,4 +49,98 @@ public final class Event { this.account = new Account(AccountType.EVENT, eventKey, BigDecimalOptions.ZERO_MONEY); this.status = status; } + + public String getEventKey() { + return eventKey; + } + + public int getDisplayId() { + return displayId; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public int getCommissionPercent() { + return commissionPercent; + } + + public CommissionTiming getCommissionTiming() { + return commissionTiming; + } + + public TradingMechanism getMechanism() { + return mechanism; + } + + public List