Crates.io | sologger_log_transformer_wasm |
lib.rs | sologger_log_transformer_wasm |
version | 0.2.1 |
source | src |
created_at | 2024-10-16 19:29:03.988753 |
updated_at | 2024-10-16 19:29:03.988753 |
description | This library provides utility to extract and structure logs from Solana API logSubscribe responses and provides WASM support. |
homepage | |
repository | https://github.com/brytelands/sologger |
max_upload_size | |
id | 1412243 |
size | 36,378 |
Overview
This library provides utility to extract and structure logs from Solana API logSubscribe responses and provides WASM support.
Example Usage
To run the example:
cd wasm-examples
node basic.mjs
async function run() {
const logs = ["Program 9RX7oz3WN5VRTqekBBHBvEJFVMNRnrCmVy7S6B6S5oU7 invoke [1]",
"Program log: Instruction: Initialize",
"Program 11111111111111111111111111111111 invoke [2]",
"Program 11111111111111111111111111111111 success",
"Program log: Initialized new event. Current value",
"Program 9RX7oz3WN5VRTqekBBHBvEJFVMNRnrCmVy7S6B6S5oU7 consumed 59783 of 200000 compute units",
"Program 9RX7oz3WN5VRTqekBBHBvEJFVMNRnrCmVy7S6B6S5oU7 success",
"Program AbcdefGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]",
"Program log: Create",
"Program AbcdefGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 5475 of 200000 compute units",
"Program failed to complete: Invoked an instruction with data that is too large (12178014311288245306 > 10240)",
"Program AbcdefGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL failed: Program failed to complete"
];
const transformer = new WasmLogContextTransformer(["9RX7oz3WN5VRTqekBBHBvEJFVMNRnrCmVy7S6B6S5oU7", "AbcdefGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"]);
// Example usage of from_rpc_logs_response
const rpcLogsResponse = {
signature: "test_signature",
err: null,
logs: logs
};
const slot = 123456789;
try {
const result = transformer.from_rpc_logs_response(rpcLogsResponse, BigInt(slot));
console.log(JSON.parse(JSON.stringify(result)));
} catch (error) {
console.error("Error:", error);
}
// Example usage of from_rpc_response
const rpcResponse = {
context: {
slot: 12324,
api_version: null
},
value: rpcLogsResponse
};
try {
const result = transformer.from_rpc_response(rpcResponse);
console.log(JSON.parse(JSON.stringify(result)));
} catch (error) {
console.error("Error:", error);
}
}
Please see the sologger-log-context crate for more information regarding LogContext.