@alice-network/zos-lib
Version:
JavaScript library for the ZeppelinOS smart contract platform
45 lines (44 loc) • 1.11 kB
TypeScript
import { BuildArtifacts } from '../artifacts/BuildArtifacts';
import Contract from '../artifacts/Contract';
export declare type Node = any;
export interface NodeMapping {
[id: number]: Node[];
}
export interface TypeInfo {
id: string;
kind: string;
label: string;
valueType?: string;
length?: number;
members?: StorageInfo[];
src?: any;
}
export interface TypeInfoMapping {
[id: string]: TypeInfo;
}
export interface StorageInfo {
label: string;
astId: number;
type: any;
src: string;
path?: string;
contract?: string;
}
interface ContractASTProps {
nodesFilter: string[];
}
export default class ContractAST {
private artifacts;
private contract;
private imports;
private nodes;
private types;
private nodesFilter;
constructor(contract: Contract, artifacts?: BuildArtifacts, props?: ContractASTProps);
getContractNode(): Node;
getLinearizedBaseContracts(mostDerivedFirst?: boolean): Node[];
getNode(id: string, type: string): Node | never;
private _collectImports;
private _collectNodes;
}
export {};