UNPKG

2.3 kBTypeScriptView Raw
1import BigNumber = require("bn.js");
2import * as us from "underscore";
3import PromiEvent from "./promiEvent";
4import { ABIDefinition } from "./eth/abi";
5export type Callback<T> = (error: Error, result: T) => void;
6
7export interface EventEmitter {
8 on(type: "data", handler: (event: EventLog) => void): EventEmitter;
9 on(type: "changed", handler: (receipt: EventLog) => void): EventEmitter;
10 on(type: "error", handler: (error: Error) => void): EventEmitter;
11 on(
12 type: "error" | "data" | "changed",
13 handler: (error: Error | TransactionReceipt | string) => void
14 ): EventEmitter;
15}
16
17export interface EventLog {
18 event: string;
19 address: string;
20 returnValues: any;
21 logIndex: number;
22 transactionIndex: number;
23 transactionHash: string;
24 blockHash: string;
25 blockNumber: number;
26 raw?: { data: string; topics: string[] };
27}
28
29export interface TransactionReceipt {
30 transactionHash: string;
31 transactionIndex: number;
32 blockHash: string;
33 blockNumber: number;
34 from: string;
35 to: string;
36 contractAddress: string;
37 cumulativeGasUsed: number;
38 gasUsed: number;
39 logs?: Log[];
40 events?: {
41 [eventName: string]: EventLog;
42 };
43 status: string;
44}
45
46export interface EncodedTransaction {
47 raw: string;
48 tx: {
49 nonce: string;
50 gasPrice: string;
51 gas: string;
52 to: string;
53 value: string;
54 input: string;
55 v: string;
56 r: string;
57 s: string;
58 hash: string;
59 };
60}
61
62export interface Logs {
63 fromBlock?: number;
64 address?: string;
65 topics?: Array<string | string[]>;
66}
67export interface Log {
68 address: string;
69 data: string;
70 topics: string[];
71 logIndex: number;
72 transactionHash: string;
73 transactionIndex: number;
74 blockHash: string;
75 blockNumber: number;
76}
77export interface Subscribe<T> {
78 subscription: {
79 id: string;
80 subscribe(callback?: Callback<Subscribe<T>>): Subscribe<T>;
81 unsubscribe(callback?: Callback<boolean>): void | boolean;
82 arguments: object;
83 };
84 on(type: "data" | "changed", handler: (data: T) => void): void;
85 on(type: "error", handler: (data: Error) => void): void;
86}
87
88export class Shh {} // TODO: Type
89export class Bzz {} // TODO: Type