1 |
|
2 | import { ABI } from '@neo-one/client-common';
|
3 | import { ContractRegister } from '@neo-one/client-full-core';
|
4 | import { RawSourceMap } from 'source-map';
|
5 | import ts from 'typescript';
|
6 | import { Context } from '../Context';
|
7 | import { ProgramCounter } from './pc';
|
8 | import { Name } from './scope';
|
9 | export interface LinkedContracts {
|
10 | readonly [filePath: string]: {
|
11 | readonly [smartContractClass: string]: string;
|
12 | };
|
13 | }
|
14 | export declare type HandleSuperConstruct = (expression: ts.CallExpression, superExpression: ts.SuperExpression, options: VisitOptions) => void;
|
15 | export 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 | }
|
27 | export interface Features {
|
28 | readonly storage: boolean;
|
29 | readonly dynamicInvoke: boolean;
|
30 | }
|
31 | export interface ScriptBuilderResult {
|
32 | readonly code: Buffer;
|
33 | readonly features: Features;
|
34 | readonly sourceMap: Promise<RawSourceMap>;
|
35 | }
|
36 | export interface CompileResult {
|
37 | readonly contract: ContractRegister;
|
38 | readonly abi: ABI;
|
39 | readonly context: Context;
|
40 | readonly sourceMap: Promise<RawSourceMap>;
|
41 | }
|