@luxexchange/api 1.0.2 → 1.0.3
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.
- package/.depcheckrc +16 -0
- package/.eslintrc.js +30 -0
- package/package.json +12 -15
- package/project.json +2 -2
- package/src/clients/auctions/createAuctionServiceClient.ts +2 -2
- package/src/clients/base/SharedQueryClient.ts +3 -3
- package/src/clients/base/auth.ts +1 -1
- package/src/clients/base/createFetchClient.ts +2 -2
- package/src/clients/base/types.ts +1 -1
- package/src/clients/base/urls.test.ts +43 -43
- package/src/clients/base/urls.ts +22 -14
- package/src/clients/base/utils.ts +1 -1
- package/src/clients/blockaid/createBlockaidApiClient.ts +3 -3
- package/src/clients/content/types.ts +1 -1
- package/src/clients/conversionTracking/api-ConversionProxyService_connectquery.ts +1 -1
- package/src/clients/conversionTracking/api_connect.ts +1 -1
- package/src/clients/conversionTracking/index.ts +3 -3
- package/src/clients/data/createDataServiceApiClient.ts +2 -2
- package/src/clients/dataApi/createDataApiServiceClient.ts +2 -2
- package/src/clients/dataApi/getGetPortfolioQueryOptions.test.ts +2 -2
- package/src/clients/dataApi/getGetPortfolioQueryOptions.ts +3 -3
- package/src/clients/embeddedWallet/createEmbeddedWalletApiClient.ts +5 -5
- package/src/clients/for/createForApiClient.ts +1 -1
- package/src/clients/for/types.ts +1 -1
- package/src/clients/for/utils.ts +1 -1
- package/src/clients/gasService/createGasServiceClient.ts +2 -2
- package/src/clients/graphql/codegen.config.ts +1 -1
- package/src/clients/graphql/fragments.ts +3 -3
- package/src/clients/graphql/generated.ts +3 -0
- package/src/clients/graphql/web/{LuxPrices.graphql → UniswapPrices.graphql} +1 -1
- package/src/clients/jupiter/createJupiterApiClient.ts +3 -3
- package/src/clients/jupiter/utils.ts +1 -1
- package/src/clients/liquidity/createAuctionMutationClient.ts +2 -2
- package/src/clients/liquidity/createLiquidityServiceClient.ts +2 -2
- package/src/clients/lux/createLuxApiClient.ts +3 -3
- package/src/clients/notifications/createNotificationsApiClient.ts +4 -4
- package/src/clients/notifications/types.ts +9 -9
- package/src/clients/trading/createTradingApiClient.ts +2 -2
- package/src/clients/trading/tradeTypes.ts +2 -2
- package/src/clients/trading/types.ts +2 -2
- package/src/clients/uniswap/createUniswapApiClient.ts +83 -0
- package/src/clients/unitags/createUnitagsApiClient.test.ts +7 -7
- package/src/clients/unitags/createUnitagsApiClient.ts +1 -1
- package/src/clients/x/createXVerificationServiceClient.ts +2 -2
- package/src/components/ApiInit.test.tsx +13 -13
- package/src/components/ApiInit.tsx +2 -2
- package/src/connectRpc/utils.ts +5 -5
- package/src/getEntryGatewayUrl.ts +3 -3
- package/src/getWebSocketUrl.ts +1 -1
- package/src/hooks/shared/useQueryWithImmediateGarbageCollection.ts +1 -1
- package/src/index.ts +14 -12
- package/src/provideDeviceIdService.ts +3 -3
- package/src/provideLuxIdentifierService.ts +2 -25
- package/src/provideSessionService.native.ts +9 -9
- package/src/provideSessionService.ts +5 -5
- package/src/provideSessionService.web.ts +11 -11
- package/src/provideSessionStorage.ts +3 -3
- package/src/provideUniswapIdentifierService.ts +25 -0
- package/src/session/createSessionTransport.test.ts +1 -1
- package/src/session/createSessionTransport.ts +6 -6
- package/src/storage/createExtensionStorageDriver.ts +2 -2
- package/src/storage/createNativeStorageDriver.ts +1 -1
- package/src/storage/createWebStorageDriver.ts +1 -1
- package/src/storage/getStorageDriver.native.ts +2 -2
- package/src/storage/getStorageDriver.ts +3 -3
- package/src/storage/getStorageDriver.web.ts +4 -4
- package/src/transport.ts +3 -3
- package/stubs/privy-service-connect.d.ts +1 -1
- package/stubs/privy-service-pb.d.ts +1 -1
- package/tsconfig.json +12 -4
- package/dist/client.d.ts +0 -22
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -56
- package/dist/hooks/index.d.ts +0 -6
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -5
- package/dist/hooks/use-token-list.d.ts +0 -22
- package/dist/hooks/use-token-list.d.ts.map +0 -1
- package/dist/hooks/use-token-list.js +0 -27
- package/dist/hooks/use-token-price.d.ts +0 -15
- package/dist/hooks/use-token-price.d.ts.map +0 -1
- package/dist/hooks/use-token-price.js +0 -63
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -5
- package/src/client.ts +0 -66
- package/src/clients/graphql/__generated__/operations.ts +0 -605
- package/src/clients/graphql/__generated__/react-hooks.ts +0 -4245
- package/src/clients/graphql/__generated__/resolvers.ts +0 -1469
- package/src/clients/graphql/__generated__/schema-types.ts +0 -2099
- package/src/clients/trading/__generated__/core/ApiError.ts +0 -25
- package/src/clients/trading/__generated__/core/ApiRequestOptions.ts +0 -17
- package/src/clients/trading/__generated__/core/ApiResult.ts +0 -11
- package/src/clients/trading/__generated__/core/CancelablePromise.ts +0 -131
- package/src/clients/trading/__generated__/core/OpenAPI.ts +0 -32
- package/src/clients/trading/__generated__/core/request.ts +0 -322
- package/src/clients/trading/__generated__/index.ts +0 -221
- package/src/clients/trading/__generated__/models/Address.ts +0 -5
- package/src/clients/trading/__generated__/models/AggregatedOutput.ts +0 -20
- package/src/clients/trading/__generated__/models/ApprovalRequest.ts +0 -25
- package/src/clients/trading/__generated__/models/ApprovalResponse.ts +0 -18
- package/src/clients/trading/__generated__/models/AutoSlippage.ts +0 -14
- package/src/clients/trading/__generated__/models/BridgeQuote.ts +0 -55
- package/src/clients/trading/__generated__/models/ChainDelegationMap.ts +0 -9
- package/src/clients/trading/__generated__/models/ChainId.ts +0 -29
- package/src/clients/trading/__generated__/models/ChainedQuote.ts +0 -63
- package/src/clients/trading/__generated__/models/CheckApprovalLPRequest.ts +0 -35
- package/src/clients/trading/__generated__/models/CheckApprovalLPResponse.ts +0 -29
- package/src/clients/trading/__generated__/models/ClaimLPFeesRequest.ts +0 -20
- package/src/clients/trading/__generated__/models/ClaimLPFeesResponse.ts +0 -13
- package/src/clients/trading/__generated__/models/ClaimLPRewardsRequest.ts +0 -19
- package/src/clients/trading/__generated__/models/ClaimLPRewardsResponse.ts +0 -13
- package/src/clients/trading/__generated__/models/ClassicGasUseEstimateUSD.ts +0 -8
- package/src/clients/trading/__generated__/models/ClassicInput.ts +0 -11
- package/src/clients/trading/__generated__/models/ClassicOutput.ts +0 -13
- package/src/clients/trading/__generated__/models/ClassicQuote.ts +0 -69
- package/src/clients/trading/__generated__/models/ClientContext.ts +0 -18
- package/src/clients/trading/__generated__/models/CosignerData.ts +0 -21
- package/src/clients/trading/__generated__/models/CreateLPPositionRequest.ts +0 -40
- package/src/clients/trading/__generated__/models/CreateLPPositionResponse.ts +0 -21
- package/src/clients/trading/__generated__/models/CreatePlanRequest.ts +0 -23
- package/src/clients/trading/__generated__/models/CreateSendRequest.ts +0 -22
- package/src/clients/trading/__generated__/models/CreateSendResponse.ts +0 -18
- package/src/clients/trading/__generated__/models/CreateSwap5792Request.ts +0 -17
- package/src/clients/trading/__generated__/models/CreateSwap5792Response.ts +0 -17
- package/src/clients/trading/__generated__/models/CreateSwap7702Request.ts +0 -21
- package/src/clients/trading/__generated__/models/CreateSwap7702Response.ts +0 -13
- package/src/clients/trading/__generated__/models/CreateSwapRequest.ts +0 -42
- package/src/clients/trading/__generated__/models/CreateSwapResponse.ts +0 -16
- package/src/clients/trading/__generated__/models/Curve.ts +0 -9
- package/src/clients/trading/__generated__/models/DEXOrder.ts +0 -35
- package/src/clients/trading/__generated__/models/DecreaseLPPositionRequest.ts +0 -33
- package/src/clients/trading/__generated__/models/DecreaseLPPositionResponse.ts +0 -19
- package/src/clients/trading/__generated__/models/DelegationDetails.ts +0 -19
- package/src/clients/trading/__generated__/models/Distributor.ts +0 -10
- package/src/clients/trading/__generated__/models/DutchInput.ts +0 -13
- package/src/clients/trading/__generated__/models/DutchInputV3.ts +0 -15
- package/src/clients/trading/__generated__/models/DutchOrderInfo.ts +0 -41
- package/src/clients/trading/__generated__/models/DutchOrderInfoV2.ts +0 -27
- package/src/clients/trading/__generated__/models/DutchOrderInfoV3.ts +0 -28
- package/src/clients/trading/__generated__/models/DutchOutput.ts +0 -15
- package/src/clients/trading/__generated__/models/DutchOutputV3.ts +0 -18
- package/src/clients/trading/__generated__/models/DutchQuote.ts +0 -27
- package/src/clients/trading/__generated__/models/DutchQuoteV2.ts +0 -28
- package/src/clients/trading/__generated__/models/DutchQuoteV3.ts +0 -30
- package/src/clients/trading/__generated__/models/Encode7702ResponseBody.ts +0 -11
- package/src/clients/trading/__generated__/models/Err400.ts +0 -9
- package/src/clients/trading/__generated__/models/Err401.ts +0 -9
- package/src/clients/trading/__generated__/models/Err404.ts +0 -17
- package/src/clients/trading/__generated__/models/Err422.ts +0 -9
- package/src/clients/trading/__generated__/models/Err429.ts +0 -9
- package/src/clients/trading/__generated__/models/Err500.ts +0 -9
- package/src/clients/trading/__generated__/models/Err504.ts +0 -9
- package/src/clients/trading/__generated__/models/GasStrategy.ts +0 -46
- package/src/clients/trading/__generated__/models/GetOrdersResponse.ts +0 -12
- package/src/clients/trading/__generated__/models/GetSwappableTokensResponse.ts +0 -29
- package/src/clients/trading/__generated__/models/GetSwapsResponse.ts +0 -18
- package/src/clients/trading/__generated__/models/HooksOptions.ts +0 -12
- package/src/clients/trading/__generated__/models/IncreaseLPPositionRequest.ts +0 -39
- package/src/clients/trading/__generated__/models/IncreaseLPPositionResponse.ts +0 -21
- package/src/clients/trading/__generated__/models/IndependentToken.ts +0 -8
- package/src/clients/trading/__generated__/models/IndicativeQuoteRequest.ts +0 -18
- package/src/clients/trading/__generated__/models/IndicativeQuoteResponse.ts +0 -14
- package/src/clients/trading/__generated__/models/IndicativeQuoteToken.ts +0 -13
- package/src/clients/trading/__generated__/models/LimitOrderQuoteRequest.ts +0 -22
- package/src/clients/trading/__generated__/models/LimitOrderQuoteResponse.ts +0 -19
- package/src/clients/trading/__generated__/models/MigrateLPPositionRequest.ts +0 -41
- package/src/clients/trading/__generated__/models/MigrateLPPositionResponse.ts +0 -13
- package/src/clients/trading/__generated__/models/NullablePermit.ts +0 -13
- package/src/clients/trading/__generated__/models/OrderIds.ts +0 -5
- package/src/clients/trading/__generated__/models/OrderInput.ts +0 -13
- package/src/clients/trading/__generated__/models/OrderOutput.ts +0 -16
- package/src/clients/trading/__generated__/models/OrderRequest.ts +0 -17
- package/src/clients/trading/__generated__/models/OrderResponse.ts +0 -13
- package/src/clients/trading/__generated__/models/OrderStatus.ts +0 -23
- package/src/clients/trading/__generated__/models/OrderType.ts +0 -11
- package/src/clients/trading/__generated__/models/OrderTypeQuery.ts +0 -12
- package/src/clients/trading/__generated__/models/Permit.ts +0 -13
- package/src/clients/trading/__generated__/models/PermitAmount.ts +0 -11
- package/src/clients/trading/__generated__/models/PlanResponse.ts +0 -75
- package/src/clients/trading/__generated__/models/PlanStatus.ts +0 -14
- package/src/clients/trading/__generated__/models/PlanStep.ts +0 -59
- package/src/clients/trading/__generated__/models/PlanStepMethod.ts +0 -12
- package/src/clients/trading/__generated__/models/PlanStepPayloadType.ts +0 -12
- package/src/clients/trading/__generated__/models/PlanStepProof.ts +0 -20
- package/src/clients/trading/__generated__/models/PlanStepStatus.ts +0 -14
- package/src/clients/trading/__generated__/models/PlanStepType.ts +0 -23
- package/src/clients/trading/__generated__/models/Pool.ts +0 -15
- package/src/clients/trading/__generated__/models/PoolInfoRequest.ts +0 -20
- package/src/clients/trading/__generated__/models/PoolInfoResponse.ts +0 -16
- package/src/clients/trading/__generated__/models/PoolInformation.ts +0 -44
- package/src/clients/trading/__generated__/models/PoolParameters.ts +0 -19
- package/src/clients/trading/__generated__/models/PoolReferenceByProtocol.ts +0 -12
- package/src/clients/trading/__generated__/models/Position.ts +0 -11
- package/src/clients/trading/__generated__/models/PriorityInput.ts +0 -12
- package/src/clients/trading/__generated__/models/PriorityOrderInfo.ts +0 -29
- package/src/clients/trading/__generated__/models/PriorityOutput.ts +0 -17
- package/src/clients/trading/__generated__/models/PriorityQuote.ts +0 -31
- package/src/clients/trading/__generated__/models/ProtocolItems.ts +0 -15
- package/src/clients/trading/__generated__/models/Protocols.ts +0 -9
- package/src/clients/trading/__generated__/models/Quote.ts +0 -14
- package/src/clients/trading/__generated__/models/QuoteRequest.ts +0 -41
- package/src/clients/trading/__generated__/models/QuoteResponse.ts +0 -19
- package/src/clients/trading/__generated__/models/RequestId.ts +0 -8
- package/src/clients/trading/__generated__/models/Routing.ts +0 -20
- package/src/clients/trading/__generated__/models/RoutingPreference.ts +0 -16
- package/src/clients/trading/__generated__/models/SafetyLevel.ts +0 -10
- package/src/clients/trading/__generated__/models/ScopeData.ts +0 -28
- package/src/clients/trading/__generated__/models/SettledAmount.ts +0 -14
- package/src/clients/trading/__generated__/models/SortKey.ts +0 -7
- package/src/clients/trading/__generated__/models/SpreadOptimization.ts +0 -11
- package/src/clients/trading/__generated__/models/StepUpdate.ts +0 -25
- package/src/clients/trading/__generated__/models/SwapSafetyMode.ts +0 -10
- package/src/clients/trading/__generated__/models/SwapStatus.ts +0 -11
- package/src/clients/trading/__generated__/models/TokenInRoute.ts +0 -20
- package/src/clients/trading/__generated__/models/TokenProject.ts +0 -13
- package/src/clients/trading/__generated__/models/TokenProjectLogo.ts +0 -8
- package/src/clients/trading/__generated__/models/TradeType.ts +0 -11
- package/src/clients/trading/__generated__/models/TransactionFailureReason.ts +0 -11
- package/src/clients/trading/__generated__/models/TransactionHash.ts +0 -8
- package/src/clients/trading/__generated__/models/TransactionRequest.ts +0 -29
- package/src/clients/trading/__generated__/models/TransactionRequest5792.ts +0 -25
- package/src/clients/trading/__generated__/models/TruncatedPlanStep.ts +0 -21
- package/src/clients/trading/__generated__/models/UniversalRouterVersion.ts +0 -8
- package/src/clients/trading/__generated__/models/UpdatePlanRequest.ts +0 -12
- package/src/clients/trading/__generated__/models/Urgency.ts +0 -12
- package/src/clients/trading/__generated__/models/V2PoolInRoute.ts +0 -19
- package/src/clients/trading/__generated__/models/V2Reserve.ts +0 -16
- package/src/clients/trading/__generated__/models/V3PoolInRoute.ts +0 -24
- package/src/clients/trading/__generated__/models/V4PoolInRoute.ts +0 -30
- package/src/clients/trading/__generated__/models/WalletCheckDelegationRequestBody.ts +0 -17
- package/src/clients/trading/__generated__/models/WalletCheckDelegationResponseBody.ts +0 -14
- package/src/clients/trading/__generated__/models/WalletEncode7702RequestBody.ts +0 -21
- package/src/clients/trading/__generated__/models/WalletExecutionContext.ts +0 -17
- package/src/clients/trading/__generated__/models/WalletInfo.ts +0 -22
- package/src/clients/trading/__generated__/models/WalletProperties.ts +0 -12
- package/src/clients/trading/__generated__/models/WrapUnwrapQuote.ts +0 -31
- package/src/clients/trading/__generated__/models/additionalValidationContract.ts +0 -9
- package/src/clients/trading/__generated__/models/additionalValidationData.ts +0 -9
- package/src/clients/trading/__generated__/models/bps.ts +0 -8
- package/src/clients/trading/__generated__/models/bpsFee.ts +0 -8
- package/src/clients/trading/__generated__/models/bridgeTokenInChainIdParam.ts +0 -6
- package/src/clients/trading/__generated__/models/chainIdParam.ts +0 -6
- package/src/clients/trading/__generated__/models/claimerWalletAddress.ts +0 -8
- package/src/clients/trading/__generated__/models/contractAddress.ts +0 -8
- package/src/clients/trading/__generated__/models/cosignerAddress.ts +0 -8
- package/src/clients/trading/__generated__/models/cursorParam.ts +0 -5
- package/src/clients/trading/__generated__/models/deadline.ts +0 -8
- package/src/clients/trading/__generated__/models/encodedOrder.ts +0 -8
- package/src/clients/trading/__generated__/models/endAmount.ts +0 -8
- package/src/clients/trading/__generated__/models/erc20EthEnabledHeader.ts +0 -8
- package/src/clients/trading/__generated__/models/fillerParam.ts +0 -9
- package/src/clients/trading/__generated__/models/gasFee.ts +0 -8
- package/src/clients/trading/__generated__/models/gasFeeInCurrency.ts +0 -8
- package/src/clients/trading/__generated__/models/gasFeeUSD.ts +0 -8
- package/src/clients/trading/__generated__/models/gasLimit.ts +0 -8
- package/src/clients/trading/__generated__/models/gasPrice.ts +0 -8
- package/src/clients/trading/__generated__/models/generatePermitAsTransaction.ts +0 -8
- package/src/clients/trading/__generated__/models/includeGasInfo.ts +0 -8
- package/src/clients/trading/__generated__/models/inputToken.ts +0 -8
- package/src/clients/trading/__generated__/models/isSpam.ts +0 -8
- package/src/clients/trading/__generated__/models/limitParam.ts +0 -5
- package/src/clients/trading/__generated__/models/liquidity.ts +0 -8
- package/src/clients/trading/__generated__/models/lpPoolFee.ts +0 -8
- package/src/clients/trading/__generated__/models/lpTickCurrent.ts +0 -8
- package/src/clients/trading/__generated__/models/maxFeePerGas.ts +0 -8
- package/src/clients/trading/__generated__/models/maxPriorityFeePerGas.ts +0 -8
- package/src/clients/trading/__generated__/models/minAmount.ts +0 -8
- package/src/clients/trading/__generated__/models/nonce.ts +0 -8
- package/src/clients/trading/__generated__/models/orderId.ts +0 -8
- package/src/clients/trading/__generated__/models/orderIdParam.ts +0 -6
- package/src/clients/trading/__generated__/models/orderIdsParam.ts +0 -9
- package/src/clients/trading/__generated__/models/orderStatusParam.ts +0 -9
- package/src/clients/trading/__generated__/models/orderTypeParam.ts +0 -9
- package/src/clients/trading/__generated__/models/outputToken.ts +0 -8
- package/src/clients/trading/__generated__/models/poolFee.ts +0 -8
- package/src/clients/trading/__generated__/models/portionAmount.ts +0 -8
- package/src/clients/trading/__generated__/models/portionAmountReceiverAddress.ts +0 -8
- package/src/clients/trading/__generated__/models/portionBips.ts +0 -8
- package/src/clients/trading/__generated__/models/quoteId.ts +0 -8
- package/src/clients/trading/__generated__/models/receiverWalletAddress.ts +0 -8
- package/src/clients/trading/__generated__/models/senderWalletAddress.ts +0 -8
- package/src/clients/trading/__generated__/models/slippageTolerance.ts +0 -14
- package/src/clients/trading/__generated__/models/sortKeyParam.ts +0 -9
- package/src/clients/trading/__generated__/models/sortParam.ts +0 -8
- package/src/clients/trading/__generated__/models/sqrtRatioX96.ts +0 -8
- package/src/clients/trading/__generated__/models/startAmount.ts +0 -8
- package/src/clients/trading/__generated__/models/swapperParam.ts +0 -9
- package/src/clients/trading/__generated__/models/tickCurrent.ts +0 -8
- package/src/clients/trading/__generated__/models/tickSpacing.ts +0 -8
- package/src/clients/trading/__generated__/models/tokenAmount.ts +0 -8
- package/src/clients/trading/__generated__/models/tokenInParam.ts +0 -6
- package/src/clients/trading/__generated__/models/tokenSymbol.ts +0 -8
- package/src/clients/trading/__generated__/models/transactionHashesParam.ts +0 -9
- package/src/clients/trading/__generated__/models/universalRouterVersionHeader.ts +0 -9
- package/src/clients/trading/__generated__/services/ApprovalService.ts +0 -39
- package/src/clients/trading/__generated__/services/DefaultService.ts +0 -46
- package/src/clients/trading/__generated__/services/IndicativeQuoteService.ts +0 -39
- package/src/clients/trading/__generated__/services/LimitOrderQuoteService.ts +0 -37
- package/src/clients/trading/__generated__/services/LiquidityService.ts +0 -239
- package/src/clients/trading/__generated__/services/OrderService.ts +0 -131
- package/src/clients/trading/__generated__/services/PlanService.ts +0 -76
- package/src/clients/trading/__generated__/services/QuoteService.ts +0 -58
- package/src/clients/trading/__generated__/services/SendService.ts +0 -37
- package/src/clients/trading/__generated__/services/SwapService.ts +0 -161
- package/src/clients/trading/__generated__/services/SwappableTokensService.ts +0 -42
- package/src/clients/trading/__generated__/services/WalletCheckDelegationService.ts +0 -37
- package/src/clients/trading/__generated__/services/WalletEncode7702Service.ts +0 -37
- package/src/hooks/index.ts +0 -6
- package/src/hooks/use-token-list.ts +0 -52
- package/src/hooks/use-token-price.ts +0 -82
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getStorageDriver } from '@
|
|
2
|
-
import { createDeviceIdService, DeviceIdService } from '@
|
|
1
|
+
import { getStorageDriver } from '@luxexchange/api/src/storage/getStorageDriver'
|
|
2
|
+
import { createDeviceIdService, DeviceIdService } from '@luxexchange/sessions'
|
|
3
3
|
|
|
4
|
-
const DEVICE_ID_KEY = '
|
|
4
|
+
const DEVICE_ID_KEY = 'LX_DEVICE_ID'
|
|
5
5
|
|
|
6
6
|
function provideDeviceIdService(): DeviceIdService {
|
|
7
7
|
const driver = getStorageDriver()
|
|
@@ -1,25 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const LUX_IDENTIFIER_KEY = 'LUX_IDENTIFIER'
|
|
5
|
-
|
|
6
|
-
function provideLuxIdentifierService(): LuxIdentifierService {
|
|
7
|
-
const driver = getStorageDriver()
|
|
8
|
-
|
|
9
|
-
const service = createLuxIdentifierService({
|
|
10
|
-
getLuxIdentifier: async () => {
|
|
11
|
-
const identifier = await driver.get(LUX_IDENTIFIER_KEY)
|
|
12
|
-
return identifier || null
|
|
13
|
-
},
|
|
14
|
-
setLuxIdentifier: async (identifier: string) => {
|
|
15
|
-
await driver.set(LUX_IDENTIFIER_KEY, identifier)
|
|
16
|
-
},
|
|
17
|
-
removeLuxIdentifier: async () => {
|
|
18
|
-
await driver.remove(LUX_IDENTIFIER_KEY)
|
|
19
|
-
},
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
return service
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export { provideLuxIdentifierService }
|
|
1
|
+
// Re-export for Lux branding — delegates to the upstream implementation
|
|
2
|
+
export { provideLxIdentifierService as provideLuxIdentifierService } from '@luxexchange/api/src/provideLxIdentifierService'
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { provideDeviceIdService } from '@
|
|
2
|
-
import { provideSessionStorage } from '@
|
|
3
|
-
import {
|
|
4
|
-
import { getTransport } from '@
|
|
1
|
+
import { provideDeviceIdService } from '@luxexchange/api/src/provideDeviceIdService'
|
|
2
|
+
import { provideSessionStorage } from '@luxexchange/api/src/provideSessionStorage'
|
|
3
|
+
import { provideLxIdentifierService } from '@luxexchange/api/src/provideLxIdentifierService'
|
|
4
|
+
import { getTransport } from '@luxexchange/api/src/transport'
|
|
5
5
|
import {
|
|
6
6
|
createNoopSessionService,
|
|
7
7
|
createSessionClient,
|
|
8
8
|
createSessionRepository,
|
|
9
9
|
createSessionService,
|
|
10
10
|
type SessionService,
|
|
11
|
-
} from '@
|
|
12
|
-
import type { Logger } from '
|
|
13
|
-
import { REQUEST_SOURCE } from '
|
|
11
|
+
} from '@luxexchange/sessions'
|
|
12
|
+
import type { Logger } from 'utilities/src/logger/logger'
|
|
13
|
+
import { REQUEST_SOURCE } from 'utilities/src/platform/requestSource'
|
|
14
14
|
|
|
15
15
|
function provideSessionService(ctx: {
|
|
16
16
|
getBaseUrl: () => string
|
|
@@ -33,12 +33,12 @@ function getMobileSessionService(ctx: { getBaseUrl: () => string; getLogger?: ()
|
|
|
33
33
|
|
|
34
34
|
const sessionStorage = provideSessionStorage()
|
|
35
35
|
const deviceIdService = provideDeviceIdService()
|
|
36
|
-
const
|
|
36
|
+
const lxIdentifierService = provideLxIdentifierService()
|
|
37
37
|
const sessionRepository = createSessionRepository({ client: sessionClient, getLogger: ctx.getLogger })
|
|
38
38
|
return createSessionService({
|
|
39
39
|
sessionStorage,
|
|
40
40
|
deviceIdService,
|
|
41
|
-
|
|
41
|
+
lxIdentifierService,
|
|
42
42
|
sessionRepository,
|
|
43
43
|
})
|
|
44
44
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { SessionService,
|
|
2
|
-
import { PlatformSplitStubError } from '
|
|
3
|
-
import type { Logger } from '
|
|
1
|
+
import type { SessionService, LxIdentifierService } from '@luxexchange/sessions'
|
|
2
|
+
import { PlatformSplitStubError } from 'utilities/src/errors'
|
|
3
|
+
import type { Logger } from 'utilities/src/logger/logger'
|
|
4
4
|
|
|
5
5
|
export function provideSessionService(_ctx: {
|
|
6
6
|
getBaseUrl: () => string
|
|
7
7
|
getIsSessionServiceEnabled: () => boolean
|
|
8
8
|
getLogger?: () => Logger
|
|
9
|
-
/** Optional custom
|
|
10
|
-
|
|
9
|
+
/** Optional custom LxIdentifierService. If not provided, uses default localStorage-based service. */
|
|
10
|
+
lxIdentifierService?: LxIdentifierService
|
|
11
11
|
}): SessionService {
|
|
12
12
|
throw new PlatformSplitStubError('provideSessionService')
|
|
13
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { provideDeviceIdService } from '@luxexchange/api/src/provideDeviceIdService'
|
|
2
2
|
import { provideSessionStorage } from '@luxexchange/api/src/provideSessionStorage'
|
|
3
|
-
import {
|
|
3
|
+
import { provideLxIdentifierService } from '@luxexchange/api/src/provideLxIdentifierService'
|
|
4
4
|
import { getTransport } from '@luxexchange/api/src/transport'
|
|
5
5
|
import {
|
|
6
6
|
createNoopSessionService,
|
|
@@ -8,18 +8,18 @@ import {
|
|
|
8
8
|
createSessionRepository,
|
|
9
9
|
createSessionService,
|
|
10
10
|
type SessionService,
|
|
11
|
-
type
|
|
11
|
+
type LxIdentifierService,
|
|
12
12
|
} from '@luxexchange/sessions'
|
|
13
|
-
import type { Logger } from '
|
|
14
|
-
import { isWebApp } from '
|
|
15
|
-
import { REQUEST_SOURCE } from '
|
|
13
|
+
import type { Logger } from 'utilities/src/logger/logger'
|
|
14
|
+
import { isWebApp } from 'utilities/src/platform'
|
|
15
|
+
import { REQUEST_SOURCE } from 'utilities/src/platform/requestSource'
|
|
16
16
|
|
|
17
17
|
function provideSessionService(ctx: {
|
|
18
18
|
getBaseUrl: () => string
|
|
19
19
|
getIsSessionServiceEnabled: () => boolean
|
|
20
20
|
getLogger?: () => Logger
|
|
21
|
-
/** Optional custom
|
|
22
|
-
|
|
21
|
+
/** Optional custom LxIdentifierService. If not provided, uses default localStorage-based service. */
|
|
22
|
+
lxIdentifierService?: LxIdentifierService
|
|
23
23
|
}): SessionService {
|
|
24
24
|
if (!ctx.getIsSessionServiceEnabled()) {
|
|
25
25
|
return createNoopSessionService()
|
|
@@ -40,7 +40,7 @@ function provideSessionService(ctx: {
|
|
|
40
40
|
function getWebAppSessionService(ctx: {
|
|
41
41
|
getBaseUrl: () => string
|
|
42
42
|
getLogger?: () => Logger
|
|
43
|
-
|
|
43
|
+
lxIdentifierService?: LxIdentifierService
|
|
44
44
|
}): SessionService {
|
|
45
45
|
const sessionClient = createSessionClient({
|
|
46
46
|
transport: getTransport({
|
|
@@ -57,7 +57,7 @@ function getWebAppSessionService(ctx: {
|
|
|
57
57
|
return createSessionService({
|
|
58
58
|
sessionStorage: provideSessionStorage(),
|
|
59
59
|
deviceIdService: provideDeviceIdService(),
|
|
60
|
-
|
|
60
|
+
lxIdentifierService: ctx.lxIdentifierService ?? provideLxIdentifierService(),
|
|
61
61
|
sessionRepository,
|
|
62
62
|
})
|
|
63
63
|
}
|
|
@@ -65,7 +65,7 @@ function getWebAppSessionService(ctx: {
|
|
|
65
65
|
function getExtensionSessionService(ctx: {
|
|
66
66
|
getBaseUrl: () => string
|
|
67
67
|
getLogger?: () => Logger
|
|
68
|
-
|
|
68
|
+
lxIdentifierService?: LxIdentifierService
|
|
69
69
|
}): SessionService {
|
|
70
70
|
const sessionClient = createSessionClient({
|
|
71
71
|
transport: getTransport({
|
|
@@ -79,7 +79,7 @@ function getExtensionSessionService(ctx: {
|
|
|
79
79
|
return createSessionService({
|
|
80
80
|
sessionStorage: provideSessionStorage(),
|
|
81
81
|
deviceIdService: provideDeviceIdService(),
|
|
82
|
-
|
|
82
|
+
lxIdentifierService: ctx.lxIdentifierService ?? provideLxIdentifierService(),
|
|
83
83
|
sessionRepository,
|
|
84
84
|
})
|
|
85
85
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getStorageDriver } from '@
|
|
2
|
-
import { createSessionStorage, type SessionStorage } from '@
|
|
1
|
+
import { getStorageDriver } from '@luxexchange/api/src/storage/getStorageDriver'
|
|
2
|
+
import { createSessionStorage, type SessionStorage } from '@luxexchange/sessions'
|
|
3
3
|
|
|
4
|
-
const SESSION_ID_KEY = '
|
|
4
|
+
const SESSION_ID_KEY = 'LX_SESSION_ID'
|
|
5
5
|
|
|
6
6
|
function provideSessionStorage(): SessionStorage {
|
|
7
7
|
const driver = getStorageDriver()
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getStorageDriver } from '@luxexchange/api/src/storage/getStorageDriver'
|
|
2
|
+
import { createLxIdentifierService, LxIdentifierService } from '@luxexchange/sessions'
|
|
3
|
+
|
|
4
|
+
const LX_IDENTIFIER_KEY = 'LX_IDENTIFIER'
|
|
5
|
+
|
|
6
|
+
function provideLxIdentifierService(): LxIdentifierService {
|
|
7
|
+
const driver = getStorageDriver()
|
|
8
|
+
|
|
9
|
+
const service = createLxIdentifierService({
|
|
10
|
+
getLxIdentifier: async () => {
|
|
11
|
+
const identifier = await driver.get(LX_IDENTIFIER_KEY)
|
|
12
|
+
return identifier || null
|
|
13
|
+
},
|
|
14
|
+
setLxIdentifier: async (identifier: string) => {
|
|
15
|
+
await driver.set(LX_IDENTIFIER_KEY, identifier)
|
|
16
|
+
},
|
|
17
|
+
removeLxIdentifier: async () => {
|
|
18
|
+
await driver.remove(LX_IDENTIFIER_KEY)
|
|
19
|
+
},
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
return service
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { provideLxIdentifierService }
|
|
@@ -8,7 +8,7 @@ export interface CreateSessionTransportOptions {
|
|
|
8
8
|
/** Entry gateway URL */
|
|
9
9
|
baseUrl: string
|
|
10
10
|
|
|
11
|
-
/** Static headers to include in all requests (e.g., x-request-source, x-
|
|
11
|
+
/** Static headers to include in all requests (e.g., x-request-source, x-uniswap-timezone) */
|
|
12
12
|
headers?: Record<string, string>
|
|
13
13
|
|
|
14
14
|
/** Cookie header for SSR forwarding */
|
|
@@ -40,8 +40,8 @@ export interface CreateSessionTransportOptions {
|
|
|
40
40
|
* baseUrl: entryGatewayUrl,
|
|
41
41
|
* credentials: 'include',
|
|
42
42
|
* headers: {
|
|
43
|
-
* 'x-request-source': '
|
|
44
|
-
* 'x-
|
|
43
|
+
* 'x-request-source': 'lx-web',
|
|
44
|
+
* 'x-uniswap-timezone': Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
45
45
|
* },
|
|
46
46
|
* })
|
|
47
47
|
*
|
|
@@ -51,8 +51,8 @@ export interface CreateSessionTransportOptions {
|
|
|
51
51
|
* baseUrl: config.entryGatewayUrl,
|
|
52
52
|
* cookie: request.headers.get('Cookie'),
|
|
53
53
|
* headers: {
|
|
54
|
-
* 'x-request-source': '
|
|
55
|
-
* 'x-
|
|
54
|
+
* 'x-request-source': 'lx-web',
|
|
55
|
+
* 'x-uniswap-timezone': timezone,
|
|
56
56
|
* },
|
|
57
57
|
* })
|
|
58
58
|
*
|
|
@@ -60,7 +60,7 @@ export interface CreateSessionTransportOptions {
|
|
|
60
60
|
* // Mobile - uses headers for session/device IDs
|
|
61
61
|
* const transport = createSessionTransport({
|
|
62
62
|
* baseUrl: entryGatewayUrl,
|
|
63
|
-
* headers: { 'x-request-source': '
|
|
63
|
+
* headers: { 'x-request-source': 'uniswap-mobile' },
|
|
64
64
|
* getSessionId: () => sessionStorage.get().then(s => s?.sessionId ?? null),
|
|
65
65
|
* getDeviceId: () => deviceIdService.getDeviceId(),
|
|
66
66
|
* })
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { StorageDriver } from '@
|
|
2
|
-
import { getChromeWithThrow } from '
|
|
1
|
+
import type { StorageDriver } from '@luxexchange/api/src/storage/types'
|
|
2
|
+
import { getChromeWithThrow } from 'utilities/src/chrome/chrome'
|
|
3
3
|
|
|
4
4
|
export function createExtensionStorageDriver(): StorageDriver {
|
|
5
5
|
return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createNativeStorageDriver } from '@
|
|
2
|
-
import { type StorageDriver } from '@
|
|
1
|
+
import { createNativeStorageDriver } from '@luxexchange/api/src/storage/createNativeStorageDriver'
|
|
2
|
+
import { type StorageDriver } from '@luxexchange/api/src/storage/types'
|
|
3
3
|
|
|
4
4
|
export function getStorageDriver(): StorageDriver {
|
|
5
5
|
return createNativeStorageDriver()
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { StorageDriver } from '@
|
|
2
|
-
import { PlatformSplitStubError } from '
|
|
1
|
+
import { StorageDriver } from '@luxexchange/api/src/storage/types'
|
|
2
|
+
import { PlatformSplitStubError } from 'utilities/src/errors'
|
|
3
3
|
|
|
4
4
|
export function getStorageDriver(): StorageDriver {
|
|
5
5
|
throw new PlatformSplitStubError('getStorageDriver')
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export type { StorageDriver } from '@
|
|
8
|
+
export type { StorageDriver } from '@luxexchange/api/src/storage/types'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { createExtensionStorageDriver } from '@
|
|
2
|
-
import { createWebStorageDriver } from '@
|
|
3
|
-
import { type StorageDriver } from '@
|
|
4
|
-
import { isExtensionApp } from '
|
|
1
|
+
import { createExtensionStorageDriver } from '@luxexchange/api/src/storage/createExtensionStorageDriver'
|
|
2
|
+
import { createWebStorageDriver } from '@luxexchange/api/src/storage/createWebStorageDriver'
|
|
3
|
+
import { type StorageDriver } from '@luxexchange/api/src/storage/types'
|
|
4
|
+
import { isExtensionApp } from 'utilities/src/platform'
|
|
5
5
|
|
|
6
6
|
export function getStorageDriver(): StorageDriver {
|
|
7
7
|
if (isExtensionApp) {
|
package/src/transport.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ConnectTransportOptions, createConnectTransport } from '@connectrpc/connect-web'
|
|
2
|
-
import { provideDeviceIdService } from '@
|
|
3
|
-
import { provideSessionStorage } from '@
|
|
4
|
-
import { isWebApp } from '
|
|
2
|
+
import { provideDeviceIdService } from '@luxexchange/api/src/provideDeviceIdService'
|
|
3
|
+
import { provideSessionStorage } from '@luxexchange/api/src/provideSessionStorage'
|
|
4
|
+
import { isWebApp } from 'utilities/src/platform'
|
|
5
5
|
|
|
6
6
|
interface SessionTransportOptions {
|
|
7
7
|
getSessionId?: () => Promise<string | null>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
// Type stub for @
|
|
1
|
+
// Type stub for @luxamm/client-privy-embedded-wallet when the private package is not installed.
|
|
2
2
|
import type { ServiceType } from '@bufbuild/protobuf'
|
|
3
3
|
export declare const EmbeddedWalletService: ServiceType
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Type stubs for @
|
|
1
|
+
// Type stubs for @luxamm/client-privy-embedded-wallet when the private package is not installed.
|
|
2
2
|
|
|
3
3
|
export declare enum AuthenticationTypes {
|
|
4
4
|
AUTHENTICATION_TYPE_UNSPECIFIED = 0,
|
package/tsconfig.json
CHANGED
|
@@ -9,14 +9,19 @@
|
|
|
9
9
|
"src/**/*.tsx",
|
|
10
10
|
"src/**/*.mts"
|
|
11
11
|
],
|
|
12
|
-
"exclude": [
|
|
12
|
+
"exclude": [
|
|
13
|
+
"src/**/*.spec.ts",
|
|
14
|
+
"src/**/*.spec.tsx",
|
|
15
|
+
"src/**/*.test.ts",
|
|
16
|
+
"src/**/*.test.tsx"
|
|
17
|
+
],
|
|
13
18
|
"compilerOptions": {
|
|
14
19
|
"emitDeclarationOnly": true,
|
|
15
20
|
"noEmit": false,
|
|
16
21
|
"paths": {
|
|
17
|
-
"@
|
|
18
|
-
"@
|
|
19
|
-
"../../node_modules/@
|
|
22
|
+
"@luxexchange/api/*": ["./src/*"],
|
|
23
|
+
"@luxamm/client-privy-embedded-wallet/dist/uniswap/privy-embedded-wallet/v1/service_pb": [
|
|
24
|
+
"../../node_modules/@luxamm/client-privy-embedded-wallet/node_modules/@luxamm/client-privy-embedded-wallet/dist/uniswap/privy-embedded-wallet/v1/service_pb",
|
|
20
25
|
"./stubs/privy-service-pb"
|
|
21
26
|
]
|
|
22
27
|
},
|
|
@@ -32,6 +37,9 @@
|
|
|
32
37
|
},
|
|
33
38
|
{
|
|
34
39
|
"path": "../config"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"path": "../eslint-config"
|
|
35
43
|
}
|
|
36
44
|
]
|
|
37
45
|
}
|
package/dist/client.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
2
|
-
/**
|
|
3
|
-
* Create a React Query client with Lux Exchange defaults
|
|
4
|
-
*/
|
|
5
|
-
export declare function createQueryClient(): QueryClient;
|
|
6
|
-
/**
|
|
7
|
-
* API base URLs
|
|
8
|
-
*/
|
|
9
|
-
export declare const API_URLS: {
|
|
10
|
-
readonly TOKEN_LIST: "https://tokens.lux.network";
|
|
11
|
-
readonly PRICE_API: "https://api.lux.network/prices";
|
|
12
|
-
readonly ANALYTICS_API: "https://api.lux.network/analytics";
|
|
13
|
-
readonly V2_SUBGRAPH: "https://api.lux.network/subgraphs/exchange-v2";
|
|
14
|
-
readonly V3_SUBGRAPH: "https://api.lux.network/subgraphs/exchange-v3";
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Fetch with timeout
|
|
18
|
-
*/
|
|
19
|
-
export declare function fetchWithTimeout(url: string, options?: RequestInit & {
|
|
20
|
-
timeout?: number;
|
|
21
|
-
}): Promise<Response>;
|
|
22
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,wBAAgB,iBAAiB,gBAmBhC;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;CAaX,CAAA;AAEV;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,QAAQ,CAAC,CAenB"}
|
package/dist/client.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
2
|
-
/**
|
|
3
|
-
* Create a React Query client with Lux Exchange defaults
|
|
4
|
-
*/
|
|
5
|
-
export function createQueryClient() {
|
|
6
|
-
return new QueryClient({
|
|
7
|
-
defaultOptions: {
|
|
8
|
-
queries: {
|
|
9
|
-
// 30 seconds stale time by default
|
|
10
|
-
staleTime: 30_000,
|
|
11
|
-
// 5 minutes cache time
|
|
12
|
-
gcTime: 5 * 60 * 1000,
|
|
13
|
-
// Retry failed queries once
|
|
14
|
-
retry: 1,
|
|
15
|
-
// Don't refetch on window focus by default
|
|
16
|
-
refetchOnWindowFocus: false,
|
|
17
|
-
},
|
|
18
|
-
mutations: {
|
|
19
|
-
// Retry mutations once
|
|
20
|
-
retry: 1,
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* API base URLs
|
|
27
|
-
*/
|
|
28
|
-
export const API_URLS = {
|
|
29
|
-
// Token list API
|
|
30
|
-
TOKEN_LIST: 'https://tokens.lux.network',
|
|
31
|
-
// Price API
|
|
32
|
-
PRICE_API: 'https://api.lux.network/prices',
|
|
33
|
-
// Analytics API
|
|
34
|
-
ANALYTICS_API: 'https://api.lux.network/analytics',
|
|
35
|
-
// Subgraph endpoints
|
|
36
|
-
V2_SUBGRAPH: 'https://api.lux.network/subgraphs/exchange-v2',
|
|
37
|
-
V3_SUBGRAPH: 'https://api.lux.network/subgraphs/exchange-v3',
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Fetch with timeout
|
|
41
|
-
*/
|
|
42
|
-
export async function fetchWithTimeout(url, options = {}) {
|
|
43
|
-
const { timeout = 10_000, ...fetchOptions } = options;
|
|
44
|
-
const controller = new AbortController();
|
|
45
|
-
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
46
|
-
try {
|
|
47
|
-
const response = await fetch(url, {
|
|
48
|
-
...fetchOptions,
|
|
49
|
-
signal: controller.signal,
|
|
50
|
-
});
|
|
51
|
-
return response;
|
|
52
|
-
}
|
|
53
|
-
finally {
|
|
54
|
-
clearTimeout(timeoutId);
|
|
55
|
-
}
|
|
56
|
-
}
|
package/dist/hooks/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
|
package/dist/hooks/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface TokenListToken {
|
|
2
|
-
address: string;
|
|
3
|
-
chainId: number;
|
|
4
|
-
decimals: number;
|
|
5
|
-
symbol: string;
|
|
6
|
-
name: string;
|
|
7
|
-
logoURI?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface TokenList {
|
|
10
|
-
name: string;
|
|
11
|
-
tokens: TokenListToken[];
|
|
12
|
-
version: {
|
|
13
|
-
major: number;
|
|
14
|
-
minor: number;
|
|
15
|
-
patch: number;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Fetch and cache token list
|
|
20
|
-
*/
|
|
21
|
-
export declare function useTokenList(chainId: number): import("@tanstack/react-query").UseQueryResult<TokenListToken[], Error>;
|
|
22
|
-
//# sourceMappingURL=use-token-list.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-token-list.d.ts","sourceRoot":"","sources":["../../src/hooks/use-token-list.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,2EAwB3C"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useQuery } from '@tanstack/react-query';
|
|
3
|
-
import { fetchWithTimeout, API_URLS } from '../client';
|
|
4
|
-
/**
|
|
5
|
-
* Fetch and cache token list
|
|
6
|
-
*/
|
|
7
|
-
export function useTokenList(chainId) {
|
|
8
|
-
return useQuery({
|
|
9
|
-
queryKey: ['tokenList', chainId],
|
|
10
|
-
queryFn: async () => {
|
|
11
|
-
try {
|
|
12
|
-
const response = await fetchWithTimeout(`${API_URLS.TOKEN_LIST}/lux-default.json`);
|
|
13
|
-
if (!response.ok) {
|
|
14
|
-
throw new Error('Failed to fetch token list');
|
|
15
|
-
}
|
|
16
|
-
const data = await response.json();
|
|
17
|
-
// Filter tokens for the specified chain
|
|
18
|
-
return data.tokens.filter((token) => token.chainId === chainId);
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
console.error('Failed to fetch token list:', error);
|
|
22
|
-
return [];
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
staleTime: 5 * 60 * 1000, // 5 minutes
|
|
26
|
-
});
|
|
27
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Address } from 'viem';
|
|
2
|
-
export interface TokenPrice {
|
|
3
|
-
address: Address;
|
|
4
|
-
priceUSD: number;
|
|
5
|
-
change24h: number;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Fetch token price in USD
|
|
9
|
-
*/
|
|
10
|
-
export declare function useTokenPrice(address: Address | undefined, chainId: number): import("@tanstack/react-query").UseQueryResult<TokenPrice | null, Error>;
|
|
11
|
-
/**
|
|
12
|
-
* Fetch multiple token prices
|
|
13
|
-
*/
|
|
14
|
-
export declare function useTokenPrices(addresses: Address[], chainId: number): import("@tanstack/react-query").UseQueryResult<Map<`0x${string}`, TokenPrice>, Error>;
|
|
15
|
-
//# sourceMappingURL=use-token-price.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-token-price.d.ts","sourceRoot":"","sources":["../../src/hooks/use-token-price.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,4EAyB1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,yFAoCnE"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useQuery } from '@tanstack/react-query';
|
|
3
|
-
import { fetchWithTimeout, API_URLS } from '../client';
|
|
4
|
-
/**
|
|
5
|
-
* Fetch token price in USD
|
|
6
|
-
*/
|
|
7
|
-
export function useTokenPrice(address, chainId) {
|
|
8
|
-
return useQuery({
|
|
9
|
-
queryKey: ['tokenPrice', address, chainId],
|
|
10
|
-
queryFn: async () => {
|
|
11
|
-
if (!address)
|
|
12
|
-
return null;
|
|
13
|
-
try {
|
|
14
|
-
const response = await fetchWithTimeout(`${API_URLS.PRICE_API}/${chainId}/${address}`);
|
|
15
|
-
if (!response.ok) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
return response.json();
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
console.error('Failed to fetch token price:', error);
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
enabled: !!address,
|
|
26
|
-
staleTime: 30_000, // 30 seconds
|
|
27
|
-
refetchInterval: 60_000, // Refetch every minute
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Fetch multiple token prices
|
|
32
|
-
*/
|
|
33
|
-
export function useTokenPrices(addresses, chainId) {
|
|
34
|
-
return useQuery({
|
|
35
|
-
queryKey: ['tokenPrices', addresses, chainId],
|
|
36
|
-
queryFn: async () => {
|
|
37
|
-
const priceMap = new Map();
|
|
38
|
-
if (addresses.length === 0)
|
|
39
|
-
return priceMap;
|
|
40
|
-
try {
|
|
41
|
-
const response = await fetchWithTimeout(`${API_URLS.PRICE_API}/${chainId}/batch`, {
|
|
42
|
-
method: 'POST',
|
|
43
|
-
headers: { 'Content-Type': 'application/json' },
|
|
44
|
-
body: JSON.stringify({ addresses }),
|
|
45
|
-
});
|
|
46
|
-
if (!response.ok) {
|
|
47
|
-
return priceMap;
|
|
48
|
-
}
|
|
49
|
-
const prices = await response.json();
|
|
50
|
-
prices.forEach((price) => {
|
|
51
|
-
priceMap.set(price.address, price);
|
|
52
|
-
});
|
|
53
|
-
return priceMap;
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
console.error('Failed to fetch token prices:', error);
|
|
57
|
-
return priceMap;
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
enabled: addresses.length > 0,
|
|
61
|
-
staleTime: 30_000,
|
|
62
|
-
});
|
|
63
|
-
}
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|