@candledottv/agent-sdk 0.4.5 → 0.4.6

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/dist/client.d.ts CHANGED
@@ -26,6 +26,7 @@
26
26
  * validation error). Backoff is 250ms * 2^n, jittered to 50-100% of that, capped at 8s,
27
27
  * bounded by `maxRetries` (default 3 retries after the initial attempt).
28
28
  */
29
+ import { type HyperliquidNetwork, type HyperliquidTypedData } from "./hyperliquid";
29
30
  import type { SecretStore } from "./secret-store";
30
31
  import { type WalletChain } from "./wallet-import";
31
32
  export type Chain = "solana" | "hood";
@@ -83,6 +84,16 @@ export interface CandleClientOptions {
83
84
  * is unset, before any signing.
84
85
  */
85
86
  evmRpcUrl?: string;
87
+ /**
88
+ * Candle's Hyperliquid builder address, pinned by the caller. Every perps build is checked
89
+ * against it before signing: an order must name exactly this builder (or none, on a Max order),
90
+ * and setup must approve exactly it. Unset, the client uses `CANDLE_HYPERLIQUID_BUILDER_ADDRESS`
91
+ * when this release carries one, and otherwise trusts the builder `GET /agent/perps/config`
92
+ * reports the first time and holds every later build to that same address.
93
+ */
94
+ hyperliquidBuilder?: string;
95
+ /** The Hyperliquid network this client trades on. Default mainnet; a build for another is refused. */
96
+ hyperliquidNetwork?: HyperliquidNetwork;
86
97
  }
87
98
  /** The bonding-curve terms of one (chain, quote asset, tier) cell. */
88
99
  export interface CurveTerms {
@@ -1161,6 +1172,166 @@ export interface SignLinkedTransactionResult {
1161
1172
  signedTransaction: string;
1162
1173
  encoding: string;
1163
1174
  }
1175
+ /** The EVM TEE wallet a perps action signs from: its row id and its Privy wallet id. */
1176
+ export interface PerpsWalletRef {
1177
+ /** The linked wallet's row id (the relay's :id, and the secretStore key). */
1178
+ walletId: string;
1179
+ /** The same wallet's Privy wallet id, the authorization signature's URL target. */
1180
+ privyWalletId: string;
1181
+ /** Sign and submit (default), or stop after the build and its check and return the build. */
1182
+ submit?: boolean;
1183
+ }
1184
+ export type PerpsSide = "long" | "short";
1185
+ export interface PerpsOpenParams extends PerpsWalletRef {
1186
+ coin: string;
1187
+ side: PerpsSide;
1188
+ /** Size in the coin, a decimal string. */
1189
+ size: string;
1190
+ /** `market` (IOC at the mid moved by the slippage) or `limit`. Default: limit when `price` is set. */
1191
+ type?: "market" | "limit";
1192
+ price?: string;
1193
+ tif?: "Gtc" | "Alo" | "Ioc";
1194
+ slippageBps?: number;
1195
+ /** Optional reduce-only take-profit trigger price. */
1196
+ takeProfit?: string;
1197
+ /** Optional reduce-only stop-loss trigger price. */
1198
+ stopLoss?: string;
1199
+ }
1200
+ export interface PerpsCloseParams extends PerpsWalletRef {
1201
+ coin: string;
1202
+ /** Part of the position to close; the whole position when omitted. */
1203
+ size?: string;
1204
+ slippageBps?: number;
1205
+ }
1206
+ export interface PerpsCancelParams extends PerpsWalletRef {
1207
+ /** The cloid of an order Candle built (an open, or one of its take-profit / stop-loss legs). */
1208
+ cloid: string;
1209
+ }
1210
+ export interface PerpsModifyParams extends PerpsWalletRef {
1211
+ cloid: string;
1212
+ price?: string;
1213
+ size?: string;
1214
+ slippageBps?: number;
1215
+ }
1216
+ export interface PerpsLeverageParams extends PerpsWalletRef {
1217
+ coin: string;
1218
+ leverage: number;
1219
+ mode?: "cross" | "isolated";
1220
+ }
1221
+ export interface PerpsMarginParams extends PerpsWalletRef {
1222
+ coin: string;
1223
+ /** USD, up to 6 decimals; negative removes isolated margin. */
1224
+ amount: string;
1225
+ }
1226
+ /** What a perps build route returns: the plaintext action, its nonce, and the stamped typed data. */
1227
+ export interface PerpsBuild {
1228
+ success: true;
1229
+ perpOrderId: string;
1230
+ kind: "open" | "close" | "modify" | "cancel" | "leverage" | "margin" | "setup";
1231
+ network: HyperliquidNetwork;
1232
+ walletId: string;
1233
+ address: string;
1234
+ nonce: number;
1235
+ action: Record<string, unknown>;
1236
+ typedData: HyperliquidTypedData;
1237
+ claimHash: string;
1238
+ cloid?: string;
1239
+ childCloids?: string[];
1240
+ targetCloid?: string;
1241
+ notionalUsdMicros: number | null;
1242
+ reservedUsdMicros: number;
1243
+ windowKey: string | null;
1244
+ builder: {
1245
+ address: string;
1246
+ feeTenthsBps: number;
1247
+ } | null;
1248
+ exchangeUrl: string;
1249
+ preview: Record<string, unknown>;
1250
+ }
1251
+ /**
1252
+ * The outcome of one perps action. `signature` is present once the relay signed; it stays valid
1253
+ * for resubmission until the nonce leaves Hyperliquid's two-day window, so a failed submit keeps
1254
+ * it. `exchange` is Hyperliquid's own answer, unchanged (`status: "ok"` or `"err"`, and per-order
1255
+ * statuses for an order).
1256
+ */
1257
+ export interface PerpsActionResult {
1258
+ build: PerpsBuild;
1259
+ signature: string | null;
1260
+ submitted: boolean;
1261
+ exchange: unknown | null;
1262
+ submitError?: string;
1263
+ }
1264
+ export interface PerpsAccountStatus {
1265
+ walletId: string;
1266
+ address: string;
1267
+ network: HyperliquidNetwork;
1268
+ mode: string;
1269
+ standardMode: boolean;
1270
+ accountValue: string;
1271
+ withdrawable: string;
1272
+ builder: string;
1273
+ approvedFeeTenthsBps: number;
1274
+ }
1275
+ /** `ready: true` when the builder approval is already on Hyperliquid; otherwise the setup action's outcome. */
1276
+ export type PerpsSetupResult = PerpsAccountStatus & {
1277
+ ready: boolean;
1278
+ action?: PerpsActionResult;
1279
+ };
1280
+ export interface PerpsConfig {
1281
+ success: true;
1282
+ network: HyperliquidNetwork;
1283
+ exchangeUrl: string;
1284
+ builder: string | null;
1285
+ builderFeeTenthsBps: number;
1286
+ maxBuilderFeeRate: string;
1287
+ allowedActionTypes: string[];
1288
+ limits: Record<string, unknown>;
1289
+ }
1290
+ export interface PerpsPositions {
1291
+ success: true;
1292
+ walletId: string;
1293
+ address: string;
1294
+ network: HyperliquidNetwork;
1295
+ mode: string;
1296
+ standardMode: boolean;
1297
+ account: Record<string, string>;
1298
+ withdrawable: string;
1299
+ positions: Record<string, unknown>[];
1300
+ }
1301
+ export interface PerpsOrderRecord {
1302
+ perpOrderId: string;
1303
+ kind: PerpsBuild["kind"];
1304
+ actionType: string;
1305
+ coin: string | null;
1306
+ nonce: number;
1307
+ cloid: string | null;
1308
+ childCloids: string[];
1309
+ targetCloid: string | null;
1310
+ status: string;
1311
+ venueStatus: string | null;
1312
+ filledSz: string | null;
1313
+ notionalUsdMicros: number | null;
1314
+ reservedUsdMicros: number;
1315
+ releasedUsdMicros: number;
1316
+ windowKey: string | null;
1317
+ builtAt: number;
1318
+ settledAt: number | null;
1319
+ }
1320
+ export interface PerpsOrders {
1321
+ success: true;
1322
+ walletId: string;
1323
+ address: string;
1324
+ network: HyperliquidNetwork;
1325
+ /** Hyperliquid's open orders for the wallet's address. */
1326
+ open: Record<string, unknown>[];
1327
+ /** Candle's record of every action it built for this wallet, newest first. */
1328
+ recorded: PerpsOrderRecord[];
1329
+ settled: {
1330
+ perpOrderId: string;
1331
+ status: string;
1332
+ releasedUsdMicros: number;
1333
+ }[];
1334
+ }
1164
1335
  /**
1165
1336
  * The base assets `swap()` converts between. Inlined rather than imported from `@candle/shared`'s
1166
1337
  * `BaseAssetKey`, for the same reason `packages/mcp` inlines its curve constants: this SDK is
@@ -1560,6 +1731,8 @@ export declare class CandleClient {
1560
1731
  private readonly secretStore?;
1561
1732
  private readonly solanaRpcUrl?;
1562
1733
  private readonly evmRpcUrl?;
1734
+ private readonly hyperliquidNetwork;
1735
+ private hyperliquidBuilder?;
1563
1736
  /** Reads scoped to what this key may spend: a one-shot swap's receipt, and spendable balances. */
1564
1737
  readonly wallets: CandleWallets;
1565
1738
  constructor(opts: CandleClientOptions);
@@ -2019,6 +2192,54 @@ export declare class CandleClient {
2019
2192
  * depends on an earlier leg already being mined.
2020
2193
  */
2021
2194
  private signBroadcastAndWaitEvmLeg;
2195
+ /** The server's perps settings: network, Candle's builder, this key's fee, and its limits. */
2196
+ perpsConfig(): Promise<PerpsConfig>;
2197
+ /**
2198
+ * One-time setup (R1): approves Candle's builder fee at 0.1% unless Hyperliquid already shows
2199
+ * it, and reports the account's mode and balance. Idempotent.
2200
+ */
2201
+ perpsSetup(params: PerpsWalletRef): Promise<PerpsSetupResult>;
2202
+ /** Open (or add to) a position: build, check, sign through the relay, submit to Hyperliquid. */
2203
+ perpsOpen(params: PerpsOpenParams): Promise<PerpsActionResult>;
2204
+ /** Close all or part of a position with a reduce-only IOC order. Reserves nothing. */
2205
+ perpsClose(params: PerpsCloseParams): Promise<PerpsActionResult>;
2206
+ /** Cancel an order Candle built, by its cloid. */
2207
+ perpsCancel(params: PerpsCancelParams): Promise<PerpsActionResult>;
2208
+ /** Change a resting order's price or size. The replacement gets a new cloid. */
2209
+ perpsModify(params: PerpsModifyParams): Promise<PerpsActionResult>;
2210
+ /** Set a market's leverage and margin mode on the account, within the key's maxLeverage. */
2211
+ perpsLeverage(params: PerpsLeverageParams): Promise<PerpsActionResult>;
2212
+ /** Add (positive) or remove (negative) isolated margin on an isolated position. */
2213
+ perpsMargin(params: PerpsMarginParams): Promise<PerpsActionResult>;
2214
+ /** Positions and account value, read live from Hyperliquid by the wallet's address. */
2215
+ perpsPositions(walletId: string): Promise<PerpsPositions>;
2216
+ /** Open orders on Hyperliquid, and Candle's record of every action it built, settled first. */
2217
+ perpsOrders(walletId: string, opts?: {
2218
+ limit?: number;
2219
+ }): Promise<PerpsOrders>;
2220
+ /** Fills, read live from Hyperliquid by the wallet's address. */
2221
+ perpsFills(walletId: string): Promise<{
2222
+ success: true;
2223
+ fills: Record<string, unknown>[];
2224
+ }>;
2225
+ /** Funding payments since `startTime` (epoch ms; default the last 7 days). */
2226
+ perpsFunding(walletId: string, startTime?: number): Promise<{
2227
+ success: true;
2228
+ startTime: number;
2229
+ funding: Record<string, unknown>[];
2230
+ }>;
2231
+ /** The builder every perps build is checked against (see `hyperliquidBuilder` in the options). */
2232
+ private perpsBuilder;
2233
+ /**
2234
+ * Check, sign, submit (HL-ED-2, HL-ED-5). The check runs before the relay is called; a build
2235
+ * that fails it is refused with nothing signed.
2236
+ */
2237
+ private perpsComplete;
2238
+ /**
2239
+ * Sign EIP-712 typed data with a linked EVM TEE wallet through the relay
2240
+ * (`eth_signTypedData_v4`). The relay signs only typed data a perps build stamped.
2241
+ */
2242
+ private signLinkedTypedData;
2022
2243
  private requireKey;
2023
2244
  private headers;
2024
2245
  private requestJson;
@@ -2046,7 +2267,7 @@ export declare class CandleClient {
2046
2267
  private jsonRpcCallRaw;
2047
2268
  }
2048
2269
  /** This build's own version. Kept in lockstep with package.json by the release-bump CI guard. */
2049
- export declare const SDK_VERSION = "0.4.5";
2270
+ export declare const SDK_VERSION = "0.4.6";
2050
2271
  /** Test seam: the once-per-process latch would otherwise weld the suite's first case to the rest. */
2051
2272
  export declare function __resetSdkUpdateNoticeForTest(): void;
2052
2273
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ export type HyperliquidNetwork = "mainnet" | "testnet";
2
+ /** The L1 action types a Candle build may carry. Anything else is refused before signing. */
3
+ export declare const HYPERLIQUID_ALLOWED_ACTION_TYPES: readonly ["order", "cancel", "modify", "updateLeverage", "updateIsolatedMargin"];
4
+ /** Hyperliquid's `/exchange` endpoint per network. The client never takes this from the server. */
5
+ export declare const HYPERLIQUID_EXCHANGE_URLS: Readonly<Record<HyperliquidNetwork, string>>;
6
+ /** Hyperliquid's public `/info` endpoint per network. */
7
+ export declare const HYPERLIQUID_INFO_URLS: Readonly<Record<HyperliquidNetwork, string>>;
8
+ /**
9
+ * Candle's builder address as this release knows it, for `verifyPerpsBuild`. Null until the address
10
+ * is fixed for a published release; until then a client pins it from its own configuration.
11
+ */
12
+ export declare const CANDLE_HYPERLIQUID_BUILDER_ADDRESS: string | null;
13
+ /** The builder fee Candle charges at most, in tenths of a basis point (0.1%), and as setup signs it. */
14
+ export declare const HYPERLIQUID_MAX_BUILDER_FEE_TENTHS_BPS = 100;
15
+ export declare const HYPERLIQUID_MAX_BUILDER_FEE_RATE = "0.1%";
16
+ /** `signatureChainId` for the ApproveBuilderFee domain (chain id 42161). */
17
+ export declare const HYPERLIQUID_SIGNATURE_CHAIN_ID = "0xa4b1";
18
+ /** Python `msgpack.packb(value)` for the JSON-like values an action uses. Throws on anything else. */
19
+ export declare function msgpackEncode(value: unknown): Uint8Array;
20
+ /** The official SDK's `action_hash(action, None, nonce, None)`, as `0x` + 64 hex. */
21
+ export declare function hyperliquidActionHash(action: unknown, nonce: number | bigint): string;
22
+ export interface HyperliquidTypedData {
23
+ domain: Record<string, unknown>;
24
+ types: Record<string, {
25
+ name: string;
26
+ type: string;
27
+ }[]>;
28
+ primary_type: string;
29
+ message: Record<string, unknown>;
30
+ }
31
+ export declare function hyperliquidL1TypedData(connectionId: string, network: HyperliquidNetwork): HyperliquidTypedData;
32
+ export declare function hyperliquidApproveBuilderFeeTypedData(builder: string, nonce: number): HyperliquidTypedData;
33
+ /**
34
+ * Deterministic JSON with object keys sorted by UTF-16 code unit at every level: RFC 8785 for the
35
+ * values a typed-data relay body holds (strings, safe integers, booleans, arrays, objects). Used to
36
+ * compare two values structurally, and as the payload a Privy authorization signature covers.
37
+ */
38
+ export declare function hyperliquidCanonicalJson(value: unknown): string;
39
+ /** The part of a Candle perps build response the check reads. */
40
+ export interface PerpsBuildToVerify {
41
+ network?: string;
42
+ nonce: number;
43
+ action: Record<string, unknown>;
44
+ typedData: HyperliquidTypedData;
45
+ address?: string;
46
+ }
47
+ export interface VerifyPerpsBuildOptions {
48
+ /** The network this client trades on. Default mainnet. */
49
+ network?: HyperliquidNetwork;
50
+ /**
51
+ * Candle's builder address, as this client knows it independently of the build. Orders must
52
+ * name exactly this builder (or none), and setup must approve exactly it.
53
+ */
54
+ builder: string;
55
+ /** The wallet address this client expects to act for, when it knows it. */
56
+ address?: string;
57
+ closeOrder?: {
58
+ asset: number;
59
+ isBuy: boolean;
60
+ size: string;
61
+ };
62
+ /** Bind the plaintext action to the method and arguments the caller actually requested. */
63
+ intent?: {
64
+ method: "setup" | "open" | "close" | "cancel" | "modify" | "leverage" | "margin";
65
+ params: Record<string, unknown>;
66
+ };
67
+ }
68
+ export type PerpsBuildCheck = {
69
+ ok: true;
70
+ kind: "l1" | "approveBuilderFee";
71
+ } | {
72
+ ok: false;
73
+ reason: string;
74
+ };
75
+ /** Read the position directly from the pinned venue before signing a close. The request
76
+ * names no side and can omit size, so neither may be inferred from the build's preview.
77
+ */
78
+ export declare function hyperliquidCloseOrder(fetcher: (url: string, init?: RequestInit) => Promise<{
79
+ ok: boolean;
80
+ text(): Promise<string>;
81
+ }>, network: HyperliquidNetwork, address: string, params: Record<string, unknown>): Promise<{
82
+ asset: number;
83
+ isBuy: boolean;
84
+ size: string;
85
+ }>;
86
+ /**
87
+ * Check a build before signing it. Never throws; a refusal names what failed. Callers must not
88
+ * sign, and must not call the relay, unless this returns `ok: true`.
89
+ */
90
+ export declare function verifyPerpsBuild(build: PerpsBuildToVerify, opts: VerifyPerpsBuildOptions): PerpsBuildCheck;
91
+ /** A 65-byte `0x` signature split the way `/exchange` takes it. */
92
+ export declare function hyperliquidSplitSignature(signature: string): {
93
+ r: string;
94
+ s: string;
95
+ v: number;
96
+ };
97
+ /** The `/exchange` request body for a signed action. */
98
+ export declare function hyperliquidExchangeBody(action: Record<string, unknown>, nonce: number, signature: string): {
99
+ action: Record<string, unknown>;
100
+ nonce: number;
101
+ signature: {
102
+ r: string;
103
+ s: string;
104
+ v: number;
105
+ };
106
+ vaultAddress: null;
107
+ expiresAfter: null;
108
+ };
109
+ /** The relay body (Privy's wallet-RPC wire shape) for typed data. */
110
+ export declare function hyperliquidRelayBody(typedData: HyperliquidTypedData): {
111
+ method: "eth_signTypedData_v4";
112
+ params: {
113
+ typed_data: HyperliquidTypedData;
114
+ };
115
+ };
116
+ //# sourceMappingURL=hyperliquid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperliquid.d.ts","sourceRoot":"","sources":["../src/hyperliquid.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export type { AcceptedJob, AgentProfile, AgentTierInfo, AtomicBundleLegRole, AtomicBundleLegSigner, AtomicBundleResponseLeg, AtomicFirstBuyRequest, AtomicLaunchPayer, BaseAssetKey, BuildAtomicLaunchRequest, BuildAtomicLaunchResult, BuildSelfLaunchHoodResult, BuildSelfLaunchRequest, BuildSelfLaunchResult, BuildSelfLaunchSolanaResult, BuildTradeBuiltResult, BuildTradeRequest, BuildTradeResult, CandleClientOptions, CandleWallets, Chain, CloseEmptyAccountsBatch, CloseEmptyAccountsFailure, CloseEmptyAccountsJob, CloseEmptyAccountsPreview, CloseEmptyAccountsRequest, CloseEmptyAccountsResult, ConfirmSelfLaunchRequest, ConfirmSelfLaunchResult, ConfirmTradeRequest, ConfirmTradeResult, CurveTerms, DryRunResult, EmptyTokenAccount, EmptyTokenAccountSkipReason, EvmSignTransactionParams, ExecutedTradeResult, FeedBucket, FeedResult, FeedToken, HoodTradeArtifacts, ImportWalletResult, LaunchAtomicFirstBuyRequest, LaunchAtomicPayer, LaunchAtomicRequest, LaunchJob, LaunchPreset, LaunchRequest, LaunchResult, LaunchTier, LinkedSwapRequest, LinkedSwapResult, LinkedWalletRow, ListWalletsResult, MarketState, MigrationStatus, PortfolioHoodSection, PortfolioHoodTeeWallet, PortfolioHoodToken, PortfolioHoodWallet, PortfolioPrice, PortfolioResult, PortfolioSolanaTeeWallet, PortfolioSolanaToken, PortfolioSolanaWallet, PortfolioUnpricedReason, PresetsPayload, PreviewCloseEmptyAccountsRequest, ProfileChainPnl, ProfileOpenPosition, ProfilePnlResult, ProfileTradeRow, ProfileTradesResult, ProfileWalletPnl, ProfileWalletRow, ProfileWalletScope, ProfileWalletsResult, QuoteBreakdown, QuotePair, QuotePairsPayload, QuoteResult, SelfBalancesOptions, SelfBalancesResult, SelfLaunchRequest, SelfWallet, SelfWalletBalance, SignLinkedTransactionParams, SignLinkedTransactionResult, SkippedEmptyTokenAccount, SolanaTradeArtifacts, SpendLimit, SpendLimitsResult, SubmitAtomicLaunchRequest, SubmitAtomicLaunchResult, SubmitTradeRequest, SwapRequest, SwapResult, SwapSettlement, SwapSettlementLeg, SwapSettlementState, TradeFee, TradePayer, TradeRequest, TradeRoute, TradeRouteHop, TradeSide, VerifyResult, } from "./client";
1
+ export type { AcceptedJob, AgentProfile, AgentTierInfo, AtomicBundleLegRole, AtomicBundleLegSigner, AtomicBundleResponseLeg, AtomicFirstBuyRequest, AtomicLaunchPayer, BaseAssetKey, BuildAtomicLaunchRequest, BuildAtomicLaunchResult, BuildSelfLaunchHoodResult, BuildSelfLaunchRequest, BuildSelfLaunchResult, BuildSelfLaunchSolanaResult, BuildTradeBuiltResult, BuildTradeRequest, BuildTradeResult, CandleClientOptions, CandleWallets, Chain, CloseEmptyAccountsBatch, CloseEmptyAccountsFailure, CloseEmptyAccountsJob, CloseEmptyAccountsPreview, CloseEmptyAccountsRequest, CloseEmptyAccountsResult, ConfirmSelfLaunchRequest, ConfirmSelfLaunchResult, ConfirmTradeRequest, ConfirmTradeResult, CurveTerms, DryRunResult, EmptyTokenAccount, EmptyTokenAccountSkipReason, EvmSignTransactionParams, ExecutedTradeResult, FeedBucket, FeedResult, FeedToken, HoodTradeArtifacts, ImportWalletResult, LaunchAtomicFirstBuyRequest, LaunchAtomicPayer, LaunchAtomicRequest, LaunchJob, LaunchPreset, LaunchRequest, LaunchResult, LaunchTier, LinkedSwapRequest, LinkedSwapResult, LinkedWalletRow, ListWalletsResult, MarketState, MigrationStatus, PerpsAccountStatus, PerpsActionResult, PerpsBuild, PerpsCancelParams, PerpsCloseParams, PerpsConfig, PerpsLeverageParams, PerpsMarginParams, PerpsModifyParams, PerpsOpenParams, PerpsOrderRecord, PerpsOrders, PerpsPositions, PerpsSetupResult, PerpsSide, PerpsWalletRef, PortfolioHoodSection, PortfolioHoodTeeWallet, PortfolioHoodToken, PortfolioHoodWallet, PortfolioPrice, PortfolioResult, PortfolioSolanaTeeWallet, PortfolioSolanaToken, PortfolioSolanaWallet, PortfolioUnpricedReason, PresetsPayload, PreviewCloseEmptyAccountsRequest, ProfileChainPnl, ProfileOpenPosition, ProfilePnlResult, ProfileTradeRow, ProfileTradesResult, ProfileWalletPnl, ProfileWalletRow, ProfileWalletScope, ProfileWalletsResult, QuoteBreakdown, QuotePair, QuotePairsPayload, QuoteResult, SelfBalancesOptions, SelfBalancesResult, SelfLaunchRequest, SelfWallet, SelfWalletBalance, SignLinkedTransactionParams, SignLinkedTransactionResult, SkippedEmptyTokenAccount, SolanaTradeArtifacts, SpendLimit, SpendLimitsResult, SubmitAtomicLaunchRequest, SubmitAtomicLaunchResult, SubmitTradeRequest, SwapRequest, SwapResult, SwapSettlement, SwapSettlementLeg, SwapSettlementState, TradeFee, TradePayer, TradeRequest, TradeRoute, TradeRouteHop, TradeSide, VerifyResult, } from "./client";
2
2
  export { CandleClient } from "./client";
3
3
  export type { BridgeErrorCode, CandleErrorPayload, CandleRoutingDetail, SolanaRpcErrorData } from "./errors";
4
4
  export { BRIDGE_ERROR_CODES, CandleApiError, isSolanaRpcErrorData, JsonRpcError } from "./errors";
5
+ export { CANDLE_HYPERLIQUID_BUILDER_ADDRESS, HYPERLIQUID_ALLOWED_ACTION_TYPES, HYPERLIQUID_EXCHANGE_URLS, type HyperliquidNetwork, type HyperliquidTypedData, hyperliquidActionHash, type PerpsBuildCheck, type PerpsBuildToVerify, type VerifyPerpsBuildOptions, verifyPerpsBuild, } from "./hyperliquid";
5
6
  export { KeychainSecretStore } from "./keychain-secret-store";
6
7
  export type { SecretStore } from "./secret-store";
7
8
  export { EncryptedFileSecretStore, InMemorySecretStore } from "./secret-store";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,KAAK,EACL,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,gCAAgC,EAChC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC5G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -260,6 +260,406 @@ async function waitForReceipt(rpc, txHash, opts = {}) {
260
260
  }
261
261
  }
262
262
 
263
+ // src/hyperliquid.ts
264
+ import { keccak_256 } from "@noble/hashes/sha3";
265
+ var HYPERLIQUID_ALLOWED_ACTION_TYPES = [
266
+ "order",
267
+ "cancel",
268
+ "modify",
269
+ "updateLeverage",
270
+ "updateIsolatedMargin"
271
+ ];
272
+ var HYPERLIQUID_EXCHANGE_URLS = {
273
+ mainnet: "https://api.hyperliquid.xyz/exchange",
274
+ testnet: "https://api.hyperliquid-testnet.xyz/exchange"
275
+ };
276
+ var CANDLE_HYPERLIQUID_BUILDER_ADDRESS = null;
277
+ var HYPERLIQUID_MAX_BUILDER_FEE_TENTHS_BPS = 100;
278
+ var HYPERLIQUID_MAX_BUILDER_FEE_RATE = "0.1%";
279
+ var HYPERLIQUID_SIGNATURE_CHAIN_ID = "0xa4b1";
280
+ var ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
281
+ var UINT64_MAX = (1n << 64n) - 1n;
282
+ var INT64_MIN = -(1n << 63n);
283
+ function pushUint(out, value, width) {
284
+ for (let i = width - 1;i >= 0; i--)
285
+ out.push(Number(value >> BigInt(i * 8) & 0xffn));
286
+ }
287
+ function packInteger(out, value) {
288
+ if (value >= 0n) {
289
+ if (value > UINT64_MAX)
290
+ throw new Error("msgpack: integer above uint64");
291
+ if (value < 0x80n)
292
+ out.push(Number(value));
293
+ else if (value <= 0xffn) {
294
+ out.push(204);
295
+ pushUint(out, value, 1);
296
+ } else if (value <= 0xffffn) {
297
+ out.push(205);
298
+ pushUint(out, value, 2);
299
+ } else if (value <= 0xffffffffn) {
300
+ out.push(206);
301
+ pushUint(out, value, 4);
302
+ } else {
303
+ out.push(207);
304
+ pushUint(out, value, 8);
305
+ }
306
+ return;
307
+ }
308
+ if (value < INT64_MIN)
309
+ throw new Error("msgpack: integer below int64");
310
+ if (value >= -32n)
311
+ out.push(Number(value & 0xffn));
312
+ else if (value >= -128n) {
313
+ out.push(208);
314
+ pushUint(out, value & 0xffn, 1);
315
+ } else if (value >= -32768n) {
316
+ out.push(209);
317
+ pushUint(out, value & 0xffffn, 2);
318
+ } else if (value >= -2147483648n) {
319
+ out.push(210);
320
+ pushUint(out, value & 0xffffffffn, 4);
321
+ } else {
322
+ out.push(211);
323
+ pushUint(out, value & UINT64_MAX, 8);
324
+ }
325
+ }
326
+ function packHeader(out, length, fixBase, fixMax, codes) {
327
+ if (length <= fixMax) {
328
+ out.push(fixBase | length);
329
+ return;
330
+ }
331
+ const [c8, c16, c32] = codes;
332
+ if (c8 !== undefined && c8 !== 0 && length <= 255) {
333
+ out.push(c8);
334
+ pushUint(out, BigInt(length), 1);
335
+ } else if (length <= 65535) {
336
+ out.push(c16);
337
+ pushUint(out, BigInt(length), 2);
338
+ } else {
339
+ out.push(c32);
340
+ pushUint(out, BigInt(length), 4);
341
+ }
342
+ }
343
+ function packValue(out, value) {
344
+ if (value === null)
345
+ out.push(192);
346
+ else if (value === false)
347
+ out.push(194);
348
+ else if (value === true)
349
+ out.push(195);
350
+ else if (typeof value === "bigint")
351
+ packInteger(out, value);
352
+ else if (typeof value === "number") {
353
+ if (!Number.isSafeInteger(value))
354
+ throw new Error(`msgpack: ${value} is not a safe integer`);
355
+ packInteger(out, BigInt(value));
356
+ } else if (typeof value === "string") {
357
+ const bytes = new TextEncoder().encode(value);
358
+ packHeader(out, bytes.length, 160, 31, [217, 218, 219]);
359
+ for (const b of bytes)
360
+ out.push(b);
361
+ } else if (Array.isArray(value)) {
362
+ packHeader(out, value.length, 144, 15, [0, 220, 221]);
363
+ for (const item of value)
364
+ packValue(out, item);
365
+ } else if (typeof value === "object") {
366
+ const entries = Object.entries(value).filter(([, v]) => v !== undefined);
367
+ for (const [key] of entries) {
368
+ if (/^(0|[1-9][0-9]*)$/.test(key))
369
+ throw new Error(`msgpack: integer-like key "${key}"`);
370
+ }
371
+ packHeader(out, entries.length, 128, 15, [0, 222, 223]);
372
+ for (const [key, item] of entries) {
373
+ packValue(out, key);
374
+ packValue(out, item);
375
+ }
376
+ } else {
377
+ throw new Error(`msgpack: cannot encode a ${typeof value}`);
378
+ }
379
+ }
380
+ function msgpackEncode(value) {
381
+ const out = [];
382
+ packValue(out, value);
383
+ return Uint8Array.from(out);
384
+ }
385
+ function toHex(bytes) {
386
+ let out = "";
387
+ for (const b of bytes)
388
+ out += b.toString(16).padStart(2, "0");
389
+ return out;
390
+ }
391
+ function hyperliquidActionHash(action, nonce) {
392
+ const n = BigInt(nonce);
393
+ if (n < 0n || n > UINT64_MAX)
394
+ throw new Error("hyperliquidActionHash: nonce out of range");
395
+ const out = Array.from(msgpackEncode(action));
396
+ pushUint(out, n, 8);
397
+ out.push(0);
398
+ return `0x${toHex(keccak_256(Uint8Array.from(out)))}`;
399
+ }
400
+ function hyperliquidL1TypedData(connectionId, network) {
401
+ return {
402
+ domain: { name: "Exchange", version: "1", chainId: 1337, verifyingContract: ZERO_ADDRESS },
403
+ types: {
404
+ Agent: [
405
+ { name: "source", type: "string" },
406
+ { name: "connectionId", type: "bytes32" }
407
+ ]
408
+ },
409
+ primary_type: "Agent",
410
+ message: { source: network === "mainnet" ? "a" : "b", connectionId }
411
+ };
412
+ }
413
+ function hyperliquidApproveBuilderFeeTypedData(builder, nonce) {
414
+ return {
415
+ domain: { name: "HyperliquidSignTransaction", version: "1", chainId: 42161, verifyingContract: ZERO_ADDRESS },
416
+ types: {
417
+ "HyperliquidTransaction:ApproveBuilderFee": [
418
+ { name: "hyperliquidChain", type: "string" },
419
+ { name: "maxFeeRate", type: "string" },
420
+ { name: "builder", type: "address" },
421
+ { name: "nonce", type: "uint64" }
422
+ ]
423
+ },
424
+ primary_type: "HyperliquidTransaction:ApproveBuilderFee",
425
+ message: {
426
+ hyperliquidChain: "Mainnet",
427
+ maxFeeRate: HYPERLIQUID_MAX_BUILDER_FEE_RATE,
428
+ builder: builder.toLowerCase(),
429
+ nonce
430
+ }
431
+ };
432
+ }
433
+ function canonical(value) {
434
+ if (value === null || typeof value !== "object")
435
+ return JSON.stringify(value);
436
+ if (Array.isArray(value))
437
+ return `[${value.map(canonical).join(",")}]`;
438
+ const record = value;
439
+ return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${canonical(record[key])}`).join(",")}}`;
440
+ }
441
+ function sameValue(a, b) {
442
+ return canonical(a) === canonical(b);
443
+ }
444
+ var EVM_ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
445
+ function checkBuilderField(action, builder) {
446
+ if (!("builder" in action) || action.builder === undefined)
447
+ return null;
448
+ const field = action.builder;
449
+ if (typeof field !== "object" || field === null)
450
+ return "builder field is not an object";
451
+ if (typeof field.b !== "string" || field.b.toLowerCase() !== builder.toLowerCase()) {
452
+ return "the order names a builder that is not Candle's";
453
+ }
454
+ if (typeof field.f !== "number" || !Number.isInteger(field.f) || field.f <= 0 || field.f > HYPERLIQUID_MAX_BUILDER_FEE_TENTHS_BPS) {
455
+ return "the builder fee is outside Candle's 0.1% maximum";
456
+ }
457
+ return null;
458
+ }
459
+ function decimal(value) {
460
+ if (typeof value !== "string" || !/^-?(0|[1-9][0-9]*)(\.[0-9]{1,18})?$/.test(value))
461
+ return null;
462
+ const negative = value.startsWith("-");
463
+ const [whole = "0", frac = ""] = (negative ? value.slice(1) : value).split(".");
464
+ const n = BigInt(whole) * 10n ** 18n + BigInt(frac.padEnd(18, "0"));
465
+ return negative ? -n : n;
466
+ }
467
+ function checkActionIntent(action, intent) {
468
+ const mainAsset = (a) => typeof a === "number" && Number.isInteger(a) && a >= 0 && a < 1e4;
469
+ const orderList = action.type === "order" ? action.orders : action.type === "modify" ? [action.order] : [];
470
+ if (!Array.isArray(orderList))
471
+ return "invalid orders";
472
+ for (const raw of orderList) {
473
+ if (!raw || typeof raw !== "object")
474
+ return "invalid order";
475
+ const o = raw;
476
+ if (!mainAsset(o.a))
477
+ return "order asset is outside the main perp universe";
478
+ if (typeof o.b !== "boolean" || typeof o.r !== "boolean" || (decimal(o.s) ?? 0n) <= 0n || (decimal(o.p) ?? 0n) <= 0n)
479
+ return "invalid order side, size, price or reduce-only flag";
480
+ }
481
+ if (action.type === "cancel") {
482
+ if (!Array.isArray(action.cancels) || action.cancels.length !== 1 || !mainAsset(action.cancels[0]?.a))
483
+ return "invalid cancel asset";
484
+ }
485
+ if ((action.type === "updateLeverage" || action.type === "updateIsolatedMargin") && !mainAsset(action.asset))
486
+ return "invalid action asset";
487
+ if (!intent)
488
+ return null;
489
+ const { method, params: p } = intent;
490
+ const types = {
491
+ setup: "approveBuilderFee",
492
+ open: "order",
493
+ close: "order",
494
+ cancel: "cancel",
495
+ modify: "modify",
496
+ leverage: "updateLeverage",
497
+ margin: "updateIsolatedMargin"
498
+ };
499
+ if (action.type !== types[method])
500
+ return "action type does not match the requested method";
501
+ if (method === "leverage") {
502
+ if (action.leverage !== p.leverage || action.isCross !== (p.mode !== "isolated"))
503
+ return "leverage or mode does not match the request";
504
+ }
505
+ if (method === "margin") {
506
+ const amount = decimal(p.amount);
507
+ if (amount === null || amount % 10n ** 12n !== 0n || !Number.isSafeInteger(action.ntli) || BigInt(action.ntli) !== amount / 10n ** 12n || action.isBuy !== true)
508
+ return "isolated margin amount does not match the request";
509
+ }
510
+ if (method === "open" || method === "close" || method === "modify") {
511
+ const list = orderList;
512
+ const first = list[0];
513
+ if (!first)
514
+ return "missing requested order";
515
+ const typ = first.t;
516
+ if (!typ?.limit)
517
+ return "requested order is not a limit/IOC order";
518
+ if (method === "open") {
519
+ const buy = p.side === "long" || p.side === "buy";
520
+ if (first.b !== buy || first.r !== false || decimal(first.s) !== decimal(p.size))
521
+ return "order side, size or reduce-only flag does not match the request";
522
+ const tif = (p.type ?? (p.price === undefined ? "market" : "limit")) === "market" ? "Ioc" : p.tif ?? "Gtc";
523
+ if (typ.limit.tif !== tif)
524
+ return "order time in force does not match the request";
525
+ const triggers = [
526
+ ["takeProfit", "tp"],
527
+ ["stopLoss", "sl"]
528
+ ].filter(([field]) => p[field] != null);
529
+ if (list.length !== 1 + triggers.length || action.grouping !== (triggers.length ? "normalTpsl" : "na"))
530
+ return "unexpected extra orders or grouping";
531
+ for (let i = 0;i < triggers.length; i++) {
532
+ const [field, kind] = triggers[i];
533
+ const leg = list[i + 1];
534
+ if (!leg)
535
+ return "missing trigger order";
536
+ const trigger = leg.t?.trigger;
537
+ if (leg.a !== first.a || leg.b !== !buy || leg.r !== true || decimal(leg.s) !== decimal(p.size) || trigger?.tpsl !== kind || trigger.isMarket !== true || decimal(trigger.triggerPx) !== decimal(p[field]))
538
+ return "trigger side, size, reduce-only flag or price does not match the request";
539
+ }
540
+ } else {
541
+ if (list.length !== 1)
542
+ return "unexpected extra orders";
543
+ if (method === "close" && (first.r !== true || typ.limit.tif !== "Ioc" || p.size != null && (decimal(first.s) ?? 0n) > (decimal(p.size) ?? 0n)))
544
+ return "close size or reduce-only flag does not match the request";
545
+ if (method === "modify" && p.size != null && decimal(first.s) !== decimal(p.size))
546
+ return "replacement size does not match the request";
547
+ }
548
+ if (p.price != null && decimal(first.p) !== decimal(p.price))
549
+ return "order price does not match the request";
550
+ }
551
+ return null;
552
+ }
553
+ async function hyperliquidCloseOrder(fetcher, network, address, params) {
554
+ const read = async (body) => {
555
+ const res = await fetcher(HYPERLIQUID_EXCHANGE_URLS[network].replace("/exchange", "/info"), {
556
+ method: "POST",
557
+ headers: { "content-type": "application/json" },
558
+ body: JSON.stringify(body)
559
+ });
560
+ if (!res.ok)
561
+ throw new Error("Cannot read the close position from Hyperliquid");
562
+ return JSON.parse(await res.text());
563
+ };
564
+ const [meta, state] = await Promise.all([read({ type: "meta" }), read({ type: "clearinghouseState", user: address })]);
565
+ const coin = String(params.coin).toUpperCase();
566
+ const asset = meta.universe.findIndex((m) => m.name.toUpperCase() === coin);
567
+ const szi = state.assetPositions.find((p) => p.position.coin.toUpperCase() === coin)?.position.szi;
568
+ const signed = decimal(szi);
569
+ if (asset < 0 || asset >= 1e4 || signed === null || signed === 0n)
570
+ throw new Error("No main-universe position to close");
571
+ const held = signed < 0n ? -signed : signed;
572
+ const asked = params.size == null ? held : decimal(params.size);
573
+ if (asked === null || asked <= 0n)
574
+ throw new Error("Invalid close size");
575
+ const size = asked < held ? String(params.size) : String(szi).replace(/^-/, "");
576
+ return { asset, isBuy: signed < 0n, size };
577
+ }
578
+ function verifyPerpsBuild(build, opts) {
579
+ try {
580
+ const network = opts.network ?? "mainnet";
581
+ if (!EVM_ADDRESS_RE.test(opts.builder))
582
+ return { ok: false, reason: "no valid Candle builder address to check against" };
583
+ if (build.network !== undefined && build.network !== network) {
584
+ return { ok: false, reason: `the build is for ${build.network}, this client trades ${network}` };
585
+ }
586
+ if (opts.address && build.address && build.address.toLowerCase() !== opts.address.toLowerCase()) {
587
+ return { ok: false, reason: "the build is for a different wallet" };
588
+ }
589
+ if (!Number.isSafeInteger(build.nonce) || build.nonce <= 0)
590
+ return { ok: false, reason: "invalid nonce" };
591
+ const typed = build.typedData;
592
+ if (!typed || typeof typed !== "object")
593
+ return { ok: false, reason: "no typed data" };
594
+ const action = build.action;
595
+ if (!action || typeof action !== "object")
596
+ return { ok: false, reason: "no action" };
597
+ const intentRefusal = checkActionIntent(action, opts.intent);
598
+ if (intentRefusal)
599
+ return { ok: false, reason: intentRefusal };
600
+ if (opts.closeOrder) {
601
+ const order = action.orders[0];
602
+ if (!order || order.a !== opts.closeOrder.asset || order.b !== opts.closeOrder.isBuy || decimal(order.s) !== decimal(opts.closeOrder.size) || order.r !== true)
603
+ return { ok: false, reason: "close side, asset or size does not match the requested position" };
604
+ }
605
+ if (typed.primary_type === "Agent") {
606
+ const type = action.type;
607
+ if (typeof type !== "string" || !HYPERLIQUID_ALLOWED_ACTION_TYPES.includes(type)) {
608
+ return { ok: false, reason: `action type ${String(type)} is not one Candle builds` };
609
+ }
610
+ if (type === "order") {
611
+ const refusal = checkBuilderField(action, opts.builder);
612
+ if (refusal)
613
+ return { ok: false, reason: refusal };
614
+ } else if ("builder" in action) {
615
+ return { ok: false, reason: `a ${type} action carries no builder` };
616
+ }
617
+ if ("vaultAddress" in action)
618
+ return { ok: false, reason: "the action names a vault" };
619
+ const expected = hyperliquidL1TypedData(hyperliquidActionHash(action, build.nonce), network);
620
+ if (!sameValue(typed, expected)) {
621
+ return { ok: false, reason: "the typed data does not commit to this action and nonce" };
622
+ }
623
+ return { ok: true, kind: "l1" };
624
+ }
625
+ if (typed.primary_type === "HyperliquidTransaction:ApproveBuilderFee") {
626
+ const expected = hyperliquidApproveBuilderFeeTypedData(opts.builder, build.nonce);
627
+ if (!sameValue(typed, expected)) {
628
+ return { ok: false, reason: "the builder approval is not Candle's builder at 0.1% on Mainnet" };
629
+ }
630
+ const expectedAction = {
631
+ type: "approveBuilderFee",
632
+ hyperliquidChain: "Mainnet",
633
+ signatureChainId: HYPERLIQUID_SIGNATURE_CHAIN_ID,
634
+ maxFeeRate: HYPERLIQUID_MAX_BUILDER_FEE_RATE,
635
+ builder: opts.builder.toLowerCase(),
636
+ nonce: build.nonce
637
+ };
638
+ if (!sameValue(action, expectedAction)) {
639
+ return { ok: false, reason: "the approval action does not match its typed data" };
640
+ }
641
+ return { ok: true, kind: "approveBuilderFee" };
642
+ }
643
+ return { ok: false, reason: `primary type ${String(typed.primary_type)} is not one the relay signs` };
644
+ } catch (err) {
645
+ return { ok: false, reason: err instanceof Error ? err.message : "unreadable build" };
646
+ }
647
+ }
648
+ function hyperliquidSplitSignature(signature) {
649
+ if (!/^0x[0-9a-fA-F]{130}$/.test(signature))
650
+ throw new Error("Not a 65-byte signature");
651
+ let v = Number.parseInt(signature.slice(130, 132), 16);
652
+ if (v < 27)
653
+ v += 27;
654
+ return { r: `0x${signature.slice(2, 66)}`, s: `0x${signature.slice(66, 130)}`, v };
655
+ }
656
+ function hyperliquidExchangeBody(action, nonce, signature) {
657
+ return { action, nonce, signature: hyperliquidSplitSignature(signature), vaultAddress: null, expiresAfter: null };
658
+ }
659
+ function hyperliquidRelayBody(typedData) {
660
+ return { method: "eth_signTypedData_v4", params: { typed_data: typedData } };
661
+ }
662
+
263
663
  // src/internal/rpc-endpoint.ts
264
664
  function describeRpcEndpoint(url) {
265
665
  try {
@@ -474,6 +874,8 @@ class CandleClient {
474
874
  secretStore;
475
875
  solanaRpcUrl;
476
876
  evmRpcUrl;
877
+ hyperliquidNetwork;
878
+ hyperliquidBuilder;
477
879
  wallets = {
478
880
  swapReceipt: async (hash) => {
479
881
  this.requireKey("wallets.swapReceipt()");
@@ -509,6 +911,10 @@ class CandleClient {
509
911
  this.solanaRpcUrl = opts.solanaRpcUrl;
510
912
  if (opts.evmRpcUrl !== undefined)
511
913
  this.evmRpcUrl = opts.evmRpcUrl;
914
+ this.hyperliquidNetwork = opts.hyperliquidNetwork ?? "mainnet";
915
+ const builder = opts.hyperliquidBuilder ?? CANDLE_HYPERLIQUID_BUILDER_ADDRESS;
916
+ if (builder)
917
+ this.hyperliquidBuilder = builder.toLowerCase();
512
918
  }
513
919
  async getQuotePairs(chain) {
514
920
  const query = chain ? `?chain=${chain}` : "";
@@ -1030,6 +1436,171 @@ class CandleClient {
1030
1436
  await waitForReceipt(params.rpc, txHash);
1031
1437
  return txHash;
1032
1438
  }
1439
+ async perpsConfig() {
1440
+ this.requireKey("perpsConfig()");
1441
+ return this.requestJson("GET", "/api/v1/agent/perps/config");
1442
+ }
1443
+ async perpsSetup(params) {
1444
+ this.requireKey("perpsSetup()");
1445
+ const res = await this.requestJson("POST", "/api/v1/agent/perps/setup", { walletId: params.walletId });
1446
+ const status = {
1447
+ walletId: res.walletId,
1448
+ address: res.address,
1449
+ network: res.network,
1450
+ mode: res.mode,
1451
+ standardMode: res.standardMode,
1452
+ accountValue: res.accountValue,
1453
+ withdrawable: res.withdrawable,
1454
+ builder: res.builder,
1455
+ approvedFeeTenthsBps: res.approvedFeeTenthsBps,
1456
+ ready: res.ready
1457
+ };
1458
+ if (res.ready)
1459
+ return status;
1460
+ return { ...status, action: await this.perpsComplete(res, params, "setup") };
1461
+ }
1462
+ async perpsOpen(params) {
1463
+ this.requireKey("perpsOpen()");
1464
+ const { walletId, privyWalletId: _p, submit: _s, ...order } = params;
1465
+ const build = await this.requestJson("POST", "/api/v1/agent/perps/open", { walletId, ...order });
1466
+ return this.perpsComplete(build, params, "open");
1467
+ }
1468
+ async perpsClose(params) {
1469
+ this.requireKey("perpsClose()");
1470
+ const { walletId, privyWalletId: _p, submit: _s, ...close } = params;
1471
+ const build = await this.requestJson("POST", "/api/v1/agent/perps/close", { walletId, ...close });
1472
+ return this.perpsComplete(build, params, "close");
1473
+ }
1474
+ async perpsCancel(params) {
1475
+ this.requireKey("perpsCancel()");
1476
+ const build = await this.requestJson("POST", "/api/v1/agent/perps/cancel", {
1477
+ walletId: params.walletId,
1478
+ cloid: params.cloid
1479
+ });
1480
+ return this.perpsComplete(build, params, "cancel");
1481
+ }
1482
+ async perpsModify(params) {
1483
+ this.requireKey("perpsModify()");
1484
+ const { walletId, privyWalletId: _p, submit: _s, ...modify } = params;
1485
+ const build = await this.requestJson("POST", "/api/v1/agent/perps/modify", { walletId, ...modify });
1486
+ return this.perpsComplete(build, params, "modify");
1487
+ }
1488
+ async perpsLeverage(params) {
1489
+ this.requireKey("perpsLeverage()");
1490
+ const { walletId, privyWalletId: _p, submit: _s, ...leverage } = params;
1491
+ const build = await this.requestJson("POST", "/api/v1/agent/perps/leverage", { walletId, ...leverage });
1492
+ return this.perpsComplete(build, params, "leverage");
1493
+ }
1494
+ async perpsMargin(params) {
1495
+ this.requireKey("perpsMargin()");
1496
+ const build = await this.requestJson("POST", "/api/v1/agent/perps/margin", {
1497
+ walletId: params.walletId,
1498
+ coin: params.coin,
1499
+ amount: params.amount
1500
+ });
1501
+ return this.perpsComplete(build, params, "margin");
1502
+ }
1503
+ async perpsPositions(walletId) {
1504
+ this.requireKey("perpsPositions()");
1505
+ return this.requestJson("GET", `/api/v1/agent/perps/positions?walletId=${encodeURIComponent(walletId)}`);
1506
+ }
1507
+ async perpsOrders(walletId, opts = {}) {
1508
+ this.requireKey("perpsOrders()");
1509
+ const params = new URLSearchParams({ walletId });
1510
+ if (opts.limit !== undefined)
1511
+ params.set("limit", String(opts.limit));
1512
+ return this.requestJson("GET", `/api/v1/agent/perps/orders?${params}`);
1513
+ }
1514
+ async perpsFills(walletId) {
1515
+ this.requireKey("perpsFills()");
1516
+ return this.requestJson("GET", `/api/v1/agent/perps/fills?walletId=${encodeURIComponent(walletId)}`);
1517
+ }
1518
+ async perpsFunding(walletId, startTime) {
1519
+ this.requireKey("perpsFunding()");
1520
+ const params = new URLSearchParams({ walletId });
1521
+ if (startTime !== undefined)
1522
+ params.set("startTime", String(startTime));
1523
+ return this.requestJson("GET", `/api/v1/agent/perps/funding?${params}`);
1524
+ }
1525
+ async perpsBuilder() {
1526
+ if (this.hyperliquidBuilder)
1527
+ return this.hyperliquidBuilder;
1528
+ const config = await this.perpsConfig();
1529
+ if (!config.builder)
1530
+ throw new Error("perps: the server reports no Hyperliquid builder address");
1531
+ this.hyperliquidBuilder = config.builder.toLowerCase();
1532
+ return this.hyperliquidBuilder;
1533
+ }
1534
+ async perpsComplete(build, ref, method) {
1535
+ const check = verifyPerpsBuild(build, {
1536
+ builder: await this.perpsBuilder(),
1537
+ network: this.hyperliquidNetwork,
1538
+ intent: { method, params: ref }
1539
+ });
1540
+ if (!check.ok)
1541
+ throw new Error(`perps: refused to sign this build: ${check.reason}`);
1542
+ if (method === "close") {
1543
+ const closeOrder = await hyperliquidCloseOrder(this.fetchImpl, this.hyperliquidNetwork, build.address, ref);
1544
+ const closeCheck = verifyPerpsBuild(build, {
1545
+ builder: await this.perpsBuilder(),
1546
+ network: this.hyperliquidNetwork,
1547
+ intent: { method, params: ref },
1548
+ closeOrder
1549
+ });
1550
+ if (!closeCheck.ok)
1551
+ throw new Error(`perps: refused to sign this build: ${closeCheck.reason}`);
1552
+ }
1553
+ if (ref.submit === false)
1554
+ return { build, signature: null, submitted: false, exchange: null };
1555
+ const signature = await this.signLinkedTypedData({
1556
+ linkedWalletId: ref.walletId,
1557
+ privyWalletId: ref.privyWalletId,
1558
+ typedData: build.typedData
1559
+ });
1560
+ try {
1561
+ const res = await this.fetchImpl(HYPERLIQUID_EXCHANGE_URLS[this.hyperliquidNetwork], {
1562
+ method: "POST",
1563
+ headers: { "content-type": "application/json" },
1564
+ body: JSON.stringify(hyperliquidExchangeBody(build.action, build.nonce, signature))
1565
+ });
1566
+ const text = await res.text();
1567
+ if (!res.ok) {
1568
+ return { build, signature, submitted: false, exchange: null, submitError: `HTTP ${res.status}: ${text}` };
1569
+ }
1570
+ return { build, signature, submitted: true, exchange: JSON.parse(text) };
1571
+ } catch (err) {
1572
+ return {
1573
+ build,
1574
+ signature,
1575
+ submitted: false,
1576
+ exchange: null,
1577
+ submitError: err instanceof Error ? err.message : String(err)
1578
+ };
1579
+ }
1580
+ }
1581
+ async signLinkedTypedData(params) {
1582
+ if (!this.privyAppId) {
1583
+ throw new Error("perps signing requires privyAppId in CandleClientOptions (the relay's Privy app id)");
1584
+ }
1585
+ if (!this.secretStore)
1586
+ throw new Error("perps signing requires a secretStore in CandleClientOptions");
1587
+ const privateKeyPem = await this.secretStore.get(params.linkedWalletId);
1588
+ if (!privateKeyPem) {
1589
+ throw new Error(`perps: no signer key stored for linked wallet "${params.linkedWalletId}"`);
1590
+ }
1591
+ const body = hyperliquidRelayBody(params.typedData);
1592
+ const authorizationSignature = await buildPrivyAuthorizationSignature({
1593
+ privateKeyPem,
1594
+ privyWalletId: params.privyWalletId,
1595
+ appId: this.privyAppId,
1596
+ body
1597
+ });
1598
+ const res = await this.requestJson("POST", `/api/v1/agent/wallets/${encodeURIComponent(params.linkedWalletId)}/sign`, { authorizationSignature, body });
1599
+ if (typeof res.signature !== "string" || !/^0x[0-9a-fA-F]{130}$/.test(res.signature)) {
1600
+ throw new Error("perps: the relay returned no signature");
1601
+ }
1602
+ return res.signature;
1603
+ }
1033
1604
  requireKey(method) {
1034
1605
  if (!this.apiKey) {
1035
1606
  throw new Error(`${method} requires an apiKey: pass one in CandleClientOptions (new CandleClient({ apiKey }))`);
@@ -1113,7 +1684,7 @@ function generateClientLaunchId() {
1113
1684
  function generateClientTradeId() {
1114
1685
  return generateSdkId();
1115
1686
  }
1116
- var SDK_VERSION = "0.4.5";
1687
+ var SDK_VERSION = "0.4.6";
1117
1688
  var sdkUpdateWarned = false;
1118
1689
  function noteLatestSdkVersion(value) {
1119
1690
  if (sdkUpdateWarned || !value || !/^\d+\.\d+\.\d+$/.test(value))
@@ -1398,14 +1969,19 @@ function verifyWebhookSignature(secret, header, body, nowSec, toleranceSec = 300
1398
1969
  }
1399
1970
  export {
1400
1971
  verifyWebhookSignature,
1972
+ verifyPerpsBuild,
1401
1973
  isSolanaRpcErrorData,
1974
+ hyperliquidActionHash,
1402
1975
  generateSignerKeypair,
1403
1976
  encryptWalletKeyForImport,
1404
1977
  KeychainSecretStore,
1405
1978
  JsonRpcError,
1406
1979
  InMemorySecretStore,
1980
+ HYPERLIQUID_EXCHANGE_URLS,
1981
+ HYPERLIQUID_ALLOWED_ACTION_TYPES,
1407
1982
  EncryptedFileSecretStore,
1408
1983
  CandleClient,
1409
1984
  CandleApiError,
1985
+ CANDLE_HYPERLIQUID_BUILDER_ADDRESS,
1410
1986
  BRIDGE_ERROR_CODES
1411
1987
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@candledottv/agent-sdk",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "description": "TypeScript SDK for the Candle agent rail: typed headless launches, market reads, and webhook verification",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -49,6 +49,7 @@
49
49
  "dependencies": {
50
50
  "@hpke/chacha20poly1305": "^1.6.2",
51
51
  "@hpke/core": "^1.7.2",
52
+ "@noble/hashes": "1.8.0",
52
53
  "@scure/base": "^1.2.6",
53
54
  "canonicalize": "^2.1.0"
54
55
  },