-
Notifications
You must be signed in to change notification settings - Fork 1
/
truffle.d.ts
42 lines (37 loc) · 1.34 KB
/
truffle.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
declare type _contractTest = (accounts: string[]) => void;
declare function contract(name: string, test: _contractTest): void;
declare interface TransactionMeta {
from: string,
}
declare interface TransactionMetaTokenSale {
from: string,
value: number,
}
declare interface Contract<T> {
"new"(): Promise<T>,
deployed(): Promise<T>,
at(address: string): T,
}
declare interface CalileaTokenInstance {
name():any;
symbol():string;
totalSupply():Promise<any>;
balanceOf(account: string): Promise<any>;
transfer(account: string, token:number, meta?:TransactionMeta): Promise<any>;
approve(account: string, amount: number, meta?: TransactionMeta): Promise<any>;
allowance(account1: string, account2: string, meta?: TransactionMeta): Promise<any>;
transferFrom(fromAccount: string, toAccount: string, amount:number, meta?: TransactionMeta): Promise<any>;
}
declare interface TokenSaleInstance {
address: any;
tokenContract():Promise<any>;
tokenPrice():Promise<any>;
tokensSold(): Promise<any>;
buyTokens(numTokens: number, meta?: TransactionMetaTokenSale): Promise<void>;
endSale(meta?: TransactionMeta): Promise<void>;
}
interface Artifacts {
require(name: "./contracts/CalileaToken.sol"): Contract<CalileaTokenInstance>,
require(name: "./contracts/TokenSale.sol"): Contract<TokenSaleInstance>,
}
declare var artifacts: Artifacts;