export interface IABIMethod { name : string ; type : string ; payable : boolean ; inputs : IABIInput [ ] ; outputs : IABIOutput [ ] ; constant : boolean ; anonymous : boolean ; } export interface IABIInput { name : string ; type : string ; indexed : boolean ; } export interface IABIOutput { name : string ; type : string ; indexed : boolean ; } export interface IResult { [ key ] : any ; } export interface ILogItem { data : string ; topics : string [ ] ; } export interface IParsedLog extends IResult { _eventName : string ; [ key ] : any ; } export type LogDecoder = ( logs : ILogItem [ ] ) => IParsedLog [ ] ; export interface IETHABI { encodeMethod ( method , values ) : string ; decodeParams ( types , data , useNumberedParams ? ) : IResult ; decodeParams ( names , types , data , useNumberedParams ? ) : IResult ; decodeLogItem ( eventObject , log , useNumberedParams ? ) : IResult ; logDecoder ( abi , useNumberedParams ? ) : LogDecoder ; configure ( opts ) : any ; }