SEARCH_INSTRUCTION_LOGS
Fuzzy text search on instruction logs
Overview
This method will return instruction data relative to keywords searched in the logs. Running with only required body params will search across all relevant instructions and return all fields in the response body. Feel free to make use of all non-required body params for more advanced queries. Refer to the Body "Schema" tab for help.
Fuzzy text search on instruction logs
the API key
should be set to 'SEARCH_INSTRUCTION_LOGS' This is the type of query you want to perform.
SEARCH_INSTRUCTION_LOGS
POST /query/solana HTTP/1.1
Host: mainnet.carpool.dev
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 545
"{\n \"type\": \"SEARCH_INSTRUCTION_LOGS\",\n \"query\": {\n \"programId\": \"CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3\",\n \"instructionName\": \"\",\n \"searchText\": \"ConsumePerpEvents\",\n \"timeRange\": {\n \"before\": \"\",\n \"after\": \"\"\n },\n \"failures\": false,\n \"fields\": [],\n \"sort\": {\n \"order\": \"desc\"\n },\n \"pagination\": {\n \"limit\": 20,\n \"offset\": 0\n }\n }\n}"
Successful Response
{
"response": {
"instructions": [
{
"txSignature": "rBR4jxoCgXTAYytXndUuzWKi4vZpmSSAK8xyyn4N3LjX4hfNTYM7c1ofic5A1iyXUoQEC6Etv7LQCM67xfnye4N",
"slot": 204624060,
"args": {
"limit": 1985
},
"logs": [
"Program log: Instruction: ConsumePerpEvents",
"Program data: jzuYC5VdlaWyndXj/Hgo4+AWb15jbjLQ2U0SyWFnfPy//2M0B8wlaPCJ1L1FqSOCrnX2WpGoUHxa2HDEnn0TyDEC+Au0BXv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZgAAAAAAAADETSEAAAAAAAE=",
"Program log: Number of events consumed: 1"
],
"timestamp": 1689035446017,
"isFailure": false,
"errorCode": "text",
"balances": [
{
"pubKey": "Cwfpdqg64MWdAqHfevCqHgYgcjfH9QMdMUnjjMaAezg9",
"lamports": {
"pre": 1297259128,
"post": 1297254126,
"delta": -5002
},
"token": {
"owner": "234itWGBdtFT2VaPzoV8de9kGcDVCK33T9TNgVFmnpXN",
"mint": "So11111111111111111111111111111111111111112",
"pre": 19132223433067,
"post": 19134585433067,
"delta": 2362000000,
"decimals": 9
}
}
],
"accounts": {}
}
]
}
}
Example - Basic
Program - Cypher Protocol
Description - Get all instructions with the keyword "ConsumePerpEvents" in the logs
Javascript
var myHeaders = new Headers();
myHeaders.append("x-api-key", "<API_KEY>");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"type": "SEARCH_INSTRUCTION_LOGS",
"query": {
"programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
"searchText": "ConsumePerpEvents"
}
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://mainnet.carpool.dev/query/solana", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
cURL
curl --location 'https://mainnet.carpool.dev/query/solana' \
--header 'x-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"type": "SEARCH_INSTRUCTION_LOGS",
"query": {
"programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
"searchText": "ConsumePerpEvents"
}
}'
Example - Advanced
Program - Cypher Protocol
Description - Get all depostFunds type instructions with the keyword "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" in the logs. Search in a limited time window, only returning the following fields in the response body: txSignature, logs, slot, accounts, balances
Javascript
var myHeaders = new Headers();
myHeaders.append("x-api-key", "<API_KEY>");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"type": "SEARCH_INSTRUCTION_LOGS",
"query": {
"programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
"instructionName": "depositFunds",
"searchText": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"timeRange": {
"before": "2023-07-12T22:53:09+0000",
"after": "2023-07-11T22:53:09+0000"
},
"failures": false,
"fields": [
"txSignature",
"logs",
"slot",
"accounts",
"balances"
],
"sort": {
"order": "desc"
},
"pagination": {
"limit": 20,
"offset": 0
}
}
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://mainnet.carpool.dev/query/solana", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
cURL
curl --location 'https://mainnet.carpool.dev/query/solana' \
--header 'x-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"type": "SEARCH_INSTRUCTION_LOGS",
"query": {
"programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
"instructionName": "depositFunds",
"searchText": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"timeRange": {
"before": "2023-07-12T22:53:09+0000",
"after": "2023-07-11T22:53:09+0000"
},
"failures": false,
"fields": ["txSignature", "logs", "slot", "accounts", "balances"],
"sort": {
"order": "desc"
},
"pagination": {
"limit": 20,
"offset": 0
}
}
}'
Last updated