@luxexchange/api 1.0.0

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.
Files changed (336) hide show
  1. package/.depcheckrc +17 -0
  2. package/.eslintrc.js +30 -0
  3. package/README.md +5 -0
  4. package/package.json +74 -0
  5. package/project.json +94 -0
  6. package/scripts/fixGraphQLApiTypes.mts +91 -0
  7. package/scripts/modifyTradingApiTypes.mts +232 -0
  8. package/src/client.ts +66 -0
  9. package/src/clients/auctions/createAuctionServiceClient.ts +44 -0
  10. package/src/clients/base/SharedQueryClient.ts +25 -0
  11. package/src/clients/base/auth.ts +43 -0
  12. package/src/clients/base/createFetchClient.ts +133 -0
  13. package/src/clients/base/errors.ts +32 -0
  14. package/src/clients/base/types.ts +26 -0
  15. package/src/clients/base/urls.test.ts +297 -0
  16. package/src/clients/base/urls.ts +85 -0
  17. package/src/clients/base/utils.test.ts +131 -0
  18. package/src/clients/base/utils.ts +54 -0
  19. package/src/clients/blockaid/createBlockaidApiClient.ts +185 -0
  20. package/src/clients/blockaid/types.ts +495 -0
  21. package/src/clients/content/types.ts +22 -0
  22. package/src/clients/conversionTracking/api-ConversionProxyService_connectquery.ts +20 -0
  23. package/src/clients/conversionTracking/api_connect.ts +24 -0
  24. package/src/clients/conversionTracking/api_pb.ts +184 -0
  25. package/src/clients/conversionTracking/index.ts +4 -0
  26. package/src/clients/data/createDataServiceApiClient.ts +101 -0
  27. package/src/clients/dataApi/createDataApiServiceClient.ts +29 -0
  28. package/src/clients/dataApi/getGetPortfolioQueryOptions.test.ts +122 -0
  29. package/src/clients/dataApi/getGetPortfolioQueryOptions.ts +76 -0
  30. package/src/clients/embeddedWallet/createEmbeddedWalletApiClient.ts +325 -0
  31. package/src/clients/for/createForApiClient.ts +187 -0
  32. package/src/clients/for/types.ts +39 -0
  33. package/src/clients/for/utils.ts +13 -0
  34. package/src/clients/graphql/__generated__/operations.ts +605 -0
  35. package/src/clients/graphql/__generated__/react-hooks.ts +4245 -0
  36. package/src/clients/graphql/__generated__/resolvers.ts +1469 -0
  37. package/src/clients/graphql/__generated__/schema-types.ts +2099 -0
  38. package/src/clients/graphql/codegen.config.ts +50 -0
  39. package/src/clients/graphql/fragments.ts +96 -0
  40. package/src/clients/graphql/generated.ts +5 -0
  41. package/src/clients/graphql/queries.graphql +1028 -0
  42. package/src/clients/graphql/queries.ts +19 -0
  43. package/src/clients/graphql/schema.graphql +1585 -0
  44. package/src/clients/graphql/types.ts +9 -0
  45. package/src/clients/graphql/utils.ts +21 -0
  46. package/src/clients/graphql/web/LuxPrices.graphql +18 -0
  47. package/src/clients/graphql/web/RecentTokenTransfers.graphql +93 -0
  48. package/src/clients/graphql/web/SimpleToken.graphql +12 -0
  49. package/src/clients/graphql/web/TokenSpotPrice.graphql +19 -0
  50. package/src/clients/graphql/web/activity.graphql +272 -0
  51. package/src/clients/graphql/web/allV3Ticks.graphql +11 -0
  52. package/src/clients/graphql/web/allV4Ticks.graphql +11 -0
  53. package/src/clients/graphql/web/feeTierDistribution.graphql +7 -0
  54. package/src/clients/graphql/web/landing.graphql +38 -0
  55. package/src/clients/graphql/web/latestSubgraphBlock.graphql +3 -0
  56. package/src/clients/graphql/web/nft/CollectionSearch.graphql +34 -0
  57. package/src/clients/graphql/web/nft/NftBalance.graphql +109 -0
  58. package/src/clients/graphql/web/pool.graphql +199 -0
  59. package/src/clients/graphql/web/poolTransactions.graphql +84 -0
  60. package/src/clients/graphql/web/portfolios.graphql +68 -0
  61. package/src/clients/graphql/web/token.graphql +97 -0
  62. package/src/clients/graphql/web/tokenCharts.graphql +85 -0
  63. package/src/clients/graphql/web/tokenTransactions.graphql +25 -0
  64. package/src/clients/graphql/web/topPools.graphql +78 -0
  65. package/src/clients/graphql/web/transactions.graphql +56 -0
  66. package/src/clients/jupiter/createJupiterApiClient.ts +42 -0
  67. package/src/clients/jupiter/types.ts +92 -0
  68. package/src/clients/jupiter/utils.ts +27 -0
  69. package/src/clients/liquidity/createAuctionMutationClient.ts +41 -0
  70. package/src/clients/liquidity/createLiquidityServiceClient.ts +56 -0
  71. package/src/clients/lux/createLuxApiClient.ts +100 -0
  72. package/src/clients/notifications/createNotificationsApiClient.ts +72 -0
  73. package/src/clients/notifications/types.ts +102 -0
  74. package/src/clients/trading/__generated__/core/ApiError.ts +25 -0
  75. package/src/clients/trading/__generated__/core/ApiRequestOptions.ts +17 -0
  76. package/src/clients/trading/__generated__/core/ApiResult.ts +11 -0
  77. package/src/clients/trading/__generated__/core/CancelablePromise.ts +131 -0
  78. package/src/clients/trading/__generated__/core/OpenAPI.ts +32 -0
  79. package/src/clients/trading/__generated__/core/request.ts +322 -0
  80. package/src/clients/trading/__generated__/index.ts +221 -0
  81. package/src/clients/trading/__generated__/models/Address.ts +5 -0
  82. package/src/clients/trading/__generated__/models/AggregatedOutput.ts +20 -0
  83. package/src/clients/trading/__generated__/models/ApprovalRequest.ts +25 -0
  84. package/src/clients/trading/__generated__/models/ApprovalResponse.ts +18 -0
  85. package/src/clients/trading/__generated__/models/AutoSlippage.ts +14 -0
  86. package/src/clients/trading/__generated__/models/BridgeQuote.ts +55 -0
  87. package/src/clients/trading/__generated__/models/ChainDelegationMap.ts +9 -0
  88. package/src/clients/trading/__generated__/models/ChainId.ts +29 -0
  89. package/src/clients/trading/__generated__/models/ChainedQuote.ts +63 -0
  90. package/src/clients/trading/__generated__/models/CheckApprovalLPRequest.ts +35 -0
  91. package/src/clients/trading/__generated__/models/CheckApprovalLPResponse.ts +29 -0
  92. package/src/clients/trading/__generated__/models/ClaimLPFeesRequest.ts +20 -0
  93. package/src/clients/trading/__generated__/models/ClaimLPFeesResponse.ts +13 -0
  94. package/src/clients/trading/__generated__/models/ClaimLPRewardsRequest.ts +19 -0
  95. package/src/clients/trading/__generated__/models/ClaimLPRewardsResponse.ts +13 -0
  96. package/src/clients/trading/__generated__/models/ClassicGasUseEstimateUSD.ts +8 -0
  97. package/src/clients/trading/__generated__/models/ClassicInput.ts +11 -0
  98. package/src/clients/trading/__generated__/models/ClassicOutput.ts +13 -0
  99. package/src/clients/trading/__generated__/models/ClassicQuote.ts +69 -0
  100. package/src/clients/trading/__generated__/models/ClientContext.ts +18 -0
  101. package/src/clients/trading/__generated__/models/CosignerData.ts +21 -0
  102. package/src/clients/trading/__generated__/models/CreateLPPositionRequest.ts +40 -0
  103. package/src/clients/trading/__generated__/models/CreateLPPositionResponse.ts +21 -0
  104. package/src/clients/trading/__generated__/models/CreatePlanRequest.ts +23 -0
  105. package/src/clients/trading/__generated__/models/CreateSendRequest.ts +22 -0
  106. package/src/clients/trading/__generated__/models/CreateSendResponse.ts +18 -0
  107. package/src/clients/trading/__generated__/models/CreateSwap5792Request.ts +17 -0
  108. package/src/clients/trading/__generated__/models/CreateSwap5792Response.ts +17 -0
  109. package/src/clients/trading/__generated__/models/CreateSwap7702Request.ts +21 -0
  110. package/src/clients/trading/__generated__/models/CreateSwap7702Response.ts +13 -0
  111. package/src/clients/trading/__generated__/models/CreateSwapRequest.ts +42 -0
  112. package/src/clients/trading/__generated__/models/CreateSwapResponse.ts +16 -0
  113. package/src/clients/trading/__generated__/models/Curve.ts +9 -0
  114. package/src/clients/trading/__generated__/models/DEXOrder.ts +35 -0
  115. package/src/clients/trading/__generated__/models/DecreaseLPPositionRequest.ts +33 -0
  116. package/src/clients/trading/__generated__/models/DecreaseLPPositionResponse.ts +19 -0
  117. package/src/clients/trading/__generated__/models/DelegationDetails.ts +19 -0
  118. package/src/clients/trading/__generated__/models/Distributor.ts +10 -0
  119. package/src/clients/trading/__generated__/models/DutchInput.ts +13 -0
  120. package/src/clients/trading/__generated__/models/DutchInputV3.ts +15 -0
  121. package/src/clients/trading/__generated__/models/DutchOrderInfo.ts +41 -0
  122. package/src/clients/trading/__generated__/models/DutchOrderInfoV2.ts +27 -0
  123. package/src/clients/trading/__generated__/models/DutchOrderInfoV3.ts +28 -0
  124. package/src/clients/trading/__generated__/models/DutchOutput.ts +15 -0
  125. package/src/clients/trading/__generated__/models/DutchOutputV3.ts +18 -0
  126. package/src/clients/trading/__generated__/models/DutchQuote.ts +27 -0
  127. package/src/clients/trading/__generated__/models/DutchQuoteV2.ts +28 -0
  128. package/src/clients/trading/__generated__/models/DutchQuoteV3.ts +30 -0
  129. package/src/clients/trading/__generated__/models/Encode7702ResponseBody.ts +11 -0
  130. package/src/clients/trading/__generated__/models/Err400.ts +9 -0
  131. package/src/clients/trading/__generated__/models/Err401.ts +9 -0
  132. package/src/clients/trading/__generated__/models/Err404.ts +17 -0
  133. package/src/clients/trading/__generated__/models/Err422.ts +9 -0
  134. package/src/clients/trading/__generated__/models/Err429.ts +9 -0
  135. package/src/clients/trading/__generated__/models/Err500.ts +9 -0
  136. package/src/clients/trading/__generated__/models/Err504.ts +9 -0
  137. package/src/clients/trading/__generated__/models/GasStrategy.ts +46 -0
  138. package/src/clients/trading/__generated__/models/GetOrdersResponse.ts +12 -0
  139. package/src/clients/trading/__generated__/models/GetSwappableTokensResponse.ts +29 -0
  140. package/src/clients/trading/__generated__/models/GetSwapsResponse.ts +18 -0
  141. package/src/clients/trading/__generated__/models/HooksOptions.ts +12 -0
  142. package/src/clients/trading/__generated__/models/IncreaseLPPositionRequest.ts +39 -0
  143. package/src/clients/trading/__generated__/models/IncreaseLPPositionResponse.ts +21 -0
  144. package/src/clients/trading/__generated__/models/IndependentToken.ts +8 -0
  145. package/src/clients/trading/__generated__/models/IndicativeQuoteRequest.ts +18 -0
  146. package/src/clients/trading/__generated__/models/IndicativeQuoteResponse.ts +14 -0
  147. package/src/clients/trading/__generated__/models/IndicativeQuoteToken.ts +13 -0
  148. package/src/clients/trading/__generated__/models/LimitOrderQuoteRequest.ts +22 -0
  149. package/src/clients/trading/__generated__/models/LimitOrderQuoteResponse.ts +19 -0
  150. package/src/clients/trading/__generated__/models/MigrateLPPositionRequest.ts +41 -0
  151. package/src/clients/trading/__generated__/models/MigrateLPPositionResponse.ts +13 -0
  152. package/src/clients/trading/__generated__/models/NullablePermit.ts +13 -0
  153. package/src/clients/trading/__generated__/models/OrderIds.ts +5 -0
  154. package/src/clients/trading/__generated__/models/OrderInput.ts +13 -0
  155. package/src/clients/trading/__generated__/models/OrderOutput.ts +16 -0
  156. package/src/clients/trading/__generated__/models/OrderRequest.ts +17 -0
  157. package/src/clients/trading/__generated__/models/OrderResponse.ts +13 -0
  158. package/src/clients/trading/__generated__/models/OrderStatus.ts +23 -0
  159. package/src/clients/trading/__generated__/models/OrderType.ts +11 -0
  160. package/src/clients/trading/__generated__/models/OrderTypeQuery.ts +12 -0
  161. package/src/clients/trading/__generated__/models/Permit.ts +13 -0
  162. package/src/clients/trading/__generated__/models/PermitAmount.ts +11 -0
  163. package/src/clients/trading/__generated__/models/PlanResponse.ts +75 -0
  164. package/src/clients/trading/__generated__/models/PlanStatus.ts +14 -0
  165. package/src/clients/trading/__generated__/models/PlanStep.ts +59 -0
  166. package/src/clients/trading/__generated__/models/PlanStepMethod.ts +12 -0
  167. package/src/clients/trading/__generated__/models/PlanStepPayloadType.ts +12 -0
  168. package/src/clients/trading/__generated__/models/PlanStepProof.ts +20 -0
  169. package/src/clients/trading/__generated__/models/PlanStepStatus.ts +14 -0
  170. package/src/clients/trading/__generated__/models/PlanStepType.ts +23 -0
  171. package/src/clients/trading/__generated__/models/Pool.ts +15 -0
  172. package/src/clients/trading/__generated__/models/PoolInfoRequest.ts +20 -0
  173. package/src/clients/trading/__generated__/models/PoolInfoResponse.ts +16 -0
  174. package/src/clients/trading/__generated__/models/PoolInformation.ts +44 -0
  175. package/src/clients/trading/__generated__/models/PoolParameters.ts +19 -0
  176. package/src/clients/trading/__generated__/models/PoolReferenceByProtocol.ts +12 -0
  177. package/src/clients/trading/__generated__/models/Position.ts +11 -0
  178. package/src/clients/trading/__generated__/models/PriorityInput.ts +12 -0
  179. package/src/clients/trading/__generated__/models/PriorityOrderInfo.ts +29 -0
  180. package/src/clients/trading/__generated__/models/PriorityOutput.ts +17 -0
  181. package/src/clients/trading/__generated__/models/PriorityQuote.ts +31 -0
  182. package/src/clients/trading/__generated__/models/ProtocolItems.ts +15 -0
  183. package/src/clients/trading/__generated__/models/Protocols.ts +9 -0
  184. package/src/clients/trading/__generated__/models/Quote.ts +14 -0
  185. package/src/clients/trading/__generated__/models/QuoteRequest.ts +41 -0
  186. package/src/clients/trading/__generated__/models/QuoteResponse.ts +19 -0
  187. package/src/clients/trading/__generated__/models/RequestId.ts +8 -0
  188. package/src/clients/trading/__generated__/models/Routing.ts +20 -0
  189. package/src/clients/trading/__generated__/models/RoutingPreference.ts +16 -0
  190. package/src/clients/trading/__generated__/models/SafetyLevel.ts +10 -0
  191. package/src/clients/trading/__generated__/models/ScopeData.ts +28 -0
  192. package/src/clients/trading/__generated__/models/SettledAmount.ts +14 -0
  193. package/src/clients/trading/__generated__/models/SortKey.ts +7 -0
  194. package/src/clients/trading/__generated__/models/SpreadOptimization.ts +11 -0
  195. package/src/clients/trading/__generated__/models/StepUpdate.ts +25 -0
  196. package/src/clients/trading/__generated__/models/SwapSafetyMode.ts +10 -0
  197. package/src/clients/trading/__generated__/models/SwapStatus.ts +11 -0
  198. package/src/clients/trading/__generated__/models/TokenInRoute.ts +20 -0
  199. package/src/clients/trading/__generated__/models/TokenProject.ts +13 -0
  200. package/src/clients/trading/__generated__/models/TokenProjectLogo.ts +8 -0
  201. package/src/clients/trading/__generated__/models/TradeType.ts +11 -0
  202. package/src/clients/trading/__generated__/models/TransactionFailureReason.ts +11 -0
  203. package/src/clients/trading/__generated__/models/TransactionHash.ts +8 -0
  204. package/src/clients/trading/__generated__/models/TransactionRequest.ts +29 -0
  205. package/src/clients/trading/__generated__/models/TransactionRequest5792.ts +25 -0
  206. package/src/clients/trading/__generated__/models/TruncatedPlanStep.ts +21 -0
  207. package/src/clients/trading/__generated__/models/UniversalRouterVersion.ts +8 -0
  208. package/src/clients/trading/__generated__/models/UpdatePlanRequest.ts +12 -0
  209. package/src/clients/trading/__generated__/models/Urgency.ts +12 -0
  210. package/src/clients/trading/__generated__/models/V2PoolInRoute.ts +19 -0
  211. package/src/clients/trading/__generated__/models/V2Reserve.ts +16 -0
  212. package/src/clients/trading/__generated__/models/V3PoolInRoute.ts +24 -0
  213. package/src/clients/trading/__generated__/models/V4PoolInRoute.ts +30 -0
  214. package/src/clients/trading/__generated__/models/WalletCheckDelegationRequestBody.ts +17 -0
  215. package/src/clients/trading/__generated__/models/WalletCheckDelegationResponseBody.ts +14 -0
  216. package/src/clients/trading/__generated__/models/WalletEncode7702RequestBody.ts +21 -0
  217. package/src/clients/trading/__generated__/models/WalletExecutionContext.ts +17 -0
  218. package/src/clients/trading/__generated__/models/WalletInfo.ts +22 -0
  219. package/src/clients/trading/__generated__/models/WalletProperties.ts +12 -0
  220. package/src/clients/trading/__generated__/models/WrapUnwrapQuote.ts +31 -0
  221. package/src/clients/trading/__generated__/models/additionalValidationContract.ts +9 -0
  222. package/src/clients/trading/__generated__/models/additionalValidationData.ts +9 -0
  223. package/src/clients/trading/__generated__/models/bps.ts +8 -0
  224. package/src/clients/trading/__generated__/models/bpsFee.ts +8 -0
  225. package/src/clients/trading/__generated__/models/bridgeTokenInChainIdParam.ts +6 -0
  226. package/src/clients/trading/__generated__/models/chainIdParam.ts +6 -0
  227. package/src/clients/trading/__generated__/models/claimerWalletAddress.ts +8 -0
  228. package/src/clients/trading/__generated__/models/contractAddress.ts +8 -0
  229. package/src/clients/trading/__generated__/models/cosignerAddress.ts +8 -0
  230. package/src/clients/trading/__generated__/models/cursorParam.ts +5 -0
  231. package/src/clients/trading/__generated__/models/deadline.ts +8 -0
  232. package/src/clients/trading/__generated__/models/encodedOrder.ts +8 -0
  233. package/src/clients/trading/__generated__/models/endAmount.ts +8 -0
  234. package/src/clients/trading/__generated__/models/erc20EthEnabledHeader.ts +8 -0
  235. package/src/clients/trading/__generated__/models/fillerParam.ts +9 -0
  236. package/src/clients/trading/__generated__/models/gasFee.ts +8 -0
  237. package/src/clients/trading/__generated__/models/gasFeeInCurrency.ts +8 -0
  238. package/src/clients/trading/__generated__/models/gasFeeUSD.ts +8 -0
  239. package/src/clients/trading/__generated__/models/gasLimit.ts +8 -0
  240. package/src/clients/trading/__generated__/models/gasPrice.ts +8 -0
  241. package/src/clients/trading/__generated__/models/generatePermitAsTransaction.ts +8 -0
  242. package/src/clients/trading/__generated__/models/includeGasInfo.ts +8 -0
  243. package/src/clients/trading/__generated__/models/inputToken.ts +8 -0
  244. package/src/clients/trading/__generated__/models/isSpam.ts +8 -0
  245. package/src/clients/trading/__generated__/models/limitParam.ts +5 -0
  246. package/src/clients/trading/__generated__/models/liquidity.ts +8 -0
  247. package/src/clients/trading/__generated__/models/lpPoolFee.ts +8 -0
  248. package/src/clients/trading/__generated__/models/lpTickCurrent.ts +8 -0
  249. package/src/clients/trading/__generated__/models/maxFeePerGas.ts +8 -0
  250. package/src/clients/trading/__generated__/models/maxPriorityFeePerGas.ts +8 -0
  251. package/src/clients/trading/__generated__/models/minAmount.ts +8 -0
  252. package/src/clients/trading/__generated__/models/nonce.ts +8 -0
  253. package/src/clients/trading/__generated__/models/orderId.ts +8 -0
  254. package/src/clients/trading/__generated__/models/orderIdParam.ts +6 -0
  255. package/src/clients/trading/__generated__/models/orderIdsParam.ts +9 -0
  256. package/src/clients/trading/__generated__/models/orderStatusParam.ts +9 -0
  257. package/src/clients/trading/__generated__/models/orderTypeParam.ts +9 -0
  258. package/src/clients/trading/__generated__/models/outputToken.ts +8 -0
  259. package/src/clients/trading/__generated__/models/poolFee.ts +8 -0
  260. package/src/clients/trading/__generated__/models/portionAmount.ts +8 -0
  261. package/src/clients/trading/__generated__/models/portionAmountReceiverAddress.ts +8 -0
  262. package/src/clients/trading/__generated__/models/portionBips.ts +8 -0
  263. package/src/clients/trading/__generated__/models/quoteId.ts +8 -0
  264. package/src/clients/trading/__generated__/models/receiverWalletAddress.ts +8 -0
  265. package/src/clients/trading/__generated__/models/senderWalletAddress.ts +8 -0
  266. package/src/clients/trading/__generated__/models/slippageTolerance.ts +14 -0
  267. package/src/clients/trading/__generated__/models/sortKeyParam.ts +9 -0
  268. package/src/clients/trading/__generated__/models/sortParam.ts +8 -0
  269. package/src/clients/trading/__generated__/models/sqrtRatioX96.ts +8 -0
  270. package/src/clients/trading/__generated__/models/startAmount.ts +8 -0
  271. package/src/clients/trading/__generated__/models/swapperParam.ts +9 -0
  272. package/src/clients/trading/__generated__/models/tickCurrent.ts +8 -0
  273. package/src/clients/trading/__generated__/models/tickSpacing.ts +8 -0
  274. package/src/clients/trading/__generated__/models/tokenAmount.ts +8 -0
  275. package/src/clients/trading/__generated__/models/tokenInParam.ts +6 -0
  276. package/src/clients/trading/__generated__/models/tokenSymbol.ts +8 -0
  277. package/src/clients/trading/__generated__/models/transactionHashesParam.ts +9 -0
  278. package/src/clients/trading/__generated__/models/universalRouterVersionHeader.ts +9 -0
  279. package/src/clients/trading/__generated__/services/ApprovalService.ts +39 -0
  280. package/src/clients/trading/__generated__/services/DefaultService.ts +46 -0
  281. package/src/clients/trading/__generated__/services/IndicativeQuoteService.ts +39 -0
  282. package/src/clients/trading/__generated__/services/LimitOrderQuoteService.ts +37 -0
  283. package/src/clients/trading/__generated__/services/LiquidityService.ts +239 -0
  284. package/src/clients/trading/__generated__/services/OrderService.ts +131 -0
  285. package/src/clients/trading/__generated__/services/PlanService.ts +76 -0
  286. package/src/clients/trading/__generated__/services/QuoteService.ts +58 -0
  287. package/src/clients/trading/__generated__/services/SendService.ts +37 -0
  288. package/src/clients/trading/__generated__/services/SwapService.ts +161 -0
  289. package/src/clients/trading/__generated__/services/SwappableTokensService.ts +42 -0
  290. package/src/clients/trading/__generated__/services/WalletCheckDelegationService.ts +37 -0
  291. package/src/clients/trading/__generated__/services/WalletEncode7702Service.ts +37 -0
  292. package/src/clients/trading/api.json +1 -0
  293. package/src/clients/trading/createTradingApiClient.ts +328 -0
  294. package/src/clients/trading/tradeTypes.ts +51 -0
  295. package/src/clients/trading/types.ts +72 -0
  296. package/src/clients/unitags/createUnitagsApiClient.test.ts +438 -0
  297. package/src/clients/unitags/createUnitagsApiClient.ts +214 -0
  298. package/src/clients/unitags/types.ts +122 -0
  299. package/src/components/ApiInit.test.tsx +364 -0
  300. package/src/components/ApiInit.tsx +71 -0
  301. package/src/connectRpc/base.ts +33 -0
  302. package/src/connectRpc/utils.ts +136 -0
  303. package/src/getEntryGatewayUrl.ts +46 -0
  304. package/src/getWebSocketUrl.ts +28 -0
  305. package/src/global.d.ts +2 -0
  306. package/src/hooks/index.ts +6 -0
  307. package/src/hooks/shared/types.ts +10 -0
  308. package/src/hooks/shared/useQueryWithImmediateGarbageCollection.ts +90 -0
  309. package/src/hooks/use-token-list.ts +52 -0
  310. package/src/hooks/use-token-price.ts +82 -0
  311. package/src/hooks/useIsSessionInitialized.ts +17 -0
  312. package/src/index.ts +318 -0
  313. package/src/provideDeviceIdService.ts +25 -0
  314. package/src/provideLuxIdentifierService.ts +25 -0
  315. package/src/provideSessionService.native.ts +46 -0
  316. package/src/provideSessionService.ts +13 -0
  317. package/src/provideSessionService.web.ts +87 -0
  318. package/src/provideSessionStorage.ts +21 -0
  319. package/src/session/createSessionTransport.test.ts +79 -0
  320. package/src/session/createSessionTransport.ts +107 -0
  321. package/src/session/createWithSessionRetry.ts +33 -0
  322. package/src/session/index.ts +12 -0
  323. package/src/storage/createExtensionStorageDriver.ts +29 -0
  324. package/src/storage/createNativeStorageDriver.ts +19 -0
  325. package/src/storage/createWebStorageDriver.ts +17 -0
  326. package/src/storage/getStorageDriver.native.ts +6 -0
  327. package/src/storage/getStorageDriver.ts +8 -0
  328. package/src/storage/getStorageDriver.web.ts +11 -0
  329. package/src/storage/types.ts +9 -0
  330. package/src/transport.ts +85 -0
  331. package/stubs/privy-service-connect.d.ts +3 -0
  332. package/stubs/privy-service-pb.d.ts +60 -0
  333. package/tsconfig.json +37 -0
  334. package/tsconfig.lint.json +8 -0
  335. package/tsconfig.spec.json +8 -0
  336. package/vitest.config.ts +14 -0
@@ -0,0 +1,1028 @@
1
+ query Nfts($ownerAddress: String!) {
2
+ portfolios(ownerAddresses: [$ownerAddress]) {
3
+ id
4
+ nftBalances {
5
+ id
6
+ ownedAsset {
7
+ id
8
+ collection {
9
+ id
10
+ collectionId
11
+ description
12
+ image {
13
+ id
14
+ url
15
+ }
16
+ isVerified
17
+ name
18
+ numAssets
19
+ markets(currencies: [USD]) {
20
+ id
21
+ floorPrice {
22
+ value
23
+ }
24
+ owners
25
+ volume24h {
26
+ value
27
+ }
28
+ totalVolume {
29
+ value
30
+ }
31
+ }
32
+ }
33
+ description
34
+ image {
35
+ id
36
+ url
37
+ }
38
+ name
39
+ nftContract {
40
+ id
41
+ address
42
+ chain
43
+ standard
44
+ }
45
+ thumbnail {
46
+ id
47
+ url
48
+ }
49
+ tokenId
50
+ creator {
51
+ id
52
+ address
53
+ username
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ query NFTItemScreen(
61
+ $contractAddress: String!
62
+ $filter: NftAssetsFilterInput
63
+ $activityFilter: NftActivityFilterInput
64
+ ) {
65
+ nftAssets(address: $contractAddress, filter: $filter) {
66
+ edges {
67
+ node {
68
+ id
69
+ ownerAddress
70
+ collection {
71
+ id
72
+ collectionId
73
+ description
74
+ image {
75
+ id
76
+ url
77
+ }
78
+ isVerified
79
+ name
80
+ numAssets
81
+ markets(currencies: [USD]) {
82
+ id
83
+ floorPrice {
84
+ value
85
+ }
86
+ owners
87
+ totalVolume {
88
+ value
89
+ }
90
+ }
91
+ nftContracts {
92
+ id
93
+ address
94
+ }
95
+ }
96
+ description
97
+ image {
98
+ id
99
+ url
100
+ dimensions {
101
+ width
102
+ height
103
+ }
104
+ }
105
+ name
106
+ nftContract {
107
+ id
108
+ address
109
+ chain
110
+ standard
111
+ }
112
+ tokenId
113
+ creator {
114
+ id
115
+ address
116
+ username
117
+ }
118
+ traits {
119
+ id
120
+ name
121
+ rarity
122
+ value
123
+ }
124
+ listings(first: 1) {
125
+ edges {
126
+ node {
127
+ id
128
+ price {
129
+ currency
130
+ value
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ nftActivity(filter: $activityFilter) {
139
+ edges {
140
+ node {
141
+ id
142
+ quantity
143
+ price {
144
+ currency
145
+ value
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+
152
+ query NftCollectionScreen(
153
+ $contractAddress: String!
154
+ $first: Int
155
+ $after: String
156
+ ) {
157
+ nftCollections(filter: { addresses: [$contractAddress] }) {
158
+ edges {
159
+ node {
160
+ id
161
+ bannerImage {
162
+ id
163
+ url
164
+ }
165
+ isVerified
166
+ numAssets
167
+ description
168
+ homepageUrl
169
+ twitterName
170
+ image {
171
+ id
172
+ url
173
+ }
174
+ name
175
+ markets(currencies: [USD]) {
176
+ id
177
+ floorPrice {
178
+ value
179
+ }
180
+ owners
181
+ volume24h {
182
+ value
183
+ }
184
+ totalVolume {
185
+ value
186
+ }
187
+ }
188
+ }
189
+ }
190
+ }
191
+ nftAssets(
192
+ address: $contractAddress
193
+ first: $first
194
+ after: $after
195
+ orderBy: PRICE
196
+ asc: true
197
+ ) {
198
+ edges {
199
+ node {
200
+ ownerAddress
201
+ id
202
+ name
203
+ tokenId
204
+ nftContract {
205
+ id
206
+ address
207
+ }
208
+ collection {
209
+ id
210
+ collectionId
211
+ name
212
+ }
213
+ image {
214
+ id
215
+ url
216
+ dimensions {
217
+ width
218
+ height
219
+ }
220
+ }
221
+ listings(first: 1) {
222
+ edges {
223
+ node {
224
+ id
225
+ price {
226
+ currency
227
+ value
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+ pageInfo {
235
+ endCursor
236
+ hasNextPage
237
+ hasPreviousPage
238
+ startCursor
239
+ }
240
+ }
241
+ }
242
+
243
+ query NftsTab(
244
+ $ownerAddress: String!
245
+ $first: Int
246
+ $after: String
247
+ $filter: NftBalancesFilterInput
248
+ $chains: [Chain!]!
249
+ ) {
250
+ nftBalances(
251
+ ownerAddress: $ownerAddress
252
+ chains: $chains
253
+ first: $first
254
+ after: $after
255
+ filter: $filter
256
+ ) {
257
+ edges {
258
+ node {
259
+ ownedAsset {
260
+ chain
261
+ id
262
+ collection {
263
+ id
264
+ name
265
+ isVerified
266
+ markets(currencies: [ETH]) {
267
+ id
268
+ floorPrice {
269
+ value
270
+ }
271
+ }
272
+ }
273
+ image {
274
+ id
275
+ url
276
+ dimensions {
277
+ width
278
+ height
279
+ }
280
+ }
281
+ thumbnail {
282
+ id
283
+ url
284
+ }
285
+ name
286
+ tokenId
287
+ description
288
+ nftContract {
289
+ id
290
+ address
291
+ }
292
+ isSpam
293
+ }
294
+ }
295
+ }
296
+ pageInfo {
297
+ endCursor
298
+ hasNextPage
299
+ hasPreviousPage
300
+ startCursor
301
+ }
302
+ }
303
+ }
304
+
305
+ # We use this fragment to optimize how we render each row in the Tokens tab.
306
+ # We should keep it small, only include the fields we need to render that row,
307
+ # and avoid including fields that might change too often.
308
+ fragment TokenBalanceMainParts on TokenBalance {
309
+ ...TokenBalanceQuantityParts
310
+ denominatedValue {
311
+ currency
312
+ value
313
+ }
314
+ tokenProjectMarket {
315
+ relativeChange24: pricePercentChange(duration: DAY) {
316
+ value
317
+ }
318
+ }
319
+ }
320
+
321
+ fragment TokenBalanceQuantityParts on TokenBalance {
322
+ id
323
+ quantity
324
+ }
325
+
326
+ fragment TokenBalanceParts on TokenBalance {
327
+ ...TokenBalanceMainParts
328
+ isHidden
329
+ token {
330
+ ...TokenParts
331
+ }
332
+ }
333
+
334
+ query PortfolioBalances(
335
+ $ownerAddress: String!
336
+ $valueModifiers: [PortfolioValueModifier!]
337
+ $chains: [Chain!]!
338
+ ) {
339
+ portfolios(
340
+ ownerAddresses: [$ownerAddress]
341
+ chains: $chains
342
+ valueModifiers: $valueModifiers
343
+ ) {
344
+ id
345
+ # Total portfolio balance for header
346
+ tokensTotalDenominatedValue {
347
+ value
348
+ }
349
+ tokensTotalDenominatedValueChange(duration: DAY) {
350
+ absolute {
351
+ value
352
+ }
353
+ percentage {
354
+ value
355
+ }
356
+ }
357
+
358
+ # Individual portfolio token balances
359
+ tokenBalances {
360
+ ...TokenBalanceParts
361
+ }
362
+ }
363
+ }
364
+
365
+ query MultiplePortfolioBalances(
366
+ $ownerAddresses: [String!]!
367
+ $valueModifiers: [PortfolioValueModifier!]
368
+ $chains: [Chain!]!
369
+ ) {
370
+ portfolios(
371
+ ownerAddresses: $ownerAddresses
372
+ chains: $chains
373
+ valueModifiers: $valueModifiers
374
+ ) {
375
+ id
376
+
377
+ # Total portfolio balance for header
378
+ tokensTotalDenominatedValue {
379
+ value
380
+ }
381
+ tokensTotalDenominatedValueChange(duration: DAY) {
382
+ absolute {
383
+ value
384
+ }
385
+ percentage {
386
+ value
387
+ }
388
+ }
389
+
390
+ # Individual portfolio token balances
391
+ tokenBalances {
392
+ id
393
+ quantity
394
+ isHidden
395
+ denominatedValue {
396
+ currency
397
+ value
398
+ }
399
+ token {
400
+ ...TokenBasicInfoParts
401
+ ...TokenBasicProjectParts
402
+ }
403
+ tokenProjectMarket {
404
+ relativeChange24: pricePercentChange(duration: DAY) {
405
+ value
406
+ }
407
+ }
408
+ }
409
+ }
410
+ }
411
+
412
+ query SelectWalletScreen(
413
+ $ownerAddresses: [String!]!
414
+ $valueModifiers: [PortfolioValueModifier!]
415
+ $chains: [Chain!]!
416
+ ) {
417
+ portfolios(
418
+ ownerAddresses: $ownerAddresses
419
+ chains: $chains
420
+ valueModifiers: $valueModifiers
421
+ ) {
422
+ id
423
+ ownerAddress
424
+ tokensTotalDenominatedValue {
425
+ value
426
+ }
427
+ }
428
+ }
429
+
430
+ query TransactionHistoryUpdater(
431
+ $addresses: [String!]!
432
+ $onRampAuth: OnRampTransactionsAuth
433
+ $chains: [Chain!]!
434
+ ) {
435
+ portfolios(
436
+ ownerAddresses: $addresses
437
+ chains: $chains
438
+ ) {
439
+ id
440
+ ownerAddress
441
+ assetActivities(
442
+ pageSize: 1
443
+ page: 1
444
+ chains: $chains
445
+ onRampTransactionsAuth: $onRampAuth
446
+ includeBridging: true
447
+ ) {
448
+ id
449
+ timestamp
450
+ details {
451
+ ... on TransactionDetails {
452
+ id
453
+ hash
454
+ }
455
+ }
456
+ }
457
+ }
458
+ }
459
+
460
+ query Token($chain: Chain!, $address: String) {
461
+ token(chain: $chain, address: $address) {
462
+ ...TokenParts
463
+ }
464
+ }
465
+
466
+ query TokenDetailsScreen(
467
+ $chain: Chain!
468
+ $address: String
469
+ ) {
470
+ token(chain: $chain, address: $address) {
471
+ ...TokenParts
472
+ ...TokenMarketParts
473
+ ...TokenBasicProjectParts
474
+ ...TokenProjectUrlsParts
475
+ ...TokenProjectMarketsParts
476
+ }
477
+ }
478
+
479
+ query TokenProjectDescription(
480
+ $chain: Chain!
481
+ $address: String
482
+ $includeSpanish: Boolean = false
483
+ $includeFrench: Boolean = false
484
+ $includeJapanese: Boolean = false
485
+ $includePortuguese: Boolean = false
486
+ $includeVietnamese: Boolean = false
487
+ $includeChineseSimplified: Boolean = false
488
+ $includeChineseTraditional: Boolean = false
489
+ ) {
490
+ token(chain: $chain, address: $address) {
491
+ chain
492
+ address
493
+ project {
494
+ id
495
+ description
496
+ descriptionTranslations {
497
+ descriptionEsEs @include(if: $includeSpanish)
498
+ descriptionFrFr @include(if: $includeFrench)
499
+ descriptionJaJp @include(if: $includeJapanese)
500
+ descriptionPtPt @include(if: $includePortuguese)
501
+ descriptionViVn @include(if: $includeVietnamese)
502
+ descriptionZhHans @include(if: $includeChineseSimplified)
503
+ descriptionZhHant @include(if: $includeChineseTraditional)
504
+ }
505
+ }
506
+ }
507
+ }
508
+
509
+ query TokenProjects($contracts: [ContractInput!]!) {
510
+ tokenProjects(contracts: $contracts) {
511
+ id
512
+ logoUrl
513
+ safetyLevel
514
+ tokens {
515
+ ...TokenBasicInfoParts
516
+ ...TokenFeeDataParts
517
+ ...TokenProtectionInfoParts
518
+ }
519
+ }
520
+ }
521
+
522
+ # TODO: WALL-5532 - Add support for offramp transactions on the graphql service
523
+ query TransactionList($address: String!, $onRampAuth: OnRampTransactionsAuth, $chains: [Chain!]!, $pageSize: Int = 100) {
524
+ portfolios(
525
+ ownerAddresses: [$address]
526
+ chains: $chains
527
+ ) {
528
+ id
529
+ assetActivities(
530
+ pageSize: $pageSize
531
+ page: 1
532
+ includeOffChain: true
533
+ includeBridging: true
534
+ chains: $chains
535
+ onRampTransactionsAuth: $onRampAuth
536
+ ) {
537
+ id
538
+ timestamp
539
+ chain
540
+ details {
541
+ ... on OnRampTransactionDetails {
542
+ id
543
+ status
544
+ receiverAddress
545
+ onRampTransfer {
546
+ id
547
+ transactionReferenceId
548
+ externalSessionId
549
+ token {
550
+ ...TokenBasicInfoParts
551
+ ...TokenBasicProjectParts
552
+ }
553
+ tokenStandard
554
+ amount
555
+ sourceCurrency
556
+ sourceAmount
557
+ serviceProvider {
558
+ serviceProvider
559
+ name
560
+ url
561
+ logoLightUrl
562
+ logoDarkUrl
563
+ supportUrl
564
+ }
565
+ networkFee
566
+ transactionFee
567
+ totalFee
568
+ }
569
+ }
570
+ ... on TransactionDetails {
571
+ id
572
+ to
573
+ type
574
+ hash
575
+ from
576
+ status
577
+ application {
578
+ name
579
+ address
580
+ icon {
581
+ url
582
+ }
583
+ }
584
+ assetChanges {
585
+ __typename
586
+ ... on TokenTransfer {
587
+ id
588
+ asset {
589
+ id
590
+ symbol
591
+ address
592
+ decimals
593
+ chain
594
+ project {
595
+ id
596
+ isSpam
597
+ spamCode
598
+ }
599
+ }
600
+ tokenStandard
601
+ quantity
602
+ sender
603
+ recipient
604
+ direction
605
+ transactedValue {
606
+ id
607
+ currency
608
+ value
609
+ }
610
+ }
611
+ ... on NftTransfer {
612
+ id
613
+ asset {
614
+ id
615
+ name
616
+ isSpam
617
+ nftContract {
618
+ id
619
+ chain
620
+ address
621
+ }
622
+ tokenId
623
+ image {
624
+ id
625
+ url
626
+ }
627
+ collection {
628
+ id
629
+ name
630
+ }
631
+ }
632
+ nftStandard
633
+ sender
634
+ recipient
635
+ direction
636
+ }
637
+ ... on OnRampTransfer {
638
+ id
639
+ transactionReferenceId
640
+ externalSessionId
641
+ token {
642
+ ...TokenBasicInfoParts
643
+ ...TokenBasicProjectParts
644
+ }
645
+ tokenStandard
646
+ amount
647
+ sourceCurrency
648
+ sourceAmount
649
+ serviceProvider {
650
+ serviceProvider
651
+ name
652
+ url
653
+ logoLightUrl
654
+ logoDarkUrl
655
+ supportUrl
656
+ }
657
+ networkFee
658
+ transactionFee
659
+ totalFee
660
+ }
661
+ ... on TokenApproval {
662
+ id
663
+ asset {
664
+ id
665
+ symbol
666
+ decimals
667
+ address
668
+ chain
669
+ }
670
+ tokenStandard
671
+ approvedAddress
672
+ quantity
673
+ }
674
+ }
675
+ networkFee {
676
+ quantity
677
+ tokenSymbol
678
+ tokenAddress
679
+ tokenChain
680
+ }
681
+ }
682
+ ... on SwapOrderDetails {
683
+ id
684
+ offerer
685
+ hash
686
+ orderStatus: swapOrderStatus
687
+ expiry
688
+ swapOrderType
689
+ encodedOrder
690
+ inputToken {
691
+ id
692
+ symbol
693
+ address
694
+ decimals
695
+ chain
696
+ }
697
+ inputTokenQuantity
698
+ outputToken {
699
+ id
700
+ symbol
701
+ address
702
+ decimals
703
+ chain
704
+ }
705
+ outputTokenQuantity
706
+ }
707
+ }
708
+ }
709
+ }
710
+ }
711
+
712
+ query FeedTransactionList($addresses: [String!]!, $chains: [Chain!]!) {
713
+ portfolios(
714
+ ownerAddresses: $addresses
715
+ chains: $chains
716
+ ) {
717
+ id
718
+ ownerAddress
719
+ assetActivities(
720
+ pageSize: 30
721
+ includeBridging: true
722
+ page: 1
723
+ chains: $chains
724
+ ) {
725
+ id
726
+ timestamp
727
+ chain
728
+ details {
729
+ ... on TransactionDetails {
730
+ id
731
+ to
732
+ type
733
+ hash
734
+ from
735
+ status
736
+ assetChanges {
737
+ __typename
738
+ ... on TokenTransfer {
739
+ id
740
+ asset {
741
+ id
742
+ symbol
743
+ address
744
+ decimals
745
+ chain
746
+ project {
747
+ id
748
+ isSpam
749
+ spamCode
750
+ }
751
+ }
752
+ tokenStandard
753
+ quantity
754
+ sender
755
+ recipient
756
+ direction
757
+ transactedValue {
758
+ currency
759
+ value
760
+ }
761
+ }
762
+ ... on NftTransfer {
763
+ id
764
+ asset {
765
+ id
766
+ name
767
+ isSpam
768
+ nftContract {
769
+ id
770
+ chain
771
+ address
772
+ }
773
+ tokenId
774
+ image {
775
+ id
776
+ url
777
+ }
778
+ collection {
779
+ id
780
+ name
781
+ }
782
+ }
783
+ nftStandard
784
+ sender
785
+ recipient
786
+ direction
787
+ }
788
+ ... on TokenApproval {
789
+ id
790
+ asset {
791
+ id
792
+ symbol
793
+ decimals
794
+ address
795
+ chain
796
+ }
797
+ tokenStandard
798
+ approvedAddress
799
+ quantity
800
+ }
801
+ }
802
+ }
803
+ }
804
+ }
805
+ }
806
+ }
807
+
808
+ query TopTokens(
809
+ $chain: Chain
810
+ $page: Int = 1
811
+ $pageSize: Int = 100
812
+ $orderBy: TokenSortableField = POPULARITY
813
+ ) {
814
+ topTokens(
815
+ chain: $chain
816
+ page: $page
817
+ pageSize: $pageSize
818
+ orderBy: $orderBy
819
+ ) {
820
+ ...TokenParts
821
+ }
822
+ }
823
+
824
+ fragment TokenParts on Token {
825
+ ...TokenBasicInfoParts
826
+ ...TokenBasicProjectParts
827
+ ...TokenFeeDataParts
828
+ ...TokenProtectionInfoParts
829
+ }
830
+
831
+ fragment TokenBasicInfoParts on Token {
832
+ id
833
+ address
834
+ chain
835
+ decimals
836
+ name
837
+ standard
838
+ symbol
839
+ isBridged
840
+ bridgedWithdrawalInfo {
841
+ chain
842
+ provider
843
+ url
844
+ }
845
+ }
846
+
847
+ fragment TokenBasicProjectParts on Token {
848
+ project {
849
+ id
850
+ isSpam
851
+ logoUrl
852
+ name
853
+ safetyLevel
854
+ spamCode
855
+ tokens {
856
+ chain
857
+ address
858
+ }
859
+ }
860
+ }
861
+
862
+ fragment TokenProjectUrlsParts on Token {
863
+ project {
864
+ homepageUrl
865
+ twitterName
866
+ }
867
+ }
868
+
869
+ fragment TokenProjectMarketsParts on Token {
870
+ project {
871
+ markets(currencies: [USD]) {
872
+ id
873
+ price {
874
+ value
875
+ }
876
+ marketCap {
877
+ value
878
+ }
879
+ fullyDilutedValuation {
880
+ value
881
+ }
882
+ priceHigh52W: priceHighLow(duration: YEAR, highLow: HIGH) {
883
+ value
884
+ }
885
+ priceLow52W: priceHighLow(duration: YEAR, highLow: LOW) {
886
+ value
887
+ }
888
+ pricePercentChange24h {
889
+ value
890
+ }
891
+ }
892
+ }
893
+ }
894
+
895
+ fragment TokenMarketParts on Token {
896
+ market(currency: USD) {
897
+ id
898
+ volume(duration: DAY) {
899
+ value
900
+ }
901
+ price {
902
+ value
903
+ }
904
+ priceHigh52W: priceHighLow(duration: YEAR, highLow: HIGH) {
905
+ value
906
+ }
907
+ priceLow52W: priceHighLow(duration: YEAR, highLow: LOW) {
908
+ value
909
+ }
910
+ }
911
+ }
912
+
913
+ fragment TokenFeeDataParts on Token {
914
+ feeData {
915
+ buyFeeBps
916
+ sellFeeBps
917
+ }
918
+ }
919
+
920
+ fragment TokenProtectionInfoParts on Token {
921
+ protectionInfo {
922
+ result
923
+ attackTypes
924
+ blockaidFees {
925
+ buy
926
+ sell
927
+ transfer
928
+ }
929
+ }
930
+ }
931
+
932
+ fragment TopTokenParts on Token {
933
+ ...TokenBasicInfoParts
934
+ market {
935
+ id
936
+ totalValueLocked {
937
+ value
938
+ }
939
+ volume(duration: DAY) {
940
+ value
941
+ }
942
+ }
943
+ project {
944
+ id
945
+ logoUrl
946
+ markets(currencies: [USD]) {
947
+ id
948
+ price {
949
+ value
950
+ }
951
+ pricePercentChange24h {
952
+ value
953
+ }
954
+ marketCap {
955
+ value
956
+ }
957
+ }
958
+ }
959
+ }
960
+
961
+ fragment HomeScreenTokenParts on Token {
962
+ ...TokenBasicInfoParts
963
+ project {
964
+ id
965
+ logoUrl
966
+ markets(currencies: [USD]) {
967
+ id
968
+ price {
969
+ value
970
+ }
971
+ pricePercentChange24h {
972
+ value
973
+ }
974
+ }
975
+ }
976
+ }
977
+
978
+ query HomeScreenTokens($contracts: [ContractInput!]!, $chain: Chain!) {
979
+ tokens(contracts: $contracts) {
980
+ ...HomeScreenTokenParts
981
+ }
982
+ eth: token(address: null, chain: $chain) {
983
+ ...HomeScreenTokenParts
984
+ }
985
+ }
986
+
987
+ query FavoriteTokenCard($chain: Chain!, $address: String) {
988
+ token(chain: $chain, address: $address) {
989
+ ...TokenBasicInfoParts
990
+ ...TokenBasicProjectParts
991
+ ...TokenProjectMarketsParts
992
+ market(currency: USD) {
993
+ id
994
+ price {
995
+ value
996
+ }
997
+ pricePercentChange(duration: DAY) {
998
+ value
999
+ }
1000
+ }
1001
+ }
1002
+ }
1003
+
1004
+ # Currently used in Swift code only.
1005
+ query WidgetTokens($contracts: [ContractInput!]!) {
1006
+ tokens(contracts: $contracts) {
1007
+ symbol
1008
+ chain
1009
+ address
1010
+ name
1011
+ }
1012
+ }
1013
+
1014
+ query Tokens($contracts: [ContractInput!]!) {
1015
+ tokens(contracts: $contracts) {
1016
+ ...TokenParts
1017
+ }
1018
+ }
1019
+
1020
+ query Convert($fromCurrency: Currency!, $toCurrency: Currency!) {
1021
+ convert(
1022
+ fromAmount: { currency: $fromCurrency, value: 1.0 }
1023
+ toCurrency: $toCurrency
1024
+ ) {
1025
+ value
1026
+ currency
1027
+ }
1028
+ }