From be20e04c7b45f1f0a3da84968aeb684e731e5a9a Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Mon, 4 Sep 2017 12:57:03 +0200 Subject: Extend Abi types --- packages/web3-typescript-typings/index.d.ts | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'packages/web3-typescript-typings') diff --git a/packages/web3-typescript-typings/index.d.ts b/packages/web3-typescript-typings/index.d.ts index 49319d597..4841e093f 100644 --- a/packages/web3-typescript-typings/index.d.ts +++ b/packages/web3-typescript-typings/index.d.ts @@ -42,15 +42,28 @@ declare module 'web3' { namespace Web3 { type ContractAbi = AbiDefinition[]; - type AbiDefinition = FunctionDescription|EventDescription; + type AbiDefinition = FunctionAbi|EventAbi; - interface FunctionDescription { - type: 'function'|'constructor'|'fallback'; - name?: string; + type FunctionAbi = MethodAbi|ConstructorAbi|FallbackAbi; + + interface MethodAbi { + type: 'function'; + name: string; inputs: FunctionParameter[]; - outputs?: FunctionParameter[]; - constant?: boolean; - payable?: boolean; + outputs: FunctionParameter[]; + constant: boolean; + payable: boolean; + } + + interface ConstructorAbi { + type: 'constructor'; + inputs: FunctionParameter[]; + payable: boolean; + } + + interface FallbackAbi { + type: 'fallback'; + payable: boolean; } interface EventParameter { @@ -59,7 +72,7 @@ declare module 'web3' { indexed: boolean; } - interface EventDescription { + interface EventAbi { type: 'event'; name: string; inputs: EventParameter[]; -- cgit v1.2.3