UNPKG

1.55 kBTypeScriptView Raw
1/// <reference types="node" />
2import { ABI } from '@neo-one/client-common';
3import { ContractRegister } from '@neo-one/client-full-core';
4import { RawSourceMap } from 'source-map';
5import ts from 'typescript';
6import { Context } from '../Context';
7import { ProgramCounter } from './pc';
8import { Name } from './scope';
9export interface LinkedContracts {
10 readonly [filePath: string]: {
11 readonly [smartContractClass: string]: string;
12 };
13}
14export declare type HandleSuperConstruct = (expression: ts.CallExpression, superExpression: ts.SuperExpression, options: VisitOptions) => void;
15export interface VisitOptions {
16 readonly pushValue?: boolean | undefined;
17 readonly setValue?: boolean | undefined;
18 readonly catchPC?: ProgramCounter | undefined;
19 readonly breakPC?: ProgramCounter | undefined;
20 readonly continuePC?: ProgramCounter | undefined;
21 readonly finallyPC?: ProgramCounter | undefined;
22 readonly switchExpressionType?: ts.Type | undefined;
23 readonly cast?: ts.Type | undefined;
24 readonly superClass?: Name | undefined;
25 readonly handleSuperConstruct?: HandleSuperConstruct;
26}
27export interface Features {
28 readonly storage: boolean;
29 readonly dynamicInvoke: boolean;
30}
31export interface ScriptBuilderResult {
32 readonly code: Buffer;
33 readonly features: Features;
34 readonly sourceMap: Promise<RawSourceMap>;
35}
36export interface CompileResult {
37 readonly contract: ContractRegister;
38 readonly abi: ABI;
39 readonly context: Context;
40 readonly sourceMap: Promise<RawSourceMap>;
41}