72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
declare module 'web3_beta';
|
|
declare module 'chai-bignumber';
|
|
declare module 'dirty-chai';
|
|
declare module 'request-promise-native';
|
|
declare module 'web3-provider-engine';
|
|
declare module 'web3-provider-engine/subproviders/rpc';
|
|
|
|
// HACK: In order to merge the bignumber declaration added by chai-bignumber to the chai Assertion
|
|
// interface we must use `namespace` as the Chai definitelyTyped definition does. Since we otherwise
|
|
// disallow `namespace`, we disable tslint for the following.
|
|
/* tslint:disable */
|
|
declare namespace Chai {
|
|
interface Assertion {
|
|
bignumber: Assertion;
|
|
// HACK: In order to comply with chai-as-promised we make eventually a `PromisedAssertion` not an `Assertion`
|
|
eventually: PromisedAssertion;
|
|
}
|
|
}
|
|
/* tslint:enable */
|
|
|
|
declare module '*.json' {
|
|
const json: any;
|
|
/* tslint:disable */
|
|
export default json;
|
|
/* tslint:enable */
|
|
}
|
|
|
|
declare module 'ethereumjs-abi' {
|
|
const soliditySHA3: (argTypes: string[], args: any[]) => Buffer;
|
|
}
|
|
|
|
// truffle-hdwallet-provider declarations
|
|
declare module 'truffle-hdwallet-provider' {
|
|
import * as Web3 from 'web3';
|
|
class HDWalletProvider implements Web3.Provider {
|
|
constructor(mnemonic: string, rpcUrl: string);
|
|
public sendAsync(
|
|
payload: Web3.JSONRPCRequestPayload,
|
|
callback: (err: Error, result: Web3.JSONRPCResponsePayload) => void,
|
|
): void;
|
|
}
|
|
export = HDWalletProvider;
|
|
}
|
|
|
|
declare module 'ethers-contracts' {
|
|
export interface TransactionDescription {
|
|
name: string;
|
|
signature: string;
|
|
sighash: string;
|
|
data: string;
|
|
}
|
|
export interface CallDescription extends TransactionDescription {
|
|
parse: (...args: any[]) => any;
|
|
}
|
|
export interface FunctionDescription {
|
|
(...params: any[]): TransactionDescription | CallDescription;
|
|
inputs: { names: string[]; types: string[] };
|
|
outputs: { names: string[]; types: string[] };
|
|
}
|
|
export interface EventDescription {
|
|
inputs: { names: string[]; types: string[] };
|
|
signature: string;
|
|
topic: string;
|
|
}
|
|
// tslint:disable-next-line:max-classes-per-file
|
|
export class Interface {
|
|
public functions: { [functionName: string]: FunctionDescription };
|
|
public events: { [eventName: string]: EventDescription };
|
|
constructor(abi: any);
|
|
}
|
|
}
|