@lifi/perps-types 0.1.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +201 -0
- package/README.md +48 -0
- package/package.json +40 -0
- package/src/_cjs/account.js +3 -0
- package/src/_cjs/account.js.map +1 -0
- package/src/_cjs/authorization.js +3 -0
- package/src/_cjs/authorization.js.map +1 -0
- package/src/_cjs/enums.js +93 -0
- package/src/_cjs/enums.js.map +1 -0
- package/src/_cjs/errors.js +3 -0
- package/src/_cjs/errors.js.map +1 -0
- package/src/_cjs/index.js +24 -0
- package/src/_cjs/index.js.map +1 -0
- package/src/_cjs/market.js +3 -0
- package/src/_cjs/market.js.map +1 -0
- package/src/_cjs/package.json +1 -0
- package/src/_cjs/trading.js +3 -0
- package/src/_cjs/trading.js.map +1 -0
- package/src/_cjs/typedData.js +3 -0
- package/src/_cjs/typedData.js.map +1 -0
- package/src/_esm/account.js +2 -0
- package/src/_esm/account.js.map +1 -0
- package/src/_esm/authorization.js +2 -0
- package/src/_esm/authorization.js.map +1 -0
- package/src/_esm/enums.js +96 -0
- package/src/_esm/enums.js.map +1 -0
- package/src/_esm/errors.js +2 -0
- package/src/_esm/errors.js.map +1 -0
- package/src/_esm/index.js +8 -0
- package/src/_esm/index.js.map +1 -0
- package/src/_esm/market.js +2 -0
- package/src/_esm/market.js.map +1 -0
- package/src/_esm/package.json +1 -0
- package/src/_esm/trading.js +2 -0
- package/src/_esm/trading.js.map +1 -0
- package/src/_esm/typedData.js +2 -0
- package/src/_esm/typedData.js.map +1 -0
- package/src/_types/account.d.ts +75 -0
- package/src/_types/account.d.ts.map +1 -0
- package/src/_types/authorization.d.ts +39 -0
- package/src/_types/authorization.d.ts.map +1 -0
- package/src/_types/enums.d.ts +78 -0
- package/src/_types/enums.d.ts.map +1 -0
- package/src/_types/errors.d.ts +7 -0
- package/src/_types/errors.d.ts.map +1 -0
- package/src/_types/index.d.ts +8 -0
- package/src/_types/index.d.ts.map +1 -0
- package/src/_types/market.d.ts +71 -0
- package/src/_types/market.d.ts.map +1 -0
- package/src/_types/trading.d.ts +82 -0
- package/src/_types/trading.d.ts.map +1 -0
- package/src/_types/typedData.d.ts +11 -0
- package/src/_types/typedData.d.ts.map +1 -0
- package/src/account.ts +88 -0
- package/src/authorization.ts +46 -0
- package/src/enums.ts +99 -0
- package/src/errors.ts +7 -0
- package/src/index.ts +7 -0
- package/src/market.ts +96 -0
- package/src/trading.ts +99 -0
- package/src/typedData.ts +19 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { Address } from './typedData.js';
|
|
2
|
+
import type { HistoryItemStatus, MarginMode, OrderSide, OrderType, PositionSide } from './enums.js';
|
|
3
|
+
export interface FeeTier {
|
|
4
|
+
maker: string;
|
|
5
|
+
taker: string;
|
|
6
|
+
}
|
|
7
|
+
export interface Position {
|
|
8
|
+
symbol: string;
|
|
9
|
+
assetId: number;
|
|
10
|
+
dex: string;
|
|
11
|
+
side: PositionSide;
|
|
12
|
+
size: string;
|
|
13
|
+
entryPrice: string;
|
|
14
|
+
markPrice: string;
|
|
15
|
+
liquidationPrice: string;
|
|
16
|
+
unrealizedPnl: string;
|
|
17
|
+
leverage: number;
|
|
18
|
+
marginUsed: string;
|
|
19
|
+
marginMode: MarginMode;
|
|
20
|
+
}
|
|
21
|
+
export interface OpenOrder {
|
|
22
|
+
id: string;
|
|
23
|
+
symbol: string;
|
|
24
|
+
assetId: number;
|
|
25
|
+
dex: string;
|
|
26
|
+
side: OrderSide;
|
|
27
|
+
type: OrderType;
|
|
28
|
+
size: string;
|
|
29
|
+
price: string;
|
|
30
|
+
filledSize: string;
|
|
31
|
+
reduceOnly: boolean;
|
|
32
|
+
createdAt: string;
|
|
33
|
+
}
|
|
34
|
+
export interface Balance {
|
|
35
|
+
currency: string;
|
|
36
|
+
amount: string;
|
|
37
|
+
}
|
|
38
|
+
export interface AccountResponse {
|
|
39
|
+
dex: string;
|
|
40
|
+
address: Address;
|
|
41
|
+
balances: Balance[];
|
|
42
|
+
marginUsed: string;
|
|
43
|
+
unrealizedPnl: string;
|
|
44
|
+
feeTier: FeeTier;
|
|
45
|
+
positions: Position[];
|
|
46
|
+
openOrders: OpenOrder[];
|
|
47
|
+
config: Record<string, unknown>;
|
|
48
|
+
}
|
|
49
|
+
export interface HistoryItem {
|
|
50
|
+
id: string;
|
|
51
|
+
symbol: string;
|
|
52
|
+
assetId: number;
|
|
53
|
+
dex: string;
|
|
54
|
+
side: OrderSide;
|
|
55
|
+
type: OrderType;
|
|
56
|
+
size: string;
|
|
57
|
+
price: string;
|
|
58
|
+
status: HistoryItemStatus;
|
|
59
|
+
filledSize?: string;
|
|
60
|
+
fee?: string;
|
|
61
|
+
realizedPnl?: string | null;
|
|
62
|
+
createdAt: string;
|
|
63
|
+
}
|
|
64
|
+
export interface Pagination {
|
|
65
|
+
limit: number;
|
|
66
|
+
hasMore: boolean;
|
|
67
|
+
cursor?: string;
|
|
68
|
+
nextUrl?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface HistoryResponse {
|
|
71
|
+
dex: string;
|
|
72
|
+
items: HistoryItem[];
|
|
73
|
+
pagination: Pagination;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACb,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,iBAAiB,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;CACvB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Address, Hex, PerpsTypedData } from './typedData.js';
|
|
2
|
+
export interface AuthorizationInput {
|
|
3
|
+
key: string;
|
|
4
|
+
params?: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export interface CreateAuthorizationRequest {
|
|
7
|
+
dex: string;
|
|
8
|
+
address: Address;
|
|
9
|
+
signerAddress?: Address;
|
|
10
|
+
authorizations: AuthorizationInput[];
|
|
11
|
+
}
|
|
12
|
+
export interface AuthorizationAction {
|
|
13
|
+
action: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
typedData: PerpsTypedData;
|
|
16
|
+
}
|
|
17
|
+
export interface CreateAuthorizationResponse {
|
|
18
|
+
actions: AuthorizationAction[];
|
|
19
|
+
}
|
|
20
|
+
export interface SignedAuthorization {
|
|
21
|
+
action: string;
|
|
22
|
+
typedData: PerpsTypedData;
|
|
23
|
+
signature: Hex;
|
|
24
|
+
}
|
|
25
|
+
export interface AuthorizationsRequest {
|
|
26
|
+
dex: string;
|
|
27
|
+
address: Address;
|
|
28
|
+
signerAddress?: Address;
|
|
29
|
+
actions: SignedAuthorization[];
|
|
30
|
+
}
|
|
31
|
+
export interface AuthorizationResult {
|
|
32
|
+
action: string;
|
|
33
|
+
success: boolean;
|
|
34
|
+
error?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface AuthorizationsResponse {
|
|
37
|
+
results: AuthorizationResult[];
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=authorization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../authorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAElE,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,kBAAkB,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,cAAc,CAAA;IACzB,SAAS,EAAE,GAAG,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAC/B"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export declare enum PerpsErrorCode {
|
|
2
|
+
DefaultError = 2000,
|
|
3
|
+
ServerError = 2001,
|
|
4
|
+
ValidationError = 2002,
|
|
5
|
+
TimeoutError = 2003,
|
|
6
|
+
ThirdPartyError = 2004,
|
|
7
|
+
SignatureInvalid = 2010,
|
|
8
|
+
AgentUnauthorized = 2011,
|
|
9
|
+
ExchangeRejected = 2020,
|
|
10
|
+
InsufficientMargin = 2021,
|
|
11
|
+
InsufficientBalance = 2022,
|
|
12
|
+
MarketNotFound = 2023,
|
|
13
|
+
OrderNotFound = 2024,
|
|
14
|
+
PositionNotFound = 2025,
|
|
15
|
+
InvalidNonce = 2040,
|
|
16
|
+
NonceAlreadyUsed = 2041,
|
|
17
|
+
NonceExpired = 2042,
|
|
18
|
+
PayloadMismatch = 2050,
|
|
19
|
+
RouteNotFound = 2060
|
|
20
|
+
}
|
|
21
|
+
export declare enum OrderSide {
|
|
22
|
+
BUY = "BUY",
|
|
23
|
+
SELL = "SELL"
|
|
24
|
+
}
|
|
25
|
+
export declare enum OrderType {
|
|
26
|
+
MARKET = "MARKET",
|
|
27
|
+
LIMIT = "LIMIT"
|
|
28
|
+
}
|
|
29
|
+
export declare enum PositionSide {
|
|
30
|
+
LONG = "LONG",
|
|
31
|
+
SHORT = "SHORT"
|
|
32
|
+
}
|
|
33
|
+
export declare enum MarginMode {
|
|
34
|
+
ISOLATED = "ISOLATED",
|
|
35
|
+
CROSS = "CROSS"
|
|
36
|
+
}
|
|
37
|
+
export declare enum TimeInForce {
|
|
38
|
+
GTC = "GTC",
|
|
39
|
+
IOC = "IOC",
|
|
40
|
+
POST_ONLY = "POST_ONLY",
|
|
41
|
+
GTT = "GTT"
|
|
42
|
+
}
|
|
43
|
+
export declare enum OrderStatus {
|
|
44
|
+
PENDING = "PENDING",
|
|
45
|
+
OPEN = "OPEN",
|
|
46
|
+
PARTIALLY_FILLED = "PARTIALLY_FILLED",
|
|
47
|
+
FILLED = "FILLED",
|
|
48
|
+
CANCELLED = "CANCELLED",
|
|
49
|
+
REJECTED = "REJECTED",
|
|
50
|
+
EXPIRED = "EXPIRED",
|
|
51
|
+
TRIGGERED = "TRIGGERED"
|
|
52
|
+
}
|
|
53
|
+
export declare enum HistoryItemStatus {
|
|
54
|
+
FILLED = "FILLED",
|
|
55
|
+
PARTIALLY_FILLED = "PARTIALLY_FILLED",
|
|
56
|
+
CANCELLED = "CANCELLED",
|
|
57
|
+
REJECTED = "REJECTED"
|
|
58
|
+
}
|
|
59
|
+
export declare enum OrderActionType {
|
|
60
|
+
UPDATE_LEVERAGE = "updateLeverage",
|
|
61
|
+
PLACE_ORDER = "placeOrder",
|
|
62
|
+
PLACE_TRIGGER_ORDER = "placeTriggerOrder",
|
|
63
|
+
CANCEL_ORDER = "cancelOrder"
|
|
64
|
+
}
|
|
65
|
+
export declare enum TriggerCondition {
|
|
66
|
+
ABOVE = "ABOVE",
|
|
67
|
+
BELOW = "BELOW"
|
|
68
|
+
}
|
|
69
|
+
export declare enum TriggerOrderType {
|
|
70
|
+
TAKE_PROFIT = "TAKE_PROFIT",
|
|
71
|
+
STOP_LOSS = "STOP_LOSS"
|
|
72
|
+
}
|
|
73
|
+
export declare enum TriggerOrderStatus {
|
|
74
|
+
WAITING = "WAITING",
|
|
75
|
+
TRIGGERED = "TRIGGERED",
|
|
76
|
+
CANCELLED = "CANCELLED"
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../enums.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IAExB,YAAY,OAAO;IACnB,WAAW,OAAO;IAClB,eAAe,OAAO;IACtB,YAAY,OAAO;IACnB,eAAe,OAAO;IAGtB,gBAAgB,OAAO;IACvB,iBAAiB,OAAO;IAGxB,gBAAgB,OAAO;IACvB,kBAAkB,OAAO;IACzB,mBAAmB,OAAO;IAC1B,cAAc,OAAO;IACrB,aAAa,OAAO;IACpB,gBAAgB,OAAO;IAGvB,YAAY,OAAO;IACnB,gBAAgB,OAAO;IACvB,YAAY,OAAO;IAGnB,eAAe,OAAO;IAGtB,aAAa,OAAO;CACrB;AAED,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,oBAAY,UAAU;IACpB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,GAAG,QAAQ;CACZ;AAED,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAED,oBAAY,eAAe;IACzB,eAAe,mBAAmB;IAClC,WAAW,eAAe;IAC1B,mBAAmB,sBAAsB;IACzC,YAAY,gBAAgB;CAC7B;AAED,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;CACxB;AAED,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export interface AuthorizationParam {
|
|
2
|
+
name: string;
|
|
3
|
+
type: 'string' | 'number' | 'boolean';
|
|
4
|
+
required: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface Authorization {
|
|
7
|
+
key: string;
|
|
8
|
+
name: string;
|
|
9
|
+
params?: AuthorizationParam[];
|
|
10
|
+
}
|
|
11
|
+
export interface Dex {
|
|
12
|
+
key: string;
|
|
13
|
+
name: string;
|
|
14
|
+
logoURI: string;
|
|
15
|
+
authorizations: Authorization[];
|
|
16
|
+
extraData?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
export interface DexesResponse {
|
|
19
|
+
dexes: Dex[];
|
|
20
|
+
}
|
|
21
|
+
export interface FundingInfo {
|
|
22
|
+
rate: string;
|
|
23
|
+
nextFundingTime: number;
|
|
24
|
+
}
|
|
25
|
+
export interface Market {
|
|
26
|
+
symbol: string;
|
|
27
|
+
name: string;
|
|
28
|
+
logoURI: string;
|
|
29
|
+
assetId: number;
|
|
30
|
+
dex: string;
|
|
31
|
+
szDecimals: number;
|
|
32
|
+
maxLeverage: number;
|
|
33
|
+
onlyIsolated: boolean;
|
|
34
|
+
funding: FundingInfo;
|
|
35
|
+
openInterest?: string;
|
|
36
|
+
volume24h?: string;
|
|
37
|
+
markPrice: string;
|
|
38
|
+
}
|
|
39
|
+
export interface MarketsResponse {
|
|
40
|
+
markets: Market[];
|
|
41
|
+
}
|
|
42
|
+
export interface PricesResponse {
|
|
43
|
+
prices: Record<string, string>;
|
|
44
|
+
}
|
|
45
|
+
export interface Candle {
|
|
46
|
+
t: number;
|
|
47
|
+
o: string;
|
|
48
|
+
h: string;
|
|
49
|
+
l: string;
|
|
50
|
+
c: string;
|
|
51
|
+
v: string;
|
|
52
|
+
}
|
|
53
|
+
export interface OhlcvResponse {
|
|
54
|
+
dex: string;
|
|
55
|
+
symbol: string;
|
|
56
|
+
interval: string;
|
|
57
|
+
candles: Candle[];
|
|
58
|
+
}
|
|
59
|
+
export type OhlcvInterval = '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '8h' | '12h' | '1d' | '3d' | '1w' | '1M';
|
|
60
|
+
export interface OrderbookLevel {
|
|
61
|
+
price: string;
|
|
62
|
+
size: string;
|
|
63
|
+
}
|
|
64
|
+
export interface OrderbookResponse {
|
|
65
|
+
dex: string;
|
|
66
|
+
symbol: string;
|
|
67
|
+
bids: OrderbookLevel[];
|
|
68
|
+
asks: OrderbookLevel[];
|
|
69
|
+
timestamp: number;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=market.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../market.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACrC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,GAAG,EAAE,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAA;AAER,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { Address, Hex, PerpsTypedData } from './typedData.js';
|
|
2
|
+
import type { OrderActionType, OrderSide, OrderStatus, OrderType, TimeInForce, TriggerCondition } from './enums.js';
|
|
3
|
+
export interface TriggerOrderInput {
|
|
4
|
+
triggerPrice: string;
|
|
5
|
+
limitPrice?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CreateOrderRequest {
|
|
8
|
+
dex: string;
|
|
9
|
+
address: Address;
|
|
10
|
+
signerAddress?: Address;
|
|
11
|
+
clientOrderId?: string;
|
|
12
|
+
symbol: string;
|
|
13
|
+
side: OrderSide;
|
|
14
|
+
type: OrderType;
|
|
15
|
+
size: string;
|
|
16
|
+
price: string;
|
|
17
|
+
leverage?: number;
|
|
18
|
+
reduceOnly?: boolean;
|
|
19
|
+
timeInForce?: TimeInForce;
|
|
20
|
+
expiresAt?: string;
|
|
21
|
+
takeProfit?: TriggerOrderInput;
|
|
22
|
+
stopLoss?: TriggerOrderInput;
|
|
23
|
+
}
|
|
24
|
+
export interface OrderAction {
|
|
25
|
+
action: OrderActionType;
|
|
26
|
+
description?: string;
|
|
27
|
+
typedData: PerpsTypedData;
|
|
28
|
+
}
|
|
29
|
+
export interface CreateOrderResponse {
|
|
30
|
+
actions: OrderAction[];
|
|
31
|
+
}
|
|
32
|
+
export interface CancelOrderRequest {
|
|
33
|
+
dex: string;
|
|
34
|
+
address: Address;
|
|
35
|
+
signerAddress?: Address;
|
|
36
|
+
ids: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface CancelOrderPayloadResponse {
|
|
39
|
+
actions: OrderAction[];
|
|
40
|
+
}
|
|
41
|
+
export interface SignedOrderAction {
|
|
42
|
+
action: OrderActionType;
|
|
43
|
+
typedData: PerpsTypedData;
|
|
44
|
+
signature: Hex;
|
|
45
|
+
}
|
|
46
|
+
export interface SubmitOrderRequest {
|
|
47
|
+
dex: string;
|
|
48
|
+
address: Address;
|
|
49
|
+
signerAddress?: Address;
|
|
50
|
+
actions: SignedOrderAction[];
|
|
51
|
+
}
|
|
52
|
+
export interface OrderActionResult {
|
|
53
|
+
action: OrderActionType;
|
|
54
|
+
success: boolean;
|
|
55
|
+
orderId?: string;
|
|
56
|
+
error?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface SubmitOrderResponse {
|
|
59
|
+
results: OrderActionResult[];
|
|
60
|
+
}
|
|
61
|
+
export interface Order {
|
|
62
|
+
orderId: string;
|
|
63
|
+
clientOrderId?: string;
|
|
64
|
+
symbol: string;
|
|
65
|
+
side: OrderSide;
|
|
66
|
+
type: OrderType;
|
|
67
|
+
price?: string;
|
|
68
|
+
originalSize: string;
|
|
69
|
+
remainingSize: string;
|
|
70
|
+
filledSize: string;
|
|
71
|
+
timeInForce?: TimeInForce;
|
|
72
|
+
expiresAt?: string;
|
|
73
|
+
reduceOnly?: boolean;
|
|
74
|
+
isTrigger?: boolean;
|
|
75
|
+
triggerPrice?: string;
|
|
76
|
+
triggerCondition?: TriggerCondition;
|
|
77
|
+
status: OrderStatus;
|
|
78
|
+
averagePrice?: string;
|
|
79
|
+
createdAt: string;
|
|
80
|
+
updatedAt: string;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=trading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trading.d.ts","sourceRoot":"","sources":["../trading.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TypedData, SignedTypedData } from '@lifi/types';
|
|
2
|
+
import type { Address, Hex, TypedDataDomain, TypedDataParameter } from 'viem';
|
|
3
|
+
export type PerpsTypedDataPrimaryType = 'HyperliquidTransaction:ApproveAgent' | 'HyperliquidTransaction:ApproveBuilderFee' | 'HyperliquidTransaction:UserSetAbstraction' | 'Agent';
|
|
4
|
+
export type PerpsTypedData = Omit<TypedData, 'primaryType'> & {
|
|
5
|
+
primaryType: PerpsTypedDataPrimaryType;
|
|
6
|
+
};
|
|
7
|
+
export type PerpsSignedTypedData = Omit<SignedTypedData, 'primaryType'> & {
|
|
8
|
+
primaryType: PerpsTypedDataPrimaryType;
|
|
9
|
+
};
|
|
10
|
+
export type { Address, Hex, TypedDataDomain, TypedDataParameter };
|
|
11
|
+
//# sourceMappingURL=typedData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedData.d.ts","sourceRoot":"","sources":["../typedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAE7E,MAAM,MAAM,yBAAyB,GACjC,qCAAqC,GACrC,0CAA0C,GAC1C,2CAA2C,GAC3C,OAAO,CAAA;AAEX,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG;IAC5D,WAAW,EAAE,yBAAyB,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG;IACxE,WAAW,EAAE,yBAAyB,CAAA;CACvC,CAAA;AAGD,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}
|
package/src/account.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { Address } from './typedData.js'
|
|
2
|
+
import type {
|
|
3
|
+
HistoryItemStatus,
|
|
4
|
+
MarginMode,
|
|
5
|
+
OrderSide,
|
|
6
|
+
OrderType,
|
|
7
|
+
PositionSide,
|
|
8
|
+
} from './enums.js'
|
|
9
|
+
|
|
10
|
+
export interface FeeTier {
|
|
11
|
+
maker: string
|
|
12
|
+
taker: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface Position {
|
|
16
|
+
symbol: string
|
|
17
|
+
assetId: number
|
|
18
|
+
dex: string
|
|
19
|
+
side: PositionSide
|
|
20
|
+
size: string
|
|
21
|
+
entryPrice: string
|
|
22
|
+
markPrice: string
|
|
23
|
+
liquidationPrice: string
|
|
24
|
+
unrealizedPnl: string
|
|
25
|
+
leverage: number
|
|
26
|
+
marginUsed: string
|
|
27
|
+
marginMode: MarginMode
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface OpenOrder {
|
|
31
|
+
id: string
|
|
32
|
+
symbol: string
|
|
33
|
+
assetId: number
|
|
34
|
+
dex: string
|
|
35
|
+
side: OrderSide
|
|
36
|
+
type: OrderType
|
|
37
|
+
size: string
|
|
38
|
+
price: string
|
|
39
|
+
filledSize: string
|
|
40
|
+
reduceOnly: boolean
|
|
41
|
+
createdAt: string
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface Balance {
|
|
45
|
+
currency: string
|
|
46
|
+
amount: string
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface AccountResponse {
|
|
50
|
+
dex: string
|
|
51
|
+
address: Address
|
|
52
|
+
balances: Balance[]
|
|
53
|
+
marginUsed: string
|
|
54
|
+
unrealizedPnl: string
|
|
55
|
+
feeTier: FeeTier
|
|
56
|
+
positions: Position[]
|
|
57
|
+
openOrders: OpenOrder[]
|
|
58
|
+
config: Record<string, unknown>
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface HistoryItem {
|
|
62
|
+
id: string
|
|
63
|
+
symbol: string
|
|
64
|
+
assetId: number
|
|
65
|
+
dex: string
|
|
66
|
+
side: OrderSide
|
|
67
|
+
type: OrderType
|
|
68
|
+
size: string
|
|
69
|
+
price: string
|
|
70
|
+
status: HistoryItemStatus
|
|
71
|
+
filledSize?: string
|
|
72
|
+
fee?: string
|
|
73
|
+
realizedPnl?: string | null
|
|
74
|
+
createdAt: string
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface Pagination {
|
|
78
|
+
limit: number
|
|
79
|
+
hasMore: boolean
|
|
80
|
+
cursor?: string
|
|
81
|
+
nextUrl?: string
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export interface HistoryResponse {
|
|
85
|
+
dex: string
|
|
86
|
+
items: HistoryItem[]
|
|
87
|
+
pagination: Pagination
|
|
88
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Address, Hex, PerpsTypedData } from './typedData.js'
|
|
2
|
+
|
|
3
|
+
export interface AuthorizationInput {
|
|
4
|
+
key: string
|
|
5
|
+
params?: Record<string, unknown>
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface CreateAuthorizationRequest {
|
|
9
|
+
dex: string
|
|
10
|
+
address: Address
|
|
11
|
+
signerAddress?: Address
|
|
12
|
+
authorizations: AuthorizationInput[]
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface AuthorizationAction {
|
|
16
|
+
action: string
|
|
17
|
+
description?: string
|
|
18
|
+
typedData: PerpsTypedData
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface CreateAuthorizationResponse {
|
|
22
|
+
actions: AuthorizationAction[]
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface SignedAuthorization {
|
|
26
|
+
action: string
|
|
27
|
+
typedData: PerpsTypedData
|
|
28
|
+
signature: Hex
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface AuthorizationsRequest {
|
|
32
|
+
dex: string
|
|
33
|
+
address: Address
|
|
34
|
+
signerAddress?: Address
|
|
35
|
+
actions: SignedAuthorization[]
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface AuthorizationResult {
|
|
39
|
+
action: string
|
|
40
|
+
success: boolean
|
|
41
|
+
error?: string
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface AuthorizationsResponse {
|
|
45
|
+
results: AuthorizationResult[]
|
|
46
|
+
}
|
package/src/enums.ts
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export enum PerpsErrorCode {
|
|
2
|
+
// Base errors (2000-2009)
|
|
3
|
+
DefaultError = 2000,
|
|
4
|
+
ServerError = 2001,
|
|
5
|
+
ValidationError = 2002,
|
|
6
|
+
TimeoutError = 2003,
|
|
7
|
+
ThirdPartyError = 2004,
|
|
8
|
+
|
|
9
|
+
// Auth errors (2010-2019)
|
|
10
|
+
SignatureInvalid = 2010,
|
|
11
|
+
AgentUnauthorized = 2011,
|
|
12
|
+
|
|
13
|
+
// Trading errors (2020-2039)
|
|
14
|
+
ExchangeRejected = 2020,
|
|
15
|
+
InsufficientMargin = 2021,
|
|
16
|
+
InsufficientBalance = 2022,
|
|
17
|
+
MarketNotFound = 2023,
|
|
18
|
+
OrderNotFound = 2024,
|
|
19
|
+
PositionNotFound = 2025,
|
|
20
|
+
|
|
21
|
+
// Nonce errors (2040-2049)
|
|
22
|
+
InvalidNonce = 2040,
|
|
23
|
+
NonceAlreadyUsed = 2041,
|
|
24
|
+
NonceExpired = 2042,
|
|
25
|
+
|
|
26
|
+
// Payload errors (2050-2059)
|
|
27
|
+
PayloadMismatch = 2050,
|
|
28
|
+
|
|
29
|
+
// Routing errors (2060-2069)
|
|
30
|
+
RouteNotFound = 2060,
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export enum OrderSide {
|
|
34
|
+
BUY = 'BUY',
|
|
35
|
+
SELL = 'SELL',
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export enum OrderType {
|
|
39
|
+
MARKET = 'MARKET',
|
|
40
|
+
LIMIT = 'LIMIT',
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export enum PositionSide {
|
|
44
|
+
LONG = 'LONG',
|
|
45
|
+
SHORT = 'SHORT',
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export enum MarginMode {
|
|
49
|
+
ISOLATED = 'ISOLATED',
|
|
50
|
+
CROSS = 'CROSS',
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export enum TimeInForce {
|
|
54
|
+
GTC = 'GTC',
|
|
55
|
+
IOC = 'IOC',
|
|
56
|
+
POST_ONLY = 'POST_ONLY',
|
|
57
|
+
GTT = 'GTT',
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export enum OrderStatus {
|
|
61
|
+
PENDING = 'PENDING',
|
|
62
|
+
OPEN = 'OPEN',
|
|
63
|
+
PARTIALLY_FILLED = 'PARTIALLY_FILLED',
|
|
64
|
+
FILLED = 'FILLED',
|
|
65
|
+
CANCELLED = 'CANCELLED',
|
|
66
|
+
REJECTED = 'REJECTED',
|
|
67
|
+
EXPIRED = 'EXPIRED',
|
|
68
|
+
TRIGGERED = 'TRIGGERED',
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export enum HistoryItemStatus {
|
|
72
|
+
FILLED = 'FILLED',
|
|
73
|
+
PARTIALLY_FILLED = 'PARTIALLY_FILLED',
|
|
74
|
+
CANCELLED = 'CANCELLED',
|
|
75
|
+
REJECTED = 'REJECTED',
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export enum OrderActionType {
|
|
79
|
+
UPDATE_LEVERAGE = 'updateLeverage',
|
|
80
|
+
PLACE_ORDER = 'placeOrder',
|
|
81
|
+
PLACE_TRIGGER_ORDER = 'placeTriggerOrder',
|
|
82
|
+
CANCEL_ORDER = 'cancelOrder',
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export enum TriggerCondition {
|
|
86
|
+
ABOVE = 'ABOVE',
|
|
87
|
+
BELOW = 'BELOW',
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export enum TriggerOrderType {
|
|
91
|
+
TAKE_PROFIT = 'TAKE_PROFIT',
|
|
92
|
+
STOP_LOSS = 'STOP_LOSS',
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export enum TriggerOrderStatus {
|
|
96
|
+
WAITING = 'WAITING',
|
|
97
|
+
TRIGGERED = 'TRIGGERED',
|
|
98
|
+
CANCELLED = 'CANCELLED',
|
|
99
|
+
}
|
package/src/errors.ts
ADDED