-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathtypes.d.ts
More file actions
122 lines (100 loc) · 2.92 KB
/
Copy pathtypes.d.ts
File metadata and controls
122 lines (100 loc) · 2.92 KB
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import { WalletContextState } from "@solana/wallet-adapter-react"
import { Connection } from "@solana/web3.js"
import { AlertStatus } from "@chakra-ui/react";
import { SetStateAction, Dispatch} from "react"
declare global {
// Common Components
interface INotify {
status: AlertStatus;
title: string;
description: string;
link?: string;
}
type LoadingType = {
msg: string,
size?: "xl" | "xs" | "sm" | "md" | "lg",
thickness?: number, // uint ex: 3 (in pixel)
speed?: number, // floating point ex: 0.65s (in second)
emptyColor?: string, // ex: gray.200 (see chakra doc)
color?: string, // ex: blue.500 (see chakra doc)
}
// Raydium Components
interface IUpdateAmountData {
type: string;
amount: number;
}
interface ITokenInfo {
symbol: string;
mintAddress: string;
logoURI: string;
}
interface TokenData {
amount: number | null;
tokenInfo: ITokenInfo;
}
interface IUpdateAmountData {
type: string;
amount: number;
}
// SPL token
interface SplTokenDisplayData {
symbol: string;
mint: string;
pubkey: string;
amount: number;
}
interface ISplToken {
pubkey: string;
parsedInfo: any;
amount: number;
}
// Components props
type LoadingProps = {
data: LoadingType
}
interface NotifyProps {
message: INotify;
}
interface ISplTokenProps {
splTokenData: ISplToken[];
}
interface TokenListProps {
showTokenList: boolean;
toggleTokenList: (type: "From" | "To" | undefined) => void;
getTokenInfo: Function;
}
interface TokenSelectProps {
type: string;
toggleTokenList: Function;
tokenData: TokenData;
updateAmount: Function;
wallet: Object;
splTokenData: ISplToken[];
}
interface dropDownTokenListBtnProps {
tokenData: TokenData;
}
interface SwapOperateContainerProps {
toggleTokenList: Function;
fromData: TokenData;
toData: TokenData;
updateAmount: Function;
switchFromAndTo: (event?: React.MouseEvent<HTMLDivElement>) => void;
slippageValue: number;
sendSwapTransaction: (event?: React.MouseEvent<HTMLButtonElement>) => void;
splTokenData: ISplToken[];
}
interface SwapDetailProps {
title: string;
tooltipContent: string;
value: string;
}
// Context Types
type DappContextType = {
splTokens: ISplToken[] | undefined,
connection: Connection,
setNotify: Dispatch<SetStateAction<INotify | null>>| null,
setLoading: Dispatch<SetStateAction<LoadingType | null>>| null
}
}
export {}