13: Add check for correct Perps program
This commit is contained in:
+12
-3
@@ -9,9 +9,6 @@ import java.io.IOException;
|
|||||||
|
|
||||||
public class AnchorIdlJupiterPerpsPositionServiceImpl implements JupiterPerpsPositionService {
|
public class AnchorIdlJupiterPerpsPositionServiceImpl implements JupiterPerpsPositionService {
|
||||||
|
|
||||||
private final SolanaBlockChain solanaBlockChain;
|
|
||||||
private final AnchorIdlJupiterPerpsPositionDecoder positionDecoder;
|
|
||||||
|
|
||||||
public AnchorIdlJupiterPerpsPositionServiceImpl(
|
public AnchorIdlJupiterPerpsPositionServiceImpl(
|
||||||
SolanaBlockChain solanaBlockChain
|
SolanaBlockChain solanaBlockChain
|
||||||
) {
|
) {
|
||||||
@@ -28,7 +25,19 @@ public class AnchorIdlJupiterPerpsPositionServiceImpl implements JupiterPerpsPos
|
|||||||
throw new IllegalArgumentException("Jupiter Perps position account does not exist: " + positionAccount);
|
throw new IllegalArgumentException("Jupiter Perps position account does not exist: " + positionAccount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!JUPITER_PERPS_PROGRAM_ID.equals(accountInfo.owner())) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"Account is not owned by Jupiter Perps program: " + positionAccount
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
JupiterPerpsPosition pos = positionDecoder.decode(positionAccount, accountInfo);
|
JupiterPerpsPosition pos = positionDecoder.decode(positionAccount, accountInfo);
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final ΩJupiterPerpsProgramIdΩ JUPITER_PERPS_PROGRAM_ID =
|
||||||
|
"PERPHjGBqRHArX4DySjwM6UJHiR3sWAatqfdBS2qQJu";
|
||||||
|
|
||||||
|
private final SolanaBlockChain solanaBlockChain;
|
||||||
|
private final AnchorIdlJupiterPerpsPositionDecoder positionDecoder;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user