@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,9 @@
1
+ import type { QueryResult } from '@apollo/client'
2
+ import type { ApolloError } from '@apollo/client/errors'
3
+
4
+ // Query result does not have a refetch property so add it here in case it needs to get returned
5
+ export type GqlResult<T> = Pick<QueryResult<T>, 'data' | 'loading'> &
6
+ Partial<Pick<QueryResult<T>, 'networkStatus'>> & {
7
+ refetch?: () => void // TODO: [MOB-222] figure out the proper type for this from a QueryResult
8
+ error?: ApolloError | Error
9
+ }
@@ -0,0 +1,21 @@
1
+ import { NetworkStatus } from '@apollo/client'
2
+
3
+ export function isNonPollingRequestInFlight(networkStatus: NetworkStatus): boolean {
4
+ return (
5
+ networkStatus === NetworkStatus.loading ||
6
+ networkStatus === NetworkStatus.setVariables ||
7
+ networkStatus === NetworkStatus.refetch
8
+ )
9
+ }
10
+
11
+ export function isWarmLoadingStatus(networkStatus: NetworkStatus): boolean {
12
+ return networkStatus === NetworkStatus.loading || networkStatus === NetworkStatus.refetch
13
+ }
14
+
15
+ /**
16
+ * Consider a query in an error state for UI purposes if query has no data, and
17
+ * query has been loading at least once.
18
+ */
19
+ export function isError(networkStatus: NetworkStatus, hasData: boolean): boolean {
20
+ return !hasData && networkStatus !== NetworkStatus.loading
21
+ }
@@ -0,0 +1,18 @@
1
+ query LuxPrices($contracts: [ContractInput!]!) {
2
+ tokens(contracts: $contracts) {
3
+ id
4
+ address
5
+ chain
6
+ standard
7
+ project {
8
+ id
9
+ markets(currencies: [USD]) {
10
+ id
11
+ price {
12
+ id
13
+ value
14
+ }
15
+ }
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,93 @@
1
+ query RecentTokenTransfers($address: String!, $chains: [Chain!]) {
2
+ portfolios(
3
+ ownerAddresses: [$address]
4
+ chains: $chains
5
+ ) {
6
+ id
7
+ ownerAddress
8
+ assetActivities(
9
+ pageSize: 100
10
+ page: 1
11
+ chains: $chains
12
+ ) {
13
+ id
14
+ timestamp
15
+ chain
16
+ details {
17
+ ... on TransactionDetails {
18
+ to
19
+ type
20
+ hash
21
+ from
22
+ status
23
+ assetChanges {
24
+ __typename
25
+ ... on TokenTransfer {
26
+ id
27
+ asset {
28
+ id
29
+ symbol
30
+ address
31
+ decimals
32
+ chain
33
+ project {
34
+ id
35
+ isSpam
36
+ spamCode
37
+ }
38
+ }
39
+ tokenStandard
40
+ quantity
41
+ sender
42
+ recipient
43
+ direction
44
+ transactedValue {
45
+ currency
46
+ value
47
+ }
48
+ }
49
+ ... on NftTransfer {
50
+ id
51
+ asset {
52
+ id
53
+ name
54
+ isSpam
55
+ nftContract {
56
+ id
57
+ chain
58
+ address
59
+ }
60
+ tokenId
61
+ image {
62
+ id
63
+ url
64
+ }
65
+ collection {
66
+ id
67
+ name
68
+ }
69
+ }
70
+ nftStandard
71
+ sender
72
+ recipient
73
+ direction
74
+ }
75
+ ... on TokenApproval {
76
+ id
77
+ asset {
78
+ id
79
+ symbol
80
+ decimals
81
+ address
82
+ chain
83
+ }
84
+ tokenStandard
85
+ approvedAddress
86
+ quantity
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,12 @@
1
+ fragment SimpleTokenDetails on Token {
2
+ ...TokenBasicInfoParts
3
+ project {
4
+ id
5
+ isSpam
6
+ logoUrl
7
+ name
8
+ safetyLevel
9
+ }
10
+ ...TokenFeeDataParts
11
+ ...TokenProtectionInfoParts
12
+ }
@@ -0,0 +1,19 @@
1
+ query TokenSpotPrice($chain: Chain!, $address: String = null) {
2
+ token(chain: $chain, address: $address) {
3
+ id
4
+ address
5
+ chain
6
+ name
7
+ symbol
8
+ project {
9
+ id
10
+ markets(currencies: [USD]) {
11
+ id
12
+ price {
13
+ id
14
+ value
15
+ }
16
+ }
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,272 @@
1
+ fragment NFTAssetParts on NftAsset {
2
+ id
3
+ name
4
+ isSpam
5
+ nftContract {
6
+ id
7
+ chain
8
+ address
9
+ }
10
+ tokenId
11
+ image {
12
+ id
13
+ url
14
+ }
15
+ collection {
16
+ id
17
+ name
18
+ }
19
+ }
20
+
21
+ fragment NFTTransferParts on NftTransfer {
22
+ id
23
+ asset {
24
+ ...NFTAssetParts
25
+ }
26
+ nftStandard
27
+ sender
28
+ recipient
29
+ direction
30
+ }
31
+
32
+ fragment TokenAssetParts on Token {
33
+ id
34
+ address
35
+ chain
36
+ symbol
37
+ name
38
+ decimals
39
+ standard
40
+ project {
41
+ id
42
+ name
43
+ logo {
44
+ id
45
+ url
46
+ }
47
+ safetyLevel
48
+ logoUrl
49
+ isSpam
50
+ }
51
+ }
52
+
53
+ fragment TokenTransferParts on TokenTransfer {
54
+ id
55
+ asset {
56
+ ...TokenAssetParts
57
+ }
58
+ tokenStandard
59
+ quantity
60
+ sender
61
+ recipient
62
+ direction
63
+ transactedValue {
64
+ id
65
+ currency
66
+ value
67
+ }
68
+ }
69
+
70
+ fragment OnRampTransferParts on OnRampTransfer {
71
+ id
72
+ token {
73
+ ...SimpleTokenDetails
74
+ }
75
+ tokenStandard
76
+ amount
77
+ sourceCurrency
78
+ sourceAmount
79
+ serviceProvider {
80
+ serviceProvider
81
+ name
82
+ url
83
+ logoLightUrl
84
+ logoDarkUrl
85
+ }
86
+ transactionReferenceId
87
+ externalSessionId
88
+ networkFee
89
+ transactionFee
90
+ totalFee
91
+ }
92
+
93
+ fragment TokenApprovalParts on TokenApproval {
94
+ id
95
+ asset {
96
+ ...TokenAssetParts
97
+ }
98
+ tokenStandard
99
+ approvedAddress
100
+ quantity
101
+ }
102
+
103
+ fragment NFTApprovalParts on NftApproval {
104
+ id
105
+ asset {
106
+ ...NFTAssetParts
107
+ }
108
+ nftStandard
109
+ approvedAddress
110
+ }
111
+
112
+ fragment NFTApproveForAllParts on NftApproveForAll {
113
+ id
114
+ asset {
115
+ ...NFTAssetParts
116
+ }
117
+ nftStandard
118
+ operatorAddress
119
+ approved
120
+ }
121
+
122
+ fragment TransactionParts on Transaction {
123
+ id
124
+ blockNumber
125
+ hash
126
+ status
127
+ to
128
+ from
129
+ nonce
130
+ }
131
+
132
+ fragment TransactionDetailsParts on TransactionDetails {
133
+ id
134
+ type
135
+ from
136
+ to
137
+ hash
138
+ nonce
139
+ status: transactionStatus
140
+ networkFee {
141
+ quantity
142
+ tokenSymbol
143
+ tokenAddress
144
+ tokenChain
145
+ }
146
+ assetChanges {
147
+ __typename
148
+ ... on TokenTransfer {
149
+ ...TokenTransferParts
150
+ }
151
+ ... on NftTransfer {
152
+ ...NFTTransferParts
153
+ }
154
+ ... on TokenApproval {
155
+ ...TokenApprovalParts
156
+ }
157
+ ... on NftApproval {
158
+ ...NFTApprovalParts
159
+ }
160
+ ... on NftApproveForAll {
161
+ ...NFTApproveForAllParts
162
+ }
163
+ ... on OnRampTransfer {
164
+ ...OnRampTransferParts
165
+ }
166
+ }
167
+ }
168
+
169
+ fragment OnRampTransactionDetailsParts on OnRampTransactionDetails {
170
+ id
171
+ status
172
+ receiverAddress
173
+ onRampTransfer {
174
+ id
175
+ token {
176
+ ...SimpleTokenDetails
177
+ }
178
+ amount
179
+ sourceCurrency
180
+ sourceAmount
181
+ serviceProvider {
182
+ serviceProvider
183
+ name
184
+ url
185
+ logoLightUrl
186
+ logoDarkUrl
187
+ }
188
+ transactionReferenceId
189
+ externalSessionId
190
+ }
191
+ }
192
+
193
+ fragment OffRampTransactionDetailsParts on OffRampTransactionDetails {
194
+ id
195
+ status
196
+ senderAddress
197
+ offRampTransfer {
198
+ id
199
+ token {
200
+ ...SimpleTokenDetails
201
+ }
202
+ amount
203
+ destinationCurrency
204
+ destinationAmount
205
+ serviceProvider {
206
+ serviceProvider
207
+ name
208
+ url
209
+ logoLightUrl
210
+ logoDarkUrl
211
+ }
212
+ transactionReferenceId
213
+ externalSessionId
214
+ networkFee
215
+ transactionFee
216
+ totalFee
217
+ }
218
+ }
219
+
220
+ fragment SwapOrderDetailsParts on SwapOrderDetails {
221
+ id
222
+ offerer
223
+ hash
224
+ orderStatus: swapOrderStatus
225
+ expiry
226
+ swapOrderType
227
+ encodedOrder
228
+ inputToken {
229
+ ...TokenAssetParts
230
+ }
231
+ inputTokenQuantity
232
+ outputToken {
233
+ ...TokenAssetParts
234
+ }
235
+ outputTokenQuantity
236
+ }
237
+
238
+ fragment AssetActivityParts on AssetActivity {
239
+ id
240
+ timestamp
241
+ chain
242
+ details {
243
+ __typename
244
+ ... on TransactionDetails {
245
+ ...TransactionDetailsParts
246
+ }
247
+ ... on SwapOrderDetails {
248
+ ...SwapOrderDetailsParts
249
+ }
250
+ ... on OnRampTransactionDetails {
251
+ ...OnRampTransactionDetailsParts
252
+ }
253
+ ... on OffRampTransactionDetails {
254
+ ...OffRampTransactionDetailsParts
255
+ }
256
+ }
257
+ }
258
+
259
+ query ActivityWeb($account: String!, $chains: [Chain!]!, $onRampTransactionIDs: [String!], $includeOffChain: Boolean!, $page: Int = 1, $pageSize: Int = 100) {
260
+ portfolios(ownerAddresses: [$account], chains: $chains) {
261
+ id
262
+ assetActivities(pageSize: $pageSize, page: $page, includeOffChain: $includeOffChain, chains: $chains, onRampTransactionIDs: $onRampTransactionIDs, includeBridging: true) {
263
+ ...AssetActivityParts
264
+ }
265
+ }
266
+ }
267
+
268
+ subscription OnAssetActivity($subscriptionId: ID!, $account: String!) {
269
+ onAssetActivity(subscriptionId: $subscriptionId, addresses: [$account]) {
270
+ ...AssetActivityParts
271
+ }
272
+ }
@@ -0,0 +1,11 @@
1
+ query AllV3Ticks ($chain: Chain!, $address: String!, $skip: Int, $first: Int){
2
+ v3Pool(chain: $chain, address: $address) {
3
+ id
4
+ ticks(skip: $skip, first: $first) {
5
+ tick: tickIdx
6
+ liquidityNet
7
+ price0
8
+ price1
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ query AllV4Ticks ($chain: Chain!, $poolId: String!, $skip: Int, $first: Int) {
2
+ v4Pool(chain: $chain, poolId: $poolId) {
3
+ id
4
+ ticks(skip: $skip, first: $first) {
5
+ tick: tickIdx
6
+ liquidityNet
7
+ price0
8
+ price1
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ query FeeTierDistribution($chain: Chain!, $token0: String!, $token1: String!) {
2
+ v3PoolsForTokenPair(chain: $chain, token0: $token0, token1: $token1) {
3
+ feeTier
4
+ token0Supply
5
+ token1Supply
6
+ }
7
+ }
@@ -0,0 +1,38 @@
1
+ query TokenPromo($chain: Chain!, $address: String = null) {
2
+ token(chain: $chain, address: $address) {
3
+ id
4
+ address
5
+ chain
6
+ market(currency: USD) {
7
+ id
8
+ price {
9
+ id
10
+ value
11
+ }
12
+ pricePercentChange(duration: DAY) {
13
+ id
14
+ value
15
+ }
16
+ }
17
+ }
18
+ }
19
+
20
+ query CollectionPromo($addresses: [String!]!) {
21
+ nftCollections(filter: { addresses: $addresses }) {
22
+ edges {
23
+ node {
24
+ markets(currencies: ETH) {
25
+ floorPricePercentChange(duration: DAY) {
26
+ value
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+
34
+ query DailyProtocolVolume($version: ProtocolVersion!) {
35
+ historicalProtocolVolume(chain: ETHEREUM, version: $version, duration: MONTH) {
36
+ value
37
+ }
38
+ }
@@ -0,0 +1,3 @@
1
+ query isV3SubgraphStale($chain: Chain!) {
2
+ isV3SubgraphStale(chain: $chain)
3
+ }
@@ -0,0 +1,34 @@
1
+ query CollectionSearch($query: String!) {
2
+ nftCollections(filter: { nameQuery: $query }) {
3
+ edges {
4
+ cursor
5
+ node {
6
+ image {
7
+ url
8
+ }
9
+ isVerified
10
+ name
11
+ numAssets
12
+ nftContracts {
13
+ address
14
+ chain
15
+ name
16
+ symbol
17
+ totalSupply
18
+ }
19
+ markets(currencies: ETH) {
20
+ floorPrice {
21
+ currency
22
+ value
23
+ }
24
+ }
25
+ }
26
+ }
27
+ pageInfo {
28
+ endCursor
29
+ hasNextPage
30
+ hasPreviousPage
31
+ startCursor
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,109 @@
1
+ query NftBalance(
2
+ $ownerAddress: String!
3
+ $filter: NftBalancesFilterInput
4
+ $chains: [Chain!] = [ETHEREUM]
5
+ $first: Int
6
+ $after: String
7
+ $last: Int
8
+ $before: String
9
+ ) {
10
+ nftBalances(
11
+ ownerAddress: $ownerAddress
12
+ chains: $chains
13
+ filter: $filter
14
+ first: $first
15
+ after: $after
16
+ last: $last
17
+ before: $before
18
+ ) {
19
+ edges {
20
+ node {
21
+ ownedAsset {
22
+ id
23
+ animationUrl
24
+ collection {
25
+ id
26
+ isVerified
27
+ image {
28
+ id
29
+ url
30
+ }
31
+ name
32
+ twitterName
33
+ nftContracts {
34
+ id
35
+ address
36
+ chain
37
+ name
38
+ standard
39
+ symbol
40
+ totalSupply
41
+ }
42
+ markets(currencies: ETH) {
43
+ id
44
+ floorPrice {
45
+ id
46
+ value
47
+ }
48
+ }
49
+ }
50
+ chain
51
+ description
52
+ flaggedBy
53
+ image {
54
+ id
55
+ url
56
+ }
57
+ originalImage {
58
+ id
59
+ url
60
+ }
61
+ name
62
+ ownerAddress
63
+ smallImage {
64
+ id
65
+ url
66
+ }
67
+ suspiciousFlag
68
+ tokenId
69
+ thumbnail {
70
+ id
71
+ url
72
+ }
73
+ listings(first: 1) {
74
+ edges {
75
+ node {
76
+ price {
77
+ id
78
+ value
79
+ currency
80
+ }
81
+ createdAt
82
+ marketplace
83
+ endAt
84
+ }
85
+ }
86
+ }
87
+ }
88
+ listedMarketplaces
89
+ listingFees {
90
+ id
91
+ payoutAddress
92
+ basisPoints
93
+ }
94
+ lastPrice {
95
+ id
96
+ currency
97
+ timestamp
98
+ value
99
+ }
100
+ }
101
+ }
102
+ pageInfo {
103
+ endCursor
104
+ hasNextPage
105
+ hasPreviousPage
106
+ startCursor
107
+ }
108
+ }
109
+ }