The Anchor IDL implementation returns decoded JupiterPerpsPosition objects
Manual test can find the known Jupiter Perps position account
### Description:
Add a method to the Jupiter Perps API for finding all open Jupiter Perps positions for a wallet.
### Suggested API:
```java
Set<JupiterPerpsPosition> getOpenPositions(
ΩSolanaAddressΩ owner
) throws IOException, InterruptedException;
```
### Implementation:
* Use `SolanaBlockChain.getProgramAccounts(...)`
* Query the Jupiter Perps program id
* Use a `memcmp` filter at offset `8` to match the position owner wallet
* Decode each returned account with the existing Jupiter Perps position decoder
* Return a `Set<JupiterPerpsPosition>`
### Non-goals:
* No liquidation price
* No wallet history
* No closed positions
* No trading
* No transaction signing
* No generic Jupiter API changes
### Acceptance criteria:
* `JupiterPerpsPositionService` exposes `getOpenPositions(...)`
* The Anchor IDL implementation returns decoded `JupiterPerpsPosition` objects
* Manual test can find the known Jupiter Perps position account
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description:
Add a method to the Jupiter Perps API for finding all open Jupiter Perps positions for a wallet.
Suggested API:
Implementation:
SolanaBlockChain.getProgramAccounts(...)memcmpfilter at offset8to match the position owner walletSet<JupiterPerpsPosition>Non-goals:
Acceptance criteria:
JupiterPerpsPositionServiceexposesgetOpenPositions(...)JupiterPerpsPositionobjects