events.spec.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { PublicKey } from "@solana/web3.js";
  2. import { EventParser } from "../src/program/event";
  3. import { BorshCoder } from "../src";
  4. describe("Events", () => {
  5. it("Parses multiple instructions", async () => {
  6. const logs = [
  7. "Program 11111111111111111111111111111111 invoke [1]",
  8. "Program 11111111111111111111111111111111 success",
  9. "Program J2XMGdW2qQLx7rAdwWtSZpTXDgAQ988BLP9QTgUZvm54 invoke [1]",
  10. "Program J2XMGdW2qQLx7rAdwWtSZpTXDgAQ988BLP9QTgUZvm54 consumed 17867 of 200000 compute units",
  11. "Program J2XMGdW2qQLx7rAdwWtSZpTXDgAQ988BLP9QTgUZvm54 success",
  12. ];
  13. const idl = {
  14. layoutVersion: "0.1.0",
  15. version: "0.0.0",
  16. name: "basic_0",
  17. instructions: [
  18. {
  19. name: "initialize",
  20. accounts: [],
  21. args: [],
  22. },
  23. ],
  24. };
  25. const coder = new BorshCoder(idl);
  26. const programId = PublicKey.default;
  27. const eventParser = new EventParser(programId, coder);
  28. eventParser.parseLogs(logs, () => {
  29. throw new Error("Should never find logs");
  30. });
  31. });
  32. });