autrace
Version:
Account Update analyser for MINA
27 lines (26 loc) • 832 B
TypeScript
import { SmartContract } from "o1js";
import { ContractAnalysis } from "./Interface.js";
export declare class SmartContractAnalyzer {
private contracts;
constructor();
analyzeContractInstance: (instance: SmartContract) => void;
getContracts(): Map<string, ContractAnalysis>;
getContract(contractName: string): ContractAnalysis | undefined;
private extractStateFields;
private extractMethods;
private extractChildCalls;
private extractStateChanges;
private extractPermissions;
buildRelationshipGraph: () => Map<string, {
parents: string[];
children: Array<{
contract?: string;
method: string;
}>;
stateAccess: Array<{
field: string;
operations: ("get" | "set")[];
}>;
state: string;
}>;
}