query events($blockHash: String!, $contractAddress: String!, $name: String){
    events(blockHash: $blockHash, contractAddress: $contractAddress, name: $name){
        block{
            cid
            hash
            number
            timestamp
            parentHash
        }
        tx{
            hash
            index
            from
            to
        }
        contract
        eventIndex
        event{
            ... on PairCreatedEvent {
                token0
                token1
                pair
                null
            }
            ... on ApprovalEvent {
                owner
                spender
                value
            }
            ... on BurnEvent {
                sender
                amount0
                amount1
                to
            }
            ... on MintEvent {
                sender
                amount0
                amount1
            }
            ... on SwapEvent {
                sender
                amount0In
                amount1In
                amount0Out
                amount1Out
                to
            }
            ... on SyncEvent {
                reserve0
                reserve1
            }
            ... on TransferEvent {
                from
                to
                value
            }
        }
        proof{
            data
        }
    }
}