import base64 import hashlib import json import struct import sys from solders.transaction import Transaction, VersionedTransaction def load_idl(file_path): with open(file_path) as f: return json.load(f) def load_transaction(file_path): with open(file_path) as f: data = json.load(f) return data def decode_instruction(ix_data, ix_def): args = {} offset = 8 # Skip 8-byte discriminator for arg in ix_def["args"]: if arg["type"] == "u64": value = struct.unpack_from("