forked from LlamaPay/interface
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.ts
98 lines (87 loc) · 2.12 KB
/
types.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import { Contract } from 'ethers';
import { UserHistoryFragment } from 'services/generated/graphql';
export interface IToken {
tokenAddress: string;
llamaContractAddress: string;
name: string;
symbol: string;
decimals: number;
tokenContract: Contract;
llamaTokenContract: Contract;
}
export interface IBalance {
name: string;
address: string;
symbol: string;
amount: string;
logoURI: string;
contractAddress: string;
tokenDecimals: number;
tokenContract: Contract;
totalPaidPerSec: string | null;
lastPayerUpdate: string | null;
}
export interface IPayer {
name: string;
address: string;
symbol: string;
contractAddress: string;
tokenDecimals: number;
tokenContract: Contract;
totalPaidPerSec: string | null;
lastPayerUpdate: string | null;
}
export interface IStream {
llamaContractAddress: string;
amountPerSec: string;
createdTimestamp: string;
payerAddress: string;
payeeAddress: string;
streamId: string;
streamType: 'outgoingStream' | 'incomingStream';
token: { address: string; name: string; decimals: number; symbol: string };
tokenName: string;
tokenSymbol: string;
tokenContract: Contract;
llamaTokenContract: Contract;
historicalEvents: { eventType: string; txHash: string; createdTimestamp: string }[];
paused: boolean;
pausedAmount: string;
lastPaused: string;
reason: string | null | undefined;
}
export interface IHistory extends UserHistoryFragment {
addressRelated: string | null;
addressType: 'payer' | 'payee';
amountPerSec: string;
}
export interface IStreamAndHistory {
streams: IStream[] | null;
history: IHistory[] | null;
}
export interface ITokenList {
[key: string]: {
chainId: number;
name: string;
symbol: string;
decimals: number;
logoURI: string;
};
}
export interface ITokenLists extends IToken {
logoURI: string;
isVerified: boolean;
}
export interface ITransactionSuccess {
hash: string;
wait: () => Promise<{
status?: number | undefined;
}>;
}
export interface ITransactionError {
message?: string;
}
export interface ITransaction {
data?: ITransactionSuccess;
error?: ITransactionError;
}