@0xmonaco/types 1.0.48 → 1.0.50
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/margin-accounts/index.d.ts +39 -2
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sweeper/index.d.ts +49 -27
- package/dist/sweeper/index.js +4 -6
- package/dist/validation/margin-accounts.d.ts +2 -0
- package/dist/validation/margin-accounts.js +4 -0
- package/dist/vault/index.d.ts +7 -1
- package/dist/websocket/events/account-events.d.ts +8 -5
- package/dist/wire/schema.d.ts +85 -21
- package/package.json +2 -2
|
@@ -131,17 +131,43 @@ export interface TransferCollateralToParentMarginAccountRequest {
|
|
|
131
131
|
asset: string;
|
|
132
132
|
amount: string;
|
|
133
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Fund a pair's isolated risk bucket from the parent margin account's
|
|
136
|
+
* unallocated collateral (no wallet movement; the bucket is created if
|
|
137
|
+
* needed). What the money becomes when the bucket holds an open position is
|
|
138
|
+
* stated by `applyToPositionMargin` — the two intents want opposite fates for
|
|
139
|
+
* the same dollars. Either way the liquidation cushion improves identically.
|
|
140
|
+
*/
|
|
134
141
|
export interface TransferCollateralToIsolatedRiskBucketRequest extends TransferCollateralToParentMarginAccountRequest {
|
|
135
142
|
marginMode?: "ISOLATED";
|
|
136
143
|
tradingPairId: string;
|
|
137
144
|
strategyKey?: string;
|
|
138
145
|
selectedTradingPairIds?: never;
|
|
146
|
+
/**
|
|
147
|
+
* `true` (and OMITTED — the default is the human "Adjust Margin" gesture):
|
|
148
|
+
* the amount is COMMITTED to the sole open position's stored margin.
|
|
149
|
+
* Effective leverage drops and stays down, initial margin required rises by
|
|
150
|
+
* the amount, free collateral is unchanged — new orders cannot spend it.
|
|
151
|
+
*
|
|
152
|
+
* `false`: plain allocation. Free collateral rises and the next order can
|
|
153
|
+
* spend it. Programmatic funding loops that top a bucket up to a free
|
|
154
|
+
* collateral target MUST pass `false`, or each top-up converts into
|
|
155
|
+
* requirement and the loop never converges.
|
|
156
|
+
*
|
|
157
|
+
* On a flat bucket both values are a plain allocation. The response's
|
|
158
|
+
* `positionMarginCredited` reports what actually happened — a credit can
|
|
159
|
+
* degrade to a plain allocation when the persisted position row is stale
|
|
160
|
+
* (close/reopen race).
|
|
161
|
+
*/
|
|
162
|
+
applyToPositionMargin?: boolean;
|
|
139
163
|
}
|
|
140
164
|
export interface TransferCollateralToCrossRiskBucketRequest extends TransferCollateralToParentMarginAccountRequest {
|
|
141
165
|
marginMode: "CROSS";
|
|
142
166
|
selectedTradingPairIds: string[];
|
|
143
167
|
tradingPairId?: never;
|
|
144
168
|
strategyKey?: never;
|
|
169
|
+
/** Cross risk is pooled at bucket equity — there is no per-position margin; an explicit `true` is rejected. */
|
|
170
|
+
applyToPositionMargin?: never;
|
|
145
171
|
}
|
|
146
172
|
export type TransferCollateralToRiskBucketRequest = TransferCollateralToIsolatedRiskBucketRequest | TransferCollateralToCrossRiskBucketRequest;
|
|
147
173
|
export interface TransferCollateralFromParentMarginAccountRequest {
|
|
@@ -161,6 +187,16 @@ export interface TransferCollateralResponse {
|
|
|
161
187
|
newEquity: string;
|
|
162
188
|
newTotalCollateralValue: string;
|
|
163
189
|
newWithdrawableCollateral: string;
|
|
190
|
+
/**
|
|
191
|
+
* Whether the transfer was committed to a position's stored margin. Present
|
|
192
|
+
* only when a position-margin credit was in play: `true` — the credit
|
|
193
|
+
* landed; `false` — a credit was requested (or defaulted) but degraded to a
|
|
194
|
+
* plain allocation because the bucket's persisted position row was stale
|
|
195
|
+
* (close/reopen race) — re-issue the Adjust Margin once the new position
|
|
196
|
+
* row lands if the commitment still matters. Absent (never null) on plain
|
|
197
|
+
* allocations, parent deposits, and releases.
|
|
198
|
+
*/
|
|
199
|
+
positionMarginCredited?: boolean;
|
|
164
200
|
}
|
|
165
201
|
export interface GetMarginAccountMovementsParams {
|
|
166
202
|
movementType?: string;
|
|
@@ -237,8 +273,9 @@ export interface MarginAccountsAPI extends BaseAPI {
|
|
|
237
273
|
getMarginAccountSummary(marginAccountId: string, params?: GetMarginAccountSummaryParams): Promise<MarginAccountSummary>;
|
|
238
274
|
getAvailableCollateral(params?: GetAvailableCollateralParams): Promise<GetAvailableCollateralResponse>;
|
|
239
275
|
/**
|
|
240
|
-
* @deprecated
|
|
241
|
-
*
|
|
276
|
+
* @deprecated Use `transferCollateralToRiskBucket` for bucket funding
|
|
277
|
+
* (which now credits a sole open position's stored margin the same way) and
|
|
278
|
+
* `transferCollateralToParentMarginAccount` for wallet-to-margin deposits.
|
|
242
279
|
*/
|
|
243
280
|
transferCollateralToMarginAccount(marginAccountId: string, request: TransferCollateralRequest): Promise<TransferCollateralResponse>;
|
|
244
281
|
transferCollateralToParentMarginAccount(request: TransferCollateralToParentMarginAccountRequest): Promise<TransferCollateralResponse>;
|
package/dist/sdk/index.d.ts
CHANGED
|
@@ -109,7 +109,7 @@ export interface MonacoSDK {
|
|
|
109
109
|
pitpass: PitpassAPI;
|
|
110
110
|
/** Testnet faucet API */
|
|
111
111
|
faucet: FaucetAPI;
|
|
112
|
-
/**
|
|
112
|
+
/** Deposit-address registration (sweeper) API; requires a session */
|
|
113
113
|
sweeper: SweeperAPI;
|
|
114
114
|
/** Public whitelist (waitlist) submission API */
|
|
115
115
|
whitelist: WhitelistAPI;
|
package/dist/sweeper/index.d.ts
CHANGED
|
@@ -1,43 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sweeper Types
|
|
3
3
|
*
|
|
4
|
-
* Types for the
|
|
4
|
+
* Types for the deposit-address registration endpoint. Wire shapes are
|
|
5
5
|
* snake_case; these are the camelCase ergonomic forms.
|
|
6
6
|
*
|
|
7
|
-
* NOTE: This endpoint is **
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* they already belong to. Abuse is bounded by a per-client rate limit and an
|
|
11
|
-
* active-application check instead of authentication.
|
|
7
|
+
* NOTE: This endpoint is **authenticated**. The credited address is the calling
|
|
8
|
+
* session's own rather than a request field, so a caller can only ever register
|
|
9
|
+
* an address they hold the session key for.
|
|
12
10
|
*/
|
|
11
|
+
import type { DepositTarget } from "@0xmonaco/contracts";
|
|
13
12
|
import type { BaseAPI } from "../api";
|
|
14
13
|
/**
|
|
15
14
|
* What happened to the registration.
|
|
16
15
|
*
|
|
17
|
-
* - `registered` — the
|
|
18
|
-
* - `already_registered` — the
|
|
16
|
+
* - `registered` — the triple was added; its deposit address is now monitored.
|
|
17
|
+
* - `already_registered` — the triple was known before this call; nothing was
|
|
19
18
|
* re-triggered.
|
|
20
19
|
*/
|
|
21
20
|
export type RegisterSweeperStatus = "registered" | "already_registered";
|
|
22
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Body for a deposit-address registration.
|
|
23
|
+
*
|
|
24
|
+
* Deliberately tiny: the application and the credited address both come from
|
|
25
|
+
* the authenticated session (`login` takes the application's client id), so the
|
|
26
|
+
* only thing left to say is which ledger to aim at.
|
|
27
|
+
*/
|
|
23
28
|
export interface RegisterSweeperRequest {
|
|
24
29
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
30
|
+
* Which ledger swept deposits ask to be credited to. Defaults to `"spot"`.
|
|
31
|
+
*
|
|
32
|
+
* `"margin"` asks for the parent margin account's collateral, skipping the
|
|
33
|
+
* separate `transferCollateralToParentMarginAccount` step. The target is part
|
|
34
|
+
* of the address derivation, so the two targets yield two different deposit
|
|
35
|
+
* addresses for the same pair, each carrying its own request. A `"spot"`
|
|
36
|
+
* address is never credited to margin.
|
|
37
|
+
*
|
|
38
|
+
* `"margin"` is a request rather than a guarantee: a deposit the backend
|
|
39
|
+
* cannot route to collateral — an unsupported collateral asset, or a margin
|
|
40
|
+
* account that fails validation — is credited to the spot wallet instead, so
|
|
41
|
+
* funds are never stranded. Read the balance back rather than treating the
|
|
42
|
+
* address as proof of where the credit landed.
|
|
43
|
+
*
|
|
44
|
+
* An unrecognized value is rejected (400) rather than falling back to spot,
|
|
45
|
+
* which would return an address pointed at a ledger the caller did not ask
|
|
46
|
+
* for.
|
|
29
47
|
*/
|
|
30
|
-
|
|
31
|
-
/** Address credited on the rollup, and half of the deposit-address derivation */
|
|
32
|
-
userAddress: string;
|
|
48
|
+
depositTarget?: DepositTarget;
|
|
33
49
|
}
|
|
34
50
|
/** Result of a deposit-address registration. */
|
|
35
51
|
export interface RegisterSweeperResponse {
|
|
36
|
-
/** Whether this call added the
|
|
52
|
+
/** Whether this call added the triple or it was known before */
|
|
37
53
|
status: RegisterSweeperStatus;
|
|
38
54
|
/**
|
|
39
|
-
* The
|
|
40
|
-
* any contract exists there.
|
|
55
|
+
* The deposit address for this (application, user, deposit target) triple.
|
|
56
|
+
* Stable, and valid to publish and fund before any contract exists there.
|
|
41
57
|
*/
|
|
42
58
|
sweeperAddress: string;
|
|
43
59
|
/**
|
|
@@ -48,20 +64,26 @@ export interface RegisterSweeperResponse {
|
|
|
48
64
|
initialSweepCheck: boolean;
|
|
49
65
|
}
|
|
50
66
|
/**
|
|
51
|
-
* Sweeper API interface. The register endpoint
|
|
67
|
+
* Sweeper API interface. The register endpoint requires authentication.
|
|
52
68
|
*/
|
|
53
69
|
export interface SweeperAPI extends BaseAPI {
|
|
54
70
|
/**
|
|
55
|
-
* Registers an (application, user)
|
|
56
|
-
* address is monitored and every ERC20 deposit is
|
|
57
|
-
* automatically.
|
|
71
|
+
* Registers an (application, user, deposit target) triple so its
|
|
72
|
+
* deterministic deposit address is monitored and every ERC20 deposit is
|
|
73
|
+
* swept into the rollup automatically.
|
|
74
|
+
*
|
|
75
|
+
* The application and the credited address both come from the authenticated
|
|
76
|
+
* session, so this only ever registers the caller's own address under their
|
|
77
|
+
* own application. Call it with no arguments for a spot address.
|
|
58
78
|
*
|
|
59
79
|
* Returns immediately with the derived deposit address; the one-time
|
|
60
80
|
* initial balance check runs in the background. Idempotent and safe to
|
|
61
81
|
* retry: re-registering answers `already_registered` with the same address
|
|
62
|
-
* and never re-triggers the initial check.
|
|
63
|
-
*
|
|
64
|
-
*
|
|
82
|
+
* and never re-triggers the initial check.
|
|
83
|
+
*
|
|
84
|
+
* Throws on an unrecognized `depositTarget` (before sending), when the
|
|
85
|
+
* session's application is no longer active (403), and when the endpoint's
|
|
86
|
+
* global admission limit is exceeded (429).
|
|
65
87
|
*/
|
|
66
|
-
register(body
|
|
88
|
+
register(body?: RegisterSweeperRequest): Promise<RegisterSweeperResponse>;
|
|
67
89
|
}
|
package/dist/sweeper/index.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sweeper Types
|
|
3
3
|
*
|
|
4
|
-
* Types for the
|
|
4
|
+
* Types for the deposit-address registration endpoint. Wire shapes are
|
|
5
5
|
* snake_case; these are the camelCase ergonomic forms.
|
|
6
6
|
*
|
|
7
|
-
* NOTE: This endpoint is **
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* they already belong to. Abuse is bounded by a per-client rate limit and an
|
|
11
|
-
* active-application check instead of authentication.
|
|
7
|
+
* NOTE: This endpoint is **authenticated**. The credited address is the calling
|
|
8
|
+
* session's own rather than a request field, so a caller can only ever register
|
|
9
|
+
* an address they hold the session key for.
|
|
12
10
|
*/
|
|
@@ -45,6 +45,7 @@ export declare const TransferCollateralToRiskBucketSchema: z.ZodObject<{
|
|
|
45
45
|
strategyKey: z.ZodOptional<z.ZodString>;
|
|
46
46
|
marginMode: z.ZodOptional<z.ZodLiteral<"ISOLATED">>;
|
|
47
47
|
selectedTradingPairIds: z.ZodOptional<z.ZodNever>;
|
|
48
|
+
applyToPositionMargin: z.ZodOptional<z.ZodBoolean>;
|
|
48
49
|
}, z.core.$strict>, z.ZodObject<{
|
|
49
50
|
asset: z.ZodString;
|
|
50
51
|
amount: z.ZodString;
|
|
@@ -139,6 +140,7 @@ export declare const SimulateRiskBucketOrderRiskSchema: z.ZodObject<{
|
|
|
139
140
|
strategyKey: z.ZodOptional<z.ZodString>;
|
|
140
141
|
marginMode: z.ZodOptional<z.ZodLiteral<"ISOLATED">>;
|
|
141
142
|
selectedTradingPairIds: z.ZodOptional<z.ZodNever>;
|
|
143
|
+
applyToPositionMargin: z.ZodOptional<z.ZodBoolean>;
|
|
142
144
|
}, z.core.$strict>, z.ZodObject<{
|
|
143
145
|
tradingPairId: z.ZodUUID;
|
|
144
146
|
side: z.ZodEnum<{
|
|
@@ -51,6 +51,10 @@ const SelectedCrossTradingPairIdsSchema = z.array(UUIDSchema).min(1, "selectedTr
|
|
|
51
51
|
const IsolatedRiskBucketRequestSchema = RiskBucketRequestSchema.extend({
|
|
52
52
|
marginMode: z.literal("ISOLATED").optional(),
|
|
53
53
|
selectedTradingPairIds: z.never().optional(),
|
|
54
|
+
// Omitted defaults server-side to true (the Adjust Margin gesture); false
|
|
55
|
+
// is the plain allocation programmatic funding loops need. The CROSS form
|
|
56
|
+
// stays strict-rejected (no per-position margin to commit to).
|
|
57
|
+
applyToPositionMargin: z.boolean().optional(),
|
|
54
58
|
});
|
|
55
59
|
const CrossRiskBucketScopeSchema = z.object({
|
|
56
60
|
marginMode: z.literal("CROSS"),
|
package/dist/vault/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Types for vault operations including deposits, withdrawals, and balance management.
|
|
5
5
|
*/
|
|
6
|
+
import type { DepositTarget } from "@0xmonaco/contracts";
|
|
6
7
|
import type { Address } from "viem";
|
|
7
8
|
import type { BaseAPI } from "../api/index";
|
|
8
9
|
import type { Balance, TransactionResult, WithdrawalRetryOptions, WithdrawResult } from "./responses";
|
|
@@ -13,8 +14,13 @@ import type { Balance, TransactionResult, WithdrawalRetryOptions, WithdrawResult
|
|
|
13
14
|
* collateral (auto-creating the account if it does not exist yet). A deposit
|
|
14
15
|
* that cannot be routed to margin (unsupported asset, etc.) safely falls back
|
|
15
16
|
* to spot — funds are never lost.
|
|
17
|
+
*
|
|
18
|
+
* Re-exported from `@0xmonaco/contracts` rather than redeclared: the same
|
|
19
|
+
* value selects the on-chain routing hint for a direct deposit and the
|
|
20
|
+
* derivation of a sweeper deposit address, so one definition keeps the two
|
|
21
|
+
* from drifting into separately-maintained unions.
|
|
16
22
|
*/
|
|
17
|
-
export type DepositTarget
|
|
23
|
+
export type { DepositTarget };
|
|
18
24
|
/**
|
|
19
25
|
* Options for a deposit.
|
|
20
26
|
*/
|
|
@@ -42,11 +42,14 @@ export interface AccountEventData {
|
|
|
42
42
|
freeCollateral: string;
|
|
43
43
|
/**
|
|
44
44
|
* Account distress ratio: maintenance margin required over equity (higher is
|
|
45
|
-
* closer to liquidation, decimal string).
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
45
|
+
* closer to liquidation, decimal string). The quotient saturates to the
|
|
46
|
+
* max-decimal sentinel (`79228162514264337593543950335`, maximal distress)
|
|
47
|
+
* whenever it cannot be computed or represented: an account still owing a
|
|
48
|
+
* maintenance requirement at zero or negative equity, and equally at
|
|
49
|
+
* near-zero POSITIVE equity where the true ratio exceeds the decimal range.
|
|
50
|
+
* An empty account with no requirement is `0`. Clamp the sentinel before
|
|
51
|
+
* display; treat any value at or above the liquidation threshold as maximal
|
|
52
|
+
* distress rather than distinguishing the sentinel's causes.
|
|
50
53
|
*/
|
|
51
54
|
marginRatio: string;
|
|
52
55
|
/** Maintenance margin required to keep the account solvent (decimal string) */
|
package/dist/wire/schema.d.ts
CHANGED
|
@@ -869,6 +869,17 @@ export interface paths {
|
|
|
869
869
|
};
|
|
870
870
|
get?: never;
|
|
871
871
|
put?: never;
|
|
872
|
+
/**
|
|
873
|
+
* @deprecated
|
|
874
|
+
* @description DEPRECATED (0XM-2632): this endpoint overloads two unrelated operations —
|
|
875
|
+
* with `trading_pair_id` it allocates into that pair's isolated risk bucket
|
|
876
|
+
* (crediting the sole open position's stored margin), without it it performs
|
|
877
|
+
* a wallet-debiting deposit to the parent margin account. Use
|
|
878
|
+
* `TransferCollateralToRiskBucket` for bucket funding (which now applies the
|
|
879
|
+
* same position-margin credit) and `TransferCollateralToParentMarginAccount`
|
|
880
|
+
* for wallet-to-margin deposits. Kept for backward compatibility; no removal
|
|
881
|
+
* date scheduled.
|
|
882
|
+
*/
|
|
872
883
|
post: operations["transfer_collateral_to_margin_account"];
|
|
873
884
|
delete?: never;
|
|
874
885
|
options?: never;
|
|
@@ -1029,6 +1040,15 @@ export interface paths {
|
|
|
1029
1040
|
};
|
|
1030
1041
|
get?: never;
|
|
1031
1042
|
put?: never;
|
|
1043
|
+
/**
|
|
1044
|
+
* @description Fund a risk bucket from the parent margin account's unallocated
|
|
1045
|
+
* collateral (no wallet movement; the bucket is created if needed). Since
|
|
1046
|
+
* 0XM-2632, funding an ISOLATED bucket that holds an open position also
|
|
1047
|
+
* credits that position's stored margin — the same behavior as the
|
|
1048
|
+
* deprecated `TransferCollateralToMarginAccount` Adjust Margin rail — so
|
|
1049
|
+
* adding collateral to support a position has one behavior on every route.
|
|
1050
|
+
* A flat isolated bucket and the cross bucket stay plain allocations.
|
|
1051
|
+
*/
|
|
1032
1052
|
post: operations["transfer_collateral_to_risk_bucket"];
|
|
1033
1053
|
delete?: never;
|
|
1034
1054
|
options?: never;
|
|
@@ -2072,23 +2092,29 @@ export interface paths {
|
|
|
2072
2092
|
* Register a deposit address for monitoring
|
|
2073
2093
|
* @description Register a deposit address for monitoring.
|
|
2074
2094
|
*
|
|
2075
|
-
* Every (application, user)
|
|
2076
|
-
*
|
|
2077
|
-
* automatically forwards every ERC20 deposit into the
|
|
2078
|
-
*
|
|
2095
|
+
* Every (application, user, deposit target) triple has a deterministic
|
|
2096
|
+
* deposit address. This registers the caller's own address so the sweeper
|
|
2097
|
+
* service watches it and automatically forwards every ERC20 deposit into the
|
|
2098
|
+
* rollup, crediting the caller under the application.
|
|
2099
|
+
*
|
|
2100
|
+
* Authenticated, and the whole identity comes from the session: the
|
|
2101
|
+
* application is the one `login` established the session under, and the
|
|
2102
|
+
* credited address is the session's own. Neither is a request parameter, so a
|
|
2103
|
+
* caller can only ever register their own address under their own
|
|
2104
|
+
* application. The only thing the body carries is which ledger to aim at.
|
|
2079
2105
|
*
|
|
2080
2106
|
* Registration also runs a one-time initial check in the background: any
|
|
2081
2107
|
* balance already sitting on the address is swept without waiting for a new
|
|
2082
2108
|
* transfer. The response returns immediately with the derived address; it
|
|
2083
2109
|
* does not wait for that check.
|
|
2084
2110
|
*
|
|
2085
|
-
* Idempotent and safe to retry: re-registering an existing
|
|
2111
|
+
* Idempotent and safe to retry: re-registering an existing triple returns
|
|
2086
2112
|
* `already_registered` with the same address and never re-triggers the
|
|
2087
2113
|
* initial check.
|
|
2088
2114
|
*
|
|
2089
|
-
*
|
|
2090
|
-
*
|
|
2091
|
-
*
|
|
2115
|
+
* Globally rate-limited: registration creates durable state, so the endpoint
|
|
2116
|
+
* admits a bounded number per minute across all callers and answers `429`
|
|
2117
|
+
* beyond it.
|
|
2092
2118
|
*/
|
|
2093
2119
|
post: operations["register_deposit_address"];
|
|
2094
2120
|
delete?: never;
|
|
@@ -6512,25 +6538,21 @@ export interface components {
|
|
|
6512
6538
|
};
|
|
6513
6539
|
RegisterRequest: {
|
|
6514
6540
|
/**
|
|
6515
|
-
* @description
|
|
6516
|
-
* @example
|
|
6517
|
-
|
|
6518
|
-
clientId: string;
|
|
6519
|
-
/**
|
|
6520
|
-
* @description Address credited on the rollup, and half of the deposit address derivation
|
|
6521
|
-
* @example 0x742d35Cc6634C0532925a3b8D4060f31E2C3d8B5
|
|
6541
|
+
* @description Which ledger swept deposits are requested to be credited to. `SPOT` (the default when omitted) credits the spot wallet; `MARGIN` asks for the parent margin account's collateral, skipping the separate collateral transfer. The target is part of the address derivation, so `SPOT` and `MARGIN` yield two different deposit addresses for the same pair, and each address carries its own request. `MARGIN` is a routing request rather than a guarantee: a deposit the matching engine cannot route to collateral — an unsupported collateral asset, or a margin account that fails validation — is credited to the spot wallet instead, so funds are never stranded. A `SPOT` address is never credited to margin.
|
|
6542
|
+
* @example MARGIN
|
|
6543
|
+
* @enum {string|null}
|
|
6522
6544
|
*/
|
|
6523
|
-
|
|
6545
|
+
depositTarget?: "SPOT" | "MARGIN" | null;
|
|
6524
6546
|
};
|
|
6525
6547
|
RegisterResponse: {
|
|
6526
6548
|
/**
|
|
6527
|
-
* @description `registered` when the
|
|
6549
|
+
* @description `registered` when the triple was added, `already_registered` when it was known before this call
|
|
6528
6550
|
* @example registered
|
|
6529
6551
|
* @enum {string|null}
|
|
6530
6552
|
*/
|
|
6531
6553
|
status?: "registered" | "already_registered" | null;
|
|
6532
6554
|
/**
|
|
6533
|
-
* @description The
|
|
6555
|
+
* @description The deposit address for this (application, user, deposit target) triple. Stable, and valid to publish and fund before any contract exists there.
|
|
6534
6556
|
* @example 0xcf1eF339798914EF7Ee4984Ed45BD141D63a65C9
|
|
6535
6557
|
*/
|
|
6536
6558
|
sweeperAddress?: string | null;
|
|
@@ -7355,6 +7377,16 @@ export interface components {
|
|
|
7355
7377
|
marginMode?: string | null;
|
|
7356
7378
|
/** @description Present for cross risk-bucket transfers. */
|
|
7357
7379
|
selectedTradingPairIds?: string[] | null;
|
|
7380
|
+
/**
|
|
7381
|
+
* @description Whether the transfer was committed to a position's stored margin.
|
|
7382
|
+
* Present only when a position-margin credit was in play: true — the credit
|
|
7383
|
+
* landed; false — a credit was requested (or defaulted) but degraded to a
|
|
7384
|
+
* plain allocation because the bucket's persisted position row was stale
|
|
7385
|
+
* (close/reopen race) — re-issue the Adjust Margin once the new position
|
|
7386
|
+
* row lands if the commitment still matters. Absent on plain allocations,
|
|
7387
|
+
* parent deposits, and releases.
|
|
7388
|
+
*/
|
|
7389
|
+
positionMarginCredited?: boolean | null;
|
|
7358
7390
|
};
|
|
7359
7391
|
TransferCollateralToParentMarginAccountRequest: {
|
|
7360
7392
|
asset?: string | null;
|
|
@@ -7374,6 +7406,31 @@ export interface components {
|
|
|
7374
7406
|
marginMode?: string | null;
|
|
7375
7407
|
/** @description Trading pair UUIDs selected into the cross risk bucket. Required when marginMode is CROSS. */
|
|
7376
7408
|
selectedTradingPairIds?: string[] | null;
|
|
7409
|
+
/**
|
|
7410
|
+
* @description What the transferred collateral becomes when the ISOLATED bucket holds an
|
|
7411
|
+
* open position. The two intents want opposite fates for the same dollars,
|
|
7412
|
+
* so the caller states theirs:
|
|
7413
|
+
*
|
|
7414
|
+
* - true (and UNSET — the default is the human "Adjust Margin" gesture):
|
|
7415
|
+
* the amount is COMMITTED to the position's stored margin. Effective
|
|
7416
|
+
* leverage drops and stays down, initial margin required rises by the
|
|
7417
|
+
* amount, free collateral is unchanged — new orders cannot spend it.
|
|
7418
|
+
* - false: plain allocation. Free collateral rises and the next order can
|
|
7419
|
+
* spend it. Programmatic funding loops that top a bucket up to a free
|
|
7420
|
+
* collateral target MUST pass false, or each top-up converts into
|
|
7421
|
+
* requirement and the loop never converges.
|
|
7422
|
+
*
|
|
7423
|
+
* Either way the liquidation cushion improves identically (the breach
|
|
7424
|
+
* check is bucket-equity based). On a FLAT isolated bucket there is no
|
|
7425
|
+
* position to commit to and both values are a plain allocation. Explicit
|
|
7426
|
+
* true is rejected for CROSS buckets (cross has no per-position margin);
|
|
7427
|
+
* unset/false is a plain allocation there.
|
|
7428
|
+
*
|
|
7429
|
+
* The response reports what actually happened in `position_margin_credited`
|
|
7430
|
+
* — a credit can degrade to a plain allocation when the persisted position
|
|
7431
|
+
* row is stale (close/reopen race).
|
|
7432
|
+
*/
|
|
7433
|
+
applyToPositionMargin?: boolean | null;
|
|
7377
7434
|
};
|
|
7378
7435
|
TransferRewardsRequest: {
|
|
7379
7436
|
/**
|
|
@@ -12008,14 +12065,21 @@ export interface operations {
|
|
|
12008
12065
|
};
|
|
12009
12066
|
content?: never;
|
|
12010
12067
|
};
|
|
12011
|
-
/** @description
|
|
12012
|
-
|
|
12068
|
+
/** @description Authentication required */
|
|
12069
|
+
401: {
|
|
12070
|
+
headers: {
|
|
12071
|
+
[name: string]: unknown;
|
|
12072
|
+
};
|
|
12073
|
+
content?: never;
|
|
12074
|
+
};
|
|
12075
|
+
/** @description The application for this session is not active */
|
|
12076
|
+
403: {
|
|
12013
12077
|
headers: {
|
|
12014
12078
|
[name: string]: unknown;
|
|
12015
12079
|
};
|
|
12016
12080
|
content?: never;
|
|
12017
12081
|
};
|
|
12018
|
-
/** @description Registration
|
|
12082
|
+
/** @description Registration admission limit exceeded; retry shortly */
|
|
12019
12083
|
429: {
|
|
12020
12084
|
headers: {
|
|
12021
12085
|
[name: string]: unknown;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xmonaco/types",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.50",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"homepage": "https://docs.0xmonaco.com/sdk/typescript",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"lint": "biome lint ."
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@0xmonaco/contracts": "1.0.
|
|
19
|
+
"@0xmonaco/contracts": "1.0.50",
|
|
20
20
|
"zod": "^4.1.12"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|