@liq /反应
React钩子、突变和Liq perpetual交易前端的状态管理。
概述
@liq/react 包装 @liq/api-client 和 @liq/onchain 在React Query查询、wagmi/ video突变和Zustand存储中。它提供了 LiqProvider 作为根上下文组件,一组用于市场、头寸、订单和保证金的数据获取钩子,以及用于订单提交、取消、存款和网关身份验证的突变钩子。跟踪所有异步事务流 useTransactionStore.
主要出口
提供者
LiqProvider-根提供商(封装React Query +网关客户端上下文)useLiqClient()-访问配置的LiqClient实例useLiqOnchain()-访问配置的LiqOnchain实例
查询钩子(TanStack Query)
| 钩 | 描述 |
|---|---|
useMarketsQuery() | 争取所有市场 |
useOpenOrdersQuery() | 获取往来账户的未结清订单 |
useAvailableMarginQuery() | 获取往来账户可用保证金 |
useAccountId() | 读取SNX帐户ID |
liqQueryKeys | 所有查询的缓存键工厂 |
保证金(自0.67.0起):
| 钩 | 描述 |
|---|---|
useAccountMargin(accountId) | 门户保证金—— available, locked, free (free 提要 validateOrder);需要网关会话;也刷新了终端订单转换 |
useMarginUsage(accountId) | { requiredInitialMargin, available, usage } 阅读onchain; data 未定义=无读取(isLoading 在飞行中, fetchStatus === 'idle' 禁用-不禁用 isPending), data.usage 在水下 |
useOrderMarginPreview(accountId, market, size, price, orderCost?) | 协议 requiredMargin 和按价目表价格估算的平仓价格(限价为limit,标记为MARKET);价格变动费用,初始保证金根据合约的预设值计算;没有连接钱包的禁用;每隔10秒重读一次,并在结算、存款、取款和还款方面进行更新 |
突变钩子
| 钩 | 描述 |
|---|---|
useOrderSubmission() | 提交订单草稿-立即、签名、重试、无效 |
useCancelOrderMutation() | 取消未完成的订单 |
useDepositMutation() | USDC→sUSDC→抵押存款(链上) |
useWithdrawMutation() | 收回抵押品,必要时先偿还债务(在线) |
useCreateAccountMutation() | 创建SNX账户NFT(在线) |
useClaimFaucetMutation() | 申请测试网水龙头代币(链上) |
useGatewayAuthMutation() | SIWE认证→JWT |
useTransactionMutation() | 具有状态跟踪的通用链上tx包装器 |
无气继电器(ADR-0063) -安装 <LiqProvider relay> 同样的突变挂在上面
签署一份 Delegate7702 批处理中继器发送和支付,因此钱包永远不需要
乙。没有单独的钩子:提供者的发送者选择钱包或
中继,钩子不知道是哪个。
SSE /实时
useSseOrderUpdates(orderIds, callback)-所列订单的实时状态更新,从过滤orders:{accountId}通道(更改列表不会重新打开流)useAccountOrderUpdates(onUpdate?)-一个帐户范围的订阅orders:{accountId}流;回调得到完整的order_update与reason/origin
公用事业公司
useWallet()-活动钱包地址+链IDuseNetworkId()-当前网络IDuseDebounce(value, delay)-脱钩
商店(Zustand)
useGatewayStore/selectIsAuthenticated- JWT +授权状态useTransactionStore/TransactionStatus/TransactionState/TransactionType- onchain tx生命周期
安装
pnpm add @liq/react
同行依赖性
react^18或^19viem^ 2wagmi^ 2
构建
moon run liq-react:build # tsup → dist/