@aave/graphql 1.0.0-next.6 → 1.0.0-next.7

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.
@@ -1,9 +1,4 @@
1
- import {buildSchema}from'graphql';var e=`type APYSample {
2
- date: DateTime!
3
- avgRate: PercentNumber!
4
- }
5
-
6
- input ActivitiesRequest {
1
+ import {buildSchema}from'graphql';var e=`input ActivitiesRequest {
7
2
  query: ActivitiesRequestQuery!
8
3
  user: EvmAddress
9
4
  types: [ActivityType!]! = [BORROW, SUPPLY, WITHDRAW, REPAY, LIQUIDATED, SET_AS_COLLATERAL, UPDATED_DYNAMIC_CONFIG, UPDATED_RISK_PREMIUM]
@@ -50,6 +45,11 @@ enum ApyMetric {
50
45
  AVERAGE
51
46
  }
52
47
 
48
+ type ApySample {
49
+ date: DateTime!
50
+ avgRate: PercentNumber!
51
+ }
52
+
53
53
  type Asset {
54
54
  id: AssetId!
55
55
  token: Erc20Token!
@@ -75,8 +75,8 @@ input AssetBorrowHistoryRequestQuery @oneOf {
75
75
  type AssetBorrowSample {
76
76
  date: DateTime!
77
77
  amount: DecimalNumber!
78
- highestAPY: PercentNumber!
79
- lowestAPY: PercentNumber!
78
+ highestApy: PercentNumber!
79
+ lowestApy: PercentNumber!
80
80
  }
81
81
 
82
82
  input AssetCategoryBorrowHistoryRequest {
@@ -86,8 +86,8 @@ input AssetCategoryBorrowHistoryRequest {
86
86
 
87
87
  type AssetCategoryBorrowSample {
88
88
  date: DateTime!
89
- highestAPY: PercentNumber!
90
- lowestAPY: PercentNumber!
89
+ highestApy: PercentNumber!
90
+ lowestApy: PercentNumber!
91
91
  borrows(currency: Currency! = USD): ExchangeAmount!
92
92
  }
93
93
 
@@ -98,8 +98,8 @@ input AssetCategorySupplyHistoryRequest {
98
98
 
99
99
  type AssetCategorySupplySample {
100
100
  date: DateTime!
101
- highestAPY: PercentNumber!
102
- lowestAPY: PercentNumber!
101
+ highestApy: PercentNumber!
102
+ lowestApy: PercentNumber!
103
103
  deposits(currency: Currency! = USD): ExchangeAmount!
104
104
  }
105
105
 
@@ -138,7 +138,7 @@ type AssetSummary {
138
138
  totalBorrowed: AssetAmountWithChange!
139
139
  totalBorrowable: AssetAmountWithChange!
140
140
 
141
- """The supply APY dependent on what you pass in for the \`metric\`"""
141
+ """The supply apy dependent on what you pass in for the \`metric\`"""
142
142
  supplyApy(metric: ApyMetric! = AVERAGE): PercentNumber!
143
143
 
144
144
  """The borrow APY dependent on what you pass in for the \`metric\`"""
@@ -158,8 +158,8 @@ input AssetSupplyHistoryRequestQuery @oneOf {
158
158
  type AssetSupplySample {
159
159
  date: DateTime!
160
160
  amount: DecimalNumber!
161
- highestAPY: PercentNumber!
162
- lowestAPY: PercentNumber!
161
+ highestApy: PercentNumber!
162
+ lowestApy: PercentNumber!
163
163
  }
164
164
 
165
165
  scalar BigDecimal
@@ -168,11 +168,6 @@ scalar BigInt
168
168
 
169
169
  scalar BlockchainData
170
170
 
171
- input BorrowAPYHistoryRequest {
172
- reserve: ReserveId!
173
- window: TimeWindow! = LAST_DAY
174
- }
175
-
176
171
  type BorrowActivity {
177
172
  id: ID!
178
173
  user: EvmAddress!
@@ -184,6 +179,11 @@ type BorrowActivity {
184
179
  chain: Chain!
185
180
  }
186
181
 
182
+ input BorrowApyHistoryRequest {
183
+ reserve: ReserveId!
184
+ window: TimeWindow! = LAST_DAY
185
+ }
186
+
187
187
  input BorrowRequest {
188
188
  """The reserve id"""
189
189
  reserve: ReserveId!
@@ -568,13 +568,13 @@ type HubAssetSummary {
568
568
  """The available liquidity"""
569
569
  availableLiquidity: Erc20Amount!
570
570
 
571
- """The supply APY"""
571
+ """The supply apy"""
572
572
  supplyApy: PercentNumber!
573
573
 
574
- """The borrow APY"""
574
+ """The borrow apy"""
575
575
  borrowApy: PercentNumber!
576
576
 
577
- """The net APY"""
577
+ """The net apy"""
578
578
  netApy: PercentNumber!
579
579
 
580
580
  """The utilization rate"""
@@ -945,7 +945,7 @@ type PreviewUserPosition {
945
945
  healthFactor: HealthFactorResult!
946
946
  riskPremium: PercentNumberVariation!
947
947
 
948
- """The net APY for one user position on a current spoke"""
948
+ """The net apy for one user position on a current spoke"""
949
949
  netApy: PercentNumberVariation!
950
950
  netCollateral(currency: Currency! = USD): ExchangeAmountValueVariation!
951
951
  netBalance(currency: Currency! = USD): ExchangeAmountValueVariation!
@@ -1003,8 +1003,8 @@ type Query {
1003
1003
  liquidatePosition(request: LiquidatePositionRequest!): LiquidatePositionExecutionPlan!
1004
1004
  updateUserPositionConditions(request: UpdateUserPositionConditionsRequest!): TransactionRequest!
1005
1005
  preview(request: PreviewRequest!): PreviewUserPosition!
1006
- borrowApyHistory(request: BorrowAPYHistoryRequest!): [APYSample!]!
1007
- supplyApyHistory(request: SupplyAPYHistoryRequest!): [APYSample!]!
1006
+ borrowApyHistory(request: BorrowApyHistoryRequest!): [ApySample!]!
1007
+ supplyApyHistory(request: SupplyApyHistoryRequest!): [ApySample!]!
1008
1008
  spoke(request: SpokeRequest!): Spoke
1009
1009
 
1010
1010
  """Lists all spokes"""
@@ -1410,11 +1410,6 @@ input SpokesRequestQuery @oneOf {
1410
1410
  chainIds: [ChainId!]
1411
1411
  }
1412
1412
 
1413
- input SupplyAPYHistoryRequest {
1414
- reserve: ReserveId!
1415
- window: TimeWindow! = LAST_DAY
1416
- }
1417
-
1418
1413
  type SupplyActivity {
1419
1414
  id: ID!
1420
1415
  user: EvmAddress!
@@ -1426,6 +1421,11 @@ type SupplyActivity {
1426
1421
  chain: Chain!
1427
1422
  }
1428
1423
 
1424
+ input SupplyApyHistoryRequest {
1425
+ reserve: ReserveId!
1426
+ window: TimeWindow! = LAST_DAY
1427
+ }
1428
+
1429
1429
  input SupplyPermitRequest {
1430
1430
  """The reserve id"""
1431
1431
  reserve: ReserveId!
@@ -1744,7 +1744,7 @@ type UserBalance {
1744
1744
  """The total exchange amount summed across all balances"""
1745
1745
  exchange(currency: Currency! = USD): ExchangeAmount!
1746
1746
 
1747
- """The supply APY dependent on what you pass in for the \`metric\`"""
1747
+ """The supply apy dependent on what you pass in for the \`metric\`"""
1748
1748
  supplyApy(metric: ApyMetric! = HIGHEST): PercentNumber!
1749
1749
 
1750
1750
  """The borrow APY dependent on what you pass in for the \`metric\`"""
@@ -1800,6 +1800,16 @@ input UserBalancesBySpoke {
1800
1800
  byReservesType: ReservesRequestFilter! = ALL
1801
1801
  }
1802
1802
 
1803
+ input UserBalancesByTokens {
1804
+ """The chain token input"""
1805
+ chainTokens: [ChainTokenInput!]!
1806
+
1807
+ """
1808
+ The type of reserve to use when determine the tokens to retrieve balances for
1809
+ """
1810
+ byReservesType: ReservesRequestFilter! = ALL
1811
+ }
1812
+
1803
1813
  input UserBalancesByUserPosition {
1804
1814
  """The user position id"""
1805
1815
  userPositionId: UserPositionId!
@@ -1846,7 +1856,7 @@ input UserBalancesRequestFilter @oneOf {
1846
1856
  userPosition: UserBalancesByUserPosition
1847
1857
 
1848
1858
  """The balances for the chains tokens"""
1849
- tokens: [ChainTokenInput!]
1859
+ tokens: UserBalancesByTokens
1850
1860
  }
1851
1861
 
1852
1862
  input UserBalancesRequestOrderBy @oneOf {
@@ -1884,11 +1894,6 @@ type UserBorrowItem {
1884
1894
 
1885
1895
  scalar UserBorrowItemId
1886
1896
 
1887
- input UserBorrowsAPYBreakdownRequestQuery @oneOf {
1888
- userSpoke: UserSpokeInput
1889
- userPositionId: UserPositionId
1890
- }
1891
-
1892
1897
  input UserBorrowsRequest {
1893
1898
  query: UserBorrowsRequestQuery!
1894
1899
  orderBy: UserBorrowsRequestOrderBy! = {amount: DESC}
@@ -2009,10 +2014,15 @@ type UserRiskPremiumBreakdownItem {
2009
2014
  }
2010
2015
 
2011
2016
  input UserRiskPremiumBreakdownRequest {
2012
- query: UserBorrowsAPYBreakdownRequestQuery!
2017
+ query: UserRiskPremiumBreakdownRequestQuery!
2013
2018
  user: EvmAddress!
2014
2019
  }
2015
2020
 
2021
+ input UserRiskPremiumBreakdownRequestQuery @oneOf {
2022
+ userSpoke: UserSpokeInput
2023
+ userPositionId: UserPositionId
2024
+ }
2025
+
2016
2026
  input UserSpokeInput {
2017
2027
  spoke: SpokeId!
2018
2028
  user: EvmAddress!
@@ -1 +1 @@
1
- {"version":3,"sources":["../schema.graphql","../src/test-utils.ts"],"names":["schema_default","schema","buildSchema"],"mappings":"kCAAA,IAAAA,CAAAA,CAAA,CAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;GCOO,IAAMC,CAAAA,CAASC,YAAYF,CAAS","file":"test-utils.js","sourcesContent":["type APYSample {\n date: DateTime!\n avgRate: PercentNumber!\n}\n\ninput ActivitiesRequest {\n query: ActivitiesRequestQuery!\n user: EvmAddress\n types: [ActivityType!]! = [BORROW, SUPPLY, WITHDRAW, REPAY, LIQUIDATED, SET_AS_COLLATERAL, UPDATED_DYNAMIC_CONFIG, UPDATED_RISK_PREMIUM]\n pageSize: PageSize! = FIFTY\n cursor: Cursor\n}\n\ninput ActivitiesRequestQuery @oneOf {\n hub: HubInput\n hubId: HubId\n spoke: SpokeInput\n spokeId: SpokeId\n chainIds: [ChainId!]\n txHash: TxHashInput\n userPositionId: UserPositionId\n}\n\nunion ActivityItem = BorrowActivity | SupplyActivity | WithdrawActivity | RepayActivity | LiquidatedActivity | UsingAsCollateralActivity | UpdatedDynamicConfigActivity | UpdatedRiskPremiumActivity\n\nenum ActivityType {\n SUPPLY\n BORROW\n REPAY\n WITHDRAW\n LIQUIDATED\n SET_AS_COLLATERAL\n UPDATED_DYNAMIC_CONFIG\n UPDATED_RISK_PREMIUM\n}\n\nscalar AlwaysTrue\n\ninput AmountInput @oneOf {\n \"\"\"Exact amount\"\"\"\n exact: BigDecimal\n\n \"\"\"Max amount\"\"\"\n max: AlwaysTrue\n}\n\nenum ApyMetric {\n HIGHEST\n LOWEST\n AVERAGE\n}\n\ntype Asset {\n id: AssetId!\n token: Erc20Token!\n summary: AssetSummary!\n price(currency: Currency! = USD): ExchangeAmountWithChange!\n}\n\ntype AssetAmountWithChange {\n amount: DecimalNumberWithChange!\n exchange(currency: Currency! = USD): ExchangeAmountWithChange!\n}\n\ninput AssetBorrowHistoryRequest {\n query: AssetBorrowHistoryRequestQuery!\n window: TimeWindow! = LAST_DAY\n}\n\ninput AssetBorrowHistoryRequestQuery @oneOf {\n token: Erc20Input\n assetId: AssetId\n}\n\ntype AssetBorrowSample {\n date: DateTime!\n amount: DecimalNumber!\n highestAPY: PercentNumber!\n lowestAPY: PercentNumber!\n}\n\ninput AssetCategoryBorrowHistoryRequest {\n category: TokenCategory!\n window: TimeWindow! = LAST_DAY\n}\n\ntype AssetCategoryBorrowSample {\n date: DateTime!\n highestAPY: PercentNumber!\n lowestAPY: PercentNumber!\n borrows(currency: Currency! = USD): ExchangeAmount!\n}\n\ninput AssetCategorySupplyHistoryRequest {\n category: TokenCategory!\n window: TimeWindow! = LAST_DAY\n}\n\ntype AssetCategorySupplySample {\n date: DateTime!\n highestAPY: PercentNumber!\n lowestAPY: PercentNumber!\n deposits(currency: Currency! = USD): ExchangeAmount!\n}\n\nscalar AssetId\n\ninput AssetPriceHistoryRequest {\n query: AssetPriceHistoryRequestQuery!\n currency: Currency! = USD\n window: TimeWindow! = LAST_DAY\n}\n\ninput AssetPriceHistoryRequestQuery @oneOf {\n token: Erc20Input\n assetId: AssetId\n}\n\ntype AssetPriceSample {\n date: DateTime!\n price: BigDecimal!\n}\n\ninput AssetRequest {\n query: AssetRequestQuery!\n}\n\ninput AssetRequestQuery @oneOf {\n token: Erc20Input\n assetId: AssetId\n}\n\ntype AssetSummary {\n totalSupplyCap: DecimalNumberWithChange!\n totalSupplied: AssetAmountWithChange!\n totalSuppliable: AssetAmountWithChange!\n totalBorrowCap: DecimalNumberWithChange!\n totalBorrowed: AssetAmountWithChange!\n totalBorrowable: AssetAmountWithChange!\n\n \"\"\"The supply APY dependent on what you pass in for the `metric`\"\"\"\n supplyApy(metric: ApyMetric! = AVERAGE): PercentNumber!\n\n \"\"\"The borrow APY dependent on what you pass in for the `metric`\"\"\"\n borrowApy(metric: ApyMetric! = AVERAGE): PercentNumber!\n}\n\ninput AssetSupplyHistoryRequest {\n query: AssetSupplyHistoryRequestQuery!\n window: TimeWindow! = LAST_DAY\n}\n\ninput AssetSupplyHistoryRequestQuery @oneOf {\n token: Erc20Input\n assetId: AssetId\n}\n\ntype AssetSupplySample {\n date: DateTime!\n amount: DecimalNumber!\n highestAPY: PercentNumber!\n lowestAPY: PercentNumber!\n}\n\nscalar BigDecimal\n\nscalar BigInt\n\nscalar BlockchainData\n\ninput BorrowAPYHistoryRequest {\n reserve: ReserveId!\n window: TimeWindow! = LAST_DAY\n}\n\ntype BorrowActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n borrowed: Erc20Amount!\n chain: Chain!\n}\n\ninput BorrowRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount supplying\"\"\"\n amount: ReserveAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ninput CancelIntentSwapInput {\n id: SwapId!\n signature: Signature!\n}\n\nunion CancelSwapExecutionPlan = TransactionRequest | SwapCancelled\n\ninput CancelSwapRequest @oneOf {\n intent: CancelIntentSwapInput\n transaction: SwapId\n}\n\ntype CancelSwapTypeDefinition {\n EIP712Domain: [TypeField!]!\n OrderCancellations: [TypeField!]!\n}\n\ntype CancelSwapTypedData {\n types: CancelSwapTypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: JSON!\n}\n\ntype Chain {\n name: String!\n icon: String!\n chainId: ChainId!\n explorerUrl: String!\n isTestnet: Boolean!\n nativeWrappedToken: EvmAddress!\n nativeInfo: TokenInfo!\n nativeGateway: EvmAddress!\n signatureGateway: EvmAddress!\n rpcUrl: String!\n isFork: Boolean!\n}\n\n\"\"\"A supported blockchain chain ID\"\"\"\nscalar ChainId\n\ninput ChainRequest {\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput ChainTokenInput {\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The token input\"\"\"\n token: TokenInput!\n}\n\nenum ChainsFilter {\n TESTNET_ONLY\n MAINNET_ONLY\n ALL\n}\n\ninput ChainsRequest {\n query: ChainsRequestQuery!\n}\n\ninput ChainsRequestQuery @oneOf {\n chainIds: [ChainId!]\n filter: ChainsFilter\n}\n\nunion ChangedDynamicConfigUserPositionConditions = DynamicConfigUserPositionCollateralFactorVariation | DynamicConfigUserPositionLiquidationFeeVariation | DynamicConfigUserPositionMaxLiquidationBonusVariation\n\nenum CollateralMetric {\n HIGHEST\n LOWEST\n}\n\nenum Currency {\n USD\n GBP\n EUR\n}\n\nscalar Cursor\n\nscalar DateTime\n\ntype DecimalNumber {\n \"\"\"The on-chain representation of `value`, stored as an integer.\"\"\"\n onChainValue: BigInt!\n\n \"\"\"\n The number of decimals defining how many fractional digits the number supports.\n \"\"\"\n decimals: Int!\n\n \"\"\"The normalized value computed as `onChainValue / 10^decimals`.\"\"\"\n value: BigDecimal!\n}\n\ntype DecimalNumberWithChange {\n current: DecimalNumber!\n change(window: TimeWindow! = LAST_DAY): PercentNumber!\n}\n\ntype DomainData {\n name: String!\n version: String!\n chainId: ChainId!\n verifyingContract: EvmAddress!\n}\n\nscalar DynamicConfigKey\n\ntype DynamicConfigUserPositionCollateralFactorVariation {\n reserveId: ReserveId!\n token: Erc20Token!\n current: PercentNumber!\n after: PercentNumber!\n}\n\ntype DynamicConfigUserPositionLiquidationFeeVariation {\n reserveId: ReserveId!\n token: Erc20Token!\n current: PercentNumber!\n after: PercentNumber!\n}\n\ntype DynamicConfigUserPositionMaxLiquidationBonusVariation {\n reserveId: ReserveId!\n token: Erc20Token!\n current: PercentNumber!\n after: PercentNumber!\n}\n\ninput ERC20PermitSignature {\n \"\"\"The signature for the erc721\"\"\"\n value: Signature!\n\n \"\"\"The deadline for the erc721\"\"\"\n deadline: Int!\n}\n\nenum EarningPeriod {\n ANNUAL\n}\n\ntype Erc20Amount {\n \"\"\"The value\"\"\"\n amount: DecimalNumber!\n\n \"\"\"The exchange amount\"\"\"\n exchange(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The exchange rate\"\"\"\n exchangeRate(currency: Currency! = USD): DecimalNumber!\n isWrappedNative: Boolean!\n token: Erc20Token!\n}\n\ntype Erc20ApprovalRequired {\n \"\"\"The transaction requires an approval first\"\"\"\n transaction: TransactionRequest!\n\n \"\"\"The reason for the approval\"\"\"\n reason: String!\n\n \"\"\"The required amount missing to be able to do the original transaction\"\"\"\n requiredAmount: DecimalNumber!\n\n \"\"\"The current allowance approved\"\"\"\n currentAllowance: DecimalNumber!\n\n \"\"\"The transaction to send after the approval is complete\"\"\"\n originalTransaction: TransactionRequest!\n}\n\ninput Erc20Input {\n \"\"\"The token address\"\"\"\n address: EvmAddress!\n\n \"\"\"The token chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Erc20Token {\n \"\"\"The token address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain its deployed to\"\"\"\n chain: Chain!\n\n \"\"\"The ERC20 token info\"\"\"\n info: TokenInfo!\n\n \"\"\"\n The protocol only deals with ERC20 this allows you to understand if\n the token is a wrapped native token to allow you to maybe change `WETH` > `ETH`\n on the display screen, or whatever you decide makes sense\n \"\"\"\n isWrappedNativeToken: Boolean!\n\n \"\"\"If permit is supported for the ERC20 token\"\"\"\n permitSupported: Boolean!\n}\n\nscalar EvmAddress\n\ntype ExchangeAmount {\n value: BigDecimal!\n name: String!\n symbol: String!\n icon: String!\n decimals: Int!\n}\n\ntype ExchangeAmountValueVariation {\n current: ExchangeAmount!\n after: ExchangeAmount!\n}\n\ntype ExchangeAmountWithChange {\n current: ExchangeAmount!\n change(window: TimeWindow! = LAST_DAY): PercentNumber!\n}\n\ninput ExchangeRateRequest {\n \"\"\"The from criteria\"\"\"\n from: ExchangeRateRequestFrom!\n\n \"\"\"The currency to get the result in\"\"\"\n to: Currency!\n\n \"\"\"\n The date time to get the exchange rate at, if not provided the latest rate is returned\n \"\"\"\n at: DateTime\n}\n\ninput ExchangeRateRequestFrom @oneOf {\n \"\"\"The currency\"\"\"\n fiat: Currency\n\n \"\"\"The erc20 token\"\"\"\n erc20: Erc20Input\n\n \"\"\"The native token\"\"\"\n native: ChainId\n}\n\nunion ExecutionPlan = TransactionRequest | Erc20ApprovalRequired | PreContractActionRequired | InsufficientBalanceError\n\ninput ForkTopUpErc20 {\n \"\"\"The token address\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n value: BigDecimal!\n}\n\ninput ForkTopUpRequest {\n \"\"\"The address you want the funds to be topped up against\"\"\"\n user: EvmAddress!\n\n \"\"\"The erc20 information\"\"\"\n erc20: ForkTopUpErc20\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n native: BigDecimal\n}\n\ntype ForkTopUpResponse {\n message: String!\n\n \"\"\"The tx hash of the newly created transaction\"\"\"\n txHash: String\n}\n\ninput HasProcessedKnownTransactionRequest {\n \"\"\"\n The operation types this is given to you on the TransactionRequest::operations\n \"\"\"\n operations: [OperationType!]!\n\n \"\"\"The tx hash\"\"\"\n txHash: TxHash!\n}\n\ntype HealthFactorError {\n reason: String!\n current: BigDecimal\n after: BigDecimal\n}\n\nunion HealthFactorResult = HealthFactorVariation | HealthFactorError\n\ntype HealthFactorVariation {\n current: BigDecimal\n after: BigDecimal\n}\n\ntype HealthFactorWithChange {\n current: BigDecimal\n change(window: TimeWindow! = LAST_DAY): PercentNumber!\n}\n\ntype Hub {\n \"\"\"The id for the hub\"\"\"\n id: HubId!\n\n \"\"\"The hub name\"\"\"\n name: String!\n\n \"\"\"The hub address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain the hub is deployed on\"\"\"\n chain: Chain!\n\n \"\"\"The hub summary\"\"\"\n summary(currency: Currency! = USD): HubSummary!\n}\n\ntype HubAsset {\n \"\"\"The id for the hub asset\"\"\"\n id: HubAssetId!\n\n \"\"\"The onchain asset id\"\"\"\n onchainAssetId: OnChainHubAssetId!\n\n \"\"\"The hub\"\"\"\n hub: Hub!\n\n \"\"\"The underlying token\"\"\"\n underlying: Erc20Token!\n\n \"\"\"The hub asset summary\"\"\"\n summary: HubAssetSummary!\n\n \"\"\"The hub asset settings\"\"\"\n settings: HubAssetSettings!\n userState: HubAssetUserState\n}\n\nscalar HubAssetId\n\ntype HubAssetSettings {\n \"\"\"The fee receiver\"\"\"\n feeReceiver: EvmAddress!\n\n \"\"\"The liquidity fee\"\"\"\n liquidityFee: PercentNumber!\n\n \"\"\"The ir strategy\"\"\"\n irStrategy: EvmAddress!\n\n \"\"\"The reinvestment strategy\"\"\"\n reinvestmentController: EvmAddress\n}\n\ntype HubAssetSummary {\n \"\"\"The supplied amount\"\"\"\n supplied: Erc20Amount!\n\n \"\"\"The borrowed amount\"\"\"\n borrowed: Erc20Amount!\n\n \"\"\"The available liquidity\"\"\"\n availableLiquidity: Erc20Amount!\n\n \"\"\"The supply APY\"\"\"\n supplyApy: PercentNumber!\n\n \"\"\"The borrow APY\"\"\"\n borrowApy: PercentNumber!\n\n \"\"\"The net APY\"\"\"\n netApy: PercentNumber!\n\n \"\"\"The utilization rate\"\"\"\n utilizationRate: PercentNumber!\n}\n\ntype HubAssetUserState {\n \"\"\"The hub asset balance\"\"\"\n balance: Erc20Amount!\n}\n\ninput HubAssetsRequest {\n query: HubAssetsRequestQuery!\n user: EvmAddress\n orderBy: HubAssetsRequestOrderBy! = {assetName: ASC}\n}\n\ninput HubAssetsRequestOrderBy @oneOf {\n assetName: OrderDirection\n availableLiquidity: OrderDirection\n supplyApy: OrderDirection\n borrowApy: OrderDirection\n}\n\ninput HubAssetsRequestQuery @oneOf {\n hubInput: HubInput\n hubId: HubId\n}\n\nscalar HubId\n\ninput HubIdTokenInput {\n hubId: HubId!\n token: EvmAddress!\n}\n\ninput HubInput {\n \"\"\"The hub address\"\"\"\n address: EvmAddress!\n\n \"\"\"The hub chain id\"\"\"\n chainId: ChainId!\n}\n\ninput HubRequest {\n query: HubRequestQuery!\n}\n\ninput HubRequestQuery @oneOf {\n hubInput: HubInput\n hubId: HubId\n}\n\ntype HubSummary {\n \"\"\"\n The total spoke reserves aggregated borrowed using this hub, showed in exchange amount as each asset has a different value\n \"\"\"\n totalBorrowed: ExchangeAmountWithChange!\n\n \"\"\"\n The total spoke reserves aggregated borrow caps using this hub, showed in exchange amount as each asset has a different value\n \"\"\"\n totalBorrowCap: ExchangeAmount!\n\n \"\"\"\n The total spoke reserves aggregated supplied using this hub, showed in exchange amount as each asset has a different value\n \"\"\"\n totalSupplied: ExchangeAmountWithChange!\n\n \"\"\"\n The total spoke reserves aggregated supply caps using this hub, showed in exchange amount as each asset has a different value\n \"\"\"\n totalSupplyCap: ExchangeAmount!\n\n \"\"\"The utilization rate\"\"\"\n utilizationRate: PercentNumber!\n}\n\ninput HubSummaryHistoryRequest {\n query: HubSummaryHistoryRequestQuery!\n currency: Currency! = USD\n window: TimeWindow! = LAST_DAY\n}\n\ninput HubSummaryHistoryRequestQuery @oneOf {\n hubInput: HubInput\n hubId: HubId\n}\n\ntype HubSummarySample {\n date: DateTime!\n deposits: ExchangeAmount!\n borrows: ExchangeAmount!\n availableLiquidity: ExchangeAmount!\n utilizationRate: PercentNumber!\n}\n\ninput HubTokenInput {\n chainId: ChainId!\n hub: EvmAddress!\n token: EvmAddress!\n}\n\ninput HubsRequest {\n query: HubsRequestQuery!\n orderBy: HubsRequestOrderBy! = {name: ASC}\n}\n\ninput HubsRequestOrderBy @oneOf {\n name: OrderDirection\n totalBorrowed: OrderDirection\n totalSupplied: OrderDirection\n}\n\ninput HubsRequestQuery @oneOf {\n \"\"\"Get back all the hubs which have one of the underlying tokens supplied\"\"\"\n tokens: [Erc20Input!]\n\n \"\"\"Get back all the hubs based on the chain ids passed in\"\"\"\n chainIds: [ChainId!]\n}\n\ntype InsufficientBalanceError {\n \"\"\"The amount required to do the original transaction\"\"\"\n required: DecimalNumber!\n\n \"\"\"The amount available in the wallet\"\"\"\n available: DecimalNumber!\n}\n\n\"\"\"A scalar that can represent any JSON value.\"\"\"\nscalar JSON\n\ninput LiquidatePositionDebtAmount @oneOf {\n \"\"\"Exact amount\"\"\"\n exact: BigDecimal\n\n \"\"\"The most you can liquidate\"\"\"\n max: AlwaysTrue\n}\n\nunion LiquidatePositionExecutionPlan = TransactionRequest | Erc20ApprovalRequired | InsufficientBalanceError\n\ninput LiquidatePositionRequest {\n \"\"\"The collateral reserve id\"\"\"\n collateral: ReserveId!\n\n \"\"\"The debt reserve id\"\"\"\n debt: ReserveId!\n\n \"\"\"The amount to liquidate\"\"\"\n amount: LiquidatePositionDebtAmount!\n\n \"\"\"The person liquidating the position\"\"\"\n liquidator: EvmAddress!\n\n \"\"\"The user to liquidate\"\"\"\n user: EvmAddress!\n\n \"\"\"If you would like to receive shares over the asset\"\"\"\n receiveShares: Boolean! = false\n}\n\ntype LiquidatedActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n collateralReserve: ReserveInfo!\n debtReserve: ReserveInfo!\n collateral: Erc20Amount!\n debt: Erc20Amount!\n liquidator: EvmAddress!\n chain: Chain!\n}\n\ntype Mutation {\n \"\"\"Top up a balance for a user or yourself on the fork\"\"\"\n forkTopUp(request: ForkTopUpRequest!): ForkTopUpResponse!\n}\n\ntype NativeAmount {\n \"\"\"The native token\"\"\"\n token: NativeToken!\n\n \"\"\"The value\"\"\"\n amount: DecimalNumber!\n\n \"\"\"The exchange amount\"\"\"\n exchange(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The exchange rate\"\"\"\n exchangeRate(currency: Currency! = USD): DecimalNumber!\n}\n\ntype NativeToken {\n info: TokenInfo!\n chain: Chain!\n}\n\nscalar OnChainHubAssetId\n\nscalar OnChainReserveId\n\nenum OperationType {\n SPOKE_BORROW\n SPOKE_REPAY\n SPOKE_SUPPLY\n SPOKE_WITHDRAW\n SPOKE_UPDATE_USER_RISK_PREMIUM\n SPOKE_SET_USER_USING_AS_COLLATERAL\n SPOKE_SET_USER_POSITION_MANAGER\n RENOUNCE_SPOKE_USER_POSITION_MANAGER\n LIQUIDATION\n}\n\nenum OrderDirection {\n ASC\n DESC\n}\n\nenum PageSize {\n TEN\n FIFTY\n}\n\ntype PaginatedActivitiesResult {\n items: [ActivityItem!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedResultInfo {\n \"\"\"The cursor to the previous page of results, if any.\"\"\"\n prev: Cursor\n\n \"\"\"The cursor to the next page of results, if any.\"\"\"\n next: Cursor\n}\n\ntype PaginatedSpokePositionManagerResult {\n items: [SpokePositionManger!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedSpokeUserPositionManagerResult {\n items: [SpokeUserPositionManager!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedUserSwapsResult {\n items: [SwapStatus!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PercentNumber {\n \"\"\"\n The on-chain representation of the percentage, stored in basis points (bps).\n \"\"\"\n onChainValue: BigInt!\n\n \"\"\"The number of decimals defining the precision of `bps`.\"\"\"\n decimals: Int!\n\n \"\"\"The percentage value where 1.0 represents 100%.\"\"\"\n value: BigDecimal!\n\n \"\"\"The human-friendly percentage value formatted for display.\"\"\"\n normalized: BigDecimal!\n}\n\ntype PercentNumberChangeSnapshot {\n before: PercentNumber!\n after: PercentNumber!\n}\n\ntype PercentNumberVariation {\n current: PercentNumber!\n after: PercentNumber!\n}\n\ntype PercentNumberWithChange {\n current: PercentNumber!\n change(window: TimeWindow! = LAST_DAY): PercentNumber!\n}\n\ntype PermitMessageData {\n owner: EvmAddress!\n spender: EvmAddress!\n value: BigInt!\n nonce: BigInt!\n deadline: Int!\n}\n\ninput PermitRequest @oneOf {\n supply: SupplyPermitRequest\n repay: RepayPermitRequest\n}\n\ntype PermitTypedDataResponse {\n types: TypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: PermitMessageData!\n}\n\ntype PreContractActionRequired {\n \"\"\"The transaction requires a pre-contract action first\"\"\"\n transaction: TransactionRequest!\n\n \"\"\"The reason for the pre-contract action\"\"\"\n reason: String!\n\n \"\"\"The transaction to send after the approval is complete\"\"\"\n originalTransaction: TransactionRequest!\n}\n\ninput PrepareLimitOrderSwapInput {\n quoteId: SwapQuoteId!\n newSellAmount: BigDecimal\n newBuyAmount: BigDecimal\n\n \"\"\"Slippage in basis points\"\"\"\n newSlippage: BigDecimal\n newReceiver: EvmAddress\n}\n\ninput PrepareMarketOrderSwapInput {\n chainId: ChainId!\n buy: TokenInput!\n sell: TokenInput!\n amount: BigDecimal!\n kind: SwapKind!\n user: EvmAddress!\n receiver: EvmAddress\n}\n\ninput PrepareSwapCancelRequest {\n id: SwapId!\n}\n\ntype PrepareSwapCancelResult {\n data: CancelSwapTypedData!\n}\n\ninput PrepareSwapRequest @oneOf {\n market: PrepareMarketOrderSwapInput\n limit: PrepareLimitOrderSwapInput\n}\n\nunion PrepareSwapResult = SwapByIntent | SwapByIntentWithApprovalRequired | SwapByTransaction | InsufficientBalanceError\n\ninput PreviewAction @oneOf {\n supply: SupplyRequest\n borrow: BorrowRequest\n repay: RepayRequest\n withdraw: WithdrawRequest\n setUserSuppliesAsCollateral: SetUserSuppliesAsCollateralRequest\n updateUserPositionConditions: UpdateUserPositionConditionsRequest\n}\n\ninput PreviewRequest {\n action: PreviewAction!\n}\n\ntype PreviewUserPosition {\n id: UserPositionId!\n healthFactor: HealthFactorResult!\n riskPremium: PercentNumberVariation!\n\n \"\"\"The net APY for one user position on a current spoke\"\"\"\n netApy: PercentNumberVariation!\n netCollateral(currency: Currency! = USD): ExchangeAmountValueVariation!\n netBalance(currency: Currency! = USD): ExchangeAmountValueVariation!\n projectedEarnings(period: EarningPeriod! = ANNUAL): ExchangeAmountValueVariation!\n borrowingPower: ExchangeAmountValueVariation!\n changedDynamicConfigConditions: [ChangedDynamicConfigUserPositionConditions!]!\n}\n\ninput ProtocolHistoryRequest {\n currency: Currency! = USD\n window: TimeWindow! = LAST_DAY\n}\n\ntype ProtocolHistorySample {\n date: DateTime!\n deposits: ExchangeAmount!\n borrows: ExchangeAmount!\n earnings: ExchangeAmount!\n}\n\ntype Query {\n health: Boolean!\n chain(request: ChainRequest!): Chain\n chains(request: ChainsRequest!): [Chain!]!\n\n \"\"\"Generate EIP-712 typed data for EIP-2612 permit signature\"\"\"\n permitTypedData(request: PermitRequest!): PermitTypedDataResponse!\n\n \"\"\"Get the exchange rate of tokens > currency or currency > currency\"\"\"\n exchangeRate(request: ExchangeRateRequest!): ExchangeAmount!\n protocolHistory(request: ProtocolHistoryRequest!): [ProtocolHistorySample!]!\n asset(request: AssetRequest!): Asset\n assetSupplyHistory(request: AssetSupplyHistoryRequest!): [AssetSupplySample!]!\n assetCategoryBorrowHistory(request: AssetCategoryBorrowHistoryRequest!): [AssetCategoryBorrowSample!]!\n assetCategorySupplyHistory(request: AssetCategorySupplyHistoryRequest!): [AssetCategorySupplySample!]!\n assetBorrowHistory(request: AssetBorrowHistoryRequest!): [AssetBorrowSample!]!\n assetPriceHistory(request: AssetPriceHistoryRequest!): [AssetPriceSample!]!\n\n \"\"\"Fetch a list of hubs depending on your search criteria\"\"\"\n hubs(request: HubsRequest!): [Hub!]!\n hub(request: HubRequest!): Hub\n hubAssets(request: HubAssetsRequest!): [HubAsset!]!\n hubSummaryHistory(request: HubSummaryHistoryRequest!): [HubSummarySample!]!\n reserve(request: ReserveRequest!): Reserve\n reserves(request: ReservesRequest!): [Reserve!]!\n supply(request: SupplyRequest!): ExecutionPlan!\n borrow(request: BorrowRequest!): ExecutionPlan!\n withdraw(request: WithdrawRequest!): ExecutionPlan!\n repay(request: RepayRequest!): ExecutionPlan!\n spokePositionManagers(request: SpokePositionManagersRequest!): PaginatedSpokePositionManagerResult!\n spokeUserPositionManagers(request: SpokeUserPositionManagersRequest!): PaginatedSpokeUserPositionManagerResult!\n setSpokeUserPositionManager(request: SetSpokeUserPositionManagerRequest!): TransactionRequest!\n renounceSpokeUserPositionManager(request: RenounceSpokeUserPositionManagerRequest!): TransactionRequest!\n setUserSuppliesAsCollateral(request: SetUserSuppliesAsCollateralRequest!): TransactionRequest!\n liquidatePosition(request: LiquidatePositionRequest!): LiquidatePositionExecutionPlan!\n updateUserPositionConditions(request: UpdateUserPositionConditionsRequest!): TransactionRequest!\n preview(request: PreviewRequest!): PreviewUserPosition!\n borrowApyHistory(request: BorrowAPYHistoryRequest!): [APYSample!]!\n supplyApyHistory(request: SupplyAPYHistoryRequest!): [APYSample!]!\n spoke(request: SpokeRequest!): Spoke\n\n \"\"\"Lists all spokes\"\"\"\n spokes(request: SpokesRequest!): [Spoke!]!\n\n \"\"\"\n Get the user balances for the protocol\n This will only return assets that can be used on the protocol\n \"\"\"\n userBalances(request: UserBalancesRequest!): [UserBalance!]!\n userBorrows(request: UserBorrowsRequest!): [UserBorrowItem!]!\n userSummary(request: UserSummaryRequest!): UserSummary!\n userSummaryHistory(request: UserSummaryHistoryRequest!): [UserSummaryHistoryItem!]!\n userPositions(request: UserPositionsRequest!): [UserPosition!]!\n userPosition(request: UserPositionRequest!): UserPosition\n userSupplies(request: UserSuppliesRequest!): [UserSupplyItem!]!\n userRiskPremiumBreakdown(request: UserRiskPremiumBreakdownRequest!): [UserRiskPremiumBreakdownItem!]!\n\n \"\"\"\n This lets you know the API has processed the known transaction hash, as the API uses caching to make things as fast\n as possible, it has an invalidation task, so sometimes if the receipt is complete, we may still (rarely) serve\n old data for 100-200ms longer, it's best to query after you got the receipt to be told that it is ready to go.\n Note the invalidation is very quick, and most of the time it's present even before your receipt is returned this is to\n cater for the race condition.\n \"\"\"\n hasProcessedKnownTransaction(request: HasProcessedKnownTransactionRequest!): Boolean!\n activities(request: ActivitiesRequest!): PaginatedActivitiesResult!\n swapQuote(request: SwapQuoteRequest!): SwapQuote!\n prepareSwap(request: PrepareSwapRequest!): PrepareSwapResult!\n swap(request: SwapRequest!): SwapExecutionPlan!\n swapStatus(request: SwapStatusRequest!): SwapStatus!\n userSwaps(request: UserSwapsRequest!): PaginatedUserSwapsResult!\n prepareSwapCancel(request: PrepareSwapCancelRequest!): PrepareSwapCancelResult!\n cancelSwap(request: CancelSwapRequest!): CancelSwapExecutionPlan!\n swappableTokens(request: SwappableTokensRequest!): [Token!]!\n}\n\ninput RenounceSpokeUserPositionManagerRequest {\n \"\"\"The spoke id\"\"\"\n spoke: SpokeId!\n\n \"\"\"The address to remove as a position manager\"\"\"\n manager: EvmAddress!\n\n \"\"\"The address to remove `manager` as position manager\"\"\"\n managing: EvmAddress!\n}\n\ntype RepayActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n repaid: Erc20Amount!\n chain: Chain!\n}\n\ninput RepayAmountInputWithPermit @oneOf {\n \"\"\"The native amount\"\"\"\n native: AmountInput\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: RepayErc20AmountInputWithPermit\n}\n\ninput RepayErc20AmountInputWithPermit {\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: AmountInput!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without a need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC20PermitSignature\n}\n\ninput RepayPermitRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount repaying\"\"\"\n amount: AmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ninput RepayRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount repaying\"\"\"\n amount: RepayAmountInputWithPermit!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ntype Reserve {\n id: ReserveId!\n onChainId: OnChainReserveId!\n borrowCap: BigDecimal!\n supplyCap: BigDecimal!\n chain: Chain!\n summary: ReserveSummary!\n settings: ReserveSettings!\n status: ReserveStatus!\n canBorrow: Boolean!\n canSupply: Boolean!\n canUseAsCollateral: Boolean!\n userState: ReserveUserState\n asset: HubAsset!\n spoke: Spoke!\n}\n\ninput ReserveAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: ReserveErc20AmountInput\n}\n\ninput ReserveAmountInputWithPermit @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: ReserveErc20AmountInputWithPermit\n}\n\ninput ReserveErc20AmountInput {\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: BigDecimal!\n}\n\ninput ReserveErc20AmountInputWithPermit {\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: BigDecimal!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without a need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC20PermitSignature\n}\n\nscalar ReserveId\n\ntype ReserveInfo {\n id: ReserveId!\n asset: HubAsset!\n}\n\ninput ReserveInput {\n chainId: ChainId!\n spoke: EvmAddress!\n onChainId: OnChainReserveId!\n}\n\ninput ReserveRequest {\n query: ReserveRequestQuery!\n\n \"\"\"\n The user who is doing the query (this injects user state into some of the return objects)\n \"\"\"\n user: EvmAddress\n}\n\ninput ReserveRequestQuery @oneOf {\n reserveId: ReserveId\n reserveInput: ReserveInput\n}\n\ntype ReserveSettings {\n collateralFactor: PercentNumber!\n maxLiquidationBonus: PercentNumber!\n liquidationFee: PercentNumber!\n collateralRisk: PercentNumber!\n borrowable: Boolean!\n collateral: Boolean!\n suppliable: Boolean!\n latestDynamicConfigKey: DynamicConfigKey!\n}\n\ntype ReserveStatus {\n frozen: Boolean!\n paused: Boolean!\n active: Boolean!\n}\n\ntype ReserveSummary {\n supplied: Erc20Amount!\n borrowed: Erc20Amount!\n supplyApy: PercentNumber!\n borrowApy: PercentNumber!\n}\n\ntype ReserveUserState {\n balance: Erc20Amount!\n suppliable: Erc20Amount!\n borrowable: Erc20Amount!\n borrowingPower: Erc20Amount!\n borrowApy: PercentNumber!\n collateralFactor: PercentNumber!\n maxLiquidationBonus: PercentNumber!\n liquidationFee: PercentNumber!\n dynamicConfigKey: DynamicConfigKey!\n isUsingLatestDynamicConfigKey: Boolean!\n}\n\ninput ReservesRequest {\n \"\"\"The reserve's request query\"\"\"\n query: ReservesRequestQuery!\n\n \"\"\"\n The user who is doing the query (this injects user state into some of the return objects)\n \"\"\"\n user: EvmAddress\n\n \"\"\"The reserve's filter\"\"\"\n filter: ReservesRequestFilter! = ALL\n\n \"\"\"The reserve's order by\"\"\"\n orderBy: ReservesRequestOrderBy! = {assetName: ASC}\n}\n\nenum ReservesRequestFilter {\n SUPPLY\n BORROW\n COLLATERAL\n ALL\n}\n\ninput ReservesRequestOrderBy @oneOf {\n assetName: OrderDirection\n userBalance: OrderDirection\n supplyApy: OrderDirection\n supplyAvailable: OrderDirection\n borrowApy: OrderDirection\n borrowAvailable: OrderDirection\n collateralFactor: OrderDirection\n}\n\ninput ReservesRequestQuery @oneOf {\n \"\"\"Get all the reserves for a spoke\"\"\"\n spoke: SpokeInput\n\n \"\"\"Get all the reserves for a spoke\"\"\"\n spokeId: SpokeId\n\n \"\"\"Get all the reserves with underlying tokens\"\"\"\n tokens: [Erc20Input!]\n\n \"\"\"Get all the reserves on a hub for an underlying\"\"\"\n hubToken: HubTokenInput\n\n \"\"\"Get all the reserves on a hub for an underlying by a hub id\"\"\"\n hubIdToken: HubIdTokenInput\n\n \"\"\"Get all the reserves on a list of chains\"\"\"\n chainIds: [ChainId!]\n\n \"\"\"Get all the reserves for a spoke for an underlying\"\"\"\n spokeToken: SpokeTokenInput\n\n \"\"\"Get all reserves on a hub\"\"\"\n hub: HubInput\n\n \"\"\"Get all reserves with a hub id\"\"\"\n hubId: HubId\n\n \"\"\"Get all the reserves on based on user position id\"\"\"\n userPositionId: UserPositionId\n\n \"\"\"Get all the reserves based on the token categories\"\"\"\n categories: [TokenCategory!]\n}\n\ninput SetSpokeUserPositionManagerRequest {\n \"\"\"The spoke id\"\"\"\n spoke: SpokeId!\n\n \"\"\"The address to become the position manager\"\"\"\n manager: EvmAddress!\n\n \"\"\"Approve or remove the manager\"\"\"\n approve: Boolean!\n\n \"\"\"The user to set the position `manager` for\"\"\"\n user: EvmAddress!\n\n \"\"\"The signature\"\"\"\n signature: ERC20PermitSignature\n}\n\ninput SetUserSuppliesAsCollateralRequest {\n \"\"\"The collateral to make changes to\"\"\"\n changes: [UserSupplyAsCollateral!]!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\nscalar Signature\n\ntype Spoke {\n \"\"\"The id for the spoke\"\"\"\n id: SpokeId!\n\n \"\"\"The spoke name (offchain)\"\"\"\n name: String!\n\n \"\"\"The spoke address\"\"\"\n address: EvmAddress!\n\n \"\"\"The spoke chain\"\"\"\n chain: Chain!\n}\n\nscalar SpokeId\n\ninput SpokeInput {\n \"\"\"The address of the spoke\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the spoke is deployed to\"\"\"\n chainId: ChainId!\n}\n\ninput SpokePositionManagersRequest {\n spoke: SpokeId!\n includeInactive: Boolean\n pageSize: PageSize!\n cursor: Cursor\n}\n\ntype SpokePositionManger {\n name: String!\n address: EvmAddress!\n active: Boolean!\n}\n\ninput SpokeRequest {\n \"\"\"The spoke request query\"\"\"\n query: SpokeRequestQuery!\n}\n\ninput SpokeRequestQuery @oneOf {\n spoke: SpokeInput\n spokeId: SpokeId\n}\n\ninput SpokeTokenInput {\n \"\"\"The spoke id\"\"\"\n spoke: SpokeId!\n\n \"\"\"The token\"\"\"\n token: EvmAddress!\n}\n\ntype SpokeUserPositionManager {\n name: String!\n address: EvmAddress!\n approvedOn: DateTime!\n active: Boolean!\n}\n\ninput SpokeUserPositionManagersRequest {\n spoke: SpokeId!\n user: EvmAddress!\n pageSize: PageSize!\n cursor: Cursor\n}\n\ninput SpokesRequest {\n query: SpokesRequestQuery!\n}\n\ninput SpokesRequestQuery @oneOf {\n \"\"\"\n The hub id\n Get all the spokes which hubs are linked to a spoke reserve\n \"\"\"\n hubId: HubId\n\n \"\"\"\n The hub address and chain id\n Get all the spokes which hubs are linked to a spoke reserve\n \"\"\"\n hub: HubInput\n\n \"\"\"\n The chain ids\n Get all the spokes which are on the list of chain ids\n \"\"\"\n chainIds: [ChainId!]\n}\n\ninput SupplyAPYHistoryRequest {\n reserve: ReserveId!\n window: TimeWindow! = LAST_DAY\n}\n\ntype SupplyActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n supplied: Erc20Amount!\n chain: Chain!\n}\n\ninput SupplyPermitRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount supplying\"\"\"\n amount: ReserveErc20AmountInput!\n\n \"\"\"If you wish to enable collateral with it meaning you can borrow\"\"\"\n enableCollateral: Boolean! = true\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ninput SupplyRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount supplying\"\"\"\n amount: ReserveAmountInputWithPermit!\n\n \"\"\"If you wish to enable collateral with it meaning you can borrow\"\"\"\n enableCollateral: Boolean! = true\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ntype SwapApprovalRequired {\n approval: TransactionRequest!\n originalTransaction: SwapTransactionRequest!\n}\n\ntype SwapByIntent {\n quote: SwapQuote!\n data: SwapByIntentTypedData!\n}\n\ninput SwapByIntentInput {\n quoteId: SwapQuoteId!\n signature: Signature!\n}\n\ntype SwapByIntentTypeDefinition {\n EIP712Domain: [TypeField!]!\n Order: [TypeField!]!\n}\n\ntype SwapByIntentTypedData {\n types: SwapByIntentTypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: JSON!\n}\n\ntype SwapByIntentWithApprovalRequired {\n quote: SwapQuote!\n approval: TransactionRequest!\n data: SwapByIntentTypedData!\n}\n\ntype SwapByTransaction {\n quote: SwapQuote!\n}\n\ntype SwapCancelled {\n createdAt: DateTime!\n cancelledAt: DateTime\n explorerLink: String!\n}\n\nunion SwapExecutionPlan = SwapTransactionRequest | SwapApprovalRequired | InsufficientBalanceError | SwapReceipt\n\ntype SwapExpired {\n createdAt: DateTime!\n expiredAt: DateTime!\n explorerLink: String!\n}\n\ntype SwapFulfilled {\n txHash: String!\n desiredSell: TokenAmount!\n desiredBuy: TokenAmount!\n sold: TokenAmount!\n bought: TokenAmount!\n createdAt: DateTime!\n fulfilledAt: DateTime!\n explorerLink: String!\n refundTxHash: TxHash\n}\n\nscalar SwapId\n\nenum SwapKind {\n BUY\n SELL\n}\n\ntype SwapOpen {\n swapId: SwapId!\n createdAt: DateTime!\n deadline: DateTime!\n explorerLink: String!\n desiredSell: TokenAmount!\n desiredBuy: TokenAmount!\n}\n\ntype SwapPendingSignature {\n createdAt: DateTime!\n deadline: DateTime!\n explorerLink: String!\n}\n\ntype SwapQuote {\n quoteId: SwapQuoteId!\n suggestedSlippage: PercentNumber!\n desiredSell: TokenAmount!\n desiredBuy: TokenAmount!\n costs: SwapQuoteCosts!\n\n \"\"\"Minimum received amount after all costs and slippage\"\"\"\n minimumReceived: TokenAmount!\n}\n\ntype SwapQuoteCosts {\n \"\"\"Network and provider costs\"\"\"\n networkCosts: TokenAmount!\n\n \"\"\"Aave partner fee amount\"\"\"\n partnerFee: TokenAmount!\n}\n\nscalar SwapQuoteId\n\ninput SwapQuoteRequest {\n chainId: ChainId!\n buy: TokenInput!\n sell: TokenInput!\n amount: BigDecimal!\n kind: SwapKind\n from: EvmAddress!\n receiver: EvmAddress\n}\n\ntype SwapReceipt {\n id: SwapId!\n createdAt: DateTime!\n explorerLink: String!\n}\n\ninput SwapRequest @oneOf {\n intent: SwapByIntentInput\n transaction: SwapWithTransactionInput\n}\n\nunion SwapStatus = SwapOpen | SwapPendingSignature | SwapCancelled | SwapExpired | SwapFulfilled\n\nenum SwapStatusFilter {\n CANCELLED\n EXPIRED\n FULFILLED\n OPEN\n PENDING_SIGNATURE\n}\n\ninput SwapStatusRequest {\n id: SwapId!\n}\n\ntype SwapTransactionRequest {\n transaction: TransactionRequest!\n orderReceipt: SwapReceipt!\n}\n\ninput SwapWithTransactionInput {\n quoteId: SwapQuoteId!\n permitSig: Signature\n\n \"\"\"\n Whether the swap order creator is a smart contract wallet. If not provided, it will be inferred following the ERC-1271 standard.\n \"\"\"\n isSenderSmartContractWallet: Boolean\n}\n\ninput SwappableTokenInput @oneOf {\n native: ChainId\n erc20: Erc20Input\n}\n\ninput SwappableTokensRequest {\n query: SwappableTokensRequestQuery\n}\n\ninput SwappableTokensRequestQuery @oneOf {\n chainIds: [ChainId!]\n from: SwappableTokenInput\n to: SwappableTokenInput\n}\n\nenum TimeWindow {\n LAST_DAY\n LAST_WEEK\n LAST_MONTH\n LAST_SIX_MONTHS\n LAST_YEAR\n ALL\n}\n\nunion Token = NativeToken | Erc20Token\n\nunion TokenAmount = NativeAmount | Erc20Amount\n\nenum TokenCategory {\n STABLECOIN\n ETH_CORRELATED\n}\n\ntype TokenInfo {\n \"\"\"The token info id\"\"\"\n id: TokenInfoId!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token icon\"\"\"\n icon: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n\n \"\"\"The token category,\"\"\"\n categories: [TokenCategory!]!\n}\n\nscalar TokenInfoId\n\ninput TokenInput @oneOf {\n \"\"\"Native token\"\"\"\n native: AlwaysTrue\n\n \"\"\"The erc20 address\"\"\"\n erc20: EvmAddress\n}\n\ntype TransactionRequest {\n to: EvmAddress!\n from: EvmAddress!\n data: BlockchainData!\n value: BigInt!\n chainId: ChainId!\n operations: [OperationType!]\n}\n\nscalar TxHash\n\ninput TxHashInput {\n txHash: TxHash!\n chainId: ChainId!\n}\n\ntype TypeDefinition {\n EIP712Domain: [TypeField!]!\n Permit: [TypeField!]!\n}\n\ntype TypeField {\n name: String!\n type: String!\n}\n\ninput UpdateUserPositionConditionsRequest {\n userPositionId: UserPositionId!\n dynamicConfig: Boolean!\n riskPremium: Boolean!\n}\n\ntype UpdatedDynamicConfigActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n collateralFactor: PercentNumberChangeSnapshot!\n maxLiquidationBonus: PercentNumberChangeSnapshot!\n liquidationFee: PercentNumberChangeSnapshot!\n chain: Chain!\n}\n\ntype UpdatedRiskPremiumActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n premium: PercentNumberChangeSnapshot!\n chain: Chain!\n}\n\ntype UserBalance {\n \"\"\"The user balance id\"\"\"\n id: UserBalanceId!\n\n \"\"\"The token info\"\"\"\n info: TokenInfo!\n\n \"\"\"The balances across chains it will be 1 item per chain\"\"\"\n balances: [TokenAmount!]!\n\n \"\"\"The total amount summed across all balances\"\"\"\n totalAmount: DecimalNumber!\n\n \"\"\"The total exchange amount summed across all balances\"\"\"\n exchange(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The supply APY dependent on what you pass in for the `metric`\"\"\"\n supplyApy(metric: ApyMetric! = HIGHEST): PercentNumber!\n\n \"\"\"The borrow APY dependent on what you pass in for the `metric`\"\"\"\n borrowApy(metric: ApyMetric! = HIGHEST): PercentNumber!\n collateralFactor(metric: CollateralMetric! = HIGHEST): PercentNumber\n}\n\nscalar UserBalanceId\n\ninput UserBalancesByChains {\n \"\"\"List of chains\"\"\"\n chainIds: [ChainId!]!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesByHub {\n \"\"\"The hub address\"\"\"\n address: EvmAddress!\n\n \"\"\"The hub chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesByHubId {\n \"\"\"The hub id\"\"\"\n hubId: HubId!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesBySpoke {\n \"\"\"The spoke address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the spoke is deployed to\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesByUserPosition {\n \"\"\"The user position id\"\"\"\n userPositionId: UserPositionId!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesRequest {\n \"\"\"The user to get the balance for\"\"\"\n user: EvmAddress!\n\n \"\"\"The order by clause - defaults to the highest USD value\"\"\"\n orderBy: UserBalancesRequestOrderBy! = {balance: DESC}\n\n \"\"\"The user balance filter\"\"\"\n filter: UserBalancesRequestFilter!\n\n \"\"\"If you want to include 0 balances in the return list\"\"\"\n includeZeroBalances: Boolean! = false\n}\n\ninput UserBalancesRequestFilter @oneOf {\n \"\"\"The balances for the tokens on the specified chains\"\"\"\n chains: UserBalancesByChains\n\n \"\"\"The balances for the tokens of hub assets on a given hub\"\"\"\n hub: UserBalancesByHub\n\n \"\"\"The balances for the tokens of the hub assets on a given hub id\"\"\"\n hubId: UserBalancesByHubId\n\n \"\"\"The balances for the tokens of reserves attached to a spoke\"\"\"\n spoke: UserBalancesBySpoke\n\n \"\"\"The balances for the swappable tokens\"\"\"\n swappable: SwappableTokensRequestQuery\n\n \"\"\"\n The balances for the tokens of the spoke associated with the given user position\n \"\"\"\n userPosition: UserBalancesByUserPosition\n\n \"\"\"The balances for the chains tokens\"\"\"\n tokens: [ChainTokenInput!]\n}\n\ninput UserBalancesRequestOrderBy @oneOf {\n \"\"\"The name of the token\"\"\"\n name: OrderDirection\n\n \"\"\"The balance of the token\"\"\"\n balance: OrderDirection\n}\n\ntype UserBorrowItem {\n \"\"\"The user borrow item id\"\"\"\n id: UserBorrowItemId!\n\n \"\"\"The reserve borrowed from\"\"\"\n reserve: Reserve!\n\n \"\"\"The amount borrowed on this reserve\"\"\"\n principal: Erc20Amount!\n\n \"\"\"The overall debt including accrued interests\"\"\"\n debt: Erc20Amount!\n\n \"\"\"The interest incurred on the loan\"\"\"\n interest: Erc20Amount!\n\n \"\"\"\n When the borrow was created.\n This is null if they have no supply item, for\n example, when using include_zero_balances this comes\n back as principal and debt as 0\n \"\"\"\n createdAt: DateTime\n}\n\nscalar UserBorrowItemId\n\ninput UserBorrowsAPYBreakdownRequestQuery @oneOf {\n userSpoke: UserSpokeInput\n userPositionId: UserPositionId\n}\n\ninput UserBorrowsRequest {\n query: UserBorrowsRequestQuery!\n orderBy: UserBorrowsRequestOrderBy! = {amount: DESC}\n\n \"\"\"If you wish to include zero balances in the results\"\"\"\n includeZeroBalances: Boolean! = false\n}\n\ninput UserBorrowsRequestOrderBy @oneOf {\n assetName: OrderDirection\n created: OrderDirection\n amount: OrderDirection\n apy: OrderDirection\n}\n\ninput UserBorrowsRequestQuery @oneOf {\n userSpoke: UserSpokeInput\n userToken: UserToken\n userPositionId: UserPositionId\n userChains: UserChains\n userHub: UserHub\n}\n\ninput UserChains {\n user: EvmAddress!\n chainIds: [ChainId!]!\n}\n\ninput UserHub {\n \"\"\"The user address\"\"\"\n user: EvmAddress!\n\n \"\"\"The user hub input\"\"\"\n hub: UserHubInput!\n}\n\ninput UserHubInput @oneOf {\n input: HubInput\n id: HubId\n}\n\ntype UserPosition {\n \"\"\"The user position ID\"\"\"\n id: UserPositionId!\n\n \"\"\"The user holding this position\"\"\"\n user: EvmAddress!\n createdAt: DateTime!\n totalSupplied(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"\n Total collateral which is the full some of the assets supplied which are enabled as collateral\n \"\"\"\n totalCollateral(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"Total debt which is the total amount borrowed plus the accrued premium\"\"\"\n totalDebt(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"The net balance which is `total_supplied` - `borrows`\"\"\"\n netBalance(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"The net collateral which is `totalCollateral` - `totalDebt`\"\"\"\n netCollateral(currency: Currency! = USD): ExchangeAmountWithChange!\n netApy: PercentNumber!\n netSupplyApy: PercentNumberWithChange!\n netBorrowApy: PercentNumberWithChange!\n healthFactor: HealthFactorWithChange!\n riskPremium: UserPositionRiskPremium\n liquidationPrice(currency: Currency! = USD): ExchangeAmount\n borrowingPower(currency: Currency! = USD): ExchangeAmount!\n isUsingLatestDynamicConfigKey: Boolean!\n netBalancePercentChange(window: TimeWindow! = LAST_DAY): PercentNumber!\n spoke: Spoke!\n averageCollateralFactor: PercentNumber!\n}\n\nscalar UserPositionId\n\ninput UserPositionRequest @oneOf {\n userSpoke: UserSpokeInput\n id: UserPositionId\n}\n\ntype UserPositionRiskPremium {\n current: PercentNumber!\n better: PercentNumber\n breakdown: [UserRiskPremiumBreakdownItem!]!\n}\n\ninput UserPositionsRequest {\n \"\"\"The user to get the positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"The filter for the user position\"\"\"\n filter: UserPositionsRequestFilter!\n\n \"\"\"The ordering for the positions\"\"\"\n orderBy: UserPositionsRequestOrderBy! = {created: ASC}\n}\n\ninput UserPositionsRequestFilter @oneOf {\n tokens: [Erc20Input!]\n chainIds: [ChainId!]\n}\n\ninput UserPositionsRequestOrderBy @oneOf {\n created: OrderDirection\n balance: OrderDirection\n netApy: OrderDirection\n healthFactor: OrderDirection\n netCollateral: OrderDirection\n}\n\ntype UserRiskPremiumBreakdownItem {\n token: Erc20Token!\n riskPremiumWeight: PercentNumber!\n collateral: PercentNumber!\n}\n\ninput UserRiskPremiumBreakdownRequest {\n query: UserBorrowsAPYBreakdownRequestQuery!\n user: EvmAddress!\n}\n\ninput UserSpokeInput {\n spoke: SpokeId!\n user: EvmAddress!\n}\n\ntype UserSummary {\n totalPositions: Int!\n\n \"\"\"Net balance = supply - debt\"\"\"\n netBalance(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"Total supply where is_collateral is true\"\"\"\n totalCollateral(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"Total supplied across all positions\"\"\"\n totalSupplied(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"Total debt across all positions\"\"\"\n totalDebt(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"\n Net APY = (Σ (supplied_amount_i * supply_apy_i) - Σ (borrowed_amount_j * borrow_apy_j)) / (Σ supplied_amount_i)\n \"\"\"\n netApy: PercentNumber!\n\n \"\"\"Interest earned (net fee earned)\"\"\"\n netFeeEarned: ExchangeAmount!\n\n \"\"\"Lowest health factor across all positions\"\"\"\n lowestHealthFactor: BigDecimal\n}\n\ninput UserSummaryFilter @oneOf {\n spoke: SpokeInput\n spokeId: SpokeId\n chainIds: [ChainId!]\n userPositionId: UserPositionId\n}\n\ntype UserSummaryHistoryItem {\n healthFactor: BigDecimal\n date: DateTime!\n\n \"\"\"The aggregated net balance for the time period\"\"\"\n netBalance(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The aggregated borrows for the time period\"\"\"\n borrows(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The aggregated supplies for the time period\"\"\"\n supplies(currency: Currency! = USD): ExchangeAmount!\n}\n\ninput UserSummaryHistoryRequest {\n user: EvmAddress!\n filter: UserSummaryFilter\n window: TimeWindow! = LAST_DAY\n}\n\ninput UserSummaryRequest {\n user: EvmAddress!\n filter: UserSummaryFilter\n}\n\ninput UserSuppliesRequest {\n query: UserSuppliesRequestQuery!\n orderBy: UserSuppliesRequestOrderBy! = {amount: DESC}\n\n \"\"\"If you wish to include zero balances in the results\"\"\"\n includeZeroBalances: Boolean! = false\n}\n\ninput UserSuppliesRequestOrderBy @oneOf {\n assetName: OrderDirection\n created: OrderDirection\n amount: OrderDirection\n apy: OrderDirection\n}\n\ninput UserSuppliesRequestQuery @oneOf {\n userSpoke: UserSpokeInput\n userToken: UserToken\n userPositionId: UserPositionId\n userChains: UserChains\n userHub: UserHub\n}\n\ninput UserSupplyAsCollateral {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"If you want to enable the collateral or disable\"\"\"\n enableCollateral: Boolean!\n}\n\ntype UserSupplyItem {\n \"\"\"The user supply item id\"\"\"\n id: UserSupplyItemId!\n\n \"\"\"The reserve supplied to\"\"\"\n reserve: Reserve!\n\n \"\"\"The amount supplied to this reserve\"\"\"\n principal: Erc20Amount!\n\n \"\"\"The overall amount you can withdraw, including accrued interests\"\"\"\n withdrawable: Erc20Amount!\n\n \"\"\"The interest amount earned on supplying\"\"\"\n interest: Erc20Amount!\n\n \"\"\"If this supply is used as collateral\"\"\"\n isCollateral: Boolean!\n\n \"\"\"\n When the supply was created.\n This is null if they have no supply item, for\n example, when using include_zero_balances this comes\n back as principal and withdrawable as 0\n \"\"\"\n createdAt: DateTime\n}\n\nscalar UserSupplyItemId\n\ninput UserSwapsRequest {\n chainId: ChainId!\n user: EvmAddress!\n filterBy: [SwapStatusFilter!]\n pageSize: PageSize! = FIFTY\n cursor: Cursor\n}\n\ninput UserToken {\n user: EvmAddress!\n token: Erc20Input!\n}\n\ntype UsingAsCollateralActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n enabledAsCollateral: Boolean!\n chain: Chain!\n}\n\ntype WithdrawActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n withdrawn: Erc20Amount!\n chain: Chain!\n}\n\ninput WithdrawRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount withdrawing\"\"\"\n amount: WithdrawReserveAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ninput WithdrawReserveAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: AmountInput\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: AmountInput\n}","import { buildSchema } from 'graphql';\n\nimport schemaSDL from '../schema.graphql';\n\n/**\n * @internal\n */\nexport const schema = buildSchema(schemaSDL);\n"]}
1
+ {"version":3,"sources":["../schema.graphql","../src/test-utils.ts"],"names":["schema_default","schema","buildSchema"],"mappings":"kCAAA,IAAAA,CAAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;GCOO,IAAMC,CAAAA,CAASC,YAAYF,CAAS","file":"test-utils.js","sourcesContent":["input ActivitiesRequest {\n query: ActivitiesRequestQuery!\n user: EvmAddress\n types: [ActivityType!]! = [BORROW, SUPPLY, WITHDRAW, REPAY, LIQUIDATED, SET_AS_COLLATERAL, UPDATED_DYNAMIC_CONFIG, UPDATED_RISK_PREMIUM]\n pageSize: PageSize! = FIFTY\n cursor: Cursor\n}\n\ninput ActivitiesRequestQuery @oneOf {\n hub: HubInput\n hubId: HubId\n spoke: SpokeInput\n spokeId: SpokeId\n chainIds: [ChainId!]\n txHash: TxHashInput\n userPositionId: UserPositionId\n}\n\nunion ActivityItem = BorrowActivity | SupplyActivity | WithdrawActivity | RepayActivity | LiquidatedActivity | UsingAsCollateralActivity | UpdatedDynamicConfigActivity | UpdatedRiskPremiumActivity\n\nenum ActivityType {\n SUPPLY\n BORROW\n REPAY\n WITHDRAW\n LIQUIDATED\n SET_AS_COLLATERAL\n UPDATED_DYNAMIC_CONFIG\n UPDATED_RISK_PREMIUM\n}\n\nscalar AlwaysTrue\n\ninput AmountInput @oneOf {\n \"\"\"Exact amount\"\"\"\n exact: BigDecimal\n\n \"\"\"Max amount\"\"\"\n max: AlwaysTrue\n}\n\nenum ApyMetric {\n HIGHEST\n LOWEST\n AVERAGE\n}\n\ntype ApySample {\n date: DateTime!\n avgRate: PercentNumber!\n}\n\ntype Asset {\n id: AssetId!\n token: Erc20Token!\n summary: AssetSummary!\n price(currency: Currency! = USD): ExchangeAmountWithChange!\n}\n\ntype AssetAmountWithChange {\n amount: DecimalNumberWithChange!\n exchange(currency: Currency! = USD): ExchangeAmountWithChange!\n}\n\ninput AssetBorrowHistoryRequest {\n query: AssetBorrowHistoryRequestQuery!\n window: TimeWindow! = LAST_DAY\n}\n\ninput AssetBorrowHistoryRequestQuery @oneOf {\n token: Erc20Input\n assetId: AssetId\n}\n\ntype AssetBorrowSample {\n date: DateTime!\n amount: DecimalNumber!\n highestApy: PercentNumber!\n lowestApy: PercentNumber!\n}\n\ninput AssetCategoryBorrowHistoryRequest {\n category: TokenCategory!\n window: TimeWindow! = LAST_DAY\n}\n\ntype AssetCategoryBorrowSample {\n date: DateTime!\n highestApy: PercentNumber!\n lowestApy: PercentNumber!\n borrows(currency: Currency! = USD): ExchangeAmount!\n}\n\ninput AssetCategorySupplyHistoryRequest {\n category: TokenCategory!\n window: TimeWindow! = LAST_DAY\n}\n\ntype AssetCategorySupplySample {\n date: DateTime!\n highestApy: PercentNumber!\n lowestApy: PercentNumber!\n deposits(currency: Currency! = USD): ExchangeAmount!\n}\n\nscalar AssetId\n\ninput AssetPriceHistoryRequest {\n query: AssetPriceHistoryRequestQuery!\n currency: Currency! = USD\n window: TimeWindow! = LAST_DAY\n}\n\ninput AssetPriceHistoryRequestQuery @oneOf {\n token: Erc20Input\n assetId: AssetId\n}\n\ntype AssetPriceSample {\n date: DateTime!\n price: BigDecimal!\n}\n\ninput AssetRequest {\n query: AssetRequestQuery!\n}\n\ninput AssetRequestQuery @oneOf {\n token: Erc20Input\n assetId: AssetId\n}\n\ntype AssetSummary {\n totalSupplyCap: DecimalNumberWithChange!\n totalSupplied: AssetAmountWithChange!\n totalSuppliable: AssetAmountWithChange!\n totalBorrowCap: DecimalNumberWithChange!\n totalBorrowed: AssetAmountWithChange!\n totalBorrowable: AssetAmountWithChange!\n\n \"\"\"The supply apy dependent on what you pass in for the `metric`\"\"\"\n supplyApy(metric: ApyMetric! = AVERAGE): PercentNumber!\n\n \"\"\"The borrow APY dependent on what you pass in for the `metric`\"\"\"\n borrowApy(metric: ApyMetric! = AVERAGE): PercentNumber!\n}\n\ninput AssetSupplyHistoryRequest {\n query: AssetSupplyHistoryRequestQuery!\n window: TimeWindow! = LAST_DAY\n}\n\ninput AssetSupplyHistoryRequestQuery @oneOf {\n token: Erc20Input\n assetId: AssetId\n}\n\ntype AssetSupplySample {\n date: DateTime!\n amount: DecimalNumber!\n highestApy: PercentNumber!\n lowestApy: PercentNumber!\n}\n\nscalar BigDecimal\n\nscalar BigInt\n\nscalar BlockchainData\n\ntype BorrowActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n borrowed: Erc20Amount!\n chain: Chain!\n}\n\ninput BorrowApyHistoryRequest {\n reserve: ReserveId!\n window: TimeWindow! = LAST_DAY\n}\n\ninput BorrowRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount supplying\"\"\"\n amount: ReserveAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ninput CancelIntentSwapInput {\n id: SwapId!\n signature: Signature!\n}\n\nunion CancelSwapExecutionPlan = TransactionRequest | SwapCancelled\n\ninput CancelSwapRequest @oneOf {\n intent: CancelIntentSwapInput\n transaction: SwapId\n}\n\ntype CancelSwapTypeDefinition {\n EIP712Domain: [TypeField!]!\n OrderCancellations: [TypeField!]!\n}\n\ntype CancelSwapTypedData {\n types: CancelSwapTypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: JSON!\n}\n\ntype Chain {\n name: String!\n icon: String!\n chainId: ChainId!\n explorerUrl: String!\n isTestnet: Boolean!\n nativeWrappedToken: EvmAddress!\n nativeInfo: TokenInfo!\n nativeGateway: EvmAddress!\n signatureGateway: EvmAddress!\n rpcUrl: String!\n isFork: Boolean!\n}\n\n\"\"\"A supported blockchain chain ID\"\"\"\nscalar ChainId\n\ninput ChainRequest {\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput ChainTokenInput {\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The token input\"\"\"\n token: TokenInput!\n}\n\nenum ChainsFilter {\n TESTNET_ONLY\n MAINNET_ONLY\n ALL\n}\n\ninput ChainsRequest {\n query: ChainsRequestQuery!\n}\n\ninput ChainsRequestQuery @oneOf {\n chainIds: [ChainId!]\n filter: ChainsFilter\n}\n\nunion ChangedDynamicConfigUserPositionConditions = DynamicConfigUserPositionCollateralFactorVariation | DynamicConfigUserPositionLiquidationFeeVariation | DynamicConfigUserPositionMaxLiquidationBonusVariation\n\nenum CollateralMetric {\n HIGHEST\n LOWEST\n}\n\nenum Currency {\n USD\n GBP\n EUR\n}\n\nscalar Cursor\n\nscalar DateTime\n\ntype DecimalNumber {\n \"\"\"The on-chain representation of `value`, stored as an integer.\"\"\"\n onChainValue: BigInt!\n\n \"\"\"\n The number of decimals defining how many fractional digits the number supports.\n \"\"\"\n decimals: Int!\n\n \"\"\"The normalized value computed as `onChainValue / 10^decimals`.\"\"\"\n value: BigDecimal!\n}\n\ntype DecimalNumberWithChange {\n current: DecimalNumber!\n change(window: TimeWindow! = LAST_DAY): PercentNumber!\n}\n\ntype DomainData {\n name: String!\n version: String!\n chainId: ChainId!\n verifyingContract: EvmAddress!\n}\n\nscalar DynamicConfigKey\n\ntype DynamicConfigUserPositionCollateralFactorVariation {\n reserveId: ReserveId!\n token: Erc20Token!\n current: PercentNumber!\n after: PercentNumber!\n}\n\ntype DynamicConfigUserPositionLiquidationFeeVariation {\n reserveId: ReserveId!\n token: Erc20Token!\n current: PercentNumber!\n after: PercentNumber!\n}\n\ntype DynamicConfigUserPositionMaxLiquidationBonusVariation {\n reserveId: ReserveId!\n token: Erc20Token!\n current: PercentNumber!\n after: PercentNumber!\n}\n\ninput ERC20PermitSignature {\n \"\"\"The signature for the erc721\"\"\"\n value: Signature!\n\n \"\"\"The deadline for the erc721\"\"\"\n deadline: Int!\n}\n\nenum EarningPeriod {\n ANNUAL\n}\n\ntype Erc20Amount {\n \"\"\"The value\"\"\"\n amount: DecimalNumber!\n\n \"\"\"The exchange amount\"\"\"\n exchange(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The exchange rate\"\"\"\n exchangeRate(currency: Currency! = USD): DecimalNumber!\n isWrappedNative: Boolean!\n token: Erc20Token!\n}\n\ntype Erc20ApprovalRequired {\n \"\"\"The transaction requires an approval first\"\"\"\n transaction: TransactionRequest!\n\n \"\"\"The reason for the approval\"\"\"\n reason: String!\n\n \"\"\"The required amount missing to be able to do the original transaction\"\"\"\n requiredAmount: DecimalNumber!\n\n \"\"\"The current allowance approved\"\"\"\n currentAllowance: DecimalNumber!\n\n \"\"\"The transaction to send after the approval is complete\"\"\"\n originalTransaction: TransactionRequest!\n}\n\ninput Erc20Input {\n \"\"\"The token address\"\"\"\n address: EvmAddress!\n\n \"\"\"The token chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Erc20Token {\n \"\"\"The token address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain its deployed to\"\"\"\n chain: Chain!\n\n \"\"\"The ERC20 token info\"\"\"\n info: TokenInfo!\n\n \"\"\"\n The protocol only deals with ERC20 this allows you to understand if\n the token is a wrapped native token to allow you to maybe change `WETH` > `ETH`\n on the display screen, or whatever you decide makes sense\n \"\"\"\n isWrappedNativeToken: Boolean!\n\n \"\"\"If permit is supported for the ERC20 token\"\"\"\n permitSupported: Boolean!\n}\n\nscalar EvmAddress\n\ntype ExchangeAmount {\n value: BigDecimal!\n name: String!\n symbol: String!\n icon: String!\n decimals: Int!\n}\n\ntype ExchangeAmountValueVariation {\n current: ExchangeAmount!\n after: ExchangeAmount!\n}\n\ntype ExchangeAmountWithChange {\n current: ExchangeAmount!\n change(window: TimeWindow! = LAST_DAY): PercentNumber!\n}\n\ninput ExchangeRateRequest {\n \"\"\"The from criteria\"\"\"\n from: ExchangeRateRequestFrom!\n\n \"\"\"The currency to get the result in\"\"\"\n to: Currency!\n\n \"\"\"\n The date time to get the exchange rate at, if not provided the latest rate is returned\n \"\"\"\n at: DateTime\n}\n\ninput ExchangeRateRequestFrom @oneOf {\n \"\"\"The currency\"\"\"\n fiat: Currency\n\n \"\"\"The erc20 token\"\"\"\n erc20: Erc20Input\n\n \"\"\"The native token\"\"\"\n native: ChainId\n}\n\nunion ExecutionPlan = TransactionRequest | Erc20ApprovalRequired | PreContractActionRequired | InsufficientBalanceError\n\ninput ForkTopUpErc20 {\n \"\"\"The token address\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n value: BigDecimal!\n}\n\ninput ForkTopUpRequest {\n \"\"\"The address you want the funds to be topped up against\"\"\"\n user: EvmAddress!\n\n \"\"\"The erc20 information\"\"\"\n erc20: ForkTopUpErc20\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n native: BigDecimal\n}\n\ntype ForkTopUpResponse {\n message: String!\n\n \"\"\"The tx hash of the newly created transaction\"\"\"\n txHash: String\n}\n\ninput HasProcessedKnownTransactionRequest {\n \"\"\"\n The operation types this is given to you on the TransactionRequest::operations\n \"\"\"\n operations: [OperationType!]!\n\n \"\"\"The tx hash\"\"\"\n txHash: TxHash!\n}\n\ntype HealthFactorError {\n reason: String!\n current: BigDecimal\n after: BigDecimal\n}\n\nunion HealthFactorResult = HealthFactorVariation | HealthFactorError\n\ntype HealthFactorVariation {\n current: BigDecimal\n after: BigDecimal\n}\n\ntype HealthFactorWithChange {\n current: BigDecimal\n change(window: TimeWindow! = LAST_DAY): PercentNumber!\n}\n\ntype Hub {\n \"\"\"The id for the hub\"\"\"\n id: HubId!\n\n \"\"\"The hub name\"\"\"\n name: String!\n\n \"\"\"The hub address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain the hub is deployed on\"\"\"\n chain: Chain!\n\n \"\"\"The hub summary\"\"\"\n summary(currency: Currency! = USD): HubSummary!\n}\n\ntype HubAsset {\n \"\"\"The id for the hub asset\"\"\"\n id: HubAssetId!\n\n \"\"\"The onchain asset id\"\"\"\n onchainAssetId: OnChainHubAssetId!\n\n \"\"\"The hub\"\"\"\n hub: Hub!\n\n \"\"\"The underlying token\"\"\"\n underlying: Erc20Token!\n\n \"\"\"The hub asset summary\"\"\"\n summary: HubAssetSummary!\n\n \"\"\"The hub asset settings\"\"\"\n settings: HubAssetSettings!\n userState: HubAssetUserState\n}\n\nscalar HubAssetId\n\ntype HubAssetSettings {\n \"\"\"The fee receiver\"\"\"\n feeReceiver: EvmAddress!\n\n \"\"\"The liquidity fee\"\"\"\n liquidityFee: PercentNumber!\n\n \"\"\"The ir strategy\"\"\"\n irStrategy: EvmAddress!\n\n \"\"\"The reinvestment strategy\"\"\"\n reinvestmentController: EvmAddress\n}\n\ntype HubAssetSummary {\n \"\"\"The supplied amount\"\"\"\n supplied: Erc20Amount!\n\n \"\"\"The borrowed amount\"\"\"\n borrowed: Erc20Amount!\n\n \"\"\"The available liquidity\"\"\"\n availableLiquidity: Erc20Amount!\n\n \"\"\"The supply apy\"\"\"\n supplyApy: PercentNumber!\n\n \"\"\"The borrow apy\"\"\"\n borrowApy: PercentNumber!\n\n \"\"\"The net apy\"\"\"\n netApy: PercentNumber!\n\n \"\"\"The utilization rate\"\"\"\n utilizationRate: PercentNumber!\n}\n\ntype HubAssetUserState {\n \"\"\"The hub asset balance\"\"\"\n balance: Erc20Amount!\n}\n\ninput HubAssetsRequest {\n query: HubAssetsRequestQuery!\n user: EvmAddress\n orderBy: HubAssetsRequestOrderBy! = {assetName: ASC}\n}\n\ninput HubAssetsRequestOrderBy @oneOf {\n assetName: OrderDirection\n availableLiquidity: OrderDirection\n supplyApy: OrderDirection\n borrowApy: OrderDirection\n}\n\ninput HubAssetsRequestQuery @oneOf {\n hubInput: HubInput\n hubId: HubId\n}\n\nscalar HubId\n\ninput HubIdTokenInput {\n hubId: HubId!\n token: EvmAddress!\n}\n\ninput HubInput {\n \"\"\"The hub address\"\"\"\n address: EvmAddress!\n\n \"\"\"The hub chain id\"\"\"\n chainId: ChainId!\n}\n\ninput HubRequest {\n query: HubRequestQuery!\n}\n\ninput HubRequestQuery @oneOf {\n hubInput: HubInput\n hubId: HubId\n}\n\ntype HubSummary {\n \"\"\"\n The total spoke reserves aggregated borrowed using this hub, showed in exchange amount as each asset has a different value\n \"\"\"\n totalBorrowed: ExchangeAmountWithChange!\n\n \"\"\"\n The total spoke reserves aggregated borrow caps using this hub, showed in exchange amount as each asset has a different value\n \"\"\"\n totalBorrowCap: ExchangeAmount!\n\n \"\"\"\n The total spoke reserves aggregated supplied using this hub, showed in exchange amount as each asset has a different value\n \"\"\"\n totalSupplied: ExchangeAmountWithChange!\n\n \"\"\"\n The total spoke reserves aggregated supply caps using this hub, showed in exchange amount as each asset has a different value\n \"\"\"\n totalSupplyCap: ExchangeAmount!\n\n \"\"\"The utilization rate\"\"\"\n utilizationRate: PercentNumber!\n}\n\ninput HubSummaryHistoryRequest {\n query: HubSummaryHistoryRequestQuery!\n currency: Currency! = USD\n window: TimeWindow! = LAST_DAY\n}\n\ninput HubSummaryHistoryRequestQuery @oneOf {\n hubInput: HubInput\n hubId: HubId\n}\n\ntype HubSummarySample {\n date: DateTime!\n deposits: ExchangeAmount!\n borrows: ExchangeAmount!\n availableLiquidity: ExchangeAmount!\n utilizationRate: PercentNumber!\n}\n\ninput HubTokenInput {\n chainId: ChainId!\n hub: EvmAddress!\n token: EvmAddress!\n}\n\ninput HubsRequest {\n query: HubsRequestQuery!\n orderBy: HubsRequestOrderBy! = {name: ASC}\n}\n\ninput HubsRequestOrderBy @oneOf {\n name: OrderDirection\n totalBorrowed: OrderDirection\n totalSupplied: OrderDirection\n}\n\ninput HubsRequestQuery @oneOf {\n \"\"\"Get back all the hubs which have one of the underlying tokens supplied\"\"\"\n tokens: [Erc20Input!]\n\n \"\"\"Get back all the hubs based on the chain ids passed in\"\"\"\n chainIds: [ChainId!]\n}\n\ntype InsufficientBalanceError {\n \"\"\"The amount required to do the original transaction\"\"\"\n required: DecimalNumber!\n\n \"\"\"The amount available in the wallet\"\"\"\n available: DecimalNumber!\n}\n\n\"\"\"A scalar that can represent any JSON value.\"\"\"\nscalar JSON\n\ninput LiquidatePositionDebtAmount @oneOf {\n \"\"\"Exact amount\"\"\"\n exact: BigDecimal\n\n \"\"\"The most you can liquidate\"\"\"\n max: AlwaysTrue\n}\n\nunion LiquidatePositionExecutionPlan = TransactionRequest | Erc20ApprovalRequired | InsufficientBalanceError\n\ninput LiquidatePositionRequest {\n \"\"\"The collateral reserve id\"\"\"\n collateral: ReserveId!\n\n \"\"\"The debt reserve id\"\"\"\n debt: ReserveId!\n\n \"\"\"The amount to liquidate\"\"\"\n amount: LiquidatePositionDebtAmount!\n\n \"\"\"The person liquidating the position\"\"\"\n liquidator: EvmAddress!\n\n \"\"\"The user to liquidate\"\"\"\n user: EvmAddress!\n\n \"\"\"If you would like to receive shares over the asset\"\"\"\n receiveShares: Boolean! = false\n}\n\ntype LiquidatedActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n collateralReserve: ReserveInfo!\n debtReserve: ReserveInfo!\n collateral: Erc20Amount!\n debt: Erc20Amount!\n liquidator: EvmAddress!\n chain: Chain!\n}\n\ntype Mutation {\n \"\"\"Top up a balance for a user or yourself on the fork\"\"\"\n forkTopUp(request: ForkTopUpRequest!): ForkTopUpResponse!\n}\n\ntype NativeAmount {\n \"\"\"The native token\"\"\"\n token: NativeToken!\n\n \"\"\"The value\"\"\"\n amount: DecimalNumber!\n\n \"\"\"The exchange amount\"\"\"\n exchange(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The exchange rate\"\"\"\n exchangeRate(currency: Currency! = USD): DecimalNumber!\n}\n\ntype NativeToken {\n info: TokenInfo!\n chain: Chain!\n}\n\nscalar OnChainHubAssetId\n\nscalar OnChainReserveId\n\nenum OperationType {\n SPOKE_BORROW\n SPOKE_REPAY\n SPOKE_SUPPLY\n SPOKE_WITHDRAW\n SPOKE_UPDATE_USER_RISK_PREMIUM\n SPOKE_SET_USER_USING_AS_COLLATERAL\n SPOKE_SET_USER_POSITION_MANAGER\n RENOUNCE_SPOKE_USER_POSITION_MANAGER\n LIQUIDATION\n}\n\nenum OrderDirection {\n ASC\n DESC\n}\n\nenum PageSize {\n TEN\n FIFTY\n}\n\ntype PaginatedActivitiesResult {\n items: [ActivityItem!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedResultInfo {\n \"\"\"The cursor to the previous page of results, if any.\"\"\"\n prev: Cursor\n\n \"\"\"The cursor to the next page of results, if any.\"\"\"\n next: Cursor\n}\n\ntype PaginatedSpokePositionManagerResult {\n items: [SpokePositionManger!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedSpokeUserPositionManagerResult {\n items: [SpokeUserPositionManager!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedUserSwapsResult {\n items: [SwapStatus!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PercentNumber {\n \"\"\"\n The on-chain representation of the percentage, stored in basis points (bps).\n \"\"\"\n onChainValue: BigInt!\n\n \"\"\"The number of decimals defining the precision of `bps`.\"\"\"\n decimals: Int!\n\n \"\"\"The percentage value where 1.0 represents 100%.\"\"\"\n value: BigDecimal!\n\n \"\"\"The human-friendly percentage value formatted for display.\"\"\"\n normalized: BigDecimal!\n}\n\ntype PercentNumberChangeSnapshot {\n before: PercentNumber!\n after: PercentNumber!\n}\n\ntype PercentNumberVariation {\n current: PercentNumber!\n after: PercentNumber!\n}\n\ntype PercentNumberWithChange {\n current: PercentNumber!\n change(window: TimeWindow! = LAST_DAY): PercentNumber!\n}\n\ntype PermitMessageData {\n owner: EvmAddress!\n spender: EvmAddress!\n value: BigInt!\n nonce: BigInt!\n deadline: Int!\n}\n\ninput PermitRequest @oneOf {\n supply: SupplyPermitRequest\n repay: RepayPermitRequest\n}\n\ntype PermitTypedDataResponse {\n types: TypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: PermitMessageData!\n}\n\ntype PreContractActionRequired {\n \"\"\"The transaction requires a pre-contract action first\"\"\"\n transaction: TransactionRequest!\n\n \"\"\"The reason for the pre-contract action\"\"\"\n reason: String!\n\n \"\"\"The transaction to send after the approval is complete\"\"\"\n originalTransaction: TransactionRequest!\n}\n\ninput PrepareLimitOrderSwapInput {\n quoteId: SwapQuoteId!\n newSellAmount: BigDecimal\n newBuyAmount: BigDecimal\n\n \"\"\"Slippage in basis points\"\"\"\n newSlippage: BigDecimal\n newReceiver: EvmAddress\n}\n\ninput PrepareMarketOrderSwapInput {\n chainId: ChainId!\n buy: TokenInput!\n sell: TokenInput!\n amount: BigDecimal!\n kind: SwapKind!\n user: EvmAddress!\n receiver: EvmAddress\n}\n\ninput PrepareSwapCancelRequest {\n id: SwapId!\n}\n\ntype PrepareSwapCancelResult {\n data: CancelSwapTypedData!\n}\n\ninput PrepareSwapRequest @oneOf {\n market: PrepareMarketOrderSwapInput\n limit: PrepareLimitOrderSwapInput\n}\n\nunion PrepareSwapResult = SwapByIntent | SwapByIntentWithApprovalRequired | SwapByTransaction | InsufficientBalanceError\n\ninput PreviewAction @oneOf {\n supply: SupplyRequest\n borrow: BorrowRequest\n repay: RepayRequest\n withdraw: WithdrawRequest\n setUserSuppliesAsCollateral: SetUserSuppliesAsCollateralRequest\n updateUserPositionConditions: UpdateUserPositionConditionsRequest\n}\n\ninput PreviewRequest {\n action: PreviewAction!\n}\n\ntype PreviewUserPosition {\n id: UserPositionId!\n healthFactor: HealthFactorResult!\n riskPremium: PercentNumberVariation!\n\n \"\"\"The net apy for one user position on a current spoke\"\"\"\n netApy: PercentNumberVariation!\n netCollateral(currency: Currency! = USD): ExchangeAmountValueVariation!\n netBalance(currency: Currency! = USD): ExchangeAmountValueVariation!\n projectedEarnings(period: EarningPeriod! = ANNUAL): ExchangeAmountValueVariation!\n borrowingPower: ExchangeAmountValueVariation!\n changedDynamicConfigConditions: [ChangedDynamicConfigUserPositionConditions!]!\n}\n\ninput ProtocolHistoryRequest {\n currency: Currency! = USD\n window: TimeWindow! = LAST_DAY\n}\n\ntype ProtocolHistorySample {\n date: DateTime!\n deposits: ExchangeAmount!\n borrows: ExchangeAmount!\n earnings: ExchangeAmount!\n}\n\ntype Query {\n health: Boolean!\n chain(request: ChainRequest!): Chain\n chains(request: ChainsRequest!): [Chain!]!\n\n \"\"\"Generate EIP-712 typed data for EIP-2612 permit signature\"\"\"\n permitTypedData(request: PermitRequest!): PermitTypedDataResponse!\n\n \"\"\"Get the exchange rate of tokens > currency or currency > currency\"\"\"\n exchangeRate(request: ExchangeRateRequest!): ExchangeAmount!\n protocolHistory(request: ProtocolHistoryRequest!): [ProtocolHistorySample!]!\n asset(request: AssetRequest!): Asset\n assetSupplyHistory(request: AssetSupplyHistoryRequest!): [AssetSupplySample!]!\n assetCategoryBorrowHistory(request: AssetCategoryBorrowHistoryRequest!): [AssetCategoryBorrowSample!]!\n assetCategorySupplyHistory(request: AssetCategorySupplyHistoryRequest!): [AssetCategorySupplySample!]!\n assetBorrowHistory(request: AssetBorrowHistoryRequest!): [AssetBorrowSample!]!\n assetPriceHistory(request: AssetPriceHistoryRequest!): [AssetPriceSample!]!\n\n \"\"\"Fetch a list of hubs depending on your search criteria\"\"\"\n hubs(request: HubsRequest!): [Hub!]!\n hub(request: HubRequest!): Hub\n hubAssets(request: HubAssetsRequest!): [HubAsset!]!\n hubSummaryHistory(request: HubSummaryHistoryRequest!): [HubSummarySample!]!\n reserve(request: ReserveRequest!): Reserve\n reserves(request: ReservesRequest!): [Reserve!]!\n supply(request: SupplyRequest!): ExecutionPlan!\n borrow(request: BorrowRequest!): ExecutionPlan!\n withdraw(request: WithdrawRequest!): ExecutionPlan!\n repay(request: RepayRequest!): ExecutionPlan!\n spokePositionManagers(request: SpokePositionManagersRequest!): PaginatedSpokePositionManagerResult!\n spokeUserPositionManagers(request: SpokeUserPositionManagersRequest!): PaginatedSpokeUserPositionManagerResult!\n setSpokeUserPositionManager(request: SetSpokeUserPositionManagerRequest!): TransactionRequest!\n renounceSpokeUserPositionManager(request: RenounceSpokeUserPositionManagerRequest!): TransactionRequest!\n setUserSuppliesAsCollateral(request: SetUserSuppliesAsCollateralRequest!): TransactionRequest!\n liquidatePosition(request: LiquidatePositionRequest!): LiquidatePositionExecutionPlan!\n updateUserPositionConditions(request: UpdateUserPositionConditionsRequest!): TransactionRequest!\n preview(request: PreviewRequest!): PreviewUserPosition!\n borrowApyHistory(request: BorrowApyHistoryRequest!): [ApySample!]!\n supplyApyHistory(request: SupplyApyHistoryRequest!): [ApySample!]!\n spoke(request: SpokeRequest!): Spoke\n\n \"\"\"Lists all spokes\"\"\"\n spokes(request: SpokesRequest!): [Spoke!]!\n\n \"\"\"\n Get the user balances for the protocol\n This will only return assets that can be used on the protocol\n \"\"\"\n userBalances(request: UserBalancesRequest!): [UserBalance!]!\n userBorrows(request: UserBorrowsRequest!): [UserBorrowItem!]!\n userSummary(request: UserSummaryRequest!): UserSummary!\n userSummaryHistory(request: UserSummaryHistoryRequest!): [UserSummaryHistoryItem!]!\n userPositions(request: UserPositionsRequest!): [UserPosition!]!\n userPosition(request: UserPositionRequest!): UserPosition\n userSupplies(request: UserSuppliesRequest!): [UserSupplyItem!]!\n userRiskPremiumBreakdown(request: UserRiskPremiumBreakdownRequest!): [UserRiskPremiumBreakdownItem!]!\n\n \"\"\"\n This lets you know the API has processed the known transaction hash, as the API uses caching to make things as fast\n as possible, it has an invalidation task, so sometimes if the receipt is complete, we may still (rarely) serve\n old data for 100-200ms longer, it's best to query after you got the receipt to be told that it is ready to go.\n Note the invalidation is very quick, and most of the time it's present even before your receipt is returned this is to\n cater for the race condition.\n \"\"\"\n hasProcessedKnownTransaction(request: HasProcessedKnownTransactionRequest!): Boolean!\n activities(request: ActivitiesRequest!): PaginatedActivitiesResult!\n swapQuote(request: SwapQuoteRequest!): SwapQuote!\n prepareSwap(request: PrepareSwapRequest!): PrepareSwapResult!\n swap(request: SwapRequest!): SwapExecutionPlan!\n swapStatus(request: SwapStatusRequest!): SwapStatus!\n userSwaps(request: UserSwapsRequest!): PaginatedUserSwapsResult!\n prepareSwapCancel(request: PrepareSwapCancelRequest!): PrepareSwapCancelResult!\n cancelSwap(request: CancelSwapRequest!): CancelSwapExecutionPlan!\n swappableTokens(request: SwappableTokensRequest!): [Token!]!\n}\n\ninput RenounceSpokeUserPositionManagerRequest {\n \"\"\"The spoke id\"\"\"\n spoke: SpokeId!\n\n \"\"\"The address to remove as a position manager\"\"\"\n manager: EvmAddress!\n\n \"\"\"The address to remove `manager` as position manager\"\"\"\n managing: EvmAddress!\n}\n\ntype RepayActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n repaid: Erc20Amount!\n chain: Chain!\n}\n\ninput RepayAmountInputWithPermit @oneOf {\n \"\"\"The native amount\"\"\"\n native: AmountInput\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: RepayErc20AmountInputWithPermit\n}\n\ninput RepayErc20AmountInputWithPermit {\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: AmountInput!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without a need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC20PermitSignature\n}\n\ninput RepayPermitRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount repaying\"\"\"\n amount: AmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ninput RepayRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount repaying\"\"\"\n amount: RepayAmountInputWithPermit!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ntype Reserve {\n id: ReserveId!\n onChainId: OnChainReserveId!\n borrowCap: BigDecimal!\n supplyCap: BigDecimal!\n chain: Chain!\n summary: ReserveSummary!\n settings: ReserveSettings!\n status: ReserveStatus!\n canBorrow: Boolean!\n canSupply: Boolean!\n canUseAsCollateral: Boolean!\n userState: ReserveUserState\n asset: HubAsset!\n spoke: Spoke!\n}\n\ninput ReserveAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: ReserveErc20AmountInput\n}\n\ninput ReserveAmountInputWithPermit @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: ReserveErc20AmountInputWithPermit\n}\n\ninput ReserveErc20AmountInput {\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: BigDecimal!\n}\n\ninput ReserveErc20AmountInputWithPermit {\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: BigDecimal!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without a need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC20PermitSignature\n}\n\nscalar ReserveId\n\ntype ReserveInfo {\n id: ReserveId!\n asset: HubAsset!\n}\n\ninput ReserveInput {\n chainId: ChainId!\n spoke: EvmAddress!\n onChainId: OnChainReserveId!\n}\n\ninput ReserveRequest {\n query: ReserveRequestQuery!\n\n \"\"\"\n The user who is doing the query (this injects user state into some of the return objects)\n \"\"\"\n user: EvmAddress\n}\n\ninput ReserveRequestQuery @oneOf {\n reserveId: ReserveId\n reserveInput: ReserveInput\n}\n\ntype ReserveSettings {\n collateralFactor: PercentNumber!\n maxLiquidationBonus: PercentNumber!\n liquidationFee: PercentNumber!\n collateralRisk: PercentNumber!\n borrowable: Boolean!\n collateral: Boolean!\n suppliable: Boolean!\n latestDynamicConfigKey: DynamicConfigKey!\n}\n\ntype ReserveStatus {\n frozen: Boolean!\n paused: Boolean!\n active: Boolean!\n}\n\ntype ReserveSummary {\n supplied: Erc20Amount!\n borrowed: Erc20Amount!\n supplyApy: PercentNumber!\n borrowApy: PercentNumber!\n}\n\ntype ReserveUserState {\n balance: Erc20Amount!\n suppliable: Erc20Amount!\n borrowable: Erc20Amount!\n borrowingPower: Erc20Amount!\n borrowApy: PercentNumber!\n collateralFactor: PercentNumber!\n maxLiquidationBonus: PercentNumber!\n liquidationFee: PercentNumber!\n dynamicConfigKey: DynamicConfigKey!\n isUsingLatestDynamicConfigKey: Boolean!\n}\n\ninput ReservesRequest {\n \"\"\"The reserve's request query\"\"\"\n query: ReservesRequestQuery!\n\n \"\"\"\n The user who is doing the query (this injects user state into some of the return objects)\n \"\"\"\n user: EvmAddress\n\n \"\"\"The reserve's filter\"\"\"\n filter: ReservesRequestFilter! = ALL\n\n \"\"\"The reserve's order by\"\"\"\n orderBy: ReservesRequestOrderBy! = {assetName: ASC}\n}\n\nenum ReservesRequestFilter {\n SUPPLY\n BORROW\n COLLATERAL\n ALL\n}\n\ninput ReservesRequestOrderBy @oneOf {\n assetName: OrderDirection\n userBalance: OrderDirection\n supplyApy: OrderDirection\n supplyAvailable: OrderDirection\n borrowApy: OrderDirection\n borrowAvailable: OrderDirection\n collateralFactor: OrderDirection\n}\n\ninput ReservesRequestQuery @oneOf {\n \"\"\"Get all the reserves for a spoke\"\"\"\n spoke: SpokeInput\n\n \"\"\"Get all the reserves for a spoke\"\"\"\n spokeId: SpokeId\n\n \"\"\"Get all the reserves with underlying tokens\"\"\"\n tokens: [Erc20Input!]\n\n \"\"\"Get all the reserves on a hub for an underlying\"\"\"\n hubToken: HubTokenInput\n\n \"\"\"Get all the reserves on a hub for an underlying by a hub id\"\"\"\n hubIdToken: HubIdTokenInput\n\n \"\"\"Get all the reserves on a list of chains\"\"\"\n chainIds: [ChainId!]\n\n \"\"\"Get all the reserves for a spoke for an underlying\"\"\"\n spokeToken: SpokeTokenInput\n\n \"\"\"Get all reserves on a hub\"\"\"\n hub: HubInput\n\n \"\"\"Get all reserves with a hub id\"\"\"\n hubId: HubId\n\n \"\"\"Get all the reserves on based on user position id\"\"\"\n userPositionId: UserPositionId\n\n \"\"\"Get all the reserves based on the token categories\"\"\"\n categories: [TokenCategory!]\n}\n\ninput SetSpokeUserPositionManagerRequest {\n \"\"\"The spoke id\"\"\"\n spoke: SpokeId!\n\n \"\"\"The address to become the position manager\"\"\"\n manager: EvmAddress!\n\n \"\"\"Approve or remove the manager\"\"\"\n approve: Boolean!\n\n \"\"\"The user to set the position `manager` for\"\"\"\n user: EvmAddress!\n\n \"\"\"The signature\"\"\"\n signature: ERC20PermitSignature\n}\n\ninput SetUserSuppliesAsCollateralRequest {\n \"\"\"The collateral to make changes to\"\"\"\n changes: [UserSupplyAsCollateral!]!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\nscalar Signature\n\ntype Spoke {\n \"\"\"The id for the spoke\"\"\"\n id: SpokeId!\n\n \"\"\"The spoke name (offchain)\"\"\"\n name: String!\n\n \"\"\"The spoke address\"\"\"\n address: EvmAddress!\n\n \"\"\"The spoke chain\"\"\"\n chain: Chain!\n}\n\nscalar SpokeId\n\ninput SpokeInput {\n \"\"\"The address of the spoke\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the spoke is deployed to\"\"\"\n chainId: ChainId!\n}\n\ninput SpokePositionManagersRequest {\n spoke: SpokeId!\n includeInactive: Boolean\n pageSize: PageSize!\n cursor: Cursor\n}\n\ntype SpokePositionManger {\n name: String!\n address: EvmAddress!\n active: Boolean!\n}\n\ninput SpokeRequest {\n \"\"\"The spoke request query\"\"\"\n query: SpokeRequestQuery!\n}\n\ninput SpokeRequestQuery @oneOf {\n spoke: SpokeInput\n spokeId: SpokeId\n}\n\ninput SpokeTokenInput {\n \"\"\"The spoke id\"\"\"\n spoke: SpokeId!\n\n \"\"\"The token\"\"\"\n token: EvmAddress!\n}\n\ntype SpokeUserPositionManager {\n name: String!\n address: EvmAddress!\n approvedOn: DateTime!\n active: Boolean!\n}\n\ninput SpokeUserPositionManagersRequest {\n spoke: SpokeId!\n user: EvmAddress!\n pageSize: PageSize!\n cursor: Cursor\n}\n\ninput SpokesRequest {\n query: SpokesRequestQuery!\n}\n\ninput SpokesRequestQuery @oneOf {\n \"\"\"\n The hub id\n Get all the spokes which hubs are linked to a spoke reserve\n \"\"\"\n hubId: HubId\n\n \"\"\"\n The hub address and chain id\n Get all the spokes which hubs are linked to a spoke reserve\n \"\"\"\n hub: HubInput\n\n \"\"\"\n The chain ids\n Get all the spokes which are on the list of chain ids\n \"\"\"\n chainIds: [ChainId!]\n}\n\ntype SupplyActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n supplied: Erc20Amount!\n chain: Chain!\n}\n\ninput SupplyApyHistoryRequest {\n reserve: ReserveId!\n window: TimeWindow! = LAST_DAY\n}\n\ninput SupplyPermitRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount supplying\"\"\"\n amount: ReserveErc20AmountInput!\n\n \"\"\"If you wish to enable collateral with it meaning you can borrow\"\"\"\n enableCollateral: Boolean! = true\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ninput SupplyRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount supplying\"\"\"\n amount: ReserveAmountInputWithPermit!\n\n \"\"\"If you wish to enable collateral with it meaning you can borrow\"\"\"\n enableCollateral: Boolean! = true\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ntype SwapApprovalRequired {\n approval: TransactionRequest!\n originalTransaction: SwapTransactionRequest!\n}\n\ntype SwapByIntent {\n quote: SwapQuote!\n data: SwapByIntentTypedData!\n}\n\ninput SwapByIntentInput {\n quoteId: SwapQuoteId!\n signature: Signature!\n}\n\ntype SwapByIntentTypeDefinition {\n EIP712Domain: [TypeField!]!\n Order: [TypeField!]!\n}\n\ntype SwapByIntentTypedData {\n types: SwapByIntentTypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: JSON!\n}\n\ntype SwapByIntentWithApprovalRequired {\n quote: SwapQuote!\n approval: TransactionRequest!\n data: SwapByIntentTypedData!\n}\n\ntype SwapByTransaction {\n quote: SwapQuote!\n}\n\ntype SwapCancelled {\n createdAt: DateTime!\n cancelledAt: DateTime\n explorerLink: String!\n}\n\nunion SwapExecutionPlan = SwapTransactionRequest | SwapApprovalRequired | InsufficientBalanceError | SwapReceipt\n\ntype SwapExpired {\n createdAt: DateTime!\n expiredAt: DateTime!\n explorerLink: String!\n}\n\ntype SwapFulfilled {\n txHash: String!\n desiredSell: TokenAmount!\n desiredBuy: TokenAmount!\n sold: TokenAmount!\n bought: TokenAmount!\n createdAt: DateTime!\n fulfilledAt: DateTime!\n explorerLink: String!\n refundTxHash: TxHash\n}\n\nscalar SwapId\n\nenum SwapKind {\n BUY\n SELL\n}\n\ntype SwapOpen {\n swapId: SwapId!\n createdAt: DateTime!\n deadline: DateTime!\n explorerLink: String!\n desiredSell: TokenAmount!\n desiredBuy: TokenAmount!\n}\n\ntype SwapPendingSignature {\n createdAt: DateTime!\n deadline: DateTime!\n explorerLink: String!\n}\n\ntype SwapQuote {\n quoteId: SwapQuoteId!\n suggestedSlippage: PercentNumber!\n desiredSell: TokenAmount!\n desiredBuy: TokenAmount!\n costs: SwapQuoteCosts!\n\n \"\"\"Minimum received amount after all costs and slippage\"\"\"\n minimumReceived: TokenAmount!\n}\n\ntype SwapQuoteCosts {\n \"\"\"Network and provider costs\"\"\"\n networkCosts: TokenAmount!\n\n \"\"\"Aave partner fee amount\"\"\"\n partnerFee: TokenAmount!\n}\n\nscalar SwapQuoteId\n\ninput SwapQuoteRequest {\n chainId: ChainId!\n buy: TokenInput!\n sell: TokenInput!\n amount: BigDecimal!\n kind: SwapKind\n from: EvmAddress!\n receiver: EvmAddress\n}\n\ntype SwapReceipt {\n id: SwapId!\n createdAt: DateTime!\n explorerLink: String!\n}\n\ninput SwapRequest @oneOf {\n intent: SwapByIntentInput\n transaction: SwapWithTransactionInput\n}\n\nunion SwapStatus = SwapOpen | SwapPendingSignature | SwapCancelled | SwapExpired | SwapFulfilled\n\nenum SwapStatusFilter {\n CANCELLED\n EXPIRED\n FULFILLED\n OPEN\n PENDING_SIGNATURE\n}\n\ninput SwapStatusRequest {\n id: SwapId!\n}\n\ntype SwapTransactionRequest {\n transaction: TransactionRequest!\n orderReceipt: SwapReceipt!\n}\n\ninput SwapWithTransactionInput {\n quoteId: SwapQuoteId!\n permitSig: Signature\n\n \"\"\"\n Whether the swap order creator is a smart contract wallet. If not provided, it will be inferred following the ERC-1271 standard.\n \"\"\"\n isSenderSmartContractWallet: Boolean\n}\n\ninput SwappableTokenInput @oneOf {\n native: ChainId\n erc20: Erc20Input\n}\n\ninput SwappableTokensRequest {\n query: SwappableTokensRequestQuery\n}\n\ninput SwappableTokensRequestQuery @oneOf {\n chainIds: [ChainId!]\n from: SwappableTokenInput\n to: SwappableTokenInput\n}\n\nenum TimeWindow {\n LAST_DAY\n LAST_WEEK\n LAST_MONTH\n LAST_SIX_MONTHS\n LAST_YEAR\n ALL\n}\n\nunion Token = NativeToken | Erc20Token\n\nunion TokenAmount = NativeAmount | Erc20Amount\n\nenum TokenCategory {\n STABLECOIN\n ETH_CORRELATED\n}\n\ntype TokenInfo {\n \"\"\"The token info id\"\"\"\n id: TokenInfoId!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token icon\"\"\"\n icon: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n\n \"\"\"The token category,\"\"\"\n categories: [TokenCategory!]!\n}\n\nscalar TokenInfoId\n\ninput TokenInput @oneOf {\n \"\"\"Native token\"\"\"\n native: AlwaysTrue\n\n \"\"\"The erc20 address\"\"\"\n erc20: EvmAddress\n}\n\ntype TransactionRequest {\n to: EvmAddress!\n from: EvmAddress!\n data: BlockchainData!\n value: BigInt!\n chainId: ChainId!\n operations: [OperationType!]\n}\n\nscalar TxHash\n\ninput TxHashInput {\n txHash: TxHash!\n chainId: ChainId!\n}\n\ntype TypeDefinition {\n EIP712Domain: [TypeField!]!\n Permit: [TypeField!]!\n}\n\ntype TypeField {\n name: String!\n type: String!\n}\n\ninput UpdateUserPositionConditionsRequest {\n userPositionId: UserPositionId!\n dynamicConfig: Boolean!\n riskPremium: Boolean!\n}\n\ntype UpdatedDynamicConfigActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n collateralFactor: PercentNumberChangeSnapshot!\n maxLiquidationBonus: PercentNumberChangeSnapshot!\n liquidationFee: PercentNumberChangeSnapshot!\n chain: Chain!\n}\n\ntype UpdatedRiskPremiumActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n premium: PercentNumberChangeSnapshot!\n chain: Chain!\n}\n\ntype UserBalance {\n \"\"\"The user balance id\"\"\"\n id: UserBalanceId!\n\n \"\"\"The token info\"\"\"\n info: TokenInfo!\n\n \"\"\"The balances across chains it will be 1 item per chain\"\"\"\n balances: [TokenAmount!]!\n\n \"\"\"The total amount summed across all balances\"\"\"\n totalAmount: DecimalNumber!\n\n \"\"\"The total exchange amount summed across all balances\"\"\"\n exchange(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The supply apy dependent on what you pass in for the `metric`\"\"\"\n supplyApy(metric: ApyMetric! = HIGHEST): PercentNumber!\n\n \"\"\"The borrow APY dependent on what you pass in for the `metric`\"\"\"\n borrowApy(metric: ApyMetric! = HIGHEST): PercentNumber!\n collateralFactor(metric: CollateralMetric! = HIGHEST): PercentNumber\n}\n\nscalar UserBalanceId\n\ninput UserBalancesByChains {\n \"\"\"List of chains\"\"\"\n chainIds: [ChainId!]!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesByHub {\n \"\"\"The hub address\"\"\"\n address: EvmAddress!\n\n \"\"\"The hub chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesByHubId {\n \"\"\"The hub id\"\"\"\n hubId: HubId!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesBySpoke {\n \"\"\"The spoke address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the spoke is deployed to\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesByTokens {\n \"\"\"The chain token input\"\"\"\n chainTokens: [ChainTokenInput!]!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesByUserPosition {\n \"\"\"The user position id\"\"\"\n userPositionId: UserPositionId!\n\n \"\"\"\n The type of reserve to use when determine the tokens to retrieve balances for\n \"\"\"\n byReservesType: ReservesRequestFilter! = ALL\n}\n\ninput UserBalancesRequest {\n \"\"\"The user to get the balance for\"\"\"\n user: EvmAddress!\n\n \"\"\"The order by clause - defaults to the highest USD value\"\"\"\n orderBy: UserBalancesRequestOrderBy! = {balance: DESC}\n\n \"\"\"The user balance filter\"\"\"\n filter: UserBalancesRequestFilter!\n\n \"\"\"If you want to include 0 balances in the return list\"\"\"\n includeZeroBalances: Boolean! = false\n}\n\ninput UserBalancesRequestFilter @oneOf {\n \"\"\"The balances for the tokens on the specified chains\"\"\"\n chains: UserBalancesByChains\n\n \"\"\"The balances for the tokens of hub assets on a given hub\"\"\"\n hub: UserBalancesByHub\n\n \"\"\"The balances for the tokens of the hub assets on a given hub id\"\"\"\n hubId: UserBalancesByHubId\n\n \"\"\"The balances for the tokens of reserves attached to a spoke\"\"\"\n spoke: UserBalancesBySpoke\n\n \"\"\"The balances for the swappable tokens\"\"\"\n swappable: SwappableTokensRequestQuery\n\n \"\"\"\n The balances for the tokens of the spoke associated with the given user position\n \"\"\"\n userPosition: UserBalancesByUserPosition\n\n \"\"\"The balances for the chains tokens\"\"\"\n tokens: UserBalancesByTokens\n}\n\ninput UserBalancesRequestOrderBy @oneOf {\n \"\"\"The name of the token\"\"\"\n name: OrderDirection\n\n \"\"\"The balance of the token\"\"\"\n balance: OrderDirection\n}\n\ntype UserBorrowItem {\n \"\"\"The user borrow item id\"\"\"\n id: UserBorrowItemId!\n\n \"\"\"The reserve borrowed from\"\"\"\n reserve: Reserve!\n\n \"\"\"The amount borrowed on this reserve\"\"\"\n principal: Erc20Amount!\n\n \"\"\"The overall debt including accrued interests\"\"\"\n debt: Erc20Amount!\n\n \"\"\"The interest incurred on the loan\"\"\"\n interest: Erc20Amount!\n\n \"\"\"\n When the borrow was created.\n This is null if they have no supply item, for\n example, when using include_zero_balances this comes\n back as principal and debt as 0\n \"\"\"\n createdAt: DateTime\n}\n\nscalar UserBorrowItemId\n\ninput UserBorrowsRequest {\n query: UserBorrowsRequestQuery!\n orderBy: UserBorrowsRequestOrderBy! = {amount: DESC}\n\n \"\"\"If you wish to include zero balances in the results\"\"\"\n includeZeroBalances: Boolean! = false\n}\n\ninput UserBorrowsRequestOrderBy @oneOf {\n assetName: OrderDirection\n created: OrderDirection\n amount: OrderDirection\n apy: OrderDirection\n}\n\ninput UserBorrowsRequestQuery @oneOf {\n userSpoke: UserSpokeInput\n userToken: UserToken\n userPositionId: UserPositionId\n userChains: UserChains\n userHub: UserHub\n}\n\ninput UserChains {\n user: EvmAddress!\n chainIds: [ChainId!]!\n}\n\ninput UserHub {\n \"\"\"The user address\"\"\"\n user: EvmAddress!\n\n \"\"\"The user hub input\"\"\"\n hub: UserHubInput!\n}\n\ninput UserHubInput @oneOf {\n input: HubInput\n id: HubId\n}\n\ntype UserPosition {\n \"\"\"The user position ID\"\"\"\n id: UserPositionId!\n\n \"\"\"The user holding this position\"\"\"\n user: EvmAddress!\n createdAt: DateTime!\n totalSupplied(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"\n Total collateral which is the full some of the assets supplied which are enabled as collateral\n \"\"\"\n totalCollateral(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"Total debt which is the total amount borrowed plus the accrued premium\"\"\"\n totalDebt(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"The net balance which is `total_supplied` - `borrows`\"\"\"\n netBalance(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"The net collateral which is `totalCollateral` - `totalDebt`\"\"\"\n netCollateral(currency: Currency! = USD): ExchangeAmountWithChange!\n netApy: PercentNumber!\n netSupplyApy: PercentNumberWithChange!\n netBorrowApy: PercentNumberWithChange!\n healthFactor: HealthFactorWithChange!\n riskPremium: UserPositionRiskPremium\n liquidationPrice(currency: Currency! = USD): ExchangeAmount\n borrowingPower(currency: Currency! = USD): ExchangeAmount!\n isUsingLatestDynamicConfigKey: Boolean!\n netBalancePercentChange(window: TimeWindow! = LAST_DAY): PercentNumber!\n spoke: Spoke!\n averageCollateralFactor: PercentNumber!\n}\n\nscalar UserPositionId\n\ninput UserPositionRequest @oneOf {\n userSpoke: UserSpokeInput\n id: UserPositionId\n}\n\ntype UserPositionRiskPremium {\n current: PercentNumber!\n better: PercentNumber\n breakdown: [UserRiskPremiumBreakdownItem!]!\n}\n\ninput UserPositionsRequest {\n \"\"\"The user to get the positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"The filter for the user position\"\"\"\n filter: UserPositionsRequestFilter!\n\n \"\"\"The ordering for the positions\"\"\"\n orderBy: UserPositionsRequestOrderBy! = {created: ASC}\n}\n\ninput UserPositionsRequestFilter @oneOf {\n tokens: [Erc20Input!]\n chainIds: [ChainId!]\n}\n\ninput UserPositionsRequestOrderBy @oneOf {\n created: OrderDirection\n balance: OrderDirection\n netApy: OrderDirection\n healthFactor: OrderDirection\n netCollateral: OrderDirection\n}\n\ntype UserRiskPremiumBreakdownItem {\n token: Erc20Token!\n riskPremiumWeight: PercentNumber!\n collateral: PercentNumber!\n}\n\ninput UserRiskPremiumBreakdownRequest {\n query: UserRiskPremiumBreakdownRequestQuery!\n user: EvmAddress!\n}\n\ninput UserRiskPremiumBreakdownRequestQuery @oneOf {\n userSpoke: UserSpokeInput\n userPositionId: UserPositionId\n}\n\ninput UserSpokeInput {\n spoke: SpokeId!\n user: EvmAddress!\n}\n\ntype UserSummary {\n totalPositions: Int!\n\n \"\"\"Net balance = supply - debt\"\"\"\n netBalance(currency: Currency! = USD): ExchangeAmountWithChange!\n\n \"\"\"Total supply where is_collateral is true\"\"\"\n totalCollateral(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"Total supplied across all positions\"\"\"\n totalSupplied(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"Total debt across all positions\"\"\"\n totalDebt(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"\n Net APY = (Σ (supplied_amount_i * supply_apy_i) - Σ (borrowed_amount_j * borrow_apy_j)) / (Σ supplied_amount_i)\n \"\"\"\n netApy: PercentNumber!\n\n \"\"\"Interest earned (net fee earned)\"\"\"\n netFeeEarned: ExchangeAmount!\n\n \"\"\"Lowest health factor across all positions\"\"\"\n lowestHealthFactor: BigDecimal\n}\n\ninput UserSummaryFilter @oneOf {\n spoke: SpokeInput\n spokeId: SpokeId\n chainIds: [ChainId!]\n userPositionId: UserPositionId\n}\n\ntype UserSummaryHistoryItem {\n healthFactor: BigDecimal\n date: DateTime!\n\n \"\"\"The aggregated net balance for the time period\"\"\"\n netBalance(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The aggregated borrows for the time period\"\"\"\n borrows(currency: Currency! = USD): ExchangeAmount!\n\n \"\"\"The aggregated supplies for the time period\"\"\"\n supplies(currency: Currency! = USD): ExchangeAmount!\n}\n\ninput UserSummaryHistoryRequest {\n user: EvmAddress!\n filter: UserSummaryFilter\n window: TimeWindow! = LAST_DAY\n}\n\ninput UserSummaryRequest {\n user: EvmAddress!\n filter: UserSummaryFilter\n}\n\ninput UserSuppliesRequest {\n query: UserSuppliesRequestQuery!\n orderBy: UserSuppliesRequestOrderBy! = {amount: DESC}\n\n \"\"\"If you wish to include zero balances in the results\"\"\"\n includeZeroBalances: Boolean! = false\n}\n\ninput UserSuppliesRequestOrderBy @oneOf {\n assetName: OrderDirection\n created: OrderDirection\n amount: OrderDirection\n apy: OrderDirection\n}\n\ninput UserSuppliesRequestQuery @oneOf {\n userSpoke: UserSpokeInput\n userToken: UserToken\n userPositionId: UserPositionId\n userChains: UserChains\n userHub: UserHub\n}\n\ninput UserSupplyAsCollateral {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"If you want to enable the collateral or disable\"\"\"\n enableCollateral: Boolean!\n}\n\ntype UserSupplyItem {\n \"\"\"The user supply item id\"\"\"\n id: UserSupplyItemId!\n\n \"\"\"The reserve supplied to\"\"\"\n reserve: Reserve!\n\n \"\"\"The amount supplied to this reserve\"\"\"\n principal: Erc20Amount!\n\n \"\"\"The overall amount you can withdraw, including accrued interests\"\"\"\n withdrawable: Erc20Amount!\n\n \"\"\"The interest amount earned on supplying\"\"\"\n interest: Erc20Amount!\n\n \"\"\"If this supply is used as collateral\"\"\"\n isCollateral: Boolean!\n\n \"\"\"\n When the supply was created.\n This is null if they have no supply item, for\n example, when using include_zero_balances this comes\n back as principal and withdrawable as 0\n \"\"\"\n createdAt: DateTime\n}\n\nscalar UserSupplyItemId\n\ninput UserSwapsRequest {\n chainId: ChainId!\n user: EvmAddress!\n filterBy: [SwapStatusFilter!]\n pageSize: PageSize! = FIFTY\n cursor: Cursor\n}\n\ninput UserToken {\n user: EvmAddress!\n token: Erc20Input!\n}\n\ntype UsingAsCollateralActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n enabledAsCollateral: Boolean!\n chain: Chain!\n}\n\ntype WithdrawActivity {\n id: ID!\n user: EvmAddress!\n timestamp: DateTime!\n txHash: TxHash!\n spoke: Spoke!\n reserve: ReserveInfo!\n withdrawn: Erc20Amount!\n chain: Chain!\n}\n\ninput WithdrawRequest {\n \"\"\"The reserve id\"\"\"\n reserve: ReserveId!\n\n \"\"\"The amount withdrawing\"\"\"\n amount: WithdrawReserveAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n}\n\ninput WithdrawReserveAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: AmountInput\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: AmountInput\n}","import { buildSchema } from 'graphql';\n\nimport schemaSDL from '../schema.graphql';\n\n/**\n * @internal\n */\nexport const schema = buildSchema(schemaSDL);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aave/graphql",
3
- "version": "1.0.0-next.6",
3
+ "version": "1.0.0-next.7",
4
4
  "description": "GraphQL bindings for the Aave API",
5
5
  "repository": {
6
6
  "directory": "packages/graphql",