diff --git a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava index dba7508..88db3bf 100644 --- a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava +++ b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava @@ -98,6 +98,20 @@ public final class PriceAlarm { private void trigger(OraclePrice price) { triggerCount++; lastTriggeredAt = Instant.now(); + + String note; + + try { + note = variableResolver.resolve(definition.note()); + } catch (RuntimeException exception) { + System.err.printf( + "Could not resolve note for alarm %d: %s%n", + definition.id(), + exception.getMessage() + ); + return; + } + action.trigger(price, definition); } diff --git a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/ResolvedPriceAlarm.tjava b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/ResolvedPriceAlarm.tjava new file mode 100644 index 0000000..b61b084 --- /dev/null +++ b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/ResolvedPriceAlarm.tjava @@ -0,0 +1,16 @@ +package com.r35157.jupiterperpsalarm.impl.ref; + +import com.r35157.jupiterperpsalarm.AlarmSeverity; +import java.math.BigDecimal; + +public record ResolvedPriceAlarm( + int id, + JupiterPerpsAsset asset, + PriceDirection direction, + BigDecimal target, + AlarmTrigger trigger, + ΩsecondsΩ triggerGracePeriod, + AlarmSeverity severity, + String note +) { +} \ No newline at end of file