@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,495 @@
1
+ // The eslint rule is disabled because we want to use the zod schema factory pattern to avoid bundle size bloat
2
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
3
+ import { z } from 'zod'
4
+
5
+ /**
6
+ * Lazy-loaded Zod schema factory for Blockaid scan site request
7
+ */
8
+ export const getBlockaidScanSiteRequestSchema = () =>
9
+ z.object({
10
+ url: z.string(),
11
+ metadata: z.unknown().optional(),
12
+ })
13
+
14
+ export type BlockaidScanSiteRequest = z.infer<ReturnType<typeof getBlockaidScanSiteRequestSchema>>
15
+
16
+ /**
17
+ * Lazy-loaded Zod schema factory for Blockaid scan site "hit" response
18
+ */
19
+ export const getBlockaidScanSiteHitResponseSchema = () =>
20
+ z.object({
21
+ status: z.literal('hit'),
22
+ url: z.string(),
23
+ scan_start_time: z.string(),
24
+ scan_end_time: z.string(),
25
+ malicious_score: z.number(),
26
+ is_reachable: z.boolean(),
27
+ is_web3_site: z.boolean(),
28
+ is_malicious: z.boolean(),
29
+ attack_types: z.record(z.string(), z.unknown()),
30
+ network_operations: z.array(z.string()),
31
+ json_rpc_operations: z.array(z.string()),
32
+ contract_write: z.record(z.string(), z.unknown()),
33
+ contract_read: z.record(z.string(), z.unknown()),
34
+ })
35
+
36
+ export type BlockaidScanSiteHitResponse = z.infer<ReturnType<typeof getBlockaidScanSiteHitResponseSchema>>
37
+
38
+ /**
39
+ * Lazy-loaded Zod schema factory for Blockaid scan site "miss" response
40
+ */
41
+ export const getBlockaidScanSiteMissResponseSchema = () =>
42
+ z.object({
43
+ status: z.literal('miss'),
44
+ url: z.string(),
45
+ })
46
+
47
+ export type BlockaidScanSiteMissResponse = z.infer<ReturnType<typeof getBlockaidScanSiteMissResponseSchema>>
48
+
49
+ /**
50
+ * Lazy-loaded Zod schema factory for Blockaid scan site response (discriminated union)
51
+ */
52
+ export const getBlockaidScanSiteResponseSchema = () =>
53
+ z.discriminatedUnion('status', [getBlockaidScanSiteHitResponseSchema(), getBlockaidScanSiteMissResponseSchema()])
54
+
55
+ export type BlockaidScanSiteResponse = z.infer<ReturnType<typeof getBlockaidScanSiteResponseSchema>>
56
+
57
+ /**
58
+ * Verification status for dApp sites scanned by Blockaid
59
+ */
60
+ export enum DappVerificationStatus {
61
+ Verified = 'VERIFIED',
62
+ Unverified = 'UNVERIFIED',
63
+ Threat = 'THREAT',
64
+ }
65
+
66
+ // Transaction Scan Types
67
+
68
+ /**
69
+ * Zod schema for transaction scan metadata
70
+ */
71
+ const getMetadataDappSchema = () =>
72
+ z.object({
73
+ domain: z.string(),
74
+ })
75
+
76
+ /**
77
+ * Lazy-loaded Zod schema factory for transaction data
78
+ */
79
+ const getTransactionDataSchema = () =>
80
+ z.object({
81
+ from: z.string().optional(),
82
+ to: z.string().optional(),
83
+ value: z.string().optional(),
84
+ data: z.string().optional(),
85
+ gas: z.string().optional(),
86
+ gasPrice: z.string().optional(),
87
+ maxFeePerGas: z.string().optional(),
88
+ maxPriorityFeePerGas: z.string().optional(),
89
+ nonce: z.string().optional(),
90
+ })
91
+
92
+ /**
93
+ * Lazy-loaded Zod schema factory for Blockaid scan transaction request
94
+ */
95
+ export const getBlockaidScanTransactionRequestSchema = () =>
96
+ z.object({
97
+ chain: z.string(),
98
+ options: z.array(z.enum(['validation', 'simulation', 'gas_estimation', 'events'])).optional(),
99
+ metadata: getMetadataDappSchema(),
100
+ block: z.union([z.number(), z.string()]).optional(),
101
+ state_override: z.record(z.string(), z.unknown()).optional(),
102
+ simulate_with_estimated_gas: z.boolean().optional(),
103
+ account_address: z.string(),
104
+ data: getTransactionDataSchema(),
105
+ })
106
+
107
+ export type BlockaidScanTransactionRequest = z.infer<ReturnType<typeof getBlockaidScanTransactionRequestSchema>>
108
+
109
+ /**
110
+ * Lazy-loaded Zod schema factory for transaction feature
111
+ */
112
+ const getTransactionFeatureSchema = () =>
113
+ z.object({
114
+ type: z.enum(['Malicious', 'Warning', 'Benign', 'Info']),
115
+ feature_id: z.string(),
116
+ description: z.string(),
117
+ address: z.string().optional(),
118
+ entity: z.string().optional(),
119
+ metadata: z.record(z.string(), z.unknown()).optional(),
120
+ })
121
+
122
+ /**
123
+ * Lazy-loaded Zod schema factory for asset amount
124
+ * Note: For NFTs (ERC721/ERC1155), 'value' is not present, only 'token_id'
125
+ */
126
+ const getAssetAmountSchema = () =>
127
+ z.object({
128
+ value: z.union([z.string(), z.number()]).optional(),
129
+ summary: z.string().optional(),
130
+ usd_price: z.union([z.string(), z.number()]).optional(),
131
+ raw_value: z.string().optional(),
132
+ // NFT-specific fields
133
+ token_id: z.string().optional(),
134
+ arbitrary_collection_token: z.boolean().optional(),
135
+ logo_url: z.string().optional(),
136
+ })
137
+
138
+ /**
139
+ * Lazy-loaded Zod schema factory for balance change
140
+ */
141
+ const getBalanceChangeSchema = () =>
142
+ z.object({
143
+ usd_price: z.string().optional(),
144
+ value: z.union([z.string(), z.number()]),
145
+ raw_value: z.string(),
146
+ })
147
+
148
+ /**
149
+ * Lazy-loaded Zod schema factory for ERC20 token details
150
+ */
151
+ const getERC20TokenDetailsSchema = () =>
152
+ z.object({
153
+ type: z.literal('ERC20'),
154
+ address: z.string(),
155
+ name: z.string().optional(),
156
+ symbol: z.string(),
157
+ decimals: z.number(),
158
+ logo_url: z.string().optional(),
159
+ })
160
+
161
+ /**
162
+ * Lazy-loaded Zod schema factory for ERC721 token details
163
+ */
164
+ const getERC721TokenDetailsSchema = () =>
165
+ z.object({
166
+ type: z.literal('ERC721'),
167
+ address: z.string(),
168
+ name: z.string().optional(),
169
+ symbol: z.string().optional(),
170
+ logo_url: z.string().optional(),
171
+ })
172
+
173
+ /**
174
+ * Lazy-loaded Zod schema factory for ERC1155 token details
175
+ */
176
+ const getERC1155TokenDetailsSchema = () =>
177
+ z.object({
178
+ type: z.literal('ERC1155'),
179
+ address: z.string(),
180
+ name: z.string().optional(),
181
+ symbol: z.string().optional(),
182
+ logo_url: z.string().optional(),
183
+ })
184
+
185
+ /**
186
+ * Lazy-loaded Zod schema factory for native asset details
187
+ */
188
+ const getNativeAssetDetailsSchema = () =>
189
+ z.object({
190
+ type: z.literal('NATIVE'),
191
+ chain_id: z.number(),
192
+ chain_name: z.string(),
193
+ decimals: z.number(),
194
+ name: z.string(),
195
+ logo_url: z.string().optional(),
196
+ symbol: z.string(),
197
+ })
198
+
199
+ /**
200
+ * Lazy-loaded Zod schema factory for asset details (discriminated union)
201
+ */
202
+ const getAssetDetailsSchema = () =>
203
+ z.discriminatedUnion('type', [
204
+ getERC20TokenDetailsSchema(),
205
+ getERC721TokenDetailsSchema(),
206
+ getERC1155TokenDetailsSchema(),
207
+ getNativeAssetDetailsSchema(),
208
+ ])
209
+
210
+ /**
211
+ * Lazy-loaded Zod schema factory for asset diff
212
+ */
213
+ const getAssetDiffSchema = () =>
214
+ z.object({
215
+ asset_type: z.string(),
216
+ asset: getAssetDetailsSchema(),
217
+ in: z.array(getAssetAmountSchema()),
218
+ out: z.array(getAssetAmountSchema()),
219
+ balance_changes: z
220
+ .object({
221
+ before: getBalanceChangeSchema(),
222
+ after: getBalanceChangeSchema(),
223
+ })
224
+ .optional(),
225
+ })
226
+
227
+ /**
228
+ * Lazy-loaded Zod schema factory for USD diff
229
+ */
230
+ const getUsdDiffSchema = () =>
231
+ z.object({
232
+ in: z.string(),
233
+ out: z.string(),
234
+ total: z.string(),
235
+ })
236
+
237
+ /**
238
+ * Lazy-loaded Zod schema factory for spender exposure
239
+ */
240
+ const getSpenderExposureSchema = () =>
241
+ z.object({
242
+ summary: z.string().optional(),
243
+ exposure: z.array(getAssetAmountSchema()).optional(),
244
+ approval: z.string().optional(),
245
+ })
246
+
247
+ /**
248
+ * Lazy-loaded Zod schema factory for exposure
249
+ */
250
+ const getExposureSchema = () =>
251
+ z.object({
252
+ asset_type: z.string().optional(),
253
+ asset: getAssetDetailsSchema(),
254
+ spenders: z.record(z.string(), getSpenderExposureSchema()),
255
+ })
256
+
257
+ /**
258
+ * Lazy-loaded Zod schema factory for address detail
259
+ */
260
+ const getAddressDetailSchema = () =>
261
+ z.object({
262
+ contract_name: z.string().optional(),
263
+ name_tag: z.string().optional(),
264
+ description: z.string().optional(),
265
+ is_eoa: z.boolean().optional(),
266
+ })
267
+
268
+ /**
269
+ * Lazy-loaded Zod schema factory for asset trace
270
+ */
271
+ const getAssetTraceSchema = () =>
272
+ z.object({
273
+ type: z.string(),
274
+ trace_type: z.string(),
275
+ from_address: z.string().optional(),
276
+ to_address: z.string().optional(),
277
+ owner: z.string().optional(),
278
+ spender: z.string().optional(),
279
+ asset: getAssetDetailsSchema(),
280
+ diff: getAssetAmountSchema().optional(),
281
+ exposed: getAssetAmountSchema().optional(),
282
+ })
283
+
284
+ /**
285
+ * Lazy-loaded Zod schema factory for account summary
286
+ */
287
+ const getAccountSummarySchema = () =>
288
+ z.object({
289
+ assets_diffs: z.array(getAssetDiffSchema()),
290
+ traces: z.array(getAssetTraceSchema()),
291
+ total_usd_diff: getUsdDiffSchema().optional(),
292
+ exposures: z.array(getExposureSchema()),
293
+ total_usd_exposure: z.record(z.string(), z.string()),
294
+ })
295
+
296
+ /**
297
+ * Lazy-loaded Zod schema factory for missing balance
298
+ */
299
+ const getMissingBalanceSchema = () =>
300
+ z.object({
301
+ asset: getAssetDetailsSchema(),
302
+ required_balance: getAssetAmountSchema(),
303
+ current_balance: getAssetAmountSchema(),
304
+ missing_balance: getAssetAmountSchema(),
305
+ })
306
+
307
+ /**
308
+ * Lazy-loaded Zod schema factory for transaction params
309
+ */
310
+ const getTransactionParamsSchema = () =>
311
+ z
312
+ .object({
313
+ from: z.string().optional(),
314
+ to: z.string().optional(),
315
+ value: z.string().optional(),
316
+ data: z.string().optional(),
317
+ block_tag: z.string().optional(),
318
+ chain: z.string().optional(),
319
+ calldata: z
320
+ .object({
321
+ function_selector: z.string().optional(),
322
+ function_signature: z.string().optional(),
323
+ })
324
+ .optional(),
325
+ })
326
+ .catchall(z.unknown())
327
+
328
+ /**
329
+ * Lazy-loaded Zod schema factory for transaction simulation success
330
+ */
331
+ const getTransactionSimulationSuccessSchema = () =>
332
+ z.object({
333
+ status: z.literal('Success'),
334
+ assets_diffs: z.record(z.string(), z.array(getAssetDiffSchema())),
335
+ transaction_actions: z.array(
336
+ z.union([
337
+ z.enum([
338
+ 'mint',
339
+ 'stake',
340
+ 'swap',
341
+ 'native_transfer',
342
+ 'token_transfer',
343
+ 'approval',
344
+ 'set_code_account',
345
+ 'proxy_upgrade',
346
+ 'ownership_change',
347
+ ]),
348
+ z.string(),
349
+ ]),
350
+ ),
351
+ total_usd_diff: z.record(z.string(), getUsdDiffSchema()),
352
+ exposures: z.record(z.string(), z.array(getExposureSchema())),
353
+ total_usd_exposure: z.record(z.string(), z.record(z.string(), z.string())),
354
+ address_details: z.record(z.string(), getAddressDetailSchema()),
355
+ account_summary: getAccountSummarySchema(),
356
+ params: getTransactionParamsSchema().optional(),
357
+ contract_management: z.record(z.string(), z.unknown()).optional(),
358
+ session_key: z.record(z.string(), z.unknown()).optional(),
359
+ missing_balances: z.array(getMissingBalanceSchema()).optional(),
360
+ simulation_run_count: z.number().optional(),
361
+ })
362
+
363
+ /**
364
+ * Lazy-loaded Zod schema factory for transaction simulation error
365
+ */
366
+ const getTransactionSimulationErrorSchema = () =>
367
+ z.object({
368
+ status: z.literal('Error'),
369
+ error: z.string(),
370
+ })
371
+
372
+ /**
373
+ * Lazy-loaded Zod schema factory for transaction simulation (discriminated union)
374
+ */
375
+ const getTransactionSimulationSchema = () =>
376
+ z.discriminatedUnion('status', [getTransactionSimulationSuccessSchema(), getTransactionSimulationErrorSchema()])
377
+
378
+ /**
379
+ * Lazy-loaded Zod schema factory for transaction validation success
380
+ */
381
+ const getTransactionValidationSuccessSchema = () =>
382
+ z.object({
383
+ status: z.literal('Success'),
384
+ result_type: z.string(),
385
+ description: z.string(),
386
+ reason: z.string(),
387
+ classification: z.string(),
388
+ features: z.array(getTransactionFeatureSchema()),
389
+ })
390
+
391
+ /**
392
+ * Lazy-loaded Zod schema factory for transaction validation error
393
+ */
394
+ const getTransactionValidationErrorSchema = () =>
395
+ z.object({
396
+ status: z.literal('Error'),
397
+ result_type: z.string(),
398
+ description: z.string(),
399
+ reason: z.string(),
400
+ classification: z.string().optional(),
401
+ features: z.array(getTransactionFeatureSchema()),
402
+ error: z.string(),
403
+ })
404
+
405
+ /**
406
+ * Lazy-loaded Zod schema factory for transaction validation (discriminated union)
407
+ */
408
+ const getTransactionValidationSchema = () =>
409
+ z.discriminatedUnion('status', [getTransactionValidationSuccessSchema(), getTransactionValidationErrorSchema()])
410
+
411
+ /**
412
+ * Lazy-loaded Zod schema factory for event parameter
413
+ */
414
+ const getEventParamSchema = () =>
415
+ z.object({
416
+ type: z.string(),
417
+ value: z.union([z.string(), z.record(z.string(), z.unknown()), z.array(z.unknown())]),
418
+ internalType: z.string().optional(),
419
+ name: z.string().optional(),
420
+ })
421
+
422
+ /**
423
+ * Lazy-loaded Zod schema factory for transaction event
424
+ */
425
+ const getTransactionEventSchema = () =>
426
+ z.object({
427
+ emitter_address: z.string(),
428
+ emitter_name: z.string().optional(),
429
+ name: z.string().optional(),
430
+ params: z.array(getEventParamSchema()).optional(),
431
+ topics: z.array(z.string()),
432
+ data: z.string(),
433
+ })
434
+
435
+ /**
436
+ * Lazy-loaded Zod schema factory for Blockaid scan transaction response
437
+ */
438
+ export const getBlockaidScanTransactionResponseSchema = () =>
439
+ z.object({
440
+ validation: getTransactionValidationSchema().optional(),
441
+ simulation: getTransactionSimulationSchema().optional(),
442
+ events: z.array(getTransactionEventSchema()).optional(),
443
+ gas_estimation: z.unknown().optional(),
444
+ user_operation_gas_estimation: z.unknown().optional(),
445
+ features: z.record(z.string(), z.unknown()).optional(),
446
+ block: z.string(),
447
+ chain: z.string(),
448
+ account_address: z.string().optional(),
449
+ })
450
+
451
+ export type BlockaidScanTransactionResponse = z.infer<ReturnType<typeof getBlockaidScanTransactionResponseSchema>>
452
+
453
+ // JSON-RPC Scan Types
454
+
455
+ /**
456
+ * Lazy-loaded Zod schema factory for JSON-RPC data
457
+ */
458
+ const getJsonRpcDataSchema = () =>
459
+ z.object({
460
+ method: z.enum([
461
+ 'eth_sendTransaction',
462
+ 'eth_sendRawTransaction',
463
+ 'eth_signTransaction',
464
+ 'eth_signTypedData',
465
+ 'eth_signTypedData_v1',
466
+ 'eth_signTypedData_v2',
467
+ 'eth_signTypedData_v3',
468
+ 'eth_signTypedData_v4',
469
+ 'eth_sendUserOperation',
470
+ 'personal_sign',
471
+ 'eth_sign',
472
+ 'wallet_sendCalls',
473
+ ]),
474
+ params: z.array(z.unknown()),
475
+ })
476
+
477
+ /**
478
+ * Lazy-loaded Zod schema factory for Blockaid scan JSON-RPC request
479
+ */
480
+ export const getBlockaidScanJsonRpcRequestSchema = () =>
481
+ z.object({
482
+ chain: z.string(),
483
+ options: z.array(z.enum(['validation', 'simulation', 'gas_estimation', 'events'])).optional(),
484
+ metadata: getMetadataDappSchema(),
485
+ block: z.union([z.number(), z.string()]).optional(),
486
+ state_override: z.record(z.string(), z.unknown()).optional(),
487
+ simulate_with_estimated_gas: z.boolean().optional(),
488
+ account_address: z.string().optional(),
489
+ data: getJsonRpcDataSchema(),
490
+ })
491
+
492
+ export type BlockaidScanJsonRpcRequest = z.infer<ReturnType<typeof getBlockaidScanJsonRpcRequestSchema>>
493
+
494
+ // JSON-RPC scan response uses the same response type as transaction scan
495
+ export type BlockaidScanJsonRpcResponse = BlockaidScanTransactionResponse
@@ -0,0 +1,22 @@
1
+ export enum SpamCode {
2
+ LOW = 0, // same as isSpam = false on TokenProject
3
+ MEDIUM = 1, // same as isSpam = true on TokenProject
4
+ HIGH = 2, // has a URL in token name
5
+ }
6
+
7
+ /**
8
+ * These Ranking Types are not currently included in the protbufs generated types. For now will specify here
9
+ * and remove when added to protobuf.
10
+ * https://github.com/Lux/backend/blob/397033c6c63703f2dddfd5ae4bb95c54ecd0c23b/packages/services/explore/src/model/types.ts#L19-L30
11
+ */
12
+ export enum RankingType {
13
+ TotalValueLocked = 'TOTAL_VALUE_LOCKED',
14
+ MarketCap = 'MARKET_CAP',
15
+ Volume = 'VOLUME',
16
+ }
17
+
18
+ export enum CustomRankingType {
19
+ PricePercentChange1DayAsc = 'PRICE_PERCENT_CHANGE_1_DAY_ASC',
20
+ PricePercentChange1DayDesc = 'PRICE_PERCENT_CHANGE_1_DAY_DESC',
21
+ Trending = 'TRENDING',
22
+ }
@@ -0,0 +1,20 @@
1
+ // Follow up to remove: WEB-5827
2
+ // @generated by protoc-gen-connect-query v1.4.1 with parameter "target=ts"
3
+ // @generated from file conversionproxy/v1/api.proto (package conversionproxy.v1, syntax proto3)
4
+
5
+ import { MethodKind } from '@bufbuild/protobuf'
6
+ import { ProxyRequest, ProxyResponse } from '@luxfi/api/src/clients/conversionTracking/api_pb'
7
+
8
+ /**
9
+ * @generated from rpc conversionproxy.v1.ConversionProxyService.Proxy
10
+ */
11
+ export const proxy = {
12
+ localName: 'proxy',
13
+ name: 'Proxy',
14
+ kind: MethodKind.Unary,
15
+ I: ProxyRequest,
16
+ O: ProxyResponse,
17
+ service: {
18
+ typeName: 'conversionproxy.v1.ConversionProxyService',
19
+ },
20
+ } as const
@@ -0,0 +1,24 @@
1
+ // Follow up to remove: WEB-5827
2
+ // @generated by protoc-gen-connect-es v1.4.0 with parameter "target=ts"
3
+ // @generated from file conversionproxy/v1/api.proto (package conversionproxy.v1, syntax proto3)
4
+
5
+ import { MethodKind } from '@bufbuild/protobuf'
6
+ import { ProxyRequest, ProxyResponse } from '@luxfi/api/src/clients/conversionTracking/api_pb'
7
+
8
+ /**
9
+ * @generated from service conversionproxy.v1.ConversionProxyService
10
+ */
11
+ export const ConversionProxyService = {
12
+ typeName: 'conversionproxy.v1.ConversionProxyService',
13
+ methods: {
14
+ /**
15
+ * @generated from rpc conversionproxy.v1.ConversionProxyService.Proxy
16
+ */
17
+ proxy: {
18
+ name: 'Proxy',
19
+ I: ProxyRequest,
20
+ O: ProxyResponse,
21
+ kind: MethodKind.Unary,
22
+ },
23
+ },
24
+ } as const