Example Queries
Assuming your address is 0xd8da6bf26964af9d7eed9e03e53415d37aa96045
(Hi Vitalik 👋), here are some sample GraphQL queries to get you quickly started with OptSwaps subgraphs. Feel free to explore all the other entities and fields available!
My Orders
# All My Orders
query MyOrders {
optSwapOrders(where: { user: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045" }) {
id
contract
optionStyle
optionType
strike0
strike1
expiry
lotSize
orderType
premium
lots
user
timestamp
blockNumber
}
}
# Response:
{
"data": {
"optSwapOrders": [
{
"id": "0x18bb81e4153528cd8823857726b2ca6f994450ae010bd20a9bb5550436fb6498-2",
"contract": "0xdbebcddf47ea77561ab5f98c40baf2f89a6770d4",
"optionStyle": 0, # European Style Option
"optionType": 1, # Call Option
"strike0": "12000000", # in basis points of the cash token
"strike1": "170141183460469231731687303715884105728", # 2^127 for Call Options
"expiry": "1657267200", # Unix timestamp
"lotSize": "10000", # in basis points
"orderType": 1, # Buy Order
"premium": "100", # in basis points of the cash token
"lots": "10",
"user": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"timestamp": "1656920647", # Unix timestamp
"blockNumber": "27025991"
},
...
]
}
}
My Positions
# All My Positions for a given expiry timestamp
query MyPositionsForLastExpiry {
optSwapPositions(where: { expiry: "1657267200", user: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045" }) {
id
contract
optionStyle
optionType
strike0
strike1
expiry
lotSize
orderType
lots
lotsLocked
lotsSettled
bookedProfitsOrLosses
user
createdAt
timestamp
blockNumber
}
}
# Response:
{
"data": {
"optSwapPositions": [
{
"id": "0xaccd7b5f1adaab6f911d3a944adcb5966ee220cfbf104e5e3cdd6e4803fec876",
"contract": "0xdbebcddf47ea77561ab5f98c40baf2f89a6770d4",
"optionStyle": 1, # American Style Option
"optionType": 0, # Put Option
"strike0": "12000000", # in basis points of the cash token
"strike1": "0", # in basis points
"expiry": "1657267200", # Unix timestamp
"lotSize": "10000", # in basis points (of the underlying token)
"orderType": 0, # Sell Order
"lots": "3",
"lotsLocked": "0",
"lotsSettled": "3",
"bookedProfitsOrLosses": "-372000000", # Negative values mean losses; in subunits of the Cash Token
"user": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"createdAt": "1656919724", # Unix timestamp
"timestamp": "1656919724", # Unix timestamp
"blockNumber": "27025831"
},
...
]
}
}
Latest Blocks
# The latest block indexed by the subgraph
query LastIndexedBlock {
latestBlock(id: "latest") {
id
timestamp
number
}
}
# Response:
{
"data": {
"latestBlock": {
"id": "latest",
"timestamp": "1657379691", # Unix timestamp
"number": "27097838"
}
}
}
# Latest blocks in which each contract was interacted with
query ContractInteractionLatestBlocks {
latestBlocks {
id
timestamp
number
}
}
# Response:
{
"data": {
"latestBlocks": [
{
"id": "MetaOracle",
"timestamp": "1657365133", # Unix timestamp
"number": "27095701" # Block number
},
{
"id": "OptSwap-0x83577b77c5a0a169883bc5cd5d7585cc77c94358",
"timestamp": "1656862308",
"number": "27017041"
},
...
{
"id": "OptSwapDAOVeToken",
"timestamp": "1656863802",
"number": "27017299"
},
{
"id": "latest",
"timestamp": "1657386405",
"number": "27099049"
}
]
}
}
Last updated
Was this helpful?