@lifi/perps-types 0.2.0-alpha.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -30
- package/dist/cjs/acceptTerms.d.ts +20 -0
- package/dist/cjs/acceptTerms.d.ts.map +1 -0
- package/dist/cjs/acceptTerms.js +10 -0
- package/dist/cjs/acceptTerms.js.map +1 -0
- package/dist/cjs/account.d.ts +191 -0
- package/dist/cjs/account.d.ts.map +1 -0
- package/{src/_esm → dist/cjs}/account.js.map +1 -1
- package/dist/cjs/action.d.ts +200 -0
- package/dist/cjs/action.d.ts.map +1 -0
- package/dist/cjs/action.js.map +1 -0
- package/dist/cjs/asset.d.ts +11 -0
- package/dist/cjs/asset.d.ts.map +1 -0
- package/dist/cjs/asset.js.map +1 -0
- package/{src/_types → dist/cjs}/enums.d.ts +6 -12
- package/dist/cjs/enums.d.ts.map +1 -0
- package/{src/_cjs → dist/cjs}/enums.js +4 -0
- package/dist/cjs/enums.js.map +1 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js.map +1 -0
- package/{src/_types → dist/cjs}/index.d.ts +11 -5
- package/dist/cjs/index.d.ts.map +1 -0
- package/{src/_cjs → dist/cjs}/index.js +11 -5
- package/dist/cjs/index.js.map +1 -0
- package/{src/_types/asset.d.ts → dist/cjs/market.d.ts} +33 -25
- package/dist/cjs/market.d.ts.map +1 -0
- package/dist/cjs/market.js +3 -0
- package/dist/cjs/market.js.map +1 -0
- package/dist/cjs/meta.d.ts +17 -0
- package/dist/cjs/meta.d.ts.map +1 -0
- package/dist/cjs/meta.js +3 -0
- package/dist/cjs/meta.js.map +1 -0
- package/dist/cjs/primitives.d.ts +3 -0
- package/dist/cjs/primitives.d.ts.map +1 -0
- package/dist/cjs/primitives.js +3 -0
- package/dist/cjs/primitives.js.map +1 -0
- package/dist/cjs/providers.d.ts +58 -0
- package/dist/cjs/providers.d.ts.map +1 -0
- package/{src/_cjs → dist/cjs}/providers.js.map +1 -1
- package/dist/cjs/quote.d.ts +23 -0
- package/dist/cjs/quote.d.ts.map +1 -0
- package/dist/cjs/quote.js +3 -0
- package/dist/cjs/quote.js.map +1 -0
- package/{src/_types → dist/cjs}/subscriptions.d.ts +14 -13
- package/dist/cjs/subscriptions.d.ts.map +1 -0
- package/{src/_cjs → dist/cjs}/subscriptions.js.map +1 -1
- package/dist/cjs/typedData.d.ts +23 -0
- package/dist/cjs/typedData.d.ts.map +1 -0
- package/{src/_cjs → dist/cjs}/typedData.js.map +1 -1
- package/dist/cjs/vote.d.ts +27 -0
- package/dist/cjs/vote.d.ts.map +1 -0
- package/dist/cjs/vote.js +12 -0
- package/dist/cjs/vote.js.map +1 -0
- package/dist/esm/acceptTerms.d.ts +45 -0
- package/dist/esm/acceptTerms.d.ts.map +1 -0
- package/dist/esm/acceptTerms.js +12 -0
- package/dist/esm/acceptTerms.js.map +1 -0
- package/dist/esm/account.d.ts +229 -0
- package/dist/esm/account.d.ts.map +1 -0
- package/{src/_cjs → dist/esm}/account.js.map +1 -1
- package/{src/_types → dist/esm}/action.d.ts +56 -69
- package/dist/esm/action.d.ts.map +1 -0
- package/dist/esm/action.js +2 -0
- package/dist/esm/action.js.map +1 -0
- package/dist/esm/asset.d.ts +25 -0
- package/dist/esm/asset.d.ts.map +1 -0
- package/dist/esm/asset.js.map +1 -0
- package/dist/esm/enums.d.ts +171 -0
- package/dist/esm/enums.d.ts.map +1 -0
- package/{src/_esm → dist/esm}/enums.js +26 -10
- package/dist/esm/enums.js.map +1 -0
- package/dist/esm/errors.d.ts +8 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/index.d.ts +23 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +23 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/market.d.ts +107 -0
- package/dist/esm/market.d.ts.map +1 -0
- package/dist/esm/market.js +2 -0
- package/dist/esm/market.js.map +1 -0
- package/dist/esm/meta.d.ts +37 -0
- package/dist/esm/meta.d.ts.map +1 -0
- package/dist/esm/meta.js +2 -0
- package/dist/esm/meta.js.map +1 -0
- package/dist/esm/primitives.d.ts +5 -0
- package/dist/esm/primitives.d.ts.map +1 -0
- package/dist/esm/primitives.js +2 -0
- package/dist/esm/primitives.js.map +1 -0
- package/dist/esm/providers.d.ts +116 -0
- package/dist/esm/providers.d.ts.map +1 -0
- package/{src/_esm → dist/esm}/providers.js.map +1 -1
- package/dist/esm/quote.d.ts +47 -0
- package/dist/esm/quote.d.ts.map +1 -0
- package/dist/esm/quote.js +2 -0
- package/dist/esm/quote.js.map +1 -0
- package/dist/esm/subscriptions.d.ts +115 -0
- package/dist/esm/subscriptions.d.ts.map +1 -0
- package/{src/_esm → dist/esm}/subscriptions.js.map +1 -1
- package/dist/esm/typedData.d.ts +28 -0
- package/dist/esm/typedData.d.ts.map +1 -0
- package/{src/_esm → dist/esm}/typedData.js.map +1 -1
- package/dist/esm/vote.d.ts +68 -0
- package/dist/esm/vote.d.ts.map +1 -0
- package/dist/esm/vote.js +20 -0
- package/dist/esm/vote.js.map +1 -0
- package/dist/types/acceptTerms.d.ts +45 -0
- package/dist/types/acceptTerms.d.ts.map +1 -0
- package/dist/types/account.d.ts +229 -0
- package/dist/types/account.d.ts.map +1 -0
- package/dist/types/action.d.ts +248 -0
- package/dist/types/action.d.ts.map +1 -0
- package/dist/types/asset.d.ts +25 -0
- package/dist/types/asset.d.ts.map +1 -0
- package/dist/types/enums.d.ts +171 -0
- package/dist/types/enums.d.ts.map +1 -0
- package/dist/types/errors.d.ts +8 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/index.d.ts +23 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/market.d.ts +107 -0
- package/dist/types/market.d.ts.map +1 -0
- package/dist/types/meta.d.ts +37 -0
- package/dist/types/meta.d.ts.map +1 -0
- package/dist/types/primitives.d.ts +5 -0
- package/dist/types/primitives.d.ts.map +1 -0
- package/dist/types/providers.d.ts +116 -0
- package/dist/types/providers.d.ts.map +1 -0
- package/dist/types/quote.d.ts +47 -0
- package/dist/types/quote.d.ts.map +1 -0
- package/dist/types/subscriptions.d.ts +115 -0
- package/dist/types/subscriptions.d.ts.map +1 -0
- package/dist/types/typedData.d.ts +28 -0
- package/dist/types/typedData.d.ts.map +1 -0
- package/dist/types/vote.d.ts +68 -0
- package/dist/types/vote.d.ts.map +1 -0
- package/package.json +37 -65
- package/src/acceptTerms.ts +53 -0
- package/src/account.ts +74 -111
- package/src/action.ts +64 -96
- package/src/asset.ts +19 -82
- package/src/enums.ts +27 -10
- package/src/errors.ts +1 -0
- package/src/index.ts +20 -5
- package/src/market.ts +137 -0
- package/src/meta.ts +38 -0
- package/src/primitives.ts +5 -0
- package/src/providers.ts +79 -110
- package/src/quote.ts +49 -0
- package/src/subscriptions.ts +62 -18
- package/src/typedData.ts +20 -11
- package/src/vote.ts +79 -0
- package/providers/hyperliquid/package.json +0 -5
- package/providers/lighter/package.json +0 -5
- package/src/_cjs/action.js.map +0 -1
- package/src/_cjs/asset.js.map +0 -1
- package/src/_cjs/enums.js.map +0 -1
- package/src/_cjs/errors.js.map +0 -1
- package/src/_cjs/index.js.map +0 -1
- package/src/_cjs/providers/_shared/fillClassification.js +0 -37
- package/src/_cjs/providers/_shared/fillClassification.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/assetId.js +0 -21
- package/src/_cjs/providers/hyperliquid/assetId.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/index.js +0 -20
- package/src/_cjs/providers/hyperliquid/index.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/_market.js +0 -15
- package/src/_cjs/providers/hyperliquid/mappers/_market.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/activity.js +0 -128
- package/src/_cjs/providers/hyperliquid/mappers/activity.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/asset.js +0 -29
- package/src/_cjs/providers/hyperliquid/mappers/asset.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/fill.js +0 -36
- package/src/_cjs/providers/hyperliquid/mappers/fill.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/index.js +0 -20
- package/src/_cjs/providers/hyperliquid/mappers/index.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/order.js +0 -153
- package/src/_cjs/providers/hyperliquid/mappers/order.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/position.js +0 -32
- package/src/_cjs/providers/hyperliquid/mappers/position.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/shared.js +0 -2
- package/src/_cjs/providers/hyperliquid/mappers/shared.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/types.js +0 -21
- package/src/_cjs/providers/hyperliquid/types.js.map +0 -1
- package/src/_cjs/providers/lighter/apiTypes.js +0 -3
- package/src/_cjs/providers/lighter/apiTypes.js.map +0 -1
- package/src/_cjs/providers/lighter/index.js +0 -20
- package/src/_cjs/providers/lighter/index.js.map +0 -1
- package/src/_cjs/providers/lighter/mappers/fill.js +0 -34
- package/src/_cjs/providers/lighter/mappers/fill.js.map +0 -1
- package/src/_cjs/providers/lighter/mappers/index.js +0 -13
- package/src/_cjs/providers/lighter/mappers/index.js.map +0 -1
- package/src/_cjs/providers/lighter/mappers/order.js +0 -142
- package/src/_cjs/providers/lighter/mappers/order.js.map +0 -1
- package/src/_cjs/providers/lighter/mappers/position.js +0 -35
- package/src/_cjs/providers/lighter/mappers/position.js.map +0 -1
- package/src/_cjs/providers/lighter/types.js +0 -23
- package/src/_cjs/providers/lighter/types.js.map +0 -1
- package/src/_esm/action.js +0 -2
- package/src/_esm/action.js.map +0 -1
- package/src/_esm/asset.js.map +0 -1
- package/src/_esm/enums.js.map +0 -1
- package/src/_esm/errors.js.map +0 -1
- package/src/_esm/index.js +0 -9
- package/src/_esm/index.js.map +0 -1
- package/src/_esm/providers/_shared/fillClassification.js +0 -43
- package/src/_esm/providers/_shared/fillClassification.js.map +0 -1
- package/src/_esm/providers/hyperliquid/assetId.js +0 -25
- package/src/_esm/providers/hyperliquid/assetId.js.map +0 -1
- package/src/_esm/providers/hyperliquid/index.js +0 -4
- package/src/_esm/providers/hyperliquid/index.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/_market.js +0 -22
- package/src/_esm/providers/hyperliquid/mappers/_market.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/activity.js +0 -138
- package/src/_esm/providers/hyperliquid/mappers/activity.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/asset.js +0 -25
- package/src/_esm/providers/hyperliquid/mappers/asset.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/fill.js +0 -32
- package/src/_esm/providers/hyperliquid/mappers/fill.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/index.js +0 -6
- package/src/_esm/providers/hyperliquid/mappers/index.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/order.js +0 -151
- package/src/_esm/providers/hyperliquid/mappers/order.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/position.js +0 -28
- package/src/_esm/providers/hyperliquid/mappers/position.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/shared.js +0 -2
- package/src/_esm/providers/hyperliquid/mappers/shared.js.map +0 -1
- package/src/_esm/providers/hyperliquid/types.js +0 -35
- package/src/_esm/providers/hyperliquid/types.js.map +0 -1
- package/src/_esm/providers/lighter/apiTypes.js +0 -5
- package/src/_esm/providers/lighter/apiTypes.js.map +0 -1
- package/src/_esm/providers/lighter/index.js +0 -4
- package/src/_esm/providers/lighter/index.js.map +0 -1
- package/src/_esm/providers/lighter/mappers/fill.js +0 -39
- package/src/_esm/providers/lighter/mappers/fill.js.map +0 -1
- package/src/_esm/providers/lighter/mappers/index.js +0 -4
- package/src/_esm/providers/lighter/mappers/index.js.map +0 -1
- package/src/_esm/providers/lighter/mappers/order.js +0 -162
- package/src/_esm/providers/lighter/mappers/order.js.map +0 -1
- package/src/_esm/providers/lighter/mappers/position.js +0 -38
- package/src/_esm/providers/lighter/mappers/position.js.map +0 -1
- package/src/_esm/providers/lighter/types.js +0 -26
- package/src/_esm/providers/lighter/types.js.map +0 -1
- package/src/_types/account.d.ts +0 -268
- package/src/_types/account.d.ts.map +0 -1
- package/src/_types/action.d.ts.map +0 -1
- package/src/_types/asset.d.ts.map +0 -1
- package/src/_types/enums.d.ts.map +0 -1
- package/src/_types/errors.d.ts.map +0 -1
- package/src/_types/index.d.ts.map +0 -1
- package/src/_types/providers/_shared/fillClassification.d.ts +0 -12
- package/src/_types/providers/_shared/fillClassification.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/assetId.d.ts +0 -14
- package/src/_types/providers/hyperliquid/assetId.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/index.d.ts +0 -4
- package/src/_types/providers/hyperliquid/index.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/_market.d.ts +0 -13
- package/src/_types/providers/hyperliquid/mappers/_market.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/activity.d.ts +0 -13
- package/src/_types/providers/hyperliquid/mappers/activity.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/asset.d.ts +0 -4
- package/src/_types/providers/hyperliquid/mappers/asset.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/fill.d.ts +0 -6
- package/src/_types/providers/hyperliquid/mappers/fill.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/index.d.ts +0 -6
- package/src/_types/providers/hyperliquid/mappers/index.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/order.d.ts +0 -18
- package/src/_types/providers/hyperliquid/mappers/order.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/position.d.ts +0 -4
- package/src/_types/providers/hyperliquid/mappers/position.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/shared.d.ts +0 -1
- package/src/_types/providers/hyperliquid/mappers/shared.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/types.d.ts +0 -289
- package/src/_types/providers/hyperliquid/types.d.ts.map +0 -1
- package/src/_types/providers/lighter/apiTypes.d.ts +0 -76
- package/src/_types/providers/lighter/apiTypes.d.ts.map +0 -1
- package/src/_types/providers/lighter/index.d.ts +0 -4
- package/src/_types/providers/lighter/index.d.ts.map +0 -1
- package/src/_types/providers/lighter/mappers/fill.d.ts +0 -9
- package/src/_types/providers/lighter/mappers/fill.d.ts.map +0 -1
- package/src/_types/providers/lighter/mappers/index.d.ts +0 -4
- package/src/_types/providers/lighter/mappers/index.d.ts.map +0 -1
- package/src/_types/providers/lighter/mappers/order.d.ts +0 -35
- package/src/_types/providers/lighter/mappers/order.d.ts.map +0 -1
- package/src/_types/providers/lighter/mappers/position.d.ts +0 -8
- package/src/_types/providers/lighter/mappers/position.d.ts.map +0 -1
- package/src/_types/providers/lighter/types.d.ts +0 -90
- package/src/_types/providers/lighter/types.d.ts.map +0 -1
- package/src/_types/providers.d.ts +0 -145
- package/src/_types/providers.d.ts.map +0 -1
- package/src/_types/subscriptions.d.ts.map +0 -1
- package/src/_types/typedData.d.ts +0 -18
- package/src/_types/typedData.d.ts.map +0 -1
- package/src/providers/_shared/fillClassification.ts +0 -50
- package/src/providers/hyperliquid/assetId.ts +0 -32
- package/src/providers/hyperliquid/index.ts +0 -3
- package/src/providers/hyperliquid/mappers/_market.ts +0 -21
- package/src/providers/hyperliquid/mappers/activity.ts +0 -169
- package/src/providers/hyperliquid/mappers/asset.ts +0 -33
- package/src/providers/hyperliquid/mappers/fill.ts +0 -41
- package/src/providers/hyperliquid/mappers/index.ts +0 -11
- package/src/providers/hyperliquid/mappers/order.ts +0 -169
- package/src/providers/hyperliquid/mappers/position.ts +0 -33
- package/src/providers/hyperliquid/mappers/shared.ts +0 -0
- package/src/providers/hyperliquid/types.ts +0 -379
- package/src/providers/lighter/apiTypes.ts +0 -87
- package/src/providers/lighter/index.ts +0 -3
- package/src/providers/lighter/mappers/fill.ts +0 -57
- package/src/providers/lighter/mappers/index.ts +0 -8
- package/src/providers/lighter/mappers/order.ts +0 -184
- package/src/providers/lighter/mappers/position.ts +0 -46
- package/src/providers/lighter/types.ts +0 -111
- /package/{src/_cjs → dist/cjs}/account.js +0 -0
- /package/{src/_cjs → dist/cjs}/action.js +0 -0
- /package/{src/_cjs → dist/cjs}/asset.js +0 -0
- /package/{src/_types → dist/cjs}/errors.d.ts +0 -0
- /package/{src/_cjs → dist/cjs}/errors.js +0 -0
- /package/{src/_cjs → dist/cjs}/package.json +0 -0
- /package/{src/_cjs → dist/cjs}/providers.js +0 -0
- /package/{src/_cjs → dist/cjs}/subscriptions.js +0 -0
- /package/{src/_cjs → dist/cjs}/typedData.js +0 -0
- /package/{src/_esm → dist/esm}/account.js +0 -0
- /package/{src/_esm → dist/esm}/asset.js +0 -0
- /package/{src/_esm → dist/esm}/errors.js +0 -0
- /package/{src/_esm → dist/esm}/package.json +0 -0
- /package/{src/_esm → dist/esm}/providers.js +0 -0
- /package/{src/_esm → dist/esm}/subscriptions.js +0 -0
- /package/{src/_esm → dist/esm}/typedData.js +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { Asset } from './asset.js';
|
|
2
|
+
import type { ActionType, PerpsSigner, SigningMethod } from './enums.js';
|
|
3
|
+
import type { OhlcvInterval } from './market.js';
|
|
4
|
+
/** @public */
|
|
5
|
+
export interface ParamOption {
|
|
6
|
+
value: string;
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
/** @public */
|
|
10
|
+
export interface Param {
|
|
11
|
+
/** Wire key for the action params object: `{ [param.name]: value }`. */
|
|
12
|
+
name: string;
|
|
13
|
+
type: 'string';
|
|
14
|
+
/** Present iff the parameter has a fixed enumeration of admissible values. */
|
|
15
|
+
values?: ParamOption[];
|
|
16
|
+
default?: ParamOption;
|
|
17
|
+
readOnly?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A single provider action. The same shape backs `Provider.setup`,
|
|
21
|
+
* `Provider.options`, and `Provider.actions` — categorisation lives in which
|
|
22
|
+
* array it sits in, not in the type. The core three fields are always present;
|
|
23
|
+
* the rest are presentation/ordering hints provided per-action in the
|
|
24
|
+
* provider's hardcoded metadata.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export interface ProviderAction {
|
|
28
|
+
type: ActionType;
|
|
29
|
+
signers: PerpsSigner[];
|
|
30
|
+
signingMethod: SigningMethod;
|
|
31
|
+
/**
|
|
32
|
+
* Human label. Drives the card heading in the setup/options modals, and may
|
|
33
|
+
* also front an in-flight trading action ("{title} is working…").
|
|
34
|
+
*/
|
|
35
|
+
title?: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
/** UI form fields the widget renders to collect input for this action. */
|
|
38
|
+
params?: Param[];
|
|
39
|
+
/**
|
|
40
|
+
* Ascending order in which the user satisfies setup steps. Cloud-init
|
|
41
|
+
* convention: 10, 20, 30, … with 99 reserved for "always last"; the gaps
|
|
42
|
+
* leave room to insert steps later without renumbering. Lower runs first;
|
|
43
|
+
* a step may depend on every lower-sequenced step already being satisfied.
|
|
44
|
+
*/
|
|
45
|
+
sequence?: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Provider-attached advisory shown against a market. Provider-agnostic: the
|
|
49
|
+
* producer decides when to emit one (e.g. an HL HIP-3 sub-dex risk warning).
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export interface TradeNotice {
|
|
53
|
+
/** Maps to the widget's panel styling: `warn` → warning, `info` → info. */
|
|
54
|
+
level: 'info' | 'warn';
|
|
55
|
+
/** Plaintext; any URL is rendered as text, not a hyperlink. */
|
|
56
|
+
message: string;
|
|
57
|
+
}
|
|
58
|
+
/** @public */
|
|
59
|
+
export interface ProviderCategory {
|
|
60
|
+
id: string;
|
|
61
|
+
logoURI?: string;
|
|
62
|
+
/** `null` for the "spot" category — no single fixed quote. */
|
|
63
|
+
quoteAsset: Asset | null;
|
|
64
|
+
tradeNotice?: TradeNotice;
|
|
65
|
+
}
|
|
66
|
+
/** @public */
|
|
67
|
+
export interface Provider {
|
|
68
|
+
key: string;
|
|
69
|
+
name: string;
|
|
70
|
+
logoURI: string;
|
|
71
|
+
signingMethod: SigningMethod;
|
|
72
|
+
/** When false, the provider is announced but not yet selectable in clients. */
|
|
73
|
+
active: boolean;
|
|
74
|
+
setup: ProviderAction[];
|
|
75
|
+
options: ProviderAction[];
|
|
76
|
+
actions: ProviderAction[];
|
|
77
|
+
categories: ProviderCategory[];
|
|
78
|
+
wsUrl?: string;
|
|
79
|
+
/** Absent means no minimum advertised. */
|
|
80
|
+
minDepositUsd?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Minimum order notional value in USD. Feeds the SDK's `validateMargin`
|
|
83
|
+
* `minMarginUsd` parameter. Absent means no minimum advertised.
|
|
84
|
+
*/
|
|
85
|
+
minOrderValueUsd?: number;
|
|
86
|
+
/**
|
|
87
|
+
* Minimum order notional value in USD for reduce-only orders, when the
|
|
88
|
+
* provider applies a lower floor than `minOrderValueUsd`. Absent means
|
|
89
|
+
* reduce-only orders use the same floor as `minOrderValueUsd`.
|
|
90
|
+
*/
|
|
91
|
+
minReduceOrderValueUsd?: number;
|
|
92
|
+
/** Minimum withdrawal notional in USD. Absent means no minimum advertised. */
|
|
93
|
+
minWithdrawalUsd?: number;
|
|
94
|
+
/** Flat deposit fee in USD the provider charges. Absent means no fee advertised. */
|
|
95
|
+
depositFeeUsd?: number;
|
|
96
|
+
/** Flat withdrawal fee in USD the provider charges. Absent means no fee advertised. */
|
|
97
|
+
withdrawalFeeUsd?: number;
|
|
98
|
+
/**
|
|
99
|
+
* Aggregate up-votes for this provider. Populated only for inactive
|
|
100
|
+
* providers (those gathering demand before launch); absent once `active`.
|
|
101
|
+
*/
|
|
102
|
+
upVotes?: number;
|
|
103
|
+
/** Aggregate down-votes. Populated only for inactive providers; see {@link upVotes}. */
|
|
104
|
+
downVotes?: number;
|
|
105
|
+
/**
|
|
106
|
+
* Candle intervals this provider supports for OHLCV/chart requests, in
|
|
107
|
+
* ascending order. Drives the client's chart interval selector. Empty for
|
|
108
|
+
* providers that expose no candle data.
|
|
109
|
+
*/
|
|
110
|
+
supportedIntervals: OhlcvInterval[];
|
|
111
|
+
}
|
|
112
|
+
/** @public */
|
|
113
|
+
export interface ProvidersResponse {
|
|
114
|
+
providers: Provider[];
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,cAAc;AACd,MAAM,WAAW,KAAK;IACpB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,8EAA8E;IAC9E,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,UAAU,EAAE,KAAK,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,aAAa,CAAA;IAC5B,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { FeeTier } from './account.js';
|
|
2
|
+
import type { FundingInfo } from './market.js';
|
|
3
|
+
/** @public */
|
|
4
|
+
export type QuoteSide = 'buy' | 'sell';
|
|
5
|
+
/** @public */
|
|
6
|
+
export type TradeType = 'perps' | 'spot';
|
|
7
|
+
/**
|
|
8
|
+
* One-shot fill estimate for a market order of `sizeUsd` notional on a single
|
|
9
|
+
* venue: the VWAP fill walked from the orderbook, the price impact versus the
|
|
10
|
+
* mark, the base-tier taker fee, and (for perps) the current funding rate.
|
|
11
|
+
*
|
|
12
|
+
* `priceImpactBps` is signed-magnitude basis points (1 bps = 0.01%) of the
|
|
13
|
+
* VWAP fill's deviation from `markPrice` — always non-negative, since a buy
|
|
14
|
+
* fills above mark and a sell below.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface Quote {
|
|
18
|
+
provider: string;
|
|
19
|
+
/** Human `displaySymbol` the quote was resolved against, e.g. `"BTC"`. */
|
|
20
|
+
symbol: string;
|
|
21
|
+
/** Opaque resolved `Market.id`. */
|
|
22
|
+
marketId: string;
|
|
23
|
+
type: TradeType;
|
|
24
|
+
side: QuoteSide;
|
|
25
|
+
/** Input notional in USD. */
|
|
26
|
+
sizeUsd: string;
|
|
27
|
+
/** Base amount the book filled for `sizeUsd` (or the most obtainable when the book is too thin). */
|
|
28
|
+
baseSize: string;
|
|
29
|
+
markPrice: string;
|
|
30
|
+
/** Volume-weighted average fill price from the book walk. */
|
|
31
|
+
expectedFillPrice: string;
|
|
32
|
+
/** VWAP deviation from `markPrice` in basis points; non-negative. */
|
|
33
|
+
priceImpactBps: string;
|
|
34
|
+
/** Base maker/taker fee fractions (not bps) for the public tier. */
|
|
35
|
+
feeTier: FeeTier;
|
|
36
|
+
/** Always `true` in v1 — quotes use the public base tier, never a per-account tier. */
|
|
37
|
+
isDefaultFeeTier: boolean;
|
|
38
|
+
/** Taker fee on the filled notional in USD: `filledNotional * feeTier.taker`. */
|
|
39
|
+
feeUsd: string;
|
|
40
|
+
/** Current funding for perps; `null` for spot. */
|
|
41
|
+
funding: FundingInfo | null;
|
|
42
|
+
/** `true` when the book could not fill the full `sizeUsd` — `baseSize`/fill reflect the best obtainable. */
|
|
43
|
+
insufficientLiquidity: boolean;
|
|
44
|
+
/** Unix milliseconds the quote was produced. */
|
|
45
|
+
timestamp: number;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=quote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../src/quote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,cAAc;AACd,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAA;AAEtC,cAAc;AACd,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAExC;;;;;;;;;GASG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,oGAAoG;IACpG,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAA;IACzB,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAA;IACzB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,4GAA4G;IAC5G,qBAAqB,EAAE,OAAO,CAAA;IAC9B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAA;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../src/quote.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { Balance, Fill, OpenOrder, Position, TriggerOrder } from './account.js';
|
|
2
|
+
import type { Candle, OhlcvInterval, OrderbookResponse } from './market.js';
|
|
3
|
+
import type { Address } from './primitives.js';
|
|
4
|
+
/** @public */
|
|
5
|
+
export type PricesSubscription = {
|
|
6
|
+
channel: 'prices';
|
|
7
|
+
dex: string;
|
|
8
|
+
};
|
|
9
|
+
/** @public */
|
|
10
|
+
export type OrderbookSubscription = {
|
|
11
|
+
channel: 'orderbook';
|
|
12
|
+
dex: string;
|
|
13
|
+
marketId: string;
|
|
14
|
+
depth?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Desired price granularity of streamed levels, in quote currency (e.g.
|
|
17
|
+
* `10` buckets a BTC book into $10-wide levels). Providers that aggregate
|
|
18
|
+
* the book server-side honour it best-effort; providers that stream the
|
|
19
|
+
* full book ignore it. `undefined` requests full precision.
|
|
20
|
+
*/
|
|
21
|
+
priceStep?: number;
|
|
22
|
+
};
|
|
23
|
+
/** @public */
|
|
24
|
+
export type CandleSubscription = {
|
|
25
|
+
channel: 'candle';
|
|
26
|
+
dex: string;
|
|
27
|
+
marketId: string;
|
|
28
|
+
interval: OhlcvInterval;
|
|
29
|
+
};
|
|
30
|
+
/** @public */
|
|
31
|
+
export type OrderUpdatesSubscription = {
|
|
32
|
+
channel: 'orderUpdates';
|
|
33
|
+
dex: string;
|
|
34
|
+
address: Address;
|
|
35
|
+
};
|
|
36
|
+
/** @public */
|
|
37
|
+
export type FillsSubscription = {
|
|
38
|
+
channel: 'fills';
|
|
39
|
+
dex: string;
|
|
40
|
+
address: Address;
|
|
41
|
+
};
|
|
42
|
+
/** @public */
|
|
43
|
+
export type PositionsSubscription = {
|
|
44
|
+
channel: 'positions';
|
|
45
|
+
dex: string;
|
|
46
|
+
address: Address;
|
|
47
|
+
};
|
|
48
|
+
/** @public */
|
|
49
|
+
export type SpotBalancesSubscription = {
|
|
50
|
+
channel: 'spotBalances';
|
|
51
|
+
dex: string;
|
|
52
|
+
address: Address;
|
|
53
|
+
};
|
|
54
|
+
/** @public */
|
|
55
|
+
export type Subscription = PricesSubscription | OrderbookSubscription | CandleSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
|
|
56
|
+
/** @public */
|
|
57
|
+
export type PricesEvent = {
|
|
58
|
+
channel: 'prices';
|
|
59
|
+
data: Record<string, string>;
|
|
60
|
+
};
|
|
61
|
+
/** @public */
|
|
62
|
+
export type OrderbookEvent = {
|
|
63
|
+
channel: 'orderbook';
|
|
64
|
+
data: OrderbookResponse;
|
|
65
|
+
};
|
|
66
|
+
/** @public */
|
|
67
|
+
export type CandleEvent = {
|
|
68
|
+
channel: 'candle';
|
|
69
|
+
data: Candle;
|
|
70
|
+
};
|
|
71
|
+
/** @public */
|
|
72
|
+
export type OrderUpdatesEvent = {
|
|
73
|
+
channel: 'orderUpdates';
|
|
74
|
+
data: {
|
|
75
|
+
/** Upserts — active orders, non-trigger. */
|
|
76
|
+
openOrders: OpenOrder[];
|
|
77
|
+
/** Upserts — active orders with trigger semantics (TP/SL). */
|
|
78
|
+
triggerOrders: TriggerOrder[];
|
|
79
|
+
/**
|
|
80
|
+
* orderIds whose status just transitioned to terminal (filled, cancelled,
|
|
81
|
+
* rejected, expired). Consumers should evict these from both buckets.
|
|
82
|
+
*/
|
|
83
|
+
terminated: string[];
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
/** @public */
|
|
87
|
+
export type FillsEvent = {
|
|
88
|
+
channel: 'fills';
|
|
89
|
+
data: Fill[];
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Positions stream frame. `data` is always the full set of currently open
|
|
93
|
+
* positions for the subscribed address, never a partial update: zero-size
|
|
94
|
+
* entries never appear, and a close is observed as the market's absence from
|
|
95
|
+
* the next frame. Consumers replace their state; they must not merge.
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
export type PositionsEvent = {
|
|
99
|
+
channel: 'positions';
|
|
100
|
+
data: Position[];
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Spot holdings as typed {@link Balance}s, each carrying the venue-locked
|
|
104
|
+
* portion (`locked` = reserved against open orders; `available = units − locked`).
|
|
105
|
+
* @public
|
|
106
|
+
*/
|
|
107
|
+
export type SpotBalancesEvent = {
|
|
108
|
+
channel: 'spotBalances';
|
|
109
|
+
data: (Balance & {
|
|
110
|
+
locked: string;
|
|
111
|
+
})[];
|
|
112
|
+
};
|
|
113
|
+
/** @public */
|
|
114
|
+
export type SubscriptionEvent = PricesEvent | OrderbookEvent | CandleEvent | OrderUpdatesEvent | FillsEvent | PositionsEvent | SpotBalancesEvent;
|
|
115
|
+
//# sourceMappingURL=subscriptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Address, Hex } from './primitives.js';
|
|
2
|
+
/** @public */
|
|
3
|
+
export interface TypedDataDomain {
|
|
4
|
+
name?: string;
|
|
5
|
+
version?: string;
|
|
6
|
+
chainId?: number;
|
|
7
|
+
verifyingContract?: Address;
|
|
8
|
+
salt?: Hex;
|
|
9
|
+
}
|
|
10
|
+
/** @public */
|
|
11
|
+
export interface TypedDataParameter {
|
|
12
|
+
name: string;
|
|
13
|
+
type: string;
|
|
14
|
+
}
|
|
15
|
+
/** @public */
|
|
16
|
+
export type PerpsPrimaryType = string;
|
|
17
|
+
/** @public */
|
|
18
|
+
export type PerpsTypedData = {
|
|
19
|
+
domain: TypedDataDomain;
|
|
20
|
+
types: Record<string, readonly TypedDataParameter[]>;
|
|
21
|
+
primaryType: PerpsPrimaryType;
|
|
22
|
+
message: Record<string, any>;
|
|
23
|
+
};
|
|
24
|
+
/** @public */
|
|
25
|
+
export type PerpsSignedTypedData = PerpsTypedData & {
|
|
26
|
+
signature: Hex;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=typedData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedData.d.ts","sourceRoot":"","sources":["../../src/typedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAEnD,cAAc;AACd,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,GAAG,CAAA;CACX;AAED,cAAc;AACd,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAErC,cAAc;AACd,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAAA;IACpD,WAAW,EAAE,gBAAgB,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B,CAAA;AAED,cAAc;AACd,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,SAAS,EAAE,GAAG,CAAA;CACf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedData.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"typedData.js","sourceRoot":"","sources":["../../src/typedData.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { Address } from './primitives.js';
|
|
2
|
+
import type { PerpsTypedData, TypedDataParameter } from './typedData.js';
|
|
3
|
+
/**
|
|
4
|
+
* Sentinel sent in the `provider` field for provider-independent actions
|
|
5
|
+
* (e.g. {@link "./enums.js".ActionType.META_VOTE}). The backend dispatches
|
|
6
|
+
* on this value instead of resolving a real provider plugin.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare const META_PROVIDER = "meta";
|
|
10
|
+
/** @public */
|
|
11
|
+
export type MetaProvider = typeof META_PROVIDER;
|
|
12
|
+
/**
|
|
13
|
+
* Vote direction. `up` endorses the subject; `down` opposes it.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export type VoteDirection = 'up' | 'down';
|
|
17
|
+
/**
|
|
18
|
+
* Discriminates what a vote is about, leaving room for future product-level
|
|
19
|
+
* vote subjects without changing the EIP-712 `primaryType`.
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export type VoteType = 'provider';
|
|
23
|
+
/**
|
|
24
|
+
* Params for an {@link "./enums.js".ActionType.META_VOTE} action.
|
|
25
|
+
*
|
|
26
|
+
* `targetProvider` is the voted-on subject — kept distinct from the transport
|
|
27
|
+
* `provider` field, which carries the {@link META_PROVIDER} sentinel for this
|
|
28
|
+
* provider-independent action.
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export interface VoteParams {
|
|
32
|
+
/** Key of the inactive provider being voted on (the voted-on subject). */
|
|
33
|
+
targetProvider: string;
|
|
34
|
+
direction: VoteDirection;
|
|
35
|
+
voteType: VoteType;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* EIP-712 message body for a `Vote`. Field order matches {@link voteTypeFields}.
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
export interface VoteMessage {
|
|
42
|
+
/** Key of the inactive provider being voted on. */
|
|
43
|
+
targetProvider: string;
|
|
44
|
+
direction: VoteDirection;
|
|
45
|
+
voteType: VoteType;
|
|
46
|
+
voter: Address;
|
|
47
|
+
/** Unix timestamp in milliseconds. */
|
|
48
|
+
timestamp: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* EIP-712 type member list for the `Vote` primary type. Field order is part of
|
|
52
|
+
* the signed digest and must match the backend's encoder.
|
|
53
|
+
* @public
|
|
54
|
+
*/
|
|
55
|
+
export declare const voteTypeFields: readonly TypedDataParameter[];
|
|
56
|
+
/**
|
|
57
|
+
* EIP-712 typed data for a vote, as returned by `createAction` and signed
|
|
58
|
+
* client-side. `primaryType` is always `'Vote'`.
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export interface VoteTypedData extends PerpsTypedData {
|
|
62
|
+
primaryType: 'Vote';
|
|
63
|
+
types: {
|
|
64
|
+
Vote: readonly TypedDataParameter[];
|
|
65
|
+
} & PerpsTypedData['types'];
|
|
66
|
+
message: VoteMessage;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=vote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vote.d.ts","sourceRoot":"","sources":["../../src/vote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC,cAAc;AACd,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAA;AAE/C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,CAAA;AAEzC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAEjC;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,EAMvD,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE;QAAE,IAAI,EAAE,SAAS,kBAAkB,EAAE,CAAA;KAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACxE,OAAO,EAAE,WAAW,CAAA;CACrB"}
|
package/dist/esm/vote.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sentinel sent in the `provider` field for provider-independent actions
|
|
3
|
+
* (e.g. {@link "./enums.js".ActionType.META_VOTE}). The backend dispatches
|
|
4
|
+
* on this value instead of resolving a real provider plugin.
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export const META_PROVIDER = 'meta';
|
|
8
|
+
/**
|
|
9
|
+
* EIP-712 type member list for the `Vote` primary type. Field order is part of
|
|
10
|
+
* the signed digest and must match the backend's encoder.
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export const voteTypeFields = [
|
|
14
|
+
{ name: 'targetProvider', type: 'string' },
|
|
15
|
+
{ name: 'direction', type: 'string' },
|
|
16
|
+
{ name: 'voteType', type: 'string' },
|
|
17
|
+
{ name: 'voter', type: 'address' },
|
|
18
|
+
{ name: 'timestamp', type: 'uint256' },
|
|
19
|
+
];
|
|
20
|
+
//# sourceMappingURL=vote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vote.js","sourceRoot":"","sources":["../../src/vote.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAA;AA+CnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;IACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;CACvC,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Address } from './primitives.js';
|
|
2
|
+
import type { PerpsTypedData, TypedDataParameter } from './typedData.js';
|
|
3
|
+
/**
|
|
4
|
+
* Params for an {@link "./enums.js".ActionType.META_ACCEPT_TERMS} action.
|
|
5
|
+
*
|
|
6
|
+
* Provider-independent: cast with the {@link "./vote.js".META_PROVIDER}
|
|
7
|
+
* sentinel in the transport `provider` field.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export interface AcceptTermsParams {
|
|
11
|
+
/** Terms-of-Service version being accepted; backend-owned, relayed verbatim. */
|
|
12
|
+
termsVersion: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* EIP-712 message body for an `AcceptTerms`. Field order matches
|
|
16
|
+
* {@link acceptTermsTypeFields}.
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export interface AcceptTermsMessage {
|
|
20
|
+
/** Human-readable action, e.g. `"Accept LI.FI Perps Terms of Service v3"`. */
|
|
21
|
+
action: string;
|
|
22
|
+
acceptor: Address;
|
|
23
|
+
termsVersion: string;
|
|
24
|
+
/** Unix timestamp in milliseconds. */
|
|
25
|
+
timestamp: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* EIP-712 type member list for the `AcceptTerms` primary type. Field order is
|
|
29
|
+
* part of the signed digest and must match the backend's encoder.
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export declare const acceptTermsTypeFields: readonly TypedDataParameter[];
|
|
33
|
+
/**
|
|
34
|
+
* EIP-712 typed data for a terms acceptance, as returned by `createAction` and
|
|
35
|
+
* signed client-side. `primaryType` is always `'AcceptTerms'`.
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export interface AcceptTermsTypedData extends PerpsTypedData {
|
|
39
|
+
primaryType: 'AcceptTerms';
|
|
40
|
+
types: {
|
|
41
|
+
AcceptTerms: readonly TypedDataParameter[];
|
|
42
|
+
} & PerpsTypedData['types'];
|
|
43
|
+
message: AcceptTermsMessage;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=acceptTerms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acceptTerms.d.ts","sourceRoot":"","sources":["../../src/acceptTerms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExE;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAK9D,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,WAAW,EAAE,aAAa,CAAA;IAC1B,KAAK,EAAE;QACL,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAA;KAC3C,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,EAAE,kBAAkB,CAAA;CAC5B"}
|