6 Commits

4 changed files with 11 additions and 6 deletions
+4 -4
View File
@@ -1,4 +1,4 @@
# Asset Direction Target TRIGGER SEVERITY NOTE # ID Asset Direction Target TRIGGER SEVERITY NOTE
############################################################# ################################################################################################################
SOL BELOW 170.0 ONETIME INFO "EMERGENCY: Risiko for Perps Solana long LIKVIDERING!" 1 SOL BELOW 170.0 ONETIME INFO "EMERGENCY: Risiko for Perps Solana long LIKVIDERING!"
#SOL BELOW 71.4 ONETIME CRITICAL "CRITICAL: Risiko for Solana Raydium LÅN LIKVIDERING!" 2 SOL BELOW 71.4 ONETIME CRITICAL "CRITICAL: Risiko for Solana Raydium LÅN LIKVIDERING!"
@@ -43,6 +43,8 @@ public final class AlarmConfigurationParser {
static PriceAlarmDefinition parseLine(String line) { static PriceAlarmDefinition parseLine(String line) {
Cursor cursor = new Cursor(line); Cursor cursor = new Cursor(line);
int id = Integer.parseInt(cursor.nextToken("id"));
JupiterPerpsAsset asset = JupiterPerpsAsset.valueOf( JupiterPerpsAsset asset = JupiterPerpsAsset.valueOf(
cursor.nextToken("asset").toUpperCase(Locale.ROOT) cursor.nextToken("asset").toUpperCase(Locale.ROOT)
); );
@@ -71,6 +73,7 @@ public final class AlarmConfigurationParser {
} }
return new PriceAlarmDefinition( return new PriceAlarmDefinition(
id,
asset, asset,
direction, direction,
target, target,
@@ -6,6 +6,7 @@ import java.math.BigDecimal;
import java.util.Objects; import java.util.Objects;
public record PriceAlarmDefinition( public record PriceAlarmDefinition(
int id,
JupiterPerpsAsset asset, JupiterPerpsAsset asset,
PriceDirection direction, PriceDirection direction,
BigDecimal target, BigDecimal target,
@@ -20,8 +21,8 @@ public record PriceAlarmDefinition(
Objects.requireNonNull(trigger, "trigger"); Objects.requireNonNull(trigger, "trigger");
Objects.requireNonNull(note, "note"); Objects.requireNonNull(note, "note");
if (target.signum() <= 0) { if (target.signum() < 0) {
throw new IllegalArgumentException("Target price must be positive"); throw new IllegalArgumentException("Target price cannot be negative (was: " + target.signum() + ")!");
} }
} }
} }
@@ -87,6 +87,7 @@ public final class SelfTest {
AlarmTrigger trigger AlarmTrigger trigger
) { ) {
return new PriceAlarmDefinition( return new PriceAlarmDefinition(
123,
JupiterPerpsAsset.SOL, JupiterPerpsAsset.SOL,
direction, direction,
new BigDecimal(target), new BigDecimal(target),