defillama-sdk 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,189 @@
1
+ """TVL type definitions."""
2
+
3
+ from typing import Dict, List, Optional, TypedDict, Union
4
+
5
+
6
+ class Protocol(TypedDict, total=False):
7
+ id: str
8
+ name: str
9
+ address: Optional[str]
10
+ symbol: str
11
+ url: str
12
+ description: Optional[str]
13
+ chain: str
14
+ logo: Optional[str]
15
+ audits: Optional[str]
16
+ audit_note: Optional[str]
17
+ gecko_id: Optional[str]
18
+ cmcId: Optional[str]
19
+ category: str
20
+ chains: List[str]
21
+ module: Optional[str]
22
+ twitter: Optional[str]
23
+ forkedFrom: Optional[List[str]]
24
+ oracles: Optional[List[str]]
25
+ listedAt: Optional[int]
26
+ methodology: Optional[Union[str, Dict[str, str]]]
27
+ slug: str
28
+ tvl: float
29
+ chainTvls: Dict[str, float]
30
+ change_1h: Optional[float]
31
+ change_1d: Optional[float]
32
+ change_7d: Optional[float]
33
+ tokenBreakdowns: Optional[Dict[str, object]]
34
+ mcap: Optional[float]
35
+ referralUrl: Optional[str]
36
+ parentProtocol: Optional[str]
37
+ misrepresentedTokens: Optional[bool]
38
+
39
+
40
+ class TvlDataPoint(TypedDict):
41
+ date: int
42
+ totalLiquidityUSD: float
43
+
44
+
45
+ class TokenBalance(TypedDict):
46
+ date: int
47
+ tokens: Dict[str, float]
48
+
49
+
50
+ class ChainTvlData(TypedDict, total=False):
51
+ tvl: List[TvlDataPoint]
52
+ tokensInUsd: Optional[List[TokenBalance]]
53
+ tokens: Optional[List[TokenBalance]]
54
+
55
+
56
+ class CurrentChainTvl(TypedDict):
57
+ date: int
58
+ totalLiquidityUSD: float
59
+
60
+
61
+ class ProtocolRaise(TypedDict, total=False):
62
+ date: int
63
+ amount: float
64
+ round: str
65
+ name: Optional[str]
66
+ chains: Optional[List[str]]
67
+ sector: Optional[str]
68
+ category: Optional[str]
69
+ categoryGroup: Optional[str]
70
+ leadInvestors: Optional[List[str]]
71
+ otherInvestors: Optional[List[str]]
72
+ source: Optional[str]
73
+ valuation: Optional[float]
74
+ defillamaId: Optional[Union[str, int]]
75
+
76
+
77
+ class ProtocolMetrics(TypedDict, total=False):
78
+ activeUsers: Optional[int]
79
+ transactions: Optional[int]
80
+ gasUsed: Optional[int]
81
+
82
+
83
+ class ProtocolDetails(TypedDict, total=False):
84
+ id: str
85
+ name: str
86
+ address: Optional[str]
87
+ symbol: str
88
+ url: str
89
+ description: Optional[str]
90
+ chain: Optional[str]
91
+ logo: Optional[str]
92
+ audits: Optional[str]
93
+ audit_note: Optional[str]
94
+ gecko_id: Optional[str]
95
+ cmcId: Optional[str]
96
+ category: Optional[str]
97
+ chains: List[str]
98
+ module: Optional[str]
99
+ twitter: Optional[str]
100
+ forkedFrom: Optional[List[str]]
101
+ oracles: Optional[List[str]]
102
+ listedAt: Optional[int]
103
+ methodology: Optional[Union[str, Dict[str, str]]]
104
+ slug: Optional[str]
105
+ tvl: List[TvlDataPoint]
106
+ tokensInUsd: Optional[List[TokenBalance]]
107
+ tokens: Optional[List[TokenBalance]]
108
+ chainTvls: Dict[str, ChainTvlData]
109
+ currentChainTvls: Dict[str, float]
110
+ raises: Optional[List[ProtocolRaise]]
111
+ metrics: Optional[ProtocolMetrics]
112
+ mcap: Optional[float]
113
+ isParentProtocol: Optional[bool]
114
+ otherProtocols: Optional[List[str]]
115
+ treasury: Optional[str]
116
+ governanceID: Optional[List[str]]
117
+ wrongLiquidity: Optional[bool]
118
+ github: Optional[List[str]]
119
+ stablecoins: Optional[List[str]]
120
+ hallmarks: Optional[List[List[Union[int, str]]]]
121
+
122
+
123
+ class Chain(TypedDict, total=False):
124
+ gecko_id: Optional[str]
125
+ tvl: float
126
+ tokenSymbol: Optional[str]
127
+ cmcId: Optional[str]
128
+ name: str
129
+ chainId: Optional[int]
130
+
131
+
132
+ class HistoricalChainTvl(TypedDict):
133
+ date: int
134
+ tvl: float
135
+
136
+
137
+ class HistoricalChainsTvl(TypedDict, total=False):
138
+ date: int
139
+
140
+
141
+ class TokenProtocolHolding(TypedDict, total=False):
142
+ name: str
143
+ category: str
144
+ amountUsd: Dict[str, float]
145
+ misrepresentedTokens: Optional[bool]
146
+
147
+
148
+ class TokenTvlSnapshot(TypedDict):
149
+ tvl: Dict[str, float]
150
+
151
+
152
+ class ProtocolInflowsResponse(TypedDict):
153
+ outflows: float
154
+ oldTokens: TokenTvlSnapshot
155
+ currentTokens: TokenTvlSnapshot
156
+
157
+
158
+ class ChainAssetBreakdown(TypedDict):
159
+ total: str
160
+ breakdown: Dict[str, str]
161
+
162
+
163
+ class ChainAsset(TypedDict, total=False):
164
+ canonical: Optional[ChainAssetBreakdown]
165
+ ownTokens: Optional[ChainAssetBreakdown]
166
+ native: Optional[ChainAssetBreakdown]
167
+ thirdParty: Optional[ChainAssetBreakdown]
168
+ total: Optional[ChainAssetBreakdown]
169
+
170
+
171
+ ChainAssetsResponse = Dict[str, Union[ChainAsset, float, int]]
172
+
173
+
174
+ __all__ = [
175
+ "Protocol",
176
+ "ProtocolDetails",
177
+ "Chain",
178
+ "TvlDataPoint",
179
+ "TokenBalance",
180
+ "ChainTvlData",
181
+ "CurrentChainTvl",
182
+ "HistoricalChainTvl",
183
+ "HistoricalChainsTvl",
184
+ "TokenProtocolHolding",
185
+ "ProtocolInflowsResponse",
186
+ "ChainAsset",
187
+ "ChainAssetBreakdown",
188
+ "ChainAssetsResponse",
189
+ ]
@@ -0,0 +1,147 @@
1
+ """Volume type definitions."""
2
+
3
+ from typing import Dict, List, Optional, Tuple, TypedDict, Literal
4
+
5
+
6
+ class VolumeOverviewOptions(TypedDict, total=False):
7
+ excludeTotalDataChart: Optional[bool]
8
+ excludeTotalDataChartBreakdown: Optional[bool]
9
+ dataType: Optional[Literal["dailyVolume", "totalVolume"]]
10
+
11
+
12
+ class VolumeSummaryOptions(TypedDict, total=False):
13
+ dataType: Optional[Literal["dailyVolume", "totalVolume"]]
14
+
15
+
16
+ class VolumeProtocol(TypedDict, total=False):
17
+ defillamaId: str
18
+ name: str
19
+ displayName: str
20
+ module: str
21
+ category: str
22
+ logo: str
23
+ chains: List[str]
24
+ protocolType: str
25
+ methodologyURL: str
26
+ methodology: Optional[object]
27
+ total24h: Optional[float]
28
+ total48hto24h: Optional[float]
29
+ total7d: Optional[float]
30
+ total14dto7d: Optional[float]
31
+ total30d: Optional[float]
32
+ total60dto30d: Optional[float]
33
+ total1y: Optional[float]
34
+ totalAllTime: Optional[float]
35
+ average1y: Optional[float]
36
+ monthlyAverage1y: Optional[float]
37
+ change_1d: Optional[float]
38
+ change_7d: Optional[float]
39
+ change_1m: Optional[float]
40
+ change_7dover7d: Optional[float]
41
+ change_30dover30d: Optional[float]
42
+ breakdown24h: Optional[Dict[str, Dict[str, float]]]
43
+ breakdown30d: Optional[Dict[str, Dict[str, float]]]
44
+ parentProtocol: Optional[str]
45
+ slug: str
46
+
47
+
48
+ VolumeChartBreakdownDataPoint = Tuple[int, Dict[str, float]]
49
+ VolumeNestedChartBreakdownDataPoint = Tuple[int, Dict[str, Dict[str, float]]]
50
+
51
+
52
+ class VolumeOverviewResponse(TypedDict, total=False):
53
+ totalDataChart: List[Tuple[int, float]]
54
+ totalDataChartBreakdown: List[VolumeChartBreakdownDataPoint]
55
+ breakdown24h: Optional[Dict[str, Dict[str, float]]]
56
+ breakdown30d: Optional[Dict[str, Dict[str, float]]]
57
+ chain: Optional[str]
58
+ allChains: List[str]
59
+ total24h: float
60
+ total48hto24h: float
61
+ total7d: float
62
+ total14dto7d: float
63
+ total30d: float
64
+ total60dto30d: float
65
+ total1y: float
66
+ change_1d: float
67
+ change_7d: float
68
+ change_1m: float
69
+ change_7dover7d: float
70
+ change_30dover30d: float
71
+ total7DaysAgo: float
72
+ total30DaysAgo: float
73
+ totalAllTime: float
74
+ protocols: List[VolumeProtocol]
75
+
76
+
77
+ class VolumeSummaryResponse(TypedDict, total=False):
78
+ id: str
79
+ name: str
80
+ url: str
81
+ description: str
82
+ logo: str
83
+ gecko_id: Optional[str]
84
+ cmcId: Optional[str]
85
+ chains: List[str]
86
+ twitter: Optional[str]
87
+ treasury: Optional[str]
88
+ governanceID: Optional[List[str]]
89
+ github: Optional[List[str]]
90
+ symbol: Optional[str]
91
+ address: Optional[str]
92
+ linkedProtocols: Optional[List[str]]
93
+ childProtocols: Optional[List[str]]
94
+ defillamaId: str
95
+ displayName: str
96
+ module: str
97
+ category: str
98
+ methodologyURL: Optional[str]
99
+ methodology: Optional[object]
100
+ forkedFrom: Optional[List[str]]
101
+ audits: Optional[str]
102
+ audit_links: Optional[List[str]]
103
+ parentProtocol: Optional[str]
104
+ previousNames: Optional[List[str]]
105
+ hallmarks: Optional[List[List[object]]]
106
+ slug: str
107
+ protocolType: str
108
+ total24h: Optional[float]
109
+ total48hto24h: Optional[float]
110
+ total7d: Optional[float]
111
+ total30d: Optional[float]
112
+ totalAllTime: Optional[float]
113
+ totalDataChart: List[Tuple[int, float]]
114
+ totalDataChartBreakdown: List[VolumeNestedChartBreakdownDataPoint]
115
+ hasLabelBreakdown: bool
116
+ change_1d: Optional[float]
117
+
118
+
119
+ DexOverviewOptions = VolumeOverviewOptions
120
+ DexOverviewResponse = VolumeOverviewResponse
121
+ DexSummaryOptions = VolumeSummaryOptions
122
+ DexSummaryResponse = VolumeSummaryResponse
123
+ OptionsOverviewOptions = VolumeOverviewOptions
124
+ OptionsOverviewResponse = VolumeOverviewResponse
125
+ OptionsSummaryResponse = VolumeSummaryResponse
126
+ DerivativesOverviewResponse = VolumeOverviewResponse
127
+ DerivativesSummaryResponse = VolumeSummaryResponse
128
+
129
+
130
+ __all__ = [
131
+ "VolumeOverviewOptions",
132
+ "VolumeSummaryOptions",
133
+ "VolumeProtocol",
134
+ "VolumeOverviewResponse",
135
+ "VolumeSummaryResponse",
136
+ "VolumeChartBreakdownDataPoint",
137
+ "VolumeNestedChartBreakdownDataPoint",
138
+ "DexOverviewOptions",
139
+ "DexOverviewResponse",
140
+ "DexSummaryOptions",
141
+ "DexSummaryResponse",
142
+ "OptionsOverviewOptions",
143
+ "OptionsOverviewResponse",
144
+ "OptionsSummaryResponse",
145
+ "DerivativesOverviewResponse",
146
+ "DerivativesSummaryResponse",
147
+ ]
@@ -0,0 +1,170 @@
1
+ """Yield type definitions."""
2
+
3
+ from typing import List, Optional, TypedDict
4
+
5
+
6
+ class YieldPoolPredictions(TypedDict, total=False):
7
+ predictedClass: Optional[str]
8
+ predictedProbability: Optional[float]
9
+ binnedConfidence: Optional[float]
10
+
11
+
12
+ class YieldPool(TypedDict, total=False):
13
+ pool: str
14
+ chain: str
15
+ project: str
16
+ symbol: str
17
+ tvlUsd: float
18
+ apy: Optional[float]
19
+ apyBase: Optional[float]
20
+ apyReward: Optional[float]
21
+ rewardTokens: Optional[List[str]]
22
+ underlyingTokens: Optional[List[str]]
23
+ poolMeta: Optional[str]
24
+ exposure: Optional[str]
25
+ il7d: Optional[float]
26
+ apyBase7d: Optional[float]
27
+ apyPct1D: Optional[float]
28
+ apyPct7D: Optional[float]
29
+ apyPct30D: Optional[float]
30
+ stablecoin: bool
31
+ ilRisk: Optional[str]
32
+ predictions: Optional[YieldPoolPredictions]
33
+ mu: Optional[float]
34
+ sigma: Optional[float]
35
+ count: Optional[float]
36
+ outlier: Optional[bool]
37
+ volumeUsd1d: Optional[float]
38
+ volumeUsd7d: Optional[float]
39
+ apyMean30d: Optional[float]
40
+ apyBaseInception: Optional[float]
41
+
42
+
43
+ class YieldPoolsResponse(TypedDict):
44
+ status: str
45
+ data: List[YieldPool]
46
+
47
+
48
+ YieldPoolOld = TypedDict(
49
+ "YieldPoolOld",
50
+ {
51
+ **YieldPool.__annotations__,
52
+ "pool_old": str,
53
+ "timestamp": str,
54
+ "url": str,
55
+ "return": Optional[float],
56
+ "apyMeanExpanding": Optional[float],
57
+ "apyStdExpanding": Optional[float],
58
+ "project_factorized": int,
59
+ "chain_factorized": int,
60
+ },
61
+ total=False,
62
+ )
63
+
64
+
65
+ class YieldPoolsOldResponse(TypedDict):
66
+ status: str
67
+ data: List[YieldPoolOld]
68
+
69
+
70
+ class YieldChartDataPoint(TypedDict, total=False):
71
+ timestamp: str
72
+ tvlUsd: float
73
+ apy: Optional[float]
74
+ apyBase: Optional[float]
75
+ apyReward: Optional[float]
76
+ il7d: Optional[float]
77
+ apyBase7d: Optional[float]
78
+
79
+
80
+ class YieldChartResponse(TypedDict):
81
+ status: str
82
+ data: List[YieldChartDataPoint]
83
+
84
+
85
+ class BorrowPool(YieldPool, total=False):
86
+ apyBaseBorrow: Optional[float]
87
+ apyRewardBorrow: Optional[float]
88
+ totalSupplyUsd: Optional[float]
89
+ totalBorrowUsd: Optional[float]
90
+ debtCeilingUsd: Optional[float]
91
+ ltv: Optional[float]
92
+ borrowable: Optional[bool]
93
+ mintedCoin: Optional[str]
94
+ borrowFactor: Optional[float]
95
+
96
+
97
+ class BorrowPoolsResponse(TypedDict):
98
+ status: str
99
+ data: List[BorrowPool]
100
+
101
+
102
+ class LendBorrowChartDataPoint(TypedDict, total=False):
103
+ timestamp: str
104
+ totalSupplyUsd: Optional[float]
105
+ totalBorrowUsd: Optional[float]
106
+ debtCeilingUsd: Optional[float]
107
+ apyBase: Optional[float]
108
+ apyBaseBorrow: Optional[float]
109
+ apyReward: Optional[float]
110
+ apyRewardBorrow: Optional[float]
111
+
112
+
113
+ class LendBorrowChartResponse(TypedDict):
114
+ status: str
115
+ data: List[LendBorrowChartDataPoint]
116
+
117
+
118
+ class PerpPool(TypedDict, total=False):
119
+ perp_id: str
120
+ timestamp: str
121
+ marketplace: str
122
+ market: str
123
+ baseAsset: str
124
+ fundingRate: Optional[float]
125
+ fundingRatePrevious: Optional[float]
126
+ fundingTimePrevious: Optional[int]
127
+ openInterest: Optional[float]
128
+ indexPrice: Optional[float]
129
+ fundingRate7dAverage: Optional[float]
130
+ fundingRate7dSum: Optional[float]
131
+ fundingRate30dAverage: Optional[float]
132
+ fundingRate30dSum: Optional[float]
133
+
134
+
135
+ class PerpsResponse(TypedDict):
136
+ status: str
137
+ data: List[PerpPool]
138
+
139
+
140
+ class LsdRate(TypedDict, total=False):
141
+ name: str
142
+ symbol: str
143
+ address: str
144
+ type: Optional[str]
145
+ expectedRate: Optional[float]
146
+ marketRate: Optional[float]
147
+ ethPeg: Optional[float]
148
+ fee: Optional[float]
149
+
150
+
151
+ LsdRatesResponse = List[LsdRate]
152
+
153
+
154
+ __all__ = [
155
+ "YieldPoolPredictions",
156
+ "YieldPool",
157
+ "YieldPoolsResponse",
158
+ "YieldPoolOld",
159
+ "YieldPoolsOldResponse",
160
+ "YieldChartDataPoint",
161
+ "YieldChartResponse",
162
+ "BorrowPool",
163
+ "BorrowPoolsResponse",
164
+ "LendBorrowChartDataPoint",
165
+ "LendBorrowChartResponse",
166
+ "PerpPool",
167
+ "PerpsResponse",
168
+ "LsdRate",
169
+ "LsdRatesResponse",
170
+ ]